vue-data-ui 3.28.1 → 3.28.2
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/dist/{PackageVersion-C4ZM3Vf7.js → PackageVersion-BIhjLNBU.js} +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-age-pyramid.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 -1
- 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-kpi.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-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-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-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.js +1 -1
- package/dist/package-DwcKiXuI.js +1 -0
- package/dist/{render-common-CJz0wn0I.js → render-common-B-s2XJ_I.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.d.ts +2 -0
- package/dist/style.d.css.ts +2 -0
- package/dist/vue-data-ui-BvHCscNE.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-CW8ahywt.js → vue-ui-3d-bar-CkHFiFp4.js} +1 -1
- package/dist/{vue-ui-age-pyramid-CxMwKICA.js → vue-ui-age-pyramid-vpIjdLg5.js} +1 -1
- package/dist/{vue-ui-bullet-ClnewIWQ.js → vue-ui-bullet-rgxGRR1p.js} +1 -1
- package/dist/{vue-ui-bump-C6FuNDUg.js → vue-ui-bump-CeDsunDi.js} +1 -1
- package/dist/{vue-ui-candlestick-CyewIjJk.js → vue-ui-candlestick-KJHOS5F7.js} +1 -1
- package/dist/{vue-ui-carousel-table-D0dD4kai.js → vue-ui-carousel-table-CeI5SIxH.js} +1 -1
- package/dist/{vue-ui-chestnut-nS1vjCqH.js → vue-ui-chestnut-CiY-2e77.js} +1 -1
- package/dist/{vue-ui-chord-B963Q_26.js → vue-ui-chord-8rk7304-.js} +1 -1
- package/dist/{vue-ui-circle-pack-DEY9X3jA.js → vue-ui-circle-pack-BsH09EPG.js} +1 -1
- package/dist/{vue-ui-cursor-CNv12HQG.js → vue-ui-cursor-Cpov2m58.js} +1 -1
- package/dist/{vue-ui-dag-s3-TMmid.js → vue-ui-dag-BHFL2cUA.js} +1 -1
- package/dist/{vue-ui-dashboard-B5zrGAvS.js → vue-ui-dashboard-BxXdhdNJ.js} +1 -1
- package/dist/{vue-ui-digits-DXQwmTUx.js → vue-ui-digits-xHOLjA2_.js} +1 -1
- package/dist/{vue-ui-donut-DHfOfLBF.js → vue-ui-donut-CR3klUbX.js} +1 -1
- package/dist/{vue-ui-donut-CDryub1L.js → vue-ui-donut-Vbp5Xs2-.js} +1 -1
- package/dist/{vue-ui-donut-evolution-C5pHSrza.js → vue-ui-donut-evolution-BTmztL3Y.js} +1 -1
- package/dist/{vue-ui-dumbbell-CQbGR7yM.js → vue-ui-dumbbell-CDcgKS2A.js} +1 -1
- package/dist/{vue-ui-flow-B16Mj6MW.js → vue-ui-flow-kVocPE27.js} +1 -1
- package/dist/{vue-ui-funnel-Dh-xi_Qi.js → vue-ui-funnel-CZAdPYqK.js} +1 -1
- package/dist/{vue-ui-galaxy-U_ZIP5vm.js → vue-ui-galaxy-hP-9mVlB.js} +1 -1
- package/dist/{vue-ui-gauge-Dr4zsf6D.js → vue-ui-gauge-BRabsLkh.js} +1 -1
- package/dist/{vue-ui-geo-DFebja0s.js → vue-ui-geo-Dacnp6iw.js} +1 -1
- package/dist/{vue-ui-gizmo-CssVcz-O.js → vue-ui-gizmo-Dp3hpHIX.js} +1 -1
- package/dist/{vue-ui-graph-BB_97Qz7.js → vue-ui-graph-DHU9hUry.js} +1 -1
- package/dist/{vue-ui-heatmap-DEBbVnrg.js → vue-ui-heatmap-kPnmZgWi.js} +1 -1
- package/dist/{vue-ui-hill-C1sHz3TI.js → vue-ui-hill-Ddbup7-b.js} +1 -1
- package/dist/{vue-ui-history-plot-CsBTJXR3.js → vue-ui-history-plot-CwO2o-2s.js} +1 -1
- package/dist/{vue-ui-horizontal-bar-D0kfcpEW.js → vue-ui-horizontal-bar-CvX77vE4.js} +1 -1
- package/dist/{vue-ui-kpi-CltKSYUI.js → vue-ui-kpi-CCOOwX_Q.js} +1 -1
- package/dist/{vue-ui-molecule-DtoyWWTf.js → vue-ui-molecule-BPGs9Dom.js} +1 -1
- package/dist/{vue-ui-mood-radar-ClOxfeH8.js → vue-ui-mood-radar-GJ-lhgI0.js} +1 -1
- package/dist/{vue-ui-nested-donuts-CULAXTg1.js → vue-ui-nested-donuts-CrlPwpg8.js} +1 -1
- package/dist/{vue-ui-onion-D7zu861i.js → vue-ui-onion-CKmyy-Y_.js} +1 -1
- package/dist/{vue-ui-parallel-coordinate-plot-Cjbc-WUG.js → vue-ui-parallel-coordinate-plot-C0UqWt0M.js} +1 -1
- package/dist/{vue-ui-quadrant-DWAb_t6r.js → vue-ui-quadrant-CTGFBNo9.js} +1 -1
- package/dist/{vue-ui-quick-chart-oDZwgVo8.js → vue-ui-quick-chart-ZBOPZhxA.js} +1 -1
- package/dist/{vue-ui-radar-BWG_N0xO.js → vue-ui-radar-B1z3Ux3E.js} +1 -1
- package/dist/{vue-ui-relation-circle-BCRiS2n6.js → vue-ui-relation-circle-DqN5N08e.js} +1 -1
- package/dist/{vue-ui-ridgeline-VYcGUP_p.js → vue-ui-ridgeline-DcSB5Qef.js} +1 -1
- package/dist/{vue-ui-rings-Dl0AjrRj.js → vue-ui-rings-CJqAnf-l.js} +1 -1
- package/dist/{vue-ui-scatter-DTa48HvG.js → vue-ui-scatter-THQAeoWs.js} +1 -1
- package/dist/{vue-ui-skeleton-C5mGG8hR.js → vue-ui-skeleton-DqmhigQ0.js} +1 -1
- package/dist/{vue-ui-spark-trend--frxeJ8f.js → vue-ui-spark-trend-B2Nf1raK.js} +1 -1
- package/dist/{vue-ui-sparkbar-BS5v3HMo.js → vue-ui-sparkbar-CamZ_49V.js} +1 -1
- package/dist/{vue-ui-sparkgauge-B1TGfXvR.js → vue-ui-sparkgauge-Ffrp_7VV.js} +1 -1
- package/dist/{vue-ui-sparkhistogram-Cs97AL6h.js → vue-ui-sparkhistogram-CLfzi3PO.js} +1 -1
- package/dist/{vue-ui-sparkline-Bp9J6x7z.js → vue-ui-sparkline-Y-sljnbS.js} +1 -1
- package/dist/{vue-ui-sparkstackbar-BVuuRD10.js → vue-ui-sparkstackbar-CYZ-ADO1.js} +1 -1
- package/dist/{vue-ui-stackbar-CRuXn3XI.js → vue-ui-stackbar-CQLYm10x.js} +1 -1
- package/dist/{vue-ui-stackline-Besmr9vq.js → vue-ui-stackline-VpvF7MRx.js} +1 -1
- package/dist/{vue-ui-strip-plot-D-aRJkR7.js → vue-ui-strip-plot-B9Ogpw7K.js} +1 -1
- package/dist/{vue-ui-table-D_UdQwV3.js → vue-ui-table-Bi9C3LzP.js} +1 -1
- package/dist/{vue-ui-table-sparkline-BdNo8fW_.js → vue-ui-table-sparkline-DEVAL0cR.js} +1 -1
- package/dist/{vue-ui-thermometer-TFg1SGY7.js → vue-ui-thermometer-ClN4EO0I.js} +1 -1
- package/dist/{vue-ui-timer-BdPksC26.js → vue-ui-timer-nqZxt1vU.js} +1 -1
- package/dist/{vue-ui-tiremarks-HWuO-eyj.js → vue-ui-tiremarks-BeJBsgXo.js} +1 -1
- package/dist/{vue-ui-treemap-IegiAqaX.js → vue-ui-treemap-FA-yXwmv.js} +1 -1
- package/dist/{vue-ui-waffle-BEyGfPks.js → vue-ui-waffle-CO07S6HV.js} +1 -1
- package/dist/{vue-ui-wheel-k8GNPGET.js → vue-ui-wheel-BeaSWB4x.js} +1 -1
- package/dist/{vue-ui-word-cloud-D9_15Ve7.js → vue-ui-word-cloud-C1OWGFng.js} +1 -1
- package/dist/{vue-ui-world-rCp5Vb7u.js → vue-ui-world-CUS_mKgl.js} +1 -1
- package/dist/{vue-ui-xy-CFgFg11v.js → vue-ui-xy-6B_K-quN.js} +1 -1
- package/dist/{vue-ui-xy-42AXepcQ.js → vue-ui-xy-BigPHE0Q.js} +1 -1
- package/package.json +6 -2
- package/dist/package-DGRUegc-.js +0 -1
- package/dist/vue-data-ui-CxiWUtNw.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.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-rPeBMZrn.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-DnGoh-XS.js";import{t as we}from"./useThemeCheck-BKNRbGeC.js";import{t as Te}from"./img-D4RQwASc.js";import{n as Ee}from"./Title-BliHuXfT.js";import{t as De}from"./useChartExport-BZts4KFb.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-sVoTzet1.js";import{t as Re}from"./useTransitions-ChGGrtrv.js";import{t as ze}from"./useStableElementSize-CegFbRlF.js";import{t as Be}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Ve}from"./useTimeLabelCollider-BTybMUFi.js";import{t as He}from"./Shape-CRe8woTu.js";import{c as Ue}from"./canvas-lib-22VpOI4_.js";import{t as We}from"./useResponsive-CENUxfEL.js";import{t as Ge}from"./DefGrad-DKMq1REY.js";import{t as Ke}from"./SlicerPreview-CFFUOlQr.js";import{t as qe}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Je}from"./A11yDataTable-DWNlWXzs.js";import{t as Ye}from"./useUserOptionState-CXlFnwPv.js";import{t as Xe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ze}from"./Legend-DM0ClX3D.js";import{t as Qe}from"./vue_ui_stackbar-BkBIi_bL.js";import{Fragment as g,Teleport as $e,computed as _,createBlock as et,createCommentVNode as v,createElementBlock as y,createElementVNode as tt,createSlots as nt,createTextVNode as rt,createVNode as it,defineAsyncComponent as at,guardReactiveProps as ot,mergeProps as st,nextTick as ct,normalizeClass as b,normalizeProps as lt,normalizeStyle as ut,onBeforeUnmount as dt,onMounted as ft,openBlock as x,ref as S,renderList as C,renderSlot as w,resolveDynamicComponent as pt,shallowRef as mt,toDisplayString as T,toRefs as ht,unref as E,useSlots as gt,vShow as _t,watch as vt,watchEffect as yt,withCtx as D,withDirectives as bt}from"vue";var xt=/* @__PURE__ */ e({default:()=>An}),St=[`id`],Ct=[`id`],wt=[`id`],Tt={style:{position:`relative`}},Et=[`xmlns`,`aria-describedby`,`viewBox`],Dt=[`x`,`y`,`width`,`height`],Ot={key:1},kt={key:2},At={key:3},jt=[`id`],Mt=[`x`,`y`,`width`,`height`,`rx`],Nt=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],Pt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Ft=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],It=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Lt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Rt={key:0},zt=[`data-cy`,`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],Bt={key:0},Vt=[`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],Ht=[`data-cy`,`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Ut={key:0},Wt=[`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Gt={key:9,style:{"pointer-events":`none`}},Kt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],qt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Jt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Yt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Xt=[`transform`,`font-size`,`fill`,`font-weight`],Zt=[`transform`,`font-size`,`fill`,`font-weight`],Qt=[`transform`,`font-size`,`font-weight`,`fill`],$t=[`transform`,`font-size`,`fill`,`font-weight`],en=[`transform`,`font-size`,`font-weight`,`fill`],tn={key:16,style:{"pointer-events":`none`}},nn=[`x`,`y`,`text-anchor`,`font-size`,`font-weight`,`fill`],rn=[`stroke`,`d`],an=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],on=[`d`,`stroke`],sn=[`font-size`,`font-weight`,`fill`,`text-anchor`,`transform`],cn={key:0},ln={key:1},un=[`text-anchor`,`font-size`,`font-weight`,`fill`,`transform`,`onClick`],dn=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],fn={key:0},pn={key:1},mn=[`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],hn=[`font-size`,`font-weight`,`fill`,`transform`,`onClick`,`innerHTML`],gn=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],_n=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],vn=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],yn=[`data-start`,`data-end`],bn={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},xn={key:4,class:`vue-data-ui-watermark`},Sn={key:0},Cn=[`id`],wn=[`x`,`y`,`width`,`height`,`rx`],Tn=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`clip-path`],En=[`id`],Dn=[`onClick`],On={key:0},kn={key:1},An=/*#__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:xt}){let An=at(()=>import(`./Tooltip-C1q0Qoh7.js`)),jn=at(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Mn=at(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Nn=at(()=>import(`./DataTable-0Vv-aGHD.js`)),Pn=at(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Fn=at(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),In=at(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),Ln=at(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_stackbar:Rn}=t(),{isThemeValid:zn,warnInvalidTheme:Bn}=we(),Vn=gt(),O=e,k=xt,Hn=_({get(){return!!O.dataset&&O.dataset.length},set(e){return e}}),Un=S(null),A=S(u()),Wn=S(!1),Gn=S(null),Kn=S(``),j=S([]),qn=S(0),Jn=S(null),Yn=S(null),Xn=S(null),Zn=S(null),Qn=S(!1),M=S(null),$n=S(!1),er=S(!1),tr=S(0),nr=S(0),rr=S(0),ir=S(!1),ar=S(null),or=S(null),sr=S(null),cr=S(null),lr=S(null),ur=S(null),dr=S(null),fr=S(null),pr=mt(null),mr=S(!1),hr=S(0),gr=S(0),_r=S(null),vr=S({x:0,y:0}),yr=S(`pointer`),br=ze({elementRef:pr,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{Cr()}});function xr(){pr.value=Un.value?.parentNode??null}function Sr(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function Cr(){let e=++gr.value;mr.value=!1,await ct(),await Sr(),await Sr(),e===gr.value&&(hr.value+=1,mr.value=!0)}let wr=S(null);ft(()=>{ir.value=!0,xr(),br.start(),mi()});let N=S(ei()),P=_(()=>N.value.userOptions),F=_(()=>N.value.style.chart.grid),I=_(()=>N.value.style.chart.bars),L=_(()=>{let e=N.value.style.chart.grid.x.timeLabels;if(!B.value)return e;let t=V.value.categoryLabels;return{...e,...t,values:U.value.map(e=>e.name),datetimeFormatter:{...e.datetimeFormatter,enable:!1}}}),R=_(()=>N.value.style.chart.tooltip),z=_(()=>N.value.style.chart);be({config:()=>N.value,dataset:()=>O.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:Tr}=Re({config:()=>N.value.transitions,dataset:()=>O.dataset}),Er=_(()=>N.value.userOptions.useCursorPointer),Dr=_(()=>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:N.value.skeletonConfig??{}})),{loading:Or,FINAL_DATASET:kr,manualLoading:Ar}=ve({...ht(O),FINAL_CONFIG:N,prepareConfig:ei,callback:()=>{Promise.resolve().then(async()=>{(!z.value.zoom.keepState||!lo.value||X.value.start===0&&X.value.end===0)&&await uo()})},skeletonDataset:O.config?.skeletonDataset??[{name:``,series:[2,3,5,8,13,21],color:`#BABABA`},{name:``,series:[1,2,3,5,8,13],color:`#CACACA`}],skeletonConfig:ae({defaultConfig:N.value,userConfig:Dr.value})}),jr=_(()=>(kr.value??[]).find(e=>e?.type===`waterfall`)??null),B=_(()=>!!jr.value&&!Or.value),V=_(()=>N.value.style.chart.waterfall),H=_(()=>{let e=Number(B.value?V.value.bars.gapRatio:I.value.gapRatio);return Number.isFinite(e)?Math.max(0,Math.min(1.9,e)):.45}),Mr=_(()=>B.value?V.value.bars.borderRadius:I.value.borderRadius);function Nr(e,t){return String(e?.key??e?.id??e?.name??`Segment ${t+1}`)}function Pr(e){return Array.isArray(e?.series)?e.series:[]}function Fr(e,t){let n=String(e?.type??(t===0?`total`:`change`)).toLowerCase();return[`total`,`subtotal`,`change`].includes(n)?n:`change`}let Ir=Object.freeze({total:`__waterfall_total__`,subtotal:`__waterfall_subtotal__`}),Lr=_(()=>{if(!B.value)return[];let e=/* @__PURE__ */ new Map;return(jr.value?.series??[]).forEach(t=>{Pr(t).forEach((t,n)=>{if(!t||typeof t!=`object`)return;let r=Nr(t,n);if(e.has(r))return;let a=e.size,o=l(t.color)||li.value[a%(li.value.length||1)]||s[a%s.length];e.set(r,{name:String(t.name??r),datasetKey:r,id:`waterfall-segment-${A.value}-${a}`,color:o,absoluteIndex:a})})}),Array.from(e.values())}),U=_(()=>{if(!B.value)return[];let e=jr.value,t=Array.isArray(e?.series)?e.series:[],n=new Set(Lr.value.filter(e=>!j.value.includes(e.id)).map(e=>e.datasetKey)),r=new Map(Lr.value.map(e=>[e.datasetKey,e.color])),a=V.value,o=Number(e.startValue??0);return Number.isFinite(o)||(o=0),t.map((e,t)=>{let s=Fr(e,t),c=s===`total`||s===`subtotal`,u=o,d=c?0:u,f=d,p=d,ee=0,m=Pr(e);c&&!m.length&&(m=[{name:s===`total`?`Total`:`Subtotal`,key:Ir[s],value:u}]);let te=[];m.forEach((t,o)=>{if(!t||typeof t!=`object`)return;let c=Nr(t,o);if(c!==Ir.total&&c!==Ir.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 Rr(e,t=`vertical`,n=q.value){let r=Xi.value.max-Xi.value.min||1,a=(e-Xi.value.min)/r;return t===`vertical`?n.bottom-a*n.height:n.left+a*n.width}let zr=_(()=>{let e=U.value,t=Lr.value.filter(e=>!j.value.includes(e.id)),n=e.slice(X.value.start,X.value.end);n.length;let r=H.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=Lr.value.length;for(let[t,n]of[`total`,`subtotal`].entries()){let r=Ir[n];e.some(e=>e.segments.some(e=>e.key===r))&&c.push({name:n===`total`?`Total`:`Subtotal`,datasetKey:r,color:V.value.colors[n],id:`waterfall-${n}-${A.value}`,absoluteIndex:l+t})}return c.map(t=>{let a=e.map(e=>e.segments.find(e=>e.key===t.datasetKey)??null),c=a.slice(X.value.start,X.value.end),l=a.map(e=>e?.value??0),u=c.map(e=>e?.value??0),d=c.map((e,t)=>{let n=q.value.left+Q.value*t+Q.value*r/4,a=q.value.top+Q.value*t+Q.value*r/4;if(!e)return{x:n,horizontal_y:a,top:0,height:0,left:0,width:0};let o=Rr(e.start),s=Rr(e.end),c=Rr(e.start,`horizontal`),l=Rr(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)=>ga(t,X.value.start+n)),minimapRectKeys:l.map((e,n)=>ga(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)}})}),Br=_(()=>U.value.slice(X.value.start,X.value.end)),Vr=_(()=>{let e=N.value.orientation===`vertical`,t=Q.value*(1-H.value/2);return Br.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=Rr(s,e?`vertical`:`horizontal`),u=Rr(c,e?`vertical`:`horizontal`),d=e?q.value.left+Q.value*r+Q.value*H.value/4:q.value.top+Q.value*r+Q.value*H.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,Mr.value),f/2,p/2),step:n,index:r}})});function Hr(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 Ur=_(()=>{if(!B.value||!V.value.connectors.show)return[];let e=N.value.orientation===`vertical`,t=V.value.connectors,n=Vr.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=Rr(c.step.end,e?`vertical`:`horizontal`),p=(t.adaptToRadius?Hr(c,f,e):0)+Number(t.inset||0),ee=(t.adaptToRadius?Hr(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}),Wr=_(()=>{if(!B.value||!V.value.stepLabels.show)return[];let e=N.value.orientation===`vertical`,t=V.value.stepLabels;return Vr.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 Gr(e,t){let n=V.value.segmentLabels;if(!n.show||!e.waterfallSegments?.[t]||e.series[t]===0&&!n.showZero)return!1;let r=N.value.orientation===`vertical`?e.height[t]:Q.value*(1-H.value/2),a=N.value.orientation===`vertical`?Q.value*(1-H.value/2):e.horizontal_width[t];return r>=n.minHeight&&a>=n.minWidth}function Kr(e,t){let r=e.waterfallSegments[t],a=V.value.segmentLabels;return ie(a.formatter,r.value,n({p:a.prefix,v:r.value,s:a.suffix,r:a.rounding}),{datapoint:{...r,step:Br.value[t]},seriesIndex:e.absoluteIndex,datapointIndex:X.value.start+t})}function qr(e,t){return B.value?V.value.bars.gradient.show?`url(#waterfall-gradient-${A.value}-${e.absoluteIndex}-${X.value.start+t})`:e.waterfallColors?.[t]||e.color:I.value.gradient.show?`url(#gradient_${e.id})`:e.color}function Jr(e){return ce(String(e??``))}let{userOptionsVisible:Yr,setUserOptionsVisibility:Xr,keepUserOptionState:Zr}=Ye({config:N.value}),{svgRef:W}=Xe({config:z.value.title});function Qr(){Xr(!0)}function $r(){Xr(!1),k(`selectX`,{index:null,indexLabel:null,dataset:null}),M.value=null,_r.value=null,Wn.value=!1}function ei(){let e=Ce({userConfig:O.config,defaultConfig:Rn}),t={};O.config&&he(O.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!O.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!zn.value(e))Bn(e),t=e;else{let r=Ce({userConfig:Qe[n]||O.config,defaultConfig:e});t={...Ce({userConfig:O.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:oe[n]||s}}}else t=e;return t}let ti=_(()=>I.value.dataLabels.hideUnderValue!=null),ni=_(()=>I.value.dataLabels.hideUnderPercentage!=null),ri=f(O.config);vt(()=>O.config,(e,t)=>{let n=f(e),r=n!==ri;ri=n;let a=ei();r?(Or.value||(N.value=a),Yr.value=!N.value.userOptions.showOnChartHover,G.value.dataLabels.show=B.value?V.value.segmentLabels.show||V.value.stepLabels.show:I.value.dataLabels.show,G.value.showTable=N.value.table.show,G.value.showTooltip=R.value.show,mi({resetSlicer:!z.value.zoom.keepState}),tr.value+=1,nr.value+=1,rr.value+=1,xr(),!z.value.zoom.keepState||!lo.value||X.value.start===0&&X.value.end===0?uo():Bi()):(N.value.style.chart.tooltip=a.style.chart.tooltip,G.value.showTooltip=N.value.style.chart.tooltip.show)},{deep:!0}),vt(()=>O.dataset,e=>{Array.isArray(e)&&e.length>0&&(Ar.value=!1),xr(),z.value.zoom.keepState?Bi():Ui()},{deep:!0});let G=S({dataLabels:{show:B.value?V.value.segmentLabels.show||V.value.stepLabels.show:I.value.dataLabels.show},showTable:N.value.table.show,showTooltip:R.value.show});vt(N,()=>{G.value={dataLabels:{show:B.value?V.value.segmentLabels.show||V.value.stepLabels.show:I.value.dataLabels.show},showTable:N.value.table.show,showTooltip:R.value.show}},{immediate:!0});let{isPrinting:ii,isImaging:ai,generatePdf:oi,generateImage:si}=Le({elementId:`stackbar_${A.value}`,fileName:z.value.title.text||`vue-ui-stackbar`,options:N.value.userOptions.print}),ci=S({width:z.value.width,height:z.value.height,paddingRatio:{top:z.value.padding.top/z.value.height,right:z.value.padding.right/z.value.width,bottom:z.value.padding.bottom/z.value.height,left:z.value.padding.left/z.value.width}}),li=_(()=>me(N.value.customPalette)),ui=mt(null),di=mt(null),fi=S(null),pi=_(()=>N.value.debug);function mi({resetSlicer:e=!0}={}){if(_e(O.dataset)?(m({componentName:`VueUiStackbar`,type:`dataset`,debug:pi.value}),Ar.value=!0):O.dataset.forEach((e,t)=>{ge({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{Hn.value=!1,m({componentName:`VueUiStackbar`,type:`datasetSerieAttribute`,property:e,index:t,debug:pi.value}),Ar.value=!0})}),_e(O.dataset)||(Ar.value=N.value.loading),setTimeout(()=>{$n.value=!0},10),N.value.responsive){let e=Ue(()=>{$n.value=!1;let{width:e,height:t}=We({chart:Un.value,title:z.value.title.text?Jn.value:null,legend:z.value.legend.show?Yn.value:null,slicer:z.value.zoom.show&&Y.value>6?Xn.value.$el:null,source:Zn.value});requestAnimationFrame(()=>{ci.value.width=e,ci.value.height=t-12,er.value=!0,clearTimeout(fi.value),fi.value=setTimeout(()=>{$n.value=!0},10)})});ui.value&&(di.value&&ui.value.unobserve(di.value),ui.value.disconnect()),ui.value=new ResizeObserver(e),di.value=Un.value.parentNode,ui.value.observe(di.value)}Cr(),e&&uo()}dt(()=>{br.stop(),ui.value&&(di.value&&ui.value.unobserve(di.value),ui.value.disconnect())});let hi=_(()=>F.value.y.position===`right`),{metrics:gi,ready:_i,settling:K,update:vi}=Be({svgRef:W,canMeasure:()=>(!N.value.responsive||er.value)&&(!L.value.show||ta.value),measure:e=>{let t=N.value.orientation===`horizontal`,n=t?ur.value:lr.value,r=t?lr.value:ur.value;return{scaleLabelsWidth:F.value.y.axisLabels.show?e(n).textWidth:0,yAxisLabelWidth:cr.value?e(cr.value).rotatedWidth+F.value.y.axisName.fontSize+F.value.y.axisName.offsetX:0,xAxisLabelHeight:e(sr.value).height,timeLabelsHeight:L.value.show?e(r).height:0,right:t&&fr.value?e(fr.value).textWidth+Math.max(2,I.value.totalValues.fontSize*.3+I.value.totalValues.offsetX)+I.value.totalValues.fontSize:0}}}),yi=_(()=>gi.value.xAxisLabelHeight+gi.value.timeLabelsHeight),q=_(()=>{let{height:e,width:t}=ci.value,{right:n}=ci.value.paddingRatio,r=B.value&&V.value.stepLabels.show?V.value.stepLabels.fontSize*1.5+V.value.stepLabels.offset:I.value.totalValues.show&&O.dataset&&O.dataset.length>1?I.value.totalValues.fontSize*1.3:0,{scaleLabelsWidth:a,yAxisLabelWidth:o}=gi.value,s=a+o,c=hi.value?0:s,l=hi.value?s:0,u=z.value.padding.top+r,d=t-t*n-gi.value.right-l,f=e-z.value.padding.bottom-yi.value-r,p=z.value.padding.left+c,ee=t-p-t*n-gi.value.right-l,m=e-u-z.value.padding.bottom-yi.value-r;return{chartHeight:e,chartWidth:t,top:u,right:d,bottom:f,left:p,width:Math.max(0,ee),height:Math.max(0,m),offsetLeft:c,offsetRightAxis:l,scaleLabelsWidth:a,yAxisLabelWidth:o}}),bi=_(()=>{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:z.value.zoom.preview.fill,stroke:z.value.zoom.preview.stroke,"stroke-width":z.value.zoom.preview.strokeWidth,"stroke-dasharray":z.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}};if(N.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(B.value){let e=jr.value.series??[];return Lr.value.map(t=>{let n=e.map(e=>Pr(e).filter((e,n)=>Nr(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 kr.value.map((e,t)=>{let n=u(),r=String(e.key??e.id??e.name??n),a=l(e.color)||li.value[t]||s[t]||s[t%s.length];return{...e,datasetKey:r,series:JSON.parse(JSON.stringify(e.series)).map(e=>I.value.distributed?Math.abs(e):e),signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:a}})}),Y=_(()=>{if(B.value)return jr.value.series?.length??0;let e=Math.max(...J.value.filter(e=>!j.value.includes(e.id)).map(e=>e.series.length));return isFinite(e)?e:Math.max(...J.value.map(e=>e.series.length))});function xi(e){wr.value=e}let X=S({start:0,end:Y.value}),Z=S({start:0,end:Y.value}),Si=S(!1),Ci=S(!1),wi=S(null),Ti=S(null),Ei=S(null),Di=S(!1),Oi=S({time:0,x:0,y:0,pointerType:null}),ki=_(()=>z.value.zoom?.dragToZoom),Ai=_(()=>ki.value.show&&Hn.value&&lo.value&&Y.value>1&&!Or.value),ji=null,Mi={},Ni=_(()=>z.value.zoom.preview.enable&&(Z.value.start!==X.value.start||Z.value.end!==X.value.end));function Pi(e,t){Z.value[e]=t}function Fi(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 Ii(e){let t=Fi(e);t&&k(`update:zoomState`,t)}function Li(){ji&&=(cancelAnimationFrame(ji),null),Mi={}}function Ri(e){let t=Fi(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(X.value.start)||r!==Number(X.value.end))&&(Li(),X.value={start:n,end:r},Z.value={start:n,end:r},Bi()),{start:Number(X.value.start),end:Number(X.value.end)}}function zi(e){let t=Ri(e);return t?(k(`update:zoomState`,t),t):null}function Bi(){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,Xn.value&&Xn.value.setRangeValues(t,n)}let Vi=S(null);function Hi(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}dt(()=>{Vi.value&&cancelAnimationFrame(Vi.value),Li(),Po()});async function Ui({force:e=!1,publish:t=!1}={}){if(z.value.zoom.keepState&&!e&&lo.value&&(X.value.start!==0||X.value.end!==0)){Bi();return}let n=!e;uo(n),await ct(),Vi.value&&cancelAnimationFrame(Vi.value),Vi.value=requestAnimationFrame(async()=>{await Hi(),uo(n),Vi.value=null,t&&(Ii({start:Number(X.value.start),end:Number(X.value.end)}),k(`zoomReset`))})}let Q=_(()=>{let e;return e=N.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}),Wi=_(()=>ne(J.value.filter(e=>!j.value.includes(e.id))).slice(X.value.start,X.value.end)),Gi=_(()=>j.value.length===J.value.length),Ki=_(()=>z.value.zoom.minimap.show?B.value?U.value.map(e=>e.balance):ne(J.value.map(e=>({...e,series:e.series.map(e=>e??0)})).filter(e=>Gi.value?!0:!j.value.includes(e.id))):[]),qi=_(()=>z.value.zoom.minimap.show?[{name:``,series:Ki.value,color:`#000000`,isVisible:!0}]:[]),Ji=_(()=>B.value?Br.value.map(e=>e.change):ne(J.value.filter(e=>!j.value.includes(e.id)).map(e=>({...e,series:e.series.map((t,n)=>e.signedSeries[n]===-1&&t>=0?-t:t)}))).slice(X.value.start,X.value.end)),Yi=_(()=>{let e=J.value.filter(e=>!j.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)})))}}),Xi=_(()=>{if(B.value){let e=[0,...Br.value.flatMap(e=>[e.start,e.end,...e.segments.flatMap(e=>[e.start,e.end])])],t=Math.min(...e),n=Math.max(...e),r=F.value.scale.scaleMin,a=F.value.scale.scaleMax,o=r===null?t:Number(r),s=a===null?n:Number(a);return r!==null||a!==null?pe(o,s,F.value.scale.ticks):p(o,s,F.value.scale.ticks)}let e=F.value.scale.scaleMax!==null&&!I.value.distributed?F.value.scale.scaleMax:Math.max(...Yi.value.positive),t=Math.min(...Yi.value.negative),n=F.value.scale.scaleMin!==null&&!I.value.distributed?F.value.scale.scaleMin:[-1/0,1/0,NaN,void 0,null].includes(t)?0:t;return!I.value.distributed&&(F.value.scale.scaleMax!==null||F.value.scale.scaleMin!==null)?pe(n>0?0:n,e<0?0:e,F.value.scale.ticks):p(n>0?0:n,e<0?0:e,F.value.scale.ticks)}),Zi=_(()=>Xi.value.ticks),Qi=_(()=>{let e=Xi.value,t=e.max+Math.abs(e.min);return Zi.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:hi.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}))}),$i=_(()=>{let e=F.value.y.axisLabels,{prefix:t,suffix:r}=I.value.dataLabels;return Zi.value.map(a=>String(ie(e.formatter,a,n({p:t,v:a,s:r,r:e.rounding}),{datapoint:{value:a}})??``)).join(`|`)});vt(()=>[$i.value,N.value.orientation,F.value.y.axisLabels.show,F.value.y.axisLabels.fontSize,F.value.y.axisLabels.bold,F.value.y.position],()=>{F.value.y.axisLabels.show&&Cr()},{flush:`post`});let ea=S([]),ta=S(!1),na=S([]),ra=0;yt(()=>{let e=++ra;if(B.value){let e=X.value.start;ea.value=U.value.slice(e,X.value.end).map((t,n)=>({text:t.name,absoluteIndex:e+n})),ta.value=!0}else(async()=>{let t=await Ie({values:L.value.values,maxDatapoints:Y.value,formatter:L.value.datetimeFormatter,start:X.value.start,end:X.value.end});e===ra&&(ea.value=t,ta.value=!0)})()});let ia=0;yt(()=>{let e=++ia;B.value?na.value=U.value.map(e=>({text:e.name,absoluteIndex:e.index})):(async()=>{let t=await Ie({values:L.value.values,maxDatapoints:Y.value,formatter:L.value.datetimeFormatter,start:0,end:Y.value});e===ia&&(na.value=t)})()});let aa=_(()=>{let e=Math.max(1,Math.floor(Number(L.value.modulo)||1)),t=(ea.value||[]).map(e=>e?.text??``),n=(na.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 oa(e){if(B.value){let e=X.value.start??0,t=X.value.end??U.value.length;return U.value.slice(e,t).map((t,n)=>({text:t.name,absoluteIndex:e+n}))}let t=L.value,n=ea.value||[],r=na.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,aa.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 sa=_(()=>oa(M.value)),ca=_(()=>oa(null));vt(()=>[ci.value.width,ci.value.height,hr.value,N.value.style.fontFamily,N.value.orientation,F.value,L.value,I.value,ca.value.map(e=>e?.text??``).join(`|`),$i.value,ta.value,er.value,j.value,G.value,X.value.start,X.value.end,ur.value,lr.value,sr.value,cr.value,fr.value,O.dataset],vi,{flush:`post`,deep:!0});let la=S({months:[],shortMonths:[],days:[],shortDays:[]}),ua=0;yt(()=>{let e=++ua,t=L.value.datetimeFormatter;(async()=>{let n=await Fe(t.locale).catch(()=>Fe(`en`));e===ua&&(la.value=n.data)})()});let da=_(()=>{let e=L.value.datetimeFormatter,t=Pe({useUTC:e.useUTC,locale:la.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{if(B.value)return U.value[e]?.name??``;let r=L.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),fa=_(()=>B.value?U.value.map(e=>({text:e.name,absoluteIndex:e.index})):(L.value.values||[]).map((e,t)=>({text:da.value(t,z.value.zoom.timeFormat),absoluteIndex:t}))),pa=_(()=>B.value?U.value.map(e=>({text:e.name,absoluteIndex:e.index})):(L.value.values||[]).map((e,t)=>({text:da.value(t,R.value.timeFormat),absoluteIndex:t}))),ma=_(()=>{let e=/* @__PURE__ */ new Map;return(L.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 ha(e){let t=(L.value.values||[])[e];if([null,void 0,``].includes(t))return`fallback-${e}`;let n=String(t);return(ma.value.get(n)||0)>1?`${n}-${e}`:n}function ga(e,t){return`${e.datasetKey}:${ha(t)}`}let $=_(()=>{if(!Hn.value&&!Or.value)return[];if(B.value)return zr.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(...Yi.value.positive)||0,o=Math.min(...Yi.value.negative),s=[-1/0,1/0,NaN,void 0,null].includes(o)?0:o,{min:c,max:l}=!I.value.distributed&&(F.value.scale.scaleMax!==null||F.value.scale.scaleMin!==null)?pe(F.value.scale.scaleMin===null?s>0?0:s:F.value.scale.scaleMin,F.value.scale.scaleMax===null?a<0?0:a:F.value.scale.scaleMax,F.value.scale.ticks):p(F.value.scale.scaleMin===null?s>0?0:s:F.value.scale.scaleMin,F.value.scale.scaleMax===null?a<0?0:a:F.value.scale.scaleMax,F.value.scale.ticks),u=l+(c>=0?0:Math.abs(c))||1,d=q.value.height,f=q.value.width,ee=Qi.value[0]?Qi.value[0].zero:q.value.bottom,m=Qi.value[0]?Qi.value[0].horizontal_zero:q.value.left,te=Array(Ki.value.length).fill(0),h=Array(Ki.value.length).fill(0);return J.value.filter(e=>!j.value.includes(e.id)).map(a=>{let o=a.series.slice(),s=o.map((e,t)=>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)=>ga(a,X.value.start+t)),re=o.map((e,t)=>ga(a,t)),ie=l.map((e,t)=>q.value.left+Q.value*t+Q.value*H.value/4),ae=(Ki.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*(H.value/4);return o.map((r,a)=>e+t*a+n)},ue=l.map((e,t)=>q.value.top+Q.value*t+Q.value*H.value/4),de=l.map((t,r)=>{let a=I.value.distributed?(t||0)/Wi.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(I.value.distributed)return o.map((t,n)=>{let r=Math.abs(Number(t)||0),a=Math.abs(Ki.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=I.value.distributed?(e||0)/Wi.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=I.value.distributed?(e||0)/Wi.value[t]:(e||0)/u;return e>0?d*n:d*Math.abs(n)}),he=({minimapH:e})=>{if(I.value.distributed)return o.map((t,n)=>Math.abs(Number(t)||0)/(Math.abs(Ki.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=I.value.distributed?(e||0)/Wi.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)=>I.value.distributed?(e||0)/Wi.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}})}),_a=_(()=>{if(!(Number(Mr.value)>0))return[];let e=$.value;if(!e.length)return[];let t=N.value.orientation===`vertical`,n=Math.max(0,Q.value*(1-H.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(Mr.value),d/2,f/2)}})});function va(e){if(_a.value[e])return`url(#stackbar-outer-clip-${A.value}-${X.value.start+e})`}function ya({minimapH:e,unitW:t}){let n=Number(Mr.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-H.value/2),o=t*(H.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 ba=_(()=>Ji.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function xa(e,t,r,a,o){let s=o===-1&&e>=0?-e:e;return ie(I.value.dataLabels.formatter,s,n({p:I.value.dataLabels.prefix,v:s,s:I.value.dataLabels.suffix,r:I.value.dataLabels.rounding}),{datapoint:t,seriesIndex:r,datapointIndex:a})}function Sa(e,t,r,a){return ie(I.value.dataLabels.formatter,e,n({v:isNaN(e)?0:e,s:`%`,r:I.value.dataLabels.rounding}),{datapoint:t,seriesIndex:r,datapointIndex:a})}function Ca(e){if(B.value){let t=wa(e),n=Br.value[e],r={datapoint:t,seriesIndex:e+X.value.start,waterfall:n};N.value.events.datapointClick?.(r),k(`selectDatapoint`,{...r,period:ea.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}));N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:t,seriesIndex:e+X.value.start}),k(`selectDatapoint`,{datapoint:t,period:ea.value[e]})}function wa(e){if(B.value){let t=Br.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:na.value[e]}))}function Ta(e){if(N.value.events.datapointLeave){let t=wa(e);N.value.events.datapointLeave({datapoint:t,seriesIndex:e+X.value.start})}Wn.value=!1,M.value=null,_r.value===e&&(_r.value=null)}let Ea=_(()=>Array(Y.value).fill(0).map((e,t)=>wa(t)));vt(()=>O.selectedXIndex,e=>{if([null,void 0].includes(O.selectedXIndex)){M.value=null;return}let t=e-X.value.start;t<0||e>=X.value.end?M.value=null:M.value=t??null},{immediate:!0});function Da(e){if(!R.value.showTimeLabel)return null;let t=ea.value?.[e]?.text||null,n=pa.value?.[e]?.text||null,r=na.value?.[e]?.text||null;return B.value?Br.value?.[e]?.name||null:R.value.useDefaultTimeFormat?t:n||r}function Oa(e,t=`pointer`){if(Gi.value)return;yr.value=t,_r.value=e,M.value=e,Wn.value=!0;let r=R.value.customFormat,o=wa(e);go({seriesIndex:e,datapoint:o}),N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:o,seriesIndex:e+X.value.start}),Gn.value={waterfall:B.value?Br.value[e]:null,timeLabel:Da(e),datapoint:o,seriesIndex:e,config:N.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:N.value})))Kn.value=r({seriesIndex:e,datapoint:o,series:$.value,config:N.value});else if(B.value){let t=Br.value[e];if(!t)return;let r=V.value.tooltip,a=e=>n({v:e,r:r.rounding}),o=t.segments.map(e=>`
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.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-rPeBMZrn.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-DnGoh-XS.js";import{t as we}from"./useThemeCheck-BKNRbGeC.js";import{t as Te}from"./img-D4RQwASc.js";import{n as Ee}from"./Title-BliHuXfT.js";import{t as De}from"./useChartExport-BZts4KFb.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-sVoTzet1.js";import{t as Re}from"./useTransitions-ChGGrtrv.js";import{t as ze}from"./useStableElementSize-CegFbRlF.js";import{t as Be}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Ve}from"./useTimeLabelCollider-BTybMUFi.js";import{t as He}from"./Shape-CRe8woTu.js";import{c as Ue}from"./canvas-lib-22VpOI4_.js";import{t as We}from"./useResponsive-CENUxfEL.js";import{t as Ge}from"./DefGrad-DKMq1REY.js";import{t as Ke}from"./SlicerPreview-CFFUOlQr.js";import{t as qe}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Je}from"./A11yDataTable-DWNlWXzs.js";import{t as Ye}from"./useUserOptionState-CXlFnwPv.js";import{t as Xe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ze}from"./Legend-DM0ClX3D.js";import{t as Qe}from"./vue_ui_stackbar-BkBIi_bL.js";import{Fragment as g,Teleport as $e,computed as _,createBlock as et,createCommentVNode as v,createElementBlock as y,createElementVNode as tt,createSlots as nt,createTextVNode as rt,createVNode as it,defineAsyncComponent as at,guardReactiveProps as ot,mergeProps as st,nextTick as ct,normalizeClass as b,normalizeProps as lt,normalizeStyle as ut,onBeforeUnmount as dt,onMounted as ft,openBlock as x,ref as S,renderList as C,renderSlot as w,resolveDynamicComponent as pt,shallowRef as mt,toDisplayString as T,toRefs as ht,unref as E,useSlots as gt,vShow as _t,watch as vt,watchEffect as yt,withCtx as D,withDirectives as bt}from"vue";var xt=/* @__PURE__ */ e({default:()=>An}),St=[`id`],Ct=[`id`],wt=[`id`],Tt={style:{position:`relative`}},Et=[`xmlns`,`aria-describedby`,`viewBox`],Dt=[`x`,`y`,`width`,`height`],Ot={key:1},kt={key:2},At={key:3},jt=[`id`],Mt=[`x`,`y`,`width`,`height`,`rx`],Nt=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],Pt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Ft=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],It=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Lt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Rt={key:0},zt=[`data-cy`,`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],Bt={key:0},Vt=[`x`,`y`,`height`,`clip-path`,`width`,`fill`,`stroke`,`stroke-width`],Ht=[`data-cy`,`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Ut={key:0},Wt=[`x`,`y`,`width`,`clip-path`,`height`,`fill`,`stroke`,`stroke-width`],Gt={key:9,style:{"pointer-events":`none`}},Kt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],qt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Jt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Yt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Xt=[`transform`,`font-size`,`fill`,`font-weight`],Zt=[`transform`,`font-size`,`fill`,`font-weight`],Qt=[`transform`,`font-size`,`font-weight`,`fill`],$t=[`transform`,`font-size`,`fill`,`font-weight`],en=[`transform`,`font-size`,`font-weight`,`fill`],tn={key:16,style:{"pointer-events":`none`}},nn=[`x`,`y`,`text-anchor`,`font-size`,`font-weight`,`fill`],rn=[`stroke`,`d`],an=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],on=[`d`,`stroke`],sn=[`font-size`,`font-weight`,`fill`,`text-anchor`,`transform`],cn={key:0},ln={key:1},un=[`text-anchor`,`font-size`,`font-weight`,`fill`,`transform`,`onClick`],dn=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],fn={key:0},pn={key:1},mn=[`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],hn=[`font-size`,`font-weight`,`fill`,`transform`,`onClick`,`innerHTML`],gn=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],_n=[`x`,`y`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`,`fill`],vn=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],yn=[`data-start`,`data-end`],bn={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},xn={key:4,class:`vue-data-ui-watermark`},Sn={key:0},Cn=[`id`],wn=[`x`,`y`,`width`,`height`,`rx`],Tn=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`clip-path`],En=[`id`],Dn=[`onClick`],On={key:0},kn={key:1},An=/*#__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:xt}){let An=at(()=>import(`./Tooltip-C1q0Qoh7.js`)),jn=at(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Mn=at(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Nn=at(()=>import(`./DataTable-0Vv-aGHD.js`)),Pn=at(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Fn=at(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),In=at(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),Ln=at(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_stackbar:Rn}=t(),{isThemeValid:zn,warnInvalidTheme:Bn}=we(),Vn=gt(),O=e,k=xt,Hn=_({get(){return!!O.dataset&&O.dataset.length},set(e){return e}}),Un=S(null),A=S(u()),Wn=S(!1),Gn=S(null),Kn=S(``),j=S([]),qn=S(0),Jn=S(null),Yn=S(null),Xn=S(null),Zn=S(null),Qn=S(!1),M=S(null),$n=S(!1),er=S(!1),tr=S(0),nr=S(0),rr=S(0),ir=S(!1),ar=S(null),or=S(null),sr=S(null),cr=S(null),lr=S(null),ur=S(null),dr=S(null),fr=S(null),pr=mt(null),mr=S(!1),hr=S(0),gr=S(0),_r=S(null),vr=S({x:0,y:0}),yr=S(`pointer`),br=ze({elementRef:pr,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{Cr()}});function xr(){pr.value=Un.value?.parentNode??null}function Sr(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function Cr(){let e=++gr.value;mr.value=!1,await ct(),await Sr(),await Sr(),e===gr.value&&(hr.value+=1,mr.value=!0)}let wr=S(null);ft(()=>{ir.value=!0,xr(),br.start(),mi()});let N=S(ei()),P=_(()=>N.value.userOptions),F=_(()=>N.value.style.chart.grid),I=_(()=>N.value.style.chart.bars),L=_(()=>{let e=N.value.style.chart.grid.x.timeLabels;if(!B.value)return e;let t=V.value.categoryLabels;return{...e,...t,values:U.value.map(e=>e.name),datetimeFormatter:{...e.datetimeFormatter,enable:!1}}}),R=_(()=>N.value.style.chart.tooltip),z=_(()=>N.value.style.chart);be({config:()=>N.value,dataset:()=>O.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:Tr}=Re({config:()=>N.value.transitions,dataset:()=>O.dataset}),Er=_(()=>N.value.userOptions.useCursorPointer),Dr=_(()=>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:N.value.skeletonConfig??{}})),{loading:Or,FINAL_DATASET:kr,manualLoading:Ar}=ve({...ht(O),FINAL_CONFIG:N,prepareConfig:ei,callback:()=>{Promise.resolve().then(async()=>{(!z.value.zoom.keepState||!lo.value||X.value.start===0&&X.value.end===0)&&await uo()})},skeletonDataset:O.config?.skeletonDataset??[{name:``,series:[2,3,5,8,13,21],color:`#BABABA`},{name:``,series:[1,2,3,5,8,13],color:`#CACACA`}],skeletonConfig:ae({defaultConfig:N.value,userConfig:Dr.value})}),jr=_(()=>(kr.value??[]).find(e=>e?.type===`waterfall`)??null),B=_(()=>!!jr.value&&!Or.value),V=_(()=>N.value.style.chart.waterfall),H=_(()=>{let e=Number(B.value?V.value.bars.gapRatio:I.value.gapRatio);return Number.isFinite(e)?Math.max(0,Math.min(1.9,e)):.45}),Mr=_(()=>B.value?V.value.bars.borderRadius:I.value.borderRadius);function Nr(e,t){return String(e?.key??e?.id??e?.name??`Segment ${t+1}`)}function Pr(e){return Array.isArray(e?.series)?e.series:[]}function Fr(e,t){let n=String(e?.type??(t===0?`total`:`change`)).toLowerCase();return[`total`,`subtotal`,`change`].includes(n)?n:`change`}let Ir=Object.freeze({total:`__waterfall_total__`,subtotal:`__waterfall_subtotal__`}),Lr=_(()=>{if(!B.value)return[];let e=/* @__PURE__ */ new Map;return(jr.value?.series??[]).forEach(t=>{Pr(t).forEach((t,n)=>{if(!t||typeof t!=`object`)return;let r=Nr(t,n);if(e.has(r))return;let a=e.size,o=l(t.color)||li.value[a%(li.value.length||1)]||s[a%s.length];e.set(r,{name:String(t.name??r),datasetKey:r,id:`waterfall-segment-${A.value}-${a}`,color:o,absoluteIndex:a})})}),Array.from(e.values())}),U=_(()=>{if(!B.value)return[];let e=jr.value,t=Array.isArray(e?.series)?e.series:[],n=new Set(Lr.value.filter(e=>!j.value.includes(e.id)).map(e=>e.datasetKey)),r=new Map(Lr.value.map(e=>[e.datasetKey,e.color])),a=V.value,o=Number(e.startValue??0);return Number.isFinite(o)||(o=0),t.map((e,t)=>{let s=Fr(e,t),c=s===`total`||s===`subtotal`,u=o,d=c?0:u,f=d,p=d,ee=0,m=Pr(e);c&&!m.length&&(m=[{name:s===`total`?`Total`:`Subtotal`,key:Ir[s],value:u}]);let te=[];m.forEach((t,o)=>{if(!t||typeof t!=`object`)return;let c=Nr(t,o);if(c!==Ir.total&&c!==Ir.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 Rr(e,t=`vertical`,n=q.value){let r=Xi.value.max-Xi.value.min||1,a=(e-Xi.value.min)/r;return t===`vertical`?n.bottom-a*n.height:n.left+a*n.width}let zr=_(()=>{let e=U.value,t=Lr.value.filter(e=>!j.value.includes(e.id)),n=e.slice(X.value.start,X.value.end);n.length;let r=H.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=Lr.value.length;for(let[t,n]of[`total`,`subtotal`].entries()){let r=Ir[n];e.some(e=>e.segments.some(e=>e.key===r))&&c.push({name:n===`total`?`Total`:`Subtotal`,datasetKey:r,color:V.value.colors[n],id:`waterfall-${n}-${A.value}`,absoluteIndex:l+t})}return c.map(t=>{let a=e.map(e=>e.segments.find(e=>e.key===t.datasetKey)??null),c=a.slice(X.value.start,X.value.end),l=a.map(e=>e?.value??0),u=c.map(e=>e?.value??0),d=c.map((e,t)=>{let n=q.value.left+Q.value*t+Q.value*r/4,a=q.value.top+Q.value*t+Q.value*r/4;if(!e)return{x:n,horizontal_y:a,top:0,height:0,left:0,width:0};let o=Rr(e.start),s=Rr(e.end),c=Rr(e.start,`horizontal`),l=Rr(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)=>ga(t,X.value.start+n)),minimapRectKeys:l.map((e,n)=>ga(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)}})}),Br=_(()=>U.value.slice(X.value.start,X.value.end)),Vr=_(()=>{let e=N.value.orientation===`vertical`,t=Q.value*(1-H.value/2);return Br.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=Rr(s,e?`vertical`:`horizontal`),u=Rr(c,e?`vertical`:`horizontal`),d=e?q.value.left+Q.value*r+Q.value*H.value/4:q.value.top+Q.value*r+Q.value*H.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,Mr.value),f/2,p/2),step:n,index:r}})});function Hr(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 Ur=_(()=>{if(!B.value||!V.value.connectors.show)return[];let e=N.value.orientation===`vertical`,t=V.value.connectors,n=Vr.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=Rr(c.step.end,e?`vertical`:`horizontal`),p=(t.adaptToRadius?Hr(c,f,e):0)+Number(t.inset||0),ee=(t.adaptToRadius?Hr(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}),Wr=_(()=>{if(!B.value||!V.value.stepLabels.show)return[];let e=N.value.orientation===`vertical`,t=V.value.stepLabels;return Vr.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 Gr(e,t){let n=V.value.segmentLabels;if(!n.show||!e.waterfallSegments?.[t]||e.series[t]===0&&!n.showZero)return!1;let r=N.value.orientation===`vertical`?e.height[t]:Q.value*(1-H.value/2),a=N.value.orientation===`vertical`?Q.value*(1-H.value/2):e.horizontal_width[t];return r>=n.minHeight&&a>=n.minWidth}function Kr(e,t){let r=e.waterfallSegments[t],a=V.value.segmentLabels;return ie(a.formatter,r.value,n({p:a.prefix,v:r.value,s:a.suffix,r:a.rounding}),{datapoint:{...r,step:Br.value[t]},seriesIndex:e.absoluteIndex,datapointIndex:X.value.start+t})}function qr(e,t){return B.value?V.value.bars.gradient.show?`url(#waterfall-gradient-${A.value}-${e.absoluteIndex}-${X.value.start+t})`:e.waterfallColors?.[t]||e.color:I.value.gradient.show?`url(#gradient_${e.id})`:e.color}function Jr(e){return ce(String(e??``))}let{userOptionsVisible:Yr,setUserOptionsVisibility:Xr,keepUserOptionState:Zr}=Ye({config:N.value}),{svgRef:W}=Xe({config:z.value.title});function Qr(){Xr(!0)}function $r(){Xr(!1),k(`selectX`,{index:null,indexLabel:null,dataset:null}),M.value=null,_r.value=null,Wn.value=!1}function ei(){let e=Ce({userConfig:O.config,defaultConfig:Rn}),t={};O.config&&he(O.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!O.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!zn.value(e))Bn(e),t=e;else{let r=Ce({userConfig:Qe[n]||O.config,defaultConfig:e});t={...Ce({userConfig:O.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:oe[n]||s}}}else t=e;return t}let ti=_(()=>I.value.dataLabels.hideUnderValue!=null),ni=_(()=>I.value.dataLabels.hideUnderPercentage!=null),ri=f(O.config);vt(()=>O.config,(e,t)=>{let n=f(e),r=n!==ri;ri=n;let a=ei();r?(Or.value||(N.value=a),Yr.value=!N.value.userOptions.showOnChartHover,G.value.dataLabels.show=B.value?V.value.segmentLabels.show||V.value.stepLabels.show:I.value.dataLabels.show,G.value.showTable=N.value.table.show,G.value.showTooltip=R.value.show,mi({resetSlicer:!z.value.zoom.keepState}),tr.value+=1,nr.value+=1,rr.value+=1,xr(),!z.value.zoom.keepState||!lo.value||X.value.start===0&&X.value.end===0?uo():Bi()):(N.value.style.chart.tooltip=a.style.chart.tooltip,G.value.showTooltip=N.value.style.chart.tooltip.show)},{deep:!0}),vt(()=>O.dataset,e=>{Array.isArray(e)&&e.length>0&&(Ar.value=!1),xr(),z.value.zoom.keepState?Bi():Ui()},{deep:!0});let G=S({dataLabels:{show:B.value?V.value.segmentLabels.show||V.value.stepLabels.show:I.value.dataLabels.show},showTable:N.value.table.show,showTooltip:R.value.show});vt(N,()=>{G.value={dataLabels:{show:B.value?V.value.segmentLabels.show||V.value.stepLabels.show:I.value.dataLabels.show},showTable:N.value.table.show,showTooltip:R.value.show}},{immediate:!0});let{isPrinting:ii,isImaging:ai,generatePdf:oi,generateImage:si}=Le({elementId:`stackbar_${A.value}`,fileName:z.value.title.text||`vue-ui-stackbar`,options:N.value.userOptions.print}),ci=S({width:z.value.width,height:z.value.height,paddingRatio:{top:z.value.padding.top/z.value.height,right:z.value.padding.right/z.value.width,bottom:z.value.padding.bottom/z.value.height,left:z.value.padding.left/z.value.width}}),li=_(()=>me(N.value.customPalette)),ui=mt(null),di=mt(null),fi=S(null),pi=_(()=>N.value.debug);function mi({resetSlicer:e=!0}={}){if(_e(O.dataset)?(m({componentName:`VueUiStackbar`,type:`dataset`,debug:pi.value}),Ar.value=!0):O.dataset.forEach((e,t)=>{ge({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{Hn.value=!1,m({componentName:`VueUiStackbar`,type:`datasetSerieAttribute`,property:e,index:t,debug:pi.value}),Ar.value=!0})}),_e(O.dataset)||(Ar.value=N.value.loading),setTimeout(()=>{$n.value=!0},10),N.value.responsive){let e=Ue(()=>{$n.value=!1;let{width:e,height:t}=We({chart:Un.value,title:z.value.title.text?Jn.value:null,legend:z.value.legend.show?Yn.value:null,slicer:z.value.zoom.show&&Y.value>6?Xn.value.$el:null,source:Zn.value});requestAnimationFrame(()=>{ci.value.width=e,ci.value.height=t-12,er.value=!0,clearTimeout(fi.value),fi.value=setTimeout(()=>{$n.value=!0},10)})});ui.value&&(di.value&&ui.value.unobserve(di.value),ui.value.disconnect()),ui.value=new ResizeObserver(e),di.value=Un.value.parentNode,ui.value.observe(di.value)}Cr(),e&&uo()}dt(()=>{br.stop(),ui.value&&(di.value&&ui.value.unobserve(di.value),ui.value.disconnect())});let hi=_(()=>F.value.y.position===`right`),{metrics:gi,ready:_i,settling:K,update:vi}=Be({svgRef:W,canMeasure:()=>(!N.value.responsive||er.value)&&(!L.value.show||ta.value),measure:e=>{let t=N.value.orientation===`horizontal`,n=t?ur.value:lr.value,r=t?lr.value:ur.value;return{scaleLabelsWidth:F.value.y.axisLabels.show?e(n).textWidth:0,yAxisLabelWidth:cr.value?e(cr.value).rotatedWidth+F.value.y.axisName.fontSize+F.value.y.axisName.offsetX:0,xAxisLabelHeight:e(sr.value).height,timeLabelsHeight:L.value.show?e(r).height:0,right:t&&fr.value?e(fr.value).textWidth+Math.max(2,I.value.totalValues.fontSize*.3+I.value.totalValues.offsetX)+I.value.totalValues.fontSize:0}}}),yi=_(()=>gi.value.xAxisLabelHeight+gi.value.timeLabelsHeight),q=_(()=>{let{height:e,width:t}=ci.value,{right:n}=ci.value.paddingRatio,r=B.value&&V.value.stepLabels.show?V.value.stepLabels.fontSize*1.5+V.value.stepLabels.offset:I.value.totalValues.show&&O.dataset&&O.dataset.length>1?I.value.totalValues.fontSize*1.3:0,{scaleLabelsWidth:a,yAxisLabelWidth:o}=gi.value,s=a+o,c=hi.value?0:s,l=hi.value?s:0,u=z.value.padding.top+r,d=t-t*n-gi.value.right-l,f=e-z.value.padding.bottom-yi.value-r,p=z.value.padding.left+c,ee=t-p-t*n-gi.value.right-l,m=e-u-z.value.padding.bottom-yi.value-r;return{chartHeight:e,chartWidth:t,top:u,right:d,bottom:f,left:p,width:Math.max(0,ee),height:Math.max(0,m),offsetLeft:c,offsetRightAxis:l,scaleLabelsWidth:a,yAxisLabelWidth:o}}),bi=_(()=>{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:z.value.zoom.preview.fill,stroke:z.value.zoom.preview.stroke,"stroke-width":z.value.zoom.preview.strokeWidth,"stroke-dasharray":z.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}};if(N.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(B.value){let e=jr.value.series??[];return Lr.value.map(t=>{let n=e.map(e=>Pr(e).filter((e,n)=>Nr(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 kr.value.map((e,t)=>{let n=u(),r=String(e.key??e.id??e.name??n),a=l(e.color)||li.value[t]||s[t]||s[t%s.length];return{...e,datasetKey:r,series:JSON.parse(JSON.stringify(e.series)).map(e=>I.value.distributed?Math.abs(e):e),signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:a}})}),Y=_(()=>{if(B.value)return jr.value.series?.length??0;let e=Math.max(...J.value.filter(e=>!j.value.includes(e.id)).map(e=>e.series.length));return isFinite(e)?e:Math.max(...J.value.map(e=>e.series.length))});function xi(e){wr.value=e}let X=S({start:0,end:Y.value}),Z=S({start:0,end:Y.value}),Si=S(!1),Ci=S(!1),wi=S(null),Ti=S(null),Ei=S(null),Di=S(!1),Oi=S({time:0,x:0,y:0,pointerType:null}),ki=_(()=>z.value.zoom?.dragToZoom),Ai=_(()=>ki.value.show&&Hn.value&&lo.value&&Y.value>1&&!Or.value),ji=null,Mi={},Ni=_(()=>z.value.zoom.preview.enable&&(Z.value.start!==X.value.start||Z.value.end!==X.value.end));function Pi(e,t){Z.value[e]=t}function Fi(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 Ii(e){let t=Fi(e);t&&k(`update:zoomState`,t)}function Li(){ji&&=(cancelAnimationFrame(ji),null),Mi={}}function Ri(e){let t=Fi(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(X.value.start)||r!==Number(X.value.end))&&(Li(),X.value={start:n,end:r},Z.value={start:n,end:r},Bi()),{start:Number(X.value.start),end:Number(X.value.end)}}function zi(e){let t=Ri(e);return t?(k(`update:zoomState`,t),t):null}function Bi(){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,Xn.value&&Xn.value.setRangeValues(t,n)}let Vi=S(null);function Hi(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}dt(()=>{Vi.value&&cancelAnimationFrame(Vi.value),Li(),Po()});async function Ui({force:e=!1,publish:t=!1}={}){if(z.value.zoom.keepState&&!e&&lo.value&&(X.value.start!==0||X.value.end!==0)){Bi();return}let n=!e;uo(n),await ct(),Vi.value&&cancelAnimationFrame(Vi.value),Vi.value=requestAnimationFrame(async()=>{await Hi(),uo(n),Vi.value=null,t&&(Ii({start:Number(X.value.start),end:Number(X.value.end)}),k(`zoomReset`))})}let Q=_(()=>{let e;return e=N.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}),Wi=_(()=>ne(J.value.filter(e=>!j.value.includes(e.id))).slice(X.value.start,X.value.end)),Gi=_(()=>j.value.length===J.value.length),Ki=_(()=>z.value.zoom.minimap.show?B.value?U.value.map(e=>e.balance):ne(J.value.map(e=>({...e,series:e.series.map(e=>e??0)})).filter(e=>Gi.value?!0:!j.value.includes(e.id))):[]),qi=_(()=>z.value.zoom.minimap.show?[{name:``,series:Ki.value,color:`#000000`,isVisible:!0}]:[]),Ji=_(()=>B.value?Br.value.map(e=>e.change):ne(J.value.filter(e=>!j.value.includes(e.id)).map(e=>({...e,series:e.series.map((t,n)=>e.signedSeries[n]===-1&&t>=0?-t:t)}))).slice(X.value.start,X.value.end)),Yi=_(()=>{let e=J.value.filter(e=>!j.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)})))}}),Xi=_(()=>{if(B.value){let e=[0,...Br.value.flatMap(e=>[e.start,e.end,...e.segments.flatMap(e=>[e.start,e.end])])],t=Math.min(...e),n=Math.max(...e),r=F.value.scale.scaleMin,a=F.value.scale.scaleMax,o=r===null?t:Number(r),s=a===null?n:Number(a);return r!==null||a!==null?pe(o,s,F.value.scale.ticks):p(o,s,F.value.scale.ticks)}let e=F.value.scale.scaleMax!==null&&!I.value.distributed?F.value.scale.scaleMax:Math.max(...Yi.value.positive),t=Math.min(...Yi.value.negative),n=F.value.scale.scaleMin!==null&&!I.value.distributed?F.value.scale.scaleMin:[-1/0,1/0,NaN,void 0,null].includes(t)?0:t;return!I.value.distributed&&(F.value.scale.scaleMax!==null||F.value.scale.scaleMin!==null)?pe(n>0?0:n,e<0?0:e,F.value.scale.ticks):p(n>0?0:n,e<0?0:e,F.value.scale.ticks)}),Zi=_(()=>Xi.value.ticks),Qi=_(()=>{let e=Xi.value,t=e.max+Math.abs(e.min);return Zi.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:hi.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}))}),$i=_(()=>{let e=F.value.y.axisLabels,{prefix:t,suffix:r}=I.value.dataLabels;return Zi.value.map(a=>String(ie(e.formatter,a,n({p:t,v:a,s:r,r:e.rounding}),{datapoint:{value:a}})??``)).join(`|`)});vt(()=>[$i.value,N.value.orientation,F.value.y.axisLabels.show,F.value.y.axisLabels.fontSize,F.value.y.axisLabels.bold,F.value.y.position],()=>{F.value.y.axisLabels.show&&Cr()},{flush:`post`});let ea=S([]),ta=S(!1),na=S([]),ra=0;yt(()=>{let e=++ra;if(B.value){let e=X.value.start;ea.value=U.value.slice(e,X.value.end).map((t,n)=>({text:t.name,absoluteIndex:e+n})),ta.value=!0}else(async()=>{let t=await Ie({values:L.value.values,maxDatapoints:Y.value,formatter:L.value.datetimeFormatter,start:X.value.start,end:X.value.end});e===ra&&(ea.value=t,ta.value=!0)})()});let ia=0;yt(()=>{let e=++ia;B.value?na.value=U.value.map(e=>({text:e.name,absoluteIndex:e.index})):(async()=>{let t=await Ie({values:L.value.values,maxDatapoints:Y.value,formatter:L.value.datetimeFormatter,start:0,end:Y.value});e===ia&&(na.value=t)})()});let aa=_(()=>{let e=Math.max(1,Math.floor(Number(L.value.modulo)||1)),t=(ea.value||[]).map(e=>e?.text??``),n=(na.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 oa(e){if(B.value){let e=X.value.start??0,t=X.value.end??U.value.length;return U.value.slice(e,t).map((t,n)=>({text:t.name,absoluteIndex:e+n}))}let t=L.value,n=ea.value||[],r=na.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,aa.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 sa=_(()=>oa(M.value)),ca=_(()=>oa(null));vt(()=>[ci.value.width,ci.value.height,hr.value,N.value.style.fontFamily,N.value.orientation,F.value,L.value,I.value,ca.value.map(e=>e?.text??``).join(`|`),$i.value,ta.value,er.value,j.value,G.value,X.value.start,X.value.end,ur.value,lr.value,sr.value,cr.value,fr.value,O.dataset],vi,{flush:`post`,deep:!0});let la=S({months:[],shortMonths:[],days:[],shortDays:[]}),ua=0;yt(()=>{let e=++ua,t=L.value.datetimeFormatter;(async()=>{let n=await Fe(t.locale).catch(()=>Fe(`en`));e===ua&&(la.value=n.data)})()});let da=_(()=>{let e=L.value.datetimeFormatter,t=Pe({useUTC:e.useUTC,locale:la.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{if(B.value)return U.value[e]?.name??``;let r=L.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),fa=_(()=>B.value?U.value.map(e=>({text:e.name,absoluteIndex:e.index})):(L.value.values||[]).map((e,t)=>({text:da.value(t,z.value.zoom.timeFormat),absoluteIndex:t}))),pa=_(()=>B.value?U.value.map(e=>({text:e.name,absoluteIndex:e.index})):(L.value.values||[]).map((e,t)=>({text:da.value(t,R.value.timeFormat),absoluteIndex:t}))),ma=_(()=>{let e=/* @__PURE__ */ new Map;return(L.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 ha(e){let t=(L.value.values||[])[e];if([null,void 0,``].includes(t))return`fallback-${e}`;let n=String(t);return(ma.value.get(n)||0)>1?`${n}-${e}`:n}function ga(e,t){return`${e.datasetKey}:${ha(t)}`}let $=_(()=>{if(!Hn.value&&!Or.value)return[];if(B.value)return zr.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(...Yi.value.positive)||0,o=Math.min(...Yi.value.negative),s=[-1/0,1/0,NaN,void 0,null].includes(o)?0:o,{min:c,max:l}=!I.value.distributed&&(F.value.scale.scaleMax!==null||F.value.scale.scaleMin!==null)?pe(F.value.scale.scaleMin===null?s>0?0:s:F.value.scale.scaleMin,F.value.scale.scaleMax===null?a<0?0:a:F.value.scale.scaleMax,F.value.scale.ticks):p(F.value.scale.scaleMin===null?s>0?0:s:F.value.scale.scaleMin,F.value.scale.scaleMax===null?a<0?0:a:F.value.scale.scaleMax,F.value.scale.ticks),u=l+(c>=0?0:Math.abs(c))||1,d=q.value.height,f=q.value.width,ee=Qi.value[0]?Qi.value[0].zero:q.value.bottom,m=Qi.value[0]?Qi.value[0].horizontal_zero:q.value.left,te=Array(Ki.value.length).fill(0),h=Array(Ki.value.length).fill(0);return J.value.filter(e=>!j.value.includes(e.id)).map(a=>{let o=a.series.slice(),s=o.map((e,t)=>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)=>ga(a,X.value.start+t)),re=o.map((e,t)=>ga(a,t)),ie=l.map((e,t)=>q.value.left+Q.value*t+Q.value*H.value/4),ae=(Ki.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*(H.value/4);return o.map((r,a)=>e+t*a+n)},ue=l.map((e,t)=>q.value.top+Q.value*t+Q.value*H.value/4),de=l.map((t,r)=>{let a=I.value.distributed?(t||0)/Wi.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(I.value.distributed)return o.map((t,n)=>{let r=Math.abs(Number(t)||0),a=Math.abs(Ki.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=I.value.distributed?(e||0)/Wi.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=I.value.distributed?(e||0)/Wi.value[t]:(e||0)/u;return e>0?d*n:d*Math.abs(n)}),he=({minimapH:e})=>{if(I.value.distributed)return o.map((t,n)=>Math.abs(Number(t)||0)/(Math.abs(Ki.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=I.value.distributed?(e||0)/Wi.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)=>I.value.distributed?(e||0)/Wi.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}})}),_a=_(()=>{if(!(Number(Mr.value)>0))return[];let e=$.value;if(!e.length)return[];let t=N.value.orientation===`vertical`,n=Math.max(0,Q.value*(1-H.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(Mr.value),d/2,f/2)}})});function va(e){if(_a.value[e])return`url(#stackbar-outer-clip-${A.value}-${X.value.start+e})`}function ya({minimapH:e,unitW:t}){let n=Number(Mr.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-H.value/2),o=t*(H.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 ba=_(()=>Ji.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function xa(e,t,r,a,o){let s=o===-1&&e>=0?-e:e;return ie(I.value.dataLabels.formatter,s,n({p:I.value.dataLabels.prefix,v:s,s:I.value.dataLabels.suffix,r:I.value.dataLabels.rounding}),{datapoint:t,seriesIndex:r,datapointIndex:a})}function Sa(e,t,r,a){return ie(I.value.dataLabels.formatter,e,n({v:isNaN(e)?0:e,s:`%`,r:I.value.dataLabels.rounding}),{datapoint:t,seriesIndex:r,datapointIndex:a})}function Ca(e){if(B.value){let t=wa(e),n=Br.value[e],r={datapoint:t,seriesIndex:e+X.value.start,waterfall:n};N.value.events.datapointClick?.(r),k(`selectDatapoint`,{...r,period:ea.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}));N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:t,seriesIndex:e+X.value.start}),k(`selectDatapoint`,{datapoint:t,period:ea.value[e]})}function wa(e){if(B.value){let t=Br.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:na.value[e]}))}function Ta(e){if(N.value.events.datapointLeave){let t=wa(e);N.value.events.datapointLeave({datapoint:t,seriesIndex:e+X.value.start})}Wn.value=!1,M.value=null,_r.value===e&&(_r.value=null)}let Ea=_(()=>Array(Y.value).fill(0).map((e,t)=>wa(t)));vt(()=>O.selectedXIndex,e=>{if([null,void 0].includes(O.selectedXIndex)){M.value=null;return}let t=e-X.value.start;t<0||e>=X.value.end?M.value=null:M.value=t??null},{immediate:!0});function Da(e){if(!R.value.showTimeLabel)return null;let t=ea.value?.[e]?.text||null,n=pa.value?.[e]?.text||null,r=na.value?.[e]?.text||null;return B.value?Br.value?.[e]?.name||null:R.value.useDefaultTimeFormat?t:n||r}function Oa(e,t=`pointer`){if(Gi.value)return;yr.value=t,_r.value=e,M.value=e,Wn.value=!0;let r=R.value.customFormat,o=wa(e);go({seriesIndex:e,datapoint:o}),N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:o,seriesIndex:e+X.value.start}),Gn.value={waterfall:B.value?Br.value[e]:null,timeLabel:Da(e),datapoint:o,seriesIndex:e,config:N.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:N.value})))Kn.value=r({seriesIndex:e,datapoint:o,series:$.value,config:N.value});else if(B.value){let t=Br.value[e];if(!t)return;let r=V.value.tooltip,a=e=>n({v:e,r:r.rounding}),o=t.segments.map(e=>`
|
|
2
2
|
<div style="display:flex;justify-content:space-between;gap:16px;align-items:center">
|
|
3
3
|
<span><span style="display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:2px;background:${e.color}"></span>${Jr(e.label)}</span>
|
|
4
4
|
<b>${Jr(a(e.value))}</b>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,B as r,D as i,Dt as a,Ft as o,Ht as s,J as c,Jt as l,M as u,Ot as d,P as f,S as p,U as m,X as h,Zt as g,_,_t as ee,at as v,b as te,c as ne,dt as re,en as ie,gt as ae,i as oe,in as se,nn as ce,nt as le,pt 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-rPeBMZrn.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-DnGoh-XS.js";import{t as we}from"./useThemeCheck-BKNRbGeC.js";import{t as Te}from"./img-D4RQwASc.js";import{n as Ee}from"./Title-BliHuXfT.js";import{t as De}from"./useChartExport-BZts4KFb.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-sVoTzet1.js";import{t as Re}from"./useTransitions-ChGGrtrv.js";import{t as ze}from"./useStableElementSize-CegFbRlF.js";import{t as Be}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Ve}from"./useTimeLabelCollider-BTybMUFi.js";import{t as He}from"./Shape-CRe8woTu.js";import{c as Ue}from"./canvas-lib-22VpOI4_.js";import{t as We}from"./useResponsive-CENUxfEL.js";import{t as Ge}from"./DefGrad-DKMq1REY.js";import{t as Ke}from"./SlicerPreview-CFFUOlQr.js";import{t as qe}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Je}from"./A11yDataTable-DWNlWXzs.js";import{t as Ye}from"./useUserOptionState-CXlFnwPv.js";import{t as Xe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ze}from"./Legend-DM0ClX3D.js";import{t as Qe}from"./vue_ui_stackline-D7b63K84.js";import{Fragment as y,Teleport as $e,computed as b,createBlock as x,createCommentVNode as S,createElementBlock as C,createElementVNode as w,createSlots as et,createTextVNode as tt,createVNode as nt,defineAsyncComponent as rt,guardReactiveProps as it,mergeProps as at,nextTick as ot,normalizeClass as T,normalizeProps as st,normalizeStyle as ct,onBeforeUnmount as lt,onMounted as ut,openBlock as E,ref as D,renderList as O,renderSlot as k,resolveDynamicComponent as dt,shallowRef as ft,toDisplayString as pt,toRefs as mt,unref as A,useSlots as ht,watch as gt,watchEffect as _t,withCtx as j}from"vue";var vt=/* @__PURE__ */ e({default:()=>ln}),yt=[`id`],bt=[`id`],xt=[`id`],St={style:{position:`relative`}},Ct=[`aria-describedby`,`xmlns`,`viewBox`],wt=[`id`],Tt=[`x`,`y`,`width`,`height`],Et={key:0},Dt=[`x`,`y`,`width`,`height`],Ot={key:1},kt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],At=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],jt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Mt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Nt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Pt=[`transform`,`font-size`,`fill`,`font-weight`],Ft=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],It=[`clip-path`],Lt=[`d`,`fill`,`opacity`],Rt=[`d`,`stroke`,`stroke-width`],zt=[`x1`,`x2`,`y1`,`y2`,`stroke`],Bt=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],Vt={key:0},Ht={key:1},Ut=[`text-anchor`,`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],Wt=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],Gt=[`x`,`y`,`height`,`width`,`fill`],Kt={key:0},qt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Jt=[`clip-path`],Yt={key:0},Xt=[`transform`,`font-size`,`fill`,`font-weight`],Zt=[`transform`,`font-size`,`font-weight`,`fill`],Qt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],$t=[`data-start`,`data-end`],en={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},tn={key:5,class:`vue-data-ui-watermark`},nn=[`onClick`],rn={key:0},an={key:1},on=[`innerHTML`],sn=[`id`],cn=280,ln=/*#__PURE__*/ Se({__name:`vue-ui-stackline`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},selectedXIndex:{type:Number,default:void 0},zoomState:{type:Object,default:null}},emits:[`selectDatapoint`,`selectLegend`,`selectTimeLabel`,`selectX`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:Se,emit:vt}){let ln=rt(()=>import(`./Tooltip-C1q0Qoh7.js`)),un=rt(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),dn=rt(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),fn=rt(()=>import(`./DataTable-0Vv-aGHD.js`)),pn=rt(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),mn=rt(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),hn=rt(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),gn=rt(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_stackline:_n}=t(),{isThemeValid:vn,warnInvalidTheme:yn}=we(),bn=ht(),M=e,N=vt,xn=b({get(){return!!M.dataset&&M.dataset.length},set(e){return e}}),Sn=D(null),P=D(h()),Cn=D(!1),F=D([]),wn=D(0),Tn=D(null),En=D(null),Dn=D(null),On=D(null),kn=D(null),An=D(!1),jn=D(!1),Mn=D(!1),Nn=D(0),Pn=D(0),Fn=D(0),In=D(!1),Ln=D(null),Rn=D(null),zn=D(!1),Bn=D(null),Vn=D(null),Hn=D(null),Un=D(null),Wn=D(null),Gn=ft(null),Kn=D(!1),qn=D(0),Jn=D(0),Yn=D(null),Xn=D({x:0,y:0}),Zn=D(`pointer`),Qn=ze({elementRef:Gn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{tr()}});function $n(){Gn.value=Sn.value?.parentNode??null}function er(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function tr(){let e=++Jn.value;Kn.value=!1,await ot(),await er(),await er(),e===Jn.value&&(qn.value+=1,Kn.value=!0)}let nr=D(null),rr=D(!1);function ir(){rr.value=!rr.value}ut(()=>{$n(),Qn.start(),In.value=!0,Ar(),tr()});let I=D(gr()),L=b(()=>I.value.userOptions),R=b(()=>I.value.style.chart.grid.x.timeLabels),z=b(()=>I.value.style.chart.grid),B=b(()=>I.value.style.chart.lines),V=b(()=>I.value.style.chart.tooltip),H=b(()=>I.value.style.chart);be({config:()=>I.value,dataset:()=>M.dataset,component:`VueUiStackline`,rules:[xe.emptyArray,{test:e=>e.some(e=>e.series.length>200),message:[`👀 Some series have > 200 datapoints, which can impact performance. Consider:`,``,`▶️ Aggregating data to larger time units, to reduce the number of datapoints.`,``,`▶️ Using filters to constraint the data to a specific time range.`]},{test:e=>e.length>6,message:[`👀 The number of series > 6, which can make the chart hard to read. Consider:`,``,`▶️ Grouping small values into an "Other" category.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`]}]});let{transitionEnabled:ar}=Re({config:()=>I.value.transitions,dataset:()=>M.dataset}),or=b(()=>I.value.userOptions.useCursorPointer),sr=b(()=>se({defaultConfig:{userOptions:{show:!1},useCssAnimation:!1,table:{show:!1},tooltip:{show:!1},style:{chart:{backgroundColor:`#99999930`,lines:{totalValues:{show:!1},dataLabels:{show:!1}},grid:{frame:{stroke:`#6A6A6A`},scale:{scaleMin:0,scaleMax:144},x:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},timeLabels:{show:!1}},y:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},axisLabels:{show:!1}}},legend:{backgroundColor:`transparent`},padding:{left:24,right:24,bottom:12},zoom:{show:!1,startIndex:null,endIndex:null,keepState:!1}}}},userConfig:I.value.skeletonConfig??{}})),{loading:cr,FINAL_DATASET:lr,manualLoading:ur}=ve({...mt(M),FINAL_CONFIG:I,prepareConfig:gr,callback:()=>{Promise.resolve().then(async()=>{(!H.value.zoom.keepState||!ra.value||Y.value.start===0&&Y.value.end===0)&&await aa()})},skeletonDataset:M.config?.skeletonDataset??[{name:``,series:[3,2,1,5,13,21,8,89,34,55],color:`#8A8A8A`},{name:``,series:[1,2,3,5,8,13,21,34,55,89],color:`#CACACA`}],skeletonConfig:se({defaultConfig:I.value,userConfig:sr.value})}),{userOptionsVisible:dr,setUserOptionsVisibility:fr,keepUserOptionState:pr}=Ye({config:I.value}),{svgRef:U}=Xe({config:H.value.title});function mr(){zn.value=!0,fr(!0)}function hr(){fr(!1),zn.value=!1,Yn.value=null,Zn.value=`pointer`,Cn.value=!1,$.value=null,N(`selectX`,{index:null,indexLabel:null,dataset:null})}function gr(){let e=Ce({userConfig:M.config,defaultConfig:_n}),t={};M.config&&he(M.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!M.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!vn.value(e))yn(e),t=e;else{let r=Ce({userConfig:Qe[n]||M.config,defaultConfig:e});t={...Ce({userConfig:M.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:ce[n]||s}}}else t=e;return t}let _r=b(()=>B.value.dataLabels.hideUnderValue!==null),vr=b(()=>B.value.dataLabels.hideUnderPercentage!==null),yr=g(M.config);gt(()=>M.config,(e,t)=>{let n=g(e),r=n!==yr;yr=n;let i=gr();r?(cr.value||(I.value=i),dr.value=!I.value.userOptions.showOnChartHover,W.value.dataLabels.show=B.value.dataLabels.show,W.value.showTable=I.value.table.show,W.value.showTooltip=V.value.show,Ar({resetSlicer:!H.value.zoom.keepState}),Nn.value+=1,Pn.value+=1,Fn.value+=1,G.value.width=H.value.width,G.value.height=H.value.height,G.value.paddingRatio={top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width},$n(),tr(),!H.value.zoom.keepState||!ra.value||Y.value.start===0&&Y.value.end===0?aa():wi()):(I.value.style.chart.tooltip=i.style.chart.tooltip,W.value.showTooltip=I.value.style.chart.tooltip.show)},{deep:!0}),gt(()=>M.dataset,e=>{Array.isArray(e)&&e.length>0&&(ur.value=!1),H.value.zoom.keepState?wi():Di(),$n(),tr()},{deep:!0});let W=D({dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show});gt(I,()=>{W.value={dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show}},{immediate:!0});let{isPrinting:br,isImaging:xr,generatePdf:Sr,generateImage:Cr}=Le({elementId:`stackline_${P.value}`,fileName:H.value.title.text||`vue-ui-stackline`,options:I.value.userOptions.print}),wr=b(()=>I.value.userOptions.show&&!H.value.title.text),G=D({width:H.value.width,height:H.value.height,paddingRatio:{top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width}}),Tr=b(()=>me(I.value.customPalette)),Er=ft(null),Dr=ft(null),Or=D(null),kr=b(()=>I.value.debug);function Ar({resetSlicer:e=!0}={}){if(_e(M.dataset)?(v({componentName:`VueUiStackline`,type:`dataset`,debug:kr.value}),ur.value=!0):M.dataset.forEach((e,t)=>{ge({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{xn.value=!1,v({componentName:`VueUiStackline`,type:`datasetSerieAttribute`,property:e,index:t,debug:kr.value}),ur.value=!0})}),_e(M.dataset)||(ur.value=I.value.loading),setTimeout(()=>{jn.value=!0},10),I.value.responsive){let e=Ue(()=>{jn.value=!1;let{width:e,height:t}=We({chart:Sn.value,noTitle:On.value,title:H.value.title.text?Tn.value:null,legend:H.value.legend.show?En.value:null,slicer:H.value.zoom.show&&J.value>6?Dn.value.$el:null,source:kn.value});requestAnimationFrame(()=>{G.value.width=e,G.value.height=t-12,Mn.value=!0,clearTimeout(Or.value),Or.value=setTimeout(()=>{jn.value=!0},10)})});Er.value&&(Dr.value&&Er.value.unobserve(Dr.value),Er.value.disconnect()),Er.value=new ResizeObserver(e),Dr.value=Sn.value.parentNode,Er.value.observe(Dr.value)}e&&aa()}lt(()=>{Qn.stop(),Er.value&&(Dr.value&&Er.value.unobserve(Dr.value),Er.value.disconnect())});let jr=b(()=>z.value.y.position===`right`),{metrics:Mr,ready:Nr,settling:Pr,update:Fr}=Be({svgRef:U,canMeasure:()=>(!I.value.responsive||Mn.value)&&(!R.value.show||Vi.value),measure:e=>{let t=Hn.value,n=Un.value;return{scaleLabelsWidth:z.value.y.axisLabels.show?e(t).textWidth:0,yAxisLabelWidth:Vn.value?e(Vn.value).rotatedWidth+z.value.y.axisName.fontSize+z.value.y.axisName.offsetX:0,xAxisLabelHeight:e(Bn.value).height,timeLabelsHeight:R.value.show?e(n).height:0,right:0}}}),Ir=b(()=>Mr.value.xAxisLabelHeight+Mr.value.timeLabelsHeight),K=b(()=>{let{height:e,width:t}=G.value,{right:n}=G.value.paddingRatio,r=B.value.totalValues.show&&M.dataset&&M.dataset.length>1?B.value.totalValues.fontSize*1.3:0,{scaleLabelsWidth:i,yAxisLabelWidth:a}=Mr.value,o=i+a,s=jr.value?0:o,c=jr.value?o:0,l=H.value.padding.top+r,u=t-t*n-Mr.value.right-c,d=e-H.value.padding.bottom-Ir.value-r,f=H.value.padding.left+s,p=t-f-t*n-Mr.value.right-c,m=e-l-H.value.padding.bottom-Ir.value-r;return{chartHeight:Math.max(0,e),chartWidth:Math.max(0,t),top:l,right:Math.max(0,u),bottom:Math.max(0,d),left:Math.max(0,f),width:Math.max(0,p),height:Math.max(0,m),offsetLeftAxis:s,offsetRightAxis:c,scaleLabelsWidth:i,yAxisLabelWidth:a}}),Lr=b(()=>{let{left:e,top:t,width:n,height:r}=K.value,i=Y.value.start,a=Y.value.end,o=Math.max(1,a-i),s=Math.max(0,Math.min(o,(Vr.value.start??i)-i)),c=Math.max(0,Math.min(o,(Vr.value.end??a)-i)),l=Math.max(0,c-s),u={fill:H.value.zoom.preview.fill,stroke:H.value.zoom.preview.stroke,"stroke-width":H.value.zoom.preview.strokeWidth,"stroke-dasharray":H.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}},d=n/o;return{x:e+s*d,y:t,width:l*d,height:r,...u}}),q=b(()=>lr.value.map((e,t)=>{let n=h(),r=p(e.color)||Tr.value[t]||s[t]||s[t%s.length];return{...e,shape:e.shape||`circle`,standalone:!!e.standalone,series:JSON.parse(JSON.stringify(e.series)).map(e=>B.value.distributed?Math.abs(e):e),seriesSource:e.series,signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:r}})),Rr=b(()=>q.value.filter(e=>!F.value.includes(e.id)&&!e.standalone)),zr=b(()=>q.value.filter(e=>!F.value.includes(e.id)&&e.standalone)),J=b(()=>{let e=Math.max(...q.value.filter(e=>!F.value.includes(e.id)).map(e=>e.series.length));return isFinite(e)?e:Math.max(...q.value.map(e=>e.series.length))});function Br(e){nr.value=e}let Y=D({start:0,end:Math.max(...lr.value.map(e=>e.series.length))}),Vr=D({start:0,end:Math.max(...lr.value.map(e=>e.series.length))}),Hr=D(!1),Ur=D(!1),Wr=D(!1),Gr=D(`matrix(1, 0, 0, 1, 0, 0)`),Kr=D(!1),qr=0,Jr=0,Yr=0,Xr=0,Zr=D(null),Qr=D(null),$r=D(null),ei=D(!1),ti=D({time:0,x:0,y:0,pointerType:null}),ni=b(()=>H.value.zoom?.dragToZoom),ri=b(()=>ni.value.show&&xn.value&&ra.value&&!cr.value),ii=null,ai={};function oi(e){return(Y.value.start??0)+(e??0)}let si=b(()=>H.value.zoom.preview.enable&&(Vr.value.start!==Y.value.start||Vr.value.end!==Y.value.end));function ci(e,t){Vr.value[e]=t}function li(e,t=Y.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function ui(e){let t=li(e);t&&N(`update:zoomState`,t)}function di(){ii&&=(cancelAnimationFrame(ii),null),ai={}}function fi(e=Y.value){return{start:Number(e.start),end:Number(e.end)}}function pi(e,t){let n=Number(K.value?.left)||0,r=Math.max(0,Number(K.value?.width)||0),i=Number(t?.start),a=Number(t?.end),o=a-i;return!Number.isFinite(e)||!Number.isFinite(i)||!Number.isFinite(a)||o<=0?n:o<=1?n+r/2:n+(e-i)/(o-1)*r}function mi(){if(B.value.distributed)return null;let e=(zi.value||[]).filter(e=>Number.isFinite(e?.value)&&Number.isFinite(e?.y));if(e.length<2)return null;let t=e.reduce((e,t)=>t.value<e.value?t:e),n=e.reduce((e,t)=>t.value>e.value?t:e);return n.value===t.value||n.y===t.y?null:{minValue:t.value,maxValue:n.value,minY:t.y,maxY:n.y}}function hi(e,t){if(!t||!Number.isFinite(e))return Number(K.value?.bottom)||0;let n=t.maxValue-t.minValue;if(!Number.isFinite(n)||n===0)return t.minY;let r=(e-t.minValue)/n;return t.minY+(t.maxY-t.minY)*r}function gi({previousRange:e,targetRange:t,previousYScale:n,targetYScale:r}){let i=Number(t.start),a=Number(t.end)-1,o=1,s=0;if(Number.isFinite(i)&&Number.isFinite(a)&&a>i){let n=pi(i,t),r=pi(a,t),c=pi(i,e),l=pi(a,e),u=r-n;Number.isFinite(u)&&Math.abs(u)>1e-9&&(o=(l-c)/u,s=c-o*n)}let c=1,l=0;if(n&&r){let e=r.minValue,t=r.maxValue,i=hi(e,r),a=hi(t,r),o=hi(e,n),s=hi(t,n),u=a-i;Number.isFinite(u)&&Math.abs(u)>1e-9&&(c=(s-o)/u,l=o-c*i)}return[o,s,c,l].every(Number.isFinite)?`matrix(${o}, 0, 0, ${c}, ${s}, ${l})`:`matrix(1, 0, 0, 1, 0, 0)`}function _i({resetTransform:e=!0}={}){Xr+=1,qr&&=(cancelAnimationFrame(qr),0),Jr&&=(cancelAnimationFrame(Jr),0),Yr&&=(clearTimeout(Yr),0),Kr.value=!1,Wr.value=!1,e&&(Gr.value=`matrix(1, 0, 0, 1, 0, 0)`)}function vi(e,t){return!U.value||cr.value||!xn.value||!e||!t||typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`)?.matches?!1:Number.isFinite(e.start)&&Number.isFinite(e.end)&&Number.isFinite(t.start)&&Number.isFinite(t.end)&&e.end>e.start&&t.end>t.start}function yi(e,t){let n=fi();if(!vi(e,n))return _i(),!1;let r=gi({previousRange:e,targetRange:n,previousYScale:t,targetYScale:mi()});if(r===`matrix(1, 0, 0, 1, 0, 0)`)return _i(),!1;_i();let i=++Xr;return Wr.value=!0,Kr.value=!1,Gr.value=r,qr=requestAnimationFrame(()=>{qr=0,Jr=requestAnimationFrame(()=>{Jr=0,i===Xr&&(Kr.value=!0,Gr.value=`matrix(1, 0, 0, 1, 0, 0)`,Yr=setTimeout(()=>{Yr=0,i===Xr&&(Kr.value=!1,Wr.value=!1)},cn))})}),!0}let bi=b(()=>({transform:Gr.value,transformOrigin:`0 0`,transformBox:`view-box`,transition:Kr.value?`transform ${cn}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:Wr.value?`transform`:void 0})),xi=b(()=>Wr.value?`url(#vue_ui_stackline_zoom_clip_${P.value})`:void 0);function Si(e,{transition:t=!1}={}){let n=li(e);if(!n)return null;let{start:r,end:i}=n;if(r!==Number(Y.value.start)||i!==Number(Y.value.end)){let e=fi(),n=mi();di(),Y.value={start:r,end:i},Vr.value={start:r,end:i},wi(),t&&yi(e,n)}return{start:Number(Y.value.start),end:Number(Y.value.end)}}function Ci(e,{transition:t=!0}={}){let n=Si(e,{transition:t});return n?(N(`update:zoomState`,n),n):null}function wi(){let e=J.value,t=Math.max(0,Math.min(Y.value.start??0,e-1)),n=Math.max(t+1,Math.min(Y.value.end??e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),Y.value.start=t,Y.value.end=n,Vr.value.start=t,Vr.value.end=n,Dn.value&&Dn.value.setRangeValues(t,n)}let Ti=D(null);function Ei(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}lt(()=>{Ti.value&&cancelAnimationFrame(Ti.value),di(),ya(),_i()});async function Di({force:e=!1,publish:t=!1,transition:n=e&&t}={}){if(H.value.zoom.keepState&&!e&&ra.value&&(Y.value.start!==0||Y.value.end!==0)){wi();return}let r=!e,i=n?fi():null,a=n?mi():null;aa(r),n&&yi(i,a),await ot(),Ti.value&&cancelAnimationFrame(Ti.value),Ti.value=requestAnimationFrame(async()=>{await Ei(),aa(r),Ti.value=null,t&&(ui({start:Number(Y.value.start),end:Number(Y.value.end)}),N(`zoomReset`))})}let Oi=b(()=>Math.max(0,K.value.width/(Y.value.end-Y.value.start))),ki=b(()=>ie(Rr.value.map(e=>({...e,series:e.series.map(e=>e??0)}))).slice(Y.value.start,Y.value.end)),Ai=b(()=>F.value.length===q.value.length),ji=b(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>Ai.value?!0:!F.value.includes(e.id)&&!e.standalone);if(e.length)return ie(e.map(e=>({...e,series:(e.series||[]).map(e=>e??0)})));let t=zr.value;if(!t.length)return[];let n=Math.max(...t.map(e=>e.series.length||0));return Array.from({length:n},(e,n)=>t.reduce((e,t)=>e+Math.abs(t.series[n]??0),0))}),Mi=b(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>Ai.value?!0:!F.value.includes(e.id)&&!e.standalone),t=zr.value,n=e.length?[{name:``,series:ji.value,color:`#000000`,isVisible:!0}]:[],r=t.map(e=>({name:e.name||``,series:(e.series||[]).map(e=>e??0),color:e.color,isVisible:!0}));return n.concat(r)}),Ni=b(()=>ie(Rr.value.filter(e=>!F.value.includes(e.id)).map(e=>({...e,series:e.series.map((t,n)=>{let r=t??0;return e.signedSeries[n]===-1&&r>=0?-r:r})}))).slice(Y.value.start,Y.value.end)),Pi=b(()=>{let e=Rr.value.filter(e=>!F.value.includes(e.id));return{positive:ie(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)>=0?e??0:0)}))),negative:ie(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)<0?e??0:0)})))}}),Fi=b(()=>{let e=Math.max(0,Y.value.end-Y.value.start),t=Array(e).fill(0),n=Array(e).fill(0);return zr.value.forEach(r=>{for(let i=0;i<e;i+=1){let e=r.series[Y.value.start+i]??0;e>0&&(t[i]=Math.max(t[i],e)),e<0&&(n[i]=Math.min(n[i],e))}}),{positive:t,negative:n}}),Ii=b(()=>Ni.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function Li(){return{y0:zi.value?.[0]?.zero??K.value.bottom}}function Ri(e){let{y0:t}=Li(),n=B.value.totalValues,r=Math.max(2,n.fontSize*1.3+n.offsetY),i=e=>Math.min(Math.max(e,K.value.top-B.value.totalValues.fontSize*1.3),K.value.bottom+B.value.totalValues.fontSize*2);if((Ii.value?.[e]?.value??0)>=0||B.value.distributed){let n=1/0;for(let t of X.value||[]){let r=t?.series?.[e],i=t?.topY?.[e];(r??0)>0&&Number.isFinite(i)&&i<n&&(n=i)}return i((Number.isFinite(n)?n:t)-r-B.value.totalValues.offsetY)}{let a=-1/0;for(let t of X.value||[]){let n=t?.series?.[e],r=t?.topY?.[e];(n??0)<0&&Number.isFinite(r)&&r>a&&(a=r)}return i((Number.isFinite(a)?a:t)+r+n.fontSize*.7+B.value.totalValues.offsetY)}}let zi=b(()=>{let e=Math.max(...Pi.value.positive,0),t=Math.min(...Pi.value.negative,0),n=Math.max(...Fi.value.positive,0),r=Math.min(...Fi.value.negative,0),i=Math.max(e,n),a=Math.min(t,r),o=[-1/0,1/0,NaN,void 0,null].includes(a)?0:a,s=z.value.scale.scaleMin,c=z.value.scale.scaleMax,l=!B.value.distributed&&(s!==null||c!==null),u=s!==null&&!B.value.distributed?s:o>0?0:o,d=c!==null&&!B.value.distributed?c:i<0?0:i,f=l?pe(u,d,z.value.scale.ticks):_(u,d,z.value.scale.ticks),p=Math.abs(Number(f.min)||0),m=(Number(f.max)||0)+p,h=m===0||!Number.isFinite(m)?1:m,g=Array.isArray(f.ticks)&&f.ticks.length?f.ticks:[0],ee=K.value.bottom-K.value.height*(p/h);return g.map(e=>{let t=Number(e)||0,n=K.value.bottom-K.value.height*((t+p)/h);return{zero:ee,y:n,x:jr.value?Z.value.right+8:Z.value.left-8,value:t}})}),Bi=D([]),Vi=D(!1),Hi=D([]),Ui=0;_t(()=>{let e=++Ui;(async()=>{let t=await Ie({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:Y.value.start,end:Y.value.end});e===Ui&&(Bi.value=t,Vi.value=!0)})()});let Wi=0;_t(()=>{let e=++Wi;(async()=>{let t=await Ie({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:0,end:J.value});e===Wi&&(Hi.value=t)})()});let Gi=b(()=>{let e=Math.max(1,Math.floor(Number(R.value.modulo)||1)),t=(Bi.value||[]).map(e=>e?.text??``),n=(Hi.value||[]).map(e=>e?.text??``),r=Y.value.start??0,i=r>0||t.length<n.length;return ae({configuredModulo:e,visibleTexts:t,allTexts:n,startAbs:r,isZoomed:i})});function Ki(e){let t=R.value,n=Bi.value||[],r=Hi.value||[],i=Y.value.start??0,a=J.value,o=n.map(e=>e?.text??``),s=r.map(e=>e?.text??``),c=ne(!!t.showOnlyFirstAndLast,!!t.showOnlyAtModulo,Gi.value,o,s,i,e,a);if(!t.showFirstAndLast||t.showOnlyFirstAndLast||!c.length)return c;let l=c.length-1;return c.map((e,t)=>t!==0&&t!==l?e:{...e,text:o[t]??``})}let qi=b(()=>Ki($.value)),Ji=b(()=>Ki(null));gt(()=>[G.value.width,G.value.height,qn.value,I.value.style.fontFamily,z.value,R.value,B.value,Ji.value.map(e=>e?.text??``).join(`|`),M.dataset,Vi.value,Mn.value,F.value,W.value,Y.value.start,Y.value.end,Un.value,Hn.value,Bn.value,Vn.value],Fr,{flush:`post`,deep:!0});let Yi=D({months:[],shortMonths:[],days:[],shortDays:[]}),Xi=0;_t(()=>{let e=++Xi,t=R.value.datetimeFormatter;(async()=>{let n=await Fe(t.locale).catch(()=>Fe(`en`));e===Xi&&(Yi.value=n.data)})()});let Zi=b(()=>{let e=R.value.datetimeFormatter,t=Pe({useUTC:e.useUTC,locale:Yi.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{let r=R.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),Qi=b(()=>(R.value.values||[]).map((e,t)=>({text:Zi.value(t,H.value.zoom.timeFormat),absoluteIndex:t}))),$i=b(()=>(R.value.values||[]).map((e,t)=>({text:Zi.value(t,V.value.timeFormat),absoluteIndex:t}))),ea=b(()=>{if(!xn.value&&!cr.value)return[];let e=K.value.height,t=zi.value[0]?zi.value[0].zero:K.value.bottom,n=Y.value.start??0,r=Y.value.end??0,i=Math.max(1,r-n),a=Math.max(...Pi.value.positive,0),o=Math.min(...Pi.value.negative,0),s=Math.max(...Fi.value.positive,0),c=Math.min(...Fi.value.negative,0),l=Math.max(a,s),u=Math.min(o,c),{min:d,max:f}=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?pe(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks),p=f+(d>=0?0:Math.abs(d))||1,m=Array(i).fill(0),h=Array(i).fill(0),g=e=>i<=1?K.value.left+K.value.width/2:K.value.left+e/(i-1)*K.value.width;return q.value.filter(e=>!F.value.includes(e.id)).map(r=>{let a=[],o=[],s=[],c=Array(i).fill(null),l=Array(i).fill(null);for(let u=0;u<i;u+=1){let i=n+u,d=r.series?.[i],f=r.signedSeries?.[i],g=d==null||Number.isNaN(d)?0:d,_=r.standalone?g/p:B.value.distributed?g/(ki.value[u]||1):g/p;if(g>=0){let n=e*Math.abs(_);if(r.standalone)c[u]=t,l[u]=t-n;else{let e=m[u],r=e+n;c[u]=t-e,l[u]=t-r,m[u]=r}}else{let n=e*Math.abs(_);if(r.standalone)c[u]=t,l[u]=t+n;else{let e=h[u],r=e+n;c[u]=t+e,l[u]=t+r,h[u]=r}}a.push(u),o.push(g),s.push(f??(g>=0?1:-1))}let u=a.map(e=>({x:g(e),y:l[e]})),d=u.map(e=>e.x),f=o.reduce((e,t)=>e+Math.abs(t||0),0),_=f===0?1:f,ee=o.map((e,t)=>{if(B.value.distributed&&!r.standalone){let n=a[t],r=ki.value[n]||1;return(e||0)/r}return(e||0)/_});return{...r,x:d,points:u,baseY:a.map(e=>c[e]),topY:a.map(e=>l[e]),series:o,signedSeries:s,proportions:ee,rel:a,fullSeries:Array.isArray(r.fullSeries)?r.fullSeries:r.series}})}),X=b(()=>{let e=e=>typeof e==`string`?e.replace(/^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i,``).trim():``,t=Math.max(...Pi.value.positive,0),n=Math.min(...Pi.value.negative,0),r=Math.max(...Fi.value.positive,0),i=Math.min(...Fi.value.negative,0),a=Math.max(t,r),o=Math.min(n,i),s=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?pe(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks),c=Number(s.min)||0,l=Number(s.max)||0,u=Math.abs(c),d=l+u||1,p=e=>{if(B.value.distributed){let t=Math.max(0,Math.min(1,e));return minimapH-minimapH*t}return clampY(minimapH-minimapH*(((e??0)+u)/d))};return ea.value.map(t=>{let n=t.x.length,r=Array.isArray(t.fullSeries)?t.fullSeries:t.series,i=({left:e=0,unitW:t})=>{let n=r.length;return!Number.isFinite(t)||t<=0||n<=0?[]:n===1?[e+t*.5]:r.map((n,r)=>e+r*t)},a=({minimapH:e})=>!Number.isFinite(e)||e<=0?[]:r.map(t=>p(t||0,e)),o=({minimapH:e})=>{if(!Number.isFinite(e)||e<=0)return[];let t=p(0,e);return r.map(()=>t)};if(n===0)return{...t,points:[],smoothPath:``,straightPath:``,smoothArea:``,straightArea:``,xMinimap:i,yMinimap:a,yMinimapBase:o};let s=t.x.map((e,n)=>({x:e,y:t.topY[n]})),c=t.x.map((e,n)=>({x:e,y:t.baseY[n]})),l=n>=2?f(s):`M${s[0].x},${s[0].y}`,u=n>=2?m(s):`M${s[0].x},${s[0].y}`,d=n>=2?`M${e(l)}`:l,h=n>=2?`M${e(u)}`:u,g=``,_=``;if(B.value.useArea&&n>=2){let t=f([...c].reverse()),n=m([...c].reverse()),r=c[c.length-1];g=`M${s[0].x},${s[0].y} ${e(l)} L${r.x},${r.y} ${e(t)} Z`,_=`M${s[0].x},${s[0].y} ${e(u)} L${r.x},${r.y} ${e(n)} Z`}return{...t,points:s,smoothPath:d,straightPath:h,smoothArea:g,straightArea:_,xMinimap:i,yMinimap:a,yMinimapBase:o}})}),ta=b(()=>$.value===null||$.value===void 0?null:{timeLabel:za($.value),absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ra.value,series:X.value,config:I.value}),na=D(!1),ra=D(!1);function ia(e,t=Y.value.start){let n=J.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function aa(e=!0){if(!na.value){na.value=!0;try{let{startIndex:t,endIndex:n,keepState:r}=H.value.zoom,i=r?Math.max(0,J.value):J.value;if(r&&i<=0)return;let a=t??0,o=n==null?i:Math.min(ia(n+1,a),i);ua.value=!0,Y.value.start=a,Y.value.end=o,Vr.value.start=a,Vr.value.end=o,wi(),ra.value=!0,e&&M.zoomState&&Si(M.zoomState)}finally{queueMicrotask(()=>{ua.value=!1}),na.value=!1}}}function oa(e){ai={...ai,...e},ii&&cancelAnimationFrame(ii),ii=requestAnimationFrame(()=>{let e={...Y.value,...ai};ai={},ii=null,Y.value=e,Vr.value={...e},wi(),ui({start:Number(Y.value.start),end:Number(Y.value.end)})})}function sa(e){if(na.value||ua.value)return;let t=Number(e);Number.isFinite(t)&&(N(`zoomStart`,{index:t,isZoom:t!==0}),t!==Y.value.start&&oa({start:t}))}function ca(e){if(na.value||ua.value)return;let t=ai.start===void 0?Y.value.start:ai.start,n=ia(Number(e),t);Number.isFinite(n)&&(N(`zoomEnd`,{index:n,isZoom:n!==J.value}),(n!==Y.value.end||ai.start!==void 0)&&oa({end:n}))}let Z=b(()=>({left:K.value.left,right:K.value.right,width:K.value.width})),la=b(()=>{let e=z.value.y.axisLabels,{prefix:t,suffix:r}=B.value.dataLabels;return zi.value.map(i=>String(oe(e.formatter,i.value,n({p:t,v:i.value,s:r,r:e.rounding}),{datapoint:i})??``)).join(`|`)});gt([la,()=>z.value.y.axisLabels.show,()=>z.value.y.axisLabels.fontSize,()=>z.value.y.axisLabels.bold,()=>z.value.y.position],()=>{z.value.y.axisLabels.show&&tr()},{flush:`post`});let ua=D(!1);gt([()=>M.zoomState,ra],([e,t])=>{t&&e&&Si(e,{transition:!0})},{deep:!0,immediate:!0});let da=b(()=>G.value.width),fa=b(()=>G.value.height);Ve({timeLabelsEls:Un,timeLabels:Bi,slicer:Y,configRef:I,rotationPath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:da,height:fa,rotation:R.value.autoRotate.angle});let pa=D(null);function ma(e){let t=U.value;if(!t)return null;if(t.createSVGPoint&&t.getScreenCTM){let n=t.createSVGPoint();n.x=e.clientX,n.y=e.clientY;let r=t.getScreenCTM();if(r){let e=n.matrixTransform(r.inverse());return{x:e.x,y:e.y,ok:!0}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},i=Math.min(n.width/r.width,n.height/r.height),a=r.width*i,o=r.height*i,s=(n.width-a)/2,c=(n.height-o)/2;return{x:(e.clientX-n.left-s)/i+r.x,y:(e.clientY-n.top-c)/i+r.y,ok:!0}}let ha=b(()=>!Hr.value||Zr.value==null||Qr.value==null?null:{x:Math.min(Zr.value,Qr.value),y:K.value.top,width:Math.abs(Qr.value-Zr.value),height:K.value.height}),ga=b(()=>ra.value?Number(Y.value.start)!==0||Number(Y.value.end)!==Number(J.value):!1);function _a(e){return Math.min(Math.max(e,K.value.left),K.value.right)}function va(){Aa&&=(cancelAnimationFrame(Aa),0),pa.value=null,nr.value=null,Yn.value=null,$.value=null,Va(!1,null)}function ya(e){let t=e?.pointerId==null?$r.value:e.pointerId;t!=null&&U.value?.hasPointerCapture?.(t)&&U.value.releasePointerCapture(t),Hr.value=!1,Zr.value=null,Qr.value=null,$r.value=null}function ba(){ei.value=!0,setTimeout(()=>{ei.value=!1},0)}function xa(e){if(!ri.value||!ga.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=ti.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?(ti.value={time:0,x:0,y:0,pointerType:null},ba(),ya(e),Di({force:!0,publish:!0}),!0):(ti.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function Sa(e){if(Q.value<=0)return null;if(Q.value===1||ja.value<=0)return 0;let t=(_a(e)-K.value.left)/ja.value;return Math.max(0,Math.min(Q.value-1,Math.round(t)))}function Ca(e,t){let n=Sa(e),r=Sa(t);if(n==null||r==null)return null;let i=Math.min(n,r),a=Math.max(n,r);return a<=i?null:{start:Number(Y.value.start)+i,end:Number(Y.value.start)+a+1}}function wa(e){let t=Ci(e,{transition:!0});return t?(N(`zoomStart`,{index:t.start,isZoom:t.start!==0}),N(`zoomEnd`,{index:t.end,isZoom:t.end!==J.value}),t):null}function Ta(){Ur.value=!0,U.value?.classList?.add(`vue-ui-stackline-chart-zoom-pointer-focus`)}function Ea(){Ur.value=!1,U.value?.classList?.remove(`vue-ui-stackline-chart-zoom-pointer-focus`)}function Da(e){if(!ri.value||rr.value||e.button!==void 0&&e.button!==0||$r.value!=null&&e.pointerId!==$r.value)return;let t=ma(e);if(!t)return;let{left:n,right:r,top:i,bottom:a}=K.value;t.x<n||t.x>r||t.y<i||t.y>a||Q.value<=1||(Ta(),U.value?.focus?.({preventScroll:!0}),va(),$r.value=e.pointerId,Hr.value=!0,Zr.value=_a(t.x),Qr.value=_a(t.x))}function Oa(e){if(!ri.value||!Hr.value||$r.value!=null&&e.pointerId!==$r.value)return;let t=ma(e);t&&(Qr.value=_a(t.x),Zr.value!=null&&Math.abs(Qr.value-Zr.value)>=2&&!U.value?.hasPointerCapture?.(e.pointerId)&&U.value?.setPointerCapture?.(e.pointerId))}function ka(e){if(!ri.value||!Hr.value||$r.value!=null&&e.pointerId!==$r.value)return;let t=ma(e);t&&(Qr.value=_a(t.x));let n=Zr.value,r=Qr.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,K.value.width*.01)){if(xa(e))return;ya(e);return}let i=Ca(Math.min(n,r),Math.max(n,r));i?(ya(e),wa(i)&&(ti.value={time:0,x:0,y:0,pointerType:null},va(),ba())):ya(e)}let Aa=0,Q=b(()=>Math.max(1,Y.value.end-Y.value.start)),ja=b(()=>Q.value>1?K.value.width/(Q.value-1):0);function Ma(e){return Q.value<=1?K.value.left+K.value.width/2:K.value.left+e*ja.value}function Na(e){if(Q.value<=1)return{x:K.value.left,width:K.value.width};let t=e===0?K.value.left:(Ma(e-1)+Ma(e))/2,n=e===Q.value-1?K.value.left+K.value.width:(Ma(e)+Ma(e+1))/2;return{x:t,width:Math.max(0,n-t)}}function Pa(e){rr.value||Hr.value||(Aa&&cancelAnimationFrame(Aa),Aa=requestAnimationFrame(()=>{Aa=0;let t=ma(e);if(!t||!U.value){La();return}let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a){La();return}let o=0;if(Q.value>1){let e=(t.x-n)/ja.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),pa.value!==o&&(pa.value=o,Va(!0,o))}))}function Fa(e){if(ei.value){ei.value=!1;return}if(Hr.value)return;let t=ma(e);if(!t||!U.value)return;let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a)return;let o=0;if(Q.value>1){let e=(t.x-n)/ja.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),Co({seriesIndex:o,datapoint:ho(o)}),Ia(o)}function Ia(e){let t=JSON.parse(JSON.stringify(X.value)).map(t=>({name:t.name,value:t.series[e]===0?0:t.series[e]||null,proportion:t.proportions[e]||null,color:t.color,id:t.id}));I.value.events.datapointClick&&I.value.events.datapointClick({datapoint:t,seriesIndex:e+Y.value.start}),N(`selectDatapoint`,{datapoint:t,period:Bi.value[e]})}gt(()=>[Y.value.start,Y.value.end,X.value.length],()=>{let e=Q.value;$.value!=null&&(e<=0?$.value=null:($.value<0&&($.value=0),$.value>e-1&&($.value=e-1)))});function La(){Aa&&=(cancelAnimationFrame(Aa),0),pa.value=null,Va(!1,null)}let $=D(null),Ra=b(()=>{let e=$.value,t=e==null?null:oi(e);return X.value.map(n=>({slotAbsoluteIndex:n.absoluteIndex,shape:n.shape||`circle`,name:n.name,color:n.color,value:e==null?null:n.series.find((t,n)=>n===e),sourceValue:t==null?null:n.seriesSource?.[t],comments:n.comments||[],id:n.id,standalone:!!n.standalone}))});function za(e){if(e==null||!V.value.showTimeLabel)return null;let t=Bi.value?.[e]?.text||null,n=$i.value?.[e]?.text||null,r=Hi.value?.[e]?.text||null;return V.value.useDefaultTimeFormat?t:n||r}let Ba=b(()=>{let e=V.value.customFormat,t=[...Ra.value].reverse(),i=t.filter(e=>!e.standalone),o=t.filter(e=>e.standalone),s=i.map(e=>e.value).filter(e=>d(e)&&e!==null).reduce((e,t)=>Math.abs(e)+Math.abs(t),0);if(a(e)&&ue(()=>e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ra.value,series:q.value,config:I.value})))return e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ra.value,series:q.value,config:I.value});let{showValue:c,showTotal:l,totalTranslation:f,showPercentage:p,borderColor:m,roundingValue:h,roundingPercentage:g}=V.value,_=e=>!e.shape||![`star`,`triangle`,`square`,`diamond`,`pentagon`,`hexagon`].includes(e.shape)?`<svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" /></svg>`:e.shape===`star`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><polygon stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" points="${r({plot:{x:6,y:6},radius:5})}" /></svg>`:e.shape===`triangle`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:6,sides:3,rotation:.52}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`square`?`<svg viewBox="0 0 12 12" height="14" width="14"><path d="${u({plot:{x:6,y:6},radius:6,sides:4,rotation:.8}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`diamond`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:5,sides:4,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`pentagon`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:5,sides:5,rotation:.95}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:5,sides:6,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`,ee=(e,t)=>{let r=t?n({v:isNaN((e.value??0)/(s||1))?0:Math.abs(e.value??0)/(s||1)*100,s:`%`,r:g}):``,i=c&&t?`(`:``,a=c&&t?`)`:``;return`
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,B as r,D as i,Dt as a,Ft as o,Ht as s,J as c,Jt as l,M as u,Ot as d,P as f,S as p,U as m,X as h,Zt as g,_,_t as ee,at as v,b as te,c as ne,dt as re,en as ie,gt as ae,i as oe,in as se,nn as ce,nt as le,pt 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-rPeBMZrn.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-DnGoh-XS.js";import{t as we}from"./useThemeCheck-BKNRbGeC.js";import{t as Te}from"./img-D4RQwASc.js";import{n as Ee}from"./Title-BliHuXfT.js";import{t as De}from"./useChartExport-BZts4KFb.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-sVoTzet1.js";import{t as Re}from"./useTransitions-ChGGrtrv.js";import{t as ze}from"./useStableElementSize-CegFbRlF.js";import{t as Be}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Ve}from"./useTimeLabelCollider-BTybMUFi.js";import{t as He}from"./Shape-CRe8woTu.js";import{c as Ue}from"./canvas-lib-22VpOI4_.js";import{t as We}from"./useResponsive-CENUxfEL.js";import{t as Ge}from"./DefGrad-DKMq1REY.js";import{t as Ke}from"./SlicerPreview-CFFUOlQr.js";import{t as qe}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Je}from"./A11yDataTable-DWNlWXzs.js";import{t as Ye}from"./useUserOptionState-CXlFnwPv.js";import{t as Xe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ze}from"./Legend-DM0ClX3D.js";import{t as Qe}from"./vue_ui_stackline-D7b63K84.js";import{Fragment as y,Teleport as $e,computed as b,createBlock as x,createCommentVNode as S,createElementBlock as C,createElementVNode as w,createSlots as et,createTextVNode as tt,createVNode as nt,defineAsyncComponent as rt,guardReactiveProps as it,mergeProps as at,nextTick as ot,normalizeClass as T,normalizeProps as st,normalizeStyle as ct,onBeforeUnmount as lt,onMounted as ut,openBlock as E,ref as D,renderList as O,renderSlot as k,resolveDynamicComponent as dt,shallowRef as ft,toDisplayString as pt,toRefs as mt,unref as A,useSlots as ht,watch as gt,watchEffect as _t,withCtx as j}from"vue";var vt=/* @__PURE__ */ e({default:()=>ln}),yt=[`id`],bt=[`id`],xt=[`id`],St={style:{position:`relative`}},Ct=[`aria-describedby`,`xmlns`,`viewBox`],wt=[`id`],Tt=[`x`,`y`,`width`,`height`],Et={key:0},Dt=[`x`,`y`,`width`,`height`],Ot={key:1},kt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],At=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],jt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Mt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Nt=[`x`,`y`,`font-size`,`fill`,`font-weight`],Pt=[`transform`,`font-size`,`fill`,`font-weight`],Ft=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`],It=[`clip-path`],Lt=[`d`,`fill`,`opacity`],Rt=[`d`,`stroke`,`stroke-width`],zt=[`x1`,`x2`,`y1`,`y2`,`stroke`],Bt=[`transform`,`font-size`,`font-weight`,`fill`,`text-anchor`],Vt={key:0},Ht={key:1},Ut=[`text-anchor`,`font-size`,`font-weight`,`fill`,`stroke`,`transform`,`onClick`],Wt=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`,`onClick`],Gt=[`x`,`y`,`height`,`width`,`fill`],Kt={key:0},qt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Jt=[`clip-path`],Yt={key:0},Xt=[`transform`,`font-size`,`fill`,`font-weight`],Zt=[`transform`,`font-size`,`font-weight`,`fill`],Qt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],$t=[`data-start`,`data-end`],en={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},tn={key:5,class:`vue-data-ui-watermark`},nn=[`onClick`],rn={key:0},an={key:1},on=[`innerHTML`],sn=[`id`],cn=280,ln=/*#__PURE__*/ Se({__name:`vue-ui-stackline`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},selectedXIndex:{type:Number,default:void 0},zoomState:{type:Object,default:null}},emits:[`selectDatapoint`,`selectLegend`,`selectTimeLabel`,`selectX`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:Se,emit:vt}){let ln=rt(()=>import(`./Tooltip-C1q0Qoh7.js`)),un=rt(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),dn=rt(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),fn=rt(()=>import(`./DataTable-0Vv-aGHD.js`)),pn=rt(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),mn=rt(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),hn=rt(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),gn=rt(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_stackline:_n}=t(),{isThemeValid:vn,warnInvalidTheme:yn}=we(),bn=ht(),M=e,N=vt,xn=b({get(){return!!M.dataset&&M.dataset.length},set(e){return e}}),Sn=D(null),P=D(h()),Cn=D(!1),F=D([]),wn=D(0),Tn=D(null),En=D(null),Dn=D(null),On=D(null),kn=D(null),An=D(!1),jn=D(!1),Mn=D(!1),Nn=D(0),Pn=D(0),Fn=D(0),In=D(!1),Ln=D(null),Rn=D(null),zn=D(!1),Bn=D(null),Vn=D(null),Hn=D(null),Un=D(null),Wn=D(null),Gn=ft(null),Kn=D(!1),qn=D(0),Jn=D(0),Yn=D(null),Xn=D({x:0,y:0}),Zn=D(`pointer`),Qn=ze({elementRef:Gn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{tr()}});function $n(){Gn.value=Sn.value?.parentNode??null}function er(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function tr(){let e=++Jn.value;Kn.value=!1,await ot(),await er(),await er(),e===Jn.value&&(qn.value+=1,Kn.value=!0)}let nr=D(null),rr=D(!1);function ir(){rr.value=!rr.value}ut(()=>{$n(),Qn.start(),In.value=!0,Ar(),tr()});let I=D(gr()),L=b(()=>I.value.userOptions),R=b(()=>I.value.style.chart.grid.x.timeLabels),z=b(()=>I.value.style.chart.grid),B=b(()=>I.value.style.chart.lines),V=b(()=>I.value.style.chart.tooltip),H=b(()=>I.value.style.chart);be({config:()=>I.value,dataset:()=>M.dataset,component:`VueUiStackline`,rules:[xe.emptyArray,{test:e=>e.some(e=>e.series.length>200),message:[`👀 Some series have > 200 datapoints, which can impact performance. Consider:`,``,`▶️ Aggregating data to larger time units, to reduce the number of datapoints.`,``,`▶️ Using filters to constraint the data to a specific time range.`]},{test:e=>e.length>6,message:[`👀 The number of series > 6, which can make the chart hard to read. Consider:`,``,`▶️ Grouping small values into an "Other" category.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`]}]});let{transitionEnabled:ar}=Re({config:()=>I.value.transitions,dataset:()=>M.dataset}),or=b(()=>I.value.userOptions.useCursorPointer),sr=b(()=>se({defaultConfig:{userOptions:{show:!1},useCssAnimation:!1,table:{show:!1},tooltip:{show:!1},style:{chart:{backgroundColor:`#99999930`,lines:{totalValues:{show:!1},dataLabels:{show:!1}},grid:{frame:{stroke:`#6A6A6A`},scale:{scaleMin:0,scaleMax:144},x:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},timeLabels:{show:!1}},y:{axisColor:`#6A6A6A`,linesColor:`#6A6A6A`,axisName:{show:!1},axisLabels:{show:!1}}},legend:{backgroundColor:`transparent`},padding:{left:24,right:24,bottom:12},zoom:{show:!1,startIndex:null,endIndex:null,keepState:!1}}}},userConfig:I.value.skeletonConfig??{}})),{loading:cr,FINAL_DATASET:lr,manualLoading:ur}=ve({...mt(M),FINAL_CONFIG:I,prepareConfig:gr,callback:()=>{Promise.resolve().then(async()=>{(!H.value.zoom.keepState||!ra.value||Y.value.start===0&&Y.value.end===0)&&await aa()})},skeletonDataset:M.config?.skeletonDataset??[{name:``,series:[3,2,1,5,13,21,8,89,34,55],color:`#8A8A8A`},{name:``,series:[1,2,3,5,8,13,21,34,55,89],color:`#CACACA`}],skeletonConfig:se({defaultConfig:I.value,userConfig:sr.value})}),{userOptionsVisible:dr,setUserOptionsVisibility:fr,keepUserOptionState:pr}=Ye({config:I.value}),{svgRef:U}=Xe({config:H.value.title});function mr(){zn.value=!0,fr(!0)}function hr(){fr(!1),zn.value=!1,Yn.value=null,Zn.value=`pointer`,Cn.value=!1,$.value=null,N(`selectX`,{index:null,indexLabel:null,dataset:null})}function gr(){let e=Ce({userConfig:M.config,defaultConfig:_n}),t={};M.config&&he(M.config,`style.chart.grid.x.timeLabels.showFirstAndLast`)&&(e.style.chart.grid.x.timeLabels.showFirstAndLast=!!M.config.style.chart.grid.x.timeLabels.showFirstAndLast);let n=e.theme;if(n){if(!vn.value(e))yn(e),t=e;else{let r=Ce({userConfig:Qe[n]||M.config,defaultConfig:e});t={...Ce({userConfig:M.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:ce[n]||s}}}else t=e;return t}let _r=b(()=>B.value.dataLabels.hideUnderValue!==null),vr=b(()=>B.value.dataLabels.hideUnderPercentage!==null),yr=g(M.config);gt(()=>M.config,(e,t)=>{let n=g(e),r=n!==yr;yr=n;let i=gr();r?(cr.value||(I.value=i),dr.value=!I.value.userOptions.showOnChartHover,W.value.dataLabels.show=B.value.dataLabels.show,W.value.showTable=I.value.table.show,W.value.showTooltip=V.value.show,Ar({resetSlicer:!H.value.zoom.keepState}),Nn.value+=1,Pn.value+=1,Fn.value+=1,G.value.width=H.value.width,G.value.height=H.value.height,G.value.paddingRatio={top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width},$n(),tr(),!H.value.zoom.keepState||!ra.value||Y.value.start===0&&Y.value.end===0?aa():wi()):(I.value.style.chart.tooltip=i.style.chart.tooltip,W.value.showTooltip=I.value.style.chart.tooltip.show)},{deep:!0}),gt(()=>M.dataset,e=>{Array.isArray(e)&&e.length>0&&(ur.value=!1),H.value.zoom.keepState?wi():Di(),$n(),tr()},{deep:!0});let W=D({dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show});gt(I,()=>{W.value={dataLabels:{show:B.value.dataLabels.show},showTable:I.value.table.show,showTooltip:V.value.show}},{immediate:!0});let{isPrinting:br,isImaging:xr,generatePdf:Sr,generateImage:Cr}=Le({elementId:`stackline_${P.value}`,fileName:H.value.title.text||`vue-ui-stackline`,options:I.value.userOptions.print}),wr=b(()=>I.value.userOptions.show&&!H.value.title.text),G=D({width:H.value.width,height:H.value.height,paddingRatio:{top:H.value.padding.top/H.value.height,right:H.value.padding.right/H.value.width,bottom:H.value.padding.bottom/H.value.height,left:H.value.padding.left/H.value.width}}),Tr=b(()=>me(I.value.customPalette)),Er=ft(null),Dr=ft(null),Or=D(null),kr=b(()=>I.value.debug);function Ar({resetSlicer:e=!0}={}){if(_e(M.dataset)?(v({componentName:`VueUiStackline`,type:`dataset`,debug:kr.value}),ur.value=!0):M.dataset.forEach((e,t)=>{ge({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{xn.value=!1,v({componentName:`VueUiStackline`,type:`datasetSerieAttribute`,property:e,index:t,debug:kr.value}),ur.value=!0})}),_e(M.dataset)||(ur.value=I.value.loading),setTimeout(()=>{jn.value=!0},10),I.value.responsive){let e=Ue(()=>{jn.value=!1;let{width:e,height:t}=We({chart:Sn.value,noTitle:On.value,title:H.value.title.text?Tn.value:null,legend:H.value.legend.show?En.value:null,slicer:H.value.zoom.show&&J.value>6?Dn.value.$el:null,source:kn.value});requestAnimationFrame(()=>{G.value.width=e,G.value.height=t-12,Mn.value=!0,clearTimeout(Or.value),Or.value=setTimeout(()=>{jn.value=!0},10)})});Er.value&&(Dr.value&&Er.value.unobserve(Dr.value),Er.value.disconnect()),Er.value=new ResizeObserver(e),Dr.value=Sn.value.parentNode,Er.value.observe(Dr.value)}e&&aa()}lt(()=>{Qn.stop(),Er.value&&(Dr.value&&Er.value.unobserve(Dr.value),Er.value.disconnect())});let jr=b(()=>z.value.y.position===`right`),{metrics:Mr,ready:Nr,settling:Pr,update:Fr}=Be({svgRef:U,canMeasure:()=>(!I.value.responsive||Mn.value)&&(!R.value.show||Vi.value),measure:e=>{let t=Hn.value,n=Un.value;return{scaleLabelsWidth:z.value.y.axisLabels.show?e(t).textWidth:0,yAxisLabelWidth:Vn.value?e(Vn.value).rotatedWidth+z.value.y.axisName.fontSize+z.value.y.axisName.offsetX:0,xAxisLabelHeight:e(Bn.value).height,timeLabelsHeight:R.value.show?e(n).height:0,right:0}}}),Ir=b(()=>Mr.value.xAxisLabelHeight+Mr.value.timeLabelsHeight),K=b(()=>{let{height:e,width:t}=G.value,{right:n}=G.value.paddingRatio,r=B.value.totalValues.show&&M.dataset&&M.dataset.length>1?B.value.totalValues.fontSize*1.3:0,{scaleLabelsWidth:i,yAxisLabelWidth:a}=Mr.value,o=i+a,s=jr.value?0:o,c=jr.value?o:0,l=H.value.padding.top+r,u=t-t*n-Mr.value.right-c,d=e-H.value.padding.bottom-Ir.value-r,f=H.value.padding.left+s,p=t-f-t*n-Mr.value.right-c,m=e-l-H.value.padding.bottom-Ir.value-r;return{chartHeight:Math.max(0,e),chartWidth:Math.max(0,t),top:l,right:Math.max(0,u),bottom:Math.max(0,d),left:Math.max(0,f),width:Math.max(0,p),height:Math.max(0,m),offsetLeftAxis:s,offsetRightAxis:c,scaleLabelsWidth:i,yAxisLabelWidth:a}}),Lr=b(()=>{let{left:e,top:t,width:n,height:r}=K.value,i=Y.value.start,a=Y.value.end,o=Math.max(1,a-i),s=Math.max(0,Math.min(o,(Vr.value.start??i)-i)),c=Math.max(0,Math.min(o,(Vr.value.end??a)-i)),l=Math.max(0,c-s),u={fill:H.value.zoom.preview.fill,stroke:H.value.zoom.preview.stroke,"stroke-width":H.value.zoom.preview.strokeWidth,"stroke-dasharray":H.value.zoom.preview.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{pointerEvents:`none`,transition:`none !important`,animation:`none !important`}},d=n/o;return{x:e+s*d,y:t,width:l*d,height:r,...u}}),q=b(()=>lr.value.map((e,t)=>{let n=h(),r=p(e.color)||Tr.value[t]||s[t]||s[t%s.length];return{...e,shape:e.shape||`circle`,standalone:!!e.standalone,series:JSON.parse(JSON.stringify(e.series)).map(e=>B.value.distributed?Math.abs(e):e),seriesSource:e.series,signedSeries:e.series.map(e=>e>=0?1:-1),absoluteIndex:t,id:n,color:r}})),Rr=b(()=>q.value.filter(e=>!F.value.includes(e.id)&&!e.standalone)),zr=b(()=>q.value.filter(e=>!F.value.includes(e.id)&&e.standalone)),J=b(()=>{let e=Math.max(...q.value.filter(e=>!F.value.includes(e.id)).map(e=>e.series.length));return isFinite(e)?e:Math.max(...q.value.map(e=>e.series.length))});function Br(e){nr.value=e}let Y=D({start:0,end:Math.max(...lr.value.map(e=>e.series.length))}),Vr=D({start:0,end:Math.max(...lr.value.map(e=>e.series.length))}),Hr=D(!1),Ur=D(!1),Wr=D(!1),Gr=D(`matrix(1, 0, 0, 1, 0, 0)`),Kr=D(!1),qr=0,Jr=0,Yr=0,Xr=0,Zr=D(null),Qr=D(null),$r=D(null),ei=D(!1),ti=D({time:0,x:0,y:0,pointerType:null}),ni=b(()=>H.value.zoom?.dragToZoom),ri=b(()=>ni.value.show&&xn.value&&ra.value&&!cr.value),ii=null,ai={};function oi(e){return(Y.value.start??0)+(e??0)}let si=b(()=>H.value.zoom.preview.enable&&(Vr.value.start!==Y.value.start||Vr.value.end!==Y.value.end));function ci(e,t){Vr.value[e]=t}function li(e,t=Y.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function ui(e){let t=li(e);t&&N(`update:zoomState`,t)}function di(){ii&&=(cancelAnimationFrame(ii),null),ai={}}function fi(e=Y.value){return{start:Number(e.start),end:Number(e.end)}}function pi(e,t){let n=Number(K.value?.left)||0,r=Math.max(0,Number(K.value?.width)||0),i=Number(t?.start),a=Number(t?.end),o=a-i;return!Number.isFinite(e)||!Number.isFinite(i)||!Number.isFinite(a)||o<=0?n:o<=1?n+r/2:n+(e-i)/(o-1)*r}function mi(){if(B.value.distributed)return null;let e=(zi.value||[]).filter(e=>Number.isFinite(e?.value)&&Number.isFinite(e?.y));if(e.length<2)return null;let t=e.reduce((e,t)=>t.value<e.value?t:e),n=e.reduce((e,t)=>t.value>e.value?t:e);return n.value===t.value||n.y===t.y?null:{minValue:t.value,maxValue:n.value,minY:t.y,maxY:n.y}}function hi(e,t){if(!t||!Number.isFinite(e))return Number(K.value?.bottom)||0;let n=t.maxValue-t.minValue;if(!Number.isFinite(n)||n===0)return t.minY;let r=(e-t.minValue)/n;return t.minY+(t.maxY-t.minY)*r}function gi({previousRange:e,targetRange:t,previousYScale:n,targetYScale:r}){let i=Number(t.start),a=Number(t.end)-1,o=1,s=0;if(Number.isFinite(i)&&Number.isFinite(a)&&a>i){let n=pi(i,t),r=pi(a,t),c=pi(i,e),l=pi(a,e),u=r-n;Number.isFinite(u)&&Math.abs(u)>1e-9&&(o=(l-c)/u,s=c-o*n)}let c=1,l=0;if(n&&r){let e=r.minValue,t=r.maxValue,i=hi(e,r),a=hi(t,r),o=hi(e,n),s=hi(t,n),u=a-i;Number.isFinite(u)&&Math.abs(u)>1e-9&&(c=(s-o)/u,l=o-c*i)}return[o,s,c,l].every(Number.isFinite)?`matrix(${o}, 0, 0, ${c}, ${s}, ${l})`:`matrix(1, 0, 0, 1, 0, 0)`}function _i({resetTransform:e=!0}={}){Xr+=1,qr&&=(cancelAnimationFrame(qr),0),Jr&&=(cancelAnimationFrame(Jr),0),Yr&&=(clearTimeout(Yr),0),Kr.value=!1,Wr.value=!1,e&&(Gr.value=`matrix(1, 0, 0, 1, 0, 0)`)}function vi(e,t){return!U.value||cr.value||!xn.value||!e||!t||typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`)?.matches?!1:Number.isFinite(e.start)&&Number.isFinite(e.end)&&Number.isFinite(t.start)&&Number.isFinite(t.end)&&e.end>e.start&&t.end>t.start}function yi(e,t){let n=fi();if(!vi(e,n))return _i(),!1;let r=gi({previousRange:e,targetRange:n,previousYScale:t,targetYScale:mi()});if(r===`matrix(1, 0, 0, 1, 0, 0)`)return _i(),!1;_i();let i=++Xr;return Wr.value=!0,Kr.value=!1,Gr.value=r,qr=requestAnimationFrame(()=>{qr=0,Jr=requestAnimationFrame(()=>{Jr=0,i===Xr&&(Kr.value=!0,Gr.value=`matrix(1, 0, 0, 1, 0, 0)`,Yr=setTimeout(()=>{Yr=0,i===Xr&&(Kr.value=!1,Wr.value=!1)},cn))})}),!0}let bi=b(()=>({transform:Gr.value,transformOrigin:`0 0`,transformBox:`view-box`,transition:Kr.value?`transform ${cn}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:Wr.value?`transform`:void 0})),xi=b(()=>Wr.value?`url(#vue_ui_stackline_zoom_clip_${P.value})`:void 0);function Si(e,{transition:t=!1}={}){let n=li(e);if(!n)return null;let{start:r,end:i}=n;if(r!==Number(Y.value.start)||i!==Number(Y.value.end)){let e=fi(),n=mi();di(),Y.value={start:r,end:i},Vr.value={start:r,end:i},wi(),t&&yi(e,n)}return{start:Number(Y.value.start),end:Number(Y.value.end)}}function Ci(e,{transition:t=!0}={}){let n=Si(e,{transition:t});return n?(N(`update:zoomState`,n),n):null}function wi(){let e=J.value,t=Math.max(0,Math.min(Y.value.start??0,e-1)),n=Math.max(t+1,Math.min(Y.value.end??e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),Y.value.start=t,Y.value.end=n,Vr.value.start=t,Vr.value.end=n,Dn.value&&Dn.value.setRangeValues(t,n)}let Ti=D(null);function Ei(){return new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e())))}lt(()=>{Ti.value&&cancelAnimationFrame(Ti.value),di(),ya(),_i()});async function Di({force:e=!1,publish:t=!1,transition:n=e&&t}={}){if(H.value.zoom.keepState&&!e&&ra.value&&(Y.value.start!==0||Y.value.end!==0)){wi();return}let r=!e,i=n?fi():null,a=n?mi():null;aa(r),n&&yi(i,a),await ot(),Ti.value&&cancelAnimationFrame(Ti.value),Ti.value=requestAnimationFrame(async()=>{await Ei(),aa(r),Ti.value=null,t&&(ui({start:Number(Y.value.start),end:Number(Y.value.end)}),N(`zoomReset`))})}let Oi=b(()=>Math.max(0,K.value.width/(Y.value.end-Y.value.start))),ki=b(()=>ie(Rr.value.map(e=>({...e,series:e.series.map(e=>e??0)}))).slice(Y.value.start,Y.value.end)),Ai=b(()=>F.value.length===q.value.length),ji=b(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>Ai.value?!0:!F.value.includes(e.id)&&!e.standalone);if(e.length)return ie(e.map(e=>({...e,series:(e.series||[]).map(e=>e??0)})));let t=zr.value;if(!t.length)return[];let n=Math.max(...t.map(e=>e.series.length||0));return Array.from({length:n},(e,n)=>t.reduce((e,t)=>e+Math.abs(t.series[n]??0),0))}),Mi=b(()=>{if(!H.value.zoom.minimap.show)return[];let e=q.value.filter(e=>Ai.value?!0:!F.value.includes(e.id)&&!e.standalone),t=zr.value,n=e.length?[{name:``,series:ji.value,color:`#000000`,isVisible:!0}]:[],r=t.map(e=>({name:e.name||``,series:(e.series||[]).map(e=>e??0),color:e.color,isVisible:!0}));return n.concat(r)}),Ni=b(()=>ie(Rr.value.filter(e=>!F.value.includes(e.id)).map(e=>({...e,series:e.series.map((t,n)=>{let r=t??0;return e.signedSeries[n]===-1&&r>=0?-r:r})}))).slice(Y.value.start,Y.value.end)),Pi=b(()=>{let e=Rr.value.filter(e=>!F.value.includes(e.id));return{positive:ie(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)>=0?e??0:0)}))),negative:ie(e.map(e=>({...e,series:e.series.slice(Y.value.start,Y.value.end).map(e=>(e??0)<0?e??0:0)})))}}),Fi=b(()=>{let e=Math.max(0,Y.value.end-Y.value.start),t=Array(e).fill(0),n=Array(e).fill(0);return zr.value.forEach(r=>{for(let i=0;i<e;i+=1){let e=r.series[Y.value.start+i]??0;e>0&&(t[i]=Math.max(t[i],e)),e<0&&(n[i]=Math.min(n[i],e))}}),{positive:t,negative:n}}),Ii=b(()=>Ni.value.map((e,t)=>({value:e,sign:e>=0?1:-1})));function Li(){return{y0:zi.value?.[0]?.zero??K.value.bottom}}function Ri(e){let{y0:t}=Li(),n=B.value.totalValues,r=Math.max(2,n.fontSize*1.3+n.offsetY),i=e=>Math.min(Math.max(e,K.value.top-B.value.totalValues.fontSize*1.3),K.value.bottom+B.value.totalValues.fontSize*2);if((Ii.value?.[e]?.value??0)>=0||B.value.distributed){let n=1/0;for(let t of X.value||[]){let r=t?.series?.[e],i=t?.topY?.[e];(r??0)>0&&Number.isFinite(i)&&i<n&&(n=i)}return i((Number.isFinite(n)?n:t)-r-B.value.totalValues.offsetY)}{let a=-1/0;for(let t of X.value||[]){let n=t?.series?.[e],r=t?.topY?.[e];(n??0)<0&&Number.isFinite(r)&&r>a&&(a=r)}return i((Number.isFinite(a)?a:t)+r+n.fontSize*.7+B.value.totalValues.offsetY)}}let zi=b(()=>{let e=Math.max(...Pi.value.positive,0),t=Math.min(...Pi.value.negative,0),n=Math.max(...Fi.value.positive,0),r=Math.min(...Fi.value.negative,0),i=Math.max(e,n),a=Math.min(t,r),o=[-1/0,1/0,NaN,void 0,null].includes(a)?0:a,s=z.value.scale.scaleMin,c=z.value.scale.scaleMax,l=!B.value.distributed&&(s!==null||c!==null),u=s!==null&&!B.value.distributed?s:o>0?0:o,d=c!==null&&!B.value.distributed?c:i<0?0:i,f=l?pe(u,d,z.value.scale.ticks):_(u,d,z.value.scale.ticks),p=Math.abs(Number(f.min)||0),m=(Number(f.max)||0)+p,h=m===0||!Number.isFinite(m)?1:m,g=Array.isArray(f.ticks)&&f.ticks.length?f.ticks:[0],ee=K.value.bottom-K.value.height*(p/h);return g.map(e=>{let t=Number(e)||0,n=K.value.bottom-K.value.height*((t+p)/h);return{zero:ee,y:n,x:jr.value?Z.value.right+8:Z.value.left-8,value:t}})}),Bi=D([]),Vi=D(!1),Hi=D([]),Ui=0;_t(()=>{let e=++Ui;(async()=>{let t=await Ie({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:Y.value.start,end:Y.value.end});e===Ui&&(Bi.value=t,Vi.value=!0)})()});let Wi=0;_t(()=>{let e=++Wi;(async()=>{let t=await Ie({values:R.value.values,maxDatapoints:J.value,formatter:R.value.datetimeFormatter,start:0,end:J.value});e===Wi&&(Hi.value=t)})()});let Gi=b(()=>{let e=Math.max(1,Math.floor(Number(R.value.modulo)||1)),t=(Bi.value||[]).map(e=>e?.text??``),n=(Hi.value||[]).map(e=>e?.text??``),r=Y.value.start??0,i=r>0||t.length<n.length;return ae({configuredModulo:e,visibleTexts:t,allTexts:n,startAbs:r,isZoomed:i})});function Ki(e){let t=R.value,n=Bi.value||[],r=Hi.value||[],i=Y.value.start??0,a=J.value,o=n.map(e=>e?.text??``),s=r.map(e=>e?.text??``),c=ne(!!t.showOnlyFirstAndLast,!!t.showOnlyAtModulo,Gi.value,o,s,i,e,a);if(!t.showFirstAndLast||t.showOnlyFirstAndLast||!c.length)return c;let l=c.length-1;return c.map((e,t)=>t!==0&&t!==l?e:{...e,text:o[t]??``})}let qi=b(()=>Ki($.value)),Ji=b(()=>Ki(null));gt(()=>[G.value.width,G.value.height,qn.value,I.value.style.fontFamily,z.value,R.value,B.value,Ji.value.map(e=>e?.text??``).join(`|`),M.dataset,Vi.value,Mn.value,F.value,W.value,Y.value.start,Y.value.end,Un.value,Hn.value,Bn.value,Vn.value],Fr,{flush:`post`,deep:!0});let Yi=D({months:[],shortMonths:[],days:[],shortDays:[]}),Xi=0;_t(()=>{let e=++Xi,t=R.value.datetimeFormatter;(async()=>{let n=await Fe(t.locale).catch(()=>Fe(`en`));e===Xi&&(Yi.value=n.data)})()});let Zi=b(()=>{let e=R.value.datetimeFormatter,t=Pe({useUTC:e.useUTC,locale:Yi.value,januaryAsYear:e.januaryAsYear});return(e,n)=>{let r=R.value.values?.[e];return r==null?``:t.formatDate(new Date(r),n)}}),Qi=b(()=>(R.value.values||[]).map((e,t)=>({text:Zi.value(t,H.value.zoom.timeFormat),absoluteIndex:t}))),$i=b(()=>(R.value.values||[]).map((e,t)=>({text:Zi.value(t,V.value.timeFormat),absoluteIndex:t}))),ea=b(()=>{if(!xn.value&&!cr.value)return[];let e=K.value.height,t=zi.value[0]?zi.value[0].zero:K.value.bottom,n=Y.value.start??0,r=Y.value.end??0,i=Math.max(1,r-n),a=Math.max(...Pi.value.positive,0),o=Math.min(...Pi.value.negative,0),s=Math.max(...Fi.value.positive,0),c=Math.min(...Fi.value.negative,0),l=Math.max(a,s),u=Math.min(o,c),{min:d,max:f}=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?pe(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?u>0?0:u:z.value.scale.scaleMin,z.value.scale.scaleMax===null?l<0?0:l:z.value.scale.scaleMax,z.value.scale.ticks),p=f+(d>=0?0:Math.abs(d))||1,m=Array(i).fill(0),h=Array(i).fill(0),g=e=>i<=1?K.value.left+K.value.width/2:K.value.left+e/(i-1)*K.value.width;return q.value.filter(e=>!F.value.includes(e.id)).map(r=>{let a=[],o=[],s=[],c=Array(i).fill(null),l=Array(i).fill(null);for(let u=0;u<i;u+=1){let i=n+u,d=r.series?.[i],f=r.signedSeries?.[i],g=d==null||Number.isNaN(d)?0:d,_=r.standalone?g/p:B.value.distributed?g/(ki.value[u]||1):g/p;if(g>=0){let n=e*Math.abs(_);if(r.standalone)c[u]=t,l[u]=t-n;else{let e=m[u],r=e+n;c[u]=t-e,l[u]=t-r,m[u]=r}}else{let n=e*Math.abs(_);if(r.standalone)c[u]=t,l[u]=t+n;else{let e=h[u],r=e+n;c[u]=t+e,l[u]=t+r,h[u]=r}}a.push(u),o.push(g),s.push(f??(g>=0?1:-1))}let u=a.map(e=>({x:g(e),y:l[e]})),d=u.map(e=>e.x),f=o.reduce((e,t)=>e+Math.abs(t||0),0),_=f===0?1:f,ee=o.map((e,t)=>{if(B.value.distributed&&!r.standalone){let n=a[t],r=ki.value[n]||1;return(e||0)/r}return(e||0)/_});return{...r,x:d,points:u,baseY:a.map(e=>c[e]),topY:a.map(e=>l[e]),series:o,signedSeries:s,proportions:ee,rel:a,fullSeries:Array.isArray(r.fullSeries)?r.fullSeries:r.series}})}),X=b(()=>{let e=e=>typeof e==`string`?e.replace(/^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i,``).trim():``,t=Math.max(...Pi.value.positive,0),n=Math.min(...Pi.value.negative,0),r=Math.max(...Fi.value.positive,0),i=Math.min(...Fi.value.negative,0),a=Math.max(t,r),o=Math.min(n,i),s=!B.value.distributed&&(z.value.scale.scaleMax!==null||z.value.scale.scaleMin!==null)?pe(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks):_(z.value.scale.scaleMin===null?o>0?0:o:z.value.scale.scaleMin,z.value.scale.scaleMax===null?a<0?0:a:z.value.scale.scaleMax,z.value.scale.ticks),c=Number(s.min)||0,l=Number(s.max)||0,u=Math.abs(c),d=l+u||1,p=e=>{if(B.value.distributed){let t=Math.max(0,Math.min(1,e));return minimapH-minimapH*t}return clampY(minimapH-minimapH*(((e??0)+u)/d))};return ea.value.map(t=>{let n=t.x.length,r=Array.isArray(t.fullSeries)?t.fullSeries:t.series,i=({left:e=0,unitW:t})=>{let n=r.length;return!Number.isFinite(t)||t<=0||n<=0?[]:n===1?[e+t*.5]:r.map((n,r)=>e+r*t)},a=({minimapH:e})=>!Number.isFinite(e)||e<=0?[]:r.map(t=>p(t||0,e)),o=({minimapH:e})=>{if(!Number.isFinite(e)||e<=0)return[];let t=p(0,e);return r.map(()=>t)};if(n===0)return{...t,points:[],smoothPath:``,straightPath:``,smoothArea:``,straightArea:``,xMinimap:i,yMinimap:a,yMinimapBase:o};let s=t.x.map((e,n)=>({x:e,y:t.topY[n]})),c=t.x.map((e,n)=>({x:e,y:t.baseY[n]})),l=n>=2?f(s):`M${s[0].x},${s[0].y}`,u=n>=2?m(s):`M${s[0].x},${s[0].y}`,d=n>=2?`M${e(l)}`:l,h=n>=2?`M${e(u)}`:u,g=``,_=``;if(B.value.useArea&&n>=2){let t=f([...c].reverse()),n=m([...c].reverse()),r=c[c.length-1];g=`M${s[0].x},${s[0].y} ${e(l)} L${r.x},${r.y} ${e(t)} Z`,_=`M${s[0].x},${s[0].y} ${e(u)} L${r.x},${r.y} ${e(n)} Z`}return{...t,points:s,smoothPath:d,straightPath:h,smoothArea:g,straightArea:_,xMinimap:i,yMinimap:a,yMinimapBase:o}})}),ta=b(()=>$.value===null||$.value===void 0?null:{timeLabel:za($.value),absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ra.value,series:X.value,config:I.value}),na=D(!1),ra=D(!1);function ia(e,t=Y.value.start){let n=J.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function aa(e=!0){if(!na.value){na.value=!0;try{let{startIndex:t,endIndex:n,keepState:r}=H.value.zoom,i=r?Math.max(0,J.value):J.value;if(r&&i<=0)return;let a=t??0,o=n==null?i:Math.min(ia(n+1,a),i);ua.value=!0,Y.value.start=a,Y.value.end=o,Vr.value.start=a,Vr.value.end=o,wi(),ra.value=!0,e&&M.zoomState&&Si(M.zoomState)}finally{queueMicrotask(()=>{ua.value=!1}),na.value=!1}}}function oa(e){ai={...ai,...e},ii&&cancelAnimationFrame(ii),ii=requestAnimationFrame(()=>{let e={...Y.value,...ai};ai={},ii=null,Y.value=e,Vr.value={...e},wi(),ui({start:Number(Y.value.start),end:Number(Y.value.end)})})}function sa(e){if(na.value||ua.value)return;let t=Number(e);Number.isFinite(t)&&(N(`zoomStart`,{index:t,isZoom:t!==0}),t!==Y.value.start&&oa({start:t}))}function ca(e){if(na.value||ua.value)return;let t=ai.start===void 0?Y.value.start:ai.start,n=ia(Number(e),t);Number.isFinite(n)&&(N(`zoomEnd`,{index:n,isZoom:n!==J.value}),(n!==Y.value.end||ai.start!==void 0)&&oa({end:n}))}let Z=b(()=>({left:K.value.left,right:K.value.right,width:K.value.width})),la=b(()=>{let e=z.value.y.axisLabels,{prefix:t,suffix:r}=B.value.dataLabels;return zi.value.map(i=>String(oe(e.formatter,i.value,n({p:t,v:i.value,s:r,r:e.rounding}),{datapoint:i})??``)).join(`|`)});gt([la,()=>z.value.y.axisLabels.show,()=>z.value.y.axisLabels.fontSize,()=>z.value.y.axisLabels.bold,()=>z.value.y.position],()=>{z.value.y.axisLabels.show&&tr()},{flush:`post`});let ua=D(!1);gt([()=>M.zoomState,ra],([e,t])=>{t&&e&&Si(e,{transition:!0})},{deep:!0,immediate:!0});let da=b(()=>G.value.width),fa=b(()=>G.value.height);Ve({timeLabelsEls:Un,timeLabels:Bi,slicer:Y,configRef:I,rotationPath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`grid`,`x`,`timeLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:da,height:fa,rotation:R.value.autoRotate.angle});let pa=D(null);function ma(e){let t=U.value;if(!t)return null;if(t.createSVGPoint&&t.getScreenCTM){let n=t.createSVGPoint();n.x=e.clientX,n.y=e.clientY;let r=t.getScreenCTM();if(r){let e=n.matrixTransform(r.inverse());return{x:e.x,y:e.y,ok:!0}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},i=Math.min(n.width/r.width,n.height/r.height),a=r.width*i,o=r.height*i,s=(n.width-a)/2,c=(n.height-o)/2;return{x:(e.clientX-n.left-s)/i+r.x,y:(e.clientY-n.top-c)/i+r.y,ok:!0}}let ha=b(()=>!Hr.value||Zr.value==null||Qr.value==null?null:{x:Math.min(Zr.value,Qr.value),y:K.value.top,width:Math.abs(Qr.value-Zr.value),height:K.value.height}),ga=b(()=>ra.value?Number(Y.value.start)!==0||Number(Y.value.end)!==Number(J.value):!1);function _a(e){return Math.min(Math.max(e,K.value.left),K.value.right)}function va(){Aa&&=(cancelAnimationFrame(Aa),0),pa.value=null,nr.value=null,Yn.value=null,$.value=null,Va(!1,null)}function ya(e){let t=e?.pointerId==null?$r.value:e.pointerId;t!=null&&U.value?.hasPointerCapture?.(t)&&U.value.releasePointerCapture(t),Hr.value=!1,Zr.value=null,Qr.value=null,$r.value=null}function ba(){ei.value=!0,setTimeout(()=>{ei.value=!1},0)}function xa(e){if(!ri.value||!ga.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=ti.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?(ti.value={time:0,x:0,y:0,pointerType:null},ba(),ya(e),Di({force:!0,publish:!0}),!0):(ti.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function Sa(e){if(Q.value<=0)return null;if(Q.value===1||ja.value<=0)return 0;let t=(_a(e)-K.value.left)/ja.value;return Math.max(0,Math.min(Q.value-1,Math.round(t)))}function Ca(e,t){let n=Sa(e),r=Sa(t);if(n==null||r==null)return null;let i=Math.min(n,r),a=Math.max(n,r);return a<=i?null:{start:Number(Y.value.start)+i,end:Number(Y.value.start)+a+1}}function wa(e){let t=Ci(e,{transition:!0});return t?(N(`zoomStart`,{index:t.start,isZoom:t.start!==0}),N(`zoomEnd`,{index:t.end,isZoom:t.end!==J.value}),t):null}function Ta(){Ur.value=!0,U.value?.classList?.add(`vue-ui-stackline-chart-zoom-pointer-focus`)}function Ea(){Ur.value=!1,U.value?.classList?.remove(`vue-ui-stackline-chart-zoom-pointer-focus`)}function Da(e){if(!ri.value||rr.value||e.button!==void 0&&e.button!==0||$r.value!=null&&e.pointerId!==$r.value)return;let t=ma(e);if(!t)return;let{left:n,right:r,top:i,bottom:a}=K.value;t.x<n||t.x>r||t.y<i||t.y>a||Q.value<=1||(Ta(),U.value?.focus?.({preventScroll:!0}),va(),$r.value=e.pointerId,Hr.value=!0,Zr.value=_a(t.x),Qr.value=_a(t.x))}function Oa(e){if(!ri.value||!Hr.value||$r.value!=null&&e.pointerId!==$r.value)return;let t=ma(e);t&&(Qr.value=_a(t.x),Zr.value!=null&&Math.abs(Qr.value-Zr.value)>=2&&!U.value?.hasPointerCapture?.(e.pointerId)&&U.value?.setPointerCapture?.(e.pointerId))}function ka(e){if(!ri.value||!Hr.value||$r.value!=null&&e.pointerId!==$r.value)return;let t=ma(e);t&&(Qr.value=_a(t.x));let n=Zr.value,r=Qr.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,K.value.width*.01)){if(xa(e))return;ya(e);return}let i=Ca(Math.min(n,r),Math.max(n,r));i?(ya(e),wa(i)&&(ti.value={time:0,x:0,y:0,pointerType:null},va(),ba())):ya(e)}let Aa=0,Q=b(()=>Math.max(1,Y.value.end-Y.value.start)),ja=b(()=>Q.value>1?K.value.width/(Q.value-1):0);function Ma(e){return Q.value<=1?K.value.left+K.value.width/2:K.value.left+e*ja.value}function Na(e){if(Q.value<=1)return{x:K.value.left,width:K.value.width};let t=e===0?K.value.left:(Ma(e-1)+Ma(e))/2,n=e===Q.value-1?K.value.left+K.value.width:(Ma(e)+Ma(e+1))/2;return{x:t,width:Math.max(0,n-t)}}function Pa(e){rr.value||Hr.value||(Aa&&cancelAnimationFrame(Aa),Aa=requestAnimationFrame(()=>{Aa=0;let t=ma(e);if(!t||!U.value){La();return}let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a){La();return}let o=0;if(Q.value>1){let e=(t.x-n)/ja.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),pa.value!==o&&(pa.value=o,Va(!0,o))}))}function Fa(e){if(ei.value){ei.value=!1;return}if(Hr.value)return;let t=ma(e);if(!t||!U.value)return;let{left:n,right:r,top:i,bottom:a}=K.value;if(t.x<n||t.x>r||t.y<i||t.y>a)return;let o=0;if(Q.value>1){let e=(t.x-n)/ja.value;o=Math.round(e)}else o=0;o<0&&(o=0),o>Q.value-1&&(o=Q.value-1),Co({seriesIndex:o,datapoint:ho(o)}),Ia(o)}function Ia(e){let t=JSON.parse(JSON.stringify(X.value)).map(t=>({name:t.name,value:t.series[e]===0?0:t.series[e]||null,proportion:t.proportions[e]||null,color:t.color,id:t.id}));I.value.events.datapointClick&&I.value.events.datapointClick({datapoint:t,seriesIndex:e+Y.value.start}),N(`selectDatapoint`,{datapoint:t,period:Bi.value[e]})}gt(()=>[Y.value.start,Y.value.end,X.value.length],()=>{let e=Q.value;$.value!=null&&(e<=0?$.value=null:($.value<0&&($.value=0),$.value>e-1&&($.value=e-1)))});function La(){Aa&&=(cancelAnimationFrame(Aa),0),pa.value=null,Va(!1,null)}let $=D(null),Ra=b(()=>{let e=$.value,t=e==null?null:oi(e);return X.value.map(n=>({slotAbsoluteIndex:n.absoluteIndex,shape:n.shape||`circle`,name:n.name,color:n.color,value:e==null?null:n.series.find((t,n)=>n===e),sourceValue:t==null?null:n.seriesSource?.[t],comments:n.comments||[],id:n.id,standalone:!!n.standalone}))});function za(e){if(e==null||!V.value.showTimeLabel)return null;let t=Bi.value?.[e]?.text||null,n=$i.value?.[e]?.text||null,r=Hi.value?.[e]?.text||null;return V.value.useDefaultTimeFormat?t:n||r}let Ba=b(()=>{let e=V.value.customFormat,t=[...Ra.value].reverse(),i=t.filter(e=>!e.standalone),o=t.filter(e=>e.standalone),s=i.map(e=>e.value).filter(e=>d(e)&&e!==null).reduce((e,t)=>Math.abs(e)+Math.abs(t),0);if(a(e)&&ue(()=>e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ra.value,series:q.value,config:I.value})))return e({absoluteIndex:$.value+Y.value.start,seriesIndex:$.value,datapoint:Ra.value,series:q.value,config:I.value});let{showValue:c,showTotal:l,totalTranslation:f,showPercentage:p,borderColor:m,roundingValue:h,roundingPercentage:g}=V.value,_=e=>!e.shape||![`star`,`triangle`,`square`,`diamond`,`pentagon`,`hexagon`].includes(e.shape)?`<svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" /></svg>`:e.shape===`star`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><polygon stroke="${V.value.backgroundColor}" stroke-width="1" fill="${e.color}" points="${r({plot:{x:6,y:6},radius:5})}" /></svg>`:e.shape===`triangle`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:6,sides:3,rotation:.52}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`square`?`<svg viewBox="0 0 12 12" height="14" width="14"><path d="${u({plot:{x:6,y:6},radius:6,sides:4,rotation:.8}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`diamond`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:5,sides:4,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:e.shape===`pentagon`?`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:5,sides:5,rotation:.95}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`:`<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${u({plot:{x:6,y:6},radius:5,sides:6,rotation:0}).path}" fill="${e.color}" stroke="${V.value.backgroundColor}" stroke-width="1" /></svg>`,ee=(e,t)=>{let r=t?n({v:isNaN((e.value??0)/(s||1))?0:Math.abs(e.value??0)/(s||1)*100,s:`%`,r:g}):``,i=c&&t?`(`:``,a=c&&t?`)`:``;return`
|
|
2
2
|
<div style="display:flex;flex-direction:row;align-items:center;gap:4px">
|
|
3
3
|
<div style="width:20px;height:20px;display:flex;align-items:center;justify-content:center;">${_(e)}</div>
|
|
4
4
|
${e.name}${c||t?`:`:``}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Ft as a,Ht as o,J as s,Q as c,S as ee,X as te,Zt as ne,_ as re,at as ie,b as ae,i as oe,in as se,nt as ce,pt as le,rn as ue,sn as de,t as fe,v as pe,w as me,x as he,yt as ge,zt as _e}from"./lib-rPeBMZrn.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{n as Ce}from"./resolveChartConfig-CIhClE5R.js";import{t as we}from"./chartImage-DPGnEuYM.js";import{n as Te}from"./Title-BliHuXfT.js";import{t as Ee}from"./useChartExport-BZts4KFb.js";import{n as De,t as Oe}from"./tableIntegration-CNoJ1CIY.js";import{n as ke,t as Ae}from"./annotationSlots-BRR85CqJ.js";import{n as je,t as Me}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ne}from"./usePrinter-sVoTzet1.js";import{t as Pe}from"./useTransitions-ChGGrtrv.js";import{t as Fe}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Ie}from"./useTimeLabelCollider-BTybMUFi.js";import{t as Le}from"./Shape-CRe8woTu.js";import{t as Re}from"./useResponsive-CENUxfEL.js";import{t as ze}from"./DefGrad-DKMq1REY.js";import{t as Be}from"./A11yDataTable-DWNlWXzs.js";import{t as Ve}from"./useUserOptionState-CXlFnwPv.js";import{t as He}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ue}from"./vue_ui_strip_plot-CwMowrhT.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as We,createTextVNode as Ge,createVNode as Ke,defineAsyncComponent as h,guardReactiveProps as g,mergeProps as qe,nextTick as Je,normalizeClass as Ye,normalizeProps as _,normalizeStyle as v,onBeforeUnmount as Xe,onMounted as Ze,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as Qe,shallowRef as $e,toDisplayString as C,toRefs as et,unref as w,watch as tt,withCtx as T}from"vue";var nt=/* @__PURE__ */ e({default:()=>Pt}),rt=[`id`],it=[`id`],at={style:{position:`relative`}},ot=[`xmlns`,`viewBox`,`aria-describedby`],st=[`x`,`y`,`width`,`height`],ct={key:1},lt={key:0},ut=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],dt={key:1},ft=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],pt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],mt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],ht=[`transform`,`fill`,`font-size`],gt=[`transform`,`font-size`,`fill`,`text-anchor`],_t=[`transform`,`font-size`,`fill`,`text-anchor`,`innerHTML`],vt=[`fill`,`font-size`,`transform`],yt=[`fill`,`font-size`,`x`,`y`],bt=[`x1`,`x2`,`y1`,`y2`,`stroke`],xt=[`cx`,`cy`,`fill`],St=[`cx`,`cy`,`fill`],Ct=[`d`,`fill`,`stroke`,`fill-opacity`,`stroke-opacity`,`stroke-width`,`onMouseenter`],wt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-opacity`,`stroke-width`],Tt=[`onMouseenter`],Et=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Dt=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`,`rx`],Ot=[`cx`,`cy`,`r`,`fill`,`stroke`],kt={key:1},At=[`x`,`y`,`font-size`,`fill`],jt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Mt={key:5,class:`vue-data-ui-watermark`},Nt={style:{display:`flex`,"align-items":`center`}},Pt=/*#__PURE__*/ Se({__name:`vue-ui-strip-plot`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`copyAlt`],setup(e,{expose:Se,emit:nt}){let Pt=h(()=>import(`./Tooltip-C1q0Qoh7.js`)),Ft=h(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),It=h(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Lt=h(()=>import(`./DataTable-0Vv-aGHD.js`)),Rt=h(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),zt=h(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Bt=h(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),Vt=h(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),Ht=[`classic`,`scatter`,`violin`],{vue_ui_strip_plot:Ut}=t(),E=e,Wt=nt,Gt=u({get(){return!!E.dataset&&E.dataset.length},set(e){return e}}),Kt=b(te()),qt=b(0),Jt=b(!1),Yt=b(``),D=b(null),Xt=b(null),Zt=b(null),Qt=b(null),$t=b(!1),en=b(0),tn=b(0),nn=b(null),rn=b(null),an=b(null),on=b(null),sn=b(null),cn=b(null),O=b(null),ln=b(null),k=b(`pointer`),un=b({x:0,y:0}),dn=b(!1),A=b(xn()),j=u(()=>A.value.userOptions),M=u(()=>A.value.style.chart.tooltip),N=u(()=>A.value.style.chart.labels),P=u(()=>A.value.style.chart.violin),F=u(()=>A.value.style.chart.grid),I=u(()=>A.value.style.chart);be({config:()=>A.value,dataset:()=>E.dataset,component:`VueUiStripPlot`,rules:[xe.emptyArray,{test:e=>e.length>12,message:[`👀 The number of series is > 12. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using multiple instances of the chart to display related series.`]}]});let{transitionEnabled:fn}=Pe({config:()=>A.value.transitions,dataset:()=>E.dataset}),pn=u(()=>Sn(A.value.type)),L=u(()=>A.value.userOptions.useCursorPointer),mn=u(()=>se({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,padding:{top:24,left:24,right:24,bottom:24},grid:{stroke:`#6A6A6A`,horizontalGrid:{stroke:`#6A6A6A`},verticalGrid:{stroke:`#6A6A6A`}},plots:{stroke:`#6A6A6A`},labels:{bestPlotLabel:{show:!1},axis:{xLabel:``,yLabel:``},xAxisLabels:{show:!1},yAxisLabels:{show:!1}}}}},userConfig:A.value.skeletonConfig??{}})),{loading:hn,FINAL_DATASET:gn,manualLoading:_n}=ve({...et(E),FINAL_CONFIG:A,prepareConfig:xn,skeletonDataset:E.config?.skeletonDataset??[{name:`_`,color:`#DBDBDB`,plots:[{name:`_`,value:1},{name:`_`,value:2},{name:`_`,value:3}]},{name:`_`,color:`#C4C4C4`,plots:[{name:`_`,value:3},{name:`_`,value:5},{name:`_`,value:8}]},{name:`_`,color:`#ADADAD`,plots:[{name:`_`,value:8},{name:`_`,value:13},{name:`_`,value:21}]},{name:`_`,color:`#969696`,plots:[{name:`_`,value:21},{name:`_`,value:34},{name:`_`,value:55}]},{name:`_`,color:`#808080`,plots:[{name:`_`,value:55},{name:`_`,value:89},{name:`_`,value:144}]}],skeletonConfig:se({defaultConfig:A.value,userConfig:mn.value})}),{userOptionsVisible:vn,setUserOptionsVisibility:yn,keepUserOptionState:bn}=Ve({config:A.value}),{svgRef:R}=He({config:I.value.title});function xn(){return Ce(E.config,Ut,Ue)}function Sn(e){return Ht.includes(e)?e:`classic`}let Cn=ne(E.config);tt(()=>E.config,async(e,t)=>{let n=ne(e),r=n!==Cn;Cn=n;let i=xn();r?(hn.value||(A.value=i),vn.value=!A.value.userOptions.showOnChartHover,On(),en.value+=1,tn.value+=1,H.value.dataLabels.show=N.value.bestPlotLabel.show,H.value.showTable=A.value.table.show,H.value.showTooltip=M.value.show,A.value.responsive||(B.value=I.value.width,V.value=I.value.height,Rn.value=I.value.plots.radius)):(A.value.style.chart.tooltip=i.style.chart.tooltip,H.value.showTooltip=A.value.style.chart.tooltip.show)},{deep:!0}),tt(()=>E.dataset,e=>{Array.isArray(e)&&e.length>0&&(_n.value=!1)},{deep:!0});let z=$e(null),wn=$e(null),Tn=b(!1),En=0;Ze(()=>{On()});let Dn=u(()=>A.value.debug);function On(){_e(E.dataset)?(ie({componentName:`VueUiStripPlot`,type:`dataset`,debug:Dn.value}),_n.value=!0):E.dataset.forEach((e,t)=>{ge({datasetObject:e,requiredAttributes:[`name`,`plots`]}).forEach(e=>{Gt.value=!1,ie({componentName:`VueUiStripPlot`,type:`datasetSerieAttribute`,property:e,index:t,debug:Dn.value})}),e.plots&&e.plots.forEach((e,n)=>{ge({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{Gt.value=!1,ie({componentName:`VueUiStripPlot`,type:`datasetSerieAttribute`,property:e,index:`${t},${n}`,debug:Dn.value})})})}),_e(E.dataset)||(_n.value=A.value.loading),A.value.responsive&&(z.value&&(wn.value&&z.value.unobserve(wn.value),z.value.disconnect()),z.value=new ResizeObserver(()=>{let{width:e,height:t}=Re({chart:D.value,title:I.value.title.text?Xt.value:null,source:Zt.value,noTitle:Qt.value});cancelAnimationFrame(En),En=requestAnimationFrame(()=>{Ln.value=t,B.value=Math.max(.1,e),V.value=Math.max(.1,t-12),Tn.value=!0,A.value.responsiveProportionalSizing?Rn.value=ue({relator:Math.min(t,e),adjuster:600,source:I.value.plots.radius,threshold:6,fallback:6}):Rn.value=I.value.plots.radius})}),wn.value=D.value.parentNode,z.value.observe(wn.value)),$t.value=!0,setTimeout(()=>{Fn.value=!1},Jn.value*50)}Xe(()=>{cancelAnimationFrame(En),z.value&&(wn.value&&z.value.unobserve(wn.value),z.value.disconnect())});let{isPrinting:kn,isImaging:An,generatePdf:jn,generateImage:Mn}=Ne({elementId:`strip-plot_${Kt.value}`,fileName:I.value.title.text||`vue-ui-strip-plot`,options:A.value.userOptions.print}),Nn=u(()=>A.value.userOptions.show&&!I.value.title.text),Pn=u(()=>me(A.value.customPalette)),Fn=b(A.value.useCssAnimation),In=b({top:I.value.padding.top,bottom:I.value.padding.bottom,left:I.value.padding.left,right:I.value.padding.right}),B=b(I.value.width),V=b(I.value.height),Ln=b(I.value.height),Rn=b(I.value.plots.radius),H=b({showTable:A.value.table.show,dataLabels:{show:N.value.bestPlotLabel.show},showTooltip:M.value.show});tt(A,()=>{H.value={showTable:A.value.table.show,dataLabels:{show:N.value.bestPlotLabel.show},showTooltip:M.value.show},A.value.responsive||(B.value=I.value.width,V.value=I.value.height,Rn.value=I.value.plots.radius)},{immediate:!0});let U=u(()=>Math.min(Rn.value,G.value.stripWidth/2*.9));function W(e){return Number.isFinite(e)?Number(e.toFixed(2)):0}function zn(){return Math.max(0,(G.value.stripWidth/2-U.value*1.8)*.86)*Math.min(1,P.value.widthRatio)}let{metrics:Bn,ready:Vn,settling:Hn,update:Un}=Fe({svgRef:R,canMeasure:()=>!A.value.responsive||Tn.value,initialMetrics:{scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0},measure:e=>({scaleLabelsWidth:e(cn.value).textWidth,yAxisLabelWidth:e(on.value).rotatedWidth,xAxisLabelHeight:e(an.value).height,timeLabelsHeight:e(sn.value).height})});function Wn(){let e=Bn.value.scaleLabelsWidth,t=Bn.value.yAxisLabelWidth;return e+t+(t?24:0)}let Gn=u(()=>Bn.value.xAxisLabelHeight+Bn.value.timeLabelsHeight+(an.value?N.value.axis.fontSize/3+12+N.value.axis.xLabelOffsetY:0)+(sn.value?12:0)),G=u(()=>{let e=Wn(),t=In.value.left+e+N.value.axis.yLabelOffsetX+5,n=B.value-In.value.right,r=Math.max(0,n-t),i=In.value.top+I.value.plots.radius+N.value.bestPlotLabel.fontSize,a=V.value-In.value.bottom-Gn.value,o=Math.max(0,a-i),s=Array.isArray(gn.value)?gn.value.length:0;return{left:t,right:n,top:i,bottom:a,width:r,height:o,stripWidth:s>0?r/s:0,absoluteHeight:V.value}});function Kn(e){return G.value.left+(e+1)*G.value.stripWidth-G.value.stripWidth/2}let qn=u(()=>gn.value.map((e,t)=>{let n=te();return{...e,id:n,color:e.color?ee(e.color):Pn.value[t]||o[t]||o[t%o.length],plots:e.plots.map((r,i)=>({...r,value:ae(r.value),parentId:n,parentName:e.name,parentIndex:t,plotIndex:i,color:e.color?ee(e.color):Pn.value[t]||o[t]||o[t%o.length],id:te()})).sort((e,t)=>e.value-t.value)}})),K=u(()=>(qn.value||[]).map((e,t)=>({...e,plots:e.plots.map(e=>({...e,x:Kn(t)}))}))),Jn=u(()=>Math.max(...K.value.map(e=>e.plots.length))),Yn=u(()=>{let e=K.value.flatMap(e=>e.plots.map(e=>e.value));return{max:Math.max(...e),min:Math.min(...e)}}),Xn=u(()=>{let e=F.value.scaleMin,t=F.value.scaleMax,n=Math.max(2,F.value.scaleSteps),r=Yn.value.min<0?Yn.value.min:0,i=Yn.value.max;if(e===null&&t===null)return re(r,i,n);if(e!==null&&t!==null)return pe(e,t,n);let a=re(e===null?r:e,t===null?i:t,n);return pe(e===null?a.min:e,t===null?a.max:t,n)});function q(e){let t=Xn.value.max-Xn.value.min;return t?G.value.bottom-(e-Xn.value.min)/t*G.value.height:G.value.bottom}let J=u(()=>(K.value||[]).map((e,t)=>{let n=e.plots.map(e=>({...e,y:q(e.value)})),r=pn.value===`classic`?n.map(()=>0):er(n);return{...e,plots:n.map((e,t)=>({...e,x:e.x+r[t]}))}})),Y=u(()=>pn.value===`violin`&&!!P.value?.boxPlot?.show);function Zn(e,t){if(!e.length)return 0;if(e.length===1)return e[0];let n=(e.length-1)*t,r=Math.floor(n),i=n-r,a=e[r+1];return a===void 0?e[r]:e[r]+i*(a-e[r])}let X=u(()=>Y.value?J.value.map((e,t)=>{let n=e.plots.map(e=>e.value).sort((e,t)=>e-t),r=Zn(n,.25),i=Zn(n,.5),a=Zn(n,.75),o=a-r,s=r-o*1.5,c=a+o*1.5,ee=n.find(e=>e>=s),te=n.slice().reverse().find(e=>e<=c),ne=Kn(t),re=Math.max(U.value*2.8,Math.min(zn()*.32,G.value.stripWidth*.12))*Math.min(1.5,P.value.boxPlot.widthRatio);return{id:e.id,boxPlotColor:P.value.boxPlot.useSerieColor?e.color:P.value.boxPlot.color,color:e.color,name:e.name,count:n.length,lowerAdjacent:ee??n[0],q1:r,median:i,q3:a,upperAdjacent:te??n[n.length-1],iqr:o,lowerFence:s,upperFence:c,centerX:ne,boxLeft:ne-re/2,boxWidth:re,q1Y:q(r),medianY:q(i),q3Y:q(a),lowerY:q(ee??n[0]),upperY:q(te??n[n.length-1])}}):[]),Qn=u(()=>[A.value.table.columnNames.series,P.value.tooltipLabels.lowerAdjacent,P.value.tooltipLabels.q1,P.value.tooltipLabels.median,P.value.tooltipLabels.q3,P.value.tooltipLabels.upperAdjacent,P.value.tooltipLabels.iqr,P.value.tooltipLabels.count]);function $n(e){return n({p:N.value.prefix,v:e,s:N.value.suffix,r:A.value.table.td.roundingValue})}function er(e){let t=pn.value===`violin`?Math.max(0,zn()-U.value*1.15):Math.max(0,G.value.stripWidth/2-U.value*1.5);if(!e.length||!t)return e.map(()=>0);let n=e.map(()=>0),r=U.value*2.1,i=Math.min(t,r),a=[0];for(let e=i;e<=t+i/2;e+=i)a.push(-Math.min(e,t)),a.push(Math.min(e,t));let o=[];return e.forEach((e,t)=>{let i=a.find(t=>o.every(n=>{let i=t-n.offset,a=e.y-n.y;return Math.hypot(i,a)>=r}))??0;n[t]=i,o.push({y:e.y,offset:i})}),n}let tr=u(()=>pn.value===`violin`?J.value.map((e,t)=>({id:e.id,color:P.value.useSerieColor?e.color:P.value.stroke,fill:P.value.useSerieColor?e.color:P.value.fill,path:nr(e.plots,t),connectors:rr(e.plots,t)})):[]);function nr(e,t){let n=zn();if(!e.length||!G.value.height||!n)return``;let r=Kn(t),i=e.map(e=>e.y),a=Z(i),o=ar({yValues:i,bandwidth:a});return o.length>1?o.map(e=>sr({yValues:e,centerX:r,maxWidth:ir({clusterLength:e.length,totalLength:i.length,maxWidth:n}),bandwidth:Z(e)})).join(` `):sr({yValues:i,centerX:r,maxWidth:n,bandwidth:a})}function rr(e,t){if(!e.length)return[];let n=Kn(t),r=e.map(e=>e.y),i=ar({yValues:r,bandwidth:Z(r)});return i.length<2?[]:i.slice(1).map((e,t)=>{let r=i[t],a=Z(r),o=Z(e),s=he(Math.max(...r)+a*2.35,G.value.top,G.value.bottom),c=he(Math.min(...e)-o*2.35,G.value.top,G.value.bottom);return{x:W(n),y1:W(s),y2:W(c)}})}function ir({clusterLength:e,totalLength:t,maxWidth:n}){let r=(e/t)**.6,i=e<=2?.72:1;return Math.max(U.value*2.2,n*he(r*i,.18,1))}function Z(e){let t=e.reduce((e,t)=>e+t,0)/Math.max(1,e.length),n=e.reduce((e,n)=>e+(n-t)**2,0)/Math.max(1,e.length),r=Math.sqrt(n),i=e.length<2?Math.max(U.value*2.6,G.value.height/48):U.value*2.1;return he(1.06*r*e.length**-.2,i,G.value.height/5)}function ar({yValues:e,bandwidth:t}){if(e.length<2)return[e];let n=[...e].sort((e,t)=>e-t),r=Math.max(t*1.45,U.value*5),i=[],a=[n[0]];for(let e=1;e<n.length;e+=1)Math.abs(n[e]-n[e-1])>r?(i.push(a),a=[n[e]]):a.push(n[e]);return i.push(a),or(i)}function or(e){return e.reduce((e,t)=>{let n=e[e.length-1];if(!n)return e.push(t),e;let r=Z(n),i=Z(t);return Math.max(...n)+r*2.35>=Math.min(...t)-i*2.35?n.push(...t):e.push(t),e},[])}function sr({yValues:e,centerX:t,maxWidth:n,bandwidth:r}){let i=he(Math.min(...e)-r*2.35,G.value.top,G.value.bottom),a=he(Math.max(...e)+r*2.35,G.value.top,G.value.bottom),o=Math.max(48,Math.min(120,Math.round((a-i)/Math.max(1,r/4)))),s=Array.from({length:o},(t,n)=>{let s=i+(a-i)*n/Math.max(1,o-1);return{y:s,density:e.reduce((e,t)=>{let n=(s-t)/r;return e+Math.exp(-.5*n*n)},0)}}),c=Math.max(...s.map(e=>e.density));if(!c)return``;let ee=s.map((e,t)=>{let r=t===0||t===s.length-1?0:e.density/c*n;return{y:W(e.y),width:W(r)}}),te=ee.map(e=>({x:W(t-e.width),y:e.y})),ne=ee.slice(0,-1).reverse().map(e=>({x:W(t+e.width),y:e.y}));return`${cr([...te,...ne])} Z`}function cr(e){if(!e.length)return``;if(e.length===1)return`M ${e[0].x} ${e[0].y}`;let t=`M ${e[0].x} ${e[0].y}`;for(let n=1;n<e.length-1;n+=1){let r=e[n],i=e[n+1],a=W((r.x+i.x)/2),o=W((r.y+i.y)/2);t+=` Q ${r.x} ${r.y} ${a} ${o}`}let n=e[e.length-1];return`${t} L ${n.x} ${n.y}`}let lr=u(()=>Xn.value.ticks.map(e=>({y:q(e),x1:G.value.left,x2:G.value.right,value:e}))),ur=b(null),Q=b(null);function dr({datapoint:e,seriesIndex:t}){k.value!==`keyboard`&&(Jt.value=!1,Q.value=null,A.value.events.datapointLeave&&A.value.events.datapointLeave({datapoint:e,seriesIndex:t}))}function fr({datapoint:e,seriesIndex:t}){Wt(`selectDatapoint`,e),A.value.events.datapointClick&&A.value.events.datapointClick({datapoint:e,seriesIndex:t})}function pr(e,t={}){return oe(N.value.formatter,e,n({p:N.value.prefix,v:e,s:N.value.suffix,r:M.value.roundingValue}),t)}function mr({datapoint:e,seriesIndex:t,triggerMode:n=`pointer`}){A.value.events.datapointEnter&&A.value.events.datapointEnter({datapoint:e,seriesIndex:t}),k.value=n,ur.value={datapoint:e,seriesIndex:t,config:A.value,series:qn.value},Jt.value=!0,Q.value=e;let r=M.value.customFormat;if(i(r)&&le(()=>r({seriesIndex:t,datapoint:e,series:qn.value,config:A.value})))Yt.value=r({seriesIndex:t,datapoint:e,series:qn.value,config:A.value});else{let n=``;n+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${I.value.plots.gradient.show?`url(#${e.parentId})`:e.color}"/></svg>${e.name}</div>`,n+=`<div>${pr(e.value,{datapoint:e,seriesIndex:t})}</div>`,Yt.value=`<div>${n}</div>`}}function hr(){k.value!==`keyboard`&&(Jt.value=!1,Q.value=null)}function gr({boxPlot:e,seriesIndex:t,triggerMode:n=`pointer`}){k.value=n,Q.value=null,Jt.value=!0,ur.value={boxPlot:e,seriesIndex:t,config:A.value,series:qn.value};let r=M.value.customFormat;if(i(r))try{let n={boxPlot:e,seriesIndex:t,series:qn.value,config:A.value};if(le(()=>r(n))){Yt.value=r(n);return}}catch{}let a=[[P.value.tooltipLabels.upperAdjacent,e.upperAdjacent],[P.value.tooltipLabels.q3,e.q3],[P.value.tooltipLabels.median,e.median],[P.value.tooltipLabels.q1,e.q1],[P.value.tooltipLabels.lowerAdjacent,e.lowerAdjacent],[P.value.tooltipLabels.iqr,e.iqr]],o=`<svg viewBox="0 0 12 12" height="14" width="14"><rect x="1" y="1" width="10" height="10" rx="2" stroke="none" fill="${e.color}"/></svg>`,s=a.map(([n,r])=>`<div style="display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:space-between;"><span>${n}</span><b>${pr(r,{boxPlot:e,seriesIndex:t})}</b></div>`).join(``);Yt.value=`<div style="min-width:160px;"><div style="display:flex;flex-direction:row;gap:6px;align-items:center;margin-bottom:6px;">${o}${e.name}</div>`+s+`<div style="display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:space-between;margin-top:6px;"><span>${P.value.tooltipLabels.count}</span><b>${e.count}</b></div></div>`}let _r=u(()=>({head:K.value.flatMap(e=>JSON.parse(JSON.stringify(e.plots)).sort((e,t)=>t.value-e.value).map(t=>({name:`${e.name} - ${t.name}`,color:t.color}))),body:K.value.flatMap(e=>JSON.parse(JSON.stringify(e.plots)).sort((e,t)=>t.value-e.value).map(e=>e.value))}));function vr(e=null){Je(()=>{let t=[],n=[A.value.table.columnNames.series,A.value.table.columnNames.value];Y.value?(n=Qn.value,t=X.value.map(e=>[[e.name],[e.lowerAdjacent],[e.q1],[e.median],[e.q3],[e.upperAdjacent],[e.iqr],[e.count]])):t=_r.value.head.map((e,t)=>[[e.name],[_r.value.body[t]]]);let i=[[I.value.title.text],[I.value.title.subtitle.text],n.map(e=>[e])].concat(t),a=r(i);e?e(a):ce({csvContent:a,title:I.value.title.text||`vue-ui-strip-plot`})})}let yr=u(()=>{if(Y.value){let e=Qn.value;return{colNames:e,head:e,body:X.value.map(e=>[{color:e.color,name:e.name},$n(e.lowerAdjacent),$n(e.q1),$n(e.median),$n(e.q3),$n(e.upperAdjacent),$n(e.iqr),e.count]),config:{th:{backgroundColor:A.value.table.th.backgroundColor,color:A.value.table.th.color,outline:A.value.table.th.outline},td:{backgroundColor:A.value.table.td.backgroundColor,color:A.value.table.td.color,outline:A.value.table.td.outline},breakpoint:A.value.table.responsiveBreakpoint}}}let e=[A.value.table.columnNames.series,A.value.table.columnNames.value],t=_r.value.head.map((e,t)=>{let r=n({p:N.value.prefix,v:_r.value.body[t],s:N.value.suffix,r:A.value.table.td.roundingValue});return[{color:e.color,name:e.name},r]}),r={th:{backgroundColor:A.value.table.th.backgroundColor,color:A.value.table.th.color,outline:A.value.table.th.outline},td:{backgroundColor:A.value.table.td.backgroundColor,color:A.value.table.td.color,outline:A.value.table.td.outline},breakpoint:A.value.table.responsiveBreakpoint};return{colNames:[A.value.table.columnNames.series,A.value.table.columnNames.value],head:e,body:t,config:r}}),$=b(!1);function br(e){$.value=e,qt.value+=1}function xr(){return K.value}function Sr(){H.value.showTable=!H.value.showTable}function Cr(){H.value.dataLabels.show=!H.value.dataLabels.show}function wr(){H.value.showTooltip=!H.value.showTooltip}let Tr=b(!1);function Er(){Tr.value=!Tr.value}let Dr=we(D,()=>I.value.title.text),Or=u(()=>K.value.map(e=>e.name)),kr=b({start:0,end:K.value.length});Ie({timeLabelsEls:sn,timeLabels:Or,slicer:kr,configRef:A,rotationPath:[`style`,`chart`,`labels`,`xAxisLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`labels`,`xAxisLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:B,height:V,targetClass:`.vue-ui-strip-plot-category-name`,rotation:N.value.xAxisLabels.autoRotate.angle});let Ar=u(()=>Oe({config:A,style:I,mutableConfig:H,dialog:Vt,accordion:It,isFullscreen:$,parent:D,maxWidth:800,isCursorPointer:L}));tt(()=>H.value.showTable,e=>De(e,A,nn));function jr(){H.value.showTable=!1,rn.value&&rn.value.setTableIconState(!1)}let Mr=u(()=>I.value.backgroundColor),Nr=u(()=>I.value.title),{isCallbackImaging:Pr,isCallbackSvg:Fr,generateSvg:Ir,onGenerateImage:Lr}=Ee({svg:R,title:Nr,legend:null,legendItems:null,backgroundColor:Mr,getSvgCallback:()=>A.value.userOptions.callbacks.svg,generateImage:Mn});async function Rr(){Wt(`copyAlt`,{config:A.value,dataset:J.value}),A.value.userOptions.callbacks.altCopy?await Promise.resolve(A.value.userOptions.callbacks.altCopy({config:A.value,dataset:J.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function zr(){return J.value.length}function Br(e){return J.value[e]?.plots??[]}function Vr(e=O.value,t=ln.value){return!Number.isInteger(e)||!Number.isInteger(t)?null:Br(e)[t]??null}function Hr(){O.value=null,ln.value=null,k.value=`pointer`,Jt.value=!1,Q.value=null}function Ur(e){if(!e||!R.value)return;let t=R.value.getBoundingClientRect();un.value={x:t.left+e.x/B.value*t.width,y:t.top+e.y/V.value*t.height}}function Wr(e,t){let n=Vr(e,t);n&&(O.value=e,ln.value=t,k.value=`keyboard`,Ur(n),mr({datapoint:n,seriesIndex:e,triggerMode:`keyboard`}))}function Gr(){dn.value=!0,O.value=null,ln.value=null}function Kr(){dn.value=!1,Hr()}function qr(e){if(!R.value||Tr.value||document.activeElement!==R.value||!zr())return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`ArrowUp`,i=e.key===`ArrowDown`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){Hr();return}let s=O.value,c=ln.value;if(s===null||c===null)s=0,c=0;else if(t||n){let e=zr();s=n?(s+1)%e:(s-1+e)%e;let t=Br(s);if(!t.length)return;c=Math.min(c,t.length-1)}else if(r||i){let e=Br(s);if(!e.length)return;c=r?(c+1)%e.length:(c-1+e.length)%e.length}if(a){let e=Vr();if(!e)return;fr({datapoint:e,seriesIndex:O.value})}else Wr(s,c)}let Jr=u(()=>({headers:yr.value?.colNames??[],rows:yr.value?.body?.map(e=>e.map(e=>e&&typeof e==`object`&&`name`in e?e.name:e))??[]}));return Se({getData:xr,getImage:Dr,generatePdf:jn,generateCsv:vr,generateImage:Mn,generateSvg:Ir,toggleTable:Sr,toggleLabels:Cr,toggleTooltip:wr,toggleAnnotator:Er,toggleFullscreen:br,copyAlt:Rr}),tt(()=>[B.value,V.value,N.value,I.value,A.value.style.fontFamily,E.dataset,Tn.value,cn.value,sn.value,an.value,on.value],Un,{flush:`post`,deep:!0}),(e,t)=>(y(),p(`div`,{ref_key:`stripPlotChart`,ref:D,class:Ye(`vue-data-ui-component vue-ui-strip-plot ${$.value?`vue-data-ui-wrapper-fullscreen`:``} ${A.value.useCssAnimation?``:`vue-ui-dna`}`),style:v(`font-family:${A.value.style.fontFamily};width:100%; text-align:center;background:${I.value.backgroundColor};${A.value.responsive?`height:100%`:``}`),id:`strip-plot_${Kt.value}`,onMouseenter:t[2]||=()=>w(yn)(!0),onMouseleave:t[3]||=()=>w(yn)(!1)},[m(`div`,{id:`chart-instructions-${Kt.value}`,class:`sr-only`},[m(`p`,null,C(A.value.a11y.translations.keyboardNavigation),1)],8,it),Jr.value?.rows?.length?(y(),d(Be,{key:0,uid:Kt.value,head:Jr.value.headers,body:Jr.value.rows,notice:A.value.a11y.translations.tableAvailable,caption:A.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),j.value.buttons.annotator?(y(),d(w(zt),{key:1,svgRef:w(R),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Tr.value,isCursorPointer:L.value,palette:j.value.annotatorPalette,onClose:Er},We({_:2},[x(w(Ae),t=>({name:t,fn:T(n=>[S(e.$slots,t,_(g(w(ke)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),Nn.value?(y(),p(`div`,{key:2,ref_key:`noTitle`,ref:Qt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),I.value.title.text?(y(),p(`div`,{key:3,ref_key:`chartTitle`,ref:Xt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),d(Te,{key:`title_${en.value}`,config:{title:{cy:`donut-div-title`,...I.value.title},subtitle:{cy:`donut-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):f(``,!0),j.value.show&&Gt.value&&(w(bn)||w(vn))?(y(),d(w(Rt),{ref_key:`userOptionsRef`,ref:rn,key:`user_option_${qt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:w(kn),isImaging:w(An),uid:Kt.value,hasTooltip:j.value.buttons.tooltip&&M.value.show,hasPdf:j.value.buttons.pdf,hasXls:j.value.buttons.csv,hasImg:j.value.buttons.img,hasSvg:j.value.buttons.svg,hasTable:j.value.buttons.table,hasLabel:j.value.buttons.labels&&A.value.type!==`violin`,hasFullscreen:j.value.buttons.fullscreen,hasAltCopy:j.value.buttons.altCopy,isTooltip:H.value.showTooltip,isFullscreen:$.value,titles:{...j.value.buttonTitles},chartElement:D.value,position:j.value.position,hasAnnotator:j.value.buttons.annotator,isAnnotation:Tr.value,callbacks:j.value.callbacks,printScale:j.value.print.scale,tableDialog:A.value.table.useDialog,isCursorPointer:L.value,onToggleFullscreen:br,onGeneratePdf:w(jn),onGenerateCsv:vr,onGenerateImage:w(Lr),onGenerateSvg:w(Ir),onToggleTable:Sr,onToggleLabels:Cr,onToggleTooltip:wr,onToggleAnnotator:Er,onCopyAlt:Rr,style:v({visibility:w(bn)?w(vn)?`visible`:`hidden`:`visible`})},We({_:2},[x(w(je)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:T(n=>[S(e.$slots,t,_(g(w(Me)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,at,[(y(),p(`svg`,{ref_key:`svgRef`,ref:R,xmlns:w(fe),class:Ye({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value,"vue-data-ui-no-transition":!w(fn)||w(Hn)}),viewBox:`0 0 ${B.value} ${V.value}`,style:v(`max-width:100%; overflow: visible; background:transparent;color:${I.value.color};;visibility:${w(Vn)?`visible`:`hidden`}`),"aria-describedby":`chart-instructions-${Kt.value}`,tabindex:`0`,onFocus:Gr,onBlur:Kr,onKeydown:qr},[Ke(w(Bt)),S(e.$slots,`svg-underlayer`,{svg:{...G.value,isPrintingImg:w(kn)||w(An)||w(Pr),isPrintingSvg:w(Fr),boxPlotSummaries:X.value,series:K.value}},void 0,!0),e.$slots[`chart-background`]?(y(),p(`foreignObject`,{key:0,x:G.value.left,y:G.value.top,width:Math.max(.1,G.value.width),height:Math.max(.1,G.value.height),style:{pointerEvents:`none`}},[S(e.$slots,`chart-background`,{},void 0,!0)],8,st)):f(``,!0),F.value.show?(y(),p(`g`,ct,[F.value.horizontalGrid.show?(y(),p(`g`,lt,[(y(!0),p(l,null,x(lr.value,e=>(y(),p(`line`,{x1:e.x1,x2:e.x2,y1:e.y,y2:e.y,stroke:F.value.horizontalGrid.stroke,"stroke-width":F.value.horizontalGrid.strokeWidth,"stroke-dasharray":F.value.horizontalGrid.strokeDasharray,"stroke-linecap":`round`},null,8,ut))),256))])):f(``,!0),F.value.verticalGrid.show?(y(),p(`g`,dt,[(y(!0),p(l,null,x(K.value,(e,t)=>(y(),p(`line`,{x1:G.value.left+(t+1)*G.value.stripWidth,x2:G.value.left+(t+1)*G.value.stripWidth,y1:G.value.top,y2:G.value.bottom,stroke:F.value.verticalGrid.stroke,"stroke-width":F.value.verticalGrid.strokeWidth,"stroke-dasharray":F.value.verticalGrid.strokeDasharray,"stroke-linecap":`round`},null,8,ft))),256))])):f(``,!0),m(`line`,{x1:G.value.left,x2:G.value.left,y1:G.value.top,y2:G.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,pt),m(`line`,{x1:G.value.left,x2:G.value.right,y1:G.value.bottom,y2:G.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,mt)])):f(``,!0),N.value.yAxisLabels.show?(y(),p(`g`,{key:2,ref_key:`scaleLabels`,ref:cn},[(y(!0),p(l,null,x(lr.value,(e,t)=>(y(),p(`text`,{class:Ye({"vue-data-ui-transition":w(fn)&&!w(Hn)}),key:`sl_${t}`,transform:`translate(${e.x1+N.value.yAxisLabels.offsetX-5}, ${e.y+N.value.yAxisLabels.fontSize/3})`,fill:N.value.yAxisLabels.color,"font-size":N.value.yAxisLabels.fontSize,"text-anchor":`end`},C(w(oe)(N.value.formatter,e.value,w(n)({p:N.value.prefix,v:e.value,s:N.value.suffix,r:N.value.yAxisLabels.rounding}),{datapoint:e,seriesIndex:t})),11,ht))),128))],512)):f(``,!0),N.value.xAxisLabels.show?(y(),p(`g`,{key:3,ref_key:`timeLabelsEls`,ref:sn},[(y(!0),p(l,null,x(Or.value,(e,t)=>(y(),p(`g`,null,[String(e).includes(`
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Ft as a,Ht as o,J as s,Q as c,S as ee,X as te,Zt as ne,_ as re,at as ie,b as ae,i as oe,in as se,nt as ce,pt as le,rn as ue,sn as de,t as fe,v as pe,w as me,x as he,yt as ge,zt as _e}from"./lib-rPeBMZrn.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{n as Ce}from"./resolveChartConfig-CIhClE5R.js";import{t as we}from"./chartImage-DPGnEuYM.js";import{n as Te}from"./Title-BliHuXfT.js";import{t as Ee}from"./useChartExport-BZts4KFb.js";import{n as De,t as Oe}from"./tableIntegration-CNoJ1CIY.js";import{n as ke,t as Ae}from"./annotationSlots-BRR85CqJ.js";import{n as je,t as Me}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ne}from"./usePrinter-sVoTzet1.js";import{t as Pe}from"./useTransitions-ChGGrtrv.js";import{t as Fe}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Ie}from"./useTimeLabelCollider-BTybMUFi.js";import{t as Le}from"./Shape-CRe8woTu.js";import{t as Re}from"./useResponsive-CENUxfEL.js";import{t as ze}from"./DefGrad-DKMq1REY.js";import{t as Be}from"./A11yDataTable-DWNlWXzs.js";import{t as Ve}from"./useUserOptionState-CXlFnwPv.js";import{t as He}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ue}from"./vue_ui_strip_plot-CwMowrhT.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as We,createTextVNode as Ge,createVNode as Ke,defineAsyncComponent as h,guardReactiveProps as g,mergeProps as qe,nextTick as Je,normalizeClass as Ye,normalizeProps as _,normalizeStyle as v,onBeforeUnmount as Xe,onMounted as Ze,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as Qe,shallowRef as $e,toDisplayString as C,toRefs as et,unref as w,watch as tt,withCtx as T}from"vue";var nt=/* @__PURE__ */ e({default:()=>Pt}),rt=[`id`],it=[`id`],at={style:{position:`relative`}},ot=[`xmlns`,`viewBox`,`aria-describedby`],st=[`x`,`y`,`width`,`height`],ct={key:1},lt={key:0},ut=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],dt={key:1},ft=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],pt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],mt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],ht=[`transform`,`fill`,`font-size`],gt=[`transform`,`font-size`,`fill`,`text-anchor`],_t=[`transform`,`font-size`,`fill`,`text-anchor`,`innerHTML`],vt=[`fill`,`font-size`,`transform`],yt=[`fill`,`font-size`,`x`,`y`],bt=[`x1`,`x2`,`y1`,`y2`,`stroke`],xt=[`cx`,`cy`,`fill`],St=[`cx`,`cy`,`fill`],Ct=[`d`,`fill`,`stroke`,`fill-opacity`,`stroke-opacity`,`stroke-width`,`onMouseenter`],wt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-opacity`,`stroke-width`],Tt=[`onMouseenter`],Et=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Dt=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`,`rx`],Ot=[`cx`,`cy`,`r`,`fill`,`stroke`],kt={key:1},At=[`x`,`y`,`font-size`,`fill`],jt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Mt={key:5,class:`vue-data-ui-watermark`},Nt={style:{display:`flex`,"align-items":`center`}},Pt=/*#__PURE__*/ Se({__name:`vue-ui-strip-plot`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`copyAlt`],setup(e,{expose:Se,emit:nt}){let Pt=h(()=>import(`./Tooltip-C1q0Qoh7.js`)),Ft=h(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),It=h(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Lt=h(()=>import(`./DataTable-0Vv-aGHD.js`)),Rt=h(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),zt=h(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Bt=h(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),Vt=h(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),Ht=[`classic`,`scatter`,`violin`],{vue_ui_strip_plot:Ut}=t(),E=e,Wt=nt,Gt=u({get(){return!!E.dataset&&E.dataset.length},set(e){return e}}),Kt=b(te()),qt=b(0),Jt=b(!1),Yt=b(``),D=b(null),Xt=b(null),Zt=b(null),Qt=b(null),$t=b(!1),en=b(0),tn=b(0),nn=b(null),rn=b(null),an=b(null),on=b(null),sn=b(null),cn=b(null),O=b(null),ln=b(null),k=b(`pointer`),un=b({x:0,y:0}),dn=b(!1),A=b(xn()),j=u(()=>A.value.userOptions),M=u(()=>A.value.style.chart.tooltip),N=u(()=>A.value.style.chart.labels),P=u(()=>A.value.style.chart.violin),F=u(()=>A.value.style.chart.grid),I=u(()=>A.value.style.chart);be({config:()=>A.value,dataset:()=>E.dataset,component:`VueUiStripPlot`,rules:[xe.emptyArray,{test:e=>e.length>12,message:[`👀 The number of series is > 12. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using multiple instances of the chart to display related series.`]}]});let{transitionEnabled:fn}=Pe({config:()=>A.value.transitions,dataset:()=>E.dataset}),pn=u(()=>Sn(A.value.type)),L=u(()=>A.value.userOptions.useCursorPointer),mn=u(()=>se({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,padding:{top:24,left:24,right:24,bottom:24},grid:{stroke:`#6A6A6A`,horizontalGrid:{stroke:`#6A6A6A`},verticalGrid:{stroke:`#6A6A6A`}},plots:{stroke:`#6A6A6A`},labels:{bestPlotLabel:{show:!1},axis:{xLabel:``,yLabel:``},xAxisLabels:{show:!1},yAxisLabels:{show:!1}}}}},userConfig:A.value.skeletonConfig??{}})),{loading:hn,FINAL_DATASET:gn,manualLoading:_n}=ve({...et(E),FINAL_CONFIG:A,prepareConfig:xn,skeletonDataset:E.config?.skeletonDataset??[{name:`_`,color:`#DBDBDB`,plots:[{name:`_`,value:1},{name:`_`,value:2},{name:`_`,value:3}]},{name:`_`,color:`#C4C4C4`,plots:[{name:`_`,value:3},{name:`_`,value:5},{name:`_`,value:8}]},{name:`_`,color:`#ADADAD`,plots:[{name:`_`,value:8},{name:`_`,value:13},{name:`_`,value:21}]},{name:`_`,color:`#969696`,plots:[{name:`_`,value:21},{name:`_`,value:34},{name:`_`,value:55}]},{name:`_`,color:`#808080`,plots:[{name:`_`,value:55},{name:`_`,value:89},{name:`_`,value:144}]}],skeletonConfig:se({defaultConfig:A.value,userConfig:mn.value})}),{userOptionsVisible:vn,setUserOptionsVisibility:yn,keepUserOptionState:bn}=Ve({config:A.value}),{svgRef:R}=He({config:I.value.title});function xn(){return Ce(E.config,Ut,Ue)}function Sn(e){return Ht.includes(e)?e:`classic`}let Cn=ne(E.config);tt(()=>E.config,async(e,t)=>{let n=ne(e),r=n!==Cn;Cn=n;let i=xn();r?(hn.value||(A.value=i),vn.value=!A.value.userOptions.showOnChartHover,On(),en.value+=1,tn.value+=1,H.value.dataLabels.show=N.value.bestPlotLabel.show,H.value.showTable=A.value.table.show,H.value.showTooltip=M.value.show,A.value.responsive||(B.value=I.value.width,V.value=I.value.height,Rn.value=I.value.plots.radius)):(A.value.style.chart.tooltip=i.style.chart.tooltip,H.value.showTooltip=A.value.style.chart.tooltip.show)},{deep:!0}),tt(()=>E.dataset,e=>{Array.isArray(e)&&e.length>0&&(_n.value=!1)},{deep:!0});let z=$e(null),wn=$e(null),Tn=b(!1),En=0;Ze(()=>{On()});let Dn=u(()=>A.value.debug);function On(){_e(E.dataset)?(ie({componentName:`VueUiStripPlot`,type:`dataset`,debug:Dn.value}),_n.value=!0):E.dataset.forEach((e,t)=>{ge({datasetObject:e,requiredAttributes:[`name`,`plots`]}).forEach(e=>{Gt.value=!1,ie({componentName:`VueUiStripPlot`,type:`datasetSerieAttribute`,property:e,index:t,debug:Dn.value})}),e.plots&&e.plots.forEach((e,n)=>{ge({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{Gt.value=!1,ie({componentName:`VueUiStripPlot`,type:`datasetSerieAttribute`,property:e,index:`${t},${n}`,debug:Dn.value})})})}),_e(E.dataset)||(_n.value=A.value.loading),A.value.responsive&&(z.value&&(wn.value&&z.value.unobserve(wn.value),z.value.disconnect()),z.value=new ResizeObserver(()=>{let{width:e,height:t}=Re({chart:D.value,title:I.value.title.text?Xt.value:null,source:Zt.value,noTitle:Qt.value});cancelAnimationFrame(En),En=requestAnimationFrame(()=>{Ln.value=t,B.value=Math.max(.1,e),V.value=Math.max(.1,t-12),Tn.value=!0,A.value.responsiveProportionalSizing?Rn.value=ue({relator:Math.min(t,e),adjuster:600,source:I.value.plots.radius,threshold:6,fallback:6}):Rn.value=I.value.plots.radius})}),wn.value=D.value.parentNode,z.value.observe(wn.value)),$t.value=!0,setTimeout(()=>{Fn.value=!1},Jn.value*50)}Xe(()=>{cancelAnimationFrame(En),z.value&&(wn.value&&z.value.unobserve(wn.value),z.value.disconnect())});let{isPrinting:kn,isImaging:An,generatePdf:jn,generateImage:Mn}=Ne({elementId:`strip-plot_${Kt.value}`,fileName:I.value.title.text||`vue-ui-strip-plot`,options:A.value.userOptions.print}),Nn=u(()=>A.value.userOptions.show&&!I.value.title.text),Pn=u(()=>me(A.value.customPalette)),Fn=b(A.value.useCssAnimation),In=b({top:I.value.padding.top,bottom:I.value.padding.bottom,left:I.value.padding.left,right:I.value.padding.right}),B=b(I.value.width),V=b(I.value.height),Ln=b(I.value.height),Rn=b(I.value.plots.radius),H=b({showTable:A.value.table.show,dataLabels:{show:N.value.bestPlotLabel.show},showTooltip:M.value.show});tt(A,()=>{H.value={showTable:A.value.table.show,dataLabels:{show:N.value.bestPlotLabel.show},showTooltip:M.value.show},A.value.responsive||(B.value=I.value.width,V.value=I.value.height,Rn.value=I.value.plots.radius)},{immediate:!0});let U=u(()=>Math.min(Rn.value,G.value.stripWidth/2*.9));function W(e){return Number.isFinite(e)?Number(e.toFixed(2)):0}function zn(){return Math.max(0,(G.value.stripWidth/2-U.value*1.8)*.86)*Math.min(1,P.value.widthRatio)}let{metrics:Bn,ready:Vn,settling:Hn,update:Un}=Fe({svgRef:R,canMeasure:()=>!A.value.responsive||Tn.value,initialMetrics:{scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0},measure:e=>({scaleLabelsWidth:e(cn.value).textWidth,yAxisLabelWidth:e(on.value).rotatedWidth,xAxisLabelHeight:e(an.value).height,timeLabelsHeight:e(sn.value).height})});function Wn(){let e=Bn.value.scaleLabelsWidth,t=Bn.value.yAxisLabelWidth;return e+t+(t?24:0)}let Gn=u(()=>Bn.value.xAxisLabelHeight+Bn.value.timeLabelsHeight+(an.value?N.value.axis.fontSize/3+12+N.value.axis.xLabelOffsetY:0)+(sn.value?12:0)),G=u(()=>{let e=Wn(),t=In.value.left+e+N.value.axis.yLabelOffsetX+5,n=B.value-In.value.right,r=Math.max(0,n-t),i=In.value.top+I.value.plots.radius+N.value.bestPlotLabel.fontSize,a=V.value-In.value.bottom-Gn.value,o=Math.max(0,a-i),s=Array.isArray(gn.value)?gn.value.length:0;return{left:t,right:n,top:i,bottom:a,width:r,height:o,stripWidth:s>0?r/s:0,absoluteHeight:V.value}});function Kn(e){return G.value.left+(e+1)*G.value.stripWidth-G.value.stripWidth/2}let qn=u(()=>gn.value.map((e,t)=>{let n=te();return{...e,id:n,color:e.color?ee(e.color):Pn.value[t]||o[t]||o[t%o.length],plots:e.plots.map((r,i)=>({...r,value:ae(r.value),parentId:n,parentName:e.name,parentIndex:t,plotIndex:i,color:e.color?ee(e.color):Pn.value[t]||o[t]||o[t%o.length],id:te()})).sort((e,t)=>e.value-t.value)}})),K=u(()=>(qn.value||[]).map((e,t)=>({...e,plots:e.plots.map(e=>({...e,x:Kn(t)}))}))),Jn=u(()=>Math.max(...K.value.map(e=>e.plots.length))),Yn=u(()=>{let e=K.value.flatMap(e=>e.plots.map(e=>e.value));return{max:Math.max(...e),min:Math.min(...e)}}),Xn=u(()=>{let e=F.value.scaleMin,t=F.value.scaleMax,n=Math.max(2,F.value.scaleSteps),r=Yn.value.min<0?Yn.value.min:0,i=Yn.value.max;if(e===null&&t===null)return re(r,i,n);if(e!==null&&t!==null)return pe(e,t,n);let a=re(e===null?r:e,t===null?i:t,n);return pe(e===null?a.min:e,t===null?a.max:t,n)});function q(e){let t=Xn.value.max-Xn.value.min;return t?G.value.bottom-(e-Xn.value.min)/t*G.value.height:G.value.bottom}let J=u(()=>(K.value||[]).map((e,t)=>{let n=e.plots.map(e=>({...e,y:q(e.value)})),r=pn.value===`classic`?n.map(()=>0):er(n);return{...e,plots:n.map((e,t)=>({...e,x:e.x+r[t]}))}})),Y=u(()=>pn.value===`violin`&&!!P.value?.boxPlot?.show);function Zn(e,t){if(!e.length)return 0;if(e.length===1)return e[0];let n=(e.length-1)*t,r=Math.floor(n),i=n-r,a=e[r+1];return a===void 0?e[r]:e[r]+i*(a-e[r])}let X=u(()=>Y.value?J.value.map((e,t)=>{let n=e.plots.map(e=>e.value).sort((e,t)=>e-t),r=Zn(n,.25),i=Zn(n,.5),a=Zn(n,.75),o=a-r,s=r-o*1.5,c=a+o*1.5,ee=n.find(e=>e>=s),te=n.slice().reverse().find(e=>e<=c),ne=Kn(t),re=Math.max(U.value*2.8,Math.min(zn()*.32,G.value.stripWidth*.12))*Math.min(1.5,P.value.boxPlot.widthRatio);return{id:e.id,boxPlotColor:P.value.boxPlot.useSerieColor?e.color:P.value.boxPlot.color,color:e.color,name:e.name,count:n.length,lowerAdjacent:ee??n[0],q1:r,median:i,q3:a,upperAdjacent:te??n[n.length-1],iqr:o,lowerFence:s,upperFence:c,centerX:ne,boxLeft:ne-re/2,boxWidth:re,q1Y:q(r),medianY:q(i),q3Y:q(a),lowerY:q(ee??n[0]),upperY:q(te??n[n.length-1])}}):[]),Qn=u(()=>[A.value.table.columnNames.series,P.value.tooltipLabels.lowerAdjacent,P.value.tooltipLabels.q1,P.value.tooltipLabels.median,P.value.tooltipLabels.q3,P.value.tooltipLabels.upperAdjacent,P.value.tooltipLabels.iqr,P.value.tooltipLabels.count]);function $n(e){return n({p:N.value.prefix,v:e,s:N.value.suffix,r:A.value.table.td.roundingValue})}function er(e){let t=pn.value===`violin`?Math.max(0,zn()-U.value*1.15):Math.max(0,G.value.stripWidth/2-U.value*1.5);if(!e.length||!t)return e.map(()=>0);let n=e.map(()=>0),r=U.value*2.1,i=Math.min(t,r),a=[0];for(let e=i;e<=t+i/2;e+=i)a.push(-Math.min(e,t)),a.push(Math.min(e,t));let o=[];return e.forEach((e,t)=>{let i=a.find(t=>o.every(n=>{let i=t-n.offset,a=e.y-n.y;return Math.hypot(i,a)>=r}))??0;n[t]=i,o.push({y:e.y,offset:i})}),n}let tr=u(()=>pn.value===`violin`?J.value.map((e,t)=>({id:e.id,color:P.value.useSerieColor?e.color:P.value.stroke,fill:P.value.useSerieColor?e.color:P.value.fill,path:nr(e.plots,t),connectors:rr(e.plots,t)})):[]);function nr(e,t){let n=zn();if(!e.length||!G.value.height||!n)return``;let r=Kn(t),i=e.map(e=>e.y),a=Z(i),o=ar({yValues:i,bandwidth:a});return o.length>1?o.map(e=>sr({yValues:e,centerX:r,maxWidth:ir({clusterLength:e.length,totalLength:i.length,maxWidth:n}),bandwidth:Z(e)})).join(` `):sr({yValues:i,centerX:r,maxWidth:n,bandwidth:a})}function rr(e,t){if(!e.length)return[];let n=Kn(t),r=e.map(e=>e.y),i=ar({yValues:r,bandwidth:Z(r)});return i.length<2?[]:i.slice(1).map((e,t)=>{let r=i[t],a=Z(r),o=Z(e),s=he(Math.max(...r)+a*2.35,G.value.top,G.value.bottom),c=he(Math.min(...e)-o*2.35,G.value.top,G.value.bottom);return{x:W(n),y1:W(s),y2:W(c)}})}function ir({clusterLength:e,totalLength:t,maxWidth:n}){let r=(e/t)**.6,i=e<=2?.72:1;return Math.max(U.value*2.2,n*he(r*i,.18,1))}function Z(e){let t=e.reduce((e,t)=>e+t,0)/Math.max(1,e.length),n=e.reduce((e,n)=>e+(n-t)**2,0)/Math.max(1,e.length),r=Math.sqrt(n),i=e.length<2?Math.max(U.value*2.6,G.value.height/48):U.value*2.1;return he(1.06*r*e.length**-.2,i,G.value.height/5)}function ar({yValues:e,bandwidth:t}){if(e.length<2)return[e];let n=[...e].sort((e,t)=>e-t),r=Math.max(t*1.45,U.value*5),i=[],a=[n[0]];for(let e=1;e<n.length;e+=1)Math.abs(n[e]-n[e-1])>r?(i.push(a),a=[n[e]]):a.push(n[e]);return i.push(a),or(i)}function or(e){return e.reduce((e,t)=>{let n=e[e.length-1];if(!n)return e.push(t),e;let r=Z(n),i=Z(t);return Math.max(...n)+r*2.35>=Math.min(...t)-i*2.35?n.push(...t):e.push(t),e},[])}function sr({yValues:e,centerX:t,maxWidth:n,bandwidth:r}){let i=he(Math.min(...e)-r*2.35,G.value.top,G.value.bottom),a=he(Math.max(...e)+r*2.35,G.value.top,G.value.bottom),o=Math.max(48,Math.min(120,Math.round((a-i)/Math.max(1,r/4)))),s=Array.from({length:o},(t,n)=>{let s=i+(a-i)*n/Math.max(1,o-1);return{y:s,density:e.reduce((e,t)=>{let n=(s-t)/r;return e+Math.exp(-.5*n*n)},0)}}),c=Math.max(...s.map(e=>e.density));if(!c)return``;let ee=s.map((e,t)=>{let r=t===0||t===s.length-1?0:e.density/c*n;return{y:W(e.y),width:W(r)}}),te=ee.map(e=>({x:W(t-e.width),y:e.y})),ne=ee.slice(0,-1).reverse().map(e=>({x:W(t+e.width),y:e.y}));return`${cr([...te,...ne])} Z`}function cr(e){if(!e.length)return``;if(e.length===1)return`M ${e[0].x} ${e[0].y}`;let t=`M ${e[0].x} ${e[0].y}`;for(let n=1;n<e.length-1;n+=1){let r=e[n],i=e[n+1],a=W((r.x+i.x)/2),o=W((r.y+i.y)/2);t+=` Q ${r.x} ${r.y} ${a} ${o}`}let n=e[e.length-1];return`${t} L ${n.x} ${n.y}`}let lr=u(()=>Xn.value.ticks.map(e=>({y:q(e),x1:G.value.left,x2:G.value.right,value:e}))),ur=b(null),Q=b(null);function dr({datapoint:e,seriesIndex:t}){k.value!==`keyboard`&&(Jt.value=!1,Q.value=null,A.value.events.datapointLeave&&A.value.events.datapointLeave({datapoint:e,seriesIndex:t}))}function fr({datapoint:e,seriesIndex:t}){Wt(`selectDatapoint`,e),A.value.events.datapointClick&&A.value.events.datapointClick({datapoint:e,seriesIndex:t})}function pr(e,t={}){return oe(N.value.formatter,e,n({p:N.value.prefix,v:e,s:N.value.suffix,r:M.value.roundingValue}),t)}function mr({datapoint:e,seriesIndex:t,triggerMode:n=`pointer`}){A.value.events.datapointEnter&&A.value.events.datapointEnter({datapoint:e,seriesIndex:t}),k.value=n,ur.value={datapoint:e,seriesIndex:t,config:A.value,series:qn.value},Jt.value=!0,Q.value=e;let r=M.value.customFormat;if(i(r)&&le(()=>r({seriesIndex:t,datapoint:e,series:qn.value,config:A.value})))Yt.value=r({seriesIndex:t,datapoint:e,series:qn.value,config:A.value});else{let n=``;n+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${I.value.plots.gradient.show?`url(#${e.parentId})`:e.color}"/></svg>${e.name}</div>`,n+=`<div>${pr(e.value,{datapoint:e,seriesIndex:t})}</div>`,Yt.value=`<div>${n}</div>`}}function hr(){k.value!==`keyboard`&&(Jt.value=!1,Q.value=null)}function gr({boxPlot:e,seriesIndex:t,triggerMode:n=`pointer`}){k.value=n,Q.value=null,Jt.value=!0,ur.value={boxPlot:e,seriesIndex:t,config:A.value,series:qn.value};let r=M.value.customFormat;if(i(r))try{let n={boxPlot:e,seriesIndex:t,series:qn.value,config:A.value};if(le(()=>r(n))){Yt.value=r(n);return}}catch{}let a=[[P.value.tooltipLabels.upperAdjacent,e.upperAdjacent],[P.value.tooltipLabels.q3,e.q3],[P.value.tooltipLabels.median,e.median],[P.value.tooltipLabels.q1,e.q1],[P.value.tooltipLabels.lowerAdjacent,e.lowerAdjacent],[P.value.tooltipLabels.iqr,e.iqr]],o=`<svg viewBox="0 0 12 12" height="14" width="14"><rect x="1" y="1" width="10" height="10" rx="2" stroke="none" fill="${e.color}"/></svg>`,s=a.map(([n,r])=>`<div style="display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:space-between;"><span>${n}</span><b>${pr(r,{boxPlot:e,seriesIndex:t})}</b></div>`).join(``);Yt.value=`<div style="min-width:160px;"><div style="display:flex;flex-direction:row;gap:6px;align-items:center;margin-bottom:6px;">${o}${e.name}</div>`+s+`<div style="display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:space-between;margin-top:6px;"><span>${P.value.tooltipLabels.count}</span><b>${e.count}</b></div></div>`}let _r=u(()=>({head:K.value.flatMap(e=>JSON.parse(JSON.stringify(e.plots)).sort((e,t)=>t.value-e.value).map(t=>({name:`${e.name} - ${t.name}`,color:t.color}))),body:K.value.flatMap(e=>JSON.parse(JSON.stringify(e.plots)).sort((e,t)=>t.value-e.value).map(e=>e.value))}));function vr(e=null){Je(()=>{let t=[],n=[A.value.table.columnNames.series,A.value.table.columnNames.value];Y.value?(n=Qn.value,t=X.value.map(e=>[[e.name],[e.lowerAdjacent],[e.q1],[e.median],[e.q3],[e.upperAdjacent],[e.iqr],[e.count]])):t=_r.value.head.map((e,t)=>[[e.name],[_r.value.body[t]]]);let i=[[I.value.title.text],[I.value.title.subtitle.text],n.map(e=>[e])].concat(t),a=r(i);e?e(a):ce({csvContent:a,title:I.value.title.text||`vue-ui-strip-plot`})})}let yr=u(()=>{if(Y.value){let e=Qn.value;return{colNames:e,head:e,body:X.value.map(e=>[{color:e.color,name:e.name},$n(e.lowerAdjacent),$n(e.q1),$n(e.median),$n(e.q3),$n(e.upperAdjacent),$n(e.iqr),e.count]),config:{th:{backgroundColor:A.value.table.th.backgroundColor,color:A.value.table.th.color,outline:A.value.table.th.outline},td:{backgroundColor:A.value.table.td.backgroundColor,color:A.value.table.td.color,outline:A.value.table.td.outline},breakpoint:A.value.table.responsiveBreakpoint}}}let e=[A.value.table.columnNames.series,A.value.table.columnNames.value],t=_r.value.head.map((e,t)=>{let r=n({p:N.value.prefix,v:_r.value.body[t],s:N.value.suffix,r:A.value.table.td.roundingValue});return[{color:e.color,name:e.name},r]}),r={th:{backgroundColor:A.value.table.th.backgroundColor,color:A.value.table.th.color,outline:A.value.table.th.outline},td:{backgroundColor:A.value.table.td.backgroundColor,color:A.value.table.td.color,outline:A.value.table.td.outline},breakpoint:A.value.table.responsiveBreakpoint};return{colNames:[A.value.table.columnNames.series,A.value.table.columnNames.value],head:e,body:t,config:r}}),$=b(!1);function br(e){$.value=e,qt.value+=1}function xr(){return K.value}function Sr(){H.value.showTable=!H.value.showTable}function Cr(){H.value.dataLabels.show=!H.value.dataLabels.show}function wr(){H.value.showTooltip=!H.value.showTooltip}let Tr=b(!1);function Er(){Tr.value=!Tr.value}let Dr=we(D,()=>I.value.title.text),Or=u(()=>K.value.map(e=>e.name)),kr=b({start:0,end:K.value.length});Ie({timeLabelsEls:sn,timeLabels:Or,slicer:kr,configRef:A,rotationPath:[`style`,`chart`,`labels`,`xAxisLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`labels`,`xAxisLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:B,height:V,targetClass:`.vue-ui-strip-plot-category-name`,rotation:N.value.xAxisLabels.autoRotate.angle});let Ar=u(()=>Oe({config:A,style:I,mutableConfig:H,dialog:Vt,accordion:It,isFullscreen:$,parent:D,maxWidth:800,isCursorPointer:L}));tt(()=>H.value.showTable,e=>De(e,A,nn));function jr(){H.value.showTable=!1,rn.value&&rn.value.setTableIconState(!1)}let Mr=u(()=>I.value.backgroundColor),Nr=u(()=>I.value.title),{isCallbackImaging:Pr,isCallbackSvg:Fr,generateSvg:Ir,onGenerateImage:Lr}=Ee({svg:R,title:Nr,legend:null,legendItems:null,backgroundColor:Mr,getSvgCallback:()=>A.value.userOptions.callbacks.svg,generateImage:Mn});async function Rr(){Wt(`copyAlt`,{config:A.value,dataset:J.value}),A.value.userOptions.callbacks.altCopy?await Promise.resolve(A.value.userOptions.callbacks.altCopy({config:A.value,dataset:J.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function zr(){return J.value.length}function Br(e){return J.value[e]?.plots??[]}function Vr(e=O.value,t=ln.value){return!Number.isInteger(e)||!Number.isInteger(t)?null:Br(e)[t]??null}function Hr(){O.value=null,ln.value=null,k.value=`pointer`,Jt.value=!1,Q.value=null}function Ur(e){if(!e||!R.value)return;let t=R.value.getBoundingClientRect();un.value={x:t.left+e.x/B.value*t.width,y:t.top+e.y/V.value*t.height}}function Wr(e,t){let n=Vr(e,t);n&&(O.value=e,ln.value=t,k.value=`keyboard`,Ur(n),mr({datapoint:n,seriesIndex:e,triggerMode:`keyboard`}))}function Gr(){dn.value=!0,O.value=null,ln.value=null}function Kr(){dn.value=!1,Hr()}function qr(e){if(!R.value||Tr.value||document.activeElement!==R.value||!zr())return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`ArrowUp`,i=e.key===`ArrowDown`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){Hr();return}let s=O.value,c=ln.value;if(s===null||c===null)s=0,c=0;else if(t||n){let e=zr();s=n?(s+1)%e:(s-1+e)%e;let t=Br(s);if(!t.length)return;c=Math.min(c,t.length-1)}else if(r||i){let e=Br(s);if(!e.length)return;c=r?(c+1)%e.length:(c-1+e.length)%e.length}if(a){let e=Vr();if(!e)return;fr({datapoint:e,seriesIndex:O.value})}else Wr(s,c)}let Jr=u(()=>({headers:yr.value?.colNames??[],rows:yr.value?.body?.map(e=>e.map(e=>e&&typeof e==`object`&&`name`in e?e.name:e))??[]}));return Se({getData:xr,getImage:Dr,generatePdf:jn,generateCsv:vr,generateImage:Mn,generateSvg:Ir,toggleTable:Sr,toggleLabels:Cr,toggleTooltip:wr,toggleAnnotator:Er,toggleFullscreen:br,copyAlt:Rr}),tt(()=>[B.value,V.value,N.value,I.value,A.value.style.fontFamily,E.dataset,Tn.value,cn.value,sn.value,an.value,on.value],Un,{flush:`post`,deep:!0}),(e,t)=>(y(),p(`div`,{ref_key:`stripPlotChart`,ref:D,class:Ye(`vue-data-ui-component vue-ui-strip-plot ${$.value?`vue-data-ui-wrapper-fullscreen`:``} ${A.value.useCssAnimation?``:`vue-ui-dna`}`),style:v(`font-family:${A.value.style.fontFamily};width:100%; text-align:center;background:${I.value.backgroundColor};${A.value.responsive?`height:100%`:``}`),id:`strip-plot_${Kt.value}`,onMouseenter:t[2]||=()=>w(yn)(!0),onMouseleave:t[3]||=()=>w(yn)(!1)},[m(`div`,{id:`chart-instructions-${Kt.value}`,class:`sr-only`},[m(`p`,null,C(A.value.a11y.translations.keyboardNavigation),1)],8,it),Jr.value?.rows?.length?(y(),d(Be,{key:0,uid:Kt.value,head:Jr.value.headers,body:Jr.value.rows,notice:A.value.a11y.translations.tableAvailable,caption:A.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),j.value.buttons.annotator?(y(),d(w(zt),{key:1,svgRef:w(R),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Tr.value,isCursorPointer:L.value,palette:j.value.annotatorPalette,onClose:Er},We({_:2},[x(w(Ae),t=>({name:t,fn:T(n=>[S(e.$slots,t,_(g(w(ke)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),Nn.value?(y(),p(`div`,{key:2,ref_key:`noTitle`,ref:Qt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),I.value.title.text?(y(),p(`div`,{key:3,ref_key:`chartTitle`,ref:Xt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),d(Te,{key:`title_${en.value}`,config:{title:{cy:`donut-div-title`,...I.value.title},subtitle:{cy:`donut-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):f(``,!0),j.value.show&&Gt.value&&(w(bn)||w(vn))?(y(),d(w(Rt),{ref_key:`userOptionsRef`,ref:rn,key:`user_option_${qt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:w(kn),isImaging:w(An),uid:Kt.value,hasTooltip:j.value.buttons.tooltip&&M.value.show,hasPdf:j.value.buttons.pdf,hasXls:j.value.buttons.csv,hasImg:j.value.buttons.img,hasSvg:j.value.buttons.svg,hasTable:j.value.buttons.table,hasLabel:j.value.buttons.labels&&A.value.type!==`violin`,hasFullscreen:j.value.buttons.fullscreen,hasAltCopy:j.value.buttons.altCopy,isTooltip:H.value.showTooltip,isFullscreen:$.value,titles:{...j.value.buttonTitles},chartElement:D.value,position:j.value.position,hasAnnotator:j.value.buttons.annotator,isAnnotation:Tr.value,callbacks:j.value.callbacks,printScale:j.value.print.scale,tableDialog:A.value.table.useDialog,isCursorPointer:L.value,onToggleFullscreen:br,onGeneratePdf:w(jn),onGenerateCsv:vr,onGenerateImage:w(Lr),onGenerateSvg:w(Ir),onToggleTable:Sr,onToggleLabels:Cr,onToggleTooltip:wr,onToggleAnnotator:Er,onCopyAlt:Rr,style:v({visibility:w(bn)?w(vn)?`visible`:`hidden`:`visible`})},We({_:2},[x(w(je)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:T(n=>[S(e.$slots,t,_(g(w(Me)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,at,[(y(),p(`svg`,{ref_key:`svgRef`,ref:R,xmlns:w(fe),class:Ye({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value,"vue-data-ui-no-transition":!w(fn)||w(Hn)}),viewBox:`0 0 ${B.value} ${V.value}`,style:v(`max-width:100%; overflow: visible; background:transparent;color:${I.value.color};;visibility:${w(Vn)?`visible`:`hidden`}`),"aria-describedby":`chart-instructions-${Kt.value}`,tabindex:`0`,onFocus:Gr,onBlur:Kr,onKeydown:qr},[Ke(w(Bt)),S(e.$slots,`svg-underlayer`,{svg:{...G.value,isPrintingImg:w(kn)||w(An)||w(Pr),isPrintingSvg:w(Fr),boxPlotSummaries:X.value,series:K.value}},void 0,!0),e.$slots[`chart-background`]?(y(),p(`foreignObject`,{key:0,x:G.value.left,y:G.value.top,width:Math.max(.1,G.value.width),height:Math.max(.1,G.value.height),style:{pointerEvents:`none`}},[S(e.$slots,`chart-background`,{},void 0,!0)],8,st)):f(``,!0),F.value.show?(y(),p(`g`,ct,[F.value.horizontalGrid.show?(y(),p(`g`,lt,[(y(!0),p(l,null,x(lr.value,e=>(y(),p(`line`,{x1:e.x1,x2:e.x2,y1:e.y,y2:e.y,stroke:F.value.horizontalGrid.stroke,"stroke-width":F.value.horizontalGrid.strokeWidth,"stroke-dasharray":F.value.horizontalGrid.strokeDasharray,"stroke-linecap":`round`},null,8,ut))),256))])):f(``,!0),F.value.verticalGrid.show?(y(),p(`g`,dt,[(y(!0),p(l,null,x(K.value,(e,t)=>(y(),p(`line`,{x1:G.value.left+(t+1)*G.value.stripWidth,x2:G.value.left+(t+1)*G.value.stripWidth,y1:G.value.top,y2:G.value.bottom,stroke:F.value.verticalGrid.stroke,"stroke-width":F.value.verticalGrid.strokeWidth,"stroke-dasharray":F.value.verticalGrid.strokeDasharray,"stroke-linecap":`round`},null,8,ft))),256))])):f(``,!0),m(`line`,{x1:G.value.left,x2:G.value.left,y1:G.value.top,y2:G.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,pt),m(`line`,{x1:G.value.left,x2:G.value.right,y1:G.value.bottom,y2:G.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,mt)])):f(``,!0),N.value.yAxisLabels.show?(y(),p(`g`,{key:2,ref_key:`scaleLabels`,ref:cn},[(y(!0),p(l,null,x(lr.value,(e,t)=>(y(),p(`text`,{class:Ye({"vue-data-ui-transition":w(fn)&&!w(Hn)}),key:`sl_${t}`,transform:`translate(${e.x1+N.value.yAxisLabels.offsetX-5}, ${e.y+N.value.yAxisLabels.fontSize/3})`,fill:N.value.yAxisLabels.color,"font-size":N.value.yAxisLabels.fontSize,"text-anchor":`end`},C(w(oe)(N.value.formatter,e.value,w(n)({p:N.value.prefix,v:e.value,s:N.value.suffix,r:N.value.yAxisLabels.rounding}),{datapoint:e,seriesIndex:t})),11,ht))),128))],512)):f(``,!0),N.value.xAxisLabels.show?(y(),p(`g`,{key:3,ref_key:`timeLabelsEls`,ref:sn},[(y(!0),p(l,null,x(Or.value,(e,t)=>(y(),p(`g`,null,[String(e).includes(`
|
|
2
2
|
`)?(y(),p(`text`,{key:1,class:`vue-ui-strip-plot-category-name`,transform:`translate(${G.value.left+(t+1)*G.value.stripWidth-G.value.stripWidth/2}, ${G.value.bottom+N.value.xAxisLabels.fontSize*2+N.value.xAxisLabels.offsetY}), rotate(${N.value.xAxisLabels.rotation})`,"font-size":N.value.xAxisLabels.fontSize,fill:N.value.xAxisLabels.color,"text-anchor":N.value.xAxisLabels.rotation>0?`start`:N.value.xAxisLabels.rotation<0?`end`:`middle`,innerHTML:w(s)({content:w(de)(String(e)),fontSize:N.value.xAxisLabels.fontSize,fill:N.value.xAxisLabels.color,x:0,y:0})},null,8,_t)):(y(),p(`text`,{key:0,class:`vue-ui-strip-plot-category-name`,transform:`translate(${G.value.left+(t+1)*G.value.stripWidth-G.value.stripWidth/2}, ${G.value.bottom+N.value.xAxisLabels.fontSize*2+N.value.xAxisLabels.offsetY}), rotate(${N.value.xAxisLabels.rotation})`,"font-size":N.value.xAxisLabels.fontSize,fill:N.value.xAxisLabels.color,"text-anchor":N.value.xAxisLabels.rotation>0?`start`:N.value.xAxisLabels.rotation<0?`end`:`middle`},C(String(e)),9,gt))]))),256))],512)):f(``,!0),N.value.axis.yLabel?(y(),p(`text`,{key:4,ref_key:`yAxisLabel`,ref:on,fill:N.value.axis.color,"font-size":N.value.axis.fontSize,transform:`translate(${N.value.axis.fontSize}, ${G.value.top+G.value.height/2}) rotate(-90)`,"text-anchor":`middle`},C(N.value.axis.yLabel),9,vt)):f(``,!0),N.value.axis.xLabel?(y(),p(`text`,{key:5,ref_key:`xAxisLabel`,ref:an,fill:N.value.axis.color,"font-size":N.value.axis.fontSize,x:G.value.left+G.value.width/2,y:V.value-N.value.axis.fontSize/3,"text-anchor":`middle`},C(N.value.axis.xLabel),9,yt)):f(``,!0),Q.value?(y(),p(l,{key:6},[m(`line`,{x1:G.value.left,x2:G.value.right,y1:Q.value.y,y2:Q.value.y,stroke:Q.value.color,"stroke-width":1,class:Ye({"select-circle":A.value.useCssAnimation})},null,10,bt),m(`circle`,{cx:G.value.left,cy:Q.value.y,r:3,fill:Q.value.color,class:Ye({"select-circle":A.value.useCssAnimation})},null,10,xt),m(`circle`,{cx:G.value.right,cy:Q.value.y,r:3,fill:Q.value.color,class:Ye({"select-circle":A.value.useCssAnimation})},null,10,St)],64)):f(``,!0),m(`defs`,null,[(y(!0),p(l,null,x(K.value,e=>(y(),d(ze,{t:`radial`,id:e.id,key:`r_${e.id}`,fy:`30%`,stops:[[`10%`,w(a)(e.color,I.value.plots.gradient.intensity/100),1],[`90%`,w(c)(e.color,.1),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128))]),(y(!0),p(l,null,x(tr.value,(e,n)=>(y(),p(l,{key:e.id},[e.path?(y(),p(`path`,{key:0,d:e.path,fill:e.fill,stroke:e.color,"fill-opacity":P.value.opacity,"stroke-opacity":P.value.strokeOpacity,"stroke-width":P.value.strokeWidth,style:v({pointerEvents:Y.value?`auto`:`none`,cursor:Y.value&&L.value?`pointer`:`default`}),onMouseenter:e=>Y.value&&X.value[n]&&gr({boxPlot:X.value[n],seriesIndex:n,triggerMode:`pointer`}),onMouseleave:t[0]||=e=>Y.value&&hr()},null,44,Ct)):f(``,!0),(y(!0),p(l,null,x(e.connectors,(t,n)=>(y(),p(`line`,{key:`violin_connector_${e.id}_${n}`,x1:t.x,x2:t.x,y1:t.y1,y2:t.y2,stroke:e.color,"stroke-opacity":P.value.strokeOpacity,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,style:{"pointer-events":`none`}},null,8,wt))),128))],64))),128)),(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`g`,{key:`boxplot_${e.id}`,style:v({cursor:L.value?`pointer`:`default`}),onMouseenter:n=>gr({boxPlot:e,seriesIndex:t,triggerMode:`pointer`}),onMouseleave:hr},[m(`line`,{x1:e.centerX,x2:e.centerX,y1:e.upperY,y2:e.lowerY,stroke:w(c)(e.boxPlotColor,.2),"stroke-width":Math.max(1,P.value.strokeWidth),"stroke-linecap":`round`},null,8,Et),m(`rect`,{x:e.boxLeft,y:Math.min(e.q1Y,e.q3Y),width:e.boxWidth,height:Math.max(1,Math.abs(e.q3Y-e.q1Y)),fill:e.boxPlotColor,stroke:w(c)(e.boxPlotColor,.2),"stroke-width":Math.max(1,P.value.strokeWidth),rx:e.boxWidth/20},null,8,Dt),m(`circle`,{cx:e.boxLeft+e.boxWidth/2,cy:e.medianY,r:e.boxWidth/3*Math.min(1,P.value.boxPlot.medianCircleRadiusRatio),fill:P.value.boxPlot.medianCircleFill,stroke:w(c)(e.boxPlotColor,.2)},null,8,Ot)],44,Tt))),128)),(y(!0),p(l,null,x(J.value,(t,r)=>(y(),p(l,null,[Y.value?f(``,!0):(y(!0),p(l,{key:0},x(t.plots,(n,r)=>(y(),d(Le,qe({ref_for:!0},e.$attrs,{plot:{x:n.x,y:$t.value?n.y:G.value.top},radius:Q.value&&Q.value.id===n.id?U.value*1.5:U.value,shape:I.value.plots.shape,stroke:I.value.plots.stroke,strokeWidth:I.value.plots.strokeWidth,color:I.value.plots.gradient.show?`url(#${t.id})`:t.color,style:`transition: all 0.2s ease-in-out; opacity:${Q.value?Q.value.id===n.id?1:.2:I.value.plots.opacity};${Fn.value?`transition-delay:${r*50}ms`:``}`,class:{"vue-ui-strip-plot-animated":A.value.useCssAnimation&&Fn.value&&!w(hn),"vue-ui-strip-plot-select-circle":A.value.useCssAnimation&&!Fn.value},onMouseenter:e=>mr({datapoint:n,seriesIndex:r,triggerMode:`pointer`}),onMouseleave:e=>dr({datapoint:n,seriesIndex:r}),onClick:e=>fr({datapoint:n,seriesIndex:r})}),null,16,[`plot`,`radius`,`shape`,`stroke`,`strokeWidth`,`color`,`style`,`class`,`onMouseenter`,`onMouseleave`,`onClick`]))),256)),H.value.dataLabels.show&&!Y.value?(y(),p(`g`,kt,[(y(!0),p(l,null,x(t.plots,(e,r)=>(y(),p(l,null,[r===t.plots.length-1||Q.value&&Q.value.id===e.id&&!H.value.showTooltip?(y(),p(`text`,{key:0,x:e.x,y:e.y+N.value.bestPlotLabel.offsetY-U.value*(Q.value&&Q.value.id===e.id&&!H.value.showTooltip?2:1.5),"font-size":N.value.bestPlotLabel.fontSize,fill:N.value.bestPlotLabel.color,"text-anchor":`middle`,style:v(`opacity:${A.value.useCssAnimation?+!Fn.value:1};transition:opacity 0.2s ease-in;`)},C(e.name)+` `+C(N.value.bestPlotLabel.showValue?w(oe)(N.value.formatter,e.value,w(n)({p:`(${N.value.prefix}`,v:e.value,s:`${N.value.suffix})`,r:I.value.labels.bestPlotLabel.rounding}),{datapoint:e,seriesIndex:r}):``),13,At)):f(``,!0)],64))),256))])):f(``,!0)],64))),256)),S(e.$slots,`svg`,{svg:{...G.value,isPrintingImg:w(kn)||w(An)||w(Pr),isPrintingSvg:w(Fr),boxPlotSummaries:X.value,series:K.value}},void 0,!0)],46,ot)),e.$slots.hint?(y(),p(`div`,jt,[S(e.$slots,`hint`,_(g({hint:A.value.a11y.translations.keyboardNavigation,isVisible:dn.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(y(),p(`div`,Mt,[S(e.$slots,`watermark`,_(g({isPrinting:w(kn)||w(An)||w(Pr)||w(Fr)})),void 0,!0)])):f(``,!0),e.$slots.source?(y(),p(`div`,{key:6,ref_key:`source`,ref:Zt,dir:`auto`},[S(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),Ke(w(Pt),{teleportTo:M.value.teleportTo,show:H.value.showTooltip&&Jt.value,backgroundColor:M.value.backgroundColor,color:M.value.color,borderRadius:M.value.borderRadius,borderColor:M.value.borderColor,borderWidth:M.value.borderWidth,fontSize:M.value.fontSize,backgroundOpacity:M.value.backgroundOpacity,position:M.value.position,offsetX:M.value.offsetX,offsetY:M.value.offsetY,parent:D.value,content:Yt.value,isFullscreen:$.value,isCustom:w(i)(M.value.customFormat),smooth:M.value.smooth,backdropFilter:M.value.backdropFilter,smoothForce:M.value.smoothForce,smoothSnapThreshold:M.value.smoothSnapThreshold,isA11yMode:k.value===`keyboard`,a11yPosition:un.value},{"tooltip-before":T(()=>[S(e.$slots,`tooltip-before`,_(g({...ur.value})),void 0,!0)]),tooltip:T(()=>[S(e.$slots,`tooltip`,_(g({...ur.value})),void 0,!0)]),"tooltip-after":T(()=>[S(e.$slots,`tooltip-after`,_(g({...ur.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Gt.value&&j.value.buttons.table?(y(),d(Qe(Ar.value.component),qe({key:7},Ar.value.props,{ref_key:`tableUnit`,ref:nn,onClose:jr}),We({content:T(()=>[(y(),d(w(Lt),{key:`table_${tn.value}`,colNames:yr.value.colNames,head:yr.value.head,body:yr.value.body,config:yr.value.config,title:A.value.table.useDialog?``:Ar.value.title,withCloseButton:!A.value.table.useDialog,isCursorPointer:L.value,onClose:jr},{th:T(({th:e})=>[m(`div`,Nt,C(e),1)]),td:T(({td:e})=>[Ge(C(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[A.value.table.useDialog?{name:`title`,fn:T(()=>[Ge(C(Ar.value.title),1)]),key:`0`}:void 0,A.value.table.useDialog?{name:`actions`,fn:T(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>vr(j.value.callbacks.csv),style:v({cursor:L.value?`pointer`:`default`})},[Ke(w(Ft),{name:`fileCsv`,stroke:Ar.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),S(e.$slots,`skeleton`,{},()=>[w(hn)?(y(),d(ye,{key:0})):f(``,!0)],!0)],46,rt))}},[[`__scopeId`,`data-v-1ee3f63b`]]);export{nt as n,Pt as t};
|