vue-data-ui 3.27.1 → 3.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -41
- package/dist/{Arrow-C2W0uGrq.js → Arrow-D6OAn5rm.js} +1 -1
- package/dist/{BaseDraggableDialog-D_tuHEjO.js → BaseDraggableDialog-Bw_azO0n.js} +1 -1
- package/dist/BaseIcon-DDctLkeT.js +1 -0
- package/dist/{BaseLegendToggle-Bq5FjyuI.js → BaseLegendToggle-BOcw1ke8.js} +1 -1
- package/dist/BaseZoomControls-Cq5AOHQ0.js +1 -0
- package/dist/{ColorPicker-MLwiwxl5.js → ColorPicker-DHQvvLT9.js} +1 -1
- package/dist/DataTable-BcVZLSs8.js +1 -0
- package/dist/{HillActions-CHg1AQ3p.js → HillActions-Bq3UJ1Ut.js} +1 -1
- package/dist/{Legend-D8YoT1RJ.js → Legend-D8NunRPr.js} +1 -1
- package/dist/{NonSvgPenAndPaper-CqtJpZKh.js → NonSvgPenAndPaper-CxQZ0YED.js} +1 -1
- package/dist/{PackageVersion-CdkxOy58.js → PackageVersion-ATrKWi8V.js} +1 -1
- package/dist/{PenAndPaper-IMw576MC.js → PenAndPaper-BsBFp16i.js} +1 -1
- package/dist/{Shape-Bp9YNtPc.js → Shape-gDVRWM6n.js} +1 -1
- package/dist/SlicerPreview-Dpu4nMz6.js +1 -0
- package/dist/{SparkTooltip-C5JMcBXT.js → SparkTooltip-cWKhrsKX.js} +1 -1
- package/dist/{Title-BGYFqulv.js → Title-BLA0tM3g.js} +1 -1
- package/dist/{Tooltip-Cus2-XNQ.js → Tooltip-Iyb_S6oQ.js} +1 -1
- package/dist/UserOptions-BSJ_S_us.js +1 -0
- package/dist/{chartImage-CIvU_04o.js → chartImage-r-G4CkRK.js} +1 -1
- package/dist/components/arrow.js +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-accordion.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-annotator.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -0
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-icon.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-label.js +1 -1
- package/dist/components/vue-ui-mini-loader.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-rating.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-smiley.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-heatmap.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy-canvas.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/{dom-to-png-D8t3Bm7s.js → dom-to-png-Cp6rAdnI.js} +1 -1
- package/dist/{exposedLib-DHtyEc_G.js → exposedLib-BDGMSW1B.js} +1 -1
- package/dist/{img-DiT4ivZ5.js → img-DiP2_5_r.js} +1 -1
- package/dist/{labelUtils-CG3uVXoZ.js → labelUtils-DXiFpsZl.js} +1 -1
- package/dist/{lib-CV_IANZ6.js → lib-DqD8nbyX.js} +2 -2
- package/dist/package-UBaXe2y9.js +1 -0
- package/dist/{pdf-BQSB1V3H.js → pdf-y3S8SBFk.js} +1 -1
- package/dist/{render-common-BdZ5aRyn.js → render-common-tsNLeNaX.js} +1 -1
- package/dist/{resolveChartConfig-DZg-korK.js → resolveChartConfig-ChGWTt5l.js} +1 -1
- package/dist/ssr/vue-ui-donut.js +1 -1
- package/dist/ssr/vue-ui-xy.js +1 -1
- package/dist/ssr.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/vue-data-ui.d.ts +323 -0
- package/dist/types/vue-ui-graph.d.ts +21 -0
- package/dist/useConfig-DM9fSqjh.js +1 -0
- package/dist/{useNestedProp-CB186vF2.js → useNestedProp-DrLnzyHO.js} +1 -1
- package/dist/useObjectBindings-Cn4Vz0RY.js +1 -0
- package/dist/{usePrinter-hLW3cv4N.js → usePrinter-Cj4eIYC_.js} +1 -1
- package/dist/utils.js +1 -1
- package/dist/vue-data-ui-yeD7UyUU.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/vue-ui-3d-bar-COrzyTkO.js +19 -0
- package/dist/vue-ui-accordion-3lBpCjGm.js +1 -0
- package/dist/vue-ui-age-pyramid-CAoVjkOA.js +1 -0
- package/dist/vue-ui-annotator-CpTZHnPw.js +331 -0
- package/dist/vue-ui-bullet-yvY_gdw2.js +34 -0
- package/dist/vue-ui-bump-ChsFkIq9.js +10 -0
- package/dist/vue-ui-candlestick-D9UXZQoN.js +22 -0
- package/dist/vue-ui-carousel-table-CKyE4hME.js +1 -0
- package/dist/vue-ui-chestnut-BuLjW5nb.js +1 -0
- package/dist/vue-ui-chord-Bjwt2_BK.js +21 -0
- package/dist/vue-ui-circle-pack-BpAuZruK.js +13 -0
- package/dist/vue-ui-cursor-Dn-IBaP8.js +1 -0
- package/dist/vue-ui-dag-CyY3cSa6.js +9 -0
- package/dist/vue-ui-dashboard-DmyStkQM.js +1 -0
- package/dist/{vue-ui-digits-CXKKmfGj.js → vue-ui-digits-BBiRMr01.js} +2 -2
- package/dist/{vue-ui-donut-CKkBtyPK.js → vue-ui-donut-CGyBWxzh.js} +2 -2
- package/dist/vue-ui-donut-DMF74OY0.js +47 -0
- package/dist/vue-ui-donut-evolution-Du4zLc8D.js +2 -0
- package/dist/vue-ui-dumbbell-CxL_AY5e.js +9 -0
- package/dist/vue-ui-flow-h6kTMamJ.js +3 -0
- package/dist/vue-ui-funnel-BG5Addzr.js +1 -0
- package/dist/vue-ui-galaxy-CgnshY8i.js +1 -0
- package/dist/vue-ui-gauge-a13ojQPr.js +1 -0
- package/dist/vue-ui-geo-CflzhtuD.js +1 -0
- package/dist/vue-ui-gizmo-K1lfslsA.js +1 -0
- package/dist/vue-ui-graph-C2Se8bnB.js +7 -0
- package/dist/vue-ui-heatmap-5NsQkMwS.js +1 -0
- package/dist/vue-ui-hill-COnjVS2L.js +1 -0
- package/dist/vue-ui-history-plot-BRJdXsNo.js +2 -0
- package/dist/vue-ui-horizontal-bar-G0wEKTRu.js +4 -0
- package/dist/vue-ui-kpi-BZjfQxmY.js +1 -0
- package/dist/{vue-ui-label-B4pkXBxc.js → vue-ui-label-BD_hTtgZ.js} +2 -2
- package/dist/vue-ui-mini-loader-ltQXdeeW.js +1 -0
- package/dist/vue-ui-molecule-DI-CS5w8.js +1 -0
- package/dist/vue-ui-mood-radar-B5ar9WAZ.js +1 -0
- package/dist/vue-ui-nested-donuts-BP2YzVma.js +19 -0
- package/dist/vue-ui-onion-CCiZ6jmF.js +5 -0
- package/dist/vue-ui-parallel-coordinate-plot-3E0CysDx.js +9 -0
- package/dist/vue-ui-quadrant-BwgwvKy8.js +2 -0
- package/dist/vue-ui-quick-chart-BXNg0LNe.js +17 -0
- package/dist/vue-ui-radar-B9Ntj_Gj.js +1 -0
- package/dist/vue-ui-rating-B33u3iIn.js +1 -0
- package/dist/vue-ui-relation-circle-B60IUw50.js +1 -0
- package/dist/vue-ui-ridgeline-BPbYng2A.js +2 -0
- package/dist/vue-ui-rings-BXo9p3Ab.js +1 -0
- package/dist/vue-ui-scatter-BwrYPDzh.js +9 -0
- package/dist/{vue-ui-skeleton-DI7pcimU.js → vue-ui-skeleton-DTn7uIui.js} +3 -3
- package/dist/{vue-ui-smiley-D70sJZWl.js → vue-ui-smiley-qCRUFmpq.js} +1 -1
- package/dist/vue-ui-spark-trend-wKFu-O7B.js +1 -0
- package/dist/vue-ui-sparkbar-DPFzdX-D.js +1 -0
- package/dist/vue-ui-sparkgauge-DlEPsxc0.js +1 -0
- package/dist/vue-ui-sparkhistogram-DLZxE6oz.js +1 -0
- package/dist/vue-ui-sparkline-BflZPl7s.js +1 -0
- package/dist/vue-ui-sparkstackbar-DvSQfGeA.js +1 -0
- package/dist/vue-ui-stackbar-JKC9qE6M.js +29 -0
- package/dist/vue-ui-stackline-G7-oqfzp.js +39 -0
- package/dist/vue-ui-strip-plot-54u7AUip.js +2 -0
- package/dist/vue-ui-table-3F8i2ZjT.js +14 -0
- package/dist/vue-ui-table-heatmap-CtYPYMIJ.js +1 -0
- package/dist/vue-ui-table-sparkline-CTfYTzhA.js +1 -0
- package/dist/vue-ui-thermometer-BpFbPqxK.js +1 -0
- package/dist/vue-ui-timer-DsWRNtRa.js +64 -0
- package/dist/vue-ui-tiremarks-C4wVcSVP.js +1 -0
- package/dist/vue-ui-treemap-mYRv6gga.js +1 -0
- package/dist/vue-ui-waffle-DNBIZqZz.js +1 -0
- package/dist/vue-ui-wheel-DPHDp0t1.js +1 -0
- package/dist/vue-ui-word-cloud-BY4YsW7-.js +4 -0
- package/dist/vue-ui-world-DQWjoFDx.js +19 -0
- package/dist/vue-ui-xy-DfvcqUwW.js +31 -0
- package/dist/vue-ui-xy-M9aD-G5a.js +24 -0
- package/dist/vue-ui-xy-canvas-BpwG1Ipj.js +9 -0
- package/dist/vue_ui_graph-B1ACwQj7.js +1 -0
- package/package.json +1 -1
- package/dist/BaseIcon-DdIyewwY.js +0 -1
- package/dist/BaseZoomControls-DoYifY2y.js +0 -1
- package/dist/DataTable-WNecJMcY.js +0 -1
- package/dist/SlicerPreview-CNUciSbY.js +0 -1
- package/dist/UserOptions-DTxMeZv3.js +0 -1
- package/dist/package-DE5cU1Rg.js +0 -1
- package/dist/useConfig-CKdzPrcf.js +0 -1
- package/dist/useObjectBindings-Dse7YyAf.js +0 -1
- package/dist/vue-data-ui-DyYgLIZN.js +0 -1
- package/dist/vue-ui-3d-bar-BZAoyWkc.js +0 -19
- package/dist/vue-ui-accordion-BNvevckx.js +0 -1
- package/dist/vue-ui-age-pyramid-DkA6vpU3.js +0 -1
- package/dist/vue-ui-annotator-DuQME4Hh.js +0 -331
- package/dist/vue-ui-bullet-BVs8JX8S.js +0 -34
- package/dist/vue-ui-bump-DYdm3EvF.js +0 -10
- package/dist/vue-ui-candlestick-DZgxl4mW.js +0 -22
- package/dist/vue-ui-carousel-table-BB7DsTUt.js +0 -1
- package/dist/vue-ui-chestnut-Bo1h5rBt.js +0 -1
- package/dist/vue-ui-chord-B6_veyvO.js +0 -21
- package/dist/vue-ui-circle-pack-Bm7e2YNh.js +0 -13
- package/dist/vue-ui-cursor-TidZDuSh.js +0 -1
- package/dist/vue-ui-dag-BiN_AnLo.js +0 -9
- package/dist/vue-ui-dashboard-zepAVN_W.js +0 -1
- package/dist/vue-ui-donut-DLDUpjDU.js +0 -47
- package/dist/vue-ui-donut-evolution-BxMTdE5G.js +0 -2
- package/dist/vue-ui-dumbbell-C8rNwdz0.js +0 -9
- package/dist/vue-ui-flow-Dru76A2O.js +0 -3
- package/dist/vue-ui-funnel-D_u1h5S9.js +0 -1
- package/dist/vue-ui-galaxy-sBEH18Xj.js +0 -1
- package/dist/vue-ui-gauge-Do3RN8ne.js +0 -1
- package/dist/vue-ui-geo-DDbtx_iJ.js +0 -1
- package/dist/vue-ui-gizmo-eic6xLjB.js +0 -1
- package/dist/vue-ui-heatmap-DlmJRsM8.js +0 -1
- package/dist/vue-ui-hill-C5oiuIXh.js +0 -1
- package/dist/vue-ui-history-plot-BJjnkWcT.js +0 -2
- package/dist/vue-ui-horizontal-bar-BRDBJEl1.js +0 -4
- package/dist/vue-ui-kpi-C-eed3jO.js +0 -1
- package/dist/vue-ui-mini-loader-CElmv_iF.js +0 -1
- package/dist/vue-ui-molecule-BeyQWZU9.js +0 -1
- package/dist/vue-ui-mood-radar-Bh0kHfiZ.js +0 -1
- package/dist/vue-ui-nested-donuts-FlnJfDaF.js +0 -19
- package/dist/vue-ui-onion-BjhSpjtW.js +0 -5
- package/dist/vue-ui-parallel-coordinate-plot-CHV6XDti.js +0 -9
- package/dist/vue-ui-quadrant-BaKSTJDv.js +0 -2
- package/dist/vue-ui-quick-chart-Nc2mVlle.js +0 -17
- package/dist/vue-ui-radar-BzUfkLlC.js +0 -1
- package/dist/vue-ui-rating-BwWXvbAg.js +0 -1
- package/dist/vue-ui-relation-circle-nAZEg-BL.js +0 -1
- package/dist/vue-ui-ridgeline-DxLZg1E2.js +0 -2
- package/dist/vue-ui-rings-BOti0NGb.js +0 -1
- package/dist/vue-ui-scatter-CCNMggyo.js +0 -9
- package/dist/vue-ui-spark-trend-BVtfEalS.js +0 -1
- package/dist/vue-ui-sparkbar-CdsLI7Ke.js +0 -1
- package/dist/vue-ui-sparkgauge-wmj5Wnnp.js +0 -1
- package/dist/vue-ui-sparkhistogram-D8S_P_P4.js +0 -1
- package/dist/vue-ui-sparkline-BjsJnS_9.js +0 -1
- package/dist/vue-ui-sparkstackbar-ZN8LXzoV.js +0 -1
- package/dist/vue-ui-stackbar-Dx_EN3pT.js +0 -29
- package/dist/vue-ui-stackline-DW-oxJvA.js +0 -39
- package/dist/vue-ui-strip-plot-D7kjJ3Qh.js +0 -2
- package/dist/vue-ui-table-CaFVLHxE.js +0 -14
- package/dist/vue-ui-table-heatmap-Ctf7Rhqo.js +0 -1
- package/dist/vue-ui-table-sparkline-C0I0cXBS.js +0 -1
- package/dist/vue-ui-thermometer-B6og15Al.js +0 -1
- package/dist/vue-ui-timer-DgXvO2Q7.js +0 -64
- package/dist/vue-ui-tiremarks-Dh6fZ454.js +0 -1
- package/dist/vue-ui-treemap-7JuvN6P_.js +0 -1
- package/dist/vue-ui-waffle-BqvGzfse.js +0 -1
- package/dist/vue-ui-wheel-SdwJqKA7.js +0 -1
- package/dist/vue-ui-word-cloud-1WVV_k12.js +0 -4
- package/dist/vue-ui-world-DjMy_utm.js +0 -19
- package/dist/vue-ui-xy-DaozHMfg.js +0 -31
- package/dist/vue-ui-xy-canvas-CegvS9RR.js +0 -9
- package/dist/vue-ui-xy-rGHSI1am.js +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,Jt as r,Mt as i,P as a,X as ee,at as te,b as o,g as ne,i as re,in as ie,t as ae,zt as s}from"./lib-DqD8nbyX.js";import{n as oe,t as se}from"./BaseScanner-8NdoBs7B.js";import{n as ce,t as le}from"./useHints-BH9r_0Vd.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ue}from"./resolveChartConfig-ChGWTt5l.js";import{l as de,t as fe}from"./useResponsive-D2CPcpda.js";import{t as pe}from"./DefGrad-DKMq1REY.js";import{t as me}from"./usePrefersMotion-XLHwega2.js";import{t as he}from"./useFitSvgText-C1QC4P5G.js";import{t as ge}from"./vue_ui_spark_trend-BOM3zo64.js";import{computed as l,createBlock as _e,createCommentVNode as u,createElementBlock as d,createElementVNode as ve,createVNode as ye,defineAsyncComponent as be,nextTick as xe,normalizeStyle as Se,onMounted as Ce,openBlock as f,ref as p,renderSlot as m,toDisplayString as h,toRefs as we,unref as g,watch as _}from"vue";var Te=/* @__PURE__ */ e({default:()=>v}),Ee=[`id`,`aria-describedby`],De=[`id`],Oe=[`xmlns`,`viewBox`],ke=[`width`,`height`],Ae={key:1},je=[`d`,`fill`],Me=[`d`,`fill`],Ne=[`d`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`],Pe=[`d`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`],Fe=[`d`],Ie=[`fill`,`d`],Le=[`x`,`y`,`width`,`height`],Re=[`x`,`y`,`fill`,`font-size`,`font-weight`],ze=[`stroke`,`cx`,`cy`,`fill`],Be=[`x`,`y`,`font-size`,`fill`,`font-weight`],v=/*#__PURE__*/ c({__name:`vue-ui-spark-trend`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},setup(e){let c=be(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),{vue_ui_spark_trend:Te}=t(),v=me(),y=e,b=p(null),Ve=p(null),x=p(null),S=p(null),C=p(null),w=p(!1),T=p(null),E=p(ee()),D=p(I()),O=l(()=>D.value.style.dataLabel),k=l(()=>D.value.style.trendLabel),A=l(()=>D.value.style.line),j=l(()=>D.value.style.area),M=l(()=>D.value.style);ce({config:()=>D.value,dataset:()=>y.dataset,component:`VueUiSparkTrend`,rules:[le.emptyArray,{test:e=>e.length>1095,message:[`👀 The dataset has > 1095 datapoints. Above this threshold, the dataset is computed through an LTTB algorithm, to preserve the shape of the data without increasing the number of datapoints.`,``,`▶️ If you need this level of detail, you can change config.downsample.threshold and set a higher value. Note that performance will be impacted.`]}]});let He=l(()=>ie({defaultConfig:{style:{animation:{show:!1},backgroundColor:`#99999930`,line:{stroke:`#6A6A6A`,useColorTrend:!1},dataLabel:{show:!1,useColorTrend:!1,color:`#6A6A6A`}}},userConfig:D.value.skeletonConfig??{}})),{loading:N,FINAL_DATASET:P,manualLoading:F}=oe({...we(y),FINAL_CONFIG:D,prepareConfig:I,skeletonDataset:y.config?.skeletonDataset??[1,2,3,5,8,13,21,34,55,89,144,233],skeletonConfig:ie({defaultConfig:D.value,userConfig:He.value})});function I(){return ue(y.config,Te,ge)}let L=l(()=>i({data:P.value,threshold:D.value.downsample.threshold}));_(()=>y.config,e=>{D.value=I(),H.value=M.value.width,U.value=M.value.height,V()},{deep:!0});function R(e){return e.map(e=>o(e))}let z=p(i({data:P.value,threshold:D.value.downsample.threshold}).map(e=>M.value.animation.show&&!v.value||[void 0,1/0,-1/0,null,NaN].includes(e)?null:e));_(L,e=>{T.value&&=(cancelAnimationFrame(T.value),null),M.value.animation.show&&!v.value?z.value=Array(e.length).fill(null):z.value=e.map(e=>![void 0,1/0,-1/0,null].includes(e)&&!Number.isNaN(e)?e:null),B(),xe(()=>$(`.vue-ui-sparktrend-progress-label`,6))},{deep:!0,immediate:!0}),_(()=>JSON.stringify(y.dataset),()=>{T.value&&=(cancelAnimationFrame(T.value),null),F.value=s(y.dataset);let e=L.value;z.value=M.value.animation.show&&!v.value?Array(e.length).fill(null):e.map(e=>Number.isFinite(e)?e:null),B(),xe(()=>$(`.vue-ui-sparktrend-progress-label`,6))},{deep:!1,immediate:!0});function B(){let e=1e3/M.value.animation.animationFrames,t=performance.now();if(!N.value&&M.value.animation.show&&!v.value&&M.value.animation.animationFrames&&P.value.length>1){z.value=[];let n=0;function r(){w.value=!0;let i=performance.now(),a=i-t;a>e?(t=i-a%e,n<L.value.length?(z.value.push(L.value[n]),n+=1,T.value=requestAnimationFrame(r)):(cancelAnimationFrame(T.value),z.value=R(L.value),w.value=!1,$(`.vue-ui-sparktrend-progress-label`,6))):T.value=requestAnimationFrame(r)}r()}}Ce(()=>{V()});let Ue=l(()=>D.value.debug);function V(){if(s(y.dataset)&&(te({componentName:`VueUiSparkTrend`,type:`dataset`,debug:Ue.value}),F.value=!0),s(y.dataset)||(F.value=!1),D.value.responsive){let e=de(()=>{let{width:e,height:t}=fe({chart:b.value,source:x.value});requestAnimationFrame(()=>{H.value=e,U.value=t})});S.value&&(C.value&&S.value.unobserve(C.value),S.value.disconnect()),S.value=new ResizeObserver(e),C.value=b.value.parentNode,S.value.observe(C.value)}B(),$(`.vue-ui-sparktrend-progress-label`,6)}let H=p(M.value.width),U=p(M.value.height),W=l(()=>({height:U.value,width:H.value})),G=l(()=>({top:M.value.padding.top,left:M.value.padding.left,right:W.value.width-M.value.padding.right,bottom:W.value.height-M.value.padding.bottom,height:W.value.height-(M.value.padding.top+M.value.padding.bottom)-(O.value.show?O.value.fontSize:0),width:W.value.width-(M.value.padding.left+M.value.padding.right)})),K=l(()=>{let e=R(L.value).filter(Number.isFinite);if(!e.length)return{max:0,min:0};let t=e[0],n=e[0];for(let r=1;r<e.length;r++){let i=e[r];i>t&&(t=i),i<n&&(n=i)}return{max:t,min:n}}),We=l(()=>{let e=L.value,t=e.length?e[e.length-1]:`x`;return[E.value,e.length,Number.isFinite(t)?t:`x`,D.value.downsample.threshold,A.value.smooth?`s`:`l`].join(`-`)}),q=l(()=>{let e=K.value.min>=0?0:K.value.min;return Math.abs(e)}),Ge=l(()=>K.value.max+q.value);function Ke(e){return e/Ge.value}let qe=l(()=>L.value.length),J=l(()=>z.value.map((e,t)=>{let n=isNaN(e)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(e)?0:e||0;return{value:o(e),absoluteValue:o(n),plotValue:o(n+q.value),toMax:Ke(n+q.value),x:G.value.left+o(t*(G.value.width/(qe.value-1)))-M.value.padding.right,y:G.value.bottom-o(G.value.height*Ke(n+q.value))}})),Y=l(()=>{let e=R(L.value);return k.value.trendType===`global`?ne(e):k.value.trendType===`n-1`&&e.length>1?(e.at(-1)/e.at(-2)-1)*100:k.value.trendType===`lastToFirst`?(e.at(-1)/e[0]-1)*100:0}),X=l(()=>w.value||Y.value===0?`neutral`:Y.value>0?`positive`:`negative`),Z=l(()=>M.value.arrow.colors[X.value]),Je=l(()=>{let e={x:J.value[0].x,y:W.value.height-6},t={x:J.value[J.value.length-1].x,y:W.value.height-6},n=[];return J.value.forEach(e=>{n.push(`${e.x},${e.y} `)}),[e.x,e.y,...n,t.x,t.y].toString()}),Ye=l(()=>{let e=[];return J.value.forEach(t=>{e.push(`${t.x},${t.y} `)}),`M ${e.toString()}`}),Q=l(()=>U.value/2-k.value.fontSize),Xe=l(()=>G.value.left*.8),{fitText:$}=he({svgRef:Ve,unitWidth:Xe,fontSize:k.value.fontSize}),Ze=l(()=>{if(N.value||w.value)return`Trend chart loading`;let e=J.value?.at(-1),t=e?.value,r=n({p:Y.value>0?`+`:``,v:Y.value,s:`%`,r:k.value.rounding}),i=t==null?`not available`:re(O.value.formatter,t,n({p:O.value.prefix,v:t,s:O.value.suffix,r:O.value.rounding}),{datapoint:e});return`Progression ${X.value===`positive`?`up ${r}`:X.value===`negative`?`down ${r}`:`stable at ${r}`}. Last value ${i}.`}),Qe=l(()=>`sparktrend-a11y-${E.value}`);return(e,t)=>(f(),d(`div`,{ref_key:`sparkTrendChart`,ref:b,class:`vue-data-ui-component vue-ui-spark-trend`,id:E.value,style:Se(`width:100%;font-family:${M.value.fontFamily};background:${M.value.backgroundColor}`),role:`img`,"aria-describedby":Qe.value},[ve(`p`,{id:Qe.value,class:`sr-only`,"aria-live":`polite`},h(Ze.value),9,De),(f(),d(`svg`,{key:We.value,ref_key:`svgRef`,ref:Ve,xmlns:g(ae),viewBox:`0 0 ${W.value.width} ${W.value.height}`,style:`width:100%;background:transparent;overflow:visible`,"aria-hidden":`true`},[ye(g(c)),e.$slots[`chart-background`]?(f(),d(`foreignObject`,{key:0,x:0,y:0,width:W.value.width<=0?10:W.value.width,height:W.value.height<=0?10:W.value.height,style:{pointerEvents:`none`}},[m(e.$slots,`chart-background`,{},void 0,!0)],8,ke)):u(``,!0),ve(`defs`,null,[ye(pe,{t:`linear`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,id:`pill_gradient_${E.value}`,stops:[[`0%`,g(r)(A.value.useColorTrend?Z.value:A.value.stroke,j.value.opacity),1],[`100%`,M.value.backgroundColor,1]]},null,8,[`id`,`stops`])]),j.value.show&&J.value[0]?(f(),d(`g`,Ae,[A.value.smooth?(f(),d(`path`,{key:0,d:`M ${J.value[0].x},${G.value.bottom} ${g(a)(J.value)} L ${J.value.at(-1).x},${G.value.bottom} Z`,fill:j.value.useGradient?`url(#pill_gradient_${E.value})`:g(r)(A.value.useColorTrend?Z.value:A.value.stroke,j.value.opacity),stroke:`none`},null,8,je)):(f(),d(`path`,{key:1,d:`M${Je.value}Z`,fill:j.value.useGradient?`url(#pill_gradient_${E.value})`:g(r)(A.value.useColorTrend?Z.value:A.value.stroke,j.value.opacity),stroke:`none`},null,8,Me))])):u(``,!0),A.value.smooth&&J.value.length?(f(),d(`path`,{key:2,d:`M ${g(a)(J.value)}`,stroke:A.value.useColorTrend?Z.value:A.value.stroke,fill:`none`,"stroke-width":A.value.strokeWidth,"stroke-linecap":A.value.strokeLinecap,"stroke-linejoin":A.value.strokeLinejoin},null,8,Ne)):u(``,!0),!A.value.smooth&&J.value.length?(f(),d(`path`,{key:3,d:Ye.value,stroke:A.value.useColorTrend?Z.value:A.value.stroke,fill:`none`,"stroke-width":A.value.strokeWidth,"stroke-linecap":A.value.strokeLinecap,"stroke-linejoin":A.value.strokeLinejoin},null,8,Pe)):u(``,!0),g(N)?(f(),d(`path`,{key:4,fill:`#6A6A6A`,d:`M ${G.value.left/2+6}, ${Q.value+7} ${G.value.left/2-7}, ${Q.value} ${G.value.left/2-7}, ${Q.value+14} Z`},null,8,Fe)):(f(),d(`path`,{key:5,fill:Z.value,d:X.value===`positive`?`M ${G.value.left/2}, ${Q.value} ${G.value.left/2-7}, ${Q.value+12} ${G.value.left/2+7}, ${Q.value+12} Z`:X.value===`negative`?`M ${G.value.left/2}, ${Q.value+12} ${G.value.left/2-7}, ${Q.value} ${G.value.left/2+7}, ${Q.value} Z`:`M ${G.value.left/2+6}, ${Q.value+7} ${G.value.left/2-7}, ${Q.value} ${G.value.left/2-7}, ${Q.value+14} Z`},null,8,Ie)),g(N)?(f(),d(`rect`,{key:6,x:G.value.left/2-k.value.fontSize-2,y:U.value/2+k.value.fontSize-2,width:k.value.fontSize*2,height:k.value.fontSize,fill:`#6A6A6A80`,rx:`3`},null,8,Le)):u(``,!0),!w.value&&!g(N)?(f(),d(`text`,{key:7,class:`vue-ui-sparktrend-progress-label`,x:G.value.left/2,y:U.value/2+k.value.fontSize*2,"text-anchor":`middle`,fill:k.value.useColorTrend?Z.value:k.value.color,"font-size":k.value.fontSize,"font-weight":k.value.bold?`bold`:`normal`},h(g(n)({p:Y.value>0?`+`:``,v:Y.value,s:`%`,r:k.value.rounding})),9,Re)):u(``,!0),J.value.length&&J.value.at(-1).x!==void 0?(f(),d(`circle`,{key:8,stroke:M.value.backgroundColor,"stroke-width":2,cx:J.value.at(-1).x,cy:J.value.at(-1).y,r:4,fill:g(N)?`#6A6A6A`:Z.value},null,8,ze)):u(``,!0),J.value.length&&J.value.at(-1).x!==void 0&&O.value.show?(f(),d(`text`,{key:9,"text-anchor":`middle`,x:J.value.at(-1).x,y:J.value.at(-1).y-O.value.fontSize/1.5,"font-size":O.value.fontSize,fill:O.value.useColorTrend?Z.value:O.value.color,"font-weight":O.value.bold?`bold`:`normal`},h(g(re)(O.value.formatter,J.value.at(-1).value,g(n)({p:O.value.prefix,v:J.value.at(-1).value,s:O.value.suffix,r:O.value.rounding}),{datapoint:J.value.at(-1)})),9,Be)):u(``,!0)],8,Oe)),e.$slots.source?(f(),d(`div`,{key:0,ref_key:`source`,ref:x,dir:`auto`},[m(e.$slots,`source`,{},void 0,!0)],512)):u(``,!0),m(e.$slots,`skeleton`,{},()=>[g(N)?(f(),_e(se,{key:0})):u(``,!0)],!0)],12,Ee))}},[[`__scopeId`,`data-v-814f1b0f`]]);export{Te as n,v as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,Ht as r,Jt as i,S as a,X as ee,Yt as te,at as o,i as s,in as c,t as ne,w as re,yt as ie,zt as ae}from"./lib-DqD8nbyX.js";import{n as oe,t as se}from"./BaseScanner-8NdoBs7B.js";import{n as ce,t as le}from"./useHints-BH9r_0Vd.js";import{n as ue}from"./resolveChartConfig-ChGWTt5l.js";import{t as de}from"./DefGrad-DKMq1REY.js";import{t as l}from"./usePrefersMotion-XLHwega2.js";import{t as u}from"./vue_ui_sparkbar-Bpx7QrFq.js";import{Fragment as d,computed as f,createBlock as fe,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createVNode as g,defineAsyncComponent as pe,guardReactiveProps as me,mergeProps as he,nextTick as ge,normalizeProps as _e,normalizeStyle as _,onMounted as v,openBlock as y,ref as b,renderList as ve,renderSlot as x,toDisplayString as S,toRefs as ye,unref as C,useSlots as w,watch as T}from"vue";var E=/* @__PURE__ */ e({default:()=>P}),D=[`onClick`,`onMouseenter`,`onMouseleave`],O={key:1,class:`vue-ui-sparkbar-datapoint-value`},k=[`xmlns`,`viewBox`],A=[`height`,`width`,`fill`,`rx`],j=[`height`,`width`,`fill`,`rx`],M=[`height`,`width`,`fill`,`rx`],N={key:2,ref:`source`,dir:`auto`},P={__name:`vue-ui-sparkbar`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},backgroundOpacity:{type:Number,default:null}},emits:[`selectDatapoint`],setup(e,{emit:E}){let P=pe(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),{vue_ui_sparkbar:be}=t(),F=l(),I=e,xe=w(),L=b(ee()),R=b(G()),z=f(()=>R.value.style.bar),B=f(()=>R.value.style.labels),V=f(()=>R.value.style),H=f(()=>R.value.debug);v(()=>{xe[`chart-background`]&&H.value&&console.warn(`VueUiSparkbar does not support the #chart-background slot.`)}),ce({config:()=>R.value,dataset:()=>I.dataset,component:`VueUiSparkbar`,rules:[le.noHint]});let Se=f(()=>c({defaultConfig:{style:{backgroundColor:`#99999930`,animation:{show:!1},layout:{independant:!0},gutter:{backgroundColor:`#6A6A6A`,opacity:50},bar:{gradient:{underlayerColor:`#6A6A6A`}}}},userConfig:R.value.skeletonConfig??{}})),{loading:U,FINAL_DATASET:W,manualLoading:Ce}=oe({...ye(I),FINAL_CONFIG:R,prepareConfig:G,skeletonDataset:I.config?.skeletonDataset??[{name:`_`,value:21,target:25,color:`#808080`},{name:`_`,value:13,target:25,color:`#ADADAD`},{name:`_`,value:8,target:25,color:`#DBDBDB`}],skeletonConfig:c({defaultConfig:R.value,userConfig:Se.value})});function G(){return ue(I.config,be,u)}T(()=>I.config,e=>{R.value=G()},{deep:!0});let we=f(()=>re(R.value.customPalette)),K=b(W.value.map(e=>({...e,value:V.value.animation.show?0:e.value||0,formatter:e.formatter||null}))),q=b(null);v(async()=>{ae(I.dataset)&&o({componentName:`VueUiSparkbar`,type:`dataset`,debug:H.value}),J()});function J(){if(V.value.animation.show&&!F.value){let e=V.value.animation.animationFrames,t=W.value.map((t,n)=>t.value/e),n=W.value.map(e=>e.value||0).reduce((e,t)=>e+t,0),r=0;function i(){r+=n/e,r<n?(K.value=K.value.map((e,n)=>({...e,value:e.value+=t[n]})),q.value=requestAnimationFrame(i)):K.value=W.value.map(e=>({...e,value:e.value||0,formatter:e.formatter||null}))}i()}}T(()=>W.value,async e=>{cancelAnimationFrame(q.value),K.value=W.value.map(e=>({...e,value:V.value.animation.show&&!F.value?0:e.value||0,formatter:e.formatter||null})),ge(J)},{deep:!0});let Y=b({width:500,height:16}),Te=f(()=>Math.max(...W.value.map(e=>e.value))),Ee=f(()=>(H.value&&W.value.forEach((e,t)=>{ie({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{o({componentName:`VueUiSparkbar`,type:`datasetSerieAttribute`,property:e,index:t})})}),K.value.map((e,t)=>({...e,value:e.value||0,color:a(e.color)||we.value[t]||r[t]||r[t%r.length]}))));function X(e){return e/Te.value}function Z(e){return V.value.layout.independant?e.target?e.value/e.target:V.value.layout.percentage?e.value>100?1:e.value/100:V.value.layout.target===0?1:e.value/V.value.layout.target:X(e.value)}function Q(e){return V.value.layout.independant&&e.target||V.value.layout.target}let De=E;function Oe(e,t){De(`selectDatapoint`,{datapoint:e,index:t}),R.value.events.datapointClick&&R.value.events.datapointClick({datapoint:e,seriesIndex:t})}function ke(e,t){R.value.events.datapointEnter&&R.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function Ae(e,t){R.value.events.datapointLeave&&R.value.events.datapointLeave({datapoint:e,seriesIndex:t})}let $=f(()=>z.value.borderRadius==null?Y.value.height/2:Math.min(Y.value.height/2,z.value.borderRadius));return(e,t)=>(y(),m(`div`,{class:`vue-data-ui-component vue-ui-sparkbar`,style:_({width:`100%`,position:`relative`,fontFamily:V.value.fontFamily,background:I.backgroundOpacity===null?V.value.backgroundColor:C(i)(V.value.backgroundColor,I.backgroundOpacity)})},[e.$slots.title?x(e.$slots,`title`,_e(me({title:{...e.title,title:V.value.title.text,subtitle:V.value.title.subtitle.text}})),void 0,void 0,0):p(``,!0),!e.$slots.title&&V.value.title.text?(y(),m(`div`,{key:1,class:`vue-ui-sparkbar-title-container`,style:_({background:V.value.title.backgroundColor,margin:V.value.title.margin,textAlign:V.value.title.textAlign})},[h(`div`,{class:`vue-ui-sparkbar-title`,style:_({fontSize:V.value.title.fontSize+`px`,color:V.value.title.color,fontWeight:V.value.title.bold?`bold`:`normal`})},S(V.value.title.text),5),V.value.title.subtitle.text?(y(),m(`div`,{key:0,class:`vue-ui-sparkbar-subtitle`,style:_({fontSize:V.value.title.subtitle.fontSize+`px`,color:V.value.title.subtitle.color,fontWeight:V.value.title.subtitle.bold?`bold`:`normal`})},S(V.value.title.subtitle.text),5)):p(``,!0)],4)):p(``,!0),(y(!0),m(d,null,ve(Ee.value,(t,r)=>(y(),m(`div`,{style:_(`display:flex !important;${[`left`,`right`].includes(B.value.name.position)?`flex-direction: ${B.value.name.position===`right`?`row-reverse`:`row`} !important`:`flex-direction:column !important`};gap:${V.value.gap}px !important;align-items:center;${C(W).length>0&&r!==C(W).length-1?`margin-bottom:6px`:``}`),onClick:e=>Oe(t,r),onMouseenter:e=>ke(t,r),onMouseleave:e=>Ae(t,r)},[C(U)?p(``,!0):x(e.$slots,`data-label`,he({ref_for:!0},{bar:{...t,target:Q(t),valueLabel:C(s)(t.formatter,t.value,C(n)({p:t.prefix||``,v:t.value,s:t.suffix||``,r:t.rounding||0}),{datapoint:t,seriesIndex:r}),targetLabel:C(s)(t.formatter,Q(t),C(n)({p:t.prefix||``,v:Q(t),s:t.suffix||``,r:t.rounding||0}),{datapoint:t,seriesIndex:r})}}),void 0,void 0,0),!e.$slots[`data-label`]||C(U)?(y(),m(`div`,{key:1,style:_({display:`flex`,justifyContent:[`right`,`top-right`].includes(B.value.name.position)?`flex-end`:[`top-center`].includes(B.value.name.position)?`center`:`flex-start`,alignItems:`center`,width:B.value.name.width,color:B.value.name.color,fontSize:B.value.fontSize+`px`,fontWeight:B.value.name.bold?`bold`:`normal`,flexWrap:`wrap`})},[C(U)?(y(),m(`div`,{key:0,class:`vue-ui-sparkbar-skeleton-name`,style:_({width:`60px`,height:B.value.fontSize+`px`,borderRadius:B.value.fontSize/4+`px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginTop:`5px`})},[h(`div`,{style:_({height:`100%`,width:`40px`,borderRadius:B.value.fontSize/4+`px`,backgroundColor:`#6A6A6A80`})},null,4),h(`div`,{style:_({height:`100%`,width:`15px`,borderRadius:B.value.fontSize/4+`px`,backgroundColor:`#6A6A6A80`})},null,4)],4)):(y(),m(d,{key:1},[h(`span`,null,S(t.name),1),B.value.value.show?(y(),m(`span`,{key:0,style:_(`font-weight:${B.value.value.bold?`bold`:`normal`}`),class:`vue-ui-sparkbar-datapoint-name`},`: `+S(C(s)(t.formatter,t.value,C(n)({p:t.prefix||``,v:t.value,s:t.suffix||``,r:t.rounding||0}),{datapoint:t,seriesIndex:r})),5)):p(``,!0),V.value.layout.showTargetValue?(y(),m(`span`,O,S(` `+V.value.layout.targetValueText)+` `+S(C(s)(t.formatter,Q(t),C(n)({p:t.prefix||``,v:Q(t),s:t.suffix||``,r:t.rounding||0}),{datapoint:t,seriesIndex:r})),1)):p(``,!0)],64))],4)):p(``,!0),(y(),m(`svg`,{role:`img`,xmlns:C(ne),viewBox:`0 0 ${Y.value.width} ${Y.value.height}`,width:`100%`},[g(C(P)),h(`defs`,null,[g(de,{t:`linear`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`,id:`sparkbar_gradient_${r}_${L.value}`,stops:[[`0%`,C(i)(C(te)(t.color,.03),100-z.value.gradient.intensity),1],[`100%`,t.color,1]]},null,8,[`id`,`stops`])]),h(`rect`,{height:Y.value.height,width:Y.value.width,x:0,y:0,fill:C(i)(V.value.gutter.backgroundColor,V.value.gutter.opacity),rx:$.value},null,8,A),h(`rect`,{height:Y.value.height,width:Y.value.width*Z(t),x:0,y:0,fill:z.value.gradient.underlayerColor,rx:$.value},null,8,j),h(`rect`,{height:Y.value.height,width:Y.value.width*Z(t),x:0,y:0,fill:z.value.gradient.show?`url(#sparkbar_gradient_${r}_${L.value})`:t.color,rx:$.value},null,8,M)],8,k))],44,D))),256)),e.$slots.source?(y(),m(`div`,N,[x(e.$slots,`source`)],512)):p(``,!0),C(U)?(y(),fe(se,{key:3})):p(``,!0)],4))}};export{E as n,P as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,Tt as r,X as i,at as a,b as o,i as s,in as c,t as l,yt as u,zt as ee}from"./lib-DqD8nbyX.js";import{n as te,t as ne}from"./BaseScanner-8NdoBs7B.js";import{n as re,t as ie}from"./useHints-BH9r_0Vd.js";import{t as ae}from"./resolveChartConfig-ChGWTt5l.js";import{t as oe}from"./DefGrad-DKMq1REY.js";import{t as se}from"./useChartAccessibility-DOMuYJfm.js";import{t as ce}from"./usePrefersMotion-XLHwega2.js";import{t as le}from"./vue_ui_sparkgauge-D2Hk6bvS.js";import{computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createVNode as g,defineAsyncComponent as ue,normalizeClass as de,normalizeStyle as _,onBeforeUnmount as fe,onMounted as v,openBlock as y,ref as b,renderSlot as x,toDisplayString as S,toRefs as pe,unref as C,watch as w}from"vue";var T=/* @__PURE__ */ e({default:()=>j}),E=[`xmlns`,`viewBox`],me=[`width`,`height`],he=[`d`,`stroke`,`stroke-linecap`],D=[`d`,`stroke`,`stroke-linecap`,`stroke-dashoffset`],O=[`x`,`y`,`width`,`height`],k=[`x`,`y`,`font-size`,`fill`,`font-weight`],A={key:2,ref:`source`,dir:`auto`},j={__name:`vue-ui-sparkgauge`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},setup(e){let T=ue(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),{vue_ui_sparkgauge:j}=t(),M=ce(),N=b(null),P=e,F=b(i()),I=b(W()),L=d(()=>I.value.style.dataLabel),R=d(()=>I.value.style);re({config:()=>I.value,dataset:()=>P.dataset,component:`VueUiSparkgauge`,rules:[ie.noHint]});let z=d(()=>R.value.animation.show&&!M.value),ge=d(()=>c({defaultConfig:{style:{animation:{show:!1},background:`#99999930`,colors:{min:`#CACACA`,max:`#6A6A6A`},track:{autoColor:!0},gutter:{color:`#6A6A6A80`}}},userConfig:I.value.skeletonConfig??{}})),{loading:B,FINAL_DATASET:V}=te({...pe(P),FINAL_CONFIG:I,prepareConfig:W,skeletonDataset:P.config?.skeletonDataset??{value:0,min:-1,max:1,title:``},skeletonConfig:c({defaultConfig:I.value,userConfig:ge.value})}),H=d(()=>{let e=V.value.min??0,t=V.value.max??0;return{min:e,max:t,diff:t-e}}),U=d(()=>H.value.diff/R.value.animation.speedMs),{svgRef:_e}=se({config:{text:P.dataset?.title||``}});function W(){return ae(P.config,j,le)}v(()=>{K()});let G=d(()=>I.value.debug);function K(){ee(P.dataset)?a({componentName:`VueUiSparkgauge`,type:`dataset`,debug:G.value}):u({datasetObject:P.dataset,requiredAttributes:[`value`,`min`,`max`]}).forEach(e=>{a({componentName:`VueUiSparkgauge`,type:`datasetAttribute`,property:e,debug:G.value})})}w(()=>P.config,()=>{I.value=W(),J.value=z.value?H.value.min:V.value.value,K()},{deep:!0});let q=d(()=>({height:R.value.height,width:128,base:R.value.basePosition})),J=b(z.value?H.value.min:V.value.value);w([()=>V.value.value,z],([e,t])=>{Y(e||0,t)},{immediate:!0});let ve=d(()=>J.value>H.value.max?H.value.max:J.value<H.value.min?H.value.min:J.value);v(()=>{Y(V.value.value||0)});function Y(e,t=z.value){if(N.value&&=(cancelAnimationFrame(N.value),null),!t){J.value=e;return}function n(){J.value<e?J.value=Math.min(J.value+U.value,e):J.value>e&&(J.value=Math.max(J.value-U.value,e)),J.value===e?N.value=null:N.value=requestAnimationFrame(n)}n()}let X=d(()=>V.value.title??``),Z=d(()=>{let e=H.value.diff;if(!isFinite(e)||e===0)return 0;let t=H.value.min,n=ve.value;return n>=0?(n-t)/e:(Math.abs(t)-Math.abs(n))/e}),Q=d(()=>r(R.value.colors.min,R.value.colors.max,H.value.min,H.value.max,J.value)),$=d(()=>L.value.autoColor?Q.value:L.value.color),ye=d(()=>R.value.track.autoColor?Q.value:R.value.track.color);return fe(()=>{N.value&&cancelAnimationFrame(N.value)}),(e,t)=>(y(),m(`div`,{class:`vue-data-ui-component vue-ui-sparkgauge`,style:_(`font-family:${R.value.fontFamily};width: 100%; background:${R.value.background}`)},[R.value.title.show&&X.value&&R.value.title.position===`top`?(y(),m(`div`,{key:0,class:`vue-data-ui-sparkgauge-label`,style:_(`font-size:${R.value.title.fontSize}px;text-align:${R.value.title.textAlign};font-weight:${R.value.title.bold?`bold`:`normal`};color:${R.value.title.color}`)},S(X.value),5)):p(``,!0),(y(),m(`svg`,{ref_key:`svgRef`,ref:_e,xmlns:C(l),viewBox:`0 0 ${q.value.width} ${q.value.height}`,style:`overflow: visible; background:transparent; width:100%;`},[g(C(T)),e.$slots[`chart-background`]&&!C(B)?(y(),m(`foreignObject`,{key:0,x:0,y:0,width:q.value.width,height:q.value.height,style:{pointerEvents:`none`}},[x(e.$slots,`chart-background`)],8,me)):p(``,!0),h(`defs`,null,[g(oe,{t:`linear`,id:`gradient_${F.value}`,x1:`-10%`,y1:`100%`,x2:`110%`,y2:`100%`,stops:[[`0%`,R.value.colors.min,1],[`100%`,R.value.colors.max,1]]},null,8,[`id`,`stops`])]),h(`path`,{d:`M10 ${q.value.base} A 1 1 0 1 1 118 ${q.value.base}`,stroke:R.value.gutter.color,"stroke-width":8,"stroke-linecap":R.value.gutter.strokeLinecap,fill:`none`},null,8,he),Z.value===0?p(``,!0):(y(),m(`path`,{key:1,d:`M10 ${q.value.base} A 1 1 0 1 1 118 ${q.value.base}`,stroke:R.value.colors.showGradient?`url(#gradient_${F.value})`:ye.value,"stroke-width":8,"stroke-linecap":R.value.track.strokeLinecap,fill:`none`,"stroke-dasharray":169.5,"stroke-dashoffset":169.5-169.5*Z.value,class:de({"vue-ui-sparkgauge-track":R.value.animation.show}),style:_(R.value.animation.show?`animation: vue-ui-sparkgauge-animation ${R.value.animation.speedMs}ms ease-in;`:``)},null,14,D)),C(B)?(y(),m(`rect`,{key:2,x:q.value.width/2-L.value.fontSize/2,y:q.value.base+6+L.value.offsetY-L.value.fontSize,width:L.value.fontSize,height:L.value.fontSize,fill:`#6A6A6A50`,rx:3},null,8,O)):(y(),m(`text`,{key:3,"text-anchor":`middle`,x:q.value.width/2,y:q.value.base+6+L.value.offsetY,"font-size":L.value.fontSize,fill:$.value,"font-weight":L.value.bold?`bold`:`normal`},S(C(s)(L.value.formatter,C(o)(J.value),C(n)({p:L.value.prefix,v:C(o)(J.value),s:L.value.suffix,r:L.value.rounding}),{datapoint:C(o)(J.value),color:$.value})),9,k))],8,E)),R.value.title.show&&X.value&&R.value.title.position===`bottom`?(y(),m(`div`,{key:1,class:`vue-data-ui-sparkgauge-label`,style:_(`font-size:${R.value.title.fontSize}px;text-align:${R.value.title.textAlign};font-weight:${R.value.title.bold?`bold`:`normal`};font-weight:${R.value.title.bold?`bold`:`normal`};color:${R.value.title.color}`)},S(X.value),5)):p(``,!0),e.$slots.source?(y(),m(`div`,A,[x(e.$slots,`source`)],512)):p(``,!0),x(e.$slots,`skeleton`,{},()=>[C(B)?(y(),f(ne,{key:0})):p(``,!0)])],4))}};export{T as n,j as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,Jt as r,X as i,Yt as a,at as o,i as s,in as c,t as l,yt as ee,zt as u}from"./lib-DqD8nbyX.js";import{n as d,t as f}from"./BaseScanner-8NdoBs7B.js";import{n as te,t as ne}from"./useHints-BH9r_0Vd.js";import{t as re}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ie}from"./resolveChartConfig-ChGWTt5l.js";import{t as ae}from"./Shape-gDVRWM6n.js";import{l as oe,t as se}from"./useResponsive-D2CPcpda.js";import{t as p}from"./DefGrad-DKMq1REY.js";import{t as ce}from"./A11yDataTable-DWNlWXzs.js";import{t as le}from"./useChartAccessibility-DOMuYJfm.js";import{t as ue}from"./useFitSvgText-C1QC4P5G.js";import{t as de}from"./vue_ui_sparkhistogram-ChwOkoMb.js";import{Fragment as m,computed as h,createBlock as g,createCommentVNode as _,createElementBlock as v,createElementVNode as y,createTextVNode as fe,createVNode as pe,defineAsyncComponent as me,guardReactiveProps as he,nextTick as ge,normalizeClass as _e,normalizeProps as ve,normalizeStyle as b,onMounted as ye,openBlock as x,ref as S,renderList as C,renderSlot as w,toDisplayString as T,toRefs as be,unref as E,useCssVars as xe,watch as Se}from"vue";var D=/* @__PURE__ */ e({default:()=>O}),Ce=[`id`],we={key:0},Te={key:1},Ee={style:{position:`relative`}},De=[`xmlns`,`viewBox`,`aria-describedby`],Oe=[`width`,`height`],ke=[`height`,`width`,`fill`,`x`,`stroke`,`stroke-width`,`rx`,`stroke-dasharray`],Ae={key:1},je=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`,`rx`],Me={key:2},Ne=[`x`,`y`,`font-size`,`font-weight`,`fill`],Pe=[`x`,`y`,`font-size`,`fill`],Fe=[`x`,`y`,`font-size`,`fill`],Ie=[`height`,`width`,`x`,`onMouseover`,`onMouseleave`,`onClick`],Le={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},O=/*#__PURE__*/ re({__name:`vue-ui-sparkhistogram`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`],setup(e,{emit:re}){xe(e=>({v57deebda:Xe.value}));let D=me(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),{vue_ui_sparkhistogram:O}=t(),k=e,A=S(i()),j=S(null),M=S(null),N=S(null),P=S(null),F=S(null),I=S(!1),L=S(null),R=S(`pointer`),z=S(q()),B=h(()=>z.value.style.labels),V=h(()=>z.value.style.bars),H=h(()=>z.value.style);te({config:()=>z.value,dataset:()=>k.dataset,component:`VueUiSparkHistogram`,rules:[ne.singleSeries,{test:e=>e.length>31,message:[`👀 The number of datapoints is > 31. For a more readable chart, consider:`,``,`▶️ Using VueUiXy with a line series`]}]});let Re=h(()=>c({defaultConfig:{style:{animation:{show:!1},backgroundColor:`#99999930`}},userConfig:z.value.skeletonConfig??{}})),{loading:ze,FINAL_DATASET:U,manualLoading:Be}=d({...be(k),FINAL_CONFIG:z,prepareConfig:q,skeletonDataset:k.config?.skeletonDataset??[{value:1,intensity:.2,color:`#CACACA`},{value:2,intensity:.3,color:`#CACACA`},{value:3,intensity:.5,color:`#CACACA`},{value:5,intensity:.7,color:`#CACACA`},{value:8,intensity:.9,color:`#CACACA`},{value:13,intensity:.95,color:`#CACACA`},{value:21,intensity:1,color:`#CACACA`},{value:13,intensity:.95,color:`#CACACA`},{value:8,intensity:.9,color:`#CACACA`},{value:5,intensity:.7,color:`#CACACA`},{value:3,intensity:.5,color:`#CACACA`},{value:2,intensity:.3,color:`#CACACA`},{value:1,intensity:.2,color:`#CACACA`}],skeletonConfig:c({defaultConfig:z.value,userConfig:Re.value})}),W=S(H.value.layout.width),G=S(H.value.layout.height),{svgRef:K}=le({config:H.value.title});function q(){return ie(k.config,O,de)}ye(()=>{He()});let Ve=h(()=>z.value.debug);function He(){if(u(k.dataset)?o({componentName:`VueUiSparkHistogram`,type:`dataset`,debug:Ve.value}):Ve.value&&k.dataset.forEach((e,t)=>{ee({datasetObject:e,requiredAttributes:[`value`]}).forEach(e=>{o({componentName:`VueUiSparkHistogram`,type:`datasetSerieAttribute`,property:e,index:t})})}),z.value.responsive){let e=oe(()=>{let{width:e,height:t}=se({chart:N.value,title:H.value.title.text?M.value:null,source:j.value}),n=B.value.timeLabel.show?B.value.timeLabel.fontSize*2:0,r=B.value.valueLabel.show?B.value.valueLabel.fontSize*2:0;requestAnimationFrame(()=>{W.value=Math.max(10,e),G.value=Math.max(10,t-12-n-r)})});P.value&&(F.value&&P.value.unobserve(F.value),P.value.disconnect()),P.value=new ResizeObserver(e),F.value=N.value.parentNode,P.value.observe(F.value)}}Se(()=>k.config,e=>{z.value=q(),He()},{deep:!0});let J=h(()=>{let e=B.value.timeLabel.show?B.value.timeLabel.fontSize*2:0,t=B.value.valueLabel.show?B.value.valueLabel.fontSize*2:0,n=G.value+e+t,r=W.value,i=H.value.layout.padding.top,a=n-H.value.layout.padding.bottom,o=H.value.layout.padding.left,s=r-H.value.layout.padding.right;return{bottom:a,centerY:i+(n-i-H.value.layout.padding.bottom)/2,drawingHeight:n-H.value.layout.padding.top-H.value.layout.padding.bottom-e-t,drawingWidth:r-H.value.layout.padding.left-H.value.layout.padding.right,height:n,left:o,right:s,top:i,width:r}}),Ue=h(()=>Math.max(...U.value.map(e=>Math.abs(e.value||0))));function We(e){return Math.abs(e)/Ue.value}let Y=h(()=>U.value.map((e,t)=>{let n=We(e.value||0),i=J.value.drawingHeight*n,a=J.value.drawingWidth/U.value.length,o=a*(V.value.gap/100),s=a-o,c=J.value.centerY-i/2,l=J.value.left+(o/2+t*a),ee=J.value.left+t*a,u=e.intensity===void 0?100:Math.round(e.intensity*100),d=e.color?e.color:e.value>=0?r(V.value.colors.positive,u):r(V.value.colors.negative,u),f=e.color?e.color:e.value>=0?V.value.colors.positive:V.value.colors.negative,te=e.color?`url(#gradient_datapoint_${t}_${A.value})`:e.value>=0?`url(#gradient_positive_${t}_${A.value})`:`url(#gradient_negative_${t}_${A.value})`,ne=l+s/2;return{...e,color:d,gradient:te,height:i,intensity:u,proportion:n,stroke:f,textAnchor:ne,trapX:ee,unitWidth:a,width:s,x:l,y:c}}));function Ge(e,t){return s(B.value.value.formatter,e.value,n({p:B.value.value.prefix,v:e.value,s:B.value.value.suffix,r:B.value.value.rounding}),{datapoint:e,seriesIndex:t})}let X=S(null),Ke=re;function Z(e,t){Ke(`selectDatapoint`,{datapoint:e,index:t}),z.value.events.datapointClick&&z.value.events.datapointClick({datapoint:e,seriesIndex:t})}function qe(e,t){R.value=`pointer`,L.value=t,X.value=t,z.value.events.datapointEnter&&z.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function Je(e,t){R.value!==`keyboard`&&(X.value=null,L.value=null,z.value.events.datapointLeave&&z.value.events.datapointLeave({datapoint:e,seriesIndex:t}))}function Ye(){R.value!==`keyboard`&&(X.value=null,L.value=null)}let Xe=h(()=>`${H.value.animation.speedMs}ms`),Ze=h(()=>J.value.drawingWidth/U.value.length*.9),{fitText:Q}=ue({svgRef:K,unitWidth:Ze});ye(async()=>{await ge(),Q(`.vue-ui-sparkhistogram-top-label`,B.value.value.minFontSize),Q(`.vue-ui-sparkhistogram-bottom-label`,B.value.valueLabel.minFontSize),Q(`.vue-ui-sparkhistogram-time-label`,B.value.timeLabel.minFontSize)}),Se([W,G,()=>U.value],async()=>{await ge(),Q(`.vue-ui-sparkhistogram-top-label`,B.value.value.minFontSize),Q(`.vue-ui-sparkhistogram-bottom-label`,B.value.valueLabel.minFontSize),Q(`.vue-ui-sparkhistogram-time-label`,B.value.timeLabel.minFontSize)});function Qe(){I.value=!0}function $e(){I.value=!1,L.value=null,R.value=`pointer`,X.value=null}function et(e){if(!K.value||document.activeElement!==K.value||!Y.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){L.value=null,X.value=null,R.value=`pointer`;return}if(r){if(X.value===null)return;let e=Y.value[X.value];if(!e)return;Z(e,X.value);return}R.value=`keyboard`;let a=L.value;a===null||a<0||a>=Y.value.length?a=n?0:Y.value.length-1:n?(a+=1,a>=Y.value.length&&(a=0)):t&&(--a,a<0&&(a=Y.value.length-1)),L.value=a,X.value=a;let o=Y.value[a];z.value.events.datapointEnter&&z.value.events.datapointEnter({datapoint:o,seriesIndex:a})}let $=h(()=>({headers:[z.value.a11y?.translations?.series??`Series`,z.value.a11y?.translations?.time??`Time`,z.value.a11y?.translations?.value??`Value`,z.value.a11y?.translations?.valueLabel??`Label`],rows:Y.value.map((e,t)=>[t+1,e.timeLabel??``,e.value??``,e.valueLabel??``])}));return(e,t)=>(x(),v(`div`,{class:`vue-data-ui-component vue-ui-spark-histogram`,ref_key:`histogramChart`,ref:N,style:b(`width:100%;background:${H.value.backgroundColor};font-family:${H.value.fontFamily}`),onMouseleave:Ye},[y(`div`,{id:`chart-instructions-${A.value}`,class:`sr-only`},[y(`p`,null,T(z.value.a11y.translations.keyboardNavigation),1)],8,Ce),$.value?.rows?.length?(x(),g(ce,{key:0,uid:A.value,head:$.value.headers,body:$.value.rows,notice:z.value.a11y.translations.tableAvailable,caption:z.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):_(``,!0),H.value.title.text?(x(),v(`div`,{key:1,ref_key:`chartTitle`,ref:M,style:b(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${H.value.title.margin};padding: 0 6px;text-align:${H.value.title.textAlign}`)},[y(`div`,{style:b(`font-size:${H.value.title.fontSize}px;color:${H.value.title.color};font-weight:${H.value.title.bold?`bold`:`normal`}`)},[fe(T(H.value.title.text)+` `,1),X.value===null?_(``,!0):(x(),v(`span`,we,`- `+T(Y.value[X.value].timeLabel||``)+` `+T(E(s)(B.value.value.formatter,Y.value[X.value].value,E(n)({p:B.value.value.prefix,v:Y.value[X.value].value,s:B.value.value.suffix,r:B.value.value.rounding}),{datapoint:Y.value[X.value],seriesIndex:X.value})),1)),![void 0,null].includes(X.value)&&![null,void 0].includes(Y.value[X.value].valueLabel)?(x(),v(`span`,Te,T(` (${Y.value[X.value].valueLabel||0})`),1)):_(``,!0)],4),H.value.title.subtitle.text?(x(),v(`div`,{key:0,style:b(`font-size:${H.value.title.subtitle.fontSize}px;color:${H.value.title.subtitle.color};font-weight:${H.value.title.subtitle.bold?`bold`:`normal`}`)},T(H.value.title.subtitle.text),5)):_(``,!0)],4)):_(``,!0),y(`div`,Ee,[(x(),v(`svg`,{ref_key:`svgRef`,ref:K,xmlns:E(l),viewBox:`0 0 ${J.value.width} ${J.value.height}`,style:{overflow:`visible`},"aria-describedby":`chart-instructions-${A.value}`,tabindex:`0`,onFocus:Qe,onBlur:$e,onKeydown:et},[pe(E(D)),e.$slots[`chart-background`]?(x(),v(`foreignObject`,{key:0,x:0,y:0,width:J.value.width,height:J.value.height,style:{pointerEvents:`none`}},[w(e.$slots,`chart-background`,{},void 0,!0)],8,Oe)):_(``,!0),y(`defs`,null,[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(p,{t:`radial`,id:`gradient_positive_${t}_${A.value}`,key:`gradient_positive_${t}_${A.value}`,cy:`50%`,cx:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,E(r)(E(a)(V.value.colors.positive,.05),e.intensity),1],[`100%`,E(r)(V.value.colors.positive,e.intensity),1]]},null,8,[`id`,`stops`]))),128)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(p,{t:`radial`,id:`gradient_negative_${t}_${A.value}`,key:`gradient_negative_${t}_${A.value}`,cy:`50%`,cx:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,E(r)(E(a)(V.value.colors.negative,.05),e.intensity),1],[`100%`,E(r)(V.value.colors.negative,e.intensity),1]]},null,8,[`id`,`stops`]))),128)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(p,{t:`radial`,id:`gradient_datapoint_${t}_${A.value}`,key:`gradient_datapoint_${t}_${A.value}`,cy:`50%`,cx:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,E(r)(E(a)(e.color,.05),e.intensity),1],[`100%`,E(r)(e.color,e.intensity),1]]},null,8,[`id`,`stops`]))),128))]),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[X.value!==null&&X.value===t?(x(),v(`rect`,{key:0,height:J.value.height,width:e.unitWidth,fill:H.value.selector.fill,x:e.trapX,y:0,stroke:H.value.selector.stroke,"stroke-width":H.value.selector.strokeWidth,rx:H.value.selector.borderRadius,"stroke-dasharray":H.value.selector.strokeDasharray},null,8,ke)):_(``,!0)]))),256)),!V.value.shape||V.value.shape===`square`?(x(),v(`g`,Ae,[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`rect`,{x:e.x,y:e.y,height:e.height,width:e.width,fill:V.value.colors.gradient.show?e.gradient:e.color,stroke:e.stroke,"stroke-width":V.value.strokeWidth,rx:`${V.value.borderRadius*e.proportion/12}%`,class:_e({"vue-ui-sparkhistogram-shape":H.value.animation.show})},null,10,je))),256))])):(x(),v(`g`,Me,[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(ae,{plot:{x:e.x+e.width/2,y:e.y+e.height/2},color:V.value.colors.gradient.show?e.gradient:e.color,shape:V.value.shape,radius:Math.min(e.height*.4,e.width*.4),class:_e({"vue-ui-sparkhistogram-shape":H.value.animation.show})},null,8,[`plot`,`color`,`shape`,`radius`,`class`]))),256))])),E(ze)?_(``,!0):(x(),v(m,{key:3},[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[B.value.value.show?(x(),v(`text`,{key:0,class:`vue-ui-sparkhistogram-top-label`,"text-anchor":`middle`,x:e.textAnchor,y:e.y-B.value.value.fontSize/3+B.value.value.offsetY,"font-size":B.value.value.fontSize,"font-weight":B.value.value.bold?`bold`:`normal`,fill:B.value.value.color},T(Ge(e,t)),9,Ne)):_(``,!0)]))),256)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[e.valueLabel&&B.value.valueLabel.show?(x(),v(`text`,{key:0,class:`vue-ui-sparkhistogram-bottom-label`,x:e.textAnchor,y:e.y+e.height+B.value.valueLabel.fontSize,"font-size":B.value.valueLabel.fontSize,"text-anchor":`middle`,fill:B.value.valueLabel.color},T(e.valueLabel),9,Pe)):_(``,!0)]))),256)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[e.timeLabel&&B.value.timeLabel.show?(x(),v(`text`,{key:0,class:`vue-ui-sparkhistogram-time-label`,x:e.textAnchor,y:J.value.height,"font-size":B.value.timeLabel.fontSize,fill:B.value.timeLabel.color,"text-anchor":`middle`},T(e.timeLabel),9,Fe)):_(``,!0)]))),256))],64)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[y(`rect`,{height:J.value.height,width:e.unitWidth,fill:`transparent`,x:e.trapX,y:0,onMouseover:n=>qe(e,t),onMouseleave:n=>Je(e,t),onClick:()=>Z(e,t)},null,40,Ie)]))),256))],40,De)),e.$slots.hint?(x(),v(`div`,Le,[w(e.$slots,`hint`,ve(he({hint:z.value.a11y.translations.keyboardNavigation,isVisible:I.value})),void 0,!0)])):_(``,!0)]),e.$slots.source?(x(),v(`div`,{key:2,ref_key:`source`,ref:j,dir:`auto`},[w(e.$slots,`source`,{},void 0,!0)],512)):_(``,!0),w(e.$slots,`skeleton`,{},()=>[E(ze)?(x(),g(f,{key:0})):_(``,!0)],!0)],36))}},[[`__scopeId`,`data-v-e5a32af0`]]);export{D as n,O as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,A as r,Et as i,G as a,I as o,Jt as s,K as c,L as l,N as u,Nt as d,P as f,R as p,S as ee,U as te,W as ne,X as re,Yt as ie,at as ae,d as oe,dt as se,i as ce,in as le,k as ue,lt as de,m as fe,qt as pe,t as me,yt as he,zt as m}from"./lib-DqD8nbyX.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-BH9r_0Vd.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DrLnzyHO.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./useTimeLabels-Das5O74F.js";import{l as we,t as Te}from"./useResponsive-D2CPcpda.js";import{t as Ee}from"./DefGrad-DKMq1REY.js";import{t as De}from"./A11yDataTable-DWNlWXzs.js";import{t as Oe}from"./useChartAccessibility-DOMuYJfm.js";import{t as ke}from"./usePrefersMotion-XLHwega2.js";import{t as Ae}from"./vue_ui_sparkline-CvL_e9L8.js";import{Fragment as h,computed as g,createBlock as je,createCommentVNode as _,createElementBlock as v,createElementVNode as y,createTextVNode as Me,createVNode as Ne,defineAsyncComponent as Pe,guardReactiveProps as Fe,nextTick as b,normalizeClass as Ie,normalizeProps as Le,normalizeStyle as Re,onBeforeUnmount as ze,onMounted as Be,openBlock as x,ref as S,renderList as C,renderSlot as Ve,shallowRef as He,toDisplayString as Ue,toRefs as We,unref as w,watch as T,watchEffect as Ge,withCtx as Ke}from"vue";var qe={key:0,style:{"pointer-events":`none`}},Je=[`r`,`fill`,`filter`],Ye=[`begin`,`dur`,`repeatCount`,`fill`,`calcMode`,`keySplines`,`keyTimes`,`keyPoints`],Xe=[`href`],Ze=[`dur`,`repeatCount`,`fill`,`values`],Qe=[`r`,`fill`],$e=[`begin`,`dur`,`repeatCount`,`calcMode`,`keySplines`,`keyTimes`,`keyPoints`],E=[`href`],et=[`dur`,`repeatCount`],tt={__name:`SparklinePulse`,props:{uid:{type:String,required:!0},svgRef:{type:Object,default:null},pulsePathId:{type:String,required:!0},pulsePathLength:{type:Number,required:!0},pulseDur:{type:String,required:!0},pulseBegin:{type:String,required:!0},pulseRepeatCount:{type:String,required:!0},pulseFillMode:{type:String,default:void 0},pulseKeyPoints:{type:String,required:!0},pulseMotion:{type:Object,required:!0},pulse:{type:Object,required:!0},pulseTrail:{type:Object,required:!0},pulseTrailLength:{type:Number,required:!0},prefersReducedMotion:{type:Boolean,required:!0},loading:{type:Boolean,required:!0},isBar:{type:Boolean,required:!0}},setup(e){let t=e,n=g(()=>Math.min(t.pulseTrailLength,45)),r=g(()=>!!t.pulse?.show&&!t.isBar&&!t.prefersReducedMotion&&!t.loading&&Number(t.pulsePathLength)>0);function i(){let e=t.svgRef?.value;e&&(typeof e.pauseAnimations==`function`&&e.pauseAnimations(),typeof e.setCurrentTime==`function`&&e.setCurrentTime(0),typeof e.unpauseAnimations==`function`&&e.unpauseAnimations())}function a(e,t){if(typeof e!=`string`)return e;let n=e.trim().match(/^([\d.]+)\s*(ms|s)$/);if(!n)return e;let r=Number(n[1]),i=n[2];return Number.isNaN(r)?e:`${r+t}${i}`}function o(e){return(n.value-e)/n.value*t.pulse.radius}function s(e){let r=t.pulse.trail.opacity,i=(n.value-e)/n.value,a=e===0?1:i*r;return`0;${a};${a};0`}return T(()=>t.loading,async e=>{if(e){i();return}await b(),i()}),T(()=>t.pulsePathId,async()=>{await b(),i()}),ze(()=>{i()}),(t,i)=>r.value?(x(),v(`g`,qe,[(x(!0),v(h,null,C(n.value,(t,n)=>(x(),v(h,null,[n%3==0?(x(),v(`circle`,{key:`sparkline_dot_${n}_${e.pulsePathId}`,r:o(n),fill:e.pulse.color,filter:`url(#sparkline_pulse_glow_${e.uid})`,opacity:`0`},[y(`animateMotion`,{begin:a(e.pulseBegin,n*10),dur:e.pulseDur,repeatCount:e.pulseRepeatCount,fill:e.pulseFillMode,calcMode:e.pulseMotion.calcMode,keySplines:e.pulseMotion.keySplines||void 0,keyTimes:e.pulseMotion.keyTimes||void 0,keyPoints:e.pulseKeyPoints,rotate:`auto`},[y(`mpath`,{href:`#${e.pulsePathId}`},null,8,Xe)],8,Ye),y(`animate`,{attributeName:`opacity`,dur:e.pulseDur,repeatCount:e.pulseRepeatCount,fill:e.pulseFillMode,values:s(n),keyTimes:`0;0.1;0.9;1`},null,8,Ze)],8,Je)):_(``,!0)],64))),256)),(x(),v(`circle`,{key:`sparkline_halo_${e.pulsePathId}`,r:Math.max(e.pulse.radius*1.3),fill:e.pulse.color,opacity:`0`},[y(`animateMotion`,{begin:e.pulseBegin,dur:e.pulseDur,repeatCount:e.pulseRepeatCount,calcMode:e.pulseMotion.calcMode,keySplines:e.pulseMotion.keySplines||void 0,keyTimes:e.pulseMotion.keyTimes||void 0,keyPoints:e.pulseKeyPoints,rotate:`auto`},[y(`mpath`,{href:`#${e.pulsePathId}`},null,8,E)],8,$e),y(`animate`,{attributeName:`opacity`,values:`0;0.35;0.35;0`,keyTimes:`0;0.15;0.85;1`,dur:e.pulseDur,repeatCount:e.pulseRepeatCount},null,8,et)],8,Qe))])):_(``,!0)}},D={canvas:null,ctx:null};function nt(){if(typeof document>`u`)throw Error(`color-utils: document is not available (browser-only).`);if(!D.canvas){let e=document.createElement(`canvas`);e.width=1,e.height=1;let t=e.getContext(`2d`,{willReadFrequently:!0});if(!t)throw Error(`color-utils: unable to get 2D canvas context.`);D.canvas=e,D.ctx=t}return D.ctx}function rt(e){return e<0?0:e>255?255:Math.round(e)}function it(e){return e<0?0:e>1?1:e}function O(e,t=null){if(typeof e!=`string`||e.trim().length===0)throw Error(`colorToRgba: inputColor must be a non-empty string.`);let n=e.trim();if(n.toLowerCase()===`transparent`)return{red:0,green:0,blue:0,alpha:0};let r=A(n,t),i=nt();i.clearRect(0,0,1,1),i.fillStyle=`#000`;let a=i.fillStyle;if(i.fillStyle=r,i.fillStyle===a&&!j(r))throw Error(`colorToRgba: unsupported or invalid color "${e}".`);i.fillRect(0,0,1,1);let o=i.getImageData(0,0,1,1).data;return{red:o[0],green:o[1],blue:o[2],alpha:o[3]/255}}function k(e,t=null){if(!Array.isArray(e)||e.length===0)throw Error(`colorsToRgba: colors must be a non-empty array.`);let n=Array(e.length);for(let r=0;r<e.length;r+=1)n[r]=O(e[r],t);return n}function A(e,t=null){return e!==`currentColor`||typeof window>`u`||!t?e:window.getComputedStyle(t).color||e}function j(e){let t=e.trim().toLowerCase();return t===`black`||t===`#000`||t===`#000000`||t===`rgb(0, 0, 0)`||t===`rgba(0, 0, 0, 1)`||t===`rgba(0, 0, 0, 0)`}function M(e){let t=it(e/255);return t<=.04045?t/12.92:((t+.055)/1.055)**2.4}function N(e){let t=it(e),n;return n=t<=.0031308?t*12.92:1.055*t**(1/2.4)-.055,rt(n*255)}function at(e,t,n,r){let i=it(n);if(r===`linearRGB`){let n=M(e.red),r=M(e.green),a=M(e.blue),o=M(t.red),s=M(t.green),c=M(t.blue),l=n+(o-n)*i,u=r+(s-r)*i,d=a+(c-a)*i;return{red:N(l),green:N(u),blue:N(d),alpha:e.alpha+(t.alpha-e.alpha)*i}}return{red:e.red+(t.red-e.red)*i,green:e.green+(t.green-e.green)*i,blue:e.blue+(t.blue-e.blue)*i,alpha:e.alpha+(t.alpha-e.alpha)*i}}function P(e,t,n){let r=e;return r<t&&(r=t),r>n&&(r=n),r}function F(e,t){let n=10**t;return Math.round(e*n)/n}function I(e){return Number.isFinite(e)?e.toString():`0`}function L(e){let t=P(e,0,255).toString(16);return t.length===1?`0`+t:t}function R(e){if(typeof e!=`string`)return;let t=Number.parseFloat(e);return Number.isFinite(t)?t:void 0}function ot(e,t,n,r=!0){let i=n-t;if(i===0)return 0;let a=(e-t)/i;return r?P(a,0,1):a}var st=`http://www.w3.org/2000/svg`;function z(e){if(typeof document>`u`)throw Error(`SvgPathGradientAsync: document is not available (browser-only implementation).`);let t=document.createElementNS(st,`svg`);t.setAttribute(`width`,`0`),t.setAttribute(`height`,`0`),t.setAttribute(`viewBox`,`0 0 0 0`),t.style.position=`absolute`,t.style.left=`-10000px`,t.style.top=`-10000px`,t.style.visibility=`hidden`,t.style.pointerEvents=`none`;let n=document.createElementNS(st,`path`);return e===`M `&&(e=`M 0,0`),n.setAttribute(`d`,e),t.appendChild(n),document.body.appendChild(t),{svgElement:t,pathElement:n}}function B(e){if(e)try{e.svgElement?.remove?.()}catch{}}function ct(e,t,n){if(typeof n==`number`&&n>0)return n;let r=t*.75;r<.5&&(r=.5),r>8&&(r=8);let i=e/2;return r>i&&i>0&&(r=i),r<=0&&(r=1),r}function V(e,t,n){if(typeof t==`number`&&t>=1)return Math.floor(t);let r=Math.ceil(e/(typeof n==`number`&&n>0?n:2));return r<1?1:r}function lt(e,t,n,r,i,a){let o=n-t,s=Math.ceil(o/r)+1;s<2&&(s=2),s>a&&(s=a);let c=s>1?o/(s-1):0,l=e.getPointAtLength(t),u=`M ${I(F(l.x,i))} ${I(F(l.y,i))}`;for(let n=1;n<s;n+=1){let r=t+n*c,a=e.getPointAtLength(r);u+=` L ${I(F(a.x,i))} ${I(F(a.y,i))}`}return u}function H(e,t,n,r,i,a){let o=n-t,s=Math.ceil(o/r)+1;s<2&&(s=2),s>a&&(s=a);let c=s>1?o/(s-1):0,l=e.getPointAtLength(t),u=l.x,d=l.x,f=l.y,p=l.y,ee=`M ${I(F(l.x,i))} ${I(F(l.y,i))}`;for(let n=1;n<s;n+=1){let r=t+n*c,a=e.getPointAtLength(r);a.x<u&&(u=a.x),a.x>d&&(d=a.x),a.y<f&&(f=a.y),a.y>p&&(p=a.y),ee+=` L ${I(F(a.x,i))} ${I(F(a.y,i))}`}return{pathData:ee,bounds:{minX:u,maxX:d,minY:f,maxY:p}}}function ut(e){if(e.length===1)return[{position:0,rgba:e[0]}];let t=Array(e.length),n=e.length-1;for(let r=0;r<e.length;r+=1)t[r]={position:r/n,rgba:e[r]};return t}function dt(e,t,n,r){let i=P(t,0,1),a=r;for(a<0&&(a=0),a>e.length-2&&(a=e.length-2);a>0&&i<e[a].position;)--a;for(;a<e.length-2&&i>e[a+1].position;)a+=1;let o=e[a],s=e[a+1],c=s.position-o.position,l=c>0?(i-o.position)/c:0;return ht(ft(o.rgba,s.rgba,l,n))}function ft(e,t,n,r){let i=P(n,0,1);if(r===`linearRGB`){let n=pt(e.red),r=pt(e.green),a=pt(e.blue),o=pt(t.red),s=pt(t.green),c=pt(t.blue),l=n+(o-n)*i,u=r+(s-r)*i,d=a+(c-a)*i;return{red:mt(l),green:mt(u),blue:mt(d),alpha:e.alpha+(t.alpha-e.alpha)*i}}return{red:e.red+(t.red-e.red)*i,green:e.green+(t.green-e.green)*i,blue:e.blue+(t.blue-e.blue)*i,alpha:e.alpha+(t.alpha-e.alpha)*i}}function pt(e){let t=P(e/255,0,1);return t<=.04045?t/12.92:((t+.055)/1.055)**2.4}function mt(e){let t=P(e,0,1),n;return n=t<=.0031308?t*12.92:1.055*t**(1/2.4)-.055,P(Math.round(n*255),0,255)}function ht(e){let t=P(e.alpha,0,1),n=P(Math.round(e.red),0,255),r=P(Math.round(e.green),0,255),i=P(Math.round(e.blue),0,255);return t>=1?`#${L(n)}${L(r)}${L(i)}`:`rgba(${n}, ${r}, ${i}, ${F(t,4).toString()})`}function gt(e){let t=`fill="${U(e.fill??`none`)}"`,n=Object.keys(e);for(let r=0;r<n.length;r+=1){let i=n[r];if(i===`stroke`||i===`d`)continue;let a=e[i];t+=` ${i}="${U(a)}"`}return t}function _t(e,t,n){return`<path d="${U(e)}" stroke="${U(t)}" ${n} />`}function vt(e){let t=[],n=e.segmentAttributeMap.fill??`none`;t.push(`fill="${U(n)}"`),t.push(`stroke="${U(e.stroke)}"`);for(let n of Object.keys(e.segmentAttributeMap)){if(n===`stroke`||n===`d`)continue;let r=e.segmentAttributeMap[n];t.push(`${n}="${U(r)}"`)}return`<path d="${U(e.pathData)}" ${t.join(` `)} />`}function yt(e,t){let n=[];for(let e of Object.keys(t))n.push(`${e}="${U(t[e])}"`);return`<g data-svg-path-gradient="true"${n.length?` `+n.join(` `):``}>${e.join(``)}</g>`}function U(e){return String(e).replaceAll(`&`,`&`).replaceAll(`"`,`"`).replaceAll(`<`,`<`).replaceAll(`>`,`>`)}function bt(e,t=null,n={}){return new Promise((r,i)=>{let a=null;try{if(!e||typeof e!=`string`)throw Error(`SvgPathGradientAsync: pathData must be a non-empty string.`);let i=n.temperatureMode??null;if(i===null&&(!Array.isArray(t)||t.length===0))throw Error(`SvgPathGradientAsync: colors must be a non-empty array when temperatureMode is not enabled.`);if((n.returnMode??`string`)!==`string`)throw Error(`SvgPathGradientAsync: only returnMode="string" is supported for the async version.`);let o=typeof n.decimalPlaces==`number`?n.decimalPlaces:3,s=typeof n.flattenTolerance==`number`&&n.flattenTolerance>0?n.flattenTolerance:.25,c=n.attrs?{...n.attrs}:{},l=n.groupAttrs?{...n.groupAttrs}:{},u=R(c[`stroke-width`]),d=typeof n.strokeWidth==`number`&&n.strokeWidth>0?n.strokeWidth:typeof u==`number`&&u>0?u:1;a=z(e);let f=a.pathElement,p=f.getTotalLength(),ee=i===null?k(t,n.colorReferenceElement):[];if(i===null&&(!(p>0)||ee.length===1)){let t=yt([vt({pathData:e,stroke:ht(ee[0]),segmentAttributeMap:c})],l);B(a),r(t);return}let te=n.colorSpace??`linearRGB`;if(i!==null){let e=n.temperatureColors;if(!Array.isArray(e)||e.length!==2)throw Error(`SvgPathGradientAsync: temperatureColors must be a tuple of exactly 2 colors when temperatureMode is enabled.`)}let ne=i===null?null:k(n.temperatureColors,n.colorReferenceElement),re=i===null?(()=>{let e=ut(ee),t=Array(e.length);for(let n=0;n<e.length;n+=1)t[n]={position:e[n].position,rgba:e[n].rgba};return t})():[],ie=ct(p,d,n.maxSegmentLength),ae=V(p,n.segments,ie),oe=p/ae,se=typeof n.overlap==`number`&&n.overlap>=0?n.overlap:d*.5,ce=oe*.45;se>ce&&(se=ce);let le=typeof n.samplePointLimitPerSegment==`number`&&n.samplePointLimitPerSegment>10?n.samplePointLimitPerSegment:250,ue=gt(c),de=[],fe=i===null?null:[],pe=i===null?null:[],me=0,he=i===null?re.length-2:0,m=0,ge=()=>{let e=performance.now(),t=typeof n.frameBudgetMs==`number`?n.frameBudgetMs:8;for(;m<ae&&performance.now()-e<t;){let e=m*oe,t=(m+1)*oe,n=e,r=t;if(m!==0&&(n=e-se),m!==ae-1&&(r=t+se),n=P(n,0,p),r=P(r,0,p),r>n){if(i!==null){let e=H(f,n,r,s,o,le);fe.push(e.pathData),pe.push(e.bounds)}else{let e=(n+r)*.5/p;for(;me<he&&e>re[me+1].position;)me+=1;let t=dt(re,e,te,me),i=lt(f,n,r,s,o,le);de.push(_t(i,t,ue))}}m+=1}if(m<ae){requestAnimationFrame(ge);return}if(i!==null){let e=1/0,t=-1/0;for(let n=0;n<pe.length;n+=1){let r=pe[n],a=i===`vertical`?r.minY:r.minX,o=i===`vertical`?r.maxY:r.maxX;a<e&&(e=a),o>t&&(t=o)}let n=ne[0],r=ne[1];de.length=0;for(let a=0;a<pe.length;a+=1){let o=pe[a],s=ot(((i===`vertical`?o.minY:o.minX)+(i===`vertical`?o.maxY:o.maxX))*.5,e,t,!0),c=ht(i===`vertical`?at(n,r,s,te):at(r,n,s,te)),l=fe[a];de.push(_t(l,c,ue))}}let c=yt(de,l);B(a),r(c)};requestAnimationFrame(ge)}catch(e){B(a),i(e)}})}var W=[`innerHTML`],xt={__name:`SparklineGradientPath`,props:{svgPathData:{type:String,required:!0},enabled:{type:Boolean,required:!0},strokeWidth:{type:Number,required:!0},highColor:{type:String,required:!0},lowColor:{type:String,required:!0},segments:{type:Number,required:!0}},setup(e){let t=e,n=S(``),r=0;return T(()=>[t.enabled,t.svgPathData,t.strokeWidth,t.highColor,t.lowColor,t.segments],async([e])=>{let i=++r;if(!e){n.value=``;return}let a=await bt(t.svgPathData,null,{segments:t.segments,temperatureMode:`vertical`,temperatureColors:[t.highColor,t.lowColor],attrs:{"stroke-width":t.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},groupAttrs:{class:`vue-ui-sparkline-gradient`}});i===r&&(n.value=a)},{immediate:!0}),(e,t)=>(x(),v(`g`,{innerHTML:n.value},null,8,W))}},St=/* @__PURE__ */ e({default:()=>G}),Ct=[`id`],wt=[`id`],Tt={style:{position:`relative`}},Et=[`xmlns`,`viewBox`,`aria-describedby`],Dt=[`width`,`height`],Ot=[`id`],kt=[`id`,`y1`,`y2`],At=[`stop-color`,`offset`],jt=[`id`],Mt=[`x`,`y`,`width`,`height`],Nt=[`clip-path`],Pt={key:0},Ft=[`data-cy`,`d`,`fill`],It=[`id`,`d`,`stroke-width`],Lt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Rt=[`d`,`stroke`,`stroke-width`],zt=[`id`,`d`,`stroke-width`],Bt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Vt=[`d`,`stroke`,`stroke-width`],Ht=[`x`,`y`,`width`,`height`,`fill`,`rx`],Ut=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-dasharray`,`stroke-width`],Wt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Gt=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Kt=[`x`,`y`,`font-size`,`font-weight`,`fill`],qt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],Jt=[`x`,`y`,`height`,`width`,`onMouseenter`,`onMouseleave`,`onClick`],Yt=[`title`,`aria-label`],Xt={viewBox:`0 0 24 24`,width:`13`,height:`13`,"aria-hidden":`true`,focusable:`false`},Zt=[`stroke`],Qt={key:1,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},$t=280,G=/*#__PURE__*/ be({__name:`vue-ui-sparkline`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},showInfo:{type:Boolean,default:!0},selectedIndex:{type:Number,default:void 0},heightRatio:{type:Number,default:1},forcedPadding:{type:Number,default:30},zoomState:{type:Object,default:null}},emits:[`hoverIndex`,`selectDatapoint`,`zoom`,`zoomReset`,`update:zoomState`],setup(e,{expose:be,emit:qe}){let Je=Pe(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),Ye=Pe(()=>import(`./SparkTooltip-cWKhrsKX.js`)),{vue_ui_sparkline:Xe}=t(),{isThemeValid:Ze,warnInvalidTheme:Qe}=Se(),$e=ke(),E=e,et=g(()=>Array.isArray(E.dataset)&&E.dataset.length>0),D=S(re()),nt=S(null),rt=S(null),it=S(null),O=S(null),k=S(null),A=S(void 0),j=S(void 0),M=S(lt()),N=g(()=>M.value.style.tooltip),at=g(()=>M.value.style.bar),P=g(()=>M.value.style.line),F=g(()=>M.value.style.area),I=g(()=>M.value.style.dataLabel),L=g(()=>M.value.style),R=g(()=>M.value.style.zoom);ve({config:()=>M.value,dataset:()=>E.dataset,component:`VueUiSparkline`,rules:[ye.emptyArray,{test:e=>e.length>500,message:[`👀 The dataset has > 500 datapoints. Consider if you really need this level of detail.`,``,`▶️ Use larger time scales, or aggregated values`]},{test:e=>e.length>1095,message:[`👀 The dataset has > 1095 datapoints. Above this threshold, the dataset is computed through an LTTB algorithm, to preserve the shape of the data without increasing the number of datapoints.`,``,`▶️ If you need this level of detail, you can change config.downsample.threshold and set a higher value. Note that performance will be impacted.`]}]});function ot(e){return E.config?.skeletonDataset&&Array.isArray(E.config.skeletonDataset)?E.config.skeletonDataset.map(e=>({period:`-`,value:e})):de(e).map(e=>({period:`-`,value:e}))}let st=g(()=>le({defaultConfig:{gradientPath:{show:!1},temperatureColors:{show:!1},style:{backgroundColor:`#99999930`,scaleMin:0,scaleMax:null,animation:{show:!1},line:{color:`#AAAAAA`,pulse:{show:!1},dashIndices:[]},bar:{color:`#AAAAAA`},area:{color:`#CACACA`},zeroLine:{color:`#6A6A6A`},dataLabel:{show:!1},tooltip:{show:!1}}},userConfig:M.value.skeletonConfig??{}})),{loading:z,FINAL_DATASET:B,manualLoading:ct}=ge({...We(E),FINAL_CONFIG:M,prepareConfig:lt,callback:()=>{Promise.resolve().then(async()=>{await b(),En()})},skeletonDataset:ot(12),skeletonConfig:le({defaultConfig:M.value,userConfig:st.value})}),{svgRef:V}=Oe({config:L.value.title});function lt(){let e=xe({userConfig:E.config,defaultConfig:Xe}),t={},n=e.theme;if(n){if(!Ze.value(e))Qe(e),t=e;else{let r=xe({userConfig:Ae[n]||E.config,defaultConfig:e});t={...xe({userConfig:E.config,defaultConfig:r})}}}else t=e;return t}let H=g(()=>M.value?.style?.line.pulse||{}),ut=g(()=>`${Math.max(200,Number(H.value.durationMs)||4e3)/1e3}s`),dt=S(0),ft=g(()=>H.value?.begin||`0ms`),pt=S(`0;1`),mt=g(()=>H.value?.loop===!1?`1`:`indefinite`),ht=g(()=>H.value?.loop===!1?`freeze`:void 0),gt=g(()=>H.value.trail.show&&U.value.lengthPx||1),_t=g(()=>!!H.value?.show&&!Z.value&&!$e.value&&!z.value&&(X.value?.length||0)>1);function vt(){if(!_t.value){dt.value=0;return}let e=V.value;if(!e)return;let t=`#${On.value}`,n=e.querySelector?.(t);if(n&&typeof n.getTotalLength==`function`){let e=n.getTotalLength();Number.isFinite(e)&&e>0&&(dt.value=e);return}requestAnimationFrame(()=>{let n=e.querySelector?.(t);if(n&&typeof n.getTotalLength==`function`){let e=n.getTotalLength();Number.isFinite(e)&&e>0&&(dt.value=e)}})}let yt=g(()=>{let e=H.value?.easing||`ease-in-out`,t={ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]};return e===`linear`?{calcMode:`linear`,keySplines:null,keyTimes:`0;1`}:e===`steps`?{calcMode:`discrete`,keySplines:null,keyTimes:`0;1`}:{calcMode:`spline`,keySplines:(e===`cubic-bezier`?Array.isArray(H.value?.cubicBezier)&&H.value.cubicBezier.length===4?H.value.cubicBezier:[.4,0,.2,1]:t[e]||t[`ease-in-out`]).join(` `),keyTimes:`0;1`}}),U=g(()=>{let e=H.value?.trail||{},t=P.value.strokeWidth||1;return{show:e.show!==!1,lengthPx:e.length,width:Math.max(1,Number(e.strokeWidth)||t*2.2),opacity:Math.min(1,Math.max(0,Number(e.opacity)??.6)),fadeIn:.5,fadeOut:.2}}),bt=S({start:0,end:null}),W=S(!1),St=S(!1),G=S(!1),en=S(`matrix(1, 0, 0, 1, 0, 0)`),tn=S(!1),nn=0,rn=0,an=0,on=0,sn=S(null),cn=S(null),ln=S(!1),un=S({time:0,x:0,y:0,pointerType:null}),dn=g(()=>{let e=B.value.length;if(!e)return{start:0,end:-1};let t=Math.min(Math.max(0,bt.value.start||0),e-1);return{start:t,end:Math.min(Math.max(t,bt.value.end==null?e-1:bt.value.end),e-1)}}),fn=g(()=>{let e=B.value.length;return e?dn.value.start>0||dn.value.end<e-1:!1}),pn=g(()=>{let{start:e,end:t}=dn.value;return t<e?[]:B.value.slice(e,t+1).map((t,n)=>({...t,__sourceIndex:e+n}))}),mn=g(()=>d({data:pn.value,threshold:M.value.downsample.threshold}));g(()=>{if(!M.value.temperatureColors.show)return!1;let e=pn.value.map(({value:e})=>e).filter(e=>Number.isFinite(e));return new Set(e).size<=1}),T(()=>E.config,e=>{z.value||(M.value=lt()),Mn(),q.value.chartWidth=L.value.chartWidth},{deep:!0}),T(()=>E.dataset,e=>{Array.isArray(e)&&e.length>0&&(ct.value=!1),Xn(),Wn(),un.value={time:0,x:0,y:0,pointerType:null},bt.value={start:0,end:null},Yn(),K.value=d({data:pn.value.map(e=>({...e,value:[void 0].includes(e.value)?null:e.value})),threshold:M.value.downsample.threshold});let t=Nn();J(`update:zoomState`,t),J(`zoomReset`,t)},{deep:!0});let K=S(hn());function hn(){return d({data:pn.value.map(e=>L.value.animation.show&&B.value.length>1?{...e,value:null}:{...e,value:[void 0].includes(e.value)?null:e.value}),threshold:M.value.downsample.threshold})}let gn=He(null),_n=He(null),vn=S(!1),yn=S(0),bn=S([]),xn=S(``),Sn=!1,Cn=g(()=>{let e=(mn.value||[]).map(e=>`${e.period}::${Number.isFinite(e.value)?e.value:0}`).join(`|`),t=M.value?.style?.animation||{},n=!!M.value?.gradientPath?.show&&!M.value.temperatureColors.show;return`${e}#${!!t.show}#${t.animationFrames||0}#${n}`});function wn(){Sn=!0,Tn()}function Tn(){yn.value&&=(cancelAnimationFrame(yn.value),0),bn.value.forEach(e=>clearTimeout(e)),bn.value=[],vn.value=!1}function En(){let e=M.value?.style?.animation||{},t=mn.value||[],n=Cn.value,r=!!M.value.gradientPath.show&&!M.value.temperatureColors.show;if(n&&n===xn.value&&(vn.value||K.value.length===t.length))return;if(Tn(),r||!e.show||z.value||t.length<=1||$e.value){K.value=t,xn.value=n;return}vn.value=!0,xn.value=n,K.value=[];let i=Math.max(1,Number(e.animationFrames)||1),a=Math.max(1,Math.floor(i/t.length)),o=0,s=()=>{if(n!==Cn.value){Tn();return}if(o<t.length){K.value.push(t[o]);let e=setTimeout(()=>{yn.value=requestAnimationFrame(s)},a);bn.value.push(e),o+=1}else K.value=t,Tn()};yn.value=requestAnimationFrame(s)}T(Cn,()=>{if(Sn){Sn=!1,Tn(),K.value=mn.value||[],xn.value=Cn.value;return}En()}),Be(()=>{Mn(),En()}),ze(()=>{Tn(),Wn()});let Dn=S(0);T(()=>z.value,async e=>{e||(await b(),Dn.value+=1)}),T(()=>vn.value,async e=>{e||z.value||(await b(),Dn.value+=1)});let On=g(()=>`sparkline_line_path_${D.value}`),kn=S(!0);async function An(){kn.value=!1,await b(),kn.value=!0,await b(),vt()}let jn=g(()=>M.value.debug);function Mn(){if(m(E.dataset)?(ae({componentName:`VueUiSparkline`,type:`dataset`,debug:jn.value}),ct.value=!0):jn.value&&E.dataset.forEach((e,t)=>{he({datasetObject:e,requiredAttributes:[`period`,`value`]}).forEach(e=>{ae({componentName:`VueUiSparkline`,type:`datasetSerieAttribute`,property:e,index:t})})}),m(E.dataset)||(ct.value=M.value.loading),M.value.responsive){let e=we(()=>{let{width:e,height:t}=Te({chart:nt.value,title:L.value.title.show&&E.showInfo?rt.value:null,source:it.value});requestAnimationFrame(()=>{q.value.width=e,q.value.height=t,q.value.chartWidth=L.value.chartWidth/500*e,q.value.padding=E.forcedPadding/500*e})});gn.value&&(_n.value&&gn.value.unobserve(_n.value),gn.value.disconnect()),gn.value=new ResizeObserver(e),_n.value=nt.value.parentNode,gn.value.observe(_n.value)}}ze(()=>{gn.value&&(_n.value&&gn.value.unobserve(_n.value),gn.value.disconnect())});let q=S({height:80*E.heightRatio,width:500,chartWidth:L.value.chartWidth,padding:E.forcedPadding}),J=qe;function Nn(){if(!B.value.length)return{start:0,end:0};let{start:e,end:t}=dn.value;return{start:e,end:t+1}}function Pn(e,t=Nn()){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 Fn(e){let t=Pn(e);if(!t)return null;let n=B.value.length;if(!n)return{start:0,end:0};let r=Math.max(0,Math.min(Math.trunc(t.start),n-1));return{start:r,end:Math.max(r+1,Math.min(Math.trunc(t.end),n))}}function In(e,{skipAnimation:t=!0,transition:n=!1}={}){let r=Fn(e);if(!r)return null;let i=Nn();if(r.start!==i.start||r.end!==i.end){Xn(),un.value={time:0,x:0,y:0,pointerType:null};let e={start:r.start,end:r.end>r.start?r.end-1:r.start};n?Gn(e):(t&&wn(),bt.value=e),Yn()}return Nn()}function Ln(e){let t=In(e,{transition:!0});t&&J(`update:zoomState`,t)}T([()=>E.zoomState,()=>B.value.length],([e,t])=>{!e||t<=0||In(e,{transition:!0})},{deep:!0,immediate:!0});let Y=g(()=>{let{top:e,right:t,bottom:n,left:r}=L.value.padding;return{top:e,left:r,right:q.value.width-t,bottom:q.value.height-n,start:E.showInfo&&I.value.show&&I.value.position===`left`?q.value.width-q.value.chartWidth+r:q.value.padding+r,width:E.showInfo&&I.value.show?q.value.chartWidth-r-t:q.value.width-q.value.padding-r-t,height:q.value.height-e-n}});function Rn(e){let t=B.value.length;if(!t)return{start:0,end:-1};let n=Math.max(0,Math.min(Math.trunc(Number(e?.start)||0),t-1)),r=e?.end===null||e?.end===void 0?t-1:Math.trunc(Number(e.end));return{start:n,end:Math.max(n,Math.min(Number.isFinite(r)?r:n,t-1))}}function zn(e){let t=(e||[]).map(e=>{let t=e?.value;return isNaN(t)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(t)?0:t||0}),n=L.value.scaleMin,r=L.value.scaleMax,i=[null,void 0].includes(n)?t.length?Math.min(...t):0:n,a=[null,void 0].includes(r)?t.length?Math.max(...t):0:r,o=Math.abs(i>=0?0:i),s=a+o;return{absoluteMin:Number.isFinite(o)?o:0,absoluteMax:Number.isFinite(s)?s:0}}function Bn(e,t){let n=t.absoluteMax===0?0:(e+t.absoluteMin)/t.absoluteMax;return Y.value.bottom-Y.value.height*n}function Vn(e,t,n,r){let i=Math.max(1,e.end-e.start),a=Math.max(1,t.end-t.start),o=Y.value.start,s=Y.value.width,c=i/a,l=o+s*(e.start-t.start)/a-c*o,u=Bn(0,n),d=Bn(0,r),f=1;n.absoluteMax>0&&r.absoluteMax>0&&(f=n.absoluteMax/r.absoluteMax);let p=d-f*u;return`matrix(${c}, 0, 0, ${f}, ${l}, ${p})`}function Hn(e){if(!G.value||!e)return;let t=en.value.match(/^matrix\(([-+\d.eE]+),\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*([-+\d.eE]+),\s*([-+\d.eE]+),\s*([-+\d.eE]+)\)$/);if(!t)return;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=Number(t[4]);if([n,r,i,a].every(Number.isFinite))return{transform:`matrix(1, 0, 0, 1, ${(n-1)*e.x+i}, ${(r-1)*e.y+a})`,transformOrigin:`0 0`,transformBox:`view-box`,transition:tn.value?`transform ${$t}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:`transform`}}function Un(e){if(!G.value||!e)return;let t=en.value.match(/^matrix\(([-+\d.eE]+),\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*([-+\d.eE]+),\s*[-+\d.eE]+\)$/);if(!t)return;let n=Number(t[1]),r=Number(t[2]);if([n,r].every(Number.isFinite))return{transform:`matrix(1, 0, 0, 1, ${(n-1)*e.x+r}, 0)`,transformOrigin:`0 0`,transformBox:`view-box`,transition:tn.value?`transform ${$t}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:`transform`}}function Wn({resetTransform:e=!0}={}){on+=1,nn&&=(cancelAnimationFrame(nn),0),rn&&=(cancelAnimationFrame(rn),0),an&&=(clearTimeout(an),0),tn.value=!1,G.value=!1,e&&(en.value=`matrix(1, 0, 0, 1, 0, 0)`)}async function Gn(e){let t=Rn(e),n={...dn.value};if(t.start===n.start&&t.end===n.end)return;Wn();let r=vn.value;r&&(Tn(),K.value=mn.value||[]);let i=zn(K.value);wn(),bt.value={start:t.start,end:t.end};let a=mn.value||[];if(r||!V.value||z.value||$e.value||n.end<n.start||t.end<t.start||a.length<=1){K.value=a,xn.value=Cn.value,en.value=`matrix(1, 0, 0, 1, 0, 0)`;return}let o=Vn(t,n,zn(a),i),s=++on;G.value=!0,tn.value=!1,en.value=o,K.value=a,xn.value=Cn.value,await b(),s===on&&(nn=requestAnimationFrame(()=>{nn=0,rn=requestAnimationFrame(()=>{rn=0,s===on&&(tn.value=!0,en.value=`matrix(1, 0, 0, 1, 0, 0)`,an=setTimeout(async()=>{an=0,s===on&&(tn.value=!1,G.value=!1,await An())},$t))})}))}let Kn=g(()=>!W.value||sn.value==null||cn.value==null?null:{x:Math.min(sn.value,cn.value),width:Math.abs(cn.value-sn.value),y:0,height:q.value.height});function qn(e){let t=V.value;if(!t)return null;let n=t.getScreenCTM?.();if(n&&typeof t.createSVGPoint==`function`){let r=t.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r.matrixTransform(n.inverse()).x}let r=t.getBoundingClientRect?.();return r?.width?(e.clientX-r.left)/r.width*q.value.width:null}function Jn(e){return Math.min(Math.max(e,Y.value.start),Y.value.start+Y.value.width)}function Yn(){j.value=A.value,A.value=void 0,k.value=null,O.value=null,J(`hoverIndex`,{index:void 0})}function Xn(e){e?.pointerId!=null&&V.value?.hasPointerCapture?.(e.pointerId)&&V.value.releasePointerCapture(e.pointerId),W.value=!1,sn.value=null,cn.value=null}function Zn(e){(fn.value||W.value)&&(Xn(e),un.value={time:0,x:0,y:0,pointerType:null},Gn({start:0,end:Math.max(0,B.value.length-1)}),Yn(),J(`update:zoomState`,Nn()),J(`zoomReset`))}function Qn(e){(e.button===void 0||e.button===0)&&(e.preventDefault(),e.stopPropagation(),Zn())}function $n(e){e.detail===0&&Zn()}function er(e){if(!R.value.show)return;if(!fn.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=un.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?(ln.value=!0,Zn(e),setTimeout(()=>{ln.value=!1},0),!0):(un.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function tr(e=V.value){St.value=!0,e?.classList?.add(`vue-ui-sparkline-pointer-focus`)}function nr(){St.value=!1,V.value?.classList?.remove(`vue-ui-sparkline-pointer-focus`)}function rr(e){if(e.button!==void 0&&e.button!==0||(tr(e.currentTarget),!R.value.show)||z.value||pn.value.length<2)return;let t=qn(e);if(t==null)return;let n=Y.value.start,r=n+Y.value.width;t<n||t>r||(V.value?.focus?.({preventScroll:!0}),W.value=!0,sn.value=Jn(t),cn.value=Jn(t))}function ir(e){if(!R.value.show||!W.value)return;let t=qn(e);t!=null&&(cn.value=Jn(t),sn.value!=null&&Math.abs(cn.value-sn.value)>=2&&!V.value?.hasPointerCapture?.(e.pointerId)&&V.value?.setPointerCapture?.(e.pointerId))}function ar(e){if(!R.value.show||!W.value)return;let t=qn(e);t!=null&&(cn.value=Jn(t));let n=sn.value,r=cn.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,Y.value.width*.01)){if(er(e))return;Xn(e);return}let i=Math.min(n,r),a=Math.max(n,r),o=Math.max(1,Y.value.width),s=pn.value.length,c=(i-Y.value.start)/o,l=(a-Y.value.start)/o,u=Math.max(0,Math.min(s-1,Math.floor(c*(s-1)))),d=Math.max(u,Math.min(s-1,Math.ceil(l*(s-1))));if(d<=u){Xn(e);return}let f=dn.value.start+u,p=dn.value.start+d;Gn({start:f,end:p}),un.value={time:0,x:0,y:0,pointerType:null},Yn(),J(`zoom`,{start:f,end:p}),J(`update:zoomState`,{start:f,end:p+1}),ln.value=!0,setTimeout(()=>{ln.value=!1},0),Xn(e)}let or=g(()=>[null,void 0].includes(L.value.scaleMin)?Math.min(...K.value.map(e=>isNaN(e.value)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(e.value)?0:e.value||0)):L.value.scaleMin),sr=g(()=>[null,void 0].includes(L.value.scaleMax)?Math.max(...K.value.map(e=>isNaN(e.value)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(e.value)?0:e.value||0)):L.value.scaleMax),cr=g(()=>{let e=or.value>=0?0:or.value;return Math.abs(e)}),lr=g(()=>sr.value+cr.value),ur=g(()=>Y.value.bottom-Y.value.height*dr(cr.value));function dr(e){return isNaN(e/lr.value)?0:e/lr.value}let fr=g(()=>K.value.length-1||1),pr=S([]),mr=0;Ge(()=>{let e=++mr;(async()=>{let t=await Ce({values:mn.value.map(e=>e.period),maxDatapoints:mn.value.length,formatter:I.value.datetimeFormatter,start:0,end:mn.value.length});e===mr&&(pr.value=t)})()});let X=g(()=>{let e=K.value.length,t=Y.value.width/fr.value,n=Math.max(0,Y.value.start),r=Math.min(q.value.width,Y.value.right,Y.value.start+Y.value.width),i=Math.max(0,r-n),a=e>0?i/e:0;return K.value.map((e,r)=>{let i=isNaN(e.value)||[void 0,`NaN`,NaN,1/0,-1/0].includes(e.value)?0:e.value,o=n+r*a,s=Z.value?a:t,c=Z.value?o+a/2:Y.value.start+r*t;return{value:e.value,absoluteValue:i,period:pr.value&&pr.value[r]&&pr.value[r].text?pr.value[r].text:e.period,plotValue:i+cr.value,toMax:dr(i+cr.value),sourceIndex:e.__sourceIndex??r,x:c,barX:o,y:Y.value.bottom-Y.value.height*dr(i+cr.value),id:`plot_${D.value}_${r}`,color:Z.value?at.value.color:F.value.useGradient?ie(P.value.color,.05*(1-r/fr.value)):P.value.color,width:s}})}),hr=g(()=>{if(E.selectedIndex!==void 0&&E.selectedIndex!==null&&E.selectedIndex>=0&&E.selectedIndex<B.value.length){let e=X.value.findIndex(e=>e.sourceIndex===E.selectedIndex);return e>=0?e:null}return k.value!==void 0&&k.value!==null&&k.value>=0&&k.value<X.value.length?k.value:null});function gr(e,t){return Number.isFinite(e?.sourceIndex)?e.sourceIndex:t}function _r(e,t){let n=gr(e,t);M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:e,seriesIndex:n}),k.value=t,O.value=t,A.value=e,j.value||=e,J(`hoverIndex`,{index:n})}function vr(e,t){let n=gr(e,t);M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:e,seriesIndex:n}),j.value=A.value,A.value=void 0,k.value=null,O.value=null,J(`hoverIndex`,{index:void 0})}let yr=g(()=>{if(et.value){let e=X.value.map(e=>e.absoluteValue),t=e.reduce((e,t)=>e+t,0);return{latest:X.value[X.value.length-1]?X.value[X.value.length-1].absoluteValue:0,sum:t,average:t/X.value.length,median:fe(e),trend:oe(X.value.map(({x:e,y:t,absoluteValue:n})=>({x:e,y:t,value:n}))).trend}}return{latest:null,sum:null,average:null,median:null,trend:null}}),br=g(()=>et.value?I.value.valueType===`latest`?yr.value.latest:I.value.valueType===`sum`?yr.value.sum:I.value.valueType===`average`?yr.value.average:0:0),Z=g(()=>M.value.type&&M.value.type===`bar`);function xr(e,t){if(ln.value)return;let n=gr(e,t);M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:e,seriesIndex:n}),J(`selectDatapoint`,{datapoint:e,index:n})}let Q=g(()=>P.value.cutNullValues);function Sr(e){return![null,void 0,`NaN`,NaN,1/0,-1/0].includes(e)}function Cr(e,t){let n=e[t-1],r=e[t+1],i=!!n&&!!r&&n.value==null&&r.value==null||!n&&!!r&&r.value==null||!!n&&!r&&n.value==null;return Sr(e[t]?.value)&&i&&Q.value}function wr(e,t){return A.value&&e.id===A.value.id||hr.value===t||B.value.length===1}function Tr(e,t){return Z.value||!Sr(e?.value)?!1:L.value.plot.show&&wr(e,t)||Cr(X.value,t)}function Er(e,t){return Math.max(1,wr(e,t)?L.value.plot.radius:L.value.plot.radius*.7)}function Dr(e,t){return wr(e,t)?L.value.plot.stroke:L.value.backgroundColor}let Or=g(()=>Q.value?X.value:X.value.filter(e=>e.value!==null)),kr=g(()=>Array.isArray(P.value.dashIndices)?P.value.dashIndices.map(e=>Math.trunc(Number(e))).filter(Number.isFinite):[]),Ar=g(()=>new Set(kr.value));function jr(e,t){let n=e?.sourceIndex,r=t?.sourceIndex;if(!Number.isFinite(n)||!Number.isFinite(r))return!1;let i=Math.min(n,r),a=Math.max(n,r);for(let e of kr.value)if(e>=i&&e<=a)return!0;return!1}function Mr(e){let t=/* @__PURE__ */ new Set;for(let n=1;n<e.length;n+=1)jr(e[n-1],e[n])&&t.add(n-1);return t}function Nr(e){let t=/* @__PURE__ */ new Set;if(Q.value||!P.value.nullDashes?.show)return t;for(let n=1;n<e.length;n+=1){let r=e[n-1]?.sourceIndex,i=e[n]?.sourceIndex;Number.isFinite(r)&&Number.isFinite(i)&&Math.abs(i-r)>1&&t.add(n-1)}return t}let Pr=g(()=>Q.value?/* @__PURE__ */ new Set:Mr(Or.value)),Fr=g(()=>Nr(Or.value)),Ir=g(()=>/* @__PURE__ */ new Set([...Pr.value,...Fr.value])),Lr=g(()=>Q.value?X.value.reduce((e,t,n)=>(Ar.value.has(t.sourceIndex)&&e.push(n),e),[]):[]),Rr=g(()=>Q.value?Lr.value.length>0:Ir.value.size>0),zr=g(()=>X.value.filter(e=>e.value!==null)),Br=g(()=>zr.value.length>1),Vr=g(()=>Z.value||!Br.value?``:Q.value?o(X.value):f(Or.value)),Hr=g(()=>Z.value||!Br.value?``:Q.value?ne(X.value):te(Or.value)),Ur=g(()=>Z.value||!Rr.value||!Br.value?[]:Q.value?l(X.value,Lr.value):p(Or.value,Ir.value)),Wr=g(()=>Z.value||!Rr.value||!Br.value?[]:Q.value?a(X.value,Lr.value):c(Or.value,Ir.value)),Gr=g(()=>Z.value||!F.value.show||!Br.value?[]:P.value.smooth?u(Or.value,Y.value.bottom,Q.value).filter(Boolean):(Q.value?r(X.value,Y.value.bottom):ue(Or.value,Y.value.bottom)).split(`;`).filter(Boolean).map(e=>`M${e}Z`)),Kr=g(()=>Z.value||!M.value.gradientPath.show||M.value.temperatureColors.show?``:`M ${(P.value.smooth?Vr.value:Hr.value)||`0,0`}`),qr=g(()=>{if(!M.value.temperatureColors.show)return null;let e=M.value.temperatureColors.colors;return!Array.isArray(e)||!e.length?null:e.map(e=>ee(e))}),$=g(()=>{if(!M.value.temperatureColors.show)return null;let e=M.value.temperatureColors.colors;return!Array.isArray(e)||!e.length?null:e.map(e=>ee(e))});function Jr(e){if(!Number.isFinite(e?.y))return 0;let t=Y.value.height||1,n=(e.y-Y.value.top)/t;return Math.min(1,Math.max(0,n))}function Yr(e){let t=qr.value;return!Array.isArray(t)||!t.length?e.color:i({colors:t,ratio:Jr(e)})}T(()=>[_t.value,On.value,X.value.length,q.value.width,q.value.height,M.value?.style?.line?.smooth],async()=>{await b(),vt()},{immediate:!0}),Be(async()=>{await b(),vt()}),T(()=>z.value,async e=>{e||await An()}),T(()=>vn.value,async e=>{e||z.value||await An()}),T([()=>E.selectedIndex,()=>X.value],([e],[t])=>{if(e==null){if(t!=null){k.value=null,O.value=null,A.value=void 0;return}let e=A.value?.sourceIndex;if(e==null)return;let n=X.value.findIndex(t=>t.sourceIndex===e);if(n<0){k.value=null,O.value=null,A.value=void 0;return}k.value=n,O.value=n,A.value=X.value[n];return}if(e<0||e>=B.value.length)return;let n=X.value.findIndex(t=>t.sourceIndex===e);if(n<0){k.value=null,O.value=null,A.value=void 0;return}let r=X.value[n];r&&(k.value=n,O.value=n,A.value=r)});let Xr=S(!1);function Zr(){let e=hr.value;if(e!==null&&e>=0&&e<X.value.length){let t=X.value[e];if(t){O.value=e,A.value=t,k.value=e,Xr.value=!0;return}}O.value=null,!A.value&&X.value.length&&_r(X.value.at(-1),X.value.length-1),Xr.value=!0}function Qr(){nr(),j.value=A.value,(E.selectedIndex===void 0||E.selectedIndex===null)&&(O.value=null,A.value=void 0,k.value=null,J(`hoverIndex`,{index:void 0})),Xr.value=!1}be({resetZoom:Zn,setZoomState:Ln});function $r(e){if(!V.value||document.activeElement!==V.value)return;if(nr(),j.value=A.value,e.key===`Escape`){(fn.value||W.value)&&(e.preventDefault(),e.stopPropagation(),Zn());return}let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`;if(!t&&!n)return;let r=X.value.length;if(!r)return;e.preventDefault(),e.stopPropagation();let i=O.value,a=i!==null&&i>=0&&i<r,o=A.value?X.value.findIndex(e=>e.id===A.value.id):-1;a?n?(i+=1,i>=r&&(i=0)):t&&(--i,i<0&&(i=r-1)):o!==null&&o>=0&&o<r?(i=n?o+1:o-1,i>=r&&(i=0),i<0&&(i=r-1)):i=n?0:r-1;let s=X.value[i];s&&(O.value=i,_r(s,i))}let ei=g(()=>({headers:[M.value.translations.period,M.value.translations.value],rows:X.value.map(e=>[e.period,e.absoluteValue])}));return(t,r)=>(x(),v(`div`,{ref_key:`sparklineChart`,ref:nt,class:`vue-data-ui-component vue-ui-sparkline`,id:D.value,style:Re(`width:100%;font-family:${L.value.fontFamily};`)},[y(`p`,{id:`chart-instructions-${D.value}`,class:`sr-only`},Ue(M.value.a11y.translations.keyboardNavigation),9,wt),ei.value?.rows?.length?(x(),je(De,{key:0,uid:D.value,head:ei.value.headers,body:ei.value.rows,notice:M.value.a11y.translations.tableAvailable,caption:M.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):_(``,!0),Ve(t.$slots,`before`,Le(Fe({selected:A.value,latest:yr.value.latest,sum:yr.value.sum,average:yr.value.average,median:yr.value.median,trend:yr.value.trend})),void 0,!0),L.value.title.show&&e.showInfo?(x(),v(`div`,{key:1,ref_key:`chartTitle`,ref:rt,class:`vue-ui-sparkline-title`,style:Re(`display:flex;align-items:center;width:100%;color:${L.value.title.color};background:${L.value.backgroundColor};justify-content:${L.value.title.textAlign===`left`?`flex-start`:L.value.title.textAlign===`right`?`flex-end`:`center`};height:${L.value.title.fontSize*2}px;font-size:${L.value.title.fontSize}px;font-weight:${L.value.title.bold?`bold`:`normal`};`)},[y(`span`,{style:Re(`padding:${L.value.title.textAlign===`left`?`0 0 0 12px`:L.value.title.textAlign===`right`?`0 12px 0 0`:`0`}`)},Ue(A.value?A.value.period:L.value.title.text),5)],4)):_(``,!0),y(`div`,Tt,[(x(),v(`svg`,{ref_key:`svgRef`,ref:V,class:Ie({"vue-ui-sparkline-pointer-focus":St.value}),xmlns:w(me),viewBox:`0 0 ${q.value.width} ${q.value.height}`,style:Re({background:L.value.backgroundColor,overflow:`visible`,direction:`ltr`,cursor:R.value.show?W.value?`col-resize`:`crosshair`:`default`,touchAction:`pan-y`,userSelect:`none`}),tabindex:`0`,"aria-describedby":`chart-instructions-${D.value}`,"aria-keyshortcuts":`Escape`,onMouseleave:r[0]||=e=>j.value=void 0,onFocus:Zr,onBlur:Qr,onKeydown:$r,onPointerdown:rr,onPointermove:ir,onPointerup:ar,onPointercancel:Xn},[Ne(w(Je)),t.$slots[`chart-background`]?(x(),v(`foreignObject`,{key:0,x:0,y:0,width:q.value.width<=0?10:q.value.width,height:q.value.height<=0?10:q.value.height,style:{pointerEvents:`none`}},[Ve(t.$slots,`chart-background`,{},void 0,!0)],8,Dt)):_(``,!0),y(`defs`,null,[Ne(Ee,{t:`linear`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`,id:`sparkline_gradient_${D.value}`,stops:[[`0%`,w(s)(w(ie)(F.value.color,.05),F.value.opacity),1],[`100%`,w(s)(F.value.color,F.value.opacity),1]]},null,8,[`id`,`stops`]),Ne(Ee,{t:`linear`,x2:`0%`,y2:`100%`,id:`sparkline_bar_gradient_pos_${D.value}`,stops:[[`0%`,at.value.color,1],[`100%`,w(ie)(at.value.color,.05),1]]},null,8,[`id`,`stops`]),Ne(Ee,{t:`linear`,x2:`0%`,y2:`100%`,id:`sparkline_bar_gradient_neg_${D.value}`,stops:[[`0%`,w(ie)(at.value.color,.05),1],[`100%`,at.value.color,1]]},null,8,[`id`,`stops`]),y(`filter`,{id:`sparkline_pulse_glow_${D.value}`,filterUnits:`userSpaceOnUse`,x:`-50`,y:`-50`,width:`100`,height:`100`},[...r[1]||=[y(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:`3`,result:`blur`},null,-1),y(`feMerge`,null,[y(`feMergeNode`,{in:`blur`}),y(`feMergeNode`,{in:`SourceGraphic`})],-1)]],8,Ot),M.value.temperatureColors.show&&$.value?(x(),v(`linearGradient`,{key:0,id:`temperature_grad_sparkline_${D.value}`,gradientUnits:`userSpaceOnUse`,x1:`0`,x2:`0`,y1:Y.value.top,y2:Y.value.bottom},[(x(!0),v(h,null,C($.value,(e,t)=>(x(),v(`stop`,{key:`temperature_grad_stop_${t}_${D.value}`,"stop-color":e,offset:$.value.length===1?`0%`:w(pe)(t,$.value.length)},null,8,At))),128))],8,kt)):_(``,!0),y(`clipPath`,{id:`sparkline_zoom_clip_${D.value}`},[y(`rect`,{x:Y.value.start-4,y:Y.value.top-8,width:Y.value.width+8,height:Y.value.height+16},null,8,Mt)],8,jt)]),y(`g`,{"clip-path":G.value?`url(#sparkline_zoom_clip_${D.value})`:void 0},[y(`g`,{style:Re({transform:en.value,transformOrigin:`0 0`,transformBox:`view-box`,transition:tn.value?`transform ${$t}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:G.value?`transform`:void 0})},[F.value.show&&!Z.value&&Gr.value.length?(x(),v(`g`,Pt,[(x(!0),v(h,null,C(Gr.value,(e,t)=>(x(),v(`path`,{key:`sparkline_area_${t}_${D.value}`,class:`vue-ui-sparkline-area`,"data-cy":P.value.smooth?`sparkline-smooth-area`:`sparkline-angle-area`,d:e,fill:F.value.useGradient?`url(#sparkline_gradient_${D.value})`:w(s)(F.value.color,F.value.opacity),"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Ft))),128))])):_(``,!0),P.value.smooth&&!Z.value?(x(),v(h,{key:1},[y(`path`,{id:On.value,d:`M ${Vr.value||`0,0`}`,fill:`none`,stroke:`transparent`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,It),Rr.value?(x(!0),v(h,{key:0},C(Ur.value,e=>(x(),v(`path`,{key:e.path,class:`vue-ui-sparkline-path`,d:`M ${e.path}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-dasharray":e.dashed?P.value.dashArray:0},null,8,Lt))),128)):(x(),v(`path`,{key:1,class:`vue-ui-sparkline-path`,d:`M ${Vr.value||`0,0`}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Rt))],64)):_(``,!0),!P.value.smooth&&!Z.value?(x(),v(h,{key:2},[y(`path`,{id:On.value,d:`M ${Hr.value||`0,0`}`,fill:`none`,stroke:`transparent`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,zt),Rr.value?(x(!0),v(h,{key:0},C(Wr.value,e=>(x(),v(`path`,{key:e.path,class:`vue-ui-sparkline-path`,d:`M ${e.path}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-dasharray":e.dashed?P.value.dashArray*2:0},null,8,Bt))),128)):(x(),v(`path`,{key:1,class:`vue-ui-sparkline-path`,d:`M ${Hr.value||`0,0`}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Vt))],64)):_(``,!0),Kr.value&&!$.value?(x(),je(xt,{key:3,svgPathData:Kr.value,enabled:M.value.gradientPath.show&&!Z.value&&!$.value,strokeWidth:P.value.strokeWidth,highColor:M.value.gradientPath.colors.high,lowColor:M.value.gradientPath.colors.low,segments:M.value.gradientPath.segments},null,8,[`svgPathData`,`enabled`,`strokeWidth`,`highColor`,`lowColor`,`segments`])):_(``,!0),kn.value&&_t.value?(x(),je(tt,{key:4,uid:D.value,svgRef:w(V),pulsePathId:On.value,pulsePathLength:dt.value,pulseDur:ut.value,pulseBegin:ft.value,pulseRepeatCount:mt.value,pulseFillMode:ht.value,pulseKeyPoints:pt.value,pulseMotion:yt.value,pulse:H.value,pulseTrail:U.value,pulseTrailLength:gt.value,prefersReducedMotion:w($e),loading:w(z),isBar:Z.value},null,8,[`uid`,`svgRef`,`pulsePathId`,`pulsePathLength`,`pulseDur`,`pulseBegin`,`pulseRepeatCount`,`pulseFillMode`,`pulseKeyPoints`,`pulseMotion`,`pulse`,`pulseTrail`,`pulseTrailLength`,`prefersReducedMotion`,`loading`,`isBar`])):_(``,!0),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`g`,null,[Z.value?(x(),v(`rect`,{key:0,x:e.barX,y:isNaN(e.absoluteValue>0?e.y:ur.value)?0:e.absoluteValue>0?e.y:ur.value,width:e.width,height:isNaN(Math.abs(e.y-ur.value))?0:Math.abs(e.y-ur.value),fill:e.absoluteValue>0?`url(#sparkline_bar_gradient_pos_${D.value})`:`url(#sparkline_bar_gradient_neg_${D.value})`,rx:at.value.borderRadius},null,8,Ht)):_(``,!0)]))),256)),or.value<0?(x(),v(`line`,{key:5,x1:Y.value.start,x2:Y.value.start+Y.value.width,y1:w(se)(ur.value,Y.value.bottom),y2:w(se)(ur.value,Y.value.bottom),stroke:L.value.zeroLine.color,"stroke-dasharray":L.value.zeroLine.strokeWidth*2,"stroke-width":L.value.zeroLine.strokeWidth,"stroke-linecap":`round`},null,8,Ut)):_(``,!0)],4),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`g`,{key:`sparkline_indicator_${e.id}`,style:Re(Un(e))},[L.value.verticalIndicator.show&&(A.value&&e.id===A.value.id||hr.value===t)?(x(),v(`line`,{key:0,x1:e.x,x2:e.x,y1:Y.value.top-6,y2:Y.value.bottom,stroke:L.value.verticalIndicator.color||e.color,"stroke-width":L.value.verticalIndicator.strokeWidth,"stroke-linecap":`round`,"stroke-dasharray":L.value.verticalIndicator.strokeDasharray||0},null,8,Wt)):_(``,!0)],4))),128)),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`g`,{key:`sparkline_plot_${e.id}`,style:Re(Hn(e))},[Tr(e,t)?(x(),v(`circle`,{key:0,cx:e.x,cy:e.y,r:Er(e,t),fill:Yr(e),stroke:Dr(e,t),"stroke-width":L.value.plot.strokeWidth},null,8,Gt)):_(``,!0)],4))),128))],8,Nt),e.showInfo&&I.value.show?(x(),v(`text`,{key:1,x:I.value.position===`left`?12+I.value.offsetX:Y.value.width+12+I.value.offsetX,y:q.value.height/2+I.value.fontSize/2.5+I.value.offsetY,"font-size":I.value.fontSize,"font-weight":I.value.bold?`bold`:`normal`,fill:I.value.color},Ue(A.value?w(ce)(I.value.formatter,A.value.absoluteValue,w(n)({p:I.value.prefix,v:A.value.absoluteValue,s:I.value.suffix,r:I.value.roundingValue}),{datapoint:A.value}):w(ce)(I.value.formatter,br.value,w(n)({p:I.value.prefix,v:br.value,s:I.value.suffix,r:I.value.roundingValue}))),9,Kt)):_(``,!0),Kn.value?(x(),v(`rect`,{key:2,x:Kn.value.x,y:Kn.value.y,width:Kn.value.width,height:Kn.value.height,fill:R.value.selection.fill,"fill-opacity":R.value.selection.fillOpacity,stroke:R.value.selection.stroke,"stroke-opacity":R.value.selection.strokeOpacity,"stroke-width":R.value.selection.strokeWidth,"stroke-dasharray":R.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,qt)):_(``,!0),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`rect`,{x:Z.value?e.barX:e.x-(Y.value.width/(fr.value+1)>q.value.padding?q.value.padding:Y.value.width/(fr.value+1))/2,y:Y.value.top-6,height:Y.value.height+6,width:Z.value?e.width:Y.value.width/(fr.value+1)>q.value.padding?q.value.padding:Y.value.width/(fr.value+1),fill:`transparent`,onMouseenter:()=>_r(e,t),onMouseleave:()=>vr(e,t),onClick:()=>xr(e,t)},null,40,Jt))),256)),Ve(t.$slots,`svg`,{svg:{...q.value,drawingArea:Y.value,timeLabels:pr.value,series:X.value,hoveredIndex:O.value,isZoomed:fn.value,zoomRange:dn.value}},void 0,!0)],46,Et)),fn.value&&R.value.resetButton.show?(x(),v(`button`,{key:0,type:`button`,class:`vue-ui-sparkline-reset-zoom`,title:R.value.resetButton.title,"aria-label":R.value.resetButton.ariaLabel,style:Re({cursor:M.value.useCursorPointer?`pointer`:`default`}),onPointerdown:Qn,onClick:$n},[(x(),v(`svg`,Xt,[y(`path`,{d:`M2 10a1 1 0 0 0 15 0c0-5-5-8-10-6l3-3M7 4l3 3`,stroke:R.value.resetButton.color,fill:`none`,"stroke-width":`2.5`,"stroke-linecap":`round`},null,8,Zt)]))],44,Yt)):_(``,!0),t.$slots.hint?(x(),v(`div`,Qt,[Ve(t.$slots,`hint`,Le(Fe({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Xr.value})),void 0,!0)])):_(``,!0)]),A.value&&N.value.show?(x(),je(w(Ye),{key:2,x:A.value.x,y:A.value.y,prevX:j.value.x,prevY:j.value.y,offsetY:L.value.plot.radius*3+N.value.offsetY,svgRef:w(V),background:N.value.backgroundColor,color:N.value.color,fontSize:N.value.fontSize,borderWidth:N.value.borderWidth,borderColor:N.value.borderColor,borderRadius:N.value.borderRadius,backgroundOpacity:N.value.backgroundOpacity},{default:Ke(()=>[Ve(t.$slots,`tooltip`,Le(Fe({...A.value})),()=>[Me(Ue(A.value.period)+`: `+Ue(w(ce)(I.value.formatter,A.value.absoluteValue,w(n)({p:I.value.prefix,v:A.value.absoluteValue,s:I.value.suffix,r:I.value.roundingValue}),{datapoint:A.value})),1)],!0)]),_:3},8,[`x`,`y`,`prevX`,`prevY`,`offsetY`,`svgRef`,`background`,`color`,`fontSize`,`borderWidth`,`borderColor`,`borderRadius`,`backgroundOpacity`])):_(``,!0),t.$slots.source?(x(),v(`div`,{key:3,ref_key:`source`,ref:it,dir:`auto`},[Ve(t.$slots,`source`,{},void 0,!0)],512)):_(``,!0),Ve(t.$slots,`skeleton`,{},()=>[w(z)?(x(),je(_e,{key:0})):_(``,!0)],!0)],12,Ct))}},[[`__scopeId`,`data-v-bad1b3bd`]]);export{St as n,G as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,Dt as r,Ht as i,Jt as a,Qt as o,S as s,X as c,Yt as ee,at as te,i as ne,in as re,t as ie,w as ae,yt as oe,zt as se}from"./lib-DqD8nbyX.js";import{n as ce,t as le}from"./BaseScanner-8NdoBs7B.js";import{n as ue,t as de}from"./useHints-BH9r_0Vd.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as pe}from"./resolveChartConfig-ChGWTt5l.js";import{t as me}from"./DefGrad-DKMq1REY.js";import{t as he}from"./BaseLegendToggle-BOcw1ke8.js";import{t as ge}from"./A11yDataTable-DWNlWXzs.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 T}from"vue";var Ee=/* @__PURE__ */ e({default:()=>Ke}),De=[`id`],Oe={style:{position:`relative`}},ke=[`xmlns`,`viewBox`,`aria-describedby`],Ae=[`id`],je=[`width`,`height`,`rx`],Me=[`clip-path`],Ne=[`x`,`width`,`height`,`fill`],Pe=[`x`,`width`,`height`,`fill`],Fe=[`x`,`height`,`fill`],Ie=[`x`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`],Le=[`width`,`height`,`rx`,`stroke`],Re=[`width`,`height`,`rx`],ze={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Be=[`aria-pressed`,`aria-label`,`onClick`,`onFocus`,`onKeydown`],Ve={style:{display:`flex`,"flex-direction":`row`,"align-items":`center`,gap:`4px`,"justify-content":`center`}},He=[`height`,`width`],Ue=[`rx`,`fill`],We=[`rx`,`fill`],Ge={key:3,ref:`source`,dir:`auto`},Ke=/*#__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:Ee}){let Ke=xe(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),qe=xe(()=>import(`./Tooltip-Iyb_S6oQ.js`)),{vue_ui_sparkstackbar:Je}=t(),Ye=ve(),Xe=we(),E=e,Ze=b(null),D=b(c()),O=b(!1),Qe=b(``),k=b(null),A=b(!1),j=b(null),$e=b({x:0,y:0}),M=b(`pointer`),et=b(!1),N=b(null),tt=b([]),P=b(at()),F=u(()=>P.value.style.bar),I=u(()=>P.value.style.legend),L=u(()=>P.value.style.tooltip),R=u(()=>P.value.style),nt=u(()=>P.value.debug);Se(()=>{Xe[`chart-background`]&&nt.value&&console.warn(`VueUiSparkStackbar does not support the #chart-background slot.`)}),ue({config:()=>P.value,dataset:()=>E.dataset,component:`VueUiSparkStackbar`,rules:[de.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 rt=u(()=>P.value.useCursorPointer),it=u(()=>re({defaultConfig:{style:{backgroundColor:`#99999930`,animation:{show:!1},bar:{gradient:{inderlayerColor:`#6A6A6A`}},title:{backgroundColor:`transparent`}}},userConfig:P.value.skeletonConfig??{}})),{loading:z,FINAL_DATASET:B}=ce({...Ce(E),FINAL_CONFIG:P,prepareConfig:at,skeletonDataset:E.config?.skeletonDataset??[{name:`_`,value:8,color:`#808080`},{name:`_`,value:5,color:`#ADADAD`},{name:`_`,value:3,color:`#DBDBDB`}],skeletonConfig:re({defaultConfig:P.value,userConfig:it.value})}),{svgRef:V}=_e({config:R.value.title});function at(){return pe(E.config,Je,ye)}let ot=o(E.config);Te(()=>E.config,(e,t)=>{let n=o(e),r=n!==ot;ot=n;let i=at();if(!r){P.value.style.tooltip=i.style.tooltip;return}P.value=i,ct()},{deep:!0}),Te(()=>B.value,e=>{U.value=B.value.map((e,t)=>({...e,color:e.color?s(e.color):H.value[t]||i[t]||i[t%i.length]})),st()},{deep:!0});let H=u(()=>ae(P.value.customPalette)),U=b(B.value.map((e,t)=>({...e,value:R.value.animation.show?0:e.value||0,color:e.color?s(e.color):H.value[t]||i[t]||i[t%i.length]}))),W=b(!0);function st(){if(!R.value.animation.show||Ye.value){W.value=!1;return}let e=R.value.animation.animationFrames,t=B.value.map(e=>e.value||0),n=t.map(t=>t/e),r=t.reduce((e,t)=>e+t,0),a=0;W.value=!0,U.value=B.value.map((e,t)=>({...e,value:0,color:e.color?s(e.color):H.value[t]||i[t]||i[t%i.length]}));function o(){a+=r/e,a<r?(U.value=U.value.map((e,r)=>({...e,value:Math.min(e.value+n[r],t[r]),color:e.color?s(e.color):H.value[r]||i[r]||i[r%i.length]})),requestAnimationFrame(o)):(W.value=!1,U.value=B.value.map((e,n)=>({...e,value:t[n],color:e.color?s(e.color):H.value[n]||i[n]||i[n%i.length],id:c()})))}o()}Se(()=>{ct()});function ct(){se(E.dataset)?te({componentName:`VueUiSparkStackbar`,type:`dataset`,debug:nt.value}):nt.value&&E.dataset.forEach((e,t)=>{oe({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{te({componentName:`VueUiSparkStackbar`,type:`datasetSerieAttribute`,property:e,index:t})})}),st()}let G=b({width:500,height:16}),K=b([]),lt=u(()=>B.value.map(e=>e.value||0).filter((e,t)=>!K.value.includes(t)).reduce((e,t)=>e+t,0)),q=u(()=>U.value.map((e,t)=>{let r=e.value||0,a=r/lt.value,o=isNaN(a)?0:a,c=o*G.value.width;return{...e,color:s(B.value[t]?.color?B.value[t]?.color:H.value[t]||i[t]||i[t%i.length]),value:r,proportion:o,width:c,seriesIndex:t,proportionLabel:n({v:o*100,s:`%`,r:I.value.percentage.rounding})}})),J=u(()=>q.value.filter((e,t)=>!K.value.includes(t)));function ut(){O.value=!1,N.value=null,j.value=null,M.value=`pointer`}function dt(){ut(),K.value.length?K.value=[]:q.value.forEach((e,t)=>{K.value.push(t)}),gt(`selectLegend`,J.value)}function Y(e){ut(),K.value.includes(e)?K.value=K.value.filter(t=>t!==e):K.value.length<U.value.length-1&&K.value.push(e),gt(`selectLegend`,J.value)}function ft(e){return q.value.length?q.value.find(t=>t.name===e)||(P.value.debug&&console.warn(`VueUiSparkStackbar - Series name not found "${e}"`),null):(P.value.debug&&console.warn(`VueUiSparkStackbar - There are no series to show.`),null)}function pt(e){let t=ft(e);t!==null&&K.value.includes(t.id)&&Y(t.seriesIndex)}function mt(e){let t=ft(e);t!==null&&(K.value.includes(t.id)||Y(t.seriesIndex))}let X=u(()=>{let e=0,t=[];for(let n=0;n<J.value.length;n+=1)t.push({...J.value[n],start:e}),e+=J.value[n].width;return t}),ht=u(()=>{let e=X.value.reduce((e,t)=>e+t.width,0);return Math.min(Math.max(e,0),G.value.width)}),gt=Ee;function Z(e,t,n=!1){gt(`selectDatapoint`,{datapoint:e,index:t}),P.value.events.datapointClick&&!n&&P.value.events.datapointClick({datapoint:e,seriesIndex:e.seriesIndex})}function _t({datapoint:e,seriesIndex:t}){O.value=!1,N.value=null,j.value=null,M.value=`pointer`,P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex})}function vt({datapoint:e,seriesIndex:t,triggerMode:i=`pointer`}){if(A.value=!1,P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:e.seriesIndex}),!L.value.show)return;M.value=i,k.value={datapoint:e,seriesIndex:t,config:P.value,series:q.value},O.value=!0,N.value=e.seriesIndex;let o=L.value.customFormat;if(r(o))try{let t=o({seriesIndex:e.seriesIndex,datapoint:e,series:q.value,config:P.value});typeof t==`string`&&(Qe.value=t,A.value=!0)}catch{console.warn(`Custom format cannot be applied.`),A.value=!1}if(!A.value){let r=``,i=F.value.gradient.show,o=`tooltip_grad_${t}_${D.value}`,s=a(ee(e.color,.05),100-F.value.gradient.intensity),c=i?`<rect x="0" y="0" width="10" height="10" rx="${Q.value}" fill="${F.value.gradient.underlayerColor}"/>`:``,te=i?`<defs><radialGradient id="${o}"><stop offset="0%" stop-color="${s}"/><stop offset="100%" stop-color="${e.color}"/></radialGradient></defs>`:``;r+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${L.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,r+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 10 10" height="14" width="14">${te}${c}<rect x="0" y="0" width="10" height="10" rx="${Q.value}" fill="${i?`url(#${o})`:e.color}"/></svg>`,r+=`<b>${e.proportionLabel}</b>`,r+=`<span>(${ne(I.value.value.formatter,e.value,n({p:I.value.value.prefix,v:e.value,s:I.value.value.suffix,r:I.value.value.rounding}),{datapoint:e,seriesIndex:t})})</span>`,Qe.value=`<div>${r}</div>`}}let yt=u(()=>{let e=F.value.borderRadius==null?G.value.height/2:F.value.borderRadius;return Math.min(Math.max(e,0),G.value.height/2)}),Q=u(()=>{let e=G.value.height/2;return e===0?5:yt.value/e*5});function $(e){let t=tt.value[e];t&&typeof t.focus==`function`&&t.focus()}function bt(e){if(!Number.isFinite(e)||!V.value)return;let t=X.value[e];if(!t)return;let n=V.value.getBoundingClientRect(),r=t.start+t.width/2,i=G.value.height/2;$e.value={x:n.left+r/G.value.width*n.width,y:n.top+i/G.value.height*n.height}}function xt(){j.value=null,et.value=!0}function St(){j.value=null,M.value=`pointer`,O.value=!1,N.value=null,et.value=!1}function Ct(e){if(!V.value||document.activeElement!==V.value||!X.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){j.value=null,M.value=`pointer`,O.value=!1,N.value=null;return}if(r){if(j.value===null)return;let e=X.value[j.value];if(!e)return;Z(e,e.seriesIndex);return}let s=j.value;a?s=0:o?s=X.value.length-1:s===null||s<0||s>=X.value.length?s=n?0:X.value.length-1:n?(s+=1,s>=X.value.length&&(s=0)):t&&(--s,s<0&&(s=X.value.length-1));let c=X.value[s];c&&(j.value=s,bt(s),vt({datapoint:c,seriesIndex:c.seriesIndex,triggerMode:`keyboard`}))}function wt(e){O.value=!1,j.value=null,M.value=`pointer`,N.value=e.seriesIndex}function Tt(){j.value=null,M.value=`pointer`,O.value=!1,N.value=null}function Et(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){Tt();return}if(r){Y(n),Z(t,n,!0);return}if(o){$(0);return}if(s){$(q.value.length-1);return}if(i){$(n<=0?q.value.length-1:n-1);return}a&&$(n>=q.value.length-1?0:n+1)}}let Dt=u(()=>({headers:[P.value.a11y.translations.series,P.value.a11y.translations.percentage,P.value.a11y.translations.value],rows:q.value.map((e,t)=>[e.name,K.value.includes(t)?` - `:e.proportionLabel,ne(I.value.value.formatter,e.value,n({p:I.value.value.prefix,v:e.value,s:I.value.value.suffix,r:I.value.value.rounding}),{datapoint:e,seriesIndex:t})])}));return fe({hideSeries:mt,showSeries:pt}),(e,t)=>(y(),p(`div`,{class:`vue-data-ui-component vue-ui-spark-stackbar`,ref_key:`sparkstackbarChart`,ref:Ze,style:v(`width:100%; background:${R.value.backgroundColor}`)},[m(`div`,{id:`chart-instructions-${D.value}`,class:`sr-only`},[m(`p`,null,C(P.value.a11y.translations.keyboardNavigation),1)],8,De),Dt.value?.rows?.length?(y(),d(ge,{key:0,uid:D.value,head:Dt.value.headers,body:Dt.value.rows,notice:P.value.a11y.translations.tableAvailable,caption:P.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),R.value.title.text?(y(),p(`div`,{key:1,style:v(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${R.value.title.margin};padding: 0 6px;text-align:${R.value.title.textAlign}`)},[m(`div`,{class:`atom-title`,style:v(`font-size:${R.value.title.fontSize}px;color:${R.value.title.color};font-weight:${R.value.title.bold?`bold`:`normal`}`)},C(R.value.title.text),5),R.value.title.subtitle.text?(y(),p(`div`,{key:0,class:`atom-subtitle`,style:v(`font-size:${R.value.title.subtitle.fontSize}px;color:${R.value.title.subtitle.color};font-weight:${R.value.title.subtitle.bold?`bold`:`normal`}`)},C(R.value.title.subtitle.text),5)):f(``,!0)],4)):f(``,!0),m(`div`,Oe,[(y(),p(`svg`,{ref_key:`svgRef`,ref:V,xmlns:w(ie),width:`100%`,viewBox:`0 0 ${G.value.width} ${G.value.height}`,"aria-describedby":`chart-instructions-${D.value}`,tabindex:`0`,onFocus:xt,onBlur:St,onKeydown:Ct},[be(w(Ke)),m(`defs`,null,[(y(!0),p(l,null,x(X.value,(e,t)=>(y(),d(me,{t:`linear`,id:`stack_gradient_${t}_${D.value}`,key:`stack_gradient_${t}`,gradientTransform:`rotate(90)`,stops:[[`0%`,e.color,1],[`50%`,w(a)(w(ee)(e.color,.05),100-F.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128)),m(`clipPath`,{id:`stackPill_${D.value}`},[m(`rect`,{x:`0`,y:`0`,width:ht.value,height:G.value.height,rx:yt.value,class:g({animated:!W.value&&!w(z)})},null,10,je)],8,Ae)]),lt.value>0?(y(),p(l,{key:0},[m(`g`,{"clip-path":`url(#stackPill_${D.value})`},[(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`rect`,{key:`stack_underlayer_${t}`,x:e.start,y:0,width:e.width,height:G.value.height,fill:F.value.gradient.underlayerColor,class:g({animated:!W.value&&!w(z)}),style:v({opacity:O.value&&N.value!==null&&L.value.show?N.value===e.seriesIndex?1:.5:1})},null,14,Ne))),128)),(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`rect`,{key:`stack_${t}`,x:e.start,y:0,width:e.width,height:G.value.height,fill:F.value.gradient.show?`url(#stack_gradient_${t}_${D.value})`:e.color,class:g({animated:!W.value&&!w(z)}),style:v({opacity:O.value&&N.value!==null&&L.value.show?N.value===e.seriesIndex?1:.5:1})},null,14,Pe))),128)),(y(!0),p(l,null,x(X.value.slice(1),(e,t)=>(y(),p(`rect`,{key:`stack_separator_${t}`,x:e.start-.5,y:`0`,width:`1`,height:G.value.height,fill:R.value.backgroundColor,"pointer-events":`none`,class:g({animated:!W.value&&!w(z)})},null,10,Fe))),128)),(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`rect`,{key:`stack_trap_${t}`,x:e.start,y:0,width:e.width,height:G.value.height,fill:`transparent`,stroke:`none`,class:g({animated:!W.value&&!w(z)}),onClick:()=>Z(e,t),onMouseenter:()=>vt({datapoint:e,seriesIndex:e.seriesIndex}),onMouseleave:t=>_t({datapoint:e,seriesIndex:e.seriesIndex})},null,42,Ie))),128))],8,Me),m(`rect`,{x:`0.5`,y:`0.5`,width:G.value.width-1,height:G.value.height-1,rx:Math.max(0,yt.value-.5),fill:`none`,stroke:R.value.backgroundColor,"stroke-width":`1`,"pointer-events":`none`},null,8,Le)],64)):(y(),p(`rect`,{key:1,x:2,y:1,width:G.value.width-4,height:G.value.height-2,stroke:`#CCCCCC`,"stroke-width":`2`,fill:`transparent`,rx:(G.value.height-4)/2},null,8,Re))],40,ke)),e.$slots.hint?(y(),p(`div`,ze,[S(e.$slots,`hint`,_(h({hint:P.value.a11y.translations.keyboardNavigation,isVisible:et.value})),void 0,!0)])):f(``,!0)]),I.value.show?(y(),p(`div`,{key:2,style:v(`background:transparent;margin:0 auto;margin:${I.value.margin};justify-content:${I.value.textAlign===`left`?`flex-start`:I.value.textAlign===`right`?`flex-end`:`center`}`),class:`vue-ui-sparkstackbar-legend`,"aria-label":`legend`,role:`toolbar`},[I.value.selectAllToggle.show&&q.value.length>2&&!w(z)?(y(),d(he,{key:0,backgroundColor:I.value.selectAllToggle.backgroundColor,color:I.value.selectAllToggle.color,fontSize:I.value.fontSize,checked:K.value.length>0,isCursorPointer:rt.value,onToggle:dt},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0),(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(`div`,{role:`button`,tabindex:`0`,"aria-pressed":K.value.includes(t),"aria-label":`${e.name}, ${K.value.includes(t)?`hidden`:`visible`}, ${e.proportionLabel}`,style:v(`font-size:${I.value.fontSize}px;cursor:${rt.value?`pointer`:`default`}`),class:g({"vue-ui-sparkstackbar-legend-item":!0,"vue-ui-sparkstackbar-legend-item-unselected":K.value.includes(t)}),onClick:n=>{Y(t),Z(e,t,!0)},onFocus:t=>wt(e),onBlur:Tt,onKeydown:n=>Et(n,e,t)},[m(`div`,Ve,[(y(),p(`svg`,{height:`${I.value.fontSize}px`,width:`${I.value.fontSize}px`,viewBox:`0 0 10 10`},[m(`defs`,null,[be(me,{t:`radial`,id:`legend_grad_${t}-${D.value}`,stops:[[`0%`,w(z)?`#FFFFFF`:w(a)(w(ee)(e.color,.05),100-F.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`])]),F.value.gradient.show?(y(),p(`rect`,{key:0,x:`0`,y:`0`,width:`10`,height:`10`,rx:Q.value,fill:F.value.gradient.underlayerColor},null,8,Ue)):f(``,!0),m(`rect`,{x:`0`,y:`0`,width:`10`,height:`10`,rx:Q.value,fill:F.value.gradient.show?`url(#legend_grad_${t}-${D.value})`:e.color},null,8,We)],8,He)),w(z)?f(``,!0):(y(),p(l,{key:0},[m(`span`,{style:v(`color:${I.value.name.color}; font-weight:${I.value.name.bold?`bold`:`normal`}`)},C(e.name),5),W.value?f(``,!0):(y(),p(l,{key:0},[I.value.percentage.show?(y(),p(`span`,{key:0,style:v(`font-weight:${I.value.percentage.bold?`bold`:`normal`};color:${I.value.percentage.color}`)},C(K.value.includes(t)?` - `:e.proportionLabel),5)):f(``,!0),I.value.value.show?(y(),p(`span`,{key:1,style:v(`font-weight:${I.value.value.bold?`bold`:`normal`};color:${I.value.value.color}`)},` (`+C(w(ne)(I.value.value.formatter,e.value,w(n)({p:I.value.value.prefix,v:e.value,s:I.value.value.suffix,r:I.value.value.rounding}),{datapoint:e,seriesIndex:t}))+`) `,5)):f(``,!0)],64))],64))])],46,Be))),256))],4)):f(``,!0),be(w(qe),{teleportTo:L.value.teleportTo,show:O.value&&L.value.show,parent:Ze.value,backgroundColor:L.value.backgroundColor,color:L.value.color,fontSize:L.value.fontSize,borderRadius:L.value.borderRadius,borderColor:L.value.borderColor,borderWidth:L.value.borderWidth,backgroundOpacity:L.value.backgroundOpacity,position:L.value.position,content:Qe.value,isCustom:A.value,offsetX:L.value.offsetX,offsetY:-124+L.value.offsetY,blockShiftY:!0,smooth:L.value.smooth,backdropFilter:L.value.backdropFilter,smoothForce:L.value.smoothForce,smoothSnapThreshold:L.value.smoothSnapThreshold,isA11yMode:M.value===`keyboard`,a11yPosition:$e.value},{"tooltip-before":T(()=>[S(e.$slots,`tooltip-before`,_(h({...k.value})),void 0,!0)]),tooltip:T(()=>[S(e.$slots,`tooltip`,_(h({...k.value})),void 0,!0)]),"tooltip-after":T(()=>[S(e.$slots,`tooltip-after`,_(h({...k.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`,Ge,[S(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),S(e.$slots,`skeleton`,{},()=>[w(z)?(y(),d(le,{key:0})):f(``,!0)],!0)],4))}},[[`__scopeId`,`data-v-c969a2ef`]]);export{Ee as n,Ke as t};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,D as r,Dt as a,Ft as o,Ht as s,J as c,S as l,X as u,Y as d,Zt as f,_ as p,_t as ee,at as m,c as te,dt as h,en as ne,gt as re,i as ie,in as ae,nn as oe,nt as se,ot as ce,pt as le,r as ue,t as de,tn as fe,v as pe,w as me,wt as he,yt as ge,zt as _e}from"./lib-DqD8nbyX.js";import{n as ve,t as ye}from"./BaseScanner-8NdoBs7B.js";import{n as be,t as xe}from"./useHints-BH9r_0Vd.js";import{t as Se}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Ce}from"./useNestedProp-DrLnzyHO.js";import{t as we}from"./useThemeCheck-BKNRbGeC.js";import{t as Te}from"./img-DiP2_5_r.js";import{n as Ee}from"./Title-BLA0tM3g.js";import{t as De}from"./useChartExport-DtPNpc9M.js";import{n as Oe,t as ke}from"./tableIntegration-CNoJ1CIY.js";import{n as Ae,t as je}from"./annotationSlots-BRR85CqJ.js";import{n as Me,t as Ne}from"./userOptionsSlots-DYuo-E5m.js";import{n as Pe,r as Fe,t as Ie}from"./useTimeLabels-Das5O74F.js";import{t as Le}from"./usePrinter-Cj4eIYC_.js";import{t as Re}from"./useTransitions-DfSHzsdz.js";import{t as ze}from"./useStableElementSize-CegFbRlF.js";import{t as Be}from"./useTimeLabelCollider-XQf_S7-z.js";import{t as Ve}from"./Shape-gDVRWM6n.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-Dpu4nMz6.js";import{t as Ke}from"./BaseLegendToggle-BOcw1ke8.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-D8NunRPr.js";import{t as Ze}from"./vue_ui_stackbar-BkBIi_bL.js";import{Fragment as g,Teleport as Qe,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as $e,createSlots as et,createTextVNode as tt,createVNode as nt,defineAsyncComponent as rt,guardReactiveProps as it,mergeProps as at,nextTick as ot,normalizeClass as x,normalizeProps as st,normalizeStyle as ct,onBeforeUnmount as lt,onMounted as ut,openBlock as S,ref as C,renderList as w,renderSlot as T,resolveDynamicComponent as dt,shallowRef as ft,toDisplayString as E,toRefs as pt,unref as D,useSlots as mt,vShow as ht,watch as gt,watchEffect as _t,withCtx as O,withDirectives as vt}from"vue";var yt=/* @__PURE__ */ e({default:()=>On}),bt=[`id`],xt=[`id`],St=[`id`],Ct={style:{position:`relative`}},wt=[`xmlns`,`aria-describedby`,`viewBox`],Tt=[`x`,`y`,`width`,`height`],Et={key:1},Dt={key:2},Ot={key:3},kt=[`id`],At=[`x`,`y`,`width`,`height`,`rx`],jt=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],Mt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`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={key:0},Lt=[`data-cy`,`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],Rt={key:0},zt=[`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],Bt=[`data-cy`,`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Vt={key:0},Ht=[`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Ut={key:9,style:{"pointer-events":`none`}},Wt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Gt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Kt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],qt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Jt=[`transform`,`font-size`,`fill`,`font-weight`],Yt=[`transform`,`font-size`,`fill`,`font-weight`],Xt=[`transform`,`font-size`,`font-weight`,`fill`],Zt=[`transform`,`font-size`,`fill`,`font-weight`],Qt=[`transform`,`font-size`,`font-weight`,`fill`],$t={key:16,style:{"pointer-events":`none`}},en=[`x`,`y`,`text-anchor`,`font-size`,`font-weight`,`fill`],tn=[`stroke`,`d`],nn=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],rn=[`d`,`stroke`],an=[`font-size`,`font-weight`,`fill`,`text-anchor`,`transform`],on={key:0},sn={key:1},cn=[`text-anchor`,`font-size`,`font-weight`,`fill`,`transform`,`onClick`],ln=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],un={key:0},dn={key:1},fn=[`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],pn=[`font-size`,`font-weight`,`fill`,`transform`,`onClick`,`innerHTML`],mn=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],hn=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],gn=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],_n=[`data-start`,`data-end`],vn={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},yn={key:4,class:`vue-data-ui-watermark`},bn={key:0},xn=[`id`],Sn=[`x`,`y`,`width`,`height`,`rx`],Cn=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`clip-path`],wn=[`id`],Tn=[`onClick`],En={key:0},Dn={key:1},On=/*#__PURE__*/ Se({__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:Se,emit:yt}){let On=rt(()=>import(`./Tooltip-Iyb_S6oQ.js`)),kn=rt(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),An=rt(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),jn=rt(()=>import(`./DataTable-BcVZLSs8.js`)),Mn=rt(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),Nn=rt(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),Pn=rt(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),Fn=rt(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_stackbar:In}=t(),{isThemeValid:Ln,warnInvalidTheme:Rn}=we(),zn=mt(),k=e,A=yt,Bn=_({get(){return!!k.dataset&&k.dataset.length},set(e){return e}}),Vn=C(null),j=C(u()),Hn=C(!1),Un=C(null),Wn=C(``),M=C([]),Gn=C(0),Kn=C(null),qn=C(null),Jn=C(null),Yn=C(null),Xn=C(!1),N=C(null),Zn=C(!1),Qn=C(0),$n=C(0),er=C(0),tr=C(!1),nr=C(null),rr=C(null),ir=C(null),ar=C(null),or=C(null),sr=C(null),cr=C(null),lr=C(null),ur=ft(null),dr=C(!1),fr=C(0),pr=C(0),P=C(null),mr=C({x:0,y:0}),hr=C(`pointer`),gr=ze({elementRef:ur,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{yr()}});function _r(){ur.value=Vn.value?.parentNode??null}function vr(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function yr(){let e=++pr.value;dr.value=!1,await ot(),await vr(),await vr(),e===pr.value&&(fr.value+=1,dr.value=!0)}let br=C(null);ut(()=>{tr.value=!0,_r(),gr.start(),di()});let F=C(Zr()),I=_(()=>F.value.userOptions),L=_(()=>F.value.style.chart.grid),R=_(()=>F.value.style.chart.bars),z=_(()=>{let e=F.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}}}),B=_(()=>F.value.style.chart.tooltip),V=_(()=>F.value.style.chart);be({config:()=>F.value,dataset:()=>k.dataset,component:`VueUiStackbar`,rules:[xe.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:xr}=Re({config:()=>F.value.transitions,dataset:()=>k.dataset}),Sr=_(()=>F.value.userOptions.useCursorPointer),Cr=_(()=>ae({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:F.value.skeletonConfig??{}})),{loading:wr,FINAL_DATASET:Tr,manualLoading:Er}=ve({...pt(k),FINAL_CONFIG:F,prepareConfig:Zr,callback:()=>{Promise.resolve().then(async()=>{(!V.value.zoom.keepState||!po.value||X.value.start===0&&X.value.end===0)&&await mo()})},skeletonDataset:k.config?.skeletonDataset??[{name:``,series:[2,3,5,8,13,21],color:`#BABABA`},{name:``,series:[1,2,3,5,8,13],color:`#CACACA`}],skeletonConfig:ae({defaultConfig:F.value,userConfig:Cr.value})}),Dr=_(()=>(Tr.value??[]).find(e=>e?.type===`waterfall`)??null),H=_(()=>!!Dr.value&&!wr.value),U=_(()=>F.value.style.chart.waterfall),W=_(()=>{let e=Number(H.value?U.value.bars.gapRatio:R.value.gapRatio);return Number.isFinite(e)?Math.max(0,Math.min(1.9,e)):.45}),Or=_(()=>H.value?U.value.bars.borderRadius:R.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=_(()=>{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=l(t.color)||oi.value[a%(oi.value.length||1)]||s[a%s.length];e.set(r,{name:String(t.name??r),datasetKey:r,id:`waterfall-segment-${j.value}-${a}`,color:o,absoluteIndex:a})})}),Array.from(e.values())}),G=_(()=>{if(!H.value)return[];let e=Dr.value,t=Array.isArray(e?.series)?e.series:[],n=new Set(Nr.value.filter(e=>!M.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`,u=o,d=c?0:u,f=d,p=d,ee=0,m=Ar(e);c&&!m.length&&(m=[{name:s===`total`?`Total`:`Subtotal`,key:Mr[s],value:u}]);let te=[];m.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 u=Number(t.value??0);if(!Number.isFinite(u))return;let d=u<0?p:f,m=d+u;u<0?p=m:f=m,ee+=u;let h=l(t.color),ne=s===`total`?a.colors.total:s===`subtotal`?a.colors.subtotal:u>0?a.colors.positive:u<0?a.colors.negative:a.colors.neutral;te.push({key:c,name:String(t.name??c),label:String(t.label??t.name??c),value:u,start:d,end:m,color:h||l(e?.color)||(a.colors.useSeriesColor?r.get(c):null)||ne})});let h=d+ee,ne=h-u;return o=h,{index:t,name:String(e?.label??e?.name??`${t+1}`),kind:s,isTotal:c,previousBalance:u,start:d,end:h,balance:h,change:ne,hasMixedSigns:f>d&&p<d,positiveExtent:f,negativeExtent:p,segments:te,color:l(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=_(()=>{let e=G.value,t=Nr.value.filter(e=>!M.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}-${j.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.value.slice(X.value.start,X.value.end)),Lr=_(()=>{let e=F.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=_(()=>{if(!H.value||!U.value.connectors.show)return[];let e=F.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),ee=(t.adaptToRadius?Rr(u,f,e):0)+Number(t.inset||0);if(e){let e=c.x+c.width-p,t=u.x+ee;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+ee;if(t<e)continue;r.push({x1:f,y1:e,x2:f,y2:t,key:`${c.step.index}-${u.step.index}`})}}return r}),Br=_(()=>{if(!H.value||!U.value.stepLabels.show)return[];let e=F.value.orientation===`vertical`,t=U.value.stepLabels;return Lr.value.map(r=>{let a=r.step,o=a.isTotal&&t.useBalanceForTotals?a.balance:a.change;if(!t.showZero&&!o)return null;let s=n({p:t.prefix+(t.showPlusSign&&o>0?`+`:``),v:o,s:t.suffix,r:t.rounding}),c=ie(t.formatter,o,s,{datapoint:a,seriesIndex:0,datapointIndex:a.index}),l=(Number(t.offset)||0)+7,u=a.isTotal?Math.sign(a.balance):Math.sign(a.change);return e?{key:a.index,text:c,x:r.x+r.width/2,y:u<0?r.y+r.height+l+t.fontSize:r.y-l,anchor:`middle`}:{key:a.index,text:c,x:u<0?r.x-l:r.x+r.width+l,y:r.y+r.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=F.value.orientation===`vertical`?e.height[t]:Q.value*(1-W.value/2),a=F.value.orientation===`vertical`?Q.value*(1-W.value/2):e.horizontal_width[t];return r>=n.minHeight&&a>=n.minWidth}function Hr(e,t){let r=e.waterfallSegments[t],a=U.value.segmentLabels;return ie(a.formatter,r.value,n({p:a.prefix,v:r.value,s:a.suffix,r:a.rounding}),{datapoint:{...r,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-${j.value}-${e.absoluteIndex}-${X.value.start+t})`:e.waterfallColors?.[t]||e.color:R.value.gradient.show?`url(#gradient_${e.id})`:e.color}function Wr(e){return ce(String(e??``))}let{userOptionsVisible:Gr,setUserOptionsVisibility:Kr,keepUserOptionState:qr}=Je({config:F.value}),{svgRef:Jr}=Ye({config:V.value.title});function Yr(){Kr(!0)}function Xr(){Kr(!1),A(`selectX`,{index:null,indexLabel:null,dataset:null}),N.value=null,P.value=null,Hn.value=!1}function Zr(){let e=Ce({userConfig:k.config,defaultConfig:In}),t={};k.config&&he(k.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!k.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!Ln.value(e))Rn(e),t=e;else{let r=Ce({userConfig:Ze[n]||k.config,defaultConfig:e});t={...Ce({userConfig:k.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:oe[n]||s}}}else t=e;return t}let Qr=_(()=>R.value.dataLabels.hideUnderValue!=null),$r=_(()=>R.value.dataLabels.hideUnderPercentage!=null),ei=f(k.config);gt(()=>k.config,(e,t)=>{let n=f(e),r=n!==ei;ei=n;let a=Zr();if(!r){F.value.style.chart.tooltip=a.style.chart.tooltip,K.value.showTooltip=F.value.style.chart.tooltip.show;return}wr.value||(F.value=a),Gr.value=!F.value.userOptions.showOnChartHover,K.value.dataLabels.show=H.value?U.value.segmentLabels.show||U.value.stepLabels.show:R.value.dataLabels.show,K.value.showTable=F.value.table.show,K.value.showTooltip=B.value.show,di({resetSlicer:!V.value.zoom.keepState}),Qn.value+=1,$n.value+=1,er.value+=1,_r(),!V.value.zoom.keepState||!po.value||X.value.start===0&&X.value.end===0?mo():Wi()},{deep:!0}),gt(()=>k.dataset,e=>{Array.isArray(e)&&e.length>0&&(Er.value=!1),_r(),V.value.zoom.keepState?Wi():qi()},{deep:!0});let K=C({dataLabels:{show:H.value?U.value.segmentLabels.show||U.value.stepLabels.show:R.value.dataLabels.show},showTable:F.value.table.show,showTooltip:B.value.show});gt(F,()=>{K.value={dataLabels:{show:H.value?U.value.segmentLabels.show||U.value.stepLabels.show:R.value.dataLabels.show},showTable:F.value.table.show,showTooltip:B.value.show}},{immediate:!0});let{isPrinting:ti,isImaging:ni,generatePdf:ri,generateImage:ii}=Le({elementId:`stackbar_${j.value}`,fileName:V.value.title.text||`vue-ui-stackbar`,options:F.value.userOptions.print}),ai=C({width:V.value.width,height:V.value.height,paddingRatio:{top:V.value.padding.top/V.value.height,right:V.value.padding.right/V.value.width,bottom:V.value.padding.bottom/V.value.height,left:V.value.padding.left/V.value.width}}),oi=_(()=>me(F.value.customPalette)),si=ft(null),ci=ft(null),li=C(null),ui=_(()=>F.value.debug);function di({resetSlicer:e=!0}={}){if(_e(k.dataset)?(m({componentName:`VueUiStackbar`,type:`dataset`,debug:ui.value}),Er.value=!0):k.dataset.forEach((e,t)=>{ge({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{Bn.value=!1,m({componentName:`VueUiStackbar`,type:`datasetSerieAttribute`,property:e,index:t,debug:ui.value}),Er.value=!0})}),_e(k.dataset)||(Er.value=F.value.loading),setTimeout(()=>{Zn.value=!0},10),F.value.responsive){let e=He(()=>{Zn.value=!1;let{width:e,height:t}=Ue({chart:Vn.value,title:V.value.title.text?Kn.value:null,legend:V.value.legend.show?qn.value:null,slicer:V.value.zoom.show&&Y.value>6?Jn.value.$el:null,source:Yn.value});requestAnimationFrame(()=>{ai.value.width=e,ai.value.height=t-12,clearTimeout(li.value),li.value=setTimeout(()=>{Zn.value=!0},10)})});si.value&&(ci.value&&si.value.unobserve(ci.value),si.value.disconnect()),si.value=new ResizeObserver(e),ci.value=Vn.value.parentNode,si.value.observe(ci.value)}yr(),e&&mo()}lt(()=>{gr.stop(),si.value&&(ci.value&&si.value.unobserve(ci.value),si.value.disconnect())});let fi=_(()=>L.value.y.position===`right`);function pi(){let e=0;F.value.orientation===`vertical`&&or.value&&(e=Array.from(or.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0)),F.value.orientation===`horizontal`&&sr.value&&(e=Array.from(sr.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0));let t=ar.value?ar.value.getBoundingClientRect().width+L.value.y.axisName.fontSize+L.value.y.axisName.offsetX:0;return{left:fi.value?0:e+t,right:fi.value?e+t:0,scaleLabelsWidth:e,yAxisLabelWidth:t}}let mi=C(0),hi=C(0),gi=He(e=>{hi.value=e+R.value.totalValues.fontSize},100);function _i(){if(F.value.orientation!==`horizontal`)return 0;let e=lr.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))}_t(e=>{if(F.value.orientation!==`horizontal`)return;let t=lr.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()})}),lt(()=>{mi.value=0,hi.value=0});let vi=C(0),yi=C(0);function bi(e){let t=Number.isFinite(e)?e:0;vi.value!==t&&(vi.value=t)}function xi(){let e=F.value.orientation===`vertical`?sr.value:or.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()})})}lt(()=>{yi.value&&cancelAnimationFrame(yi.value)});let Ci=_(()=>{let e=0;if(ir.value)try{e=ir.value.getBBox().height}catch{e=0}let t=z.value.show?vi.value:0;return e+t}),q=_(()=>{fr.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:R.value.totalValues.show&&k.dataset&&k.dataset.length>1?R.value.totalValues.fontSize*1.3:0,a=0,o=0,s=0,c=0;if(L.value.y.axisLabels.show){let e=pi();a=e.left,o=e.right,s=e.scaleLabelsWidth,c=e.yAxisLabelWidth}let l=V.value.padding.top+r,u=t-t*n-hi.value-o,d=e-V.value.padding.bottom-Ci.value-r,f=V.value.padding.left+a,p=t-f-t*n-hi.value-o,ee=e-l-V.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,ee),offsetLeft:a,offsetRightAxis:o,scaleLabelsWidth:s,yAxisLabelWidth:c}}),wi=_(()=>{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:V.value.zoom.preview.fill,stroke:V.value.zoom.preview.stroke,"stroke-width":V.value.zoom.preview.strokeWidth,"stroke-dasharray":V.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}};if(F.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=_(()=>{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=u(),r=String(e.key??e.id??e.name??n),a=l(e.color)||oi.value[t]||s[t]||s[t%s.length];return{...e,datasetKey:r,series:JSON.parse(JSON.stringify(e.series)).map(e=>R.value.distributed?Math.abs(e):e),signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:a}})}),Y=_(()=>{if(H.value)return Dr.value.series?.length??0;let e=Math.max(...J.value.filter(e=>!M.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){br.value=e}let X=C({start:0,end:Y.value}),Z=C({start:0,end:Y.value}),Ei=C(!1),Di=C(!1),Oi=C(null),ki=C(null),Ai=C(null),ji=C(!1),Mi=C({time:0,x:0,y:0,pointerType:null}),Ni=_(()=>V.value.zoom?.dragToZoom),Pi=_(()=>Ni.value.show&&Bn.value&&po.value&&Y.value>1&&!wr.value),Fi=null,Ii={},Li=_(()=>V.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&&A(`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?(A(`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,Jn.value&&Jn.value.setRangeValues(t,n)}let Gi=C(null);function Ki(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}lt(()=>{Gi.value&&cancelAnimationFrame(Gi.value),Vi(),Lo()});async function qi({force:e=!1,publish:t=!1}={}){if(V.value.zoom.keepState&&!e&&po.value&&(X.value.start!==0||X.value.end!==0)){Wi();return}let n=!e;mo(n),await ot(),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)}),A(`zoomReset`))})}let Q=_(()=>{let e;return e=F.value.orientation===`vertical`?q.value.width/(X.value.end-X.value.start):q.value.height/(X.value.end-X.value.start),e<=0?0:e}),Ji=_(()=>ne(J.value.filter(e=>!M.value.includes(e.id))).slice(X.value.start,X.value.end)),Yi=_(()=>M.value.length===J.value.length),Xi=_(()=>V.value.zoom.minimap.show?H.value?G.value.map(e=>e.balance):ne(J.value.map(e=>({...e,series:e.series.map(e=>e??0)})).filter(e=>Yi.value?!0:!M.value.includes(e.id))):[]),Zi=_(()=>V.value.zoom.minimap.show?[{name:``,series:Xi.value,color:`#000000`,isVisible:!0}]:[]),Qi=_(()=>H.value?Ir.value.map(e=>e.change):ne(J.value.filter(e=>!M.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=_(()=>{let e=J.value.filter(e=>!M.value.includes(e.id));return{positive:ne(e.map(e=>({...e,series:e.series.slice(X.value.start,X.value.end).map(e=>e>=0?e:0)}))),negative:ne(e.map(e=>({...e,series:e.series.slice(X.value.start,X.value.end).map(e=>e<0?e:0)})))}}),ea=_(()=>{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=L.value.scale.scaleMin,a=L.value.scale.scaleMax,o=r===null?t:Number(r),s=a===null?n:Number(a);return r!==null||a!==null?pe(o,s,L.value.scale.ticks):p(o,s,L.value.scale.ticks)}let e=L.value.scale.scaleMax!==null&&!R.value.distributed?L.value.scale.scaleMax:Math.max(...$i.value.positive),t=Math.min(...$i.value.negative),n=L.value.scale.scaleMin!==null&&!R.value.distributed?L.value.scale.scaleMin:[-1/0,1/0,NaN,void 0,null].includes(t)?0:t;return!R.value.distributed&&(L.value.scale.scaleMax!==null||L.value.scale.scaleMin!==null)?pe(n>0?0:n,e<0?0:e,L.value.scale.ticks):p(n>0?0:n,e<0?0:e,L.value.scale.ticks)}),ta=_(()=>ea.value.ticks),na=_(()=>{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=_(()=>{let e=L.value.y.axisLabels,{prefix:t,suffix:r}=R.value.dataLabels;return ta.value.map(a=>String(ie(e.formatter,a,n({p:t,v:a,s:r,r:e.rounding}),{datapoint:{value:a}})??``)).join(`|`)});gt(()=>[ra.value,F.value.orientation,L.value.y.axisLabels.show,L.value.y.axisLabels.fontSize,L.value.y.axisLabels.bold,L.value.y.position],()=>{L.value.y.axisLabels.show&&yr()},{flush:`post`});let ia=C([]),aa=C([]),oa=0;_t(()=>{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 Ie({values:z.value.values,maxDatapoints:Y.value,formatter:z.value.datetimeFormatter,start:X.value.start,end:X.value.end});e===oa&&(ia.value=t)})()});let sa=0;_t(()=>{let e=++sa;if(H.value){aa.value=G.value.map(e=>({text:e.name,absoluteIndex:e.index}));return}(async()=>{let t=await Ie({values:z.value.values,maxDatapoints:Y.value,formatter:z.value.datetimeFormatter,start:0,end:Y.value});e===sa&&(aa.value=t)})()});let ca=_(()=>{let e=Math.max(1,Math.floor(Number(z.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 re({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=z.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=te(!!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=_(()=>la(N.value)),da=_(()=>la(null));_t(()=>{F.value.orientation,z.value.show,z.value.fontSize,z.value.rotation,z.value.offsetY,da.value?.map(e=>e?.text??``).join(`|`),ra.value,ai.value.width,ai.value.height,sr.value,or.value,ir.value,Si()},{flush:`post`});let fa=C({months:[],shortMonths:[],days:[],shortDays:[]}),pa=0;_t(()=>{let e=++pa,t=z.value.datetimeFormatter;(async()=>{let n=await Fe(t.locale).catch(()=>Fe(`en`));e===pa&&(fa.value=n.data)})()});let ma=_(()=>{let e=z.value.datetimeFormatter,t=Pe({useUTC:e.useUTC,locale:fa.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{if(H.value)return G.value[e]?.name??``;let r=z.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),ha=_(()=>H.value?G.value.map(e=>({text:e.name,absoluteIndex:e.index})):(z.value.values||[]).map((e,t)=>({text:ma.value(t,V.value.zoom.timeFormat),absoluteIndex:t}))),ga=_(()=>H.value?G.value.map(e=>({text:e.name,absoluteIndex:e.index})):(z.value.values||[]).map((e,t)=>({text:ma.value(t,B.value.timeFormat),absoluteIndex:t}))),_a=_(()=>{let e=/* @__PURE__ */ new Map;return(z.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=(z.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 $=_(()=>{if(!Bn.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}=!R.value.distributed&&(L.value.scale.scaleMax!==null||L.value.scale.scaleMin!==null)?pe(L.value.scale.scaleMin===null?s>0?0:s:L.value.scale.scaleMin,L.value.scale.scaleMax===null?a<0?0:a:L.value.scale.scaleMax,L.value.scale.ticks):p(L.value.scale.scaleMin===null?s>0?0:s:L.value.scale.scaleMin,L.value.scale.scaleMax===null?a<0?0:a:L.value.scale.scaleMax,L.value.scale.ticks),u=l+(c>=0?0:Math.abs(c))||1,d=q.value.height,f=q.value.width,ee=na.value[0]?na.value[0].zero:q.value.bottom,m=na.value[0]?na.value[0].horizontal_zero:q.value.left,te=Array(Xi.value.length).fill(0),h=Array(Xi.value.length).fill(0);return J.value.filter(e=>!M.value.includes(e.id)).map(a=>{let o=a.series.slice(),s=o.map((e,t)=>te[t]),c=o.map((e,t)=>h[t]);o.forEach((e,t)=>{(Number(e)||0)>=0?te[t]+=Number(e)||0:h[t]+=Math.abs(Number(e)||0)});let l=a.series.slice(X.value.start,X.value.end),p=a.signedSeries.slice(X.value.start,X.value.end),ne=l.map((e,t)=>ya(a,X.value.start+t)),re=o.map((e,t)=>ya(a,t)),ie=l.map((e,t)=>q.value.left+Q.value*t+Q.value*W.value/4),ae=(Xi.value||[]).filter(Number.isFinite),oe=ae.length?Math.max(...ae):0,se=ae.length?Math.min(...ae):0;function ce({minimapH:e}){let t=1e-9,n=oe>0;if(n&&se<0){let n=Math.max(oe,Math.abs(se))||t;return{pxPerUnit:e/2/n,zero:e/2}}return n?{pxPerUnit:e/Math.max(t,oe),zero:e}:{pxPerUnit:e/Math.max(t,Math.abs(se)),zero:0}}let le=({left:e,unitW:t})=>{let n=t*(W.value/4);return o.map((r,a)=>e+t*a+n)},ue=l.map((e,t)=>q.value.top+Q.value*t+Q.value*W.value/4),de=l.map((t,r)=>{let a=R.value.distributed?(t||0)/Ji.value[r]:(t||0)/u,o,s;return t>0?(s=d*a,o=ee-s-e[r],e[r]+=s):(s=d*a,o=ee+n[r],n[r]+=Math.abs(s)),o}),fe=({minimapH:e})=>{if(R.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}=ce({minimapH:e});return o.map((e,r)=>{let a=Number(e)||0;return a>=0?n-(s[r]+a)*t:n+c[r]*t})},pe=l.map((e,n)=>{let a=R.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}),me=l.map((e,t)=>{let n=R.value.distributed?(e||0)/Ji.value[t]:(e||0)/u;return e>0?d*n:d*Math.abs(n)}),he=({minimapH:e})=>{if(R.value.distributed)return o.map((t,n)=>Math.abs(Number(t)||0)/(Math.abs(Xi.value?.[n]||0)||1e-9)*e);let{pxPerUnit:t}=ce({minimapH:e});return o.map(e=>Math.abs(Number(e)||0)*t)},ge=l.map((e,t)=>{let n=R.value.distributed?(e||0)/Ji.value[t]:(e||0)/u;return e>0?f*n:f*Math.abs(n)}),_e=l.map(e=>Math.abs(e)).reduce((e,t)=>e+t,0);return{...a,proportions:l.map((e,t)=>R.value.distributed?(e||0)/Ji.value[t]:(e||0)/_e),series:l,signedSeries:p,rectKeys:ne,minimapRectKeys:re,x:ie,y:de,height:me,horizontal_width:ge,horizontal_y:ue,horizontal_x:pe,xMinimap:le,yMinimap:fe,heightMinimap:he}})}),ba=_(()=>{if(!(Number(Or.value)>0))return[];let e=$.value;if(!e.length)return[];let t=F.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-${j.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=_(()=>Qi.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function wa(e,t,r,a,o){let s=o===-1&&e>=0?-e:e;return ie(R.value.dataLabels.formatter,s,n({p:R.value.dataLabels.prefix,v:s,s:R.value.dataLabels.suffix,r:R.value.dataLabels.rounding}),{datapoint:t,seriesIndex:r,datapointIndex:a})}function Ta(e,t,r,a){return ie(R.value.dataLabels.formatter,e,n({v:isNaN(e)?0:e,s:`%`,r:R.value.dataLabels.rounding}),{datapoint:t,seriesIndex:r,datapointIndex:a})}function Ea(e){if(H.value){let t=Da(e),n=Ir.value[e],r={datapoint:t,seriesIndex:e+X.value.start,waterfall:n};F.value.events.datapointClick?.(r),A(`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}));F.value.events.datapointClick&&F.value.events.datapointClick({datapoint:t,seriesIndex:e+X.value.start}),A(`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(F.value.events.datapointLeave){let t=Da(e);F.value.events.datapointLeave({datapoint:t,seriesIndex:e+X.value.start})}Hn.value=!1,N.value=null,P.value===e&&(P.value=null)}let ka=_(()=>Array(Y.value).fill(0).map((e,t)=>Da(t)));gt(()=>k.selectedXIndex,e=>{if([null,void 0].includes(k.selectedXIndex)){N.value=null;return}let t=e-X.value.start;t<0||e>=X.value.end?N.value=null:N.value=t??null},{immediate:!0});function Aa(e){if(!B.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:B.value.useDefaultTimeFormat?t:n||r}function ja(e,t=`pointer`){if(Yi.value)return;hr.value=t,P.value=e,N.value=e,Hn.value=!0;let r=B.value.customFormat,o=Da(e);yo({seriesIndex:e,datapoint:o}),F.value.events.datapointEnter&&F.value.events.datapointEnter({datapoint:o,seriesIndex:e+X.value.start}),Un.value={waterfall:H.value?Ir.value[e]:null,timeLabel:Aa(e),datapoint:o,seriesIndex:e,config:F.value,series:$.value};let s=o.map(e=>Math.abs(e.value)).reduce((e,t)=>e+t,0),c=o.map(e=>h(e.value)).reduce((e,t)=>e+t,0);if(a(r)&&le(()=>r({seriesIndex:e,datapoint:o,series:$.value,config:F.value})))Wn.value=r({seriesIndex:e,datapoint:o,series:$.value,config:F.value});else if(H.value){let t=Ir.value[e];if(!t)return;let r=U.value.tooltip,a=e=>n({v:e,r:r.rounding}),o=t.segments.map(e=>`
|
|
2
|
+
<div style="display:flex;justify-content:space-between;gap:16px;align-items:center">
|
|
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
|
+
<b>${Wr(a(e.value))}</b>
|
|
5
|
+
</div>`).join(``),s=[r.showStart?[r.startTranslation,t.start]:null,r.showChange?[t.isTotal?t.kind===`subtotal`?r.subtotalTranslation:r.totalTranslation:r.changeTranslation,t.isTotal?t.balance:t.change]:null,r.showBalance?[r.balanceTranslation,t.balance]:null].filter(Boolean).map(([e,t])=>`
|
|
6
|
+
<div style="display:flex;justify-content:space-between;gap:16px">
|
|
7
|
+
<span>${Wr(e)}</span>
|
|
8
|
+
<b>${Wr(a(t))}</b>
|
|
9
|
+
</div>`).join(``);Wn.value=`<div style="display:flex;flex-direction:column;gap:5px">
|
|
10
|
+
<div style="font-weight:bold;border-bottom:1px solid ${B.value.borderColor};padding-bottom:5px">${Wr(t.name)}</div>
|
|
11
|
+
${o}<div style="border-top:1px solid ${B.value.borderColor};padding-top:5px">${s}</div></div>`}else{let{showValue:t,showTotal:r,totalTranslation:a,showPercentage:l,borderColor:u,roundingValue:d,roundingPercentage:f}=B.value,p=``,ee=Aa(e);ee&&(p+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${u};padding-bottom:6px;margin-bottom:3px;">${ee}</div>`),r&&(p+=`<div class="vue-data-ui-tooltip-total" style="display:flex;flex-direction:row;align-items:center;gap:4px">
|
|
12
|
+
<span>${a}:</span>
|
|
13
|
+
<span>
|
|
14
|
+
${ie(R.value.dataLabels.formatter,c,n({p:R.value.dataLabels.prefix,v:c,s:R.value.dataLabels.suffix,r:d}),{datapoint:{name:a,value:c}})}
|
|
15
|
+
</span>
|
|
16
|
+
</div>`);let m=[t&&l?`(`:``,t&&l?`)`:``];o.reverse().forEach(e=>{p+=`
|
|
17
|
+
<div style="display:flex;flex-direction:row;align-items:center;gap:4px">
|
|
18
|
+
<svg viewBox="0 0 60 60" height="14" width="14"><rect rx="5" x="0" y="0" height="60" width="60" stroke="none" fill="${R.value.gradient.show?`url(#gradient_${e.id})`:e.color}"/>${zn.pattern?`<rect rx="5" x="0" y="0" height="60" width="60" stroke="none" fill="url(#pattern_${j.value}_${e.absoluteIndex})"/>`:``}</svg>
|
|
19
|
+
${e.name}${t||l?`:`:``} ${t?ie(R.value.dataLabels.formatter,e.value,n({p:R.value.dataLabels.prefix,v:e.value,s:R.value.dataLabels.suffix,r:d},{datapoint:e})):``} ${m[0]}${l?n({v:isNaN(e.value/s)?0:Math.abs(e.value)/s*100,s:`%`,r:f}):``}${m[1]}
|
|
20
|
+
</div>
|
|
21
|
+
`}),Wn.value=`<div>${p}</div>`}}let Ma=_(()=>ai.value.width),Na=_(()=>ai.value.height);Be({timeLabelsEls:F.value.orientation===`vertical`?sr:or,timeLabels:ia,slicer:X,configRef:F,rotationPath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:Ma,height:Na,rotation:z.value.autoRotate.angle});function Pa(e){Xn.value=e,Gn.value+=1}function Fa(){K.value.showTable=!K.value.showTable}function Ia(){K.value.dataLabels.show=!K.value.dataLabels.show}function La(){K.value.showTooltip=!K.value.showTooltip}function Ra(){return $.value}let za=_(()=>{if(H.value){let e=U.value.table,t=Nr.value.filter(e=>!M.value.includes(e.id));return{head:[...t.map(e=>({label:e.name,color:e.color})),{label:e.changeTranslation},...e.showBalance?[{label:e.balanceTranslation}]:[],...e.showKind?[{label:e.kindTranslation}]:[]],body:Ir.value.map(n=>[n.name,...t.map(e=>n.segments.filter(t=>t.key===e.datasetKey).reduce((e,t)=>e+t.value,0)),n.change,...e.showBalance?[n.balance]:[],...e.showKind?[n.kind]:[]])}}if($.value.length===0)return{head:[],body:[],config:{},columnNames:[]};let e=$.value.map(({name:e,color:t})=>({label:e,color:t})),t=[];return ia.value.forEach(e=>{let n=[z.value.values[e.absoluteIndex]?e.text:i+1];J.value.forEach(t=>{n.push(Number((t.series[e.absoluteIndex]||0).toFixed(F.value.table.td.roundingValue)))}),t.push(n)}),{head:e,body:t}});function Ba(e=null){let t=[[V.value.title.text],[V.value.title.subtitle.text],[``]],n=[``,...za.value.head.map(e=>e.label)],a=za.value.body,o=t.concat([n]).concat(a),s=r(o);e?e(s):se({csvContent:s,title:V.value.title.text||`vue-ui-stackbar`})}let Va=_(()=>{if(H.value){let e=za.value,t=F.value.table;return{head:[``].concat(e.head.map(e=>e.label)),colNames:[t.columnNames.period].concat(e.head.map(e=>e.label)),body:e.body.map(e=>e.map((e,n)=>typeof e==`number`?e.toFixed(t.td.roundingValue):e)),config:{th:{backgroundColor:t.th.backgroundColor,color:t.th.color,outline:t.th.outline},td:{backgroundColor:t.td.backgroundColor,color:t.td.color,outline:t.td.outline},breakpoint:t.responsiveBreakpoint}}}let e=[``].concat($.value.map(e=>e.name),`__SUM__`),t=[],n=X.value.end-X.value.start;for(let e=0;e<n;e+=1){let n=X.value.start+e,r=$.value.map(t=>t.series[e]??0).reduce((e,t)=>e+t,0);t.push([z.value.values[n]&&ia.value[e]?.text||n+1].concat($.value.map(t=>(t.series[e]??0).toFixed(F.value.table.td.roundingValue)),(r??0).toFixed(F.value.table.td.roundingValue)))}let r={th:{backgroundColor:F.value.table.th.backgroundColor,color:F.value.table.th.color,outline:F.value.table.th.outline},td:{backgroundColor:F.value.table.td.backgroundColor,color:F.value.table.td.color,outline:F.value.table.td.outline},breakpoint:F.value.table.responsiveBreakpoint},a=[F.value.table.columnNames.period].concat($.value.map(e=>e.name),F.value.table.columnNames.total);return{head:e,body:t.slice(0,X.value.end-X.value.start),config:r,colNames:a}});function Ha(){M.value.length?M.value=[]:qa.value.forEach(e=>{M.value.push(e.id)}),A(`selectLegend`,$.value)}function Ua(e){if(M.value.includes(e.id))M.value=M.value.filter(t=>t!==e.id);else{if(M.value.length===J.value.length-1)return;M.value.push(e.id)}A(`selectLegend`,$.value)}function Wa(e){return J.value.length?J.value.find(t=>t.name===e)||(ui.value&&console.warn(`VueUiStackbar - Series name not found "${e}"`),null):(ui.value&&console.warn(`VueUiStackbar - There are no series to show.`),null)}function Ga(e){let t=Wa(e);t!==null&&M.value.includes(t.id)&&Ua({id:t.id})}function Ka(e){let t=Wa(e);t!==null&&(M.value.includes(t.id)||Ua({id:t.id}))}let qa=_(()=>J.value.map((e,t)=>({...e,shape:`square`})).map(e=>({...e,opacity:M.value.includes(e.id)?.5:1,segregate:()=>Ua(e),isSegregated:M.value.includes(e.id)}))),Ja=_(()=>({cy:`stackbar-legend`,backgroundColor:V.value.legend.backgroundColor,color:V.value.legend.color,fontSize:V.value.legend.fontSize,paddingBottom:12,fontWeight:V.value.legend.bold?`bold`:``})),Ya=C(!1);function Xa(){Ya.value=!Ya.value}function Za(e,t){if(H.value){let n=Ir.value[t];A(`selectTimeLabel`,{datapoint:Da(t),absoluteIndex:n?.index??e.absoluteIndex,label:n?.name??e.text,waterfall:n});return}let n=JSON.parse(JSON.stringify($.value)).map(e=>({name:e.name,value:e.series[t]===0?0:(e.signedSeries[t]===-1&&e.series[t]>=0?-e.series[t]:e.series[t])||null,proportion:e.proportions[t]||null,color:e.color,id:e.id}));A(`selectTimeLabel`,{datapoint:n,absoluteIndex:e.absoluteIndex,label:e.text})}let Qa=_(()=>Math.max(...$.value.flatMap(e=>e.series)));function $a(e,t){return R.value.showDistributedPercentage&&R.value.distributed?$r.value?t*100>=R.value.dataLabels.hideUnderPercentage:!R.value.dataLabels.hideEmptyPercentages||t>0:$r.value?(Qr.value&&ui.value&&console.warn(`Vue Data UI - VueUiStackbar - You cannot set both dataLabels.hideUnderPercentage and dataLabels.hideUnderValue. Note that dataLabels.hideUnderPercentage takes precedence in this case.`),e>Qa.value*R.value.dataLabels.hideUnderPercentage/100):Qr.value?Math.abs(e)>=R.value.dataLabels.hideUnderValue:!R.value.dataLabels.hideEmptyValues||e!==0}async function eo({scale:e=2}={}){if(!Vn.value)return;let{imageUri:t,base64:n}=await Te({domElement:Vn.value,base64:!0,img:!0,scale:e}),r=Vn.value.getBoundingClientRect(),a={width:r.width,height:r.height,aspectRatio:r.height?r.width/r.height:0},o=await ee(t,e)??a;return{imageUri:t,base64:n,title:V.value.title.text,...o}}let to=_(()=>ke({config:F,style:V,mutableConfig:K,dialog:Fn,accordion:An,isFullscreen:Xn,parent:Vn,maxWidth:800,isCursorPointer:Sr}));gt(()=>K.value.showTable,e=>Oe(e,F,nr));function no(){K.value.showTable=!1,rr.value&&rr.value.setTableIconState(!1)}let ro=_(()=>V.value.backgroundColor),io=_(()=>V.value.legend),ao=_(()=>V.value.title),{isCallbackImaging:oo,isCallbackSvg:so,generateSvg:co,onGenerateImage:lo}=De({svg:Jr,title:ao,legend:io,legendItems:qa,backgroundColor:ro,getSvgCallback:()=>F.value.userOptions.callbacks.svg,generateImage:ii});function uo(e,t=X.value.start){let n=Y.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}let fo=C(!1),po=C(!1);function mo(e=!0){if(!fo.value){fo.value=!0;try{let{startIndex:t,endIndex:n,keepState:r}=V.value.zoom,a=r?Math.max(0,Y.value):Y.value;if(r&&a<=0)return;let o=t??0,s=n==null?a:Math.min(uo(n+1,o),a);ho.value=!0,X.value.start=o,X.value.end=s,Z.value.start=o,Z.value.end=s,Wi(),po.value=!0,e&&k.zoomState&&Hi(k.zoomState)}finally{queueMicrotask(()=>{ho.value=!1}),fo.value=!1}}}let ho=C(!1);gt([()=>k.zoomState,po],([e,t])=>{t&&e&&Hi(e)},{deep:!0,immediate:!0});function go(e){Ii={...Ii,...e},Fi&&cancelAnimationFrame(Fi),Fi=requestAnimationFrame(()=>{let e={...X.value,...Ii};Ii={},Fi=null,X.value=e,Z.value={...e},Wi(),Bi({start:Number(X.value.start),end:Number(X.value.end)})})}function _o(e){if(fo.value||ho.value)return;let t=Number(e);Number.isFinite(t)&&(A(`zoomStart`,{index:t,isZoom:t!==0}),t!==X.value.start&&go({start:t}))}function vo(e){if(fo.value||ho.value)return;let t=Ii.start===void 0?X.value.start:Ii.start,n=uo(Number(e),t);Number.isFinite(n)&&(A(`zoomEnd`,{index:n,isZoom:n!==Y.value}),(n!==X.value.end||Ii.start!==void 0)&&go({end:n}))}function yo({seriesIndex:e,datapoint:t}){let n=X.value.start+e;A(`selectX`,{dataset:t,index:n,indexLabel:H.value?G.value[n]?.name:z.value.values[n]})}function bo(){return{y0:na.value?.[0]?.zero??q.value.bottom}}function xo(e){let{y0:t}=bo(),n=R.value.totalValues,r=Math.max(2,n.fontSize*.3+n.offsetY),a=1/0,o=!1;for(let t of $.value||[]){let n=t?.series?.[e]??0,r=t?.height?.[e]??0,s=t?.y?.[e];n>0&&r>0&&Number.isFinite(s)&&(o=!0,s<a&&(a=s))}let s=(o&&Number.isFinite(a)?a:t)-r;return Math.min(Math.max(s,0),q.value.bottom)}function So(e){let{x0:t}=bo(),n=Math.max(2,R.value.totalValues.fontSize*.3+R.value.totalValues.offsetX),r=-1/0,a=!1;for(let t of $.value||[]){let n=t?.series?.[e]??0,o=t?.horizontal_x?.[e],s=t?.horizontal_width?.[e],c=Number.isFinite(s)?Math.max(0,s):0;Number.isFinite(o)&&n>0&&c>0&&(a=!0,r=Math.max(r,o+c))}return(a&&Number.isFinite(r)?r:t)+n}async function Co(){if(A(`copyAlt`,{config:F.value,dataset:$.value}),!F.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(F.value.userOptions.callbacks.altCopy({config:F.value,dataset:$.value}))}let wo=C(!1);function To(){P.value=null,wo.value=!0}function Eo(){Di.value=!1,P.value=null,Hn.value=!1,N.value=null,A(`selectX`,{index:null,indexLabel:null,dataset:null}),wo.value=!1}function Do(e){let t=Jr.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}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},a=Math.min(n.width/r.width,n.height/r.height);if(!Number.isFinite(a)||a<=0)return null;let o=r.width*a,s=r.height*a,c=(n.width-o)/2,l=(n.height-s)/2;return{x:(e.clientX-n.left-c)/a+r.x,y:(e.clientY-n.top-l)/a+r.y}}let Oo=_(()=>F.value.orientation===`horizontal`),ko=_(()=>{if(!Ei.value||Oi.value==null||ki.value==null)return null;let e=Math.min(Oi.value,ki.value),t=Math.abs(ki.value-Oi.value);return Oo.value?{x:q.value.left,y:e,width:q.value.width,height:t}:{x:e,y:q.value.top,width:t,height:q.value.height}}),Ao=_(()=>po.value?Number(X.value.start)!==0||Number(X.value.end)!==Number(Y.value):!1);function jo(){return Oo.value?q.value.top:q.value.left}function Mo(){return Oo.value?q.value.bottom:q.value.right}function No(){return Oo.value?q.value.height:q.value.width}function Po(e){return Oo.value?e.y:e.x}function Fo(e){return Math.min(Math.max(e,jo()),Mo())}function Io(){N.value=null,br.value=null,P.value=null,hr.value=`pointer`,Hn.value=!1}function Lo(e){let t=e?.pointerId==null?Ai.value:e.pointerId;t!=null&&Jr.value?.hasPointerCapture?.(t)&&Jr.value.releasePointerCapture(t),Ei.value=!1,Oi.value=null,ki.value=null,Ai.value=null}function Ro(){ji.value=!0,setTimeout(()=>{ji.value=!1},0)}function zo(e){ji.value&&(ji.value=!1,e.preventDefault(),e.stopPropagation())}function Bo(e){if(!Pi.value||!Ao.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=Mi.value,a=n===`touch`?450:350,o=n===`touch`?28:10,s=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=a&&s<=o?(Mi.value={time:0,x:0,y:0,pointerType:null},Ro(),Lo(e),qi({force:!0,publish:!0}),!0):(Mi.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function Vo(e){let t=Math.max(0,Number(X.value.end)-Number(X.value.start));if(t<=0||Q.value<=0)return null;let n=Math.floor((Fo(e)-jo())/Q.value);return Math.max(0,Math.min(t-1,n))}function Ho(e,t){let n=Vo(e),r=Vo(t);if(n==null||r==null)return null;let a=Math.min(n,r),o=Math.max(n,r);return o<=a?null:{start:Number(X.value.start)+a,end:Number(X.value.start)+o+1}}function Uo(e){let t=Ui(e);return t?(A(`zoomStart`,{index:t.start,isZoom:t.start!==0}),A(`zoomEnd`,{index:t.end,isZoom:t.end!==Y.value}),t):null}function Wo(e){if(!Pi.value||Ya.value||e.button!==void 0&&e.button!==0||Ai.value!=null&&e.pointerId!==Ai.value)return;let t=Do(e);if(!t)return;let{left:n,right:r,top:a,bottom:o}=q.value;if(t.x<n||t.x>r||t.y<a||t.y>o||Number(X.value.end)-Number(X.value.start)<=1)return;Di.value=!0,Jr.value?.focus?.({preventScroll:!0}),Io();let s=Fo(Po(t));Ai.value=e.pointerId,Ei.value=!0,Oi.value=s,ki.value=s}function Go(e){if(!Pi.value||!Ei.value||Ai.value!=null&&e.pointerId!==Ai.value)return;let t=Do(e);t&&(ki.value=Fo(Po(t)),Oi.value!=null&&Math.abs(ki.value-Oi.value)>=2&&!Jr.value?.hasPointerCapture?.(e.pointerId)&&Jr.value?.setPointerCapture?.(e.pointerId))}function Ko(e){if(!Pi.value||!Ei.value||Ai.value!=null&&e.pointerId!==Ai.value)return;let t=Do(e);t&&(ki.value=Fo(Po(t)));let n=Oi.value,r=ki.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,No()*.01)){if(Bo(e))return;Lo(e);return}let a=Ho(n,r);if(!a){Lo(e);return}Lo(e),Uo(a)&&(Mi.value={time:0,x:0,y:0,pointerType:null},Io(),Ro())}function qo(e){if(!Jr.value||Ya.value||document.activeElement!==Jr.value||(Di.value=!1,Yi.value)||!X.value.end&&X.value.end!==0)return;let t=F.value.orientation===`vertical`,n=F.value.orientation===`horizontal`,r=t&&e.key===`ArrowLeft`||n&&e.key===`ArrowUp`,a=t&&e.key===`ArrowRight`||n&&e.key===`ArrowDown`,o=e.key===`Enter`||e.key===` `,s=e.key===`Escape`;if(!r&&!a&&!o&&!s)return;let c=X.value.end-X.value.start;if(c<=0)return;if(e.preventDefault(),e.stopPropagation(),s){if(Pi.value&&(Ao.value||Ei.value)){Lo(),qi({force:!0,publish:!0});return}P.value=null,Hn.value=!1,N.value=null,A(`selectX`,{index:null,indexLabel:null,dataset:null});return}if(o){if(P.value===null)return;Ea(P.value);return}let l=P.value,u=N.value;l!==null&&l>=0&&l<c?a?(l+=1,l>=c&&(l=0)):r&&(--l,l<0&&(l=c-1)):u!==null&&u>=0&&u<c?(l=a?u+1:u-1,l>=c&&(l=0),l<0&&(l=c-1)):l=a?0:c-1,P.value=l,Jo(l),ja(l,`keyboard`)}function Jo(e){if(!Number.isFinite(e))return;let t,n;F.value.orientation===`vertical`?(t=q.value.left+e*Q.value+Q.value/2,n=q.value.top+q.value.height/2):(t=q.value.left+q.value.width/2,n=q.value.top+e*Q.value+Q.value/2);let r=fe(t,n,Jr.value);r&&(mr.value=r)}let Yo=_(()=>({headers:Va.value?.colNames??[],rows:Va.value?.body??[]}));return Se({getData:Ra,getImage:eo,getWaterfallSteps:()=>G.value,generatePdf:ri,generateCsv:Ba,generateImage:ii,generateSvg:co,hideSeries:Ka,showSeries:Ga,toggleTable:Fa,toggleLabels:Ia,toggleTooltip:La,toggleAnnotator:Xa,toggleFullscreen:Pa,copyAlt:Co,resetZoom:()=>qi({force:!0,publish:!0}),setZoomState:Ui}),(t,r)=>(S(),b(`div`,{id:`stackbar_${j.value}`,ref_key:`stackbarChart`,ref:Vn,class:x({"vue-data-ui-component":!0,"vue-ui-stackbar":!0,"vue-data-ui-wrapper-fullscreen":Xn.value}),style:ct(`background:${V.value.backgroundColor};color:${V.value.color};font-family:${F.value.style.fontFamily}; position: relative; ${F.value.responsive?`height: 100%`:``}`),onMouseenter:Yr,onMouseleave:Xr},[$e(`div`,{id:`chart-instructions-${j.value}`,class:`sr-only`},[$e(`p`,null,E(F.value.a11y.translations.keyboardNavigation),1)],8,xt),Yo.value?.rows?.length?(S(),v(qe,{key:0,uid:j.value,head:Yo.value.headers,body:Yo.value.rows,notice:F.value.a11y.translations.tableAvailable,caption:F.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):y(``,!0),I.value.buttons.annotator?(S(),v(D(Mn),{key:1,svgRef:D(Jr),backgroundColor:V.value.backgroundColor,color:V.value.color,active:Ya.value,isCursorPointer:Sr.value,palette:I.value.annotatorPalette,onClose:Xa},et({_:2},[w(D(je),e=>({name:e,fn:O(n=>[T(t.$slots,e,st(it(D(Ae)(e,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):y(``,!0),T(t.$slots,`userConfig`,{},void 0,!0),V.value.title.text?(S(),b(`div`,{key:2,ref_key:`chartTitle`,ref:Kn,style:`width:100%;background:transparent;padding-bottom:24px`},[(S(),v(Ee,{key:`title_${Qn.value}`,config:{title:{cy:`stackbar-title`,...V.value.title},subtitle:{cy:`stackbar-subtitle`,...V.value.title.subtitle}}},null,8,[`config`]))],512)):y(``,!0),$e(`div`,{id:`legend-top-${j.value}`},null,8,St),I.value.show&&Bn.value&&(D(qr)||D(Gr))?(S(),v(D(Nn),{ref_key:`userOptionsRef`,ref:rr,key:`user_option_${Gn.value}`,backgroundColor:V.value.backgroundColor,color:V.value.color,isPrinting:D(ti),isImaging:D(ni),uid:j.value,hasTooltip:B.value.show&&I.value.buttons.tooltip,hasPdf:I.value.buttons.pdf,hasImg:I.value.buttons.img,hasSvg:I.value.buttons.svg,hasXls:I.value.buttons.csv,hasTable:I.value.buttons.table,hasLabel:I.value.buttons.labels,hasFullscreen:I.value.buttons.fullscreen,hasAltCopy:I.value.buttons.altCopy,isFullscreen:Xn.value,chartElement:Vn.value,position:I.value.position,isTooltip:K.value.showTooltip,titles:{...I.value.buttonTitles},hasAnnotator:I.value.buttons.annotator,isAnnotation:Ya.value,callbacks:I.value.callbacks,printScale:I.value.print.scale,tableDialog:F.value.table.useDialog,isCursorPointer:Sr.value,onToggleFullscreen:Pa,onGeneratePdf:D(ri),onGenerateCsv:Ba,onGenerateImage:D(lo),onGenerateSvg:D(co),onToggleTable:Fa,onToggleLabels:Ia,onToggleTooltip:La,onToggleAnnotator:Xa,onCopyAlt:Co,style:ct({visibility:D(qr)?D(Gr)?`visible`:`hidden`:`visible`})},et({_:2},[w(D(Me)(t.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),e=>({name:e,fn:O(n=>[T(t.$slots,e,st(it(D(Ne)(e,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.isTooltip.titles.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):y(``,!0),$e(`div`,Ct,[(S(),b(`svg`,{ref_key:`svgRef`,ref:Jr,xmlns:D(de),"aria-describedby":`chart-instructions-${j.value}`,viewBox:`0 0 ${q.value.chartWidth<=0?10:q.value.chartWidth} ${q.value.chartHeight<=0?10:q.value.chartHeight}`,class:x({"vue-data-ui-loading":D(wr),"vue-data-ui-fullscreen--on":Xn.value,"vue-data-ui-fulscreen--off":!Xn.value,"vue-data-ui-no-transition":!D(xr),"vue-ui-stackbar-chart-zoom-pointer-focus":Pi.value&&Di.value}),style:ct({maxWidth:`100%`,overflow:`visible`,background:`transparent`,color:V.value.color,cursor:Pi.value?Ei.value?Oo.value?`row-resize`:`col-resize`:`crosshair`:void 0,touchAction:Pi.value?Oo.value?`pan-x`:`pan-y`:void 0,userSelect:Pi.value?`none`:void 0}),tabindex:`0`,onFocus:To,onBlur:Eo,onKeydown:qo,onPointerdown:Wo,onPointermove:Go,onPointerup:Ko,onPointercancel:Lo,onClickCapture:zo},[nt(D(Pn)),t.$slots[`chart-background`]?(S(),b(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:q.value.width<=0?10:q.value.width,height:q.value.height<=0?10:q.value.height,style:{pointerEvents:`none`}},[T(t.$slots,`chart-background`,{},void 0,!0)],8,Tt)):y(``,!0),R.value.gradient.show?(S(),b(`defs`,Et,[(S(!0),b(g,null,w($.value,(e,t)=>(S(),v(We,{t:`linear`,id:`gradient_${e.id}`,key:`gradient_${e.id}_${t}`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,stops:[[`0%`,e.color,1],[`61.8%`,D(o)(e.color,R.value.gradient.intensity/100),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128))])):y(``,!0),H.value&&U.value.bars.gradient.show?(S(),b(`defs`,Dt,[(S(!0),b(g,null,w($.value,e=>(S(),b(g,{key:`wf-gradient-${e.id}`},[(S(!0),b(g,null,w(e.waterfallSegments,(t,n)=>(S(),v(We,{key:`wf-grad-${e.id}-${X.value.start+n}`,t:`linear`,id:`waterfall-gradient-${j.value}-${e.absoluteIndex}-${X.value.start+n}`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,stops:[[`0%`,e.waterfallColors[n],1],[`60%`,D(o)(e.waterfallColors[n],U.value.bars.gradient.intensity/100),1],[`100%`,e.waterfallColors[n],1]]},null,8,[`id`,`stops`]))),128))],64))),128))])):y(``,!0),ba.value.length?(S(),b(`defs`,Ot,[(S(!0),b(g,null,w(ba.value,(e,t)=>(S(),b(g,{key:`stackbar-outer-clip-${t}`},[e?(S(),b(`clipPath`,{key:0,id:`stackbar-outer-clip-${j.value}-${X.value.start+t}`,clipPathUnits:`userSpaceOnUse`},[$e(`rect`,{x:e.x,y:e.y,width:e.width,height:e.height,rx:e.rx},null,8,At)],8,kt)):y(``,!0)],64))),128))])):y(``,!0),L.value.frame.show?(S(),b(`rect`,{key:4,style:{pointerEvents:`none`,transition:`none`,animation:`none !important`},x:Math.max(0,q.value.left),y:Math.max(0,q.value.top),width:Math.max(0,q.value.width),height:Math.max(0,q.value.height),fill:`transparent`,stroke:L.value.frame.stroke,"stroke-width":L.value.frame.strokeWidth,"stroke-linecap":L.value.frame.strokeLinecap,"stroke-linejoin":L.value.frame.strokeLinejoin,"stroke-dasharray":L.value.frame.strokeDasharray},null,8,jt)):y(``,!0),L.value.x.showHorizontalLines&&F.value.orientation===`vertical`?(S(!0),b(g,{key:5},w(na.value,(e,t)=>(S(),b(`line`,{x1:q.value.left,x2:q.value.right,y1:e.y,y2:e.y,stroke:L.value.x.linesColor,"stroke-width":L.value.x.linesThickness,"stroke-dasharray":L.value.x.linesStrokeDasharray,"stroke-linecap":`round`},null,8,Mt))),256)):y(``,!0),L.value.x.showHorizontalLines&&F.value.orientation===`horizontal`?(S(!0),b(g,{key:6},w(X.value.end-X.value.start+1,(e,t)=>(S(),b(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.top+Q.value*t,y2:q.value.top+Q.value*t,stroke:L.value.x.linesColor,"stroke-width":L.value.x.linesThickness,"stroke-dasharray":L.value.x.linesStrokeDasharray,"stroke-linecap":`round`},null,8,Nt))),256)):y(``,!0),L.value.y.showVerticalLines&&F.value.orientation===`vertical`?(S(!0),b(g,{key:7},w(X.value.end-X.value.start+1,(e,t)=>(S(),b(`line`,{x1:q.value.left+Q.value*t,x2:q.value.left+Q.value*t,y1:q.value.top,y2:q.value.bottom,stroke:L.value.y.linesColor,"stroke-width":L.value.y.linesThickness,"stroke-dasharray":L.value.y.linesStrokeDasharray,"stroke-linecap":`round`},null,8,Pt))),256)):y(``,!0),L.value.y.showVerticalLines&&F.value.orientation===`horizontal`?(S(!0),b(g,{key:8},w(na.value,(e,t)=>(S(),b(`line`,{x1:e.horizontal_x,x2:e.horizontal_x,y1:q.value.top,y2:q.value.bottom,stroke:L.value.y.linesColor,"stroke-width":L.value.y.linesThickness,"stroke-dasharray":L.value.y.linesStrokeDasharray,"stroke-linecap":`round`},null,8,Ft))),256)):y(``,!0),(S(!0),b(g,null,w($.value,(e,n)=>(S(),b(`g`,{key:`stackbar-group-${e.datasetKey}-${n}-${j.value}`},[t.$slots.pattern?(S(),b(`defs`,It,[T(t.$slots,`pattern`,at({ref_for:!0},{seriesIndex:e.absoluteIndex,patternId:`pattern_${j.value}_${e.absoluteIndex}`}),void 0,!0)])):y(``,!0),F.value.orientation===`vertical`?(S(),b(g,{key:1},[(S(!0),b(g,null,w(e.x,(t,n)=>vt((S(),b(`rect`,{key:`stackbar-rect-${e.rectKeys[n]}`,"data-cy":H.value?`waterfall-segment`:`stackbar-rect`,x:t,y:D(h)(e.y[n]),height:e.height[n]<0?1e-4:e.height[n]||0,rx:0,"clip-path":xa(n),width:Q.value*(1-W.value/2),fill:Ur(e,n),stroke:H.value?U.value.bars.stroke:V.value.backgroundColor,"stroke-width":H.value?U.value.bars.strokeWidth:R.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`miter`,class:x({"vue-data-ui-bar-transition":Zn.value})},null,10,Lt)),[[ht,!H.value||e.waterfallSegments?.[n]&&e.height[n]>0]])),128)),t.$slots.pattern?(S(),b(`g`,Rt,[(S(!0),b(g,null,w(e.x,(t,n)=>vt((S(),b(`rect`,{key:`stackbar-pattern-rect-${e.rectKeys[n]}`,x:t,y:D(h)(e.y[n]),height:e.height[n]<0?1e-4:e.height[n]||0,rx:0,"clip-path":xa(n),width:Q.value*(1-W.value/2),fill:`url(#pattern_${j.value}_${e.absoluteIndex})`,stroke:H.value?U.value.bars.stroke:V.value.backgroundColor,"stroke-width":H.value?U.value.bars.strokeWidth:R.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`miter`,class:x({"vue-data-ui-bar-transition":Zn.value})},null,10,zt)),[[ht,!H.value||e.waterfallSegments?.[n]&&e.height[n]>0]])),128))])):y(``,!0)],64)):(S(),b(g,{key:2},[(S(!0),b(g,null,w(e.horizontal_x,(t,n)=>vt((S(),b(`rect`,{key:`stackbar-rect-${e.rectKeys[n]}`,"data-cy":H.value?`waterfall-segment`:`stackbar-rect`,x:D(h)(t,q.value.left),y:e.horizontal_y[n]<0?0:e.horizontal_y[n],width:D(h)(e.horizontal_width[n]<0?1e-4:e.horizontal_width[n]),rx:0,"clip-path":xa(n),height:Q.value*(1-W.value/2),fill:Ur(e,n),stroke:H.value?U.value.bars.stroke:V.value.backgroundColor,"stroke-width":H.value?U.value.bars.strokeWidth:R.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`miter`,class:x({"vue-data-ui-bar-transition":Zn.value})},null,10,Bt)),[[ht,!H.value||e.waterfallSegments?.[n]&&e.horizontal_width[n]>0]])),128)),t.$slots.pattern?(S(),b(`g`,Vt,[(S(!0),b(g,null,w(e.horizontal_x,(t,n)=>vt((S(),b(`rect`,{key:`stackbar-pattern-rect-${e.rectKeys[n]}`,x:D(h)(t,q.value.left),y:e.horizontal_y[n]<0?0:e.horizontal_y[n],width:D(h)(e.horizontal_width[n]<0?1e-4:e.horizontal_width[n]),rx:0,"clip-path":xa(n),height:Q.value*(1-W.value/2),fill:`url(#pattern_${j.value}_${e.absoluteIndex})`,stroke:H.value?U.value.bars.stroke:V.value.backgroundColor,"stroke-width":H.value?U.value.bars.strokeWidth:R.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`miter`,class:x({"vue-data-ui-bar-transition":Zn.value})},null,10,Ht)),[[ht,!H.value||e.waterfallSegments?.[n]&&e.horizontal_width[n]>0]])),128))])):y(``,!0)],64))]))),128)),H.value&&U.value.connectors.show?(S(),b(`g`,Ut,[(S(!0),b(g,null,w(zr.value,e=>(S(),b(`line`,{key:`waterfall-link-${e.key}`,x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:U.value.connectors.stroke,"stroke-width":U.value.connectors.strokeWidth,"stroke-dasharray":U.value.connectors.strokeDasharray,"stroke-linecap":`round`},null,8,Wt))),128))])):y(``,!0),L.value.x.showAxis?(S(),b(`line`,{key:10,x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:L.value.x.axisColor,"stroke-width":L.value.x.axisThickness,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Gt)):y(``,!0),L.value.y.showAxis&&(!R.value.distributed||H.value)?(S(),b(`line`,{key:11,x1:fi.value?q.value.right:q.value.left,x2:fi.value?q.value.right:q.value.left,y1:q.value.top,y2:q.value.bottom,stroke:L.value.y.axisColor,"stroke-width":L.value.y.axisThickness,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Kt)):y(``,!0),L.value.x.axisName.show&&L.value.x.axisName.text?(S(),b(`text`,{key:12,ref_key:`xAxisLabel`,ref:ir,x:q.value.left+q.value.width/2,y:q.value.chartHeight-3,"font-size":L.value.x.axisName.fontSize,fill:L.value.x.axisName.color,"font-weight":L.value.x.axisName.bold?`bold`:`normal`,"text-anchor":`middle`},E(L.value.x.axisName.text),9,qt)):y(``,!0),L.value.y.axisName.show&&L.value.y.axisName.text?(S(),b(`text`,{key:13,ref_key:`yAxisLabel`,ref:ar,transform:`translate(${fi.value?ai.value.width-L.value.y.axisName.fontSize/2-L.value.y.axisName.offsetX:L.value.y.axisName.fontSize+L.value.y.axisName.offsetX}, ${q.value.top+q.value.height/2}) rotate(-90)`,"font-size":L.value.y.axisName.fontSize,fill:L.value.y.axisName.color,"font-weight":L.value.y.axisName.bold?`bold`:`normal`,"text-anchor":`middle`},E(L.value.y.axisName.text),9,Jt)):y(``,!0),K.value.dataLabels.show&&F.value.orientation===`vertical`?(S(),b(g,{key:14},[(S(!0),b(g,null,w($.value,(e,t)=>(S(),b(`g`,{key:`dp_${e.id}`},[(S(!0),b(g,null,w(e.x,(n,r)=>(S(),b(g,{key:`rect_${e.id}_${X.value.start+r}`},[(H.value?Vr(e,r):$a(e.series[r],e.proportions[r]))?(S(),b(`text`,{key:0,class:x({"vue-data-ui-transition":D(xr)}),transform:`translate(${n+Q.value*(1-W.value/2)/2}, ${e.y[r]+e.height[r]/2+(H.value?U.value.segmentLabels.fontSize??R.value.dataLabels.fontSize:R.value.dataLabels.fontSize)/3})`,"font-size":H.value?U.value.segmentLabels.fontSize??R.value.dataLabels.fontSize:R.value.dataLabels.fontSize,fill:H.value?U.value.segmentLabels.adaptColorToBackground?D(ue)(e.waterfallColors[r]):U.value.segmentLabels.color??R.value.dataLabels.color:R.value.dataLabels.adaptColorToBackground?D(ue)(e.color):R.value.dataLabels.color,"font-weight":H.value?U.value.segmentLabels.bold??R.value.dataLabels.bold?`bold`:`normal`:R.value.dataLabels.bold?`bold`:`normal`,"text-anchor":`middle`},E(H.value?Hr(e,r):R.value.showDistributedPercentage&&R.value.distributed?Ta(e.proportions[r]*100,e,t,r):wa(e.series[r],e,t,r,e.signedSeries[r])),11,Yt)):y(``,!0)],64))),128))]))),128)),!H.value&&R.value.totalValues.show&&$.value.length>1?(S(),b(`g`,{key:0,ref_key:`sumTop`,ref:cr},[(S(!0),b(g,null,w(Ca.value,(e,t)=>(S(),b(g,{key:`tl_${t+X.value.start}`},[!R.value.dataLabels.hideEmptyValues||e.value!==0?(S(),b(`text`,{key:0,class:x({"vue-data-ui-transition":D(xr)}),transform:`translate(${q.value.left+Q.value*t+Q.value/2}, ${xo(t)})`,"text-anchor":`middle`,"font-size":R.value.totalValues.fontSize,"font-weight":R.value.totalValues.bold?`bold`:`normal`,fill:R.value.totalValues.color},E(wa(e.value,e,t,e.sign)),11,Xt)):y(``,!0)],64))),128))],512)):y(``,!0)],64)):y(``,!0),K.value.dataLabels.show&&F.value.orientation===`horizontal`?(S(),b(g,{key:15},[(S(!0),b(g,null,w($.value,(e,t)=>(S(),b(`g`,null,[(S(!0),b(g,null,w(e.horizontal_x,(n,r)=>(S(),b(g,null,[(H.value?Vr(e,r):$a(e.series[r],e.proportions[r]))?(S(),b(`text`,{key:0,class:x({"vue-data-ui-transition":D(xr)}),transform:`translate(${n+(e.horizontal_width[r]<0?1e-4:e.horizontal_width[r])/2}, ${e.horizontal_y[r]+Q.value*(1-W.value/2)/2+(H.value?U.value.segmentLabels.fontSize??R.value.dataLabels.fontSize:R.value.dataLabels.fontSize)/3})`,"font-size":H.value?U.value.segmentLabels.fontSize??R.value.dataLabels.fontSize:R.value.dataLabels.fontSize,fill:H.value?U.value.segmentLabels.adaptColorToBackground?D(ue)(e.waterfallColors[r]):U.value.segmentLabels.color??R.value.dataLabels.color:R.value.dataLabels.adaptColorToBackground?D(ue)(e.color):R.value.dataLabels.color,"font-weight":H.value?U.value.segmentLabels.bold??R.value.dataLabels.bold?`bold`:`normal`:R.value.dataLabels.bold?`bold`:`normal`,"text-anchor":`middle`},E(H.value?Hr(e,r):R.value.showDistributedPercentage&&R.value.distributed?Ta(e.proportions[r]*100,e,t,r):wa(e.series[r],e,t,r,e.signedSeries[r])),11,Zt)):y(``,!0)],64))),256))]))),256)),!H.value&&R.value.totalValues.show&&$.value.length>1?(S(),b(`g`,{key:0,ref_key:`sumRight`,ref:lr},[(S(!0),b(g,null,w(Ca.value,(e,t)=>(S(),b(g,null,[!R.value.dataLabels.hideEmptyValues||e.value!==0?(S(),b(`text`,{key:0,class:x({"vue-data-ui-transition":D(xr)}),transform:`translate(${So(t)}, ${q.value.top+Q.value*t+Q.value/2+R.value.totalValues.fontSize/3})`,"text-anchor":`start`,"font-size":R.value.totalValues.fontSize,"font-weight":R.value.totalValues.bold?`bold`:`normal`,fill:R.value.totalValues.color},E(wa(e.value,e,t,e.sign)),11,Qt)):y(``,!0)],64))),256))],512)):y(``,!0)],64)):y(``,!0),H.value&&U.value.stepLabels.show&&K.value.dataLabels.show?(S(),b(`g`,$t,[(S(!0),b(g,null,w(Br.value,e=>(S(),b(`text`,{key:`wf-step-label-${e.key}`,x:e.x,y:e.y,"text-anchor":e.anchor,"font-size":U.value.stepLabels.fontSize,"font-weight":U.value.stepLabels.bold?`bold`:`normal`,fill:U.value.stepLabels.color},E(e.text),9,en))),128))])):y(``,!0),L.value.y.axisLabels.show&&(!R.value.distributed||H.value)&&F.value.orientation===`vertical`?(S(),b(`g`,{key:17,ref_key:`scaleLabels`,ref:or},[(S(!0),b(g,null,w(na.value,(e,t)=>(S(),b(`path`,{key:`ty_${t}`,stroke:L.value.x.axisColor,class:x({"vue-data-ui-transition":D(xr)}),d:`M${fi.value?q.value.right:q.value.left},${e.y} ${fi.value?q.value.right+6:q.value.left-6},${e.y}`,"stroke-width":1,"stroke-linecap":`round`},null,10,tn))),128)),(S(!0),b(g,null,w(na.value,(e,t)=>(S(),b(`text`,{class:x({"vue-data-ui-transition":D(xr)}),key:`tl_${t}`,transform:`translate(${e.x}, ${e.y+L.value.y.axisLabels.fontSize/3})`,"font-size":L.value.y.axisLabels.fontSize,"font-weight":L.value.y.axisLabels.bold?`bold`:`normal`,fill:L.value.y.axisLabels.color,"text-anchor":fi.value?`start`:`end`},E(D(ie)(L.value.y.axisLabels.formatter,e.value,D(n)({p:R.value.dataLabels.prefix,v:e.value,s:R.value.dataLabels.suffix,r:L.value.y.axisLabels.rounding}),{datapoint:e})),11,nn))),128))],512)):y(``,!0),L.value.y.axisLabels.show&&(!R.value.distributed||H.value)&&F.value.orientation===`horizontal`?(S(),b(`g`,{key:18,ref_key:`scaleLabels`,ref:or},[(S(!0),b(g,null,w(na.value,(e,t)=>(S(),b(`path`,{key:`scy_${t}`,d:`M${e.horizontal_x},${q.value.bottom} ${e.horizontal_x},${q.value.bottom+6}`,class:x({"vue-data-ui-transition":D(xr)}),stroke:L.value.x.axisColor,"stroke-width":1,"stroke-linecap":`round`},null,10,rn))),128)),(S(!0),b(g,null,w(na.value,(e,t)=>(S(),b(`text`,{class:x([`vue-data-ui-time-label`,{"vue-data-ui-transition":D(xr)}]),key:`tly_${t}`,"font-size":z.value.fontSize,"font-weight":L.value.y.axisLabels.bold?`bold`:`normal`,fill:L.value.y.axisLabels.color,"text-anchor":z.value.rotation>0?`start`:z.value.rotation<0?`end`:`middle`,transform:`translate(${e.horizontal_x}, ${q.value.bottom+z.value.fontSize*1.3+z.value.offsetY}), rotate(${z.value.rotation})`},E(D(ie)(L.value.y.axisLabels.formatter,e.value,D(n)({p:R.value.dataLabels.prefix,v:e.value,s:R.value.dataLabels.suffix,r:L.value.y.axisLabels.rounding}),{datapoint:e})),11,an))),128))],512)):y(``,!0),z.value.show&&F.value.orientation===`vertical`?(S(),b(`g`,{key:19,ref_key:`timeLabelsEls`,ref:sr},[t.$slots[`time-label`]?(S(),b(`g`,on,[(S(!0),b(g,null,w(ua.value,(e,n)=>(S(),b(`g`,null,[T(t.$slots,`time-label`,at({ref_for:!0},{x:q.value.left+Q.value*n+Q.value/2,y:q.value.bottom+z.value.fontSize*1.3+z.value.offsetY,fontSize:z.value.fontSize,fill:z.value.color,transform:`translate(${q.value.left+Q.value*n+Q.value/2}, ${q.value.bottom+z.value.fontSize*1.3+z.value.offsetY}), rotate(${z.value.rotation})`,absoluteIndex:e.absoluteIndex,content:e.text,textAnchor:z.value.rotation>0?`start`:z.value.rotation<0?`end`:`middle`,show:!0}),void 0,!0)]))),256))])):(S(),b(`g`,sn,[(S(!0),b(g,null,w(ua.value,(e,t)=>(S(),b(`g`,null,[String(e.text).includes(`
|
|
22
|
+
`)?(S(),b(`text`,{class:x({"vue-data-ui-transition":D(xr)}),key:t+`-multi`,"text-anchor":z.value.rotation>0?`start`:z.value.rotation<0?`end`:`middle`,"font-size":z.value.fontSize,fill:z.value.color,transform:`
|
|
23
|
+
translate(
|
|
24
|
+
${q.value.left+Q.value*t+Q.value/2},
|
|
25
|
+
${q.value.bottom+z.value.fontSize*1.3+z.value.offsetY}
|
|
26
|
+
),
|
|
27
|
+
rotate(${z.value.rotation})
|
|
28
|
+
`,style:ct({cursor:Sr.value?`pointer`:`default`}),innerHTML:D(c)({content:String(e.text),fontSize:z.value.fontSize,fill:z.value.color,x:0,y:0}),onClick:()=>Za(e,t)},null,14,ln)):(S(),b(`text`,{class:`vue-data-ui-time-label`,key:t,"text-anchor":z.value.rotation>0?`start`:z.value.rotation<0?`end`:`middle`,"font-size":z.value.fontSize,"font-weight":z.value.bold?`bold`:`normal`,fill:z.value.color,transform:`translate(${q.value.left+Q.value*t+Q.value/2}, ${q.value.bottom+z.value.fontSize*1.3+z.value.offsetY}), rotate(${z.value.rotation})`,style:ct({cursor:Sr.value?`pointer`:`default`}),onClick:()=>Za(e,t)},E(e.text),13,cn))]))),256))]))],512)):y(``,!0),z.value.show&&F.value.orientation===`horizontal`?(S(),b(`g`,{key:20,ref_key:`timeLabelsEls`,ref:sr},[t.$slots[`time-label`]?(S(),b(`g`,un,[(S(!0),b(g,null,w(ua.value,(e,n)=>(S(),b(`g`,null,[T(t.$slots,`time-label`,at({ref_for:!0},{x:q.value.left-8,y:q.value.top+Q.value*n+Q.value/2+L.value.y.axisLabels.fontSize/3,fontSize:z.value.fontSize,fill:z.value.color,transform:null,absoluteIndex:e.absoluteIndex,content:e.text,textAnchor:`end`,show:!0}),void 0,!0)]))),256))])):(S(),b(`g`,dn,[(S(!0),b(g,null,w(ua.value,(e,t)=>(S(),b(`g`,null,[String(e.text).includes(`
|
|
29
|
+
`)?(S(),b(`text`,{key:1,"text-anchor":`end`,"font-size":L.value.y.axisLabels.fontSize,"font-weight":L.value.y.axisLabels.bold?`bold`:`normal`,fill:L.value.y.axisLabels.color,transform:`translate(${q.value.left-8}, ${q.value.top+Q.value*t+Q.value/2+L.value.y.axisLabels.fontSize/3})`,style:ct({cursor:Sr.value?`pointer`:`default`}),onClick:()=>Za(e,t),innerHTML:D(d)({content:String(e.text),fontSize:L.value.y.axisLabels.fontSize,fill:L.value.y.axisLabels.color,stroke:V.value.backgroundColor,x:q.value.left-8,y:0})},null,12,pn)):(S(),b(`text`,{key:0,"text-anchor":`end`,"font-size":L.value.y.axisLabels.fontSize,"font-weight":L.value.y.axisLabels.bold?`bold`:`normal`,fill:L.value.y.axisLabels.color,stroke:V.value.backgroundColor,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`3`,"paint-order":`stroke fill`,transform:`translate(${q.value.left-8}, ${q.value.top+Q.value*t+Q.value/2+L.value.y.axisLabels.fontSize/3})`,style:ct({cursor:Sr.value?`pointer`:`default`}),onClick:()=>Za(e,t)},E(e.text),13,fn))]))),256))]))],512)):y(``,!0),K.value.showTooltip&&F.value.orientation===`vertical`?(S(!0),b(g,{key:21},w(X.value.end-X.value.start,(e,t)=>(S(),b(`rect`,{x:q.value.left+t*Q.value,y:q.value.top,width:Q.value,height:q.value.height<0?0:q.value.height,onClick:()=>Ea(t),onMouseenter:()=>ja(t,`pointer`),onMouseleave:()=>Oa(t),fill:t===N.value||t===br.value?V.value.highlighter.color:`transparent`,style:ct({opacity:V.value.highlighter.opacity/100})},null,44,mn))),256)):y(``,!0),K.value.showTooltip&&F.value.orientation===`horizontal`?(S(!0),b(g,{key:22},w(X.value.end-X.value.start,(e,t)=>(S(),b(`rect`,{x:q.value.left,y:q.value.top+t*Q.value,width:q.value.width<0?0:q.value.width,height:Q.value,onClick:()=>Ea(t),onMouseenter:()=>ja(t,`pointer`),onMouseleave:()=>Oa(t),fill:t===N.value||t===br.value?V.value.highlighter.color:`transparent`,style:ct({opacity:V.value.highlighter.opacity/100})},null,44,hn))),256)):y(``,!0),ko.value?(S(),b(`rect`,{key:23,x:ko.value.x,y:ko.value.y,width:ko.value.width,height:ko.value.height,fill:Ni.value.selection.fill,"fill-opacity":Ni.value.selection.fillOpacity,stroke:Ni.value.selection.stroke,"stroke-opacity":Ni.value.selection.strokeOpacity,"stroke-width":Ni.value.selection.strokeWidth,"stroke-dasharray":Ni.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,gn)):y(``,!0),Li.value?(S(),b(`rect`,at({key:24},wi.value,{"data-start":X.value.start,"data-end":X.value.end}),null,16,_n)):y(``,!0),T(t.$slots,`svg`,{svg:{drawingArea:q.value,slicer:X.value,data:$.value,isPrintingImg:D(ti)||D(ni)||D(oo),isPrintingSvg:D(so),barWidth:Q.value}},void 0,!0)],46,wt)),t.$slots.hint?(S(),b(`div`,vn,[T(t.$slots,`hint`,st(it({hint:F.value.a11y.translations.keyboardNavigation,isVisible:wo.value})),void 0,!0)])):y(``,!0)]),t.$slots.watermark?(S(),b(`div`,yn,[T(t.$slots,`watermark`,st(it({isPrinting:D(ti)||D(ni)||D(oo)||D(so)})),void 0,!0)])):y(``,!0),V.value.zoom.show&&Bn.value&&po.value&&Y.value>6?(S(),v(Ge,{key:5,ref_key:`chartSlicer`,ref:Jn,"data-dom-to-png-ignore-layout":``,allMinimaps:Zi.value,background:V.value.zoom.color,borderColor:V.value.backgroundColor,customFormat:V.value.zoom.customFormat,cutNullValues:!1,forceZeroCenter:!0,enableRangeHandles:V.value.zoom.enableRangeHandles,enableSelectionDrag:V.value.zoom.enableSelectionDrag,end:X.value.end,focusOnDrag:V.value.zoom.focusOnDrag,focusRangeRatio:V.value.zoom.focusRangeRatio,fontSize:V.value.zoom.fontSize,immediate:!V.value.zoom.preview.enable,inputColor:V.value.zoom.color,isPreview:Li.value,labelLeft:H.value||z.value.values[X.value.start]?ia.value?.[0]?.text??``:``,labelRight:H.value||z.value.values[X.value.end-1]?ia.value?.at(-1)?.text??``:``,max:Math.max(...e.dataset.map(e=>e.series.length)),min:0,minimap:Xi.value,minimapCompact:V.value.zoom.minimap.compact,minimapFrameColor:V.value.zoom.minimap.frameColor,minimapIndicatorColor:V.value.zoom.minimap.indicatorColor,minimapMerged:!1,minimapSelectedColor:V.value.zoom.minimap.selectedColor,minimapSelectedColorOpacity:V.value.zoom.minimap.selectedColorOpacity,minimapSelectedIndex:N.value,minimapSelectionRadius:1,preciseLabels:ha.value.length?ha.value:aa.value,refreshEndPoint:V.value.zoom.endIndex===null?Math.max(...e.dataset.map(e=>e.series.length)):V.value.zoom.endIndex+1,refreshStartPoint:V.value.zoom.startIndex===null?0:V.value.zoom.startIndex,selectColor:V.value.zoom.highlightColor,selectedSeries:ka.value,smoothMinimap:!1,start:X.value.start,textColor:V.value.color,timeLabels:aa.value,usePreciseLabels:!H.value&&z.value.datetimeFormatter.enable&&!V.value.zoom.useDefaultFormat,valueEnd:X.value.end,valueStart:X.value.start,verticalHandles:V.value.zoom.minimap.verticalHandles,maxWidth:V.value.zoom.maxWidth,minimapLeftInsetRatio:q.value.chartWidth>0&&V.value.zoom.autoFit?q.value.left/q.value.chartWidth:null,minimapRightInsetRatio:q.value.chartWidth>0&&V.value.zoom.autoFit?(q.value.chartWidth-q.value.right)/q.value.chartWidth:null,isCursorPointer:Sr.value,additionalMinimapHeight:V.value.zoom.minimap.additionalHeight,handleType:V.value.zoom.minimap.handleType,handleIconColor:V.value.zoom.minimap.handleIconColor,handleBorderWidth:V.value.zoom.minimap.handleBorderWidth,handleBorderColor:V.value.zoom.minimap.handleBorderColor,handleFill:V.value.zoom.minimap.handleFill,handleWidth:V.value.zoom.minimap.handleWidth,"onUpdate:end":vo,"onUpdate:start":_o,onTrapMouse:Ti,onReset:r[0]||=()=>qi({force:!0,publish:!0}),onFutureEnd:r[1]||=e=>Ri(`end`,e),onFutureStart:r[2]||=e=>Ri(`start`,e)},{"reset-action":O(({reset:e})=>[T(t.$slots,`reset-action`,st(it({reset:e})),void 0,!0)]),slotMap:O(({width:e,height:t,unitW:n})=>[Number(Or.value)>0?(S(),b(`defs`,bn,[(S(!0),b(g,null,w(Sa({minimapH:t,unitW:n}),(e,t)=>(S(),b(g,{key:`stackbar-minimap-outer-clip-${t}`},[e?(S(),b(`clipPath`,{key:0,id:`stackbar-minimap-outer-clip-${j.value}-${t}`,clipPathUnits:`userSpaceOnUse`},[$e(`rect`,{x:e.x,y:e.y,width:e.width,height:e.height,rx:e.rx},null,8,Sn)],8,xn)):y(``,!0)],64))),128))])):y(``,!0),(S(!0),b(g,null,w($.value,e=>(S(),b(`g`,{key:e.id},[(S(!0),b(g,null,w(e.xMinimap({left:0,unitW:n}),(r,a)=>(S(),b(g,{key:`minimap-rect-${e.minimapRectKeys[a]}`},[!H.value||e.heightMinimap({minimapH:t})[a]>0?(S(),b(`rect`,{key:0,x:a===0?r-n*(W.value/4):r-n/2,y:Math.max(0,Math.min(t,e.yMinimap({minimapH:t})[a])),height:e.heightMinimap({minimapH:t})[a],width:[0,Y.value-1].includes(a)?n*(1-W.value/2)/2:n*(1-W.value/2),fill:H.value?e.minimapWaterfallColors?.[a]||e.color:R.value.gradient.show?`url(#gradient_${e.id})`:e.color,stroke:V.value.backgroundColor,"stroke-width":.5,rx:`0`,"clip-path":Number(Or.value)>0?`url(#stackbar-minimap-outer-clip-${j.value}-${a})`:void 0,"stroke-linecap":`butt`,"stroke-linejoin":`miter`,style:ct({opacity:a>=Z.value.start&&a<=Z.value.end?1:.62})},null,12,Cn)):y(``,!0)],64))),128))]))),128))]),_:3},8,/* @__PURE__ */ `allMinimaps.background.borderColor.customFormat.enableRangeHandles.enableSelectionDrag.end.focusOnDrag.focusRangeRatio.fontSize.immediate.inputColor.isPreview.labelLeft.labelRight.max.minimap.minimapCompact.minimapFrameColor.minimapIndicatorColor.minimapSelectedColor.minimapSelectedColorOpacity.minimapSelectedIndex.preciseLabels.refreshEndPoint.refreshStartPoint.selectColor.selectedSeries.start.textColor.timeLabels.usePreciseLabels.valueEnd.valueStart.verticalHandles.maxWidth.minimapLeftInsetRatio.minimapRightInsetRatio.isCursorPointer.additionalMinimapHeight.handleType.handleIconColor.handleBorderWidth.handleBorderColor.handleFill.handleWidth`.split(`.`))):y(``,!0),nt(D(On),{teleportTo:B.value.teleportTo,show:K.value.showTooltip&&Hn.value,backgroundColor:B.value.backgroundColor,color:B.value.color,fontSize:B.value.fontSize,borderRadius:B.value.borderRadius,borderColor:B.value.borderColor,borderWidth:B.value.borderWidth,backgroundOpacity:B.value.backgroundOpacity,position:B.value.position,offsetX:B.value.offsetX,offsetY:B.value.offsetY,parent:Vn.value,content:Wn.value,isFullscreen:Xn.value,isCustom:D(a)(B.value.customFormat),smooth:B.value.smooth,backdropFilter:B.value.backdropFilter,smoothForce:B.value.smoothForce,smoothSnapThreshold:B.value.smoothSnapThreshold,isA11yMode:hr.value===`keyboard`,a11yPosition:mr.value},{"tooltip-before":O(()=>[T(t.$slots,`tooltip-before`,st(it({...Un.value})),void 0,!0)]),tooltip:O(()=>[T(t.$slots,`tooltip`,st(it({...Un.value})),void 0,!0)]),"tooltip-after":O(()=>[T(t.$slots,`tooltip-after`,st(it({...Un.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),$e(`div`,{id:`legend-bottom-${j.value}`},null,8,wn),tr.value&&(io.value.show||t.$slots.legend)?(S(),v(Qe,{key:6,to:io.value.position===`top`?`#legend-top-${j.value}`:`#legend-bottom-${j.value}`},[$e(`div`,{ref_key:`chartLegend`,ref:qn},[T(t.$slots,`legend`,{legend:qa.value},()=>[io.value.show?(S(),v(Xe,{key:0,legendSet:qa.value,config:Ja.value,isCursorPointer:Sr.value,onClickMarker:r[3]||=({legend:e})=>e.segregate()},et({item:O(({legend:e})=>[D(wr)?y(``,!0):(S(),b(`div`,{key:0,onClick:t=>e.segregate(),style:ct(`opacity:${M.value.includes(e.id)?.5:1}`)},E(e.name),13,Tn))]),legendToggle:O(()=>[qa.value.length>2&&io.value.selectAllToggle.show&&!D(wr)?(S(),v(Ke,{key:0,backgroundColor:io.value.selectAllToggle.backgroundColor,color:io.value.selectAllToggle.color,fontSize:io.value.fontSize,checked:M.value.length>0,isCursorPointer:Sr.value,onToggle:Ha},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):y(``,!0)]),_:2},[t.$slots.pattern?{name:`legend-pattern`,fn:O(({legend:e,index:t})=>[nt(Ve,{shape:e.shape,radius:30,stroke:`none`,plot:{x:30,y:30},fill:`url(#pattern_${j.value}_${t})`},null,8,[`shape`,`fill`])]),key:`0`}:void 0]),1032,[`legendSet`,`config`,`isCursorPointer`])):y(``,!0)],!0)],512)],8,[`to`])):y(``,!0),t.$slots.source?(S(),b(`div`,{key:7,ref_key:`source`,ref:Yn,dir:`auto`},[T(t.$slots,`source`,{},void 0,!0)],512)):y(``,!0),Bn.value&&I.value.buttons.table?(S(),v(dt(to.value.component),at({key:8},to.value.props,{ref_key:`tableUnit`,ref:nr,onClose:no}),et({content:O(()=>[nt(D(jn),{colNames:Va.value.colNames,head:Va.value.head,body:Va.value.body,config:Va.value.config,title:F.value.table.useDialog?``:to.value.title,withCloseButton:!F.value.table.useDialog,isCursorPointer:Sr.value,onClose:no},{th:O(({th:e})=>[e===`__SUM__`?(S(),b(`div`,En,[nt(D(kn),{name:`sigma`,stroke:Va.value.config.th.color,size:16},null,8,[`stroke`])])):(S(),b(`div`,Dn,E(e),1))]),td:O(({td:e})=>[tt(E(isNaN(Number(e))?e:D(n)({p:R.value.dataLabels.prefix,v:e,s:R.value.dataLabels.suffix,r:F.value.table.td.roundingValue})),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`])]),_:2},[F.value.table.useDialog?{name:`title`,fn:O(()=>[tt(E(to.value.title),1)]),key:`0`}:void 0,F.value.table.useDialog?{name:`actions`,fn:O(()=>[$e(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:r[4]||=e=>Ba(I.value.callbacks.csv),style:ct({cursor:Sr.value?`pointer`:`default`})},[nt(D(kn),{name:`fileCsv`,stroke:to.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):y(``,!0),T(t.$slots,`skeleton`,{},()=>[D(wr)?(S(),v(ye,{key:0})):y(``,!0)],!0)],46,bt))}},[[`__scopeId`,`data-v-93332ba0`]]);export{yt as n,On as t};
|