vue-data-ui 3.28.1 → 3.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -1
- package/dist/{PackageVersion-C4ZM3Vf7.js → PackageVersion-CXT-eAuk.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-annotator.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -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-mini-loader.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-rating.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-smiley.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-heatmap.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy-canvas.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/geoProjections-CX3Pvo1N.js +1 -0
- package/dist/llms.txt +9 -34
- package/dist/package-CgIKu3rP.js +1 -0
- package/dist/pdf-CVdqBWVS.js +1 -0
- package/dist/{render-common-CJz0wn0I.js → render-common-C70bnUVe.js} +1 -1
- package/dist/ssr/vue-ui-donut.js +1 -1
- package/dist/ssr/vue-ui-xy.js +1 -1
- package/dist/ssr.js +1 -1
- package/dist/style.css +1 -1
- package/dist/style.css.d.ts +2 -0
- package/dist/style.d.css.ts +2 -0
- package/dist/{useHints-BH9r_0Vd.js → useHints-C-TwxM0Y.js} +1 -1
- package/dist/{useObjectBindings-DiMX4HGv.js → useObjectBindings-C15PEyQD.js} +1 -1
- package/dist/{usePrinter-sVoTzet1.js → usePrinter-DVf3YcG5.js} +1 -1
- package/dist/useSvgLabelLayout-42Kats14.js +1 -0
- package/dist/utils.js +1 -1
- package/dist/vue-data-ui-CrOhFey9.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-CW8ahywt.js → vue-ui-3d-bar-ljsy2rX6.js} +2 -2
- package/dist/{vue-ui-age-pyramid-CxMwKICA.js → vue-ui-age-pyramid-a6CK7z3a.js} +1 -1
- package/dist/{vue-ui-annotator-CdCDYzdK.js → vue-ui-annotator-DCJdieNC.js} +3 -3
- package/dist/{vue-ui-bullet-ClnewIWQ.js → vue-ui-bullet-DX4A2Qwo.js} +2 -2
- package/dist/{vue-ui-bump-C6FuNDUg.js → vue-ui-bump-IvRdB6MD.js} +2 -2
- package/dist/{vue-ui-candlestick-CyewIjJk.js → vue-ui-candlestick-BgyUo13S.js} +2 -2
- package/dist/{vue-ui-carousel-table-D0dD4kai.js → vue-ui-carousel-table-D01DGfA0.js} +1 -1
- package/dist/vue-ui-chestnut-DYrMSzmQ.js +1 -0
- package/dist/{vue-ui-chord-B963Q_26.js → vue-ui-chord-CwzQ7QbP.js} +2 -2
- package/dist/{vue-ui-circle-pack-DEY9X3jA.js → vue-ui-circle-pack-DQHNM9sC.js} +2 -2
- package/dist/{vue-ui-cursor-CNv12HQG.js → vue-ui-cursor-CTFfbDX8.js} +1 -1
- package/dist/{vue-ui-dag-s3-TMmid.js → vue-ui-dag-DF29_9Gg.js} +2 -2
- package/dist/{vue-ui-dashboard-B5zrGAvS.js → vue-ui-dashboard-D98rMHjI.js} +1 -1
- package/dist/{vue-ui-digits-DXQwmTUx.js → vue-ui-digits-AoPCgSfP.js} +1 -1
- package/dist/{vue-ui-donut-DHfOfLBF.js → vue-ui-donut-BQGnUso2.js} +1 -1
- package/dist/{vue-ui-donut-CDryub1L.js → vue-ui-donut-BYUkblpv.js} +2 -2
- package/dist/{vue-ui-donut-evolution-C5pHSrza.js → vue-ui-donut-evolution-wxHDTKlg.js} +2 -2
- package/dist/{vue-ui-dumbbell-CQbGR7yM.js → vue-ui-dumbbell-DR7rjMt0.js} +2 -2
- package/dist/{vue-ui-flow-B16Mj6MW.js → vue-ui-flow-DtQlRSK_.js} +2 -2
- package/dist/vue-ui-funnel-BP3chlZy.js +1 -0
- package/dist/{vue-ui-galaxy-U_ZIP5vm.js → vue-ui-galaxy-B7ogrJ6f.js} +1 -1
- package/dist/{vue-ui-gauge-Dr4zsf6D.js → vue-ui-gauge-CrmzNkjT.js} +1 -1
- package/dist/{vue-ui-geo-DFebja0s.js → vue-ui-geo-BbTvWbfX.js} +1 -1
- package/dist/{vue-ui-gizmo-CssVcz-O.js → vue-ui-gizmo-C3wgMKwb.js} +1 -1
- package/dist/{vue-ui-graph-BB_97Qz7.js → vue-ui-graph-CzUVEiO-.js} +2 -2
- package/dist/{vue-ui-heatmap-DEBbVnrg.js → vue-ui-heatmap-BxR2ccwd.js} +1 -1
- package/dist/{vue-ui-hill-C1sHz3TI.js → vue-ui-hill-BDOd7LrC.js} +1 -1
- package/dist/{vue-ui-history-plot-CsBTJXR3.js → vue-ui-history-plot-0-vs_CVn.js} +2 -2
- package/dist/{vue-ui-horizontal-bar-D0kfcpEW.js → vue-ui-horizontal-bar-C5pNTRKB.js} +2 -2
- package/dist/{vue-ui-kpi-CltKSYUI.js → vue-ui-kpi-Dfhsk0U1.js} +1 -1
- package/dist/{vue-ui-mini-loader-7gqQI5jy.js → vue-ui-mini-loader-Bbupx66Y.js} +1 -1
- package/dist/vue-ui-molecule-DUX1NUIY.js +1 -0
- package/dist/{vue-ui-mood-radar-ClOxfeH8.js → vue-ui-mood-radar-B1N5AwX_.js} +1 -1
- package/dist/{vue-ui-nested-donuts-CULAXTg1.js → vue-ui-nested-donuts-CfHH-cU6.js} +2 -2
- package/dist/{vue-ui-onion-D7zu861i.js → vue-ui-onion-DRN-jIvq.js} +2 -2
- package/dist/{vue-ui-parallel-coordinate-plot-Cjbc-WUG.js → vue-ui-parallel-coordinate-plot-UUPjQABF.js} +2 -2
- package/dist/{vue-ui-quadrant-DWAb_t6r.js → vue-ui-quadrant-zmtzn0lM.js} +2 -2
- package/dist/{vue-ui-quick-chart-oDZwgVo8.js → vue-ui-quick-chart-DgU_IhKY.js} +2 -2
- package/dist/{vue-ui-radar-BWG_N0xO.js → vue-ui-radar-BGSoxRaK.js} +1 -1
- package/dist/{vue-ui-rating-CV2b0tjA.js → vue-ui-rating-ChWXrWNJ.js} +1 -1
- package/dist/{vue-ui-relation-circle-BCRiS2n6.js → vue-ui-relation-circle-XUw5UMrt.js} +1 -1
- package/dist/{vue-ui-ridgeline-VYcGUP_p.js → vue-ui-ridgeline-B5RJcFyA.js} +2 -2
- package/dist/{vue-ui-rings-Dl0AjrRj.js → vue-ui-rings-BJaCLH2Q.js} +1 -1
- package/dist/{vue-ui-scatter-DTa48HvG.js → vue-ui-scatter-BA0hk_Tf.js} +2 -2
- package/dist/{vue-ui-skeleton-C5mGG8hR.js → vue-ui-skeleton-DpzaXPO3.js} +1 -1
- package/dist/{vue-ui-smiley-VTdQetY0.js → vue-ui-smiley--VTlUAdp.js} +1 -1
- package/dist/{vue-ui-spark-trend--frxeJ8f.js → vue-ui-spark-trend-DJ63XtgQ.js} +1 -1
- package/dist/{vue-ui-sparkbar-BS5v3HMo.js → vue-ui-sparkbar-C5wP9R67.js} +1 -1
- package/dist/{vue-ui-sparkgauge-B1TGfXvR.js → vue-ui-sparkgauge-DQcAOGuG.js} +1 -1
- package/dist/{vue-ui-sparkhistogram-Cs97AL6h.js → vue-ui-sparkhistogram-BBiCxX6W.js} +1 -1
- package/dist/{vue-ui-sparkline-Bp9J6x7z.js → vue-ui-sparkline-B_GkB9V_.js} +1 -1
- package/dist/{vue-ui-sparkstackbar-BVuuRD10.js → vue-ui-sparkstackbar-DSRXhqhJ.js} +1 -1
- package/dist/{vue-ui-stackbar-CRuXn3XI.js → vue-ui-stackbar-QjOQHbld.js} +2 -2
- package/dist/{vue-ui-stackline-Besmr9vq.js → vue-ui-stackline-CoII13bc.js} +2 -2
- package/dist/{vue-ui-strip-plot-D-aRJkR7.js → vue-ui-strip-plot-d3UoFFrf.js} +2 -2
- package/dist/{vue-ui-table-D_UdQwV3.js → vue-ui-table-CHFjZzW7.js} +1 -1
- package/dist/{vue-ui-table-heatmap-BtziURiu.js → vue-ui-table-heatmap-DzvPQnY9.js} +1 -1
- package/dist/{vue-ui-table-sparkline-BdNo8fW_.js → vue-ui-table-sparkline-BkZ7sn4X.js} +1 -1
- package/dist/{vue-ui-thermometer-TFg1SGY7.js → vue-ui-thermometer-B--g_Lkt.js} +1 -1
- package/dist/{vue-ui-timer-BdPksC26.js → vue-ui-timer-DmwEWrDh.js} +2 -2
- package/dist/{vue-ui-tiremarks-HWuO-eyj.js → vue-ui-tiremarks-160Gx7-3.js} +1 -1
- package/dist/{vue-ui-treemap-IegiAqaX.js → vue-ui-treemap-B-Yjtob0.js} +1 -1
- package/dist/{vue-ui-waffle-BEyGfPks.js → vue-ui-waffle-BhzLg5ip.js} +1 -1
- package/dist/{vue-ui-wheel-k8GNPGET.js → vue-ui-wheel-DHb4G42X.js} +1 -1
- package/dist/{vue-ui-word-cloud-D9_15Ve7.js → vue-ui-word-cloud-BcpreM7A.js} +2 -2
- package/dist/{vue-ui-world-rCp5Vb7u.js → vue-ui-world-BD9acchj.js} +2 -2
- package/dist/vue-ui-xy-C-2Phexw.js +24 -0
- package/dist/{vue-ui-xy-42AXepcQ.js → vue-ui-xy-CB3lQs2m.js} +1 -1
- package/dist/{vue-ui-xy-canvas-CeC3gcrW.js → vue-ui-xy-canvas-Do4P4ajB.js} +2 -2
- package/package.json +141 -127
- package/dist/geoProjections-Bvj-eMvq.js +0 -1
- package/dist/package-DGRUegc-.js +0 -1
- package/dist/pdf-DAicVFxx.js +0 -1
- package/dist/useSvgLabelLayout-D1I8sQUi.js +0 -1
- package/dist/vue-data-ui-CxiWUtNw.js +0 -1
- package/dist/vue-ui-chestnut-nS1vjCqH.js +0 -1
- package/dist/vue-ui-funnel-Dh-xi_Qi.js +0 -1
- package/dist/vue-ui-molecule-DtoyWWTf.js +0 -1
- package/dist/vue-ui-xy-CFgFg11v.js +0 -24
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,$t as r,At as i,D as a,Ht as o,It as ee,J as s,Jt as c,Kt as te,S as ne,X as re,_ as ie,at as ae,f as oe,h as se,i as ce,in as le,nn as ue,nt as de,p as fe,t as pe,tt as me,w as he,y as ge,yt as _e,zt as ve}from"./lib-rPeBMZrn.js";import{n as ye,t as be}from"./BaseScanner-8NdoBs7B.js";import{n as xe,t as Se}from"./useHints-BH9r_0Vd.js";import{t as Ce}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as we}from"./useNestedProp-DnGoh-XS.js";import{t as Te}from"./useThemeCheck-BKNRbGeC.js";import{t as Ee}from"./chartImage-DPGnEuYM.js";import{n as De}from"./Title-BliHuXfT.js";import{t as Oe}from"./useChartExport-BZts4KFb.js";import{n as ke,t as Ae}from"./tableIntegration-CNoJ1CIY.js";import{n as je,t as Me}from"./annotationSlots-BRR85CqJ.js";import{n as Ne,t as Pe}from"./userOptionsSlots-DYuo-E5m.js";import{t as Fe}from"./useTimeLabels-Das5O74F.js";import{t as Ie}from"./usePrinter-sVoTzet1.js";import{t as Le}from"./useTransitions-ChGGrtrv.js";import{t as Re}from"./useStableElementSize-CegFbRlF.js";import{t as ze}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Be}from"./useTimeLabelCollider-BTybMUFi.js";import{t as Ve}from"./useResponsive-CENUxfEL.js";import{t as He}from"./DefGrad-DKMq1REY.js";import{t as Ue}from"./SlicerPreview-CFFUOlQr.js";import{t as We}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Ge}from"./A11yDataTable-DWNlWXzs.js";import{t as Ke}from"./useUserOptionState-CXlFnwPv.js";import{t as qe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Je}from"./Legend-DM0ClX3D.js";import{t as Ye}from"./vue_ui_donut_evolution-CVoh3twl.js";import{Fragment as l,Teleport as Xe,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as Ze,createTextVNode as Qe,createVNode as $e,defineAsyncComponent as et,guardReactiveProps as tt,mergeProps as nt,nextTick as rt,normalizeClass as h,normalizeProps as it,normalizeStyle as at,onBeforeUnmount as ot,onMounted as st,openBlock as g,ref as _,renderList as v,renderSlot as y,resolveDynamicComponent as ct,shallowRef as lt,toDisplayString as b,toRefs as ut,unref as x,watch as dt,watchEffect as ft,withCtx as S}from"vue";var pt=/* @__PURE__ */ e({default:()=>nn}),mt=[`id`],ht=[`id`],gt=[`id`],_t={style:{position:`relative`}},vt=[`xmlns`,`aria-describedby`,`viewBox`],yt=[`x`,`y`,`width`,`height`],bt={key:1},xt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],St=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Ct={key:0},wt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Tt=[`font-size`,`fill`,`transform`],Et=[`x`,`y`,`font-size`,`fill`],Dt=[`d`,`stroke`,`stroke-width`],Ot=[`transform`,`font-size`,`text-anchor`,`fill`,`font-weight`],kt={key:0},At=[`text-anchor`,`font-size`,`fill`,`transform`],jt=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`],Mt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],Nt={key:1},Pt=[`cx`,`cy`,`r`,`fill`],Ft={key:0},It={key:0},Lt=[`d`,`stroke`],Rt=[`text-anchor`,`x`,`y`,`fill`],zt=[`cx`,`cy`,`r`,`fill`],Bt={key:0},Vt=[`cx`,`cy`,`fill`],Ht={key:1},Ut=[`d`,`fill`,`stroke`],Wt={key:2},Gt=[`d`,`fill`,`stroke`],Kt=[`x`,`y`,`font-size`,`fill`],qt=[`x`,`y`,`width`,`height`,`fill`],Jt=[`x`,`y`,`width`,`height`,`onMouseenter`,`onMouseleave`,`onClick`],Yt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],Xt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Zt={key:5,class:`vue-data-ui-watermark`},Qt=[`id`],$t=[`onClick`],en={key:0},tn={key:1},nn=/*#__PURE__*/ Ce({__name:`vue-ui-donut-evolution`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},zoomState:{type:Object,default:null}},emits:[`selectLegend`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:Ce,emit:pt}){let nn=et(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),rn=et(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),an=et(()=>import(`./DataTable-0Vv-aGHD.js`)),on=et(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),sn=et(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),cn=et(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),ln=et(()=>import(`./vue-ui-donut-CDryub1L.js`).then(e=>e.n)),un=et(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_donut_evolution:dn}=t(),{isThemeValid:fn,warnInvalidTheme:pn}=Te(),C=e,w=_(re()),T=_([]),E=_(null),mn=_(null),hn=_(!1),D=_(null),O=_(null),gn=_(null),_n=_(0),vn=_(0),yn=_(0),bn=_(0),xn=_(0),Sn=_(null),Cn=_(null),wn=_(null),Tn=_(null),En=_(!1),Dn=_(null),On=_(null),kn=lt(null),An=_(0),jn=_(0),Mn=_(!1);function Nn(){kn.value=O.value?.parentNode??null}function Pn(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function Fn(){let e=++jn.value;await rt(),await Pn(),await Pn(),e===jn.value&&(An.value+=1)}function In(){Mn.value||(Mn.value=!0,rt(()=>{Mn.value=!1,Nn(),Fn()}))}let Ln=Re({elementRef:kn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{Fn()}}),Rn=_(null),zn=_(null),Bn=_(null),Vn=_(null),Hn=_(null),Un=_(!1),k=lt(null),Wn=lt(null),Gn=_(null),A=_(null),Kn=_(!1),j=pt,qn=u(()=>!!C.dataset&&C.dataset.length),Jn=_(!1),Yn=0;st(()=>{En.value=!0,Nn(),Ln.start(),Zn(),Fn()});let Xn=u(()=>M.value.debug);function Zn(){ve(C.dataset)?(ae({componentName:`VueUiDonutEvolution`,type:`dataset`,debug:Xn.value}),rr.value=!0):C.dataset.length&&C.dataset.forEach((e,t)=>{_e({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:e,index:t,debug:Xn.value}),rr.value=!0})}),ve(C.dataset)||(rr.value=M.value.loading),setTimeout(()=>{Un.value=!0},10),br(),M.value.responsive&&(k.value&&(Wn.value&&k.value.unobserve(Wn.value),k.value.disconnect()),k.value=new ResizeObserver(()=>{Un.value=!1;let{width:e,height:t}=Ve({chart:O.value,title:M.value.style.chart.title.text?Rn.value:null,legend:M.value.style.chart.legend.show?zn.value:null,slicer:M.value.style.chart.zoom.show&&ir.value>1?Hn.value:null,source:Bn.value});cancelAnimationFrame(Yn),Yn=requestAnimationFrame(()=>{L.value.width=e,L.value.height=t-12,Jn.value=!0,In(),clearTimeout(Gn.value),Gn.value=setTimeout(()=>{Un.value=!0},10)})}),Wn.value=O.value.parentNode,k.value.observe(Wn.value)),In()}let M=_(Or()),N=u(()=>P.value.grid),P=u(()=>M.value.style.chart.layout),Qn=u(()=>M.value.style.chart.dialog),F=u(()=>M.value.style.chart);xe({config:()=>M.value,dataset:()=>C.dataset,component:`VueUiDonutEvolution`,rules:[Se.emptyArray,{test:e=>e.length===1,message:[`👀 There is only a single series in your dataset. Consider:`,``,`▶️ Using VueUiXy instead, for a regular line chart.`]},{test:e=>e.length>6,message:[`👀 The number of series is > 6, which makes donuts hard to read. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]},{test:e=>e.some(e=>e.values.length>24),message:[`👀 Some series have a number of data points > 24, which can make the chart and donuts hard to read. Consider:`,``,`▶️ Using larger time scales, or aggregated values.`,``,`▶️ Filtering the time range by adding date intputs in your UI.`,``,`▶️ Using VueUiXy to show longer series in a more comfortable display.`]}]});let{transitionEnabled:$n}=Le({config:()=>M.value.transitions,dataset:()=>C.dataset}),I=u(()=>M.value.userOptions.useCursorPointer),er=u(()=>le({defaultConfig:{useCssAnimation:!1,table:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{dataLabels:{show:!1},grid:{stroke:`#6A6A6A`,axis:{yLabel:``,xLabel:``},yAxis:{scaleMin:null,scaleMax:null,autoScale:!1,dataLabels:{show:!1}},xAxis:{dataLabels:{show:!1}}},line:{stroke:`#CACACA60`}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},zoom:{show:!1,startIndex:null,endIndex:null}}}},userConfig:M.value.skeletonConfig??{}})),{loading:tr,FINAL_DATASET:nr,manualLoading:rr}=ye({...ut(C),FINAL_CONFIG:M,prepareConfig:Or,callback:()=>{Promise.resolve().then(async()=>{await br()})},skeletonDataset:C.config?.skeletonDataset??[{name:``,values:[1,2,3,5,8,13],color:`#AAAAAA`},{name:``,values:[1,2,3,5,8,13],color:`#BABABA`},{name:``,values:[1,2,3,5,8,13],color:`#CACACA`}],skeletonConfig:le({defaultConfig:M.value,userConfig:er.value})}),L=_({width:P.value.width,height:P.value.height}),ir=u(()=>Math.max(...nr.value.map(e=>e.values.length))),R=_({start:0,end:ir.value}),z=_(!1),ar=_(!1),B=_(null),V=_(null),H=_(null),or=_(!1),sr=_({time:0,x:0,y:0,pointerType:null}),cr=u(()=>M.value.style.chart.zoom?.dragToZoom),U=u(()=>cr.value.show&&qn.value&&ur.value&&Y.value>1&&!tr.value),lr=_(!1),ur=_(!1),dr=_(!1),fr=null,W={};function pr(e,t=R.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 mr(e){let t=pr(e);t&&j(`update:zoomState`,t)}function hr(){fr&&=(cancelAnimationFrame(fr),null),W={}}function gr(e,t=R.value.start){let n=Y.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function _r(){let e=Y.value;if(!Number.isFinite(e)||e<=0){R.value={start:0,end:0};return}let t=Math.max(0,Math.min(Number(R.value.start)||0,e-1)),n=Math.max(t+1,Math.min(Number(R.value.end)||e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),R.value={start:t,end:n},Vn.value&&Vn.value.setRangeValues(t,n)}function vr(e){let t=pr(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(R.value.start)||r!==Number(R.value.end))&&(hr(),R.value={start:n,end:r},_r(),In()),{start:Number(R.value.start),end:Number(R.value.end)}}function yr(e){let t=vr(e);return t?(mr(t),t):null}async function br(e=!0){if(!lr.value){lr.value=!0;try{await rt(),await rt();let{startIndex:t,endIndex:n}=F.value.zoom,r=Y.value;if(!Number.isFinite(r)||r<=0){R.value={start:0,end:0},ur.value=!0;return}let i=t==null?0:Number(t),a=n==null?r:gr(Number(n)+1,i);dr.value=!0,R.value={start:i,end:a},_r(),ur.value=!0,e&&C.zoomState&&vr(C.zoomState)}finally{queueMicrotask(()=>{dr.value=!1}),lr.value=!1,In()}}}async function xr({force:e=!1,publish:t=!1}={}){await br(!e),t&&(mr({start:Number(R.value.start),end:Number(R.value.end)}),j(`zoomReset`))}dt([()=>C.zoomState,ur],([e,t])=>{t&&e&&vr(e)},{deep:!0,immediate:!0});function Sr(e){W={...W,...e},fr&&cancelAnimationFrame(fr),fr=requestAnimationFrame(()=>{let e={...R.value,...W};W={},fr=null,R.value=e,_r(),In(),mr({start:Number(R.value.start),end:Number(R.value.end)})})}function Cr(e){if(lr.value||dr.value)return;let t=Number(e);Number.isFinite(t)&&(j(`zoomStart`,{index:t,isZoom:t!==0}),t!==R.value.start&&Sr({start:t}))}function wr(e){if(lr.value||dr.value)return;let t=W.start===void 0?R.value.start:W.start,n=gr(Number(e),t);Number.isFinite(n)&&(j(`zoomEnd`,{index:n,isZoom:n!==Y.value}),(n!==R.value.end||W.start!==void 0)&&Sr({end:n}))}let{userOptionsVisible:Tr,setUserOptionsVisibility:Er,keepUserOptionState:Dr}=Ke({config:M.value}),{svgRef:G}=qe({config:F.value.title});function Or(){let e=we({userConfig:C.config,defaultConfig:dn}),t={},n=e.theme;if(n){if(!fn.value(e))pn(e),t=e;else{let r=we({userConfig:Ye[n]||C.config,defaultConfig:e});t={...we({userConfig:C.config,defaultConfig:r}),customPalette:e.customPalette?e.customPalette:ue[n]||o}}}else t=e;return t}dt(()=>C.config,e=>{tr.value||(M.value=Or()),Tr.value=!M.value.userOptions.showOnChartHover,Zn(),yn.value+=1,bn.value+=1,xn.value+=1,Fr.value.showTable=M.value.table.show},{deep:!0}),dt(()=>C.dataset,e=>{Array.isArray(e)&&e.length>0&&(rr.value=!1),xr()},{deep:!0});let{isPrinting:kr,isImaging:Ar,generatePdf:jr,generateImage:Mr}=Ie({elementId:w.value,fileName:F.value.title.text||`vue-ui-donut-evolution`,options:M.value.userOptions.print}),Nr=u(()=>M.value.userOptions.show&&!F.value.title.text),Pr=u(()=>he(M.value.customPalette)),Fr=_({showTable:M.value.table.show});dt(M,()=>{Fr.value={showTable:M.value.table.show}},{immediate:!0});let Ir=u(()=>({top:P.value.padding.top,right:P.value.padding.right,bottom:P.value.padding.bottom,left:P.value.padding.left})),K=u(()=>N.value.yAxis.position===`right`),{metrics:Lr,ready:Rr,settling:zr,update:Br}=ze({svgRef:G,canMeasure:()=>(!M.value.responsive||Jn.value)&&(!N.value.xAxis.dataLabels.show||Wr.value),initialMetrics:{scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0},measure:e=>({scaleLabelsWidth:e(Sn.value).textWidth,yAxisLabelWidth:e(Tn.value).rotatedWidth,xAxisLabelHeight:e(wn.value).height,timeLabelsHeight:e(Cn.value).height})});function Vr(){let e=Lr.value.scaleLabelsWidth,t=Tn.value?Lr.value.yAxisLabelWidth+N.value.axis.yLabelOffsetX+N.value.axis.fontSize:0,n=e+t+5;return{left:K.value?0:n,right:K.value?n:0,scaleLabelsWidth:e,yAxisLabelWidth:t,crosshair:5}}ot(()=>{cancelAnimationFrame(Yn),Ln.stop(),clearTimeout(Gn.value),hr(),_i(),ri(),k.value&&(Wn.value&&k.value.unobserve(Wn.value),k.value.disconnect(),k.value=null,Wn.value=null)});let Hr=u(()=>Lr.value.xAxisLabelHeight+Lr.value.timeLabelsHeight+N.value.axis.fontSize+N.value.xAxis.dataLabels.offsetY),q=u(()=>{let e=Vr(),t=P.value.dataLabels.fontSize*3,n=L.value.width,r=L.value.height,i=Ir.value.left+e.left,a=n-Ir.value.right-e.right,o=n-i-Ir.value.right-e.right,ee=r-Ir.value.top-Ir.value.bottom-t-Hr.value,s=Ir.value.top+t;return{top:s,left:i,right:a,bottom:r-Ir.value.bottom-Hr.value,absoluteHeight:r,absoluteWidth:n,centerX:i+Math.max(10,o)/2,centerY:s+Math.max(10,ee)/2,width:Math.max(10,o),height:Math.max(10,ee),scaleLabelsWidth:e.scaleLabelsWidth,yAxisLabelWidth:e.yAxisLabelWidth,crosshair:e.crosshair}}),J=u(()=>(Xn.value&&nr.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:`name`,index:t}),[null,void 0].includes(e.values)&&ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:`values`,index:t})}),nr.value.map((e,t)=>({...e,values:te(e.values),color:ne(e.color)||Pr.value[t]||o[t]||o[t%o.length],length:(e.values||[]).length,uid:re()})))),Ur=u(()=>J.value.filter(e=>!T.value.includes(e.uid)).map(e=>({...e,values:e.values.filter((e,t)=>t>=R.value.start&&t<=R.value.end)}))),Y=u(()=>Math.max(...J.value.map(e=>e.length))),X=_([]),Wr=_(!1),Gr=0;ft(()=>{let e=++Gr;(async()=>{let t=await Fe({values:N.value.xAxis.dataLabels.values,maxDatapoints:Y.value,formatter:N.value.xAxis.dataLabels.datetimeFormatter,start:R.value.start,end:R.value.end});e===Gr&&(X.value=t,Wr.value=!0)})()});let Z=u(()=>q.value.width/(R.value.end-R.value.start)),Kr=u(()=>{let e=[];for(let t=0;t<R.value.end-R.value.start;t+=1){let n=Ur.value.map(e=>e.values[t]??null),r=n.filter(e=>[void 0,null].includes(e)).length===n.length,i=n.reduce((e,t)=>e+t,0),a=n.map(e=>e/i),o=q.value.left+Z.value*t+Z.value/2;e.push({index:t,percentages:a,subtotal:r||i<0?null:i,values:n,x:o})}return e}),qr=u(()=>{let e=Math.max(...Kr.value.map(e=>e.subtotal).filter(e=>i(e)))??1,t=Math.min(...Kr.value.map(e=>e.subtotal).filter(e=>i(e)))??0,n=Math.max(N.value.yAxis.scaleMax??0,e),r;return r=N.value.yAxis.scaleMin==null?0:Math.min(t,N.value.yAxis.scaleMin),N.value.yAxis.autoScale&&(r=t,n=e),r===n&&(r=n/2,n*=1.5),{max:n,min:r}}),Q=u(()=>{let e=Kr.value.length===1?qr.value.max*2:qr.value.max;return ie(qr.value.min,e,N.value.yAxis.dataLabels.steps)});dt(()=>Q.value.ticks.join(`|`),()=>{In()},{flush:`post`});function Jr(e){return(e-Q.value.min)/(Q.value.max-Q.value.min)}let Yr=u(()=>Q.value.ticks.map(e=>({y:q.value.bottom-q.value.height*Jr(e),value:e}))),$=u(()=>{let e=Kr.value,t=Math.max(...e.map(e=>e.subtotal));return e.length===1&&t*2,e.map((t,n)=>{let r=Math.min(q.value.width/24,Z.value/2*.7),i=r>q.value.width/16?q.value.width/16:r,a=E.value===t.index?q.value.width/16:i,o=e.length>4?r*2:r*2>Z.value/2*.7?Z.value/2*.7:r*2,s=q.value.bottom-q.value.height*Jr(t.subtotal),c=Ur.value.map(e=>({color:e.color,name:e.name,value:e.values[n]??0})).toSorted((e,t)=>t.value-e.value);return{...t,y:s,radius:i,activeRadius:a,hoverRadius:o,donut:ee({series:c},t.x,s,i,i,1.99999,2,1,360,105.25,i/2),donutHover:ee({series:c},t.x,s,o,o,1.99999,2,1,360,105.25,o/2),donutFocus:ee({series:c},q.value.centerX,q.value.centerY,q.value.height/3.6,q.value.height/3.6,1.99999,2,1,360,105.25,q.value.height/6)}})});function Xr(e,t,r){return ce(P.value.dataLabels.formatter,e,n({p:P.value.dataLabels.prefix,v:e,s:P.value.dataLabels.suffix,r:P.value.dataLabels.rounding}),{datapoint:t,index:r})}function Zr(e,t){return isNaN(e.value/r(t,`value`))?0:(e.value/r(t,`value`)*100).toFixed(0)+`%`}function Qr(e){let t=G.value;if(!t)return null;if(t.createSVGPoint&&t.getScreenCTM){let n=t.createSVGPoint();n.x=e.clientX,n.y=e.clientY;let r=t.getScreenCTM();if(r){let e=n.matrixTransform(r.inverse());return{x:e.x,y:e.y}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},i=Math.min(n.width/r.width,n.height/r.height);if(!Number.isFinite(i)||i<=0)return null;let a=r.width*i,o=r.height*i,ee=(n.width-a)/2,s=(n.height-o)/2;return{x:(e.clientX-n.left-ee)/i+r.x,y:(e.clientY-n.top-s)/i+r.y}}let $r=u(()=>!z.value||B.value==null||V.value==null?null:{x:Math.min(B.value,V.value),y:q.value.top,width:Math.abs(V.value-B.value),height:q.value.height}),ei=u(()=>ur.value?Number(R.value.start)!==0||Number(R.value.end)!==Number(Y.value):!1);function ti(e){return Math.min(Math.max(e,q.value.left),q.value.right)}function ni(){E.value=null,mn.value=null,A.value=null}function ri(e){let t=e?.pointerId==null?H.value:e.pointerId;t!=null&&G.value?.hasPointerCapture?.(t)&&G.value.releasePointerCapture(t),z.value=!1,B.value=null,V.value=null,H.value=null}function ii(){or.value=!0,setTimeout(()=>{or.value=!1},0)}function ai(e){or.value&&(or.value=!1,e.preventDefault(),e.stopPropagation())}function oi(e){if(!U.value||!ei.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=sr.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?(sr.value={time:0,x:0,y:0,pointerType:null},ii(),_i(),ri(e),Bi(),xr({force:!0,publish:!0}),!0):(sr.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function si(e){let t=Number(R.value.end)-Number(R.value.start);if(t<=0||!Number.isFinite(Z.value)||Z.value<=0)return null;let n=Math.floor((ti(e)-q.value.left)/Z.value);return Math.max(0,Math.min(t-1,n))}function ci(e,t){let n=si(e),r=si(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(R.value.start)+i,end:Number(R.value.start)+a+1}}function li(e){let t=yr(e);return t?(j(`zoomStart`,{index:t.start,isZoom:t.start!==0}),j(`zoomEnd`,{index:t.end,isZoom:t.end!==Y.value}),t):null}function ui(e){if(!U.value||Pi.value||e.button!==void 0&&e.button!==0||H.value!=null&&e.pointerId!==H.value)return;let t=Qr(e);if(!t||t.x<q.value.left||t.x>q.value.right||t.y<q.value.top||t.y>q.value.bottom||Number(R.value.end)-Number(R.value.start)<=1)return;ar.value=!0,G.value?.focus?.({preventScroll:!0}),_i(),ni();let n=ti(t.x);H.value=e.pointerId,z.value=!0,B.value=n,V.value=n}function di(e){if(!U.value||!z.value||H.value!=null&&e.pointerId!==H.value)return;let t=Qr(e);t&&(V.value=ti(t.x),ni(),B.value!=null&&Math.abs(V.value-B.value)>=2&&!G.value?.hasPointerCapture?.(e.pointerId)&&G.value?.setPointerCapture?.(e.pointerId))}function fi(e){if(!U.value||!z.value||H.value!=null&&e.pointerId!==H.value)return;let t=Qr(e);t&&(V.value=ti(t.x));let n=B.value,r=V.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,q.value.width*.01)){if(oi(e))return;ri(e);return}let i=ci(Math.min(n,r),Math.max(n,r));i?(ri(e),li(i)&&(sr.value={time:0,x:0,y:0,pointerType:null},ni(),ii())):ri(e)}function pi(e){z.value||(E.value=null,mn.value=null,A.value=null,M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex+R.value.start}))}function mi(e){z.value||(M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:e,seriesIndex:e.index+R.value.start}),E.value=e.index,mn.value=e,A.value=e.index)}let hi=_(null),gi=null;function _i(){gi&&=(clearTimeout(gi),null)}function vi(e,t){M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:e,seriesIndex:e.index+R.value.start}),e.subtotal&&Qn.value.show&&(mn.value=null,E.value=null,hn.value=!0,D.value=e,Vi(e),[null,void 0].includes(t)||(hi.value=t))}function yi(e,t){if(_i(),!U.value||!ei.value){vi(e,t);return}let n=sr.value.pointerType===`touch`?480:380;gi=setTimeout(()=>{gi=null,vi(e,t)},n)}let bi=u(()=>J.value.map((e,t)=>({name:e.name,value:e.values.slice(R.value.start,R.value.end).reduce((e,t)=>e+t,0),shape:`circle`,uid:e.uid,color:e.color})).sort((e,t)=>t.value-e.value).map((e,t)=>({...e,opacity:T.value.includes(e.uid)?.5:1,segregate:()=>wi(e.uid),isSegregated:T.value.includes(e.uid),display:`${e.name}${F.value.legend.showPercentage||F.value.legend.showValue?`: `:``}${F.value.legend.showValue?ce(P.value.dataLabels.formatter,e.value,n({p:P.value.dataLabels.prefix,v:e.value,s:P.value.dataLabels.suffix,r:F.value.legend.roundingValue}),{datapoint:e,seriesIndex:t}):``}${F.value.legend.showPercentage?T.value.includes(e.uid)?`${F.value.legend.showValue?` (`:``}- %${F.value.legend.showValue?`)`:``}`:`${F.value.legend.showValue?` (`:``}${isNaN(e.value/xi.value)?`-`:n({v:e.value/xi.value*100,s:`%`,r:F.value.legend.roundingPercentage})}${F.value.legend.showValue?`)`:``}`:``}`}))),xi=u(()=>$.value.map(e=>e.subtotal).reduce((e,t)=>e+t,0)),Si=u(()=>({cy:`donut-div-legend`,backgroundColor:F.value.legend.backgroundColor,color:F.value.legend.color,fontSize:F.value.legend.fontSize,paddingBottom:12,fontWeight:F.value.legend.bold?`bold`:``}));function Ci(){T.value.length?T.value=[]:bi.value.forEach(e=>{T.value.push(e.uid)}),j(`selectLegend`,Ur.value)}function wi(e){if(T.value.includes(e))T.value=T.value.filter(t=>t!==e),j(`selectLegend`,Ur.value);else{if(T.value.length===J.value.length-1)return;T.value.push(e),j(`selectLegend`,Ur.value)}D.value&&vi($.value.find((e,t)=>t===hi.value))}function Ti(e){return J.value.length?J.value.find(t=>t.name===e)||(Xn.value&&console.warn(`VueUiDonutEvolution - Series name not found "${e}"`),null):(Xn.value&&console.warn(`VueUiDonutEvolution - There are no series to show.`),null)}function Ei(e){let t=Ti(e);t!==null&&T.value.includes(t.uid)&&wi(t.uid)}function Di(e){let t=Ti(e);t!==null&&(T.value.includes(t.uid)||wi(t.uid))}let Oi=u(()=>{let e=[``].concat(J.value.filter(e=>!T.value.includes(e.uid)).map(e=>({name:e.name,color:e.color})),[`Σ`]),t=[];for(let e=0;e<Y.value;e+=1){let n=J.value.filter(e=>!T.value.includes(e.uid)).map(t=>t.values[e]??0).reduce((e,t)=>e+t,0);t.push([X.value[e]?X.value[e].text:`-`].concat(J.value.filter(e=>!T.value.includes(e.uid)).map(t=>({value:t.values[e]??0,percentage:t.values[e]?t.values[e]/n*100:0})),[`${P.value.dataLabels.prefix}${Number(n.toFixed(M.value.table.td.roundingValue))}${P.value.dataLabels.suffix}`]))}return{head:e,body:t,bodyA11y:t.map(e=>e.map((t,n)=>n===0||n===e.length-1?t:`${Xr(t.value??0,null,n)} (${t.percentage.toFixed(1)}%)`)),config:{th:{backgroundColor:M.value.table.th.backgroundColor,color:M.value.table.th.color,outline:M.value.table.th.outline},td:{backgroundColor:M.value.table.td.backgroundColor,color:M.value.table.td.color,outline:M.value.table.td.outline},breakpoint:M.value.table.responsiveBreakpoint},colNames:[M.value.table.columnNames.period].concat(J.value.filter(e=>!T.value.includes(e.uid)).map(e=>e.name),M.value.table.columnNames.total)}});function ki(){return J.value}function Ai(e=null){rt(()=>{let t=[[F.value.title.text],[F.value.title.subtitle.text],[``]],n=[...Oi.value.head.map(e=>e.name??e)],r=[...Oi.value.body.map(e=>e.map(e=>e.value??e))],i=t.concat([n]).concat(r),o=a(i);e?e(o):de({csvContent:o,title:F.value.title.text||`vue-ui-donut-evolution`})})}let ji=_(!1);function Mi(e){ji.value=e,_n.value+=1}function Ni(){Fr.value.showTable=!Fr.value.showTable}let Pi=_(!1);function Fi(){Pi.value=!Pi.value}function Ii(e){return e.proportion*100>F.value.donuts.hover.hideLabelsUnderValue}let Li=_([]),Ri=_({}),zi=_(null);function Bi(){zi.value?.close?.(),D.value=null,hi.value=null,hn.value=!1,mn.value=null,E.value=null,A.value=null}function Vi(e){Li.value=e.donut.map(e=>({name:e.name,values:[e.value],color:e.color})),Ri.value=me({...Qn.value.donutChart,responsive:!0,theme:M.value.theme}),zi.value&&zi.value.open()}let Hi=Ee(O,()=>F.value.title.text),Ui=u(()=>L.value.width),Wi=u(()=>L.value.height);Be({timeLabelsEls:Cn,timeLabels:X,slicer:R,configRef:M,rotationPath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:Ui,height:Wi,rotation:N.value.xAxis.dataLabels.autoRotate.angle});let Gi=u(()=>Ae({config:M,style:F,mutableConfig:Fr,dialog:un,accordion:nn,isFullscreen:ji,parent:O,maxWidth:800,isCursorPointer:I}));dt(()=>Fr.value.showTable,e=>ke(e,M,Dn));function Ki(){Fr.value.showTable=!1,On.value&&On.value.setTableIconState(!1)}let qi=u(()=>bi.value.map(e=>({...e,name:e.display}))),Ji=u(()=>F.value.backgroundColor),Yi=u(()=>F.value.legend),Xi=u(()=>F.value.title),{isCallbackImaging:Zi,isCallbackSvg:Qi,generateSvg:$i,onGenerateImage:ea}=Oe({svg:G,title:Xi,legend:Yi,legendItems:qi,backgroundColor:Ji,getSvgCallback:()=>M.value.userOptions.callbacks.svg,generateImage:Mr});async function ta(){j(`copyAlt`,{config:M.value,dataset:$.value}),M.value.userOptions.callbacks.altCopy?await Promise.resolve(M.value.userOptions.callbacks.altCopy({config:M.value,dataset:$.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function na(){A.value=null,Kn.value=!0}function ra(){ar.value=!1,A.value=null,E.value=null,mn.value=null,Kn.value=!1}function ia(e){if(!G.value||Pi.value||document.activeElement!==G.value||(ar.value=!1,!$.value.length))return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){if(U.value&&(ei.value||z.value)){_i(),ri(),Bi(),xr({force:!0,publish:!0});return}A.value=null,E.value=null,mn.value=null;return}if(r){if(A.value===null)return;let e=$.value[A.value];if(!e)return;vi(e,A.value);return}let a=A.value,o=E.value,ee=a!==null&&a>=0&&a<$.value.length,s=o!==null&&o>=0&&o<$.value.length;ee?n?(a+=1,a>=$.value.length&&(a=0)):t&&(--a,a<0&&(a=$.value.length-1)):s?(a=n?o+1:o-1,a>=$.value.length&&(a=0),a<0&&(a=$.value.length-1)):a=n?0:$.value.length-1;let c=$.value[a];c&&mi(c)}let aa=u(()=>({headers:Oi.value?.colNames??[],rows:Oi.value?.bodyA11y??[]}));return Ce({getData:ki,getImage:Hi,generatePdf:jr,generateCsv:Ai,generateImage:Mr,generateSvg:$i,hideSeries:Di,showSeries:Ei,toggleTable:Ni,toggleAnnotator:Fi,toggleFullscreen:Mi,copyAlt:ta,resetZoom:()=>xr({force:!0,publish:!0}),setZoomState:yr}),dt(()=>[L.value.width,L.value.height,An.value,X.value,Wr.value,R.value.start,R.value.end,N.value,P.value,M.value.style.fontFamily,C.dataset,Jn.value,Sn.value,Cn.value,wn.value,Tn.value],Br,{flush:`post`,deep:!0}),(e,t)=>(g(),p(`div`,{ref_key:`donutEvolutionChart`,ref:O,class:h(`vue-data-ui-component vue-ui-donut-evolution ${ji.value?`vue-data-ui-wrapper-fullscreen`:``} ${M.value.useCssAnimation?``:`vue-ui-dna`}`),style:at(`font-family:${M.value.style.fontFamily};width:100%; text-align:center;background:${F.value.backgroundColor}`),id:w.value,onMouseenter:t[4]||=()=>x(Er)(!0),onMouseleave:t[5]||=()=>x(Er)(!1)},[m(`div`,{id:`chart-instructions-${w.value}`,class:`sr-only`},[m(`p`,null,b(M.value.a11y.translations.keyboardNavigation),1)],8,ht),aa.value?.rows?.length?(g(),d(Ge,{key:0,uid:w.value,head:aa.value.headers,body:aa.value.rows,notice:M.value.a11y.translations.tableAvailable,caption:M.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),M.value.userOptions.buttons.annotator?(g(),d(x(sn),{key:1,svgRef:x(G),backgroundColor:F.value.backgroundColor,color:F.value.color,active:Pi.value,isCursorPointer:I.value,palette:M.value.userOptions.annotatorPalette,onClose:Fi},Ze({_:2},[v(x(Me),t=>({name:t,fn:S(n=>[y(e.$slots,t,it(tt(x(je)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),Nr.value?(g(),p(`div`,{key:2,ref_key:`noTitle`,ref:gn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),F.value.title.text?(g(),p(`div`,{key:3,ref_key:`chartTitle`,ref:Rn,style:`width:100%;background:transparent;padding-bottom:24px`,onMouseleave:pi},[(g(),d(De,{key:`title_${yn.value}`,config:{title:{cy:`donut-evolution-div-title`,...F.value.title},subtitle:{cy:`donut-evolution-div-subtitle`,...F.value.title.subtitle}}},null,8,[`config`]))],544)):f(``,!0),m(`div`,{id:`legend-top-${w.value}`},null,8,gt),M.value.userOptions.show&&qn.value&&(x(Dr)||x(Tr))?(g(),d(x(cn),{ref_key:`userOptionsRef`,ref:On,key:`user_options_${_n.value}`,backgroundColor:F.value.backgroundColor,color:F.value.color,isPrinting:x(kr),isImaging:x(Ar),uid:w.value,hasPdf:M.value.userOptions.buttons.pdf,hasImg:M.value.userOptions.buttons.img,hasSvg:M.value.userOptions.buttons.svg,hasXls:M.value.userOptions.buttons.csv,hasTable:M.value.userOptions.buttons.table,hasFullscreen:M.value.userOptions.buttons.fullscreen,hasAltCopy:M.value.userOptions.buttons.altCopy,isFullscreen:ji.value,titles:{...M.value.userOptions.buttonTitles},chartElement:O.value,position:M.value.userOptions.position,hasAnnotator:M.value.userOptions.buttons.annotator,isAnnotation:Pi.value,callbacks:M.value.userOptions.callbacks,printScale:M.value.userOptions.print.scale,tableDialog:M.value.table.useDialog,isCursorPointer:I.value,onToggleFullscreen:Mi,onGeneratePdf:x(jr),onGenerateCsv:Ai,onGenerateImage:x(ea),onGenerateSvg:x($i),onToggleTable:Ni,onToggleAnnotator:Fi,onCopyAlt:ta,style:at({visibility:x(Dr)?x(Tr)?`visible`:`hidden`:`visible`})},Ze({_:2},[v(x(Ne)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:S(n=>[y(e.$slots,t,it(tt(x(Pe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,_t,[(g(),p(`svg`,{ref_key:`svgRef`,ref:G,xmlns:x(pe),"aria-describedby":`chart-instructions-${w.value}`,class:h({"vue-data-ui-fullscreen--on":ji.value,"vue-data-ui-fulscreen--off":!ji.value,"vue-data-ui-no-transition":!x($n)||x(zr),"vue-ui-donut-evolution-chart-zoom-pointer-focus":U.value&&ar.value}),viewBox:`0 0 ${q.value.absoluteWidth} ${q.value.absoluteHeight}`,style:at({maxWidth:`100%`,visibility:x(Rr)?`visible`:`hidden`,overflow:`visible`,background:`transparent`,color:F.value.color,cursor:U.value?z.value?`col-resize`:`crosshair`:void 0,touchAction:U.value?`pan-y`:void 0,userSelect:U.value?`none`:void 0}),tabindex:`0`,onFocus:na,onBlur:ra,onKeydown:ia,onPointerdown:ui,onPointermove:di,onPointerup:fi,onPointercancel:ri,onClickCapture:ai},[$e(x(on)),y(e.$slots,`svg-underlayer`,{svg:{...q.value,isPrintingImg:x(kr)||x(Ar)||x(Zi),isPrintingSvg:x(Qi)}},void 0,!0),e.$slots[`chart-background`]?(g(),p(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:q.value.width,height:q.value.height,style:{pointerEvents:`none`}},[y(e.$slots,`chart-background`,{},void 0,!0)],8,yt)):f(``,!0),m(`defs`,null,[$e(He,{t:`linear`,id:`hover_${w.value}`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,stops:[[`0%`,x(c)(F.value.backgroundColor,P.value.highlighter.opacity),1],[`100%`,x(c)(P.value.highlighter.color,P.value.highlighter.opacity),1]]},null,8,[`id`,`stops`]),$e(He,{t:`radial`,id:`focus_${w.value}`,stops:[[`0%`,x(c)(x(ne)(F.value.backgroundColor),0),1],[`77%`,x(c)(`#FFFFFF`,30),1],[`100%`,x(c)(x(ne)(F.value.backgroundColor),0),1]]},null,8,[`id`,`stops`])]),N.value.show?(g(),p(`g`,bt,[m(`line`,{x1:K.value?q.value.right:q.value.left,x2:K.value?q.value.right:q.value.left,y1:q.value.top,y2:q.value.top+q.value.height,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,8,xt),m(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,8,St),N.value.showVerticalLines?(g(),p(`g`,Ct,[(g(!0),p(l,null,v(R.value.end-R.value.start,(e,t)=>(g(),p(`line`,{x1:q.value.left+(t+1)*Z.value,x2:q.value.left+(t+1)*Z.value,y1:q.value.top,y2:q.value.bottom,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,8,wt))),256))])):f(``,!0)])):f(``,!0),m(`g`,null,[N.value.axis.yLabel?(g(),p(`text`,{key:0,ref_key:`yAxisLabel`,ref:Tn,"font-size":N.value.axis.fontSize,fill:N.value.axis.color,transform:`translate(${K.value?q.value.absoluteWidth-N.value.axis.fontSize/2-N.value.axis.yLabelOffsetX:N.value.axis.fontSize}, ${q.value.top+q.value.height/2}) rotate(-90)`,"text-anchor":`middle`,style:{transition:`none`}},b(N.value.axis.yLabel),9,Tt)):f(``,!0),N.value.axis.xLabel?(g(),p(`text`,{key:1,ref_key:`xAxisLabel`,ref:wn,"text-anchor":`middle`,x:q.value.absoluteWidth/2,y:q.value.absoluteHeight-3,"font-size":N.value.axis.fontSize,fill:N.value.axis.color},b(N.value.axis.xLabel),9,Et)):f(``,!0)]),N.value.yAxis.dataLabels.show?(g(),p(`g`,{key:2,ref_key:`scaleLabels`,ref:Sn,class:h({"donut-opacity":!0,"donut-behind":E.value!==null})},[(g(!0),p(l,null,v(Yr.value,(e,t)=>(g(),p(`g`,{key:`sl_${t}`},[e.value>=Q.value.min&&e.value<=Q.value.max?(g(),p(`path`,{key:0,class:h({"vue-data-ui-transition":x($n)&&!x(zr)}),d:`M${K.value?q.value.right:q.value.left},${e.y} ${K.value?q.value.right+5:q.value.left-5},${e.y}`,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,10,Dt)):f(``,!0),e.value>=Q.value.min&&e.value<=Q.value.max?(g(),p(`text`,{key:1,class:h({"vue-data-ui-transition":x($n)&&!x(zr)}),transform:`translate(${K.value?q.value.right-N.value.yAxis.dataLabels.offsetX+7:q.value.left+N.value.yAxis.dataLabels.offsetX-7}, ${e.y+N.value.yAxis.dataLabels.fontSize/3})`,"font-size":N.value.yAxis.dataLabels.fontSize,"text-anchor":K.value?`start`:`end`,fill:N.value.yAxis.dataLabels.color,"font-weight":N.value.yAxis.dataLabels.bold?`bold`:`normal`},b(x(ge)(e.value)?x(ce)(P.value.dataLabels.formatter,e.value,x(n)({p:P.value.dataLabels.prefix,v:e.value,s:P.value.dataLabels.suffix,r:P.value.grid.yAxis.dataLabels.roundingValue}),{datapoint:e,seriesIndex:t}):``),11,Ot)):f(``,!0)]))),128))],2)):f(``,!0),N.value.xAxis.dataLabels.show?(g(),p(`g`,{key:3,ref_key:`timeLabelsEls`,ref:Cn,class:h({"donut-opacity":!0})},[(g(!0),p(l,null,v(R.value.end-R.value.start,(e,t)=>(g(),p(`g`,null,[(N.value.xAxis.dataLabels.showOnlyFirstAndLast&&(t===0||t===Y.value-1)||!N.value.xAxis.dataLabels.showOnlyFirstAndLast)&&X.value[t]&&X.value[t].text?(g(),p(`g`,kt,[String(X.value[t].text).includes(`
|
|
2
|
-
`)?(g(),p(`text`,{key:1,class:`vue-data-ui-time-label`,"text-anchor":N.value.xAxis.dataLabels.rotation>0?`start`:N.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":N.value.xAxis.dataLabels.fontSize,fill:N.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+N.value.xAxis.dataLabels.fontSize+N.value.xAxis.dataLabels.offsetY}), rotate(${N.value.xAxis.dataLabels.rotation})`,innerHTML:x(s)({content:String(X.value[t].text),fontSize:N.value.xAxis.dataLabels.fontSize,fill:P.value.grid.xAxis.dataLabels.color,x:0,y:0})},null,8,jt)):(g(),p(`text`,{key:0,class:`vue-data-ui-time-label`,"text-anchor":N.value.xAxis.dataLabels.rotation>0?`start`:N.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":N.value.xAxis.dataLabels.fontSize,fill:N.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+N.value.xAxis.dataLabels.fontSize+N.value.xAxis.dataLabels.offsetY}), rotate(${N.value.xAxis.dataLabels.rotation})`},b(X.value[t].text||``),9,At))])):f(``,!0)]))),256))],512)):f(``,!0),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,null,[P.value.line.show&&t<$.value.length-1&&![e.subtotal,$.value[t+1].subtotal].includes(null)?(g(),p(`line`,{key:0,class:h({"donut-opacity":!0,"donut-behind":E.value!==null}),x1:e.x,y1:e.y,x2:$.value[t+1].x,y2:$.value[t+1].y,stroke:P.value.line.stroke,"stroke-width":P.value.line.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,10,Mt)):f(``,!0),e.subtotal===null?f(``,!0):(g(),p(`g`,Nt,[e.subtotal?(g(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:e.activeRadius,fill:F.value.backgroundColor},null,8,Pt)):f(``,!0)]))]))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,{class:h({"donut-opacity":!0,"donut-behind":t!==E.value&&E.value!==null})},[e.subtotal?(g(),p(`g`,Ft,[E.value!==null&&E.value===t?(g(),p(`g`,It,[(g(!0),p(l,null,v(e.donutHover,t=>(g(),p(`g`,null,[Ii(t)?(g(),p(`path`,{key:0,d:x(se)(t,{x:t.center.endX,y:t.center.endY},12,12,{x:e.x,y:e.y},!1,20),stroke:t.color,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`},null,8,Lt)):f(``,!0)]))),256)),(g(!0),p(l,null,v(e.donutHover,(t,n)=>(g(),p(`g`,null,[Ii(t)?(g(),p(`text`,{key:0,"data-cy-hover-label":``,"text-anchor":x(oe)(t,!0,0).anchor,x:x(oe)(t,!0,9).x,y:x(fe)(t,14,10),fill:N.value.yAxis.dataLabels.color,"font-size":8,"font-weight":`bold`},b(t.name)+`: `+b(Zr(t,e.donut))+` (`+b(t.value===null?`-`:Xr(t.value,t,n))+`) `,9,Rt)):f(``,!0)]))),256)),m(`g`,null,[m(`circle`,{cx:e.x,cy:e.y,r:e.hoverRadius,fill:F.value.backgroundColor},null,8,zt)])])):f(``,!0)])):f(``,!0)],2))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,{class:h({"donut-opacity":!0,"donut-behind":t!==E.value&&E.value!==null})},[e.subtotal===null?f(``,!0):(g(),p(`g`,Bt,[e.subtotal===0?(g(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:3,fill:F.value.color},null,8,Vt)):E.value!==null&&E.value===t?(g(),p(`g`,Ht,[(g(!0),p(l,null,v(e.donutHover,(e,t)=>(g(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":1,stroke:F.value.backgroundColor},null,8,Ut))),256))])):(g(),p(`g`,Wt,[(g(!0),p(l,null,v(e.donut,(e,t)=>(g(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":.5,stroke:F.value.backgroundColor},null,8,Gt))),256))]))]))],2))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,{class:h({"donut-opacity":!0,"donut-behind":t!==E.value&&E.value!==null||hn.value&&t!==D.value.index})},[e.subtotal!==null&&P.value.dataLabels.show?(g(),p(`text`,{key:0,"text-anchor":`middle`,x:e.x,y:E.value===e.index&&e.subtotal?e.y+P.value.dataLabels.fontSize/3:e.y-e.radius-P.value.dataLabels.fontSize+P.value.dataLabels.offsetY,"font-size":P.value.dataLabels.fontSize,"font-weight":`bold`,fill:P.value.dataLabels.color},b(Xr(e.subtotal,e,t)),9,Kt)):f(``,!0)],2))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`rect`,{x:q.value.left+t*Z.value,y:q.value.top,width:Z.value,height:q.value.height,fill:[E.value,hi.value].includes(e.index)?`url(#hover_${w.value})`:`transparent`,class:h({"donut-hover":I.value&&e.subtotal&&[E.value,hi.value].includes(e.index)}),style:{pointerEvents:`none`}},null,10,qt))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`rect`,{"data-cy-trap":``,x:q.value.left+t*Z.value,y:q.value.top,width:Z.value,height:q.value.height,fill:`transparent`,onMouseenter:t=>mi(e),onMouseleave:t=>pi(e),onClick:n=>yi(e,t),style:at({cursor:U.value?z.value?`col-resize`:`crosshair`:void 0}),class:h({"donut-hover":I.value&&E.value===e.index&&e.subtotal})},null,46,Jt))),256)),$r.value?(g(),p(`rect`,{key:4,x:$r.value.x,y:$r.value.y,width:$r.value.width,height:$r.value.height,fill:cr.value.selection.fill,"fill-opacity":cr.value.selection.fillOpacity,stroke:cr.value.selection.stroke,"stroke-opacity":cr.value.selection.strokeOpacity,"stroke-width":cr.value.selection.strokeWidth,"stroke-dasharray":cr.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,Yt)):f(``,!0),y(e.$slots,`svg`,{svg:{...q.value,isPrintingImg:x(kr)||x(Ar)||x(Zi),isPrintingSvg:x(Qi)}},void 0,!0)],46,vt)),e.$slots.hint?(g(),p(`div`,Xt,[y(e.$slots,`hint`,it(tt({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Kn.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(g(),p(`div`,Zt,[y(e.$slots,`watermark`,it(tt({isPrinting:x(kr)||x(Ar)||x(Zi)||x(Qi)})),void 0,!0)])):f(``,!0),m(`div`,{ref_key:`chartSlicer`,ref:Hn,style:at(`width:100%;background:${F.value.backgroundColor}`),"data-dom-to-png-ignore":``},[Y.value>1&&F.value.zoom.show?(g(),d(Ue,{ref_key:`slicerComponent`,ref:Vn,key:`slicer_${vn.value}`,background:F.value.zoom.color,borderColor:F.value.backgroundColor,fontSize:F.value.zoom.fontSize,useResetSlot:F.value.zoom.useResetSlot,timeLabels:X.value,textColor:F.value.color,inputColor:F.value.zoom.color,selectColor:F.value.zoom.highlightColor,max:Y.value,min:0,valueStart:R.value.start,valueEnd:R.value.end,refreshStartPoint:F.value.zoom.startIndex===null?0:F.value.zoom.startIndex,refreshEndPoint:F.value.zoom.endIndex===null?Y.value:F.value.zoom.endIndex+1,enableRangeHandles:F.value.zoom.enableRangeHandles,enableSelectionDrag:F.value.zoom.enableSelectionDrag,focusOnDrag:F.value.zoom.focusOnDrag,focusRangeRatio:F.value.zoom.focusRangeRatio,isCursorPointer:I.value,maxWidth:F.value.zoom.maxWidth,minimapLeftInsetRatio:q.value.absoluteWidth>0&&F.value.zoom.autoFit?q.value.left/q.value.absoluteWidth:null,minimapRightInsetRatio:q.value.absoluteWidth>0&&F.value.zoom.autoFit?(q.value.absoluteWidth-q.value.right)/q.value.absoluteWidth:null,"onUpdate:start":Cr,"onUpdate:end":wr,onReset:t[0]||=()=>xr({force:!0,publish:!0})},{"reset-action":S(({reset:t})=>[y(e.$slots,`reset-action`,it(tt({reset:t})),void 0,!0)]),_:3},8,[`background`,`borderColor`,`fontSize`,`useResetSlot`,`timeLabels`,`textColor`,`inputColor`,`selectColor`,`max`,`valueStart`,`valueEnd`,`refreshStartPoint`,`refreshEndPoint`,`enableRangeHandles`,`enableSelectionDrag`,`focusOnDrag`,`focusRangeRatio`,`isCursorPointer`,`maxWidth`,`minimapLeftInsetRatio`,`minimapRightInsetRatio`])):f(``,!0)],4),m(`div`,{id:`legend-bottom-${w.value}`},null,8,Qt),En.value&&(F.value.legend.show||e.$slots.legend)?(g(),d(Xe,{key:6,to:F.value.legend.position===`top`?`#legend-top-${w.value}`:`#legend-bottom-${w.value}`},[m(`div`,{ref_key:`chartLegend`,ref:zn},[y(e.$slots,`legend`,{legend:bi.value},()=>[F.value.legend.show?(g(),d(Je,{key:`legend_${xn.value}`,legendSet:bi.value,config:Si.value,onClickMarker:t[1]||=({legend:e})=>wi(e.uid)},{item:S(({legend:e,index:t})=>[m(`div`,{onClick:t=>wi(e.uid),style:at(`opacity:${T.value.includes(e.uid)?.5:1}`)},b(e.display),13,$t)]),legendToggle:S(()=>[bi.value.length>2&&F.value.legend.selectAllToggle.show&&!x(tr)?(g(),d(We,{key:0,backgroundColor:F.value.legend.selectAllToggle.backgroundColor,color:F.value.legend.selectAllToggle.color,fontSize:F.value.legend.fontSize,checked:T.value.length>0,onToggle:Ci},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`])):f(``,!0)]),_:1},8,[`legendSet`,`config`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(g(),p(`div`,{key:7,ref_key:`source`,ref:Bn,dir:`auto`},[y(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),qn.value&&M.value.userOptions.buttons.table?(g(),d(ct(Gi.value.component),nt({key:8},Gi.value.props,{ref_key:`tableUnit`,ref:Dn,onClose:Ki}),Ze({content:S(()=>[(g(),d(x(an),{key:`table_${bn.value}`,colNames:Oi.value.colNames,head:Oi.value.head,body:Oi.value.body,config:Oi.value.config,title:M.value.table.useDialog?``:Gi.value.title,withCloseButton:!M.value.table.useDialog,isCursorPointer:I.value,onClose:Ki},{th:S(({th:e})=>[Qe(b(e.name??e),1)]),td:S(({td:e})=>[e.value===null?(g(),p(`span`,en,`-`)):(g(),p(`b`,tn,b(isNaN(e.value)?``:P.value.dataLabels.prefix)+b(!isNaN(e.value)&&e.value!==null?Number(e.value.toFixed(M.value.table.td.roundingValue)).toLocaleString():e)+b(isNaN(e.value)?``:P.value.dataLabels.suffix),1)),m(`span`,null,b(e.percentage&&!isNaN(e.percentage)?`(${Number(e.percentage.toFixed(M.value.table.td.roundingPercentage)).toLocaleString()}%)`:``),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[M.value.table.useDialog?{name:`title`,fn:S(()=>[Qe(b(Gi.value.title),1)]),key:`0`}:void 0,M.value.table.useDialog?{name:`actions`,fn:S(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[2]||=e=>Ai(M.value.userOptions.callbacks.csv),style:at({cursor:I.value?`cursor`:`default`})},[$e(x(rn),{name:`fileCsv`,stroke:Gi.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),Qn.value.show?(g(),d(x(un),{key:9,ref_key:`dialog`,ref:zi,onClose:t[3]||=e=>{D.value=null,hn.value=!1,mn.value=null,E.value=null,hi.value=null},backgroundColor:Qn.value.backgroundColor,color:Qn.value.color,headerBg:Qn.value.header.backgroundColor,headerColor:Qn.value.header.color,isFullscreen:ji.value,fullscreenParent:O.value},{title:S(()=>[Qe(b(X.value[Number(D.value.index)]?X.value[Number(D.value.index)].text:``),1)]),content:S(()=>[D.value?(g(),d(x(ln),{key:0,config:Ri.value,dataset:Li.value},null,8,[`config`,`dataset`])):f(``,!0)]),_:1},8,[`backgroundColor`,`color`,`headerBg`,`headerColor`,`isFullscreen`,`fullscreenParent`])):f(``,!0),x(tr)?(g(),d(be,{key:10})):f(``,!0)],46,mt))}},[[`__scopeId`,`data-v-36a2b861`]]);export{pt as n,nn as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,$t as r,At as i,D as a,Ht as o,It as ee,J as s,Jt as c,Kt as te,S as ne,X as re,_ as ie,at as ae,f as oe,h as se,i as ce,in as le,nn as ue,nt as de,p as fe,t as pe,tt as me,w as he,y as ge,yt as _e,zt as ve}from"./lib-rPeBMZrn.js";import{n as ye,t as be}from"./BaseScanner-8NdoBs7B.js";import{n as xe,t as Se}from"./useHints-C-TwxM0Y.js";import{t as Ce}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as we}from"./useNestedProp-DnGoh-XS.js";import{t as Te}from"./useThemeCheck-BKNRbGeC.js";import{t as Ee}from"./chartImage-DPGnEuYM.js";import{n as De}from"./Title-BliHuXfT.js";import{t as Oe}from"./useChartExport-BZts4KFb.js";import{n as ke,t as Ae}from"./tableIntegration-CNoJ1CIY.js";import{n as je,t as Me}from"./annotationSlots-BRR85CqJ.js";import{n as Ne,t as Pe}from"./userOptionsSlots-DYuo-E5m.js";import{t as Fe}from"./useTimeLabels-Das5O74F.js";import{t as Ie}from"./usePrinter-DVf3YcG5.js";import{t as Le}from"./useTransitions-ChGGrtrv.js";import{t as Re}from"./useStableElementSize-CegFbRlF.js";import{t as ze}from"./useSvgLabelLayout-42Kats14.js";import{t as Be}from"./useTimeLabelCollider-BTybMUFi.js";import{t as Ve}from"./useResponsive-CENUxfEL.js";import{t as He}from"./DefGrad-DKMq1REY.js";import{t as Ue}from"./SlicerPreview-CFFUOlQr.js";import{t as We}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Ge}from"./A11yDataTable-DWNlWXzs.js";import{t as Ke}from"./useUserOptionState-CXlFnwPv.js";import{t as qe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Je}from"./Legend-DM0ClX3D.js";import{t as Ye}from"./vue_ui_donut_evolution-CVoh3twl.js";import{Fragment as l,Teleport as Xe,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as Ze,createTextVNode as Qe,createVNode as $e,defineAsyncComponent as et,guardReactiveProps as tt,mergeProps as nt,nextTick as rt,normalizeClass as h,normalizeProps as it,normalizeStyle as at,onBeforeUnmount as ot,onMounted as st,openBlock as g,ref as _,renderList as v,renderSlot as y,resolveDynamicComponent as ct,shallowRef as lt,toDisplayString as b,toRefs as ut,unref as x,watch as dt,watchEffect as ft,withCtx as S}from"vue";var pt=/* @__PURE__ */ e({default:()=>nn}),mt=[`id`],ht=[`id`],gt=[`id`],_t={style:{position:`relative`}},vt=[`xmlns`,`aria-describedby`,`viewBox`],yt=[`x`,`y`,`width`,`height`],bt={key:1},xt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],St=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Ct={key:0},wt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],Tt=[`font-size`,`fill`,`transform`],Et=[`x`,`y`,`font-size`,`fill`],Dt=[`d`,`stroke`,`stroke-width`],Ot=[`transform`,`font-size`,`text-anchor`,`fill`,`font-weight`],kt={key:0},At=[`text-anchor`,`font-size`,`fill`,`transform`],jt=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`],Mt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],Nt={key:1},Pt=[`cx`,`cy`,`r`,`fill`],Ft={key:0},It={key:0},Lt=[`d`,`stroke`],Rt=[`text-anchor`,`x`,`y`,`fill`],zt=[`cx`,`cy`,`r`,`fill`],Bt={key:0},Vt=[`cx`,`cy`,`fill`],Ht={key:1},Ut=[`d`,`fill`,`stroke`],Wt={key:2},Gt=[`d`,`fill`,`stroke`],Kt=[`x`,`y`,`font-size`,`fill`],qt=[`x`,`y`,`width`,`height`,`fill`],Jt=[`x`,`y`,`width`,`height`,`onMouseenter`,`onMouseleave`,`onClick`],Yt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],Xt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Zt={key:5,class:`vue-data-ui-watermark`},Qt=[`id`],$t=[`onClick`],en={key:0},tn={key:1},nn=/*#__PURE__*/ Ce({__name:`vue-ui-donut-evolution`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},zoomState:{type:Object,default:null}},emits:[`selectLegend`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:Ce,emit:pt}){let nn=et(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),rn=et(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),an=et(()=>import(`./DataTable-0Vv-aGHD.js`)),on=et(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),sn=et(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),cn=et(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),ln=et(()=>import(`./vue-ui-donut-BYUkblpv.js`).then(e=>e.n)),un=et(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_donut_evolution:dn}=t(),{isThemeValid:fn,warnInvalidTheme:pn}=Te(),C=e,w=_(re()),T=_([]),E=_(null),mn=_(null),hn=_(!1),D=_(null),O=_(null),gn=_(null),_n=_(0),vn=_(0),yn=_(0),bn=_(0),xn=_(0),Sn=_(null),Cn=_(null),wn=_(null),Tn=_(null),En=_(!1),Dn=_(null),On=_(null),kn=lt(null),An=_(0),jn=_(0),Mn=_(!1);function Nn(){kn.value=O.value?.parentNode??null}function Pn(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function Fn(){let e=++jn.value;await rt(),await Pn(),await Pn(),e===jn.value&&(An.value+=1)}function In(){Mn.value||(Mn.value=!0,rt(()=>{Mn.value=!1,Nn(),Fn()}))}let Ln=Re({elementRef:kn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{Fn()}}),Rn=_(null),zn=_(null),Bn=_(null),Vn=_(null),Hn=_(null),Un=_(!1),k=lt(null),Wn=lt(null),Gn=_(null),A=_(null),Kn=_(!1),j=pt,qn=u(()=>!!C.dataset&&C.dataset.length),Jn=_(!1),Yn=0;st(()=>{En.value=!0,Nn(),Ln.start(),Zn(),Fn()});let Xn=u(()=>M.value.debug);function Zn(){ve(C.dataset)?(ae({componentName:`VueUiDonutEvolution`,type:`dataset`,debug:Xn.value}),rr.value=!0):C.dataset.length&&C.dataset.forEach((e,t)=>{_e({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:e,index:t,debug:Xn.value}),rr.value=!0})}),ve(C.dataset)||(rr.value=M.value.loading),setTimeout(()=>{Un.value=!0},10),br(),M.value.responsive&&(k.value&&(Wn.value&&k.value.unobserve(Wn.value),k.value.disconnect()),k.value=new ResizeObserver(()=>{Un.value=!1;let{width:e,height:t}=Ve({chart:O.value,title:M.value.style.chart.title.text?Rn.value:null,legend:M.value.style.chart.legend.show?zn.value:null,slicer:M.value.style.chart.zoom.show&&ir.value>1?Hn.value:null,source:Bn.value});cancelAnimationFrame(Yn),Yn=requestAnimationFrame(()=>{L.value.width=e,L.value.height=t-12,Jn.value=!0,In(),clearTimeout(Gn.value),Gn.value=setTimeout(()=>{Un.value=!0},10)})}),Wn.value=O.value.parentNode,k.value.observe(Wn.value)),In()}let M=_(Or()),N=u(()=>P.value.grid),P=u(()=>M.value.style.chart.layout),Qn=u(()=>M.value.style.chart.dialog),F=u(()=>M.value.style.chart);xe({config:()=>M.value,dataset:()=>C.dataset,component:`VueUiDonutEvolution`,rules:[Se.emptyArray,{test:e=>e.length===1,message:[`👀 There is only a single series in your dataset. Consider:`,``,`▶️ Using VueUiXy instead, for a regular line chart.`]},{test:e=>e.length>6,message:[`👀 The number of series is > 6, which makes donuts hard to read. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]},{test:e=>e.some(e=>e.values.length>24),message:[`👀 Some series have a number of data points > 24, which can make the chart and donuts hard to read. Consider:`,``,`▶️ Using larger time scales, or aggregated values.`,``,`▶️ Filtering the time range by adding date intputs in your UI.`,``,`▶️ Using VueUiXy to show longer series in a more comfortable display.`]}]});let{transitionEnabled:$n}=Le({config:()=>M.value.transitions,dataset:()=>C.dataset}),I=u(()=>M.value.userOptions.useCursorPointer),er=u(()=>le({defaultConfig:{useCssAnimation:!1,table:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{dataLabels:{show:!1},grid:{stroke:`#6A6A6A`,axis:{yLabel:``,xLabel:``},yAxis:{scaleMin:null,scaleMax:null,autoScale:!1,dataLabels:{show:!1}},xAxis:{dataLabels:{show:!1}}},line:{stroke:`#CACACA60`}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},zoom:{show:!1,startIndex:null,endIndex:null}}}},userConfig:M.value.skeletonConfig??{}})),{loading:tr,FINAL_DATASET:nr,manualLoading:rr}=ye({...ut(C),FINAL_CONFIG:M,prepareConfig:Or,callback:()=>{Promise.resolve().then(async()=>{await br()})},skeletonDataset:C.config?.skeletonDataset??[{name:``,values:[1,2,3,5,8,13],color:`#AAAAAA`},{name:``,values:[1,2,3,5,8,13],color:`#BABABA`},{name:``,values:[1,2,3,5,8,13],color:`#CACACA`}],skeletonConfig:le({defaultConfig:M.value,userConfig:er.value})}),L=_({width:P.value.width,height:P.value.height}),ir=u(()=>Math.max(...nr.value.map(e=>e.values.length))),R=_({start:0,end:ir.value}),z=_(!1),ar=_(!1),B=_(null),V=_(null),H=_(null),or=_(!1),sr=_({time:0,x:0,y:0,pointerType:null}),cr=u(()=>M.value.style.chart.zoom?.dragToZoom),U=u(()=>cr.value.show&&qn.value&&ur.value&&Y.value>1&&!tr.value),lr=_(!1),ur=_(!1),dr=_(!1),fr=null,W={};function pr(e,t=R.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 mr(e){let t=pr(e);t&&j(`update:zoomState`,t)}function hr(){fr&&=(cancelAnimationFrame(fr),null),W={}}function gr(e,t=R.value.start){let n=Y.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function _r(){let e=Y.value;if(!Number.isFinite(e)||e<=0){R.value={start:0,end:0};return}let t=Math.max(0,Math.min(Number(R.value.start)||0,e-1)),n=Math.max(t+1,Math.min(Number(R.value.end)||e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),R.value={start:t,end:n},Vn.value&&Vn.value.setRangeValues(t,n)}function vr(e){let t=pr(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(R.value.start)||r!==Number(R.value.end))&&(hr(),R.value={start:n,end:r},_r(),In()),{start:Number(R.value.start),end:Number(R.value.end)}}function yr(e){let t=vr(e);return t?(mr(t),t):null}async function br(e=!0){if(!lr.value){lr.value=!0;try{await rt(),await rt();let{startIndex:t,endIndex:n}=F.value.zoom,r=Y.value;if(!Number.isFinite(r)||r<=0){R.value={start:0,end:0},ur.value=!0;return}let i=t==null?0:Number(t),a=n==null?r:gr(Number(n)+1,i);dr.value=!0,R.value={start:i,end:a},_r(),ur.value=!0,e&&C.zoomState&&vr(C.zoomState)}finally{queueMicrotask(()=>{dr.value=!1}),lr.value=!1,In()}}}async function xr({force:e=!1,publish:t=!1}={}){await br(!e),t&&(mr({start:Number(R.value.start),end:Number(R.value.end)}),j(`zoomReset`))}dt([()=>C.zoomState,ur],([e,t])=>{t&&e&&vr(e)},{deep:!0,immediate:!0});function Sr(e){W={...W,...e},fr&&cancelAnimationFrame(fr),fr=requestAnimationFrame(()=>{let e={...R.value,...W};W={},fr=null,R.value=e,_r(),In(),mr({start:Number(R.value.start),end:Number(R.value.end)})})}function Cr(e){if(lr.value||dr.value)return;let t=Number(e);Number.isFinite(t)&&(j(`zoomStart`,{index:t,isZoom:t!==0}),t!==R.value.start&&Sr({start:t}))}function wr(e){if(lr.value||dr.value)return;let t=W.start===void 0?R.value.start:W.start,n=gr(Number(e),t);Number.isFinite(n)&&(j(`zoomEnd`,{index:n,isZoom:n!==Y.value}),(n!==R.value.end||W.start!==void 0)&&Sr({end:n}))}let{userOptionsVisible:Tr,setUserOptionsVisibility:Er,keepUserOptionState:Dr}=Ke({config:M.value}),{svgRef:G}=qe({config:F.value.title});function Or(){let e=we({userConfig:C.config,defaultConfig:dn}),t={},n=e.theme;if(n){if(!fn.value(e))pn(e),t=e;else{let r=we({userConfig:Ye[n]||C.config,defaultConfig:e});t={...we({userConfig:C.config,defaultConfig:r}),customPalette:e.customPalette?e.customPalette:ue[n]||o}}}else t=e;return t}dt(()=>C.config,e=>{tr.value||(M.value=Or()),Tr.value=!M.value.userOptions.showOnChartHover,Zn(),yn.value+=1,bn.value+=1,xn.value+=1,Fr.value.showTable=M.value.table.show},{deep:!0}),dt(()=>C.dataset,e=>{Array.isArray(e)&&e.length>0&&(rr.value=!1),xr()},{deep:!0});let{isPrinting:kr,isImaging:Ar,generatePdf:jr,generateImage:Mr}=Ie({elementId:w.value,fileName:F.value.title.text||`vue-ui-donut-evolution`,options:M.value.userOptions.print}),Nr=u(()=>M.value.userOptions.show&&!F.value.title.text),Pr=u(()=>he(M.value.customPalette)),Fr=_({showTable:M.value.table.show});dt(M,()=>{Fr.value={showTable:M.value.table.show}},{immediate:!0});let Ir=u(()=>({top:P.value.padding.top,right:P.value.padding.right,bottom:P.value.padding.bottom,left:P.value.padding.left})),K=u(()=>N.value.yAxis.position===`right`),{metrics:Lr,ready:Rr,settling:zr,update:Br}=ze({svgRef:G,canMeasure:()=>(!M.value.responsive||Jn.value)&&(!N.value.xAxis.dataLabels.show||Wr.value),initialMetrics:{scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0},measure:e=>({scaleLabelsWidth:e(Sn.value).textWidth,yAxisLabelWidth:e(Tn.value).rotatedWidth,xAxisLabelHeight:e(wn.value).height,timeLabelsHeight:e(Cn.value).height})});function Vr(){let e=Lr.value.scaleLabelsWidth,t=Tn.value?Lr.value.yAxisLabelWidth+N.value.axis.yLabelOffsetX+N.value.axis.fontSize:0,n=e+t+5;return{left:K.value?0:n,right:K.value?n:0,scaleLabelsWidth:e,yAxisLabelWidth:t,crosshair:5}}ot(()=>{cancelAnimationFrame(Yn),Ln.stop(),clearTimeout(Gn.value),hr(),_i(),ri(),k.value&&(Wn.value&&k.value.unobserve(Wn.value),k.value.disconnect(),k.value=null,Wn.value=null)});let Hr=u(()=>Lr.value.xAxisLabelHeight+Lr.value.timeLabelsHeight+N.value.axis.fontSize+N.value.xAxis.dataLabels.offsetY),q=u(()=>{let e=Vr(),t=P.value.dataLabels.fontSize*3,n=L.value.width,r=L.value.height,i=Ir.value.left+e.left,a=n-Ir.value.right-e.right,o=n-i-Ir.value.right-e.right,ee=r-Ir.value.top-Ir.value.bottom-t-Hr.value,s=Ir.value.top+t;return{top:s,left:i,right:a,bottom:r-Ir.value.bottom-Hr.value,absoluteHeight:r,absoluteWidth:n,centerX:i+Math.max(10,o)/2,centerY:s+Math.max(10,ee)/2,width:Math.max(10,o),height:Math.max(10,ee),scaleLabelsWidth:e.scaleLabelsWidth,yAxisLabelWidth:e.yAxisLabelWidth,crosshair:e.crosshair}}),J=u(()=>(Xn.value&&nr.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:`name`,index:t}),[null,void 0].includes(e.values)&&ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:`values`,index:t})}),nr.value.map((e,t)=>({...e,values:te(e.values),color:ne(e.color)||Pr.value[t]||o[t]||o[t%o.length],length:(e.values||[]).length,uid:re()})))),Ur=u(()=>J.value.filter(e=>!T.value.includes(e.uid)).map(e=>({...e,values:e.values.filter((e,t)=>t>=R.value.start&&t<=R.value.end)}))),Y=u(()=>Math.max(...J.value.map(e=>e.length))),X=_([]),Wr=_(!1),Gr=0;ft(()=>{let e=++Gr;(async()=>{let t=await Fe({values:N.value.xAxis.dataLabels.values,maxDatapoints:Y.value,formatter:N.value.xAxis.dataLabels.datetimeFormatter,start:R.value.start,end:R.value.end});e===Gr&&(X.value=t,Wr.value=!0)})()});let Z=u(()=>q.value.width/(R.value.end-R.value.start)),Kr=u(()=>{let e=[];for(let t=0;t<R.value.end-R.value.start;t+=1){let n=Ur.value.map(e=>e.values[t]??null),r=n.filter(e=>[void 0,null].includes(e)).length===n.length,i=n.reduce((e,t)=>e+t,0),a=n.map(e=>e/i),o=q.value.left+Z.value*t+Z.value/2;e.push({index:t,percentages:a,subtotal:r||i<0?null:i,values:n,x:o})}return e}),qr=u(()=>{let e=Math.max(...Kr.value.map(e=>e.subtotal).filter(e=>i(e)))??1,t=Math.min(...Kr.value.map(e=>e.subtotal).filter(e=>i(e)))??0,n=Math.max(N.value.yAxis.scaleMax??0,e),r;return r=N.value.yAxis.scaleMin==null?0:Math.min(t,N.value.yAxis.scaleMin),N.value.yAxis.autoScale&&(r=t,n=e),r===n&&(r=n/2,n*=1.5),{max:n,min:r}}),Q=u(()=>{let e=Kr.value.length===1?qr.value.max*2:qr.value.max;return ie(qr.value.min,e,N.value.yAxis.dataLabels.steps)});dt(()=>Q.value.ticks.join(`|`),()=>{In()},{flush:`post`});function Jr(e){return(e-Q.value.min)/(Q.value.max-Q.value.min)}let Yr=u(()=>Q.value.ticks.map(e=>({y:q.value.bottom-q.value.height*Jr(e),value:e}))),$=u(()=>{let e=Kr.value,t=Math.max(...e.map(e=>e.subtotal));return e.length===1&&t*2,e.map((t,n)=>{let r=Math.min(q.value.width/24,Z.value/2*.7),i=r>q.value.width/16?q.value.width/16:r,a=E.value===t.index?q.value.width/16:i,o=e.length>4?r*2:r*2>Z.value/2*.7?Z.value/2*.7:r*2,s=q.value.bottom-q.value.height*Jr(t.subtotal),c=Ur.value.map(e=>({color:e.color,name:e.name,value:e.values[n]??0})).toSorted((e,t)=>t.value-e.value);return{...t,y:s,radius:i,activeRadius:a,hoverRadius:o,donut:ee({series:c},t.x,s,i,i,1.99999,2,1,360,105.25,i/2),donutHover:ee({series:c},t.x,s,o,o,1.99999,2,1,360,105.25,o/2),donutFocus:ee({series:c},q.value.centerX,q.value.centerY,q.value.height/3.6,q.value.height/3.6,1.99999,2,1,360,105.25,q.value.height/6)}})});function Xr(e,t,r){return ce(P.value.dataLabels.formatter,e,n({p:P.value.dataLabels.prefix,v:e,s:P.value.dataLabels.suffix,r:P.value.dataLabels.rounding}),{datapoint:t,index:r})}function Zr(e,t){return isNaN(e.value/r(t,`value`))?0:(e.value/r(t,`value`)*100).toFixed(0)+`%`}function Qr(e){let t=G.value;if(!t)return null;if(t.createSVGPoint&&t.getScreenCTM){let n=t.createSVGPoint();n.x=e.clientX,n.y=e.clientY;let r=t.getScreenCTM();if(r){let e=n.matrixTransform(r.inverse());return{x:e.x,y:e.y}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},i=Math.min(n.width/r.width,n.height/r.height);if(!Number.isFinite(i)||i<=0)return null;let a=r.width*i,o=r.height*i,ee=(n.width-a)/2,s=(n.height-o)/2;return{x:(e.clientX-n.left-ee)/i+r.x,y:(e.clientY-n.top-s)/i+r.y}}let $r=u(()=>!z.value||B.value==null||V.value==null?null:{x:Math.min(B.value,V.value),y:q.value.top,width:Math.abs(V.value-B.value),height:q.value.height}),ei=u(()=>ur.value?Number(R.value.start)!==0||Number(R.value.end)!==Number(Y.value):!1);function ti(e){return Math.min(Math.max(e,q.value.left),q.value.right)}function ni(){E.value=null,mn.value=null,A.value=null}function ri(e){let t=e?.pointerId==null?H.value:e.pointerId;t!=null&&G.value?.hasPointerCapture?.(t)&&G.value.releasePointerCapture(t),z.value=!1,B.value=null,V.value=null,H.value=null}function ii(){or.value=!0,setTimeout(()=>{or.value=!1},0)}function ai(e){or.value&&(or.value=!1,e.preventDefault(),e.stopPropagation())}function oi(e){if(!U.value||!ei.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=sr.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?(sr.value={time:0,x:0,y:0,pointerType:null},ii(),_i(),ri(e),Bi(),xr({force:!0,publish:!0}),!0):(sr.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function si(e){let t=Number(R.value.end)-Number(R.value.start);if(t<=0||!Number.isFinite(Z.value)||Z.value<=0)return null;let n=Math.floor((ti(e)-q.value.left)/Z.value);return Math.max(0,Math.min(t-1,n))}function ci(e,t){let n=si(e),r=si(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(R.value.start)+i,end:Number(R.value.start)+a+1}}function li(e){let t=yr(e);return t?(j(`zoomStart`,{index:t.start,isZoom:t.start!==0}),j(`zoomEnd`,{index:t.end,isZoom:t.end!==Y.value}),t):null}function ui(e){if(!U.value||Pi.value||e.button!==void 0&&e.button!==0||H.value!=null&&e.pointerId!==H.value)return;let t=Qr(e);if(!t||t.x<q.value.left||t.x>q.value.right||t.y<q.value.top||t.y>q.value.bottom||Number(R.value.end)-Number(R.value.start)<=1)return;ar.value=!0,G.value?.focus?.({preventScroll:!0}),_i(),ni();let n=ti(t.x);H.value=e.pointerId,z.value=!0,B.value=n,V.value=n}function di(e){if(!U.value||!z.value||H.value!=null&&e.pointerId!==H.value)return;let t=Qr(e);t&&(V.value=ti(t.x),ni(),B.value!=null&&Math.abs(V.value-B.value)>=2&&!G.value?.hasPointerCapture?.(e.pointerId)&&G.value?.setPointerCapture?.(e.pointerId))}function fi(e){if(!U.value||!z.value||H.value!=null&&e.pointerId!==H.value)return;let t=Qr(e);t&&(V.value=ti(t.x));let n=B.value,r=V.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,q.value.width*.01)){if(oi(e))return;ri(e);return}let i=ci(Math.min(n,r),Math.max(n,r));i?(ri(e),li(i)&&(sr.value={time:0,x:0,y:0,pointerType:null},ni(),ii())):ri(e)}function pi(e){z.value||(E.value=null,mn.value=null,A.value=null,M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex+R.value.start}))}function mi(e){z.value||(M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:e,seriesIndex:e.index+R.value.start}),E.value=e.index,mn.value=e,A.value=e.index)}let hi=_(null),gi=null;function _i(){gi&&=(clearTimeout(gi),null)}function vi(e,t){M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:e,seriesIndex:e.index+R.value.start}),e.subtotal&&Qn.value.show&&(mn.value=null,E.value=null,hn.value=!0,D.value=e,Vi(e),[null,void 0].includes(t)||(hi.value=t))}function yi(e,t){if(_i(),!U.value||!ei.value){vi(e,t);return}let n=sr.value.pointerType===`touch`?480:380;gi=setTimeout(()=>{gi=null,vi(e,t)},n)}let bi=u(()=>J.value.map((e,t)=>({name:e.name,value:e.values.slice(R.value.start,R.value.end).reduce((e,t)=>e+t,0),shape:`circle`,uid:e.uid,color:e.color})).sort((e,t)=>t.value-e.value).map((e,t)=>({...e,opacity:T.value.includes(e.uid)?.5:1,segregate:()=>wi(e.uid),isSegregated:T.value.includes(e.uid),display:`${e.name}${F.value.legend.showPercentage||F.value.legend.showValue?`: `:``}${F.value.legend.showValue?ce(P.value.dataLabels.formatter,e.value,n({p:P.value.dataLabels.prefix,v:e.value,s:P.value.dataLabels.suffix,r:F.value.legend.roundingValue}),{datapoint:e,seriesIndex:t}):``}${F.value.legend.showPercentage?T.value.includes(e.uid)?`${F.value.legend.showValue?` (`:``}- %${F.value.legend.showValue?`)`:``}`:`${F.value.legend.showValue?` (`:``}${isNaN(e.value/xi.value)?`-`:n({v:e.value/xi.value*100,s:`%`,r:F.value.legend.roundingPercentage})}${F.value.legend.showValue?`)`:``}`:``}`}))),xi=u(()=>$.value.map(e=>e.subtotal).reduce((e,t)=>e+t,0)),Si=u(()=>({cy:`donut-div-legend`,backgroundColor:F.value.legend.backgroundColor,color:F.value.legend.color,fontSize:F.value.legend.fontSize,paddingBottom:12,fontWeight:F.value.legend.bold?`bold`:``}));function Ci(){T.value.length?T.value=[]:bi.value.forEach(e=>{T.value.push(e.uid)}),j(`selectLegend`,Ur.value)}function wi(e){if(T.value.includes(e))T.value=T.value.filter(t=>t!==e),j(`selectLegend`,Ur.value);else{if(T.value.length===J.value.length-1)return;T.value.push(e),j(`selectLegend`,Ur.value)}D.value&&vi($.value.find((e,t)=>t===hi.value))}function Ti(e){return J.value.length?J.value.find(t=>t.name===e)||(Xn.value&&console.warn(`VueUiDonutEvolution - Series name not found "${e}"`),null):(Xn.value&&console.warn(`VueUiDonutEvolution - There are no series to show.`),null)}function Ei(e){let t=Ti(e);t!==null&&T.value.includes(t.uid)&&wi(t.uid)}function Di(e){let t=Ti(e);t!==null&&(T.value.includes(t.uid)||wi(t.uid))}let Oi=u(()=>{let e=[``].concat(J.value.filter(e=>!T.value.includes(e.uid)).map(e=>({name:e.name,color:e.color})),[`Σ`]),t=[];for(let e=0;e<Y.value;e+=1){let n=J.value.filter(e=>!T.value.includes(e.uid)).map(t=>t.values[e]??0).reduce((e,t)=>e+t,0);t.push([X.value[e]?X.value[e].text:`-`].concat(J.value.filter(e=>!T.value.includes(e.uid)).map(t=>({value:t.values[e]??0,percentage:t.values[e]?t.values[e]/n*100:0})),[`${P.value.dataLabels.prefix}${Number(n.toFixed(M.value.table.td.roundingValue))}${P.value.dataLabels.suffix}`]))}return{head:e,body:t,bodyA11y:t.map(e=>e.map((t,n)=>n===0||n===e.length-1?t:`${Xr(t.value??0,null,n)} (${t.percentage.toFixed(1)}%)`)),config:{th:{backgroundColor:M.value.table.th.backgroundColor,color:M.value.table.th.color,outline:M.value.table.th.outline},td:{backgroundColor:M.value.table.td.backgroundColor,color:M.value.table.td.color,outline:M.value.table.td.outline},breakpoint:M.value.table.responsiveBreakpoint},colNames:[M.value.table.columnNames.period].concat(J.value.filter(e=>!T.value.includes(e.uid)).map(e=>e.name),M.value.table.columnNames.total)}});function ki(){return J.value}function Ai(e=null){rt(()=>{let t=[[F.value.title.text],[F.value.title.subtitle.text],[``]],n=[...Oi.value.head.map(e=>e.name??e)],r=[...Oi.value.body.map(e=>e.map(e=>e.value??e))],i=t.concat([n]).concat(r),o=a(i);e?e(o):de({csvContent:o,title:F.value.title.text||`vue-ui-donut-evolution`})})}let ji=_(!1);function Mi(e){ji.value=e,_n.value+=1}function Ni(){Fr.value.showTable=!Fr.value.showTable}let Pi=_(!1);function Fi(){Pi.value=!Pi.value}function Ii(e){return e.proportion*100>F.value.donuts.hover.hideLabelsUnderValue}let Li=_([]),Ri=_({}),zi=_(null);function Bi(){zi.value?.close?.(),D.value=null,hi.value=null,hn.value=!1,mn.value=null,E.value=null,A.value=null}function Vi(e){Li.value=e.donut.map(e=>({name:e.name,values:[e.value],color:e.color})),Ri.value=me({...Qn.value.donutChart,responsive:!0,theme:M.value.theme}),zi.value&&zi.value.open()}let Hi=Ee(O,()=>F.value.title.text),Ui=u(()=>L.value.width),Wi=u(()=>L.value.height);Be({timeLabelsEls:Cn,timeLabels:X,slicer:R,configRef:M,rotationPath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:Ui,height:Wi,rotation:N.value.xAxis.dataLabels.autoRotate.angle});let Gi=u(()=>Ae({config:M,style:F,mutableConfig:Fr,dialog:un,accordion:nn,isFullscreen:ji,parent:O,maxWidth:800,isCursorPointer:I}));dt(()=>Fr.value.showTable,e=>ke(e,M,Dn));function Ki(){Fr.value.showTable=!1,On.value&&On.value.setTableIconState(!1)}let qi=u(()=>bi.value.map(e=>({...e,name:e.display}))),Ji=u(()=>F.value.backgroundColor),Yi=u(()=>F.value.legend),Xi=u(()=>F.value.title),{isCallbackImaging:Zi,isCallbackSvg:Qi,generateSvg:$i,onGenerateImage:ea}=Oe({svg:G,title:Xi,legend:Yi,legendItems:qi,backgroundColor:Ji,getSvgCallback:()=>M.value.userOptions.callbacks.svg,generateImage:Mr});async function ta(){j(`copyAlt`,{config:M.value,dataset:$.value}),M.value.userOptions.callbacks.altCopy?await Promise.resolve(M.value.userOptions.callbacks.altCopy({config:M.value,dataset:$.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function na(){A.value=null,Kn.value=!0}function ra(){ar.value=!1,A.value=null,E.value=null,mn.value=null,Kn.value=!1}function ia(e){if(!G.value||Pi.value||document.activeElement!==G.value||(ar.value=!1,!$.value.length))return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){if(U.value&&(ei.value||z.value)){_i(),ri(),Bi(),xr({force:!0,publish:!0});return}A.value=null,E.value=null,mn.value=null;return}if(r){if(A.value===null)return;let e=$.value[A.value];if(!e)return;vi(e,A.value);return}let a=A.value,o=E.value,ee=a!==null&&a>=0&&a<$.value.length,s=o!==null&&o>=0&&o<$.value.length;ee?n?(a+=1,a>=$.value.length&&(a=0)):t&&(--a,a<0&&(a=$.value.length-1)):s?(a=n?o+1:o-1,a>=$.value.length&&(a=0),a<0&&(a=$.value.length-1)):a=n?0:$.value.length-1;let c=$.value[a];c&&mi(c)}let aa=u(()=>({headers:Oi.value?.colNames??[],rows:Oi.value?.bodyA11y??[]}));return Ce({getData:ki,getImage:Hi,generatePdf:jr,generateCsv:Ai,generateImage:Mr,generateSvg:$i,hideSeries:Di,showSeries:Ei,toggleTable:Ni,toggleAnnotator:Fi,toggleFullscreen:Mi,copyAlt:ta,resetZoom:()=>xr({force:!0,publish:!0}),setZoomState:yr}),dt(()=>[L.value.width,L.value.height,An.value,X.value,Wr.value,R.value.start,R.value.end,N.value,P.value,M.value.style.fontFamily,C.dataset,Jn.value,Sn.value,Cn.value,wn.value,Tn.value],Br,{flush:`post`,deep:!0}),(e,t)=>(g(),p(`div`,{ref_key:`donutEvolutionChart`,ref:O,class:h(`vue-data-ui-component vue-ui-donut-evolution ${ji.value?`vue-data-ui-wrapper-fullscreen`:``} ${M.value.useCssAnimation?``:`vue-ui-dna`}`),style:at(`font-family:${M.value.style.fontFamily};width:100%; text-align:center;background:${F.value.backgroundColor}`),id:w.value,onMouseenter:t[4]||=()=>x(Er)(!0),onMouseleave:t[5]||=()=>x(Er)(!1)},[m(`div`,{id:`chart-instructions-${w.value}`,class:`sr-only`},[m(`p`,null,b(M.value.a11y.translations.keyboardNavigation),1)],8,ht),aa.value?.rows?.length?(g(),d(Ge,{key:0,uid:w.value,head:aa.value.headers,body:aa.value.rows,notice:M.value.a11y.translations.tableAvailable,caption:M.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),M.value.userOptions.buttons.annotator?(g(),d(x(sn),{key:1,svgRef:x(G),backgroundColor:F.value.backgroundColor,color:F.value.color,active:Pi.value,isCursorPointer:I.value,palette:M.value.userOptions.annotatorPalette,onClose:Fi},Ze({_:2},[v(x(Me),t=>({name:t,fn:S(n=>[y(e.$slots,t,it(tt(x(je)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),Nr.value?(g(),p(`div`,{key:2,ref_key:`noTitle`,ref:gn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),F.value.title.text?(g(),p(`div`,{key:3,ref_key:`chartTitle`,ref:Rn,style:`width:100%;background:transparent;padding-bottom:24px`,onMouseleave:pi},[(g(),d(De,{key:`title_${yn.value}`,config:{title:{cy:`donut-evolution-div-title`,...F.value.title},subtitle:{cy:`donut-evolution-div-subtitle`,...F.value.title.subtitle}}},null,8,[`config`]))],544)):f(``,!0),m(`div`,{id:`legend-top-${w.value}`},null,8,gt),M.value.userOptions.show&&qn.value&&(x(Dr)||x(Tr))?(g(),d(x(cn),{ref_key:`userOptionsRef`,ref:On,key:`user_options_${_n.value}`,backgroundColor:F.value.backgroundColor,color:F.value.color,isPrinting:x(kr),isImaging:x(Ar),uid:w.value,hasPdf:M.value.userOptions.buttons.pdf,hasImg:M.value.userOptions.buttons.img,hasSvg:M.value.userOptions.buttons.svg,hasXls:M.value.userOptions.buttons.csv,hasTable:M.value.userOptions.buttons.table,hasFullscreen:M.value.userOptions.buttons.fullscreen,hasAltCopy:M.value.userOptions.buttons.altCopy,isFullscreen:ji.value,titles:{...M.value.userOptions.buttonTitles},chartElement:O.value,position:M.value.userOptions.position,hasAnnotator:M.value.userOptions.buttons.annotator,isAnnotation:Pi.value,callbacks:M.value.userOptions.callbacks,printScale:M.value.userOptions.print.scale,tableDialog:M.value.table.useDialog,isCursorPointer:I.value,onToggleFullscreen:Mi,onGeneratePdf:x(jr),onGenerateCsv:Ai,onGenerateImage:x(ea),onGenerateSvg:x($i),onToggleTable:Ni,onToggleAnnotator:Fi,onCopyAlt:ta,style:at({visibility:x(Dr)?x(Tr)?`visible`:`hidden`:`visible`})},Ze({_:2},[v(x(Ne)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:S(n=>[y(e.$slots,t,it(tt(x(Pe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,_t,[(g(),p(`svg`,{ref_key:`svgRef`,ref:G,xmlns:x(pe),"aria-describedby":`chart-instructions-${w.value}`,class:h({"vue-data-ui-fullscreen--on":ji.value,"vue-data-ui-fulscreen--off":!ji.value,"vue-data-ui-no-transition":!x($n)||x(zr),"vue-ui-donut-evolution-chart-zoom-pointer-focus":U.value&&ar.value}),viewBox:`0 0 ${q.value.absoluteWidth} ${q.value.absoluteHeight}`,style:at({maxWidth:`100%`,visibility:x(Rr)?`visible`:`hidden`,overflow:`visible`,background:`transparent`,color:F.value.color,cursor:U.value?z.value?`col-resize`:`crosshair`:void 0,touchAction:U.value?`pan-y`:void 0,userSelect:U.value?`none`:void 0}),tabindex:`0`,onFocus:na,onBlur:ra,onKeydown:ia,onPointerdown:ui,onPointermove:di,onPointerup:fi,onPointercancel:ri,onClickCapture:ai},[$e(x(on)),y(e.$slots,`svg-underlayer`,{svg:{...q.value,isPrintingImg:x(kr)||x(Ar)||x(Zi),isPrintingSvg:x(Qi)}},void 0,!0),e.$slots[`chart-background`]?(g(),p(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:q.value.width,height:q.value.height,style:{pointerEvents:`none`}},[y(e.$slots,`chart-background`,{},void 0,!0)],8,yt)):f(``,!0),m(`defs`,null,[$e(He,{t:`linear`,id:`hover_${w.value}`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,stops:[[`0%`,x(c)(F.value.backgroundColor,P.value.highlighter.opacity),1],[`100%`,x(c)(P.value.highlighter.color,P.value.highlighter.opacity),1]]},null,8,[`id`,`stops`]),$e(He,{t:`radial`,id:`focus_${w.value}`,stops:[[`0%`,x(c)(x(ne)(F.value.backgroundColor),0),1],[`77%`,x(c)(`#FFFFFF`,30),1],[`100%`,x(c)(x(ne)(F.value.backgroundColor),0),1]]},null,8,[`id`,`stops`])]),N.value.show?(g(),p(`g`,bt,[m(`line`,{x1:K.value?q.value.right:q.value.left,x2:K.value?q.value.right:q.value.left,y1:q.value.top,y2:q.value.top+q.value.height,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,8,xt),m(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,8,St),N.value.showVerticalLines?(g(),p(`g`,Ct,[(g(!0),p(l,null,v(R.value.end-R.value.start,(e,t)=>(g(),p(`line`,{x1:q.value.left+(t+1)*Z.value,x2:q.value.left+(t+1)*Z.value,y1:q.value.top,y2:q.value.bottom,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,8,wt))),256))])):f(``,!0)])):f(``,!0),m(`g`,null,[N.value.axis.yLabel?(g(),p(`text`,{key:0,ref_key:`yAxisLabel`,ref:Tn,"font-size":N.value.axis.fontSize,fill:N.value.axis.color,transform:`translate(${K.value?q.value.absoluteWidth-N.value.axis.fontSize/2-N.value.axis.yLabelOffsetX:N.value.axis.fontSize}, ${q.value.top+q.value.height/2}) rotate(-90)`,"text-anchor":`middle`,style:{transition:`none`}},b(N.value.axis.yLabel),9,Tt)):f(``,!0),N.value.axis.xLabel?(g(),p(`text`,{key:1,ref_key:`xAxisLabel`,ref:wn,"text-anchor":`middle`,x:q.value.absoluteWidth/2,y:q.value.absoluteHeight-3,"font-size":N.value.axis.fontSize,fill:N.value.axis.color},b(N.value.axis.xLabel),9,Et)):f(``,!0)]),N.value.yAxis.dataLabels.show?(g(),p(`g`,{key:2,ref_key:`scaleLabels`,ref:Sn,class:h({"donut-opacity":!0,"donut-behind":E.value!==null})},[(g(!0),p(l,null,v(Yr.value,(e,t)=>(g(),p(`g`,{key:`sl_${t}`},[e.value>=Q.value.min&&e.value<=Q.value.max?(g(),p(`path`,{key:0,class:h({"vue-data-ui-transition":x($n)&&!x(zr)}),d:`M${K.value?q.value.right:q.value.left},${e.y} ${K.value?q.value.right+5:q.value.left-5},${e.y}`,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,10,Dt)):f(``,!0),e.value>=Q.value.min&&e.value<=Q.value.max?(g(),p(`text`,{key:1,class:h({"vue-data-ui-transition":x($n)&&!x(zr)}),transform:`translate(${K.value?q.value.right-N.value.yAxis.dataLabels.offsetX+7:q.value.left+N.value.yAxis.dataLabels.offsetX-7}, ${e.y+N.value.yAxis.dataLabels.fontSize/3})`,"font-size":N.value.yAxis.dataLabels.fontSize,"text-anchor":K.value?`start`:`end`,fill:N.value.yAxis.dataLabels.color,"font-weight":N.value.yAxis.dataLabels.bold?`bold`:`normal`},b(x(ge)(e.value)?x(ce)(P.value.dataLabels.formatter,e.value,x(n)({p:P.value.dataLabels.prefix,v:e.value,s:P.value.dataLabels.suffix,r:P.value.grid.yAxis.dataLabels.roundingValue}),{datapoint:e,seriesIndex:t}):``),11,Ot)):f(``,!0)]))),128))],2)):f(``,!0),N.value.xAxis.dataLabels.show?(g(),p(`g`,{key:3,ref_key:`timeLabelsEls`,ref:Cn,class:h({"donut-opacity":!0})},[(g(!0),p(l,null,v(R.value.end-R.value.start,(e,t)=>(g(),p(`g`,null,[(N.value.xAxis.dataLabels.showOnlyFirstAndLast&&(t===0||t===Y.value-1)||!N.value.xAxis.dataLabels.showOnlyFirstAndLast)&&X.value[t]&&X.value[t].text?(g(),p(`g`,kt,[String(X.value[t].text).includes(`
|
|
2
|
+
`)?(g(),p(`text`,{key:1,class:`vue-data-ui-time-label`,"text-anchor":N.value.xAxis.dataLabels.rotation>0?`start`:N.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":N.value.xAxis.dataLabels.fontSize,fill:N.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+N.value.xAxis.dataLabels.fontSize+N.value.xAxis.dataLabels.offsetY}), rotate(${N.value.xAxis.dataLabels.rotation})`,innerHTML:x(s)({content:String(X.value[t].text),fontSize:N.value.xAxis.dataLabels.fontSize,fill:P.value.grid.xAxis.dataLabels.color,x:0,y:0})},null,8,jt)):(g(),p(`text`,{key:0,class:`vue-data-ui-time-label`,"text-anchor":N.value.xAxis.dataLabels.rotation>0?`start`:N.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":N.value.xAxis.dataLabels.fontSize,fill:N.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+N.value.xAxis.dataLabels.fontSize+N.value.xAxis.dataLabels.offsetY}), rotate(${N.value.xAxis.dataLabels.rotation})`},b(X.value[t].text||``),9,At))])):f(``,!0)]))),256))],512)):f(``,!0),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,null,[P.value.line.show&&t<$.value.length-1&&![e.subtotal,$.value[t+1].subtotal].includes(null)?(g(),p(`line`,{key:0,class:h({"donut-opacity":!0,"donut-behind":E.value!==null}),x1:e.x,y1:e.y,x2:$.value[t+1].x,y2:$.value[t+1].y,stroke:P.value.line.stroke,"stroke-width":P.value.line.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,10,Mt)):f(``,!0),e.subtotal===null?f(``,!0):(g(),p(`g`,Nt,[e.subtotal?(g(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:e.activeRadius,fill:F.value.backgroundColor},null,8,Pt)):f(``,!0)]))]))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,{class:h({"donut-opacity":!0,"donut-behind":t!==E.value&&E.value!==null})},[e.subtotal?(g(),p(`g`,Ft,[E.value!==null&&E.value===t?(g(),p(`g`,It,[(g(!0),p(l,null,v(e.donutHover,t=>(g(),p(`g`,null,[Ii(t)?(g(),p(`path`,{key:0,d:x(se)(t,{x:t.center.endX,y:t.center.endY},12,12,{x:e.x,y:e.y},!1,20),stroke:t.color,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`},null,8,Lt)):f(``,!0)]))),256)),(g(!0),p(l,null,v(e.donutHover,(t,n)=>(g(),p(`g`,null,[Ii(t)?(g(),p(`text`,{key:0,"data-cy-hover-label":``,"text-anchor":x(oe)(t,!0,0).anchor,x:x(oe)(t,!0,9).x,y:x(fe)(t,14,10),fill:N.value.yAxis.dataLabels.color,"font-size":8,"font-weight":`bold`},b(t.name)+`: `+b(Zr(t,e.donut))+` (`+b(t.value===null?`-`:Xr(t.value,t,n))+`) `,9,Rt)):f(``,!0)]))),256)),m(`g`,null,[m(`circle`,{cx:e.x,cy:e.y,r:e.hoverRadius,fill:F.value.backgroundColor},null,8,zt)])])):f(``,!0)])):f(``,!0)],2))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,{class:h({"donut-opacity":!0,"donut-behind":t!==E.value&&E.value!==null})},[e.subtotal===null?f(``,!0):(g(),p(`g`,Bt,[e.subtotal===0?(g(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:3,fill:F.value.color},null,8,Vt)):E.value!==null&&E.value===t?(g(),p(`g`,Ht,[(g(!0),p(l,null,v(e.donutHover,(e,t)=>(g(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":1,stroke:F.value.backgroundColor},null,8,Ut))),256))])):(g(),p(`g`,Wt,[(g(!0),p(l,null,v(e.donut,(e,t)=>(g(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":.5,stroke:F.value.backgroundColor},null,8,Gt))),256))]))]))],2))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,{class:h({"donut-opacity":!0,"donut-behind":t!==E.value&&E.value!==null||hn.value&&t!==D.value.index})},[e.subtotal!==null&&P.value.dataLabels.show?(g(),p(`text`,{key:0,"text-anchor":`middle`,x:e.x,y:E.value===e.index&&e.subtotal?e.y+P.value.dataLabels.fontSize/3:e.y-e.radius-P.value.dataLabels.fontSize+P.value.dataLabels.offsetY,"font-size":P.value.dataLabels.fontSize,"font-weight":`bold`,fill:P.value.dataLabels.color},b(Xr(e.subtotal,e,t)),9,Kt)):f(``,!0)],2))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`rect`,{x:q.value.left+t*Z.value,y:q.value.top,width:Z.value,height:q.value.height,fill:[E.value,hi.value].includes(e.index)?`url(#hover_${w.value})`:`transparent`,class:h({"donut-hover":I.value&&e.subtotal&&[E.value,hi.value].includes(e.index)}),style:{pointerEvents:`none`}},null,10,qt))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`rect`,{"data-cy-trap":``,x:q.value.left+t*Z.value,y:q.value.top,width:Z.value,height:q.value.height,fill:`transparent`,onMouseenter:t=>mi(e),onMouseleave:t=>pi(e),onClick:n=>yi(e,t),style:at({cursor:U.value?z.value?`col-resize`:`crosshair`:void 0}),class:h({"donut-hover":I.value&&E.value===e.index&&e.subtotal})},null,46,Jt))),256)),$r.value?(g(),p(`rect`,{key:4,x:$r.value.x,y:$r.value.y,width:$r.value.width,height:$r.value.height,fill:cr.value.selection.fill,"fill-opacity":cr.value.selection.fillOpacity,stroke:cr.value.selection.stroke,"stroke-opacity":cr.value.selection.strokeOpacity,"stroke-width":cr.value.selection.strokeWidth,"stroke-dasharray":cr.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,Yt)):f(``,!0),y(e.$slots,`svg`,{svg:{...q.value,isPrintingImg:x(kr)||x(Ar)||x(Zi),isPrintingSvg:x(Qi)}},void 0,!0)],46,vt)),e.$slots.hint?(g(),p(`div`,Xt,[y(e.$slots,`hint`,it(tt({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Kn.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(g(),p(`div`,Zt,[y(e.$slots,`watermark`,it(tt({isPrinting:x(kr)||x(Ar)||x(Zi)||x(Qi)})),void 0,!0)])):f(``,!0),m(`div`,{ref_key:`chartSlicer`,ref:Hn,style:at(`width:100%;background:${F.value.backgroundColor}`),"data-dom-to-png-ignore":``},[Y.value>1&&F.value.zoom.show?(g(),d(Ue,{ref_key:`slicerComponent`,ref:Vn,key:`slicer_${vn.value}`,background:F.value.zoom.color,borderColor:F.value.backgroundColor,fontSize:F.value.zoom.fontSize,useResetSlot:F.value.zoom.useResetSlot,timeLabels:X.value,textColor:F.value.color,inputColor:F.value.zoom.color,selectColor:F.value.zoom.highlightColor,max:Y.value,min:0,valueStart:R.value.start,valueEnd:R.value.end,refreshStartPoint:F.value.zoom.startIndex===null?0:F.value.zoom.startIndex,refreshEndPoint:F.value.zoom.endIndex===null?Y.value:F.value.zoom.endIndex+1,enableRangeHandles:F.value.zoom.enableRangeHandles,enableSelectionDrag:F.value.zoom.enableSelectionDrag,focusOnDrag:F.value.zoom.focusOnDrag,focusRangeRatio:F.value.zoom.focusRangeRatio,isCursorPointer:I.value,maxWidth:F.value.zoom.maxWidth,minimapLeftInsetRatio:q.value.absoluteWidth>0&&F.value.zoom.autoFit?q.value.left/q.value.absoluteWidth:null,minimapRightInsetRatio:q.value.absoluteWidth>0&&F.value.zoom.autoFit?(q.value.absoluteWidth-q.value.right)/q.value.absoluteWidth:null,"onUpdate:start":Cr,"onUpdate:end":wr,onReset:t[0]||=()=>xr({force:!0,publish:!0})},{"reset-action":S(({reset:t})=>[y(e.$slots,`reset-action`,it(tt({reset:t})),void 0,!0)]),_:3},8,[`background`,`borderColor`,`fontSize`,`useResetSlot`,`timeLabels`,`textColor`,`inputColor`,`selectColor`,`max`,`valueStart`,`valueEnd`,`refreshStartPoint`,`refreshEndPoint`,`enableRangeHandles`,`enableSelectionDrag`,`focusOnDrag`,`focusRangeRatio`,`isCursorPointer`,`maxWidth`,`minimapLeftInsetRatio`,`minimapRightInsetRatio`])):f(``,!0)],4),m(`div`,{id:`legend-bottom-${w.value}`},null,8,Qt),En.value&&(F.value.legend.show||e.$slots.legend)?(g(),d(Xe,{key:6,to:F.value.legend.position===`top`?`#legend-top-${w.value}`:`#legend-bottom-${w.value}`},[m(`div`,{ref_key:`chartLegend`,ref:zn},[y(e.$slots,`legend`,{legend:bi.value},()=>[F.value.legend.show?(g(),d(Je,{key:`legend_${xn.value}`,legendSet:bi.value,config:Si.value,onClickMarker:t[1]||=({legend:e})=>wi(e.uid)},{item:S(({legend:e,index:t})=>[m(`div`,{onClick:t=>wi(e.uid),style:at(`opacity:${T.value.includes(e.uid)?.5:1}`)},b(e.display),13,$t)]),legendToggle:S(()=>[bi.value.length>2&&F.value.legend.selectAllToggle.show&&!x(tr)?(g(),d(We,{key:0,backgroundColor:F.value.legend.selectAllToggle.backgroundColor,color:F.value.legend.selectAllToggle.color,fontSize:F.value.legend.fontSize,checked:T.value.length>0,onToggle:Ci},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`])):f(``,!0)]),_:1},8,[`legendSet`,`config`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(g(),p(`div`,{key:7,ref_key:`source`,ref:Bn,dir:`auto`},[y(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),qn.value&&M.value.userOptions.buttons.table?(g(),d(ct(Gi.value.component),nt({key:8},Gi.value.props,{ref_key:`tableUnit`,ref:Dn,onClose:Ki}),Ze({content:S(()=>[(g(),d(x(an),{key:`table_${bn.value}`,colNames:Oi.value.colNames,head:Oi.value.head,body:Oi.value.body,config:Oi.value.config,title:M.value.table.useDialog?``:Gi.value.title,withCloseButton:!M.value.table.useDialog,isCursorPointer:I.value,onClose:Ki},{th:S(({th:e})=>[Qe(b(e.name??e),1)]),td:S(({td:e})=>[e.value===null?(g(),p(`span`,en,`-`)):(g(),p(`b`,tn,b(isNaN(e.value)?``:P.value.dataLabels.prefix)+b(!isNaN(e.value)&&e.value!==null?Number(e.value.toFixed(M.value.table.td.roundingValue)).toLocaleString():e)+b(isNaN(e.value)?``:P.value.dataLabels.suffix),1)),m(`span`,null,b(e.percentage&&!isNaN(e.percentage)?`(${Number(e.percentage.toFixed(M.value.table.td.roundingPercentage)).toLocaleString()}%)`:``),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[M.value.table.useDialog?{name:`title`,fn:S(()=>[Qe(b(Gi.value.title),1)]),key:`0`}:void 0,M.value.table.useDialog?{name:`actions`,fn:S(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[2]||=e=>Ai(M.value.userOptions.callbacks.csv),style:at({cursor:I.value?`cursor`:`default`})},[$e(x(rn),{name:`fileCsv`,stroke:Gi.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),Qn.value.show?(g(),d(x(un),{key:9,ref_key:`dialog`,ref:zi,onClose:t[3]||=e=>{D.value=null,hn.value=!1,mn.value=null,E.value=null,hi.value=null},backgroundColor:Qn.value.backgroundColor,color:Qn.value.color,headerBg:Qn.value.header.backgroundColor,headerColor:Qn.value.header.color,isFullscreen:ji.value,fullscreenParent:O.value},{title:S(()=>[Qe(b(X.value[Number(D.value.index)]?X.value[Number(D.value.index)].text:``),1)]),content:S(()=>[D.value?(g(),d(x(ln),{key:0,config:Ri.value,dataset:Li.value},null,8,[`config`,`dataset`])):f(``,!0)]),_:1},8,[`backgroundColor`,`color`,`headerBg`,`headerColor`,`isFullscreen`,`fullscreenParent`])):f(``,!0),x(tr)?(g(),d(be,{key:10})):f(``,!0)],46,mt))}},[[`__scopeId`,`data-v-38960f85`]]);export{pt as n,nn as t};
|
|
@@ -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,Ft as i,Jt as a,Q as o,X as s,_ as ee,at as te,b as ne,i as c,in as re,nt as ie,t as ae,yt as oe,zt as se}from"./lib-rPeBMZrn.js";import{n as ce,t as le}from"./BaseScanner-8NdoBs7B.js";import{n as ue,t as de}from"./useHints-BH9r_0Vd.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as pe}from"./resolveChartConfig-CIhClE5R.js";import{t as me}from"./chartImage-DPGnEuYM.js";import{n as he}from"./Title-BliHuXfT.js";import{t as ge}from"./useChartExport-BZts4KFb.js";import{n as _e,t as ve}from"./tableIntegration-CNoJ1CIY.js";import{n as ye,t as be}from"./annotationSlots-BRR85CqJ.js";import{n as xe,t as Se}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ce}from"./usePrinter-sVoTzet1.js";import{t as we}from"./useSvgLabelLayout-D1I8sQUi.js";import{t as Te}from"./useTimeLabelCollider-BTybMUFi.js";import{c as Ee}from"./canvas-lib-22VpOI4_.js";import{t as De}from"./useResponsive-CENUxfEL.js";import{t as l}from"./DefGrad-DKMq1REY.js";import{t as Oe}from"./A11yDataTable-DWNlWXzs.js";import{t as ke}from"./useUserOptionState-CXlFnwPv.js";import{t as Ae}from"./useChartAccessibility-DOMuYJfm.js";import{t as je}from"./Legend-DM0ClX3D.js";import{t as Me}from"./usePrefersMotion-XLHwega2.js";import{t as Ne}from"./vue_ui_dumbbell-BMcxK0N3.js";import{Fragment as u,Teleport as Pe,computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createSlots as Fe,createTextVNode as Ie,createVNode as g,defineAsyncComponent as _,guardReactiveProps as Le,mergeProps as Re,nextTick as ze,normalizeClass as Be,normalizeProps as Ve,normalizeStyle as v,onBeforeUnmount as He,onMounted as Ue,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as We,shallowRef as Ge,toDisplayString as C,toRefs as Ke,unref as w,vShow as qe,watch as Je,withCtx as T,withDirectives as Ye}from"vue";var Xe=/* @__PURE__ */ e({default:()=>Ft}),Ze=[`id`],Qe=[`id`],$e=[`id`],et={style:{position:`relative`}},tt=[`xmlns`,`viewBox`,`aria-describedby`],nt=[`x`,`y`,`width`,`height`],rt={key:1},it=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],at={key:2},ot=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],st=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],ct=[`transform`,`font-size`,`fill`],lt=[`x`,`y`,`font-size`,`fill`,`font-weight`,`onMouseenter`,`onMouseleave`,`onClick`],ut=[`x`,`y`,`font-size`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],dt=[`x`,`y`,`font-size`,`fill`],ft=[`transform`,`font-size`,`fill`,`font-weight`,`text-anchor`],pt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],mt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],ht=[`x`,`y`,`height`,`width`,`fill`],gt=[`transform`,`fill`,`font-size`],_t={key:0},vt={key:0},yt=[`d`,`fill`],bt={key:1},xt=[`x`,`y`,`height`,`width`,`fill`],St=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ct=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],wt={key:7},Tt=[`x`,`y`,`fill`,`font-size`],Et={key:8},Dt=[`x`,`y`,`fill`,`font-size`],Ot=[`x`,`y`,`width`,`height`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],kt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},At={key:5,class:`vue-data-ui-watermark`},jt=[`id`],Mt=[`xmlns`,`height`,`width`],Nt=[`fill`],Pt={style:{display:`flex`,"align-items":`center`}},Ft=/*#__PURE__*/ fe({__name:`vue-ui-dumbbell`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`copyAlt`],setup(e,{expose:fe,emit:Xe}){let Ft=_(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),It=_(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Lt=_(()=>import(`./DataTable-0Vv-aGHD.js`)),Rt=_(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),zt=_(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Bt=_(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),Vt=_(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_dumbbell:Ht}=t(),Ut=Me(),E=e,Wt=Xe,Gt=d({get(){return!!E.dataset&&E.dataset.length},set(e){return e}}),D=b(s()),Kt=b(0),O=b(null),qt=b(null),Jt=b(null),Yt=b(null),Xt=b(null),Zt=b(0),Qt=b(0),$t=b(0),en=b(!1),tn=b(null),nn=b(null),rn=b(null),an=b(null),on=b(null),sn=b(null),k=b(null),A=b(null),j=b(null),cn=b(!1),M=b(!1),N=b(vn()),P=d(()=>N.value.style.chart.grid.horizontalGrid),ln=d(()=>N.value.style.chart.grid.verticalGrid),F=d(()=>N.value.style.chart.labels);d(()=>N.value.style.chart.grid);let I=d(()=>N.value.style.chart.plots),L=d(()=>N.value.style.chart.comparisonLines),R=d(()=>N.value.style.chart);ue({config:()=>N.value,dataset:()=>E.dataset,component:`VueUiDumbbell`,rules:[de.emptyArray,{test:e=>e.length>31,message:[`👀 The number of series is > 31. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using multiple instances of the component to display related series.`]}]});let un=d(()=>N.value.userOptions.useCursorPointer),dn=d(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},useAnimation:!1,style:{chart:{backgroundColor:`#99999930`,padding:{top:12,right:12,bottom:12,left:12},grid:{horizontalGrid:{stroke:`#6A6A6A`},verticalGrid:{stroke:`#6A6A6A`}},labels:{axis:{yLabel:``,xLabel:``},xAxisLabels:{show:!1},yAxisLabels:{show:!1},endLabels:{show:!1},startLabels:{show:!1}},legend:{backgroundColor:`transparent`},plots:{endColor:`#969696`,startColor:`#DBDBDB`,stroke:`#6A6A6A`,evaluationColors:{enable:!1}}}}},userConfig:N.value.skeletonConfig??{}})),{loading:fn,FINAL_DATASET:pn,manualLoading:mn}=ce({...Ke(E),FINAL_CONFIG:N,prepareConfig:vn,skeletonDataset:E.config?.skeletonDataset??[{name:`_`,start:21,end:34},{name:`_`,start:13,end:21},{name:`_`,start:8,end:13},{name:`_`,start:5,end:8},{name:`_`,start:3,end:5}],skeletonConfig:re({defaultConfig:N.value,userConfig:dn.value})}),{userOptionsVisible:hn,setUserOptionsVisibility:gn,keepUserOptionState:_n}=ke({config:N.value}),{svgRef:z}=Ae({config:R.value.title});function vn(){return pe(E.config,Ht,Ne)}Je(()=>E.config,e=>{fn.value||(N.value=vn()),hn.value=!N.value.userOptions.showOnChartHover,Sn(),Zt.value+=1,Qt.value+=1,$t.value+=1,N.value.responsive||(G.value=R.value.rowHeight,K.value=R.value.width),H.value.showTable=N.value.table.show},{deep:!0}),Je(()=>pn.value,e=>{Array.isArray(e)&&e.length>0&&(mn.value=!1),Rn(),zn()},{deep:!0});let B=Ge(null),V=Ge(null),yn=b(!1),bn=0;Ue(()=>{en.value=!0,Sn()});let xn=d(()=>N.value.debug);function Sn(){se(E.dataset)?te({componentName:`VueUiDumbbell`,type:`dataset`,debug:xn.value}):E.dataset.forEach((e,t)=>{oe({datasetObject:e,requiredAttributes:[`name`,`start`,`end`]}).forEach(e=>{Gt.value=!1,te({componentName:`VueUiDumbbell`,type:`datasetSerieAttribute`,property:e,index:t,debug:xn.value})})}),N.value.responsive&&(B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect()),B.value=new ResizeObserver(()=>{let{width:e,height:t}=De({chart:O.value,title:R.value.title.text?qt.value:null,legend:R.value.legend.show?Jt.value:null,source:Yt.value,noTitle:Xt.value}),n=R.value.title.text?24:0,r=R.value.legend.show?24:0;cancelAnimationFrame(bn),bn=requestAnimationFrame(async()=>{K.value=Math.max(.1,e),G.value=Math.max(.1,(Math.max(.1,t)-(n+r))/pn.value.length),$n(),yn.value=!0})}),V.value=O.value.parentNode,B.value.observe(V.value)),$n()}He(()=>{cancelAnimationFrame(bn),X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect())});let{isPrinting:Cn,isImaging:wn,generatePdf:Tn,generateImage:En}=Ce({elementId:`dumbbell_${D.value}`,fileName:R.value.title.text||`vue-ui-dumbbell`,options:N.value.userOptions.print}),Dn=d(()=>N.value.userOptions.show&&!R.value.title.text),H=b({showTable:N.value.table.show});Je(N,()=>{H.value={showTable:N.value.table.show}},{immediate:!0});let U=d(()=>pn.value.map((e,t)=>({...e,start:ne(e.start),end:ne(e.end),id:e.id??`${String(e.name)}__${String(e.start)}__${String(e.end)}__${s()}`}))),On=d(()=>{let e=R.value.grid,t=U.value.flatMap(e=>[e.start,e.end]).map(e=>Number(e)).filter(e=>Number.isFinite(e)),n=t.length?Math.min(...t):0,r=t.length?Math.max(...t):0;return{min:e.scaleMin??Math.min(n,0),max:e.scaleMax??r}}),W=d(()=>ee(On.value.min,On.value.max,R.value.grid.scaleSteps)),G=b(R.value.rowHeight),K=b(R.value.width),{metrics:kn,ready:An,settling:jn,update:Mn}=we({svgRef:z,canMeasure:()=>!N.value.responsive||yn.value,initialMetrics:{scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0},measure:e=>({scaleLabelsWidth:e(an.value).textWidth,yAxisLabelWidth:e(rn.value).rotatedWidth,xAxisLabelHeight:e(sn.value).height,timeLabelsHeight:e(on.value).height})});function Nn(){let e=kn.value.scaleLabelsWidth,t=kn.value.yAxisLabelWidth;return e+t+(t?24+F.value.axis.yLabelOffsetX:0)}let Pn=d(()=>kn.value.xAxisLabelHeight+kn.value.timeLabelsHeight),Fn=d(()=>U.value.length);function In(e,t,n){let r=Number(e),i=Number(t.min),a=Number(t.max),o=Number(n.width);if(!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a)||!Number.isFinite(o))return n.left;let s=a-i;return s<=0?n.left:n.left+(r-i)/s*o}let q=d(()=>{M.value;let e=Nn(),t=R.value.padding,n=F.value.axis.xLabel?F.value.axis.xLabelOffsetY:0,r=G.value*Fn.value-Pn.value-t.top-t.bottom-n,i=r/Fn.value,a=G.value*Fn.value,o=K.value-e-t.left-t.right,s=W.value.ticks.length*(o/W.value.ticks.length);return{left:R.value.padding.left+e,right:K.value-R.value.padding.right,top:R.value.padding.top,bottom:a-R.value.padding.bottom-Pn.value-n,width:o,height:r,rowHeight:i,absoluteHeight:a,widthPlotReference:s}}),J=d(()=>Math.min(G.value/2*.7,I.value.radius)),Ln=b([]),Y=d({get(){let e=q.value,t=W.value;return Ln.value.map((n,r)=>{let i=In(n.start,t,e),a=In(n.endVal,t,e),o=i+(a-i)/2,s=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end>n.start,ee=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end<n.start,te=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end===n.start||[null,void 0].includes(n.start)||[null,void 0].includes(n.end),ne=s?I.value.evaluationColors.positive:ee?I.value.evaluationColors.negative:I.value.evaluationColors.neutral;return{...n,isPositive:s,isNegative:ee,isNeutral:te,evaluationColor:ne,evaluationGrad:`url(#${s?`positive`:ee?`negative`:`neutral`}_grad_${D.value})`,startX:i,endX:a,centerX:o,y:e.top+r*e.rowHeight+e.rowHeight/2}})},set(e){Ln.value=e}});function Rn(){Ln.value=U.value.map(e=>{let t=Number(e.start);return{...e,endVal:Number.isFinite(t)?t:0}})}let X=b(null);Ue(()=>{zn()});function zn(){if(X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),Rn(),!N.value.useAnimation||Ut.value){Y.value=Ln.value.map(e=>{let t=Number(e.end);return{...e,endVal:Number.isFinite(t)?t:e.endVal}});return}let e=Math.max(1,Math.min(100,N.value.animationSpeed||100))/100,t=U.value.map(e=>{let t=Number(e.start),n=Number(e.end),r=Number.isFinite(t)?t:0;return(Number.isFinite(n)?n:r)-r}),n=()=>{let r=!0;Y.value=Ln.value.map((n,i)=>{let a=Number.isFinite(Number(n.end))?Number(n.end):n.endVal,o=n.endVal+t[i]*e,s=t[i]>=0?Math.min(o,a):Math.max(o,a);return s!==a&&(r=!1),{...n,endVal:s}}),r?X.value=null:X.value=requestAnimationFrame(n)};X.value=requestAnimationFrame(n)}let Bn=d(()=>I.value.evaluationColors.enable?[{name:R.value.legend.labelNegative,color:I.value.gradient.show?`url(#negative_grad_${D.value})`:I.value.evaluationColors.negative},{name:R.value.legend.labelNeutral,color:I.value.gradient.show?`url(#neutral_grad_${D.value})`:I.value.evaluationColors.neutral},{name:R.value.legend.labelPositive,color:I.value.gradient.show?`url(#positive_grad_${D.value})`:I.value.evaluationColors.positive}]:[{name:R.value.legend.labelStart,color:I.value.gradient.show?`url(#start_grad_${D.value})`:I.value.startColor},{name:R.value.legend.labelEnd,color:I.value.gradient.show?`url(#end_grad_${D.value})`:I.value.endColor}]),Vn=d(()=>({cy:`donut-div-legend`,backgroundColor:R.value.legend.backgroundColor,color:R.value.legend.color,fontSize:R.value.legend.fontSize,paddingBottom:12,paddingTop:12,fontWeight:R.value.legend.bold?`bold`:``})),Z=d(()=>({head:Y.value.map(e=>({name:e.name})),body:Y.value.map(e=>({start:e.start,end:e.end}))})),Q=d(()=>{let e=[N.value.table.columnNames.series,N.value.table.columnNames.start,N.value.table.columnNames.end,N.value.table.columnNames.progression],t=Z.value.head.map((e,t)=>{let r=n({p:F.value.prefix,v:Z.value.body[t].start,s:F.value.suffix,r:N.value.table.td.roundingValue}),i=n({p:F.value.prefix,v:Z.value.body[t].end,s:F.value.suffix,r:N.value.table.td.roundingValue}),a=n({v:100*(Z.value.body[t].end/Z.value.body[t].start-1),s:`%`,r:N.value.table.td.roundingPercentage});return[{name:e.name},r,i,a]}),r={th:{backgroundColor:N.value.table.th.backgroundColor,color:N.value.table.th.color,outline:N.value.table.th.outline},td:{backgroundColor:N.value.table.td.backgroundColor,color:N.value.table.td.color,outline:N.value.table.td.outline},breakpoint:N.value.table.responsiveBreakpoint};return{colNames:[N.value.table.columnNames.series,N.value.table.columnNames.start,N.value.table.columnNames.end,N.value.table.columnNames.progression],head:e,body:t,config:r}});function Hn(e=null){ze(()=>{let t=Z.value.head.map((e,t)=>[[e.name],[Z.value.body[t].start],[Z.value.body[t].end]]),n=[[R.value.title.text],[R.value.title.subtitle.text],[[N.value.table.columnNames.series],[N.value.table.columnNames.start],[N.value.table.columnNames.end]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:R.value.title.text||`vue-ui-dumbbell`})})}let $=b(!1);function Un(e){$.value=e,Kt.value+=1}function Wn(){return U.value}function Gn(){H.value.showTable=!H.value.showTable}let Kn=b(!1);function qn(){Kn.value=!Kn.value}let Jn=me(O,()=>R.value.title.text),Yn=d(()=>W.value.ticks),Xn=d(()=>({start:0,end:Yn.value.length}));Te({timeLabelsEls:on,timeLabels:Yn,slicer:Xn,configRef:N,rotationPath:[`style`,`chart`,`labels`,`xAxisLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`labels`,`xAxisLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:K,height:G,targetClass:`.vue-ui-dumbbell-scale-label`,rotation:F.value.xAxisLabels.autoRotate.angle});function Zn({rowHeight:e,fontSize:t,showProgression:n}){if(!n)return!1;let r=e/3,i=e/1.3;return Math.abs(i-r)<t*1.2}let Qn=(()=>{let e=null,t=0;return n=>{n===M.value?(e=null,t=0):e===null||e!==n?(e=n,t=1):(t+=1,t>=1&&(M.value=n,e=null,t=0))}})(),$n=Ee(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{let e=Zn({rowHeight:q.value.rowHeight,fontSize:F.value.yAxisLabels.fontSize,showProgression:F.value.yAxisLabels.showProgression});Qn(e)})})},100);function er({datapoint:e,seriesIndex:t}){k.value=t,A.value=e,N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function tr({datapoint:e,seriesIndex:t}){k.value=null,A.value=null,N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:t})}function nr({datapoint:e,seriesIndex:t}){N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:t}),Wt(`selectDatapoint`,{...e,seriesIndex:t})}let rr=d(()=>{if(A.value===null)return 0;let e=![null,void 0].includes(A.value.start),t=![null,void 0].includes(A.value.end);return e&&t?Math.min(A.value.startX,A.value.endX)+Math.abs(A.value.startX-A.value.endX)/2:e&&!t?A.value.startX:t&&!e?A.value.endX:null}),ir=d(()=>{if(A.value===null)return``;let e=![null,void 0].includes(A.value.start),t=![null,void 0].includes(A.value.end),r=``,i=``;return e&&(r=c(F.value.formatter,A.value.start,n({p:F.value.prefix,v:A.value.start,s:F.value.suffix,r:F.value.startLabels.rounding}),{datapoint:A.value,seriesIndex:k.value})),t&&(i=c(F.value.formatter,A.value.end,n({p:F.value.prefix,v:A.value.end,s:F.value.suffix,r:F.value.startLabels.rounding}),{datapoint:A.value,seriesIndex:k.value})),e&&t?`${r} → ${i}`:e&&!t?r:t&&!e?i:``}),ar=d(()=>ve({config:N,style:R,mutableConfig:H,dialog:Vt,accordion:It,isFullscreen:$,parent:O,maxWidth:800,isCursorPointer:un}));Je(()=>H.value.showTable,e=>_e(e,N,tn));function or(){H.value.showTable=!1,nn.value&&nn.value.setTableIconState(!1)}let sr=d(()=>Bn.value.map(e=>({...e,shape:`circle`}))),cr=d(()=>R.value.backgroundColor),lr=d(()=>R.value.legend),ur=d(()=>R.value.title),{isCallbackImaging:dr,isCallbackSvg:fr,generateSvg:pr,onGenerateImage:mr}=ge({svg:z,title:ur,legend:lr,legendItems:sr,backgroundColor:cr,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:En});async function hr(){Wt(`copyAlt`,{config:N.value,dataset:Y.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:Y.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function gr(e){let t=Y.value.length;return t?(e%t+t)%t:null}function _r(){if(j.value!==null){let e=Y.value[j.value];e&&tr({datapoint:e,seriesIndex:j.value})}j.value=null,k.value=null,A.value=null}function vr(){j.value=null,cn.value=!0}function yr(){_r(),cn.value=!1}function br(e){if(!z.value||Kn.value||document.activeElement!==z.value||!Y.value.length)return;let t=[`ArrowUp`,`ArrowLeft`].includes(e.key),n=[`ArrowDown`,`ArrowRight`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){_r();return}if(r){if(j.value===null)return;let e=Y.value[j.value];if(!e)return;nr({datapoint:e,seriesIndex:j.value});return}let a=j.value;a=a===null?n?0:Y.value.length-1:gr(a+(n?1:-1));let o=Y.value[a];o&&(j.value=a,er({datapoint:o,seriesIndex:a}))}let xr=d(()=>({head:Q.value.head,body:Q.value.body.map(e=>[e[0]?.name??``,e[1],e[2],e[3]]),caption:N.value.a11y.translations.tableCaption,notice:N.value.a11y.translations.tableAvailable}));return fe({getData:Wn,getImage:Jn,generatePdf:Tn,generateCsv:Hn,generateImage:En,generateSvg:pr,toggleTable:Gn,toggleAnnotator:qn,toggleFullscreen:Un,copyAlt:hr}),Je(()=>[K.value,G.value,M.value,F.value,R.value,N.value.style.fontFamily,E.dataset,yn.value,an.value,on.value,sn.value,rn.value],Mn,{flush:`post`,deep:!0}),(e,t)=>(y(),m(`div`,{ref_key:`dumbbellChart`,ref:O,class:Be(`vue-data-ui-component vue-ui-dumbbell ${$.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:v(`font-family:${N.value.style.fontFamily};width:100%; text-align:center;background:${R.value.backgroundColor};${N.value.responsive?`height:100%`:``}`),id:`dumbbell_${D.value}`,onMouseenter:t[1]||=()=>w(gn)(!0),onMouseleave:t[2]||=()=>w(gn)(!1)},[h(`div`,{id:`chart-instructions-${D.value}`,class:`sr-only`},[h(`p`,null,C(N.value.a11y.translations.keyboardNavigation),1)],8,Qe),xr.value.body.length?(y(),f(Oe,{key:0,uid:D.value,head:xr.value.head,body:xr.value.body,caption:xr.value.caption,notice:xr.value.notice},null,8,[`uid`,`head`,`body`,`caption`,`notice`])):p(``,!0),N.value.userOptions.buttons.annotator?(y(),f(w(Rt),{key:1,svgRef:w(z),backgroundColor:R.value.backgroundColor,color:R.value.color,active:Kn.value,isCursorPointer:un.value,palette:N.value.userOptions.annotatorPalette,onClose:qn},Fe({_:2},[x(w(be),t=>({name:t,fn:T(n=>[S(e.$slots,t,Ve(Le(w(ye)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):p(``,!0),Dn.value?(y(),m(`div`,{key:2,ref_key:`noTitle`,ref:Xt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):p(``,!0),R.value.title.text?(y(),m(`div`,{key:3,ref_key:`chartTitle`,ref:qt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),f(he,{key:`title_${Zt.value}`,config:{title:{cy:`donut-div-title`,...R.value.title},subtitle:{cy:`donut-div-subtitle`,...R.value.title.subtitle}}},null,8,[`config`]))],512)):p(``,!0),h(`div`,{id:`legend-top-${D.value}`},null,8,$e),N.value.userOptions.show&&Gt.value&&(w(_n)||w(hn))?(y(),f(w(zt),{ref_key:`userOptionsRef`,ref:nn,key:`user_option_${Kt.value}`,backgroundColor:R.value.backgroundColor,color:R.value.color,isPrinting:w(Cn),isImaging:w(wn),uid:D.value,hasPdf:N.value.userOptions.buttons.pdf,hasXls:N.value.userOptions.buttons.csv,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasTable:N.value.userOptions.buttons.table,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:$.value,titles:{...N.value.userOptions.buttonTitles},chartElement:O.value,position:N.value.userOptions.position,hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:Kn.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:un.value,onToggleFullscreen:Un,onGeneratePdf:w(Tn),onGenerateCsv:Hn,onGenerateImage:w(mr),onGenerateSvg:w(pr),onToggleTable:Gn,onToggleAnnotator:qn,onCopyAlt:hr,style:v({visibility:w(_n)?w(hn)?`visible`:`hidden`:`visible`})},Fe({_:2},[x(w(xe)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:T(n=>[S(e.$slots,t,Ve(Le(w(Se)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):p(``,!0),h(`div`,et,[(y(),m(`svg`,{ref_key:`svgRef`,ref:z,xmlns:w(ae),class:Be({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value}),viewBox:`0 0 ${K.value} ${q.value.absoluteHeight<=0?10:q.value.absoluteHeight}`,style:v(`max-width:100%; overflow: visible; background:transparent;color:${R.value.color};visibility:${w(An)?`visible`:`hidden`}`),"aria-describedby":`chart-instructions-${D.value}`,tabindex:`0`,onFocus:vr,onBlur:yr,onKeydown:br},[g(w(Bt)),S(e.$slots,`svg-underlayer`,{svg:{...q.value,isPrintingImg:w(Cn)||w(wn)||w(dr),isPrintingSvg:w(fr)}},void 0,!0),e.$slots[`chart-background`]?(y(),m(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:Math.max(.1,q.value.width),height:Math.max(.1,q.value.height),style:{pointerEvents:`none`}},[S(e.$slots,`chart-background`,{},void 0,!0)],8,nt)):p(``,!0),ln.value.show?(y(),m(`g`,rt,[(y(!0),m(u,null,x(W.value.ticks,(e,t)=>(y(),m(`line`,{x1:q.value.left+t*q.value.width/(W.value.ticks.length-1),x2:q.value.left+t*q.value.width/(W.value.ticks.length-1),y1:q.value.top,y2:q.value.bottom,stroke:ln.value.stroke,"stroke-width":ln.value.strokeWidth,"stroke-dasharray":ln.value.strokeDasharray},null,8,it))),256))])):p(``,!0),P.value.show?(y(),m(`g`,at,[(y(!0),m(u,null,x(U.value,(e,t)=>(y(),m(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.top+t*q.value.rowHeight,y2:q.value.top+t*q.value.rowHeight,stroke:P.value.stroke,"stroke-width":P.value.strokeWidth,"stroke-dasharray":P.value.strokeDasharray},null,8,ot))),256)),h(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:P.value.stroke,"stroke-width":P.value.strokeWidth,"stroke-dasharray":P.value.strokeDasharray},null,8,st)])):p(``,!0),F.value.axis.yLabel?(y(),m(`text`,{key:3,ref_key:`yAxisLabel`,ref:rn,transform:`translate(${F.value.axis.fontSize}, ${q.value.absoluteHeight/2}), rotate(-90)`,"font-size":F.value.axis.fontSize,fill:F.value.axis.color,"text-anchor":`middle`},C(F.value.axis.yLabel),9,ct)):p(``,!0),F.value.yAxisLabels.show?(y(),m(`g`,{key:4,ref_key:`serieLabels`,ref:an},[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-serie-name`,key:`serieLabel_${e.id}_${t}`,x:q.value.left-6+F.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+(!F.value.yAxisLabels.showProgression||M.value?q.value.rowHeight/2:q.value.rowHeight/3)+F.value.yAxisLabels.fontSize/3,"font-size":F.value.yAxisLabels.fontSize,fill:F.value.yAxisLabels.color,"font-weight":F.value.yAxisLabels.bold?`bold`:`normal`,"text-anchor":`end`,onMouseenter:n=>er({datapoint:e,seriesIndex:t}),onMouseleave:n=>tr({datapoint:e,seriesIndex:t}),onClick:n=>nr({datapoint:e,seriesIndex:t})},C(e.name)+` `+C(M.value&&F.value.yAxisLabels.showProgression?[null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:`(${w(c)(F.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:F.value.yAxisLabels.rounding}),{datapoint:e})})`:``),41,lt))),128)),F.value.yAxisLabels.showProgression&&!M.value?(y(!0),m(u,{key:0},x(Y.value,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-serie-value`,x:q.value.left-6+F.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+q.value.rowHeight/1.3+F.value.yAxisLabels.fontSize/3,"font-size":F.value.yAxisLabels.fontSize,fill:F.value.yAxisLabels.color,"text-anchor":`end`,onMouseenter:n=>er({datapoint:e,seriesIndex:t}),onMouseleave:n=>tr({datapoint:e,seriesIndex:t}),onClick:n=>nr({datapoint:e,seriesIndex:t})},C([null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:w(c)(F.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:F.value.yAxisLabels.rounding}),{datapoint:e})),41,ut))),256)):p(``,!0)],512)):p(``,!0),F.value.axis.xLabel?(y(),m(`text`,{key:5,ref_key:`xAxisLabel`,ref:sn,x:q.value.left+q.value.width/2,y:q.value.absoluteHeight-F.value.axis.fontSize/3,"font-size":F.value.axis.fontSize,fill:F.value.axis.color,"text-anchor":`middle`},C(F.value.axis.xLabel),9,dt)):p(``,!0),F.value.xAxisLabels.show?(y(),m(`g`,{key:6,ref_key:`scaleLabels`,ref:on},[(y(!0),m(u,null,x(W.value.ticks,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-scale-label`,key:`tick_${t}`,transform:`translate(${q.value.left+t*(q.value.width/(W.value.ticks.length-1))}, ${q.value.bottom+F.value.xAxisLabels.fontSize+F.value.xAxisLabels.offsetY}), rotate(${F.value.xAxisLabels.rotation})`,"font-size":F.value.xAxisLabels.fontSize,fill:F.value.xAxisLabels.color,"font-weight":F.value.xAxisLabels.bold?`bold`:`normal`,"text-anchor":F.value.xAxisLabels.rotation>0?`start`:F.value.xAxisLabels.rotation<0?`end`:`middle`},C(w(c)(F.value.formatter,e,w(n)({p:F.value.prefix,v:e,s:F.value.suffix,r:F.value.xAxisLabels.rounding}),{datapoint:e,seriesIndex:t})),9,ft))),128))],512)):p(``,!0),Ye(h(`g`,null,[Ye(h(`path`,{d:`M ${A.value?A.value.startX:q.value.left},${q.value.top} ${A.value?A.value.startX:q.value.left},${q.value.bottom}`,stroke:A.value?I.value.evaluationColors.enable?A.value.evaluationColor:I.value.startColor:`transparent`,"stroke-width":L.value.strokeWidth,"stroke-dasharray":L.value.strokeDasharray,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},null,12,pt),[[qe,A.value!==null&&![null,void 0].includes(A.value.start)]]),Ye(h(`path`,{d:`M ${A.value?A.value.endX:q.value.left},${q.value.top} ${A.value?A.value.endX:q.value.left},${q.value.bottom}`,stroke:A.value?I.value.evaluationColors.enable?A.value.evaluationColor:I.value.endColor:`transparent`,"stroke-width":L.value.strokeWidth,"stroke-dasharray":L.value.strokeDasharray,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},null,12,mt),[[qe,A.value!==null&&![null,void 0].includes(A.value.end)]]),Ye(h(`rect`,{x:A.value?Math.min(A.value.startX,A.value.endX):q.value.left,y:q.value.top,height:Math.max(.1,q.value.height),width:A.value?Math.max(.1,Math.abs(A.value.endX-A.value.startX)):0,fill:A.value?w(a)(L.value.rectColor,L.value.rectOpacity):`transparent`,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},null,12,ht),[[qe,L.value.showRect&&A.value!==null&&![null,void 0].includes(A.value.start)&&![null,void 0].includes(A.value.end)]]),Ye(h(`text`,{transform:`translate(${rr.value==null?0:rr.value}, ${q.value.top-6})`,fill:L.value.labelColor,"font-size":L.value.labelFontSize,"text-anchor":`middle`,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},C(ir.value),13,gt),[[qe,A.value!==null&&rr.value!==null&&L.value.showLabel]])],512),[[qe,L.value.show&&k.value!==null]]),h(`defs`,null,[g(l,{t:`radial`,id:`start_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.startColor,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.startColor,.1),1],[`100%`,I.value.startColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`end_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.endColor,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.endColor,.1),1],[`100%`,I.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`positive_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.evaluationColors.positive,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.evaluationColors.positive,.1),1],[`100%`,I.value.evaluationColors.positive,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`negative_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.evaluationColors.negative,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.evaluationColors.negative,.1),1],[`100%`,I.value.evaluationColors.negative,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`neutral_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.evaluationColors.neutral,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.evaluationColors.neutral,.1),1],[`100%`,I.value.evaluationColors.neutral,1]]},null,8,[`id`,`stops`])]),(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`plot_${t}_${e.id}`},[h(`defs`,null,[g(l,{t:`linear`,id:`grad_pos_${D.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,I.value.startColor,1],[`100%`,I.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`linear`,id:`grad_neg_${D.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,I.value.endColor,1],[`100%`,I.value.startColor,1]]},null,8,[`id`,`stops`])]),![void 0,null].includes(e.end)&&![void 0,null].includes(e.start)?(y(),m(`g`,_t,[I.value.link.type===`curved`?(y(),m(`g`,vt,[h(`path`,{d:`M
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Ft as i,Jt as a,Q as o,X as s,_ as ee,at as te,b as ne,i as c,in as re,nt as ie,t as ae,yt as oe,zt as se}from"./lib-rPeBMZrn.js";import{n as ce,t as le}from"./BaseScanner-8NdoBs7B.js";import{n as ue,t as de}from"./useHints-C-TwxM0Y.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as pe}from"./resolveChartConfig-CIhClE5R.js";import{t as me}from"./chartImage-DPGnEuYM.js";import{n as he}from"./Title-BliHuXfT.js";import{t as ge}from"./useChartExport-BZts4KFb.js";import{n as _e,t as ve}from"./tableIntegration-CNoJ1CIY.js";import{n as ye,t as be}from"./annotationSlots-BRR85CqJ.js";import{n as xe,t as Se}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ce}from"./usePrinter-DVf3YcG5.js";import{t as we}from"./useSvgLabelLayout-42Kats14.js";import{t as Te}from"./useTimeLabelCollider-BTybMUFi.js";import{c as Ee}from"./canvas-lib-22VpOI4_.js";import{t as De}from"./useResponsive-CENUxfEL.js";import{t as l}from"./DefGrad-DKMq1REY.js";import{t as Oe}from"./A11yDataTable-DWNlWXzs.js";import{t as ke}from"./useUserOptionState-CXlFnwPv.js";import{t as Ae}from"./useChartAccessibility-DOMuYJfm.js";import{t as je}from"./Legend-DM0ClX3D.js";import{t as Me}from"./usePrefersMotion-XLHwega2.js";import{t as Ne}from"./vue_ui_dumbbell-BMcxK0N3.js";import{Fragment as u,Teleport as Pe,computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createSlots as Fe,createTextVNode as Ie,createVNode as g,defineAsyncComponent as _,guardReactiveProps as Le,mergeProps as Re,nextTick as ze,normalizeClass as Be,normalizeProps as Ve,normalizeStyle as v,onBeforeUnmount as He,onMounted as Ue,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as We,shallowRef as Ge,toDisplayString as C,toRefs as Ke,unref as w,vShow as qe,watch as Je,withCtx as T,withDirectives as Ye}from"vue";var Xe=/* @__PURE__ */ e({default:()=>Ft}),Ze=[`id`],Qe=[`id`],$e=[`id`],et={style:{position:`relative`}},tt=[`xmlns`,`viewBox`,`aria-describedby`],nt=[`x`,`y`,`width`,`height`],rt={key:1},it=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],at={key:2},ot=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],st=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],ct=[`transform`,`font-size`,`fill`],lt=[`x`,`y`,`font-size`,`fill`,`font-weight`,`onMouseenter`,`onMouseleave`,`onClick`],ut=[`x`,`y`,`font-size`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],dt=[`x`,`y`,`font-size`,`fill`],ft=[`transform`,`font-size`,`fill`,`font-weight`,`text-anchor`],pt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],mt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],ht=[`x`,`y`,`height`,`width`,`fill`],gt=[`transform`,`fill`,`font-size`],_t={key:0},vt={key:0},yt=[`d`,`fill`],bt={key:1},xt=[`x`,`y`,`height`,`width`,`fill`],St=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ct=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],wt={key:7},Tt=[`x`,`y`,`fill`,`font-size`],Et={key:8},Dt=[`x`,`y`,`fill`,`font-size`],Ot=[`x`,`y`,`width`,`height`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],kt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},At={key:5,class:`vue-data-ui-watermark`},jt=[`id`],Mt=[`xmlns`,`height`,`width`],Nt=[`fill`],Pt={style:{display:`flex`,"align-items":`center`}},Ft=/*#__PURE__*/ fe({__name:`vue-ui-dumbbell`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`copyAlt`],setup(e,{expose:fe,emit:Xe}){let Ft=_(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),It=_(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Lt=_(()=>import(`./DataTable-0Vv-aGHD.js`)),Rt=_(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),zt=_(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Bt=_(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),Vt=_(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_dumbbell:Ht}=t(),Ut=Me(),E=e,Wt=Xe,Gt=d({get(){return!!E.dataset&&E.dataset.length},set(e){return e}}),D=b(s()),Kt=b(0),O=b(null),qt=b(null),Jt=b(null),Yt=b(null),Xt=b(null),Zt=b(0),Qt=b(0),$t=b(0),en=b(!1),tn=b(null),nn=b(null),rn=b(null),an=b(null),on=b(null),sn=b(null),k=b(null),A=b(null),j=b(null),cn=b(!1),M=b(!1),N=b(vn()),P=d(()=>N.value.style.chart.grid.horizontalGrid),ln=d(()=>N.value.style.chart.grid.verticalGrid),F=d(()=>N.value.style.chart.labels);d(()=>N.value.style.chart.grid);let I=d(()=>N.value.style.chart.plots),L=d(()=>N.value.style.chart.comparisonLines),R=d(()=>N.value.style.chart);ue({config:()=>N.value,dataset:()=>E.dataset,component:`VueUiDumbbell`,rules:[de.emptyArray,{test:e=>e.length>31,message:[`👀 The number of series is > 31. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using multiple instances of the component to display related series.`]}]});let un=d(()=>N.value.userOptions.useCursorPointer),dn=d(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},useAnimation:!1,style:{chart:{backgroundColor:`#99999930`,padding:{top:12,right:12,bottom:12,left:12},grid:{horizontalGrid:{stroke:`#6A6A6A`},verticalGrid:{stroke:`#6A6A6A`}},labels:{axis:{yLabel:``,xLabel:``},xAxisLabels:{show:!1},yAxisLabels:{show:!1},endLabels:{show:!1},startLabels:{show:!1}},legend:{backgroundColor:`transparent`},plots:{endColor:`#969696`,startColor:`#DBDBDB`,stroke:`#6A6A6A`,evaluationColors:{enable:!1}}}}},userConfig:N.value.skeletonConfig??{}})),{loading:fn,FINAL_DATASET:pn,manualLoading:mn}=ce({...Ke(E),FINAL_CONFIG:N,prepareConfig:vn,skeletonDataset:E.config?.skeletonDataset??[{name:`_`,start:21,end:34},{name:`_`,start:13,end:21},{name:`_`,start:8,end:13},{name:`_`,start:5,end:8},{name:`_`,start:3,end:5}],skeletonConfig:re({defaultConfig:N.value,userConfig:dn.value})}),{userOptionsVisible:hn,setUserOptionsVisibility:gn,keepUserOptionState:_n}=ke({config:N.value}),{svgRef:z}=Ae({config:R.value.title});function vn(){return pe(E.config,Ht,Ne)}Je(()=>E.config,e=>{fn.value||(N.value=vn()),hn.value=!N.value.userOptions.showOnChartHover,Sn(),Zt.value+=1,Qt.value+=1,$t.value+=1,N.value.responsive||(G.value=R.value.rowHeight,K.value=R.value.width),H.value.showTable=N.value.table.show},{deep:!0}),Je(()=>pn.value,e=>{Array.isArray(e)&&e.length>0&&(mn.value=!1),Rn(),zn()},{deep:!0});let B=Ge(null),V=Ge(null),yn=b(!1),bn=0;Ue(()=>{en.value=!0,Sn()});let xn=d(()=>N.value.debug);function Sn(){se(E.dataset)?te({componentName:`VueUiDumbbell`,type:`dataset`,debug:xn.value}):E.dataset.forEach((e,t)=>{oe({datasetObject:e,requiredAttributes:[`name`,`start`,`end`]}).forEach(e=>{Gt.value=!1,te({componentName:`VueUiDumbbell`,type:`datasetSerieAttribute`,property:e,index:t,debug:xn.value})})}),N.value.responsive&&(B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect()),B.value=new ResizeObserver(()=>{let{width:e,height:t}=De({chart:O.value,title:R.value.title.text?qt.value:null,legend:R.value.legend.show?Jt.value:null,source:Yt.value,noTitle:Xt.value}),n=R.value.title.text?24:0,r=R.value.legend.show?24:0;cancelAnimationFrame(bn),bn=requestAnimationFrame(async()=>{K.value=Math.max(.1,e),G.value=Math.max(.1,(Math.max(.1,t)-(n+r))/pn.value.length),$n(),yn.value=!0})}),V.value=O.value.parentNode,B.value.observe(V.value)),$n()}He(()=>{cancelAnimationFrame(bn),X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect())});let{isPrinting:Cn,isImaging:wn,generatePdf:Tn,generateImage:En}=Ce({elementId:`dumbbell_${D.value}`,fileName:R.value.title.text||`vue-ui-dumbbell`,options:N.value.userOptions.print}),Dn=d(()=>N.value.userOptions.show&&!R.value.title.text),H=b({showTable:N.value.table.show});Je(N,()=>{H.value={showTable:N.value.table.show}},{immediate:!0});let U=d(()=>pn.value.map((e,t)=>({...e,start:ne(e.start),end:ne(e.end),id:e.id??`${String(e.name)}__${String(e.start)}__${String(e.end)}__${s()}`}))),On=d(()=>{let e=R.value.grid,t=U.value.flatMap(e=>[e.start,e.end]).map(e=>Number(e)).filter(e=>Number.isFinite(e)),n=t.length?Math.min(...t):0,r=t.length?Math.max(...t):0;return{min:e.scaleMin??Math.min(n,0),max:e.scaleMax??r}}),W=d(()=>ee(On.value.min,On.value.max,R.value.grid.scaleSteps)),G=b(R.value.rowHeight),K=b(R.value.width),{metrics:kn,ready:An,settling:jn,update:Mn}=we({svgRef:z,canMeasure:()=>!N.value.responsive||yn.value,initialMetrics:{scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0},measure:e=>({scaleLabelsWidth:e(an.value).textWidth,yAxisLabelWidth:e(rn.value).rotatedWidth,xAxisLabelHeight:e(sn.value).height,timeLabelsHeight:e(on.value).height})});function Nn(){let e=kn.value.scaleLabelsWidth,t=kn.value.yAxisLabelWidth;return e+t+(t?24+F.value.axis.yLabelOffsetX:0)}let Pn=d(()=>kn.value.xAxisLabelHeight+kn.value.timeLabelsHeight),Fn=d(()=>U.value.length);function In(e,t,n){let r=Number(e),i=Number(t.min),a=Number(t.max),o=Number(n.width);if(!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a)||!Number.isFinite(o))return n.left;let s=a-i;return s<=0?n.left:n.left+(r-i)/s*o}let q=d(()=>{M.value;let e=Nn(),t=R.value.padding,n=F.value.axis.xLabel?F.value.axis.xLabelOffsetY:0,r=G.value*Fn.value-Pn.value-t.top-t.bottom-n,i=r/Fn.value,a=G.value*Fn.value,o=K.value-e-t.left-t.right,s=W.value.ticks.length*(o/W.value.ticks.length);return{left:R.value.padding.left+e,right:K.value-R.value.padding.right,top:R.value.padding.top,bottom:a-R.value.padding.bottom-Pn.value-n,width:o,height:r,rowHeight:i,absoluteHeight:a,widthPlotReference:s}}),J=d(()=>Math.min(G.value/2*.7,I.value.radius)),Ln=b([]),Y=d({get(){let e=q.value,t=W.value;return Ln.value.map((n,r)=>{let i=In(n.start,t,e),a=In(n.endVal,t,e),o=i+(a-i)/2,s=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end>n.start,ee=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end<n.start,te=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end===n.start||[null,void 0].includes(n.start)||[null,void 0].includes(n.end),ne=s?I.value.evaluationColors.positive:ee?I.value.evaluationColors.negative:I.value.evaluationColors.neutral;return{...n,isPositive:s,isNegative:ee,isNeutral:te,evaluationColor:ne,evaluationGrad:`url(#${s?`positive`:ee?`negative`:`neutral`}_grad_${D.value})`,startX:i,endX:a,centerX:o,y:e.top+r*e.rowHeight+e.rowHeight/2}})},set(e){Ln.value=e}});function Rn(){Ln.value=U.value.map(e=>{let t=Number(e.start);return{...e,endVal:Number.isFinite(t)?t:0}})}let X=b(null);Ue(()=>{zn()});function zn(){if(X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),Rn(),!N.value.useAnimation||Ut.value){Y.value=Ln.value.map(e=>{let t=Number(e.end);return{...e,endVal:Number.isFinite(t)?t:e.endVal}});return}let e=Math.max(1,Math.min(100,N.value.animationSpeed||100))/100,t=U.value.map(e=>{let t=Number(e.start),n=Number(e.end),r=Number.isFinite(t)?t:0;return(Number.isFinite(n)?n:r)-r}),n=()=>{let r=!0;Y.value=Ln.value.map((n,i)=>{let a=Number.isFinite(Number(n.end))?Number(n.end):n.endVal,o=n.endVal+t[i]*e,s=t[i]>=0?Math.min(o,a):Math.max(o,a);return s!==a&&(r=!1),{...n,endVal:s}}),r?X.value=null:X.value=requestAnimationFrame(n)};X.value=requestAnimationFrame(n)}let Bn=d(()=>I.value.evaluationColors.enable?[{name:R.value.legend.labelNegative,color:I.value.gradient.show?`url(#negative_grad_${D.value})`:I.value.evaluationColors.negative},{name:R.value.legend.labelNeutral,color:I.value.gradient.show?`url(#neutral_grad_${D.value})`:I.value.evaluationColors.neutral},{name:R.value.legend.labelPositive,color:I.value.gradient.show?`url(#positive_grad_${D.value})`:I.value.evaluationColors.positive}]:[{name:R.value.legend.labelStart,color:I.value.gradient.show?`url(#start_grad_${D.value})`:I.value.startColor},{name:R.value.legend.labelEnd,color:I.value.gradient.show?`url(#end_grad_${D.value})`:I.value.endColor}]),Vn=d(()=>({cy:`donut-div-legend`,backgroundColor:R.value.legend.backgroundColor,color:R.value.legend.color,fontSize:R.value.legend.fontSize,paddingBottom:12,paddingTop:12,fontWeight:R.value.legend.bold?`bold`:``})),Z=d(()=>({head:Y.value.map(e=>({name:e.name})),body:Y.value.map(e=>({start:e.start,end:e.end}))})),Q=d(()=>{let e=[N.value.table.columnNames.series,N.value.table.columnNames.start,N.value.table.columnNames.end,N.value.table.columnNames.progression],t=Z.value.head.map((e,t)=>{let r=n({p:F.value.prefix,v:Z.value.body[t].start,s:F.value.suffix,r:N.value.table.td.roundingValue}),i=n({p:F.value.prefix,v:Z.value.body[t].end,s:F.value.suffix,r:N.value.table.td.roundingValue}),a=n({v:100*(Z.value.body[t].end/Z.value.body[t].start-1),s:`%`,r:N.value.table.td.roundingPercentage});return[{name:e.name},r,i,a]}),r={th:{backgroundColor:N.value.table.th.backgroundColor,color:N.value.table.th.color,outline:N.value.table.th.outline},td:{backgroundColor:N.value.table.td.backgroundColor,color:N.value.table.td.color,outline:N.value.table.td.outline},breakpoint:N.value.table.responsiveBreakpoint};return{colNames:[N.value.table.columnNames.series,N.value.table.columnNames.start,N.value.table.columnNames.end,N.value.table.columnNames.progression],head:e,body:t,config:r}});function Hn(e=null){ze(()=>{let t=Z.value.head.map((e,t)=>[[e.name],[Z.value.body[t].start],[Z.value.body[t].end]]),n=[[R.value.title.text],[R.value.title.subtitle.text],[[N.value.table.columnNames.series],[N.value.table.columnNames.start],[N.value.table.columnNames.end]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:R.value.title.text||`vue-ui-dumbbell`})})}let $=b(!1);function Un(e){$.value=e,Kt.value+=1}function Wn(){return U.value}function Gn(){H.value.showTable=!H.value.showTable}let Kn=b(!1);function qn(){Kn.value=!Kn.value}let Jn=me(O,()=>R.value.title.text),Yn=d(()=>W.value.ticks),Xn=d(()=>({start:0,end:Yn.value.length}));Te({timeLabelsEls:on,timeLabels:Yn,slicer:Xn,configRef:N,rotationPath:[`style`,`chart`,`labels`,`xAxisLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`labels`,`xAxisLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:K,height:G,targetClass:`.vue-ui-dumbbell-scale-label`,rotation:F.value.xAxisLabels.autoRotate.angle});function Zn({rowHeight:e,fontSize:t,showProgression:n}){if(!n)return!1;let r=e/3,i=e/1.3;return Math.abs(i-r)<t*1.2}let Qn=(()=>{let e=null,t=0;return n=>{n===M.value?(e=null,t=0):e===null||e!==n?(e=n,t=1):(t+=1,t>=1&&(M.value=n,e=null,t=0))}})(),$n=Ee(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{let e=Zn({rowHeight:q.value.rowHeight,fontSize:F.value.yAxisLabels.fontSize,showProgression:F.value.yAxisLabels.showProgression});Qn(e)})})},100);function er({datapoint:e,seriesIndex:t}){k.value=t,A.value=e,N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function tr({datapoint:e,seriesIndex:t}){k.value=null,A.value=null,N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:t})}function nr({datapoint:e,seriesIndex:t}){N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:t}),Wt(`selectDatapoint`,{...e,seriesIndex:t})}let rr=d(()=>{if(A.value===null)return 0;let e=![null,void 0].includes(A.value.start),t=![null,void 0].includes(A.value.end);return e&&t?Math.min(A.value.startX,A.value.endX)+Math.abs(A.value.startX-A.value.endX)/2:e&&!t?A.value.startX:t&&!e?A.value.endX:null}),ir=d(()=>{if(A.value===null)return``;let e=![null,void 0].includes(A.value.start),t=![null,void 0].includes(A.value.end),r=``,i=``;return e&&(r=c(F.value.formatter,A.value.start,n({p:F.value.prefix,v:A.value.start,s:F.value.suffix,r:F.value.startLabels.rounding}),{datapoint:A.value,seriesIndex:k.value})),t&&(i=c(F.value.formatter,A.value.end,n({p:F.value.prefix,v:A.value.end,s:F.value.suffix,r:F.value.startLabels.rounding}),{datapoint:A.value,seriesIndex:k.value})),e&&t?`${r} → ${i}`:e&&!t?r:t&&!e?i:``}),ar=d(()=>ve({config:N,style:R,mutableConfig:H,dialog:Vt,accordion:It,isFullscreen:$,parent:O,maxWidth:800,isCursorPointer:un}));Je(()=>H.value.showTable,e=>_e(e,N,tn));function or(){H.value.showTable=!1,nn.value&&nn.value.setTableIconState(!1)}let sr=d(()=>Bn.value.map(e=>({...e,shape:`circle`}))),cr=d(()=>R.value.backgroundColor),lr=d(()=>R.value.legend),ur=d(()=>R.value.title),{isCallbackImaging:dr,isCallbackSvg:fr,generateSvg:pr,onGenerateImage:mr}=ge({svg:z,title:ur,legend:lr,legendItems:sr,backgroundColor:cr,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:En});async function hr(){Wt(`copyAlt`,{config:N.value,dataset:Y.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:Y.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function gr(e){let t=Y.value.length;return t?(e%t+t)%t:null}function _r(){if(j.value!==null){let e=Y.value[j.value];e&&tr({datapoint:e,seriesIndex:j.value})}j.value=null,k.value=null,A.value=null}function vr(){j.value=null,cn.value=!0}function yr(){_r(),cn.value=!1}function br(e){if(!z.value||Kn.value||document.activeElement!==z.value||!Y.value.length)return;let t=[`ArrowUp`,`ArrowLeft`].includes(e.key),n=[`ArrowDown`,`ArrowRight`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){_r();return}if(r){if(j.value===null)return;let e=Y.value[j.value];if(!e)return;nr({datapoint:e,seriesIndex:j.value});return}let a=j.value;a=a===null?n?0:Y.value.length-1:gr(a+(n?1:-1));let o=Y.value[a];o&&(j.value=a,er({datapoint:o,seriesIndex:a}))}let xr=d(()=>({head:Q.value.head,body:Q.value.body.map(e=>[e[0]?.name??``,e[1],e[2],e[3]]),caption:N.value.a11y.translations.tableCaption,notice:N.value.a11y.translations.tableAvailable}));return fe({getData:Wn,getImage:Jn,generatePdf:Tn,generateCsv:Hn,generateImage:En,generateSvg:pr,toggleTable:Gn,toggleAnnotator:qn,toggleFullscreen:Un,copyAlt:hr}),Je(()=>[K.value,G.value,M.value,F.value,R.value,N.value.style.fontFamily,E.dataset,yn.value,an.value,on.value,sn.value,rn.value],Mn,{flush:`post`,deep:!0}),(e,t)=>(y(),m(`div`,{ref_key:`dumbbellChart`,ref:O,class:Be(`vue-data-ui-component vue-ui-dumbbell ${$.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:v(`font-family:${N.value.style.fontFamily};width:100%; text-align:center;background:${R.value.backgroundColor};${N.value.responsive?`height:100%`:``}`),id:`dumbbell_${D.value}`,onMouseenter:t[1]||=()=>w(gn)(!0),onMouseleave:t[2]||=()=>w(gn)(!1)},[h(`div`,{id:`chart-instructions-${D.value}`,class:`sr-only`},[h(`p`,null,C(N.value.a11y.translations.keyboardNavigation),1)],8,Qe),xr.value.body.length?(y(),f(Oe,{key:0,uid:D.value,head:xr.value.head,body:xr.value.body,caption:xr.value.caption,notice:xr.value.notice},null,8,[`uid`,`head`,`body`,`caption`,`notice`])):p(``,!0),N.value.userOptions.buttons.annotator?(y(),f(w(Rt),{key:1,svgRef:w(z),backgroundColor:R.value.backgroundColor,color:R.value.color,active:Kn.value,isCursorPointer:un.value,palette:N.value.userOptions.annotatorPalette,onClose:qn},Fe({_:2},[x(w(be),t=>({name:t,fn:T(n=>[S(e.$slots,t,Ve(Le(w(ye)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):p(``,!0),Dn.value?(y(),m(`div`,{key:2,ref_key:`noTitle`,ref:Xt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):p(``,!0),R.value.title.text?(y(),m(`div`,{key:3,ref_key:`chartTitle`,ref:qt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),f(he,{key:`title_${Zt.value}`,config:{title:{cy:`donut-div-title`,...R.value.title},subtitle:{cy:`donut-div-subtitle`,...R.value.title.subtitle}}},null,8,[`config`]))],512)):p(``,!0),h(`div`,{id:`legend-top-${D.value}`},null,8,$e),N.value.userOptions.show&&Gt.value&&(w(_n)||w(hn))?(y(),f(w(zt),{ref_key:`userOptionsRef`,ref:nn,key:`user_option_${Kt.value}`,backgroundColor:R.value.backgroundColor,color:R.value.color,isPrinting:w(Cn),isImaging:w(wn),uid:D.value,hasPdf:N.value.userOptions.buttons.pdf,hasXls:N.value.userOptions.buttons.csv,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasTable:N.value.userOptions.buttons.table,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:$.value,titles:{...N.value.userOptions.buttonTitles},chartElement:O.value,position:N.value.userOptions.position,hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:Kn.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:un.value,onToggleFullscreen:Un,onGeneratePdf:w(Tn),onGenerateCsv:Hn,onGenerateImage:w(mr),onGenerateSvg:w(pr),onToggleTable:Gn,onToggleAnnotator:qn,onCopyAlt:hr,style:v({visibility:w(_n)?w(hn)?`visible`:`hidden`:`visible`})},Fe({_:2},[x(w(xe)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:T(n=>[S(e.$slots,t,Ve(Le(w(Se)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):p(``,!0),h(`div`,et,[(y(),m(`svg`,{ref_key:`svgRef`,ref:z,xmlns:w(ae),class:Be({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value}),viewBox:`0 0 ${K.value} ${q.value.absoluteHeight<=0?10:q.value.absoluteHeight}`,style:v(`max-width:100%; overflow: visible; background:transparent;color:${R.value.color};visibility:${w(An)?`visible`:`hidden`}`),"aria-describedby":`chart-instructions-${D.value}`,tabindex:`0`,onFocus:vr,onBlur:yr,onKeydown:br},[g(w(Bt)),S(e.$slots,`svg-underlayer`,{svg:{...q.value,isPrintingImg:w(Cn)||w(wn)||w(dr),isPrintingSvg:w(fr)}},void 0,!0),e.$slots[`chart-background`]?(y(),m(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:Math.max(.1,q.value.width),height:Math.max(.1,q.value.height),style:{pointerEvents:`none`}},[S(e.$slots,`chart-background`,{},void 0,!0)],8,nt)):p(``,!0),ln.value.show?(y(),m(`g`,rt,[(y(!0),m(u,null,x(W.value.ticks,(e,t)=>(y(),m(`line`,{x1:q.value.left+t*q.value.width/(W.value.ticks.length-1),x2:q.value.left+t*q.value.width/(W.value.ticks.length-1),y1:q.value.top,y2:q.value.bottom,stroke:ln.value.stroke,"stroke-width":ln.value.strokeWidth,"stroke-dasharray":ln.value.strokeDasharray},null,8,it))),256))])):p(``,!0),P.value.show?(y(),m(`g`,at,[(y(!0),m(u,null,x(U.value,(e,t)=>(y(),m(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.top+t*q.value.rowHeight,y2:q.value.top+t*q.value.rowHeight,stroke:P.value.stroke,"stroke-width":P.value.strokeWidth,"stroke-dasharray":P.value.strokeDasharray},null,8,ot))),256)),h(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:P.value.stroke,"stroke-width":P.value.strokeWidth,"stroke-dasharray":P.value.strokeDasharray},null,8,st)])):p(``,!0),F.value.axis.yLabel?(y(),m(`text`,{key:3,ref_key:`yAxisLabel`,ref:rn,transform:`translate(${F.value.axis.fontSize}, ${q.value.absoluteHeight/2}), rotate(-90)`,"font-size":F.value.axis.fontSize,fill:F.value.axis.color,"text-anchor":`middle`},C(F.value.axis.yLabel),9,ct)):p(``,!0),F.value.yAxisLabels.show?(y(),m(`g`,{key:4,ref_key:`serieLabels`,ref:an},[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-serie-name`,key:`serieLabel_${e.id}_${t}`,x:q.value.left-6+F.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+(!F.value.yAxisLabels.showProgression||M.value?q.value.rowHeight/2:q.value.rowHeight/3)+F.value.yAxisLabels.fontSize/3,"font-size":F.value.yAxisLabels.fontSize,fill:F.value.yAxisLabels.color,"font-weight":F.value.yAxisLabels.bold?`bold`:`normal`,"text-anchor":`end`,onMouseenter:n=>er({datapoint:e,seriesIndex:t}),onMouseleave:n=>tr({datapoint:e,seriesIndex:t}),onClick:n=>nr({datapoint:e,seriesIndex:t})},C(e.name)+` `+C(M.value&&F.value.yAxisLabels.showProgression?[null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:`(${w(c)(F.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:F.value.yAxisLabels.rounding}),{datapoint:e})})`:``),41,lt))),128)),F.value.yAxisLabels.showProgression&&!M.value?(y(!0),m(u,{key:0},x(Y.value,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-serie-value`,x:q.value.left-6+F.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+q.value.rowHeight/1.3+F.value.yAxisLabels.fontSize/3,"font-size":F.value.yAxisLabels.fontSize,fill:F.value.yAxisLabels.color,"text-anchor":`end`,onMouseenter:n=>er({datapoint:e,seriesIndex:t}),onMouseleave:n=>tr({datapoint:e,seriesIndex:t}),onClick:n=>nr({datapoint:e,seriesIndex:t})},C([null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:w(c)(F.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:F.value.yAxisLabels.rounding}),{datapoint:e})),41,ut))),256)):p(``,!0)],512)):p(``,!0),F.value.axis.xLabel?(y(),m(`text`,{key:5,ref_key:`xAxisLabel`,ref:sn,x:q.value.left+q.value.width/2,y:q.value.absoluteHeight-F.value.axis.fontSize/3,"font-size":F.value.axis.fontSize,fill:F.value.axis.color,"text-anchor":`middle`},C(F.value.axis.xLabel),9,dt)):p(``,!0),F.value.xAxisLabels.show?(y(),m(`g`,{key:6,ref_key:`scaleLabels`,ref:on},[(y(!0),m(u,null,x(W.value.ticks,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-scale-label`,key:`tick_${t}`,transform:`translate(${q.value.left+t*(q.value.width/(W.value.ticks.length-1))}, ${q.value.bottom+F.value.xAxisLabels.fontSize+F.value.xAxisLabels.offsetY}), rotate(${F.value.xAxisLabels.rotation})`,"font-size":F.value.xAxisLabels.fontSize,fill:F.value.xAxisLabels.color,"font-weight":F.value.xAxisLabels.bold?`bold`:`normal`,"text-anchor":F.value.xAxisLabels.rotation>0?`start`:F.value.xAxisLabels.rotation<0?`end`:`middle`},C(w(c)(F.value.formatter,e,w(n)({p:F.value.prefix,v:e,s:F.value.suffix,r:F.value.xAxisLabels.rounding}),{datapoint:e,seriesIndex:t})),9,ft))),128))],512)):p(``,!0),Ye(h(`g`,null,[Ye(h(`path`,{d:`M ${A.value?A.value.startX:q.value.left},${q.value.top} ${A.value?A.value.startX:q.value.left},${q.value.bottom}`,stroke:A.value?I.value.evaluationColors.enable?A.value.evaluationColor:I.value.startColor:`transparent`,"stroke-width":L.value.strokeWidth,"stroke-dasharray":L.value.strokeDasharray,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},null,12,pt),[[qe,A.value!==null&&![null,void 0].includes(A.value.start)]]),Ye(h(`path`,{d:`M ${A.value?A.value.endX:q.value.left},${q.value.top} ${A.value?A.value.endX:q.value.left},${q.value.bottom}`,stroke:A.value?I.value.evaluationColors.enable?A.value.evaluationColor:I.value.endColor:`transparent`,"stroke-width":L.value.strokeWidth,"stroke-dasharray":L.value.strokeDasharray,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},null,12,mt),[[qe,A.value!==null&&![null,void 0].includes(A.value.end)]]),Ye(h(`rect`,{x:A.value?Math.min(A.value.startX,A.value.endX):q.value.left,y:q.value.top,height:Math.max(.1,q.value.height),width:A.value?Math.max(.1,Math.abs(A.value.endX-A.value.startX)):0,fill:A.value?w(a)(L.value.rectColor,L.value.rectOpacity):`transparent`,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},null,12,ht),[[qe,L.value.showRect&&A.value!==null&&![null,void 0].includes(A.value.start)&&![null,void 0].includes(A.value.end)]]),Ye(h(`text`,{transform:`translate(${rr.value==null?0:rr.value}, ${q.value.top-6})`,fill:L.value.labelColor,"font-size":L.value.labelFontSize,"text-anchor":`middle`,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},C(ir.value),13,gt),[[qe,A.value!==null&&rr.value!==null&&L.value.showLabel]])],512),[[qe,L.value.show&&k.value!==null]]),h(`defs`,null,[g(l,{t:`radial`,id:`start_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.startColor,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.startColor,.1),1],[`100%`,I.value.startColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`end_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.endColor,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.endColor,.1),1],[`100%`,I.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`positive_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.evaluationColors.positive,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.evaluationColors.positive,.1),1],[`100%`,I.value.evaluationColors.positive,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`negative_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.evaluationColors.negative,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.evaluationColors.negative,.1),1],[`100%`,I.value.evaluationColors.negative,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`neutral_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.evaluationColors.neutral,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.evaluationColors.neutral,.1),1],[`100%`,I.value.evaluationColors.neutral,1]]},null,8,[`id`,`stops`])]),(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`plot_${t}_${e.id}`},[h(`defs`,null,[g(l,{t:`linear`,id:`grad_pos_${D.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,I.value.startColor,1],[`100%`,I.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`linear`,id:`grad_neg_${D.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,I.value.endColor,1],[`100%`,I.value.startColor,1]]},null,8,[`id`,`stops`])]),![void 0,null].includes(e.end)&&![void 0,null].includes(e.start)?(y(),m(`g`,_t,[I.value.link.type===`curved`?(y(),m(`g`,vt,[h(`path`,{d:`M
|
|
2
2
|
${e.startX},${e.y+J.value/2}
|
|
3
3
|
C ${e.centerX},${e.y} ${e.centerX},${e.y}
|
|
4
4
|
${e.endX},${e.y+J.value/2}
|
|
@@ -6,4 +6,4 @@ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO
|
|
|
6
6
|
C ${e.centerX},${e.y} ${e.centerX},${e.y}
|
|
7
7
|
${e.startX},${e.y-J.value/2}
|
|
8
8
|
Z
|
|
9
|
-
`,fill:I.value.evaluationColors.enable?e.evaluationColor:e.endX>e.startX?`url(#grad_pos_${D.value})`:`url(#grad_neg_${D.value})`},null,8,yt)])):(y(),m(`g`,bt,[h(`rect`,{x:e.endX>e.startX?e.startX:e.endX,y:e.y-I.value.link.strokeWidth/2,height:Math.max(.01,I.value.link.strokeWidth),width:Math.max(.01,Math.abs(e.endX-e.startX)),fill:I.value.evaluationColors.enable?e.evaluationColor:e.endX>e.startX?`url(#grad_pos_${D.value})`:`url(#grad_neg_${D.value})`},null,8,xt)]))])):p(``,!0),[null,void 0].includes(e.start)?p(``,!0):(y(),m(`circle`,{key:1,cx:e.startX,cy:e.y,r:J.value,fill:I.value.gradient.show?I.value.evaluationColors.enable?e.evaluationGrad:`url(#start_grad_${D.value})`:I.value.evaluationColors.enable?e.evaluationColor:I.value.startColor,stroke:I.value.stroke,"stroke-width":I.value.strokeWidth},null,8,St)),[null,void 0].includes(e.end)?p(``,!0):(y(),m(`circle`,{key:2,cx:e.endX,cy:e.y,r:J.value,fill:I.value.gradient.show?I.value.evaluationColors.enable?e.evaluationGrad:`url(#end_grad_${D.value})`:I.value.evaluationColors.enable?e.evaluationColor:I.value.endColor,stroke:I.value.stroke,"stroke-width":I.value.strokeWidth},null,8,Ct))]))),128)),F.value.startLabels.show?(y(),m(`g`,wt,[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`start_label_${t}_${e.id}`},[[null,void 0].includes(e.start)?p(``,!0):(y(),m(`text`,{key:0,x:e.startX,y:e.y+J.value*2+F.value.startLabels.fontSize/2,fill:I.value.evaluationColors.enable&&F.value.startLabels.useEvaluationColor?e.evaluationColor:F.value.startLabels.useStartColor?I.value.startColor:F.value.startLabels.color,"font-size":F.value.startLabels.fontSize,"text-anchor":`middle`},C(w(c)(F.value.formatter,e.start,w(n)({p:F.value.prefix,v:e.start,s:F.value.suffix,r:F.value.startLabels.rounding}),{datapoint:e,seriesIndex:t})),9,Tt))]))),128))])):p(``,!0),F.value.endLabels.show?(y(),m(`g`,Et,[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`end_label_${t}_${e.id}`},[[null,void 0].includes(e.end)?p(``,!0):(y(),m(`text`,{key:0,x:e.endX,y:e.y-(J.value*2-F.value.startLabels.fontSize/3),fill:I.value.evaluationColors.enable&&F.value.endLabels.useEvaluationColor?e.evaluationColor:F.value.endLabels.useEndColor?I.value.endColor:F.value.endLabels.color,"font-size":F.value.endLabels.fontSize,"text-anchor":`middle`},C(w(c)(F.value.formatter,e.end,w(n)({p:F.value.prefix,v:e.end,s:F.value.suffix,r:F.value.endLabels.rounding}),{datapoint:e,seriesIndex:t})),9,Dt))]))),128))])):p(``,!0),h(`g`,null,[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`rect`,{x:q.value.left,y:q.value.top+t*Math.max(.1,q.value.rowHeight),width:Math.max(.1,q.value.width),height:Math.max(.1,q.value.rowHeight),fill:k.value===null?`transparent`:k.value===t?w(a)(R.value.highlighter.color,R.value.highlighter.opacity):`transparent`,onMouseenter:n=>er({datapoint:e,seriesIndex:t}),onMouseleave:n=>tr({datapoint:e,seriesIndex:t}),onClick:n=>nr({datapoint:e,seriesIndex:t})},null,40,Ot))),256))]),S(e.$slots,`svg`,{svg:{...q.value,isPrintingImg:w(Cn)||w(wn)||w(dr),isPrintingSvg:w(fr)}},void 0,!0)],46,tt)),e.$slots.hint?(y(),m(`div`,kt,[S(e.$slots,`hint`,Ve(Le({hint:N.value.a11y.translations.keyboardNavigation,isVisible:cn.value})),void 0,!0)])):p(``,!0)]),e.$slots.watermark?(y(),m(`div`,At,[S(e.$slots,`watermark`,Ve(Le({isPrinting:w(Cn)||w(wn)||w(dr)||w(fr)})),void 0,!0)])):p(``,!0),h(`div`,{id:`legend-bottom-${D.value}`},null,8,jt),en.value&&(R.value.legend.show||e.$slots.legend)?(y(),f(Pe,{key:6,to:R.value.legend.position===`top`?`#legend-top-${D.value}`:`#legend-bottom-${D.value}`},[h(`div`,{ref_key:`chartLegend`,ref:Jt},[S(e.$slots,`legend`,{legend:Bn.value},()=>[R.value.legend.show&&Gt.value?(y(),f(je,{key:`legend_${$t.value}`,legendSet:Bn.value,config:Vn.value,clickable:!1},{item:T(({legend:e})=>[h(`div`,{style:v(`display:flex;align-items:center;gap:4px;font-size:${R.value.legend.fontSize}px`)},[(y(),m(`svg`,{xmlns:w(ae),viewBox:`0 0 20 20`,height:R.value.legend.fontSize,width:R.value.legend.fontSize},[h(`circle`,{cx:10,cy:10,r:9,fill:e.color},null,8,Nt)],8,Mt)),w(fn)?p(``,!0):(y(),m(u,{key:0},[Ie(C(e.name),1)],64))],4)]),_:1},8,[`legendSet`,`config`])):p(``,!0)],!0)],512)],8,[`to`])):p(``,!0),e.$slots.source?(y(),m(`div`,{key:7,ref_key:`source`,ref:Yt,dir:`auto`},[S(e.$slots,`source`,{},void 0,!0)],512)):p(``,!0),Gt.value&&N.value.userOptions.buttons.table?(y(),f(We(ar.value.component),Re({key:8},ar.value.props,{ref_key:`tableUnit`,ref:tn,onClose:or}),Fe({content:T(()=>[(y(),f(w(Lt),{key:`table_${Qt.value}`,colNames:Q.value.colNames,head:Q.value.head,body:Q.value.body,config:Q.value.config,title:N.value.table.useDialog?``:ar.value.title,withCloseButton:!N.value.table.useDialog,isCursorPointer:un.value,onClose:or},{th:T(({th:e})=>[h(`div`,Pt,C(e),1)]),td:T(({td:e})=>[Ie(C(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[N.value.table.useDialog?{name:`title`,fn:T(()=>[Ie(C(ar.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:T(()=>[h(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[0]||=e=>Hn(N.value.userOptions.callbacks.csv),style:v({cursor:un.value?`pointer`:`default`})},[g(w(Ft),{name:`fileCsv`,stroke:ar.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):p(``,!0),S(e.$slots,`skeleton`,{},()=>[w(fn)?(y(),f(le,{key:0})):p(``,!0)],!0)],46,Ze))}},[[`__scopeId`,`data-v-
|
|
9
|
+
`,fill:I.value.evaluationColors.enable?e.evaluationColor:e.endX>e.startX?`url(#grad_pos_${D.value})`:`url(#grad_neg_${D.value})`},null,8,yt)])):(y(),m(`g`,bt,[h(`rect`,{x:e.endX>e.startX?e.startX:e.endX,y:e.y-I.value.link.strokeWidth/2,height:Math.max(.01,I.value.link.strokeWidth),width:Math.max(.01,Math.abs(e.endX-e.startX)),fill:I.value.evaluationColors.enable?e.evaluationColor:e.endX>e.startX?`url(#grad_pos_${D.value})`:`url(#grad_neg_${D.value})`},null,8,xt)]))])):p(``,!0),[null,void 0].includes(e.start)?p(``,!0):(y(),m(`circle`,{key:1,cx:e.startX,cy:e.y,r:J.value,fill:I.value.gradient.show?I.value.evaluationColors.enable?e.evaluationGrad:`url(#start_grad_${D.value})`:I.value.evaluationColors.enable?e.evaluationColor:I.value.startColor,stroke:I.value.stroke,"stroke-width":I.value.strokeWidth},null,8,St)),[null,void 0].includes(e.end)?p(``,!0):(y(),m(`circle`,{key:2,cx:e.endX,cy:e.y,r:J.value,fill:I.value.gradient.show?I.value.evaluationColors.enable?e.evaluationGrad:`url(#end_grad_${D.value})`:I.value.evaluationColors.enable?e.evaluationColor:I.value.endColor,stroke:I.value.stroke,"stroke-width":I.value.strokeWidth},null,8,Ct))]))),128)),F.value.startLabels.show?(y(),m(`g`,wt,[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`start_label_${t}_${e.id}`},[[null,void 0].includes(e.start)?p(``,!0):(y(),m(`text`,{key:0,x:e.startX,y:e.y+J.value*2+F.value.startLabels.fontSize/2,fill:I.value.evaluationColors.enable&&F.value.startLabels.useEvaluationColor?e.evaluationColor:F.value.startLabels.useStartColor?I.value.startColor:F.value.startLabels.color,"font-size":F.value.startLabels.fontSize,"text-anchor":`middle`},C(w(c)(F.value.formatter,e.start,w(n)({p:F.value.prefix,v:e.start,s:F.value.suffix,r:F.value.startLabels.rounding}),{datapoint:e,seriesIndex:t})),9,Tt))]))),128))])):p(``,!0),F.value.endLabels.show?(y(),m(`g`,Et,[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`end_label_${t}_${e.id}`},[[null,void 0].includes(e.end)?p(``,!0):(y(),m(`text`,{key:0,x:e.endX,y:e.y-(J.value*2-F.value.startLabels.fontSize/3),fill:I.value.evaluationColors.enable&&F.value.endLabels.useEvaluationColor?e.evaluationColor:F.value.endLabels.useEndColor?I.value.endColor:F.value.endLabels.color,"font-size":F.value.endLabels.fontSize,"text-anchor":`middle`},C(w(c)(F.value.formatter,e.end,w(n)({p:F.value.prefix,v:e.end,s:F.value.suffix,r:F.value.endLabels.rounding}),{datapoint:e,seriesIndex:t})),9,Dt))]))),128))])):p(``,!0),h(`g`,null,[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`rect`,{x:q.value.left,y:q.value.top+t*Math.max(.1,q.value.rowHeight),width:Math.max(.1,q.value.width),height:Math.max(.1,q.value.rowHeight),fill:k.value===null?`transparent`:k.value===t?w(a)(R.value.highlighter.color,R.value.highlighter.opacity):`transparent`,onMouseenter:n=>er({datapoint:e,seriesIndex:t}),onMouseleave:n=>tr({datapoint:e,seriesIndex:t}),onClick:n=>nr({datapoint:e,seriesIndex:t})},null,40,Ot))),256))]),S(e.$slots,`svg`,{svg:{...q.value,isPrintingImg:w(Cn)||w(wn)||w(dr),isPrintingSvg:w(fr)}},void 0,!0)],46,tt)),e.$slots.hint?(y(),m(`div`,kt,[S(e.$slots,`hint`,Ve(Le({hint:N.value.a11y.translations.keyboardNavigation,isVisible:cn.value})),void 0,!0)])):p(``,!0)]),e.$slots.watermark?(y(),m(`div`,At,[S(e.$slots,`watermark`,Ve(Le({isPrinting:w(Cn)||w(wn)||w(dr)||w(fr)})),void 0,!0)])):p(``,!0),h(`div`,{id:`legend-bottom-${D.value}`},null,8,jt),en.value&&(R.value.legend.show||e.$slots.legend)?(y(),f(Pe,{key:6,to:R.value.legend.position===`top`?`#legend-top-${D.value}`:`#legend-bottom-${D.value}`},[h(`div`,{ref_key:`chartLegend`,ref:Jt},[S(e.$slots,`legend`,{legend:Bn.value},()=>[R.value.legend.show&&Gt.value?(y(),f(je,{key:`legend_${$t.value}`,legendSet:Bn.value,config:Vn.value,clickable:!1},{item:T(({legend:e})=>[h(`div`,{style:v(`display:flex;align-items:center;gap:4px;font-size:${R.value.legend.fontSize}px`)},[(y(),m(`svg`,{xmlns:w(ae),viewBox:`0 0 20 20`,height:R.value.legend.fontSize,width:R.value.legend.fontSize},[h(`circle`,{cx:10,cy:10,r:9,fill:e.color},null,8,Nt)],8,Mt)),w(fn)?p(``,!0):(y(),m(u,{key:0},[Ie(C(e.name),1)],64))],4)]),_:1},8,[`legendSet`,`config`])):p(``,!0)],!0)],512)],8,[`to`])):p(``,!0),e.$slots.source?(y(),m(`div`,{key:7,ref_key:`source`,ref:Yt,dir:`auto`},[S(e.$slots,`source`,{},void 0,!0)],512)):p(``,!0),Gt.value&&N.value.userOptions.buttons.table?(y(),f(We(ar.value.component),Re({key:8},ar.value.props,{ref_key:`tableUnit`,ref:tn,onClose:or}),Fe({content:T(()=>[(y(),f(w(Lt),{key:`table_${Qt.value}`,colNames:Q.value.colNames,head:Q.value.head,body:Q.value.body,config:Q.value.config,title:N.value.table.useDialog?``:ar.value.title,withCloseButton:!N.value.table.useDialog,isCursorPointer:un.value,onClose:or},{th:T(({th:e})=>[h(`div`,Pt,C(e),1)]),td:T(({td:e})=>[Ie(C(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[N.value.table.useDialog?{name:`title`,fn:T(()=>[Ie(C(ar.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:T(()=>[h(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[0]||=e=>Hn(N.value.userOptions.callbacks.csv),style:v({cursor:un.value?`pointer`:`default`})},[g(w(Ft),{name:`fileCsv`,stroke:ar.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):p(``,!0),S(e.$slots,`skeleton`,{},()=>[w(fn)?(y(),f(le,{key:0})):p(``,!0)],!0)],46,Ze))}},[[`__scopeId`,`data-v-051b4e19`]]);export{Xe as n,Ft as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
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,Ht as a,S as o,X as s,Zt as c,at as l,b as u,i as d,in as f,n as ee,nn as p,nt as m,r as h,t as g,w as te,zt as _}from"./lib-rPeBMZrn.js";import{n as v,t as ne}from"./BaseScanner-8NdoBs7B.js";import{n as y,t as b}from"./useHints-BH9r_0Vd.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as re}from"./useNestedProp-DnGoh-XS.js";import{t as ie}from"./useThemeCheck-BKNRbGeC.js";import{t as ae}from"./chartImage-DPGnEuYM.js";import{n as oe}from"./Title-BliHuXfT.js";import{t as se}from"./useChartExport-BZts4KFb.js";import{n as ce,t as le}from"./tableIntegration-CNoJ1CIY.js";import{n as ue,t as de}from"./annotationSlots-BRR85CqJ.js";import{n as fe,t as pe}from"./userOptionsSlots-DYuo-E5m.js";import{t as me}from"./usePrinter-sVoTzet1.js";import{c as he}from"./canvas-lib-22VpOI4_.js";import{t as ge}from"./useResponsive-CENUxfEL.js";import{t as _e}from"./A11yDataTable-DWNlWXzs.js";import{t as ve}from"./useUserOptionState-CXlFnwPv.js";import{t as ye}from"./useChartAccessibility-DOMuYJfm.js";import{t as be}from"./Legend-DM0ClX3D.js";import{t as xe}from"./vue_ui_flow-kvV56Es9.js";import{Fragment as Se,Teleport as Ce,computed as S,createBlock as C,createCommentVNode as w,createElementBlock as T,createElementVNode as E,createSlots as we,createTextVNode as Te,createVNode as Ee,defineAsyncComponent as D,guardReactiveProps as O,mergeProps as De,nextTick as Oe,normalizeClass as ke,normalizeProps as k,normalizeStyle as A,onMounted as Ae,openBlock as j,ref as M,renderList as N,renderSlot as P,resolveDynamicComponent as je,toDisplayString as F,toRefs as Me,unref as I,watch as Ne,withCtx as L}from"vue";var Pe=/* @__PURE__ */ e({default:()=>tt}),Fe=[`id`],Ie=[`id`],Le={key:2,ref:`noTitle`,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},Re=[`id`],ze={style:{position:`relative`}},Be=[`xmlns`,`aria-describedby`,`viewBox`],Ve=[`width`,`height`],He=[`id`],Ue=[`stop-color`],We=[`stop-color`],Ge=[`d`,`fill`,`stroke`,`stroke-width`],Ke=[`data-a11y-node-id`,`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`,`rx`,`aria-label`,`onMouseenter`,`onMouseleave`,`onClick`],qe={key:1},Je=[`x`,`y`,`font-size`,`fill`],Ye=[`x`,`y`,`font-size`,`fill`],Xe={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ze={key:5,class:`vue-data-ui-watermark`},Qe=[`id`],$e=[`onClick`],et={style:{display:`flex`,"align-items":`center`}},tt=/*#__PURE__*/ x({__name:`vue-ui-flow`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:x,emit:Pe}){let tt=D(()=>import(`./Tooltip-C1q0Qoh7.js`)),nt=D(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),rt=D(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),it=D(()=>import(`./DataTable-0Vv-aGHD.js`)),at=D(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),ot=D(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),st=D(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),ct=D(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_flow:lt}=t(),{isThemeValid:ut,warnInvalidTheme:dt}=ie(),R=e,ft=Pe,z=M(s()),B=M(null),pt=M(0),mt=M(0),ht=M(!1),gt=M(``),_t=M(null),vt=M(null),yt=M(null),bt=M(null),xt=M(null),St=M(!1),Ct=M(null),wt=M(null),Tt=M(null),Et=M(null),V=M(null),Dt=M({x:0,y:0}),Ot=M(`pointer`),kt=M(!1),At=S(()=>!!R.dataset&&R.dataset.length);Ae(()=>{St.value=!0,zt()});let H=M(!1);function jt(e){H.value=e,pt.value+=1}let U=M(Ut()),W=S(()=>U.value.style.chart.nodes.labels),G=S(()=>U.value.style.chart.nodes),Mt=S(()=>U.value.style.chart.links),K=S(()=>U.value.style.chart);y({config:()=>U.value,dataset:()=>R.dataset,component:`VueUiFlow`,rules:[b.emptyArray,b.noHint]});let Nt=S(()=>U.value.userOptions.useCursorPointer),Pt=S(()=>f({defaultConfig:{userOptions:{show:!1},nodeCategories:{B:`A`,C:`B`},nodeCategoryColors:{A:`#CACACA`,B:`#AAAAAA`},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,legend:{backgroundColor:`transparent`},nodes:{labels:{show:!1},stroke:`#666666`},links:{stroke:`#666666`}}}},userConfig:U.value.skeletonConfig??{}})),{loading:Ft,FINAL_DATASET:It,manualLoading:Lt}=v({...Me(R),FINAL_CONFIG:U,prepareConfig:Ut,skeletonDataset:R.config?.skeletonDataset??[[`A`,`B`,2,`#CACACA`],[`B`,`C`,1,`#CACACA`],[`C`,`D`,.5,`#CACACA`],[`E`,`F`,1,`#AAAAAA`],[`F`,`G`,.5,`#AAAAAA`],[`G`,`H`,.25,`#AAAAAA`]],skeletonConfig:f({defaultConfig:U.value,userConfig:Pt.value})}),Rt=S(()=>U.value.debug);function zt(){if(_(R.dataset)&&(l({componentName:`VueUiFlow`,type:`dataset`,debug:Rt.value}),Lt.value=!0),_(R.dataset)||(Lt.value=U.value.loading),U.value.responsive){let e=he(()=>{let{width:e,height:t}=ge({chart:B.value,title:K.value.title.text?vt.value:null,legend:K.value.legend.show?_t.value:null,source:yt.value});requestAnimationFrame(()=>{Wt.value=e,Gt.value=t})});bt.value&&(xt.value&&bt.value.unobserve(xt.value),bt.value.disconnect()),bt.value=new ResizeObserver(e),xt.value=B.value.parentNode,bt.value.observe(xt.value)}}let{userOptionsVisible:Bt,setUserOptionsVisibility:Vt,keepUserOptionState:Ht}=ve({config:U.value}),{svgRef:q}=ye({config:K.value.title});function Ut(){let e=re({userConfig:R.config,defaultConfig:lt}),t=e,n=e.theme;if(n){if(!ut.value(e))dt(e),t=e;else{let r=re({userConfig:xe[n]||R.config,defaultConfig:e});t={...re({userConfig:R.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:p[n]||a}}}else t=e;return t.nodeCategories=R.config.nodeCategories||{},t.nodeCategoryColors=R.config.nodeCategoryColors||{},t}let Wt=M(K.value.width),Gt=M(K.value.height),Kt=c(R.config);Ne(()=>R.config,(e,t)=>{let n=c(e),r=n!==Kt;Kt=n;let i=Ut();r?(Ft.value||(U.value=i),Bt.value=!U.value.userOptions.showOnChartHover,zt(),mt.value+=1,J.value.showTable=U.value.table.show):(U.value.style.chart.tooltip=i.style.chart.tooltip,J.value.showTooltip=U.value.style.chart.tooltip.show)},{deep:!0}),Ne(()=>R.dataset,e=>{Array.isArray(e)&&e.length>0&&(Lt.value=!1)},{deep:!0});let{isPrinting:qt,isImaging:Jt,generatePdf:Yt,generateImage:Xt}=me({elementId:`flow_${z.value}`,fileName:K.value.title.text||`vue-ui-flow`,options:U.value.userOptions.print}),Zt=S(()=>U.value.userOptions.show&&!K.value.title.text),Qt=S(()=>te(U.value.customPalette)),$t=S(()=>G.value.width),J=M({showTable:U.value.table.show,showTooltip:K.value.tooltip.show});Ne(U,()=>{J.value={showTable:U.value.table.show,showTooltip:K.value.tooltip.show}},{immediate:!0});let en=S(()=>!It.value||!It.value.length?[]:It.value.map((e,t)=>[e[0],e[1],u(e[2]),e[3]?o(e[3]):Qt.value[t]||Qt.value[t%Qt.value.length]||a[t]||a[t%a.length]]));function tn(e){let t={},n={};function r(e,r){t[e]||(t[e]={level:null,inflow:0,outflow:0,children:[],color:null,uid:s()}),t[e].level===null&&(t[e].level=r),n[r]||(n[r]=[]),n[r].includes(e)||n[r].push(e)}e.forEach(([e,n,i])=>{let a=t[e]?.level??0,o=a+1;r(e,a),r(n,o),t[e].children.push({target:n,value:i}),t[e].outflow+=i,t[n].inflow+=i});let i=new Set(e.map(([e])=>e)),o=new Set(e.map(([,e])=>e)),c=Array.from(i).filter(e=>!o.has(e)),l={};c.forEach((e,t)=>{l[e]=Qt.value[t]||a[t%a.length]});let d={};e.forEach(([e,t,n,r])=>{r&&(d[e]=r,d[t]=r)}),Object.keys(t).forEach((e,n)=>{let r=U.value.nodeCategories?.[e],i=r?U.value.nodeCategoryColors?.[r]:null;t[e].color=d[e]||i||(c.includes(e)?l[e]:null)||a[n%a.length]}),Object.keys(t).forEach(e=>{t[e].value=Math.max(t[e].inflow,t[e].outflow)});let f=an.value,ee=on.value.width,p=on.value.height,m=Object.keys(n).map(Number).sort((e,t)=>e-t),h=m.length||1,g=h>1?ee/(h-1):0,te=Number($t.value),_=Number(G.value.gapPx??G.value.gap??8),v=Number(G.value.minHeight||0);function ne(e){let r=n[e],i=r.length;if(!i)return 1/0;let a=Math.max(0,(i-1)*_),o=Math.max(0,p-a),s=Math.min(v,i?o/i:0),c=0,l=r.map(e=>t[e].value||0),u=l.reduce((e,t)=>e+t,0);for(let e=0;e<12;e+=1){let e=u>0?(o-c)/u:0,t=[];for(let n=0;n<l.length;n+=1){let r=l[n];r<0||r*e<s&&t.push(n)}if(!t.length)return Math.max(0,e);for(let e of t)c+=s,u-=l[e],l[e]=-1;if(u<=0)return 0}return u>0?Math.max(0,(o-c)/u):0}let y=m.map(ne),b=y.length?Math.min(...y):0,x={};m.forEach(e=>{let r=n[e],i=r.length,a=Math.max(0,(i-1)*_),o=Math.max(0,p-a),c=Math.min(v,i?o/i:0),l=r.map(e=>Math.max(c,(t[e].value||0)*b)),u=l.reduce((e,t)=>e+t,0)+a,d=Math.max(0,(p-u)/2);r.forEach((n,r)=>{let a=l[r],o=f.left+e*g,c=d;x[n]={x:o,y:c,absoluteY:c,height:a,i:r,color:t[n].color,value:t[n].value,id:s()},d+=a,r<i-1&&(d+=_)})});let re=[],ie=f.top,ae={},oe={};Object.keys(t).forEach(e=>{ae[e]=x[e]?.y??0,oe[e]=0});let se=!!Mt.value.smooth,ce=.5;return m.forEach(e=>{n[e].forEach(e=>{let n=t[e],r=x[e];if(!n.children||!n.children.length)return;let i=r.y;n.children.forEach(({target:a,value:o})=>{let c=x[a],l=t[a],d=n.outflow>0?o/n.outflow:0,f=l.inflow>0?o/l.inflow:0,ee=u(i+ie),p=u(i+d*r.height+ie),m=ae[a],h=m+f*c.height;oe[a]+=o;let g=l.inflow>0&&oe[a]>=l.inflow-1e-6,_=c.y+c.height;(g||h>_-.25)&&(h=_);let v=u(m+ie),ne=u(h+ie),y=u(r.x+te),b=u(c.x),le;if(!se||b<=y)le=`M ${y} ${ee} L ${y} ${p} L ${b} ${ne} L ${b} ${v} Z`;else{let e=b-y,t=u(y+e*ce),n=u(b-e*ce),r=ee,i=v,a=p,o=ne;le=`M ${y} ${r} C ${t} ${r}, ${n} ${i}, ${b} ${i} L ${b} ${o} C ${n} ${o}, ${t} ${a}, ${y} ${a} Z`}re.push({id:s(),source:e,target:a,path:le,value:o,sourceColor:n.color,targetColor:t[a].color}),i=p-ie,ae[a]=h})})}),{nodeCoordinates:x,links:re}}let Y=S(()=>{let e=tn(It.value);return{nodes:Object.keys(e.nodeCoordinates).map((t,n)=>({...e.nodeCoordinates[t],name:t})),links:e.links}}),nn=S(()=>Wt.value),rn=S(()=>Gt.value),an=S(()=>K.value.padding),on=S(()=>({width:Math.max(0,nn.value-40-an.value.right-an.value.left),height:Math.max(0,rn.value-an.value.top-an.value.bottom)})),sn=S(()=>({width:nn.value,height:rn.value}));function cn(e){let t={},n={},r=/* @__PURE__ */ new Set;return en.value.forEach(([e,r,i])=>{t[e]||(t[e]=[]),n[r]||(n[r]=[]),t[e].push(r),n[r].push(e)}),t[e]&&t[e].forEach(e=>r.add(e)),n[e]&&n[e].forEach(e=>r.add(e)),Array.from(r).concat(e)}let X=M(null),Z=M(null),ln=M(null),un=M(!1),dn=M(null);function fn(){dn.value=null,X.value=null,Z.value=null,ht.value=!1,Et.value=null,V.value=null}function pn(e){if(!q.value||!e)return;let t=q.value.querySelector(`[data-a11y-node-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();Dt.value={x:n.left+n.width/2,y:n.top+n.height/2}}function mn(e,t,r=`pointer`,a=null){$.value=[],X.value=cn(e.name),Z.value=e.name,dn.value=e.id,Ot.value=r,Et.value=a,V.value=e.id;let o=e.name,s=en.value,c=0,l=0,u=[],f=[],ee=new Set(s.map(([e])=>e)),p=new Set(s.map(([,e])=>e)),m=Array.from(ee).filter(e=>!p.has(e)),h=s.filter(([e])=>m.includes(e)).reduce((e,[t,n,r])=>e+r,0),g={};Y.value.nodes.forEach(e=>{g[e.name]=e.color}),s.forEach(([e,t,n])=>{t===o&&(c+=n,u.push({source:e,value:n,color:g[e]})),e===o&&(l+=n,f.push({target:t,value:n,color:g[t]}))});let te=h>0?Math.max(c,l)/h*100:0,_={name:o,inflow:c,outflow:l,from:u,to:f,percentOfTotal:te,color:g[o]||`#000000`};U.value.events.datapointEnter&&U.value.events.datapointEnter({datapoint:_,seriesIndex:t}),ln.value={datapoint:_,config:U.value,seriesIndex:t,series:Y.value},ht.value=!0;let v=``,ne=K.value.tooltip.customFormat;if(un.value=!1,i(ne))try{let e=ne({datapoint:_,series:Y.value,config:U.value});typeof e==`string`&&(gt.value=e,un.value=!0)}catch{console.warn(`Custom format cannot be applied.`)}if(!un.value){let e=K.value.tooltip.showPercentage?`<div>${n({p:K.value.tooltip.translations.percentOfTotal,v:_.percentOfTotal,s:`%`,r:K.value.tooltip.roundingPercentage})}</div>`:``;v+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${K.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;"><span style="margin-right:4px; color:${_.color}">⏹</span>${_.name}${e}</div>`,_.from.length&&(v+=`<div>${K.value.tooltip.translations.from}</div>`,_.from.forEach(e=>{v+=`<div><span style="color:${e.color}">⏹←</span> ${e.source}: ${d(W.value.formatter,e.value,n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}</div>`})),_.to.length&&(v+=`<div style="margin-top:6px;">${K.value.tooltip.translations.to}</div>`,_.to.forEach(e=>{v+=`<div><span style="color:${e.color}">⏹→</span> ${e.target}: ${d(W.value.formatter,e.value,n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}</div>`})),gt.value=v}r===`keyboard`&&Oe(()=>{pn(e.id)})}function hn(e){let t=ln.value;U.value.events.datapointLeave&&U.value.events.datapointLeave({datapoint:t,seriesIndex:e}),!(Ot.value===`keyboard`&&V.value)&&(dn.value=null,X.value=null,Z.value=null,ht.value=!1)}function gn(e){let t=ln.value;U.value.events.datapointClick&&U.value.events.datapointClick({datapoint:t,seriesIndex:e})}let _n=S(()=>Y.value.links.map(({source:e,target:t,sourceColor:n,targetColor:r,value:i})=>({source:e,target:t,sourceColor:n,targetColor:r,value:i})));function vn(e=null){Oe(()=>{let t=_n.value.map((e,t)=>[[e.source],[e.target],[e.value]]),n=[[K.value.title.text],[K.value.title.subtitle.text],[[U.value.table.columnNames.source],[U.value.table.columnNames.target],[U.value.table.columnNames.value]]].concat(t),i=r(n);e?e(i):m({csvContent:i,title:K.value.title.text||`vue-ui-flow`})})}let yn=S(()=>{let e=[U.value.table.columnNames.source,U.value.table.columnNames.target,U.value.table.columnNames.value],t=_n.value.map((e,t)=>[{color:e.sourceColor,name:e.source,shape:`square`},{color:e.targetColor,name:e.target,shape:`square`},n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding})]),r={th:{backgroundColor:U.value.table.th.backgroundColor,color:U.value.table.th.color,outline:U.value.table.th.outline},td:{backgroundColor:U.value.table.td.backgroundColor,color:U.value.table.td.color,outline:U.value.table.td.outline},breakpoint:U.value.table.responsiveBreakpoint};return{colNames:[U.value.table.columnNames.source,U.value.table.columnNames.target,U.value.table.columnNames.value],head:e,body:t,config:r}}),bn=S(()=>({headers:yn.value?.colNames??[],rows:yn.value?.body??[]})),xn=S(()=>[...Y.value.nodes].map((e,t)=>({...e,index:t,centerX:e.x+$t.value/2,centerY:u(e.absoluteY)+K.value.padding.top+e.height/2})).sort((e,t)=>e.x===t.x?e.absoluteY-t.absoluteY:e.x-t.x)),Q=S(()=>{let e=[];return xn.value.forEach(t=>{let n=e.find(e=>Math.abs(e.x-t.x)<=1);n?n.nodes.push(t):e.push({x:t.x,nodes:[t]})}),e.forEach(e=>{e.nodes.sort((e,t)=>e.absoluteY-t.absoluteY)}),e.sort((e,t)=>e.x-t.x)}),Sn=S(()=>{let e=/* @__PURE__ */ new Map;return xn.value.forEach((t,n)=>{e.set(t.id,n)}),e});function Cn(){return Y.value}function wn(){J.value.showTable=!J.value.showTable}let Tn=M(!1);function En(){Tn.value=!Tn.value}function Dn(){J.value.showTooltip=!J.value.showTooltip}let On=S(()=>{let e=new Set(Y.value.nodes.map(e=>U.value.nodeCategories[e.name]||`__uncategorized__`));return Array.from(e).map(e=>({name:e,color:U.value.nodeCategoryColors[e]||a[0],shape:`square`,count:Y.value.nodes.filter(t=>(U.value.nodeCategories[t.name]||`__uncategorized__`)===e).length})).map((e,t)=>{let n=$.value.includes(t);return{...e,segregate:()=>An({legend:e,i:t}),isSegregated:n,opacity:$.value.length?n?1:.5:1,display:`${e.name} (${e.count})`}})}),kn=S(()=>On.value.filter(e=>e.name!==`__uncategorized__`)),$=M([]);function An({legend:e,i:t}){let n=e.name;X.value?.every(e=>U.value.nodeCategories[e]===n)?(X.value=null,Z.value=null,$.value=[]):($.value=[t],X.value=Y.value.nodes.filter(e=>U.value.nodeCategories[e.name]===n).map(e=>e.name),Z.value=null)}let jn=S(()=>({cy:`flow-legend`,backgroundColor:K.value.legend.backgroundColor,color:K.value.legend.color,fontSize:K.value.legend.fontSize,paddingBottom:K.value.legend.paddingBottom,fontWeight:K.value.legend.bold?`bold`:`normal`})),Mn=ae(B,()=>K.value.title.text),Nn=S(()=>le({config:U,style:K,mutableConfig:J,dialog:ct,accordion:rt,isFullscreen:H,parent:B,maxWidth:800,isCursorPointer:Nt}));Ne(()=>J.value.showTable,e=>ce(e,U,Ct));function Pn(){J.value.showTable=!1,wt.value&&wt.value.setTableIconState(!1)}let Fn=S(()=>kn.value.map(e=>({...e,name:e.display}))),In=S(()=>K.value.backgroundColor),Ln=S(()=>K.value.legend),Rn=S(()=>K.value.title),{isCallbackImaging:zn,isCallbackSvg:Bn,generateSvg:Vn,onGenerateImage:Hn}=se({svg:q,title:Rn,legend:Ln,legendItems:Fn,backgroundColor:In,getSvgCallback:()=>U.value.userOptions.callbacks.svg,generateImage:Xt});async function Un(){ft(`copyAlt`,{config:U.value,dataset:Y.value}),U.value.userOptions.callbacks.altCopy?await Promise.resolve(U.value.userOptions.callbacks.altCopy({config:U.value,dataset:Y.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Wn(e){return Q.value.findIndex(t=>t.nodes.some(t=>t.id===e))}function Gn(e,t){let n=Q.value[e];return n?n.nodes.findIndex(e=>e.id===t):-1}function Kn(e,t){let n=Q.value[e];if(!n||!n.nodes.length)return null;let r=n.nodes[0],i=Math.abs(r.centerY-t);for(let e=1;e<n.nodes.length;e+=1){let a=n.nodes[e],o=Math.abs(a.centerY-t);o<i&&(r=a,i=o)}return r}function qn(){Et.value=null,V.value=null,kt.value=!0}function Jn(){fn(),kt.value=!1}function Yn(e){if(!q.value||Tn.value||document.activeElement!==q.value||!xn.value.length)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){fn();return}if(a){if(Et.value===null)return;gn(Et.value);return}if(V.value===null){let e=Q.value[0]?.nodes?.[0];if(!e)return;let t=Sn.value.get(e.id)??0;mn(e,t,`keyboard`,t);return}let s=Sn.value.get(V.value);if(s===void 0)return;let c=xn.value[s];if(!c)return;let l=Wn(c.id);if(l<0)return;let u=null;if(r||i){let e=Gn(l,c.id);if(e<0)return;let t=Q.value[l];if(!t?.nodes?.length)return;let n=e+(i?1:-1);n<0&&(n=t.nodes.length-1),n>=t.nodes.length&&(n=0),u=t.nodes[n]}if(t||n){let e=l+(n?1:-1);e<0&&(e=Q.value.length-1),e>=Q.value.length&&(e=0),u=Kn(e,c.centerY)}if(!u)return;let d=Sn.value.get(u.id);d!==void 0&&mn(u,d,`keyboard`,d)}return x({getData:Cn,getImage:Mn,generateCsv:vn,generateImage:Xt,generateSvg:Vn,generatePdf:Yt,toggleTable:wn,toggleAnnotator:En,toggleTooltip:Dn,drillCategory:An,unselectNode:hn,toggleFullscreen:jt,copyAlt:Un}),(e,t)=>(j(),T(`div`,{ref_key:`flowChart`,ref:B,class:ke(`vue-data-ui-component vue-ui-flow ${H.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:A(`font-family:${U.value.style.fontFamily};width:100%; text-align:center;background:${K.value.backgroundColor}`),id:`flow_${z.value}`,onMouseenter:t[2]||=()=>I(Vt)(!0),onMouseleave:t[3]||=()=>{I(Vt)(!1),kt.value||fn()}},[E(`div`,{id:`chart-instructions-${z.value}`,class:`sr-only`},[E(`p`,null,F(U.value.a11y.translations.keyboardNavigation),1)],8,Ie),bn.value?.rows?.length?(j(),C(_e,{key:0,uid:z.value,head:bn.value.headers,body:bn.value.rows,notice:U.value.a11y.translations.tableAvailable,caption:U.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):w(``,!0),U.value.userOptions.buttons.annotator?(j(),C(I(at),{key:1,svgRef:I(q),backgroundColor:K.value.backgroundColor,color:K.value.color,active:Tn.value,palette:U.value.userOptions.annotatorPalette,isCursorPointer:Nt.value,onClose:En},we({_:2},[N(I(de),t=>({name:t,fn:L(n=>[P(e.$slots,t,k(O(I(ue)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`palette`,`isCursorPointer`])):w(``,!0),Zt.value?(j(),T(`div`,Le,null,512)):w(``,!0),K.value.title.text?(j(),T(`div`,{key:3,ref_key:`chartTitle`,ref:vt,style:`width:100%;background:transparent;padding-bottom:24px`},[(j(),C(oe,{key:`title_${mt.value}`,config:{title:{cy:`flow-title`,...K.value.title},subtitle:{cy:`flow-subtitle`,...K.value.title.subtitle}}},null,8,[`config`]))],512)):w(``,!0),E(`div`,{id:`legend-top-${z.value}`},null,8,Re),U.value.userOptions.show&&At.value&&(I(Ht)||I(Bt))?(j(),C(I(ot),{ref_key:`userOptionsRef`,ref:wt,key:`user_option_${pt.value}`,backgroundColor:K.value.backgroundColor,color:K.value.color,isPrinting:I(qt),isImaging:I(Jt),uid:z.value,hasPdf:U.value.userOptions.buttons.pdf,hasXls:U.value.userOptions.buttons.csv,hasImg:U.value.userOptions.buttons.img,hasSvg:U.value.userOptions.buttons.svg,hasTable:U.value.userOptions.buttons.table,callbacks:U.value.userOptions.callbacks,hasFullscreen:U.value.userOptions.buttons.fullscreen,hasAltCopy:U.value.userOptions.buttons.altCopy,isFullscreen:H.value,titles:{...U.value.userOptions.buttonTitles},chartElement:B.value,position:U.value.userOptions.position,hasAnnotator:U.value.userOptions.buttons.annotator,printScale:U.value.userOptions.print.scale,isAnnotation:Tn.value,hasTooltip:K.value.tooltip.show&&U.value.userOptions.buttons.tooltip,isTooltip:J.value.showTooltip,tableDialog:U.value.table.useDialog,isCursorPointer:Nt.value,onToggleTooltip:Dn,onToggleFullscreen:jt,onGeneratePdf:I(Yt),onGenerateCsv:vn,onGenerateImage:I(Hn),onGenerateSvg:I(Vn),onToggleTable:wn,onToggleAnnotator:En,onCopyAlt:Un,style:A({visibility:I(Ht)?I(Bt)?`visible`:`hidden`:`visible`})},we({_:2},[N(I(fe)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:L(n=>[P(e.$slots,t,k(O(I(pe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.callbacks.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.printScale.isAnnotation.hasTooltip.isTooltip.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):w(``,!0),E(`div`,ze,[(j(),T(`svg`,{ref_key:`svgRef`,ref:q,xmlns:I(g),"aria-describedby":`chart-instructions-${z.value}`,viewBox:`0 0 ${sn.value.width} ${sn.value.height}`,class:ke({"vue-data-ui-fullscreen--on":H.value,"vue-data-ui-fulscreen--off":!H.value}),style:A({maxWidth:`100%`,overflow:`visible`,background:`transparent`,color:K.value.color}),tabindex:`0`,onFocus:qn,onBlur:Jn,onKeydown:Yn},[Ee(I(st)),P(e.$slots,`svg-underlayer`,{svg:{...sn.value,isPrintingImg:I(qt)||I(Jt)||I(zn),isPrintingSvg:I(Bn)}},void 0,!0),e.$slots[`chart-background`]?(j(),T(`foreignObject`,{key:0,x:0,y:0,width:sn.value.width,height:sn.value.height,style:{pointerEvents:`none`}},[P(e.$slots,`chart-background`,{},void 0,!0)],8,Ve)):w(``,!0),E(`defs`,null,[(j(!0),T(Se,null,N(Y.value.links,(e,t)=>(j(),T(`linearGradient`,{id:e.id,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`},[E(`stop`,{offset:`0%`,"stop-color":e.sourceColor},null,8,Ue),E(`stop`,{offset:`100%`,"stop-color":e.targetColor},null,8,We)],8,He))),256))]),(j(!0),T(Se,null,N(Y.value.links,e=>(j(),T(`path`,{class:`vue-ui-flow-link`,d:e.path,"stroke-linejoin":`round`,"stroke-miterlimit":`1`,fill:`url(#${e.id})`,stroke:Mt.value.stroke,"stroke-width":Mt.value.strokeWidth,style:A(`
|
|
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,Ht as a,S as o,X as s,Zt as c,at as l,b as u,i as d,in as f,n as ee,nn as p,nt as m,r as h,t as g,w as te,zt as _}from"./lib-rPeBMZrn.js";import{n as v,t as ne}from"./BaseScanner-8NdoBs7B.js";import{n as y,t as b}from"./useHints-C-TwxM0Y.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as re}from"./useNestedProp-DnGoh-XS.js";import{t as ie}from"./useThemeCheck-BKNRbGeC.js";import{t as ae}from"./chartImage-DPGnEuYM.js";import{n as oe}from"./Title-BliHuXfT.js";import{t as se}from"./useChartExport-BZts4KFb.js";import{n as ce,t as le}from"./tableIntegration-CNoJ1CIY.js";import{n as ue,t as de}from"./annotationSlots-BRR85CqJ.js";import{n as fe,t as pe}from"./userOptionsSlots-DYuo-E5m.js";import{t as me}from"./usePrinter-DVf3YcG5.js";import{c as he}from"./canvas-lib-22VpOI4_.js";import{t as ge}from"./useResponsive-CENUxfEL.js";import{t as _e}from"./A11yDataTable-DWNlWXzs.js";import{t as ve}from"./useUserOptionState-CXlFnwPv.js";import{t as ye}from"./useChartAccessibility-DOMuYJfm.js";import{t as be}from"./Legend-DM0ClX3D.js";import{t as xe}from"./vue_ui_flow-kvV56Es9.js";import{Fragment as Se,Teleport as Ce,computed as S,createBlock as C,createCommentVNode as w,createElementBlock as T,createElementVNode as E,createSlots as we,createTextVNode as Te,createVNode as Ee,defineAsyncComponent as D,guardReactiveProps as O,mergeProps as De,nextTick as Oe,normalizeClass as ke,normalizeProps as k,normalizeStyle as A,onMounted as Ae,openBlock as j,ref as M,renderList as N,renderSlot as P,resolveDynamicComponent as je,toDisplayString as F,toRefs as Me,unref as I,watch as Ne,withCtx as L}from"vue";var Pe=/* @__PURE__ */ e({default:()=>tt}),Fe=[`id`],Ie=[`id`],Le={key:2,ref:`noTitle`,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},Re=[`id`],ze={style:{position:`relative`}},Be=[`xmlns`,`aria-describedby`,`viewBox`],Ve=[`width`,`height`],He=[`id`],Ue=[`stop-color`],We=[`stop-color`],Ge=[`d`,`fill`,`stroke`,`stroke-width`],Ke=[`data-a11y-node-id`,`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`,`rx`,`aria-label`,`onMouseenter`,`onMouseleave`,`onClick`],qe={key:1},Je=[`x`,`y`,`font-size`,`fill`],Ye=[`x`,`y`,`font-size`,`fill`],Xe={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ze={key:5,class:`vue-data-ui-watermark`},Qe=[`id`],$e=[`onClick`],et={style:{display:`flex`,"align-items":`center`}},tt=/*#__PURE__*/ x({__name:`vue-ui-flow`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:x,emit:Pe}){let tt=D(()=>import(`./Tooltip-C1q0Qoh7.js`)),nt=D(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),rt=D(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),it=D(()=>import(`./DataTable-0Vv-aGHD.js`)),at=D(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),ot=D(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),st=D(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),ct=D(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_flow:lt}=t(),{isThemeValid:ut,warnInvalidTheme:dt}=ie(),R=e,ft=Pe,z=M(s()),B=M(null),pt=M(0),mt=M(0),ht=M(!1),gt=M(``),_t=M(null),vt=M(null),yt=M(null),bt=M(null),xt=M(null),St=M(!1),Ct=M(null),wt=M(null),Tt=M(null),Et=M(null),V=M(null),Dt=M({x:0,y:0}),Ot=M(`pointer`),kt=M(!1),At=S(()=>!!R.dataset&&R.dataset.length);Ae(()=>{St.value=!0,zt()});let H=M(!1);function jt(e){H.value=e,pt.value+=1}let U=M(Ut()),W=S(()=>U.value.style.chart.nodes.labels),G=S(()=>U.value.style.chart.nodes),Mt=S(()=>U.value.style.chart.links),K=S(()=>U.value.style.chart);y({config:()=>U.value,dataset:()=>R.dataset,component:`VueUiFlow`,rules:[b.emptyArray,b.noHint]});let Nt=S(()=>U.value.userOptions.useCursorPointer),Pt=S(()=>f({defaultConfig:{userOptions:{show:!1},nodeCategories:{B:`A`,C:`B`},nodeCategoryColors:{A:`#CACACA`,B:`#AAAAAA`},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,legend:{backgroundColor:`transparent`},nodes:{labels:{show:!1},stroke:`#666666`},links:{stroke:`#666666`}}}},userConfig:U.value.skeletonConfig??{}})),{loading:Ft,FINAL_DATASET:It,manualLoading:Lt}=v({...Me(R),FINAL_CONFIG:U,prepareConfig:Ut,skeletonDataset:R.config?.skeletonDataset??[[`A`,`B`,2,`#CACACA`],[`B`,`C`,1,`#CACACA`],[`C`,`D`,.5,`#CACACA`],[`E`,`F`,1,`#AAAAAA`],[`F`,`G`,.5,`#AAAAAA`],[`G`,`H`,.25,`#AAAAAA`]],skeletonConfig:f({defaultConfig:U.value,userConfig:Pt.value})}),Rt=S(()=>U.value.debug);function zt(){if(_(R.dataset)&&(l({componentName:`VueUiFlow`,type:`dataset`,debug:Rt.value}),Lt.value=!0),_(R.dataset)||(Lt.value=U.value.loading),U.value.responsive){let e=he(()=>{let{width:e,height:t}=ge({chart:B.value,title:K.value.title.text?vt.value:null,legend:K.value.legend.show?_t.value:null,source:yt.value});requestAnimationFrame(()=>{Wt.value=e,Gt.value=t})});bt.value&&(xt.value&&bt.value.unobserve(xt.value),bt.value.disconnect()),bt.value=new ResizeObserver(e),xt.value=B.value.parentNode,bt.value.observe(xt.value)}}let{userOptionsVisible:Bt,setUserOptionsVisibility:Vt,keepUserOptionState:Ht}=ve({config:U.value}),{svgRef:q}=ye({config:K.value.title});function Ut(){let e=re({userConfig:R.config,defaultConfig:lt}),t=e,n=e.theme;if(n){if(!ut.value(e))dt(e),t=e;else{let r=re({userConfig:xe[n]||R.config,defaultConfig:e});t={...re({userConfig:R.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:p[n]||a}}}else t=e;return t.nodeCategories=R.config.nodeCategories||{},t.nodeCategoryColors=R.config.nodeCategoryColors||{},t}let Wt=M(K.value.width),Gt=M(K.value.height),Kt=c(R.config);Ne(()=>R.config,(e,t)=>{let n=c(e),r=n!==Kt;Kt=n;let i=Ut();r?(Ft.value||(U.value=i),Bt.value=!U.value.userOptions.showOnChartHover,zt(),mt.value+=1,J.value.showTable=U.value.table.show):(U.value.style.chart.tooltip=i.style.chart.tooltip,J.value.showTooltip=U.value.style.chart.tooltip.show)},{deep:!0}),Ne(()=>R.dataset,e=>{Array.isArray(e)&&e.length>0&&(Lt.value=!1)},{deep:!0});let{isPrinting:qt,isImaging:Jt,generatePdf:Yt,generateImage:Xt}=me({elementId:`flow_${z.value}`,fileName:K.value.title.text||`vue-ui-flow`,options:U.value.userOptions.print}),Zt=S(()=>U.value.userOptions.show&&!K.value.title.text),Qt=S(()=>te(U.value.customPalette)),$t=S(()=>G.value.width),J=M({showTable:U.value.table.show,showTooltip:K.value.tooltip.show});Ne(U,()=>{J.value={showTable:U.value.table.show,showTooltip:K.value.tooltip.show}},{immediate:!0});let en=S(()=>!It.value||!It.value.length?[]:It.value.map((e,t)=>[e[0],e[1],u(e[2]),e[3]?o(e[3]):Qt.value[t]||Qt.value[t%Qt.value.length]||a[t]||a[t%a.length]]));function tn(e){let t={},n={};function r(e,r){t[e]||(t[e]={level:null,inflow:0,outflow:0,children:[],color:null,uid:s()}),t[e].level===null&&(t[e].level=r),n[r]||(n[r]=[]),n[r].includes(e)||n[r].push(e)}e.forEach(([e,n,i])=>{let a=t[e]?.level??0,o=a+1;r(e,a),r(n,o),t[e].children.push({target:n,value:i}),t[e].outflow+=i,t[n].inflow+=i});let i=new Set(e.map(([e])=>e)),o=new Set(e.map(([,e])=>e)),c=Array.from(i).filter(e=>!o.has(e)),l={};c.forEach((e,t)=>{l[e]=Qt.value[t]||a[t%a.length]});let d={};e.forEach(([e,t,n,r])=>{r&&(d[e]=r,d[t]=r)}),Object.keys(t).forEach((e,n)=>{let r=U.value.nodeCategories?.[e],i=r?U.value.nodeCategoryColors?.[r]:null;t[e].color=d[e]||i||(c.includes(e)?l[e]:null)||a[n%a.length]}),Object.keys(t).forEach(e=>{t[e].value=Math.max(t[e].inflow,t[e].outflow)});let f=an.value,ee=on.value.width,p=on.value.height,m=Object.keys(n).map(Number).sort((e,t)=>e-t),h=m.length||1,g=h>1?ee/(h-1):0,te=Number($t.value),_=Number(G.value.gapPx??G.value.gap??8),v=Number(G.value.minHeight||0);function ne(e){let r=n[e],i=r.length;if(!i)return 1/0;let a=Math.max(0,(i-1)*_),o=Math.max(0,p-a),s=Math.min(v,i?o/i:0),c=0,l=r.map(e=>t[e].value||0),u=l.reduce((e,t)=>e+t,0);for(let e=0;e<12;e+=1){let e=u>0?(o-c)/u:0,t=[];for(let n=0;n<l.length;n+=1){let r=l[n];r<0||r*e<s&&t.push(n)}if(!t.length)return Math.max(0,e);for(let e of t)c+=s,u-=l[e],l[e]=-1;if(u<=0)return 0}return u>0?Math.max(0,(o-c)/u):0}let y=m.map(ne),b=y.length?Math.min(...y):0,x={};m.forEach(e=>{let r=n[e],i=r.length,a=Math.max(0,(i-1)*_),o=Math.max(0,p-a),c=Math.min(v,i?o/i:0),l=r.map(e=>Math.max(c,(t[e].value||0)*b)),u=l.reduce((e,t)=>e+t,0)+a,d=Math.max(0,(p-u)/2);r.forEach((n,r)=>{let a=l[r],o=f.left+e*g,c=d;x[n]={x:o,y:c,absoluteY:c,height:a,i:r,color:t[n].color,value:t[n].value,id:s()},d+=a,r<i-1&&(d+=_)})});let re=[],ie=f.top,ae={},oe={};Object.keys(t).forEach(e=>{ae[e]=x[e]?.y??0,oe[e]=0});let se=!!Mt.value.smooth,ce=.5;return m.forEach(e=>{n[e].forEach(e=>{let n=t[e],r=x[e];if(!n.children||!n.children.length)return;let i=r.y;n.children.forEach(({target:a,value:o})=>{let c=x[a],l=t[a],d=n.outflow>0?o/n.outflow:0,f=l.inflow>0?o/l.inflow:0,ee=u(i+ie),p=u(i+d*r.height+ie),m=ae[a],h=m+f*c.height;oe[a]+=o;let g=l.inflow>0&&oe[a]>=l.inflow-1e-6,_=c.y+c.height;(g||h>_-.25)&&(h=_);let v=u(m+ie),ne=u(h+ie),y=u(r.x+te),b=u(c.x),le;if(!se||b<=y)le=`M ${y} ${ee} L ${y} ${p} L ${b} ${ne} L ${b} ${v} Z`;else{let e=b-y,t=u(y+e*ce),n=u(b-e*ce),r=ee,i=v,a=p,o=ne;le=`M ${y} ${r} C ${t} ${r}, ${n} ${i}, ${b} ${i} L ${b} ${o} C ${n} ${o}, ${t} ${a}, ${y} ${a} Z`}re.push({id:s(),source:e,target:a,path:le,value:o,sourceColor:n.color,targetColor:t[a].color}),i=p-ie,ae[a]=h})})}),{nodeCoordinates:x,links:re}}let Y=S(()=>{let e=tn(It.value);return{nodes:Object.keys(e.nodeCoordinates).map((t,n)=>({...e.nodeCoordinates[t],name:t})),links:e.links}}),nn=S(()=>Wt.value),rn=S(()=>Gt.value),an=S(()=>K.value.padding),on=S(()=>({width:Math.max(0,nn.value-40-an.value.right-an.value.left),height:Math.max(0,rn.value-an.value.top-an.value.bottom)})),sn=S(()=>({width:nn.value,height:rn.value}));function cn(e){let t={},n={},r=/* @__PURE__ */ new Set;return en.value.forEach(([e,r,i])=>{t[e]||(t[e]=[]),n[r]||(n[r]=[]),t[e].push(r),n[r].push(e)}),t[e]&&t[e].forEach(e=>r.add(e)),n[e]&&n[e].forEach(e=>r.add(e)),Array.from(r).concat(e)}let X=M(null),Z=M(null),ln=M(null),un=M(!1),dn=M(null);function fn(){dn.value=null,X.value=null,Z.value=null,ht.value=!1,Et.value=null,V.value=null}function pn(e){if(!q.value||!e)return;let t=q.value.querySelector(`[data-a11y-node-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();Dt.value={x:n.left+n.width/2,y:n.top+n.height/2}}function mn(e,t,r=`pointer`,a=null){$.value=[],X.value=cn(e.name),Z.value=e.name,dn.value=e.id,Ot.value=r,Et.value=a,V.value=e.id;let o=e.name,s=en.value,c=0,l=0,u=[],f=[],ee=new Set(s.map(([e])=>e)),p=new Set(s.map(([,e])=>e)),m=Array.from(ee).filter(e=>!p.has(e)),h=s.filter(([e])=>m.includes(e)).reduce((e,[t,n,r])=>e+r,0),g={};Y.value.nodes.forEach(e=>{g[e.name]=e.color}),s.forEach(([e,t,n])=>{t===o&&(c+=n,u.push({source:e,value:n,color:g[e]})),e===o&&(l+=n,f.push({target:t,value:n,color:g[t]}))});let te=h>0?Math.max(c,l)/h*100:0,_={name:o,inflow:c,outflow:l,from:u,to:f,percentOfTotal:te,color:g[o]||`#000000`};U.value.events.datapointEnter&&U.value.events.datapointEnter({datapoint:_,seriesIndex:t}),ln.value={datapoint:_,config:U.value,seriesIndex:t,series:Y.value},ht.value=!0;let v=``,ne=K.value.tooltip.customFormat;if(un.value=!1,i(ne))try{let e=ne({datapoint:_,series:Y.value,config:U.value});typeof e==`string`&&(gt.value=e,un.value=!0)}catch{console.warn(`Custom format cannot be applied.`)}if(!un.value){let e=K.value.tooltip.showPercentage?`<div>${n({p:K.value.tooltip.translations.percentOfTotal,v:_.percentOfTotal,s:`%`,r:K.value.tooltip.roundingPercentage})}</div>`:``;v+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${K.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;"><span style="margin-right:4px; color:${_.color}">⏹</span>${_.name}${e}</div>`,_.from.length&&(v+=`<div>${K.value.tooltip.translations.from}</div>`,_.from.forEach(e=>{v+=`<div><span style="color:${e.color}">⏹←</span> ${e.source}: ${d(W.value.formatter,e.value,n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}</div>`})),_.to.length&&(v+=`<div style="margin-top:6px;">${K.value.tooltip.translations.to}</div>`,_.to.forEach(e=>{v+=`<div><span style="color:${e.color}">⏹→</span> ${e.target}: ${d(W.value.formatter,e.value,n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}</div>`})),gt.value=v}r===`keyboard`&&Oe(()=>{pn(e.id)})}function hn(e){let t=ln.value;U.value.events.datapointLeave&&U.value.events.datapointLeave({datapoint:t,seriesIndex:e}),!(Ot.value===`keyboard`&&V.value)&&(dn.value=null,X.value=null,Z.value=null,ht.value=!1)}function gn(e){let t=ln.value;U.value.events.datapointClick&&U.value.events.datapointClick({datapoint:t,seriesIndex:e})}let _n=S(()=>Y.value.links.map(({source:e,target:t,sourceColor:n,targetColor:r,value:i})=>({source:e,target:t,sourceColor:n,targetColor:r,value:i})));function vn(e=null){Oe(()=>{let t=_n.value.map((e,t)=>[[e.source],[e.target],[e.value]]),n=[[K.value.title.text],[K.value.title.subtitle.text],[[U.value.table.columnNames.source],[U.value.table.columnNames.target],[U.value.table.columnNames.value]]].concat(t),i=r(n);e?e(i):m({csvContent:i,title:K.value.title.text||`vue-ui-flow`})})}let yn=S(()=>{let e=[U.value.table.columnNames.source,U.value.table.columnNames.target,U.value.table.columnNames.value],t=_n.value.map((e,t)=>[{color:e.sourceColor,name:e.source,shape:`square`},{color:e.targetColor,name:e.target,shape:`square`},n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding})]),r={th:{backgroundColor:U.value.table.th.backgroundColor,color:U.value.table.th.color,outline:U.value.table.th.outline},td:{backgroundColor:U.value.table.td.backgroundColor,color:U.value.table.td.color,outline:U.value.table.td.outline},breakpoint:U.value.table.responsiveBreakpoint};return{colNames:[U.value.table.columnNames.source,U.value.table.columnNames.target,U.value.table.columnNames.value],head:e,body:t,config:r}}),bn=S(()=>({headers:yn.value?.colNames??[],rows:yn.value?.body??[]})),xn=S(()=>[...Y.value.nodes].map((e,t)=>({...e,index:t,centerX:e.x+$t.value/2,centerY:u(e.absoluteY)+K.value.padding.top+e.height/2})).sort((e,t)=>e.x===t.x?e.absoluteY-t.absoluteY:e.x-t.x)),Q=S(()=>{let e=[];return xn.value.forEach(t=>{let n=e.find(e=>Math.abs(e.x-t.x)<=1);n?n.nodes.push(t):e.push({x:t.x,nodes:[t]})}),e.forEach(e=>{e.nodes.sort((e,t)=>e.absoluteY-t.absoluteY)}),e.sort((e,t)=>e.x-t.x)}),Sn=S(()=>{let e=/* @__PURE__ */ new Map;return xn.value.forEach((t,n)=>{e.set(t.id,n)}),e});function Cn(){return Y.value}function wn(){J.value.showTable=!J.value.showTable}let Tn=M(!1);function En(){Tn.value=!Tn.value}function Dn(){J.value.showTooltip=!J.value.showTooltip}let On=S(()=>{let e=new Set(Y.value.nodes.map(e=>U.value.nodeCategories[e.name]||`__uncategorized__`));return Array.from(e).map(e=>({name:e,color:U.value.nodeCategoryColors[e]||a[0],shape:`square`,count:Y.value.nodes.filter(t=>(U.value.nodeCategories[t.name]||`__uncategorized__`)===e).length})).map((e,t)=>{let n=$.value.includes(t);return{...e,segregate:()=>An({legend:e,i:t}),isSegregated:n,opacity:$.value.length?n?1:.5:1,display:`${e.name} (${e.count})`}})}),kn=S(()=>On.value.filter(e=>e.name!==`__uncategorized__`)),$=M([]);function An({legend:e,i:t}){let n=e.name;X.value?.every(e=>U.value.nodeCategories[e]===n)?(X.value=null,Z.value=null,$.value=[]):($.value=[t],X.value=Y.value.nodes.filter(e=>U.value.nodeCategories[e.name]===n).map(e=>e.name),Z.value=null)}let jn=S(()=>({cy:`flow-legend`,backgroundColor:K.value.legend.backgroundColor,color:K.value.legend.color,fontSize:K.value.legend.fontSize,paddingBottom:K.value.legend.paddingBottom,fontWeight:K.value.legend.bold?`bold`:`normal`})),Mn=ae(B,()=>K.value.title.text),Nn=S(()=>le({config:U,style:K,mutableConfig:J,dialog:ct,accordion:rt,isFullscreen:H,parent:B,maxWidth:800,isCursorPointer:Nt}));Ne(()=>J.value.showTable,e=>ce(e,U,Ct));function Pn(){J.value.showTable=!1,wt.value&&wt.value.setTableIconState(!1)}let Fn=S(()=>kn.value.map(e=>({...e,name:e.display}))),In=S(()=>K.value.backgroundColor),Ln=S(()=>K.value.legend),Rn=S(()=>K.value.title),{isCallbackImaging:zn,isCallbackSvg:Bn,generateSvg:Vn,onGenerateImage:Hn}=se({svg:q,title:Rn,legend:Ln,legendItems:Fn,backgroundColor:In,getSvgCallback:()=>U.value.userOptions.callbacks.svg,generateImage:Xt});async function Un(){ft(`copyAlt`,{config:U.value,dataset:Y.value}),U.value.userOptions.callbacks.altCopy?await Promise.resolve(U.value.userOptions.callbacks.altCopy({config:U.value,dataset:Y.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Wn(e){return Q.value.findIndex(t=>t.nodes.some(t=>t.id===e))}function Gn(e,t){let n=Q.value[e];return n?n.nodes.findIndex(e=>e.id===t):-1}function Kn(e,t){let n=Q.value[e];if(!n||!n.nodes.length)return null;let r=n.nodes[0],i=Math.abs(r.centerY-t);for(let e=1;e<n.nodes.length;e+=1){let a=n.nodes[e],o=Math.abs(a.centerY-t);o<i&&(r=a,i=o)}return r}function qn(){Et.value=null,V.value=null,kt.value=!0}function Jn(){fn(),kt.value=!1}function Yn(e){if(!q.value||Tn.value||document.activeElement!==q.value||!xn.value.length)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){fn();return}if(a){if(Et.value===null)return;gn(Et.value);return}if(V.value===null){let e=Q.value[0]?.nodes?.[0];if(!e)return;let t=Sn.value.get(e.id)??0;mn(e,t,`keyboard`,t);return}let s=Sn.value.get(V.value);if(s===void 0)return;let c=xn.value[s];if(!c)return;let l=Wn(c.id);if(l<0)return;let u=null;if(r||i){let e=Gn(l,c.id);if(e<0)return;let t=Q.value[l];if(!t?.nodes?.length)return;let n=e+(i?1:-1);n<0&&(n=t.nodes.length-1),n>=t.nodes.length&&(n=0),u=t.nodes[n]}if(t||n){let e=l+(n?1:-1);e<0&&(e=Q.value.length-1),e>=Q.value.length&&(e=0),u=Kn(e,c.centerY)}if(!u)return;let d=Sn.value.get(u.id);d!==void 0&&mn(u,d,`keyboard`,d)}return x({getData:Cn,getImage:Mn,generateCsv:vn,generateImage:Xt,generateSvg:Vn,generatePdf:Yt,toggleTable:wn,toggleAnnotator:En,toggleTooltip:Dn,drillCategory:An,unselectNode:hn,toggleFullscreen:jt,copyAlt:Un}),(e,t)=>(j(),T(`div`,{ref_key:`flowChart`,ref:B,class:ke(`vue-data-ui-component vue-ui-flow ${H.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:A(`font-family:${U.value.style.fontFamily};width:100%; text-align:center;background:${K.value.backgroundColor}`),id:`flow_${z.value}`,onMouseenter:t[2]||=()=>I(Vt)(!0),onMouseleave:t[3]||=()=>{I(Vt)(!1),kt.value||fn()}},[E(`div`,{id:`chart-instructions-${z.value}`,class:`sr-only`},[E(`p`,null,F(U.value.a11y.translations.keyboardNavigation),1)],8,Ie),bn.value?.rows?.length?(j(),C(_e,{key:0,uid:z.value,head:bn.value.headers,body:bn.value.rows,notice:U.value.a11y.translations.tableAvailable,caption:U.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):w(``,!0),U.value.userOptions.buttons.annotator?(j(),C(I(at),{key:1,svgRef:I(q),backgroundColor:K.value.backgroundColor,color:K.value.color,active:Tn.value,palette:U.value.userOptions.annotatorPalette,isCursorPointer:Nt.value,onClose:En},we({_:2},[N(I(de),t=>({name:t,fn:L(n=>[P(e.$slots,t,k(O(I(ue)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`palette`,`isCursorPointer`])):w(``,!0),Zt.value?(j(),T(`div`,Le,null,512)):w(``,!0),K.value.title.text?(j(),T(`div`,{key:3,ref_key:`chartTitle`,ref:vt,style:`width:100%;background:transparent;padding-bottom:24px`},[(j(),C(oe,{key:`title_${mt.value}`,config:{title:{cy:`flow-title`,...K.value.title},subtitle:{cy:`flow-subtitle`,...K.value.title.subtitle}}},null,8,[`config`]))],512)):w(``,!0),E(`div`,{id:`legend-top-${z.value}`},null,8,Re),U.value.userOptions.show&&At.value&&(I(Ht)||I(Bt))?(j(),C(I(ot),{ref_key:`userOptionsRef`,ref:wt,key:`user_option_${pt.value}`,backgroundColor:K.value.backgroundColor,color:K.value.color,isPrinting:I(qt),isImaging:I(Jt),uid:z.value,hasPdf:U.value.userOptions.buttons.pdf,hasXls:U.value.userOptions.buttons.csv,hasImg:U.value.userOptions.buttons.img,hasSvg:U.value.userOptions.buttons.svg,hasTable:U.value.userOptions.buttons.table,callbacks:U.value.userOptions.callbacks,hasFullscreen:U.value.userOptions.buttons.fullscreen,hasAltCopy:U.value.userOptions.buttons.altCopy,isFullscreen:H.value,titles:{...U.value.userOptions.buttonTitles},chartElement:B.value,position:U.value.userOptions.position,hasAnnotator:U.value.userOptions.buttons.annotator,printScale:U.value.userOptions.print.scale,isAnnotation:Tn.value,hasTooltip:K.value.tooltip.show&&U.value.userOptions.buttons.tooltip,isTooltip:J.value.showTooltip,tableDialog:U.value.table.useDialog,isCursorPointer:Nt.value,onToggleTooltip:Dn,onToggleFullscreen:jt,onGeneratePdf:I(Yt),onGenerateCsv:vn,onGenerateImage:I(Hn),onGenerateSvg:I(Vn),onToggleTable:wn,onToggleAnnotator:En,onCopyAlt:Un,style:A({visibility:I(Ht)?I(Bt)?`visible`:`hidden`:`visible`})},we({_:2},[N(I(fe)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:L(n=>[P(e.$slots,t,k(O(I(pe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.callbacks.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.printScale.isAnnotation.hasTooltip.isTooltip.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):w(``,!0),E(`div`,ze,[(j(),T(`svg`,{ref_key:`svgRef`,ref:q,xmlns:I(g),"aria-describedby":`chart-instructions-${z.value}`,viewBox:`0 0 ${sn.value.width} ${sn.value.height}`,class:ke({"vue-data-ui-fullscreen--on":H.value,"vue-data-ui-fulscreen--off":!H.value}),style:A({maxWidth:`100%`,overflow:`visible`,background:`transparent`,color:K.value.color}),tabindex:`0`,onFocus:qn,onBlur:Jn,onKeydown:Yn},[Ee(I(st)),P(e.$slots,`svg-underlayer`,{svg:{...sn.value,isPrintingImg:I(qt)||I(Jt)||I(zn),isPrintingSvg:I(Bn)}},void 0,!0),e.$slots[`chart-background`]?(j(),T(`foreignObject`,{key:0,x:0,y:0,width:sn.value.width,height:sn.value.height,style:{pointerEvents:`none`}},[P(e.$slots,`chart-background`,{},void 0,!0)],8,Ve)):w(``,!0),E(`defs`,null,[(j(!0),T(Se,null,N(Y.value.links,(e,t)=>(j(),T(`linearGradient`,{id:e.id,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`},[E(`stop`,{offset:`0%`,"stop-color":e.sourceColor},null,8,Ue),E(`stop`,{offset:`100%`,"stop-color":e.targetColor},null,8,We)],8,He))),256))]),(j(!0),T(Se,null,N(Y.value.links,e=>(j(),T(`path`,{class:`vue-ui-flow-link`,d:e.path,"stroke-linejoin":`round`,"stroke-miterlimit":`1`,fill:`url(#${e.id})`,stroke:Mt.value.stroke,"stroke-width":Mt.value.strokeWidth,style:A(`
|
|
2
2
|
opacity:${X.value?X.value.includes(e.source)&&X.value.includes(e.target)?1:.3:Z.value?[e.target,e.source].includes(Z.value)?1:.3:Mt.value.opacity}
|
|
3
|
-
`)},null,12,Ge))),256)),(j(!0),T(Se,null,N(Y.value.nodes,(e,t)=>(j(),T(`rect`,{"data-a11y-node-id":e.id,class:`vue-ui-flow-node`,x:e.x,y:I(u)(e.absoluteY)+K.value.padding.top,height:I(u)(e.height),width:$t.value,fill:e.color,stroke:G.value.stroke,"stroke-width":G.value.strokeWidth,rx:G.value.borderRadius,style:A({opacity:X.value?X.value.includes(e.name)?1:.3:1,outline:dn.value!==null&&dn.value===e.id?`2px solid currentColor`:void 0}),"aria-label":`${e.name}: ${I(d)(W.value.formatter,e.value,I(n)({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}`,onMouseenter:n=>mn(e,t,`pointer`,Sn.value.get(e.id)),onMouseleave:e=>hn(t),onClick:e=>gn(t)},null,44,Ke))),256)),W.value.show?(j(),T(`g`,qe,[(j(!0),T(Se,null,N(Y.value.nodes,(e,t)=>(j(),T(`text`,{x:e.x+$t.value/2,y:(W.value.showValue?I(u)(e.absoluteY+e.height/2-W.value.fontSize/4):e.absoluteY+e.height/2+W.value.fontSize/3)+K.value.padding.top,"font-size":W.value.fontSize,fill:I(h)(e.color),"text-anchor":`middle`,style:A(`pointer-events: none; opacity:${X.value?+!!X.value.includes(e.name):1}`)},F(W.value.abbreviation.use?I(ee)({source:e.name,length:G.value.labels.abbreviation.length}):e.name),13,Je))),256)),W.value.showValue?(j(!0),T(Se,{key:0},N(Y.value.nodes,(e,t)=>(j(),T(`text`,{x:e.x+$t.value/2,y:I(u)(e.absoluteY+e.height/2+W.value.fontSize/1.3)+K.value.padding.top,"font-size":W.value.fontSize,fill:I(h)(e.color),"text-anchor":`middle`,style:A(`pointer-events: none; opacity:${X.value?+!!X.value.includes(e.name):1}`)},F(I(d)(W.value.formatter,e.value,I(n)({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}),{datapoint:e,seriesIndex:t})),13,Ye))),256)):w(``,!0)])):w(``,!0),P(e.$slots,`svg`,{svg:{...sn.value,isPrintingImg:I(qt)||I(Jt)||I(zn),isPrintingSvg:I(Bn)}},void 0,!0)],46,Be)),e.$slots.hint?(j(),T(`div`,Xe,[P(e.$slots,`hint`,k(O({hint:U.value.a11y.translations.keyboardNavigation,isVisible:kt.value})),void 0,!0)])):w(``,!0)]),e.$slots.watermark?(j(),T(`div`,Ze,[P(e.$slots,`watermark`,k(O({isPrinting:I(qt)||I(Jt)||I(zn)||I(Bn)})),void 0,!0)])):w(``,!0),E(`div`,{id:`legend-bottom-${z.value}`},null,8,Qe),St.value&&(K.value.legend.show||e.$slots.legend)?(j(),C(Ce,{key:6,to:K.value.legend.position===`top`?`#legend-top-${z.value}`:`#legend-bottom-${z.value}`},[E(`div`,{ref_key:`chartLegend`,ref:_t},[P(e.$slots,`legend`,{legend:On.value},()=>[K.value.legend.show&&kn.value.length?(j(),C(be,{key:0,legendSet:kn.value,config:jn.value,isCursorPointer:Nt.value,onClickMarker:t[0]||=e=>An(e)},{item:L(({legend:e,index:t})=>[I(Ft)?w(``,!0):(j(),T(`div`,{key:0,onClick:t=>e.segregate(),style:A(`opacity:${$.value.length?$.value.includes(t)?1:.5:1}`)},F(e.display),13,$e))]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):w(``,!0)],!0)],512)],8,[`to`])):w(``,!0),e.$slots.source?(j(),T(`div`,{key:7,ref_key:`source`,ref:yt,dir:`auto`},[P(e.$slots,`source`,{},void 0,!0)],512)):w(``,!0),Ee(I(tt),{ref_key:`tooltip`,ref:Tt,teleportTo:K.value.tooltip.teleportTo,show:J.value.showTooltip&&ht.value,backgroundColor:K.value.tooltip.backgroundColor,color:K.value.tooltip.color,fontSize:K.value.tooltip.fontSize,borderRadius:K.value.tooltip.borderRadius,borderColor:K.value.tooltip.borderColor,borderWidth:K.value.tooltip.borderWidth,backgroundOpacity:K.value.tooltip.backgroundOpacity,position:K.value.tooltip.position,offsetX:K.value.tooltip.offsetX,offsetY:K.value.tooltip.offsetY,parent:B.value,content:gt.value,isCustom:un.value,isFullscreen:H.value,smooth:K.value.tooltip.smooth,backdropFilter:K.value.tooltip.backdropFilter,smoothForce:K.value.tooltip.smoothForce,smoothSnapThreshold:K.value.tooltip.smoothSnapThreshold,isA11yMode:Ot.value===`keyboard`,a11yPosition:Dt.value},{"tooltip-before":L(()=>[P(e.$slots,`tooltip-before`,k(O({...ln.value})),void 0,!0)]),tooltip:L(()=>[P(e.$slots,`tooltip`,k(O({...ln.value})),void 0,!0)]),"tooltip-after":L(()=>[P(e.$slots,`tooltip-after`,k(O({...ln.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isCustom`,`isFullscreen`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),At.value&&U.value.userOptions.buttons.table?(j(),C(je(Nn.value.component),De({key:8},Nn.value.props,{ref_key:`tableUnit`,ref:Ct,onClose:Pn}),we({content:L(()=>[Ee(I(it),{colNames:yn.value.colNames,head:yn.value.head,body:yn.value.body,config:yn.value.config,title:U.value.table.useDialog?``:Nn.value.title,withCloseButton:!U.value.table.useDialog,isCursorPointer:Nt.value,onClose:Pn},{th:L(({th:e})=>[E(`div`,et,F(e),1)]),td:L(({td:e})=>[Te(F(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`])]),_:2},[U.value.table.useDialog?{name:`title`,fn:L(()=>[Te(F(Nn.value.title),1)]),key:`0`}:void 0,U.value.table.useDialog?{name:`actions`,fn:L(()=>[E(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>vn(U.value.userOptions.callbacks.csv),style:A({cursor:Nt.value?`pointer`:`default`})},[Ee(I(nt),{name:`fileCsv`,stroke:Nn.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):w(``,!0),P(e.$slots,`skeleton`,{},()=>[I(Ft)?(j(),C(ne,{key:0})):w(``,!0)],!0)],46,Fe))}},[[`__scopeId`,`data-v-
|
|
3
|
+
`)},null,12,Ge))),256)),(j(!0),T(Se,null,N(Y.value.nodes,(e,t)=>(j(),T(`rect`,{"data-a11y-node-id":e.id,class:`vue-ui-flow-node`,x:e.x,y:I(u)(e.absoluteY)+K.value.padding.top,height:I(u)(e.height),width:$t.value,fill:e.color,stroke:G.value.stroke,"stroke-width":G.value.strokeWidth,rx:G.value.borderRadius,style:A({opacity:X.value?X.value.includes(e.name)?1:.3:1,outline:dn.value!==null&&dn.value===e.id?`2px solid currentColor`:void 0}),"aria-label":`${e.name}: ${I(d)(W.value.formatter,e.value,I(n)({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}`,onMouseenter:n=>mn(e,t,`pointer`,Sn.value.get(e.id)),onMouseleave:e=>hn(t),onClick:e=>gn(t)},null,44,Ke))),256)),W.value.show?(j(),T(`g`,qe,[(j(!0),T(Se,null,N(Y.value.nodes,(e,t)=>(j(),T(`text`,{x:e.x+$t.value/2,y:(W.value.showValue?I(u)(e.absoluteY+e.height/2-W.value.fontSize/4):e.absoluteY+e.height/2+W.value.fontSize/3)+K.value.padding.top,"font-size":W.value.fontSize,fill:I(h)(e.color),"text-anchor":`middle`,style:A(`pointer-events: none; opacity:${X.value?+!!X.value.includes(e.name):1}`)},F(W.value.abbreviation.use?I(ee)({source:e.name,length:G.value.labels.abbreviation.length}):e.name),13,Je))),256)),W.value.showValue?(j(!0),T(Se,{key:0},N(Y.value.nodes,(e,t)=>(j(),T(`text`,{x:e.x+$t.value/2,y:I(u)(e.absoluteY+e.height/2+W.value.fontSize/1.3)+K.value.padding.top,"font-size":W.value.fontSize,fill:I(h)(e.color),"text-anchor":`middle`,style:A(`pointer-events: none; opacity:${X.value?+!!X.value.includes(e.name):1}`)},F(I(d)(W.value.formatter,e.value,I(n)({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}),{datapoint:e,seriesIndex:t})),13,Ye))),256)):w(``,!0)])):w(``,!0),P(e.$slots,`svg`,{svg:{...sn.value,isPrintingImg:I(qt)||I(Jt)||I(zn),isPrintingSvg:I(Bn)}},void 0,!0)],46,Be)),e.$slots.hint?(j(),T(`div`,Xe,[P(e.$slots,`hint`,k(O({hint:U.value.a11y.translations.keyboardNavigation,isVisible:kt.value})),void 0,!0)])):w(``,!0)]),e.$slots.watermark?(j(),T(`div`,Ze,[P(e.$slots,`watermark`,k(O({isPrinting:I(qt)||I(Jt)||I(zn)||I(Bn)})),void 0,!0)])):w(``,!0),E(`div`,{id:`legend-bottom-${z.value}`},null,8,Qe),St.value&&(K.value.legend.show||e.$slots.legend)?(j(),C(Ce,{key:6,to:K.value.legend.position===`top`?`#legend-top-${z.value}`:`#legend-bottom-${z.value}`},[E(`div`,{ref_key:`chartLegend`,ref:_t},[P(e.$slots,`legend`,{legend:On.value},()=>[K.value.legend.show&&kn.value.length?(j(),C(be,{key:0,legendSet:kn.value,config:jn.value,isCursorPointer:Nt.value,onClickMarker:t[0]||=e=>An(e)},{item:L(({legend:e,index:t})=>[I(Ft)?w(``,!0):(j(),T(`div`,{key:0,onClick:t=>e.segregate(),style:A(`opacity:${$.value.length?$.value.includes(t)?1:.5:1}`)},F(e.display),13,$e))]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):w(``,!0)],!0)],512)],8,[`to`])):w(``,!0),e.$slots.source?(j(),T(`div`,{key:7,ref_key:`source`,ref:yt,dir:`auto`},[P(e.$slots,`source`,{},void 0,!0)],512)):w(``,!0),Ee(I(tt),{ref_key:`tooltip`,ref:Tt,teleportTo:K.value.tooltip.teleportTo,show:J.value.showTooltip&&ht.value,backgroundColor:K.value.tooltip.backgroundColor,color:K.value.tooltip.color,fontSize:K.value.tooltip.fontSize,borderRadius:K.value.tooltip.borderRadius,borderColor:K.value.tooltip.borderColor,borderWidth:K.value.tooltip.borderWidth,backgroundOpacity:K.value.tooltip.backgroundOpacity,position:K.value.tooltip.position,offsetX:K.value.tooltip.offsetX,offsetY:K.value.tooltip.offsetY,parent:B.value,content:gt.value,isCustom:un.value,isFullscreen:H.value,smooth:K.value.tooltip.smooth,backdropFilter:K.value.tooltip.backdropFilter,smoothForce:K.value.tooltip.smoothForce,smoothSnapThreshold:K.value.tooltip.smoothSnapThreshold,isA11yMode:Ot.value===`keyboard`,a11yPosition:Dt.value},{"tooltip-before":L(()=>[P(e.$slots,`tooltip-before`,k(O({...ln.value})),void 0,!0)]),tooltip:L(()=>[P(e.$slots,`tooltip`,k(O({...ln.value})),void 0,!0)]),"tooltip-after":L(()=>[P(e.$slots,`tooltip-after`,k(O({...ln.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isCustom`,`isFullscreen`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),At.value&&U.value.userOptions.buttons.table?(j(),C(je(Nn.value.component),De({key:8},Nn.value.props,{ref_key:`tableUnit`,ref:Ct,onClose:Pn}),we({content:L(()=>[Ee(I(it),{colNames:yn.value.colNames,head:yn.value.head,body:yn.value.body,config:yn.value.config,title:U.value.table.useDialog?``:Nn.value.title,withCloseButton:!U.value.table.useDialog,isCursorPointer:Nt.value,onClose:Pn},{th:L(({th:e})=>[E(`div`,et,F(e),1)]),td:L(({td:e})=>[Te(F(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`])]),_:2},[U.value.table.useDialog?{name:`title`,fn:L(()=>[Te(F(Nn.value.title),1)]),key:`0`}:void 0,U.value.table.useDialog?{name:`actions`,fn:L(()=>[E(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>vn(U.value.userOptions.callbacks.csv),style:A({cursor:Nt.value?`pointer`:`default`})},[Ee(I(nt),{name:`fileCsv`,stroke:Nn.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):w(``,!0),P(e.$slots,`skeleton`,{},()=>[I(Ft)?(j(),C(ne,{key:0})):w(``,!0)],!0)],46,Fe))}},[[`__scopeId`,`data-v-bd6e21f6`]]);export{Pe as n,tt as t};
|