vue-data-ui 3.28.0 → 3.28.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -63
- package/dist/{Arrow-D6OAn5rm.js → Arrow-CITPKnWF.js} +1 -1
- package/dist/{BaseDraggableDialog-Bw_azO0n.js → BaseDraggableDialog-DHgIPVmz.js} +1 -1
- package/dist/{BaseIcon-DDctLkeT.js → BaseIcon-Cm-IJ179.js} +1 -1
- package/dist/{BaseLegendToggle-BOcw1ke8.js → BaseLegendToggle-Q3TiW9u1.js} +1 -1
- package/dist/{BaseZoomControls-Cq5AOHQ0.js → BaseZoomControls-ByS_7fmI.js} +1 -1
- package/dist/{ColorPicker-DHQvvLT9.js → ColorPicker-Dmus34hN.js} +1 -1
- package/dist/{DataTable-BcVZLSs8.js → DataTable-0Vv-aGHD.js} +1 -1
- package/dist/HillActions-qz6J_uK7.js +1 -0
- package/dist/{Legend-D8NunRPr.js → Legend-DM0ClX3D.js} +1 -1
- package/dist/{NonSvgPenAndPaper-CxQZ0YED.js → NonSvgPenAndPaper-Do6RcwEr.js} +1 -1
- package/dist/{PackageVersion-ATrKWi8V.js → PackageVersion-BIhjLNBU.js} +1 -1
- package/dist/PenAndPaper-BGEp-TUm.js +1 -0
- package/dist/{Shape-gDVRWM6n.js → Shape-CRe8woTu.js} +1 -1
- package/dist/SlicerPreview-CFFUOlQr.js +1 -0
- package/dist/{SparkTooltip-cWKhrsKX.js → SparkTooltip-Ch06CV71.js} +1 -1
- package/dist/{Title-BLA0tM3g.js → Title-BliHuXfT.js} +1 -1
- package/dist/Tooltip-C1q0Qoh7.js +1 -0
- package/dist/UserOptions-uWHV_zPB.js +1 -0
- package/dist/{useResponsive-D2CPcpda.js → canvas-lib-22VpOI4_.js} +1 -1
- package/dist/{chartImage-r-G4CkRK.js → chartImage-DPGnEuYM.js} +1 -1
- package/dist/components/arrow.js +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-accordion.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-annotator.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -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-icon.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-label.js +1 -1
- package/dist/components/vue-ui-mini-loader.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-pattern-seed.js +1 -1
- package/dist/components/vue-ui-pattern.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-rating.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-smiley.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-heatmap.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy-canvas.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/{dom-to-png-Cp6rAdnI.js → dom-to-png-D56-Zgv4.js} +1 -1
- package/dist/{exposedLib-BDGMSW1B.js → exposedLib-BRtClmZy.js} +1 -1
- package/dist/{img-DiP2_5_r.js → img-D4RQwASc.js} +1 -1
- package/dist/{labelUtils-DXiFpsZl.js → labelUtils-CdtU-yB_.js} +1 -1
- package/dist/{lib-DqD8nbyX.js → lib-rPeBMZrn.js} +2 -2
- package/dist/package-DwcKiXuI.js +1 -0
- package/dist/{pdf-y3S8SBFk.js → pdf-DAicVFxx.js} +1 -1
- package/dist/{render-common-tsNLeNaX.js → render-common-B-s2XJ_I.js} +1 -1
- package/dist/{resolveChartConfig-ChGWTt5l.js → resolveChartConfig-CIhClE5R.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/types/vue-data-ui.d.ts +126 -0
- package/dist/useChartExport-BZts4KFb.js +1 -0
- package/dist/{useConfig-DM9fSqjh.js → useConfig-6jO1fkp5.js} +1 -1
- package/dist/{useNestedProp-DrLnzyHO.js → useNestedProp-DnGoh-XS.js} +1 -1
- package/dist/{useObjectBindings-Cn4Vz0RY.js → useObjectBindings-DiMX4HGv.js} +1 -1
- package/dist/{usePrinter-Cj4eIYC_.js → usePrinter-sVoTzet1.js} +1 -1
- package/dist/useResponsive-CENUxfEL.js +1 -0
- package/dist/useSvgLabelLayout-D1I8sQUi.js +1 -0
- package/dist/useTimeLabelCollider-BTybMUFi.js +1 -0
- package/dist/useTransitions-ChGGrtrv.js +1 -0
- package/dist/utils.js +1 -1
- package/dist/vue-data-ui-BvHCscNE.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/vue-ui-3d-bar-CkHFiFp4.js +19 -0
- package/dist/{vue-ui-accordion-3lBpCjGm.js → vue-ui-accordion-S3nRtTU-.js} +1 -1
- package/dist/vue-ui-age-pyramid-vpIjdLg5.js +1 -0
- package/dist/{vue-ui-annotator-CpTZHnPw.js → vue-ui-annotator-CdCDYzdK.js} +3 -3
- package/dist/vue-ui-bullet-rgxGRR1p.js +34 -0
- package/dist/vue-ui-bump-CeDsunDi.js +8 -0
- package/dist/vue-ui-candlestick-KJHOS5F7.js +22 -0
- package/dist/vue-ui-carousel-table-CeI5SIxH.js +1 -0
- package/dist/vue-ui-chestnut-CiY-2e77.js +1 -0
- package/dist/vue-ui-chord-8rk7304-.js +21 -0
- package/dist/vue-ui-circle-pack-BsH09EPG.js +13 -0
- package/dist/{vue-ui-cursor-Dn-IBaP8.js → vue-ui-cursor-Cpov2m58.js} +1 -1
- package/dist/vue-ui-dag-BHFL2cUA.js +9 -0
- package/dist/vue-ui-dashboard-BxXdhdNJ.js +1 -0
- package/dist/{vue-ui-digits-BBiRMr01.js → vue-ui-digits-xHOLjA2_.js} +1 -1
- package/dist/{vue-ui-donut-CGyBWxzh.js → vue-ui-donut-CR3klUbX.js} +1 -1
- package/dist/vue-ui-donut-Vbp5Xs2-.js +47 -0
- package/dist/vue-ui-donut-evolution-BTmztL3Y.js +2 -0
- package/dist/vue-ui-dumbbell-CDcgKS2A.js +9 -0
- package/dist/vue-ui-flow-kVocPE27.js +3 -0
- package/dist/vue-ui-funnel-CZAdPYqK.js +1 -0
- package/dist/vue-ui-galaxy-hP-9mVlB.js +1 -0
- package/dist/vue-ui-gauge-BRabsLkh.js +1 -0
- package/dist/vue-ui-geo-Dacnp6iw.js +1 -0
- package/dist/{vue-ui-gizmo-K1lfslsA.js → vue-ui-gizmo-Dp3hpHIX.js} +1 -1
- package/dist/vue-ui-graph-DHU9hUry.js +7 -0
- package/dist/vue-ui-heatmap-kPnmZgWi.js +1 -0
- package/dist/vue-ui-hill-Ddbup7-b.js +1 -0
- package/dist/vue-ui-history-plot-CwO2o-2s.js +2 -0
- package/dist/vue-ui-horizontal-bar-CvX77vE4.js +4 -0
- package/dist/{vue-ui-kpi-BZjfQxmY.js → vue-ui-kpi-CCOOwX_Q.js} +1 -1
- package/dist/vue-ui-label-B_1kM28r.js +7 -0
- package/dist/{vue-ui-mini-loader-ltQXdeeW.js → vue-ui-mini-loader-7gqQI5jy.js} +1 -1
- package/dist/vue-ui-molecule-BPGs9Dom.js +1 -0
- package/dist/vue-ui-mood-radar-GJ-lhgI0.js +1 -0
- package/dist/vue-ui-nested-donuts-CrlPwpg8.js +19 -0
- package/dist/vue-ui-onion-CKmyy-Y_.js +5 -0
- package/dist/vue-ui-parallel-coordinate-plot-C0UqWt0M.js +9 -0
- package/dist/vue-ui-quadrant-CTGFBNo9.js +2 -0
- package/dist/vue-ui-quick-chart-ZBOPZhxA.js +17 -0
- package/dist/vue-ui-radar-B1z3Ux3E.js +1 -0
- package/dist/{vue-ui-rating-B33u3iIn.js → vue-ui-rating-CV2b0tjA.js} +1 -1
- package/dist/vue-ui-relation-circle-DqN5N08e.js +1 -0
- package/dist/vue-ui-ridgeline-DcSB5Qef.js +2 -0
- package/dist/vue-ui-rings-CJqAnf-l.js +1 -0
- package/dist/vue-ui-scatter-THQAeoWs.js +9 -0
- package/dist/{vue-ui-skeleton-DTn7uIui.js → vue-ui-skeleton-DqmhigQ0.js} +1 -1
- package/dist/{vue-ui-smiley-qCRUFmpq.js → vue-ui-smiley-VTdQetY0.js} +1 -1
- package/dist/vue-ui-spark-trend-B2Nf1raK.js +1 -0
- package/dist/{vue-ui-sparkbar-DPFzdX-D.js → vue-ui-sparkbar-CamZ_49V.js} +1 -1
- package/dist/{vue-ui-sparkgauge-DlEPsxc0.js → vue-ui-sparkgauge-Ffrp_7VV.js} +1 -1
- package/dist/vue-ui-sparkhistogram-CLfzi3PO.js +1 -0
- package/dist/vue-ui-sparkline-Y-sljnbS.js +1 -0
- package/dist/vue-ui-sparkstackbar-CYZ-ADO1.js +1 -0
- package/dist/vue-ui-stackbar-CQLYm10x.js +29 -0
- package/dist/vue-ui-stackline-VpvF7MRx.js +39 -0
- package/dist/vue-ui-strip-plot-B9Ogpw7K.js +2 -0
- package/dist/{vue-ui-table-3F8i2ZjT.js → vue-ui-table-Bi9C3LzP.js} +1 -1
- package/dist/{vue-ui-table-heatmap-CtYPYMIJ.js → vue-ui-table-heatmap-BtziURiu.js} +1 -1
- package/dist/vue-ui-table-sparkline-DEVAL0cR.js +1 -0
- package/dist/vue-ui-thermometer-ClN4EO0I.js +1 -0
- package/dist/{vue-ui-timer-DsWRNtRa.js → vue-ui-timer-nqZxt1vU.js} +2 -2
- package/dist/vue-ui-tiremarks-BeJBsgXo.js +1 -0
- package/dist/vue-ui-treemap-FA-yXwmv.js +1 -0
- package/dist/vue-ui-waffle-CO07S6HV.js +1 -0
- package/dist/vue-ui-wheel-BeaSWB4x.js +1 -0
- package/dist/vue-ui-word-cloud-C1OWGFng.js +4 -0
- package/dist/{vue-ui-world-DQWjoFDx.js → vue-ui-world-CUS_mKgl.js} +2 -2
- package/dist/vue-ui-xy-6B_K-quN.js +24 -0
- package/dist/{vue-ui-xy-DfvcqUwW.js → vue-ui-xy-BigPHE0Q.js} +2 -2
- package/dist/vue-ui-xy-canvas-CeC3gcrW.js +9 -0
- package/package.json +8 -4
- package/dist/HillActions-Bq3UJ1Ut.js +0 -1
- package/dist/PenAndPaper-BsBFp16i.js +0 -1
- package/dist/SlicerPreview-Dpu4nMz6.js +0 -1
- package/dist/Tooltip-Iyb_S6oQ.js +0 -1
- package/dist/UserOptions-BSJ_S_us.js +0 -1
- package/dist/package-UBaXe2y9.js +0 -1
- package/dist/useChartExport-DtPNpc9M.js +0 -1
- package/dist/useTimeLabelCollider-XQf_S7-z.js +0 -1
- package/dist/useTransitions-DfSHzsdz.js +0 -1
- package/dist/vue-data-ui-yeD7UyUU.js +0 -1
- package/dist/vue-ui-3d-bar-COrzyTkO.js +0 -19
- package/dist/vue-ui-age-pyramid-CAoVjkOA.js +0 -1
- package/dist/vue-ui-bullet-yvY_gdw2.js +0 -34
- package/dist/vue-ui-bump-ChsFkIq9.js +0 -10
- package/dist/vue-ui-candlestick-D9UXZQoN.js +0 -22
- package/dist/vue-ui-carousel-table-CKyE4hME.js +0 -1
- package/dist/vue-ui-chestnut-BuLjW5nb.js +0 -1
- package/dist/vue-ui-chord-Bjwt2_BK.js +0 -21
- package/dist/vue-ui-circle-pack-BpAuZruK.js +0 -13
- package/dist/vue-ui-dag-CyY3cSa6.js +0 -9
- package/dist/vue-ui-dashboard-DmyStkQM.js +0 -1
- package/dist/vue-ui-donut-DMF74OY0.js +0 -47
- package/dist/vue-ui-donut-evolution-Du4zLc8D.js +0 -2
- package/dist/vue-ui-dumbbell-CxL_AY5e.js +0 -9
- package/dist/vue-ui-flow-h6kTMamJ.js +0 -3
- package/dist/vue-ui-funnel-BG5Addzr.js +0 -1
- package/dist/vue-ui-galaxy-CgnshY8i.js +0 -1
- package/dist/vue-ui-gauge-a13ojQPr.js +0 -1
- package/dist/vue-ui-geo-CflzhtuD.js +0 -1
- package/dist/vue-ui-graph-C2Se8bnB.js +0 -7
- package/dist/vue-ui-heatmap-5NsQkMwS.js +0 -1
- package/dist/vue-ui-hill-COnjVS2L.js +0 -1
- package/dist/vue-ui-history-plot-BRJdXsNo.js +0 -2
- package/dist/vue-ui-horizontal-bar-G0wEKTRu.js +0 -4
- package/dist/vue-ui-label-BD_hTtgZ.js +0 -7
- package/dist/vue-ui-molecule-DI-CS5w8.js +0 -1
- package/dist/vue-ui-mood-radar-B5ar9WAZ.js +0 -1
- package/dist/vue-ui-nested-donuts-BP2YzVma.js +0 -19
- package/dist/vue-ui-onion-CCiZ6jmF.js +0 -5
- package/dist/vue-ui-parallel-coordinate-plot-3E0CysDx.js +0 -9
- package/dist/vue-ui-quadrant-BwgwvKy8.js +0 -2
- package/dist/vue-ui-quick-chart-BXNg0LNe.js +0 -17
- package/dist/vue-ui-radar-B9Ntj_Gj.js +0 -1
- package/dist/vue-ui-relation-circle-B60IUw50.js +0 -1
- package/dist/vue-ui-ridgeline-BPbYng2A.js +0 -2
- package/dist/vue-ui-rings-BXo9p3Ab.js +0 -1
- package/dist/vue-ui-scatter-BwrYPDzh.js +0 -9
- package/dist/vue-ui-spark-trend-wKFu-O7B.js +0 -1
- package/dist/vue-ui-sparkhistogram-DLZxE6oz.js +0 -1
- package/dist/vue-ui-sparkline-BflZPl7s.js +0 -1
- package/dist/vue-ui-sparkstackbar-DvSQfGeA.js +0 -1
- package/dist/vue-ui-stackbar-JKC9qE6M.js +0 -29
- package/dist/vue-ui-stackline-G7-oqfzp.js +0 -39
- package/dist/vue-ui-strip-plot-54u7AUip.js +0 -2
- package/dist/vue-ui-table-sparkline-CTfYTzhA.js +0 -1
- package/dist/vue-ui-thermometer-BpFbPqxK.js +0 -1
- package/dist/vue-ui-tiremarks-C4wVcSVP.js +0 -1
- package/dist/vue-ui-treemap-mYRv6gga.js +0 -1
- package/dist/vue-ui-waffle-DNBIZqZz.js +0 -1
- package/dist/vue-ui-wheel-DPHDp0t1.js +0 -1
- package/dist/vue-ui-word-cloud-BY4YsW7-.js +0 -4
- package/dist/vue-ui-xy-M9aD-G5a.js +0 -24
- package/dist/vue-ui-xy-canvas-BpwG1Ipj.js +0 -9
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Bt as r,D as i,Dt as a,Ht as o,It as s,Jt as c,S as l,X as u,Y as ee,Yt as te,Zt as ne,at as d,b as re,dt as ie,f,h as p,i as m,in as ae,it as oe,j as se,nn as ce,nt as le,p as h,s as ue,t as de,ut as fe,w as pe,yt as me,zt as he}from"./lib-rPeBMZrn.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-BH9r_0Vd.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DnGoh-XS.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./chartImage-DPGnEuYM.js";import{n as we}from"./Title-BliHuXfT.js";import{t as Te}from"./useChartExport-BZts4KFb.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-sVoTzet1.js";import{t as Ne}from"./Shape-CRe8woTu.js";import{c as Pe}from"./canvas-lib-22VpOI4_.js";import{t as Fe}from"./useResponsive-CENUxfEL.js";import{t as Ie}from"./DefGrad-DKMq1REY.js";import{t as Le}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Re}from"./A11yDataTable-DWNlWXzs.js";import{t as ze}from"./useUserOptionState-CXlFnwPv.js";import{t as Be}from"./useChartAccessibility-DOMuYJfm.js";import{n as Ve,t as He}from"./labelUtils-CdtU-yB_.js";import{t as Ue}from"./vue_ui_donut-T5PeOqvf.js";import{t as We}from"./Legend-DM0ClX3D.js";import{Fragment as g,Teleport as Ge,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as x,createSlots as Ke,createTextVNode as qe,createVNode as Je,defineAsyncComponent as Ye,guardReactiveProps as Xe,mergeProps as Ze,nextTick as Qe,normalizeClass as $e,normalizeProps as et,normalizeStyle as S,onBeforeUnmount as tt,onMounted as nt,openBlock as C,ref as w,renderList as T,renderSlot as E,resolveDynamicComponent as rt,shallowRef as it,toDisplayString as D,toRefs as at,unref as O,useSlots as ot,vShow as st,watch as ct,withCtx as k,withDirectives as lt}from"vue";function ut(e){let{FINAL_CONFIG:t,noGhostDonut:n,svg:r,padding:i,labels_inline_fontSize:a,minSize:o,findArcMidpoint:s,calcMarkerOffsetX:c,calcMarkerOffsetY:l,animatingIndex:u,segregated:ee,isSmallArc:te}=e;return{smallArcLayoutsClassic:_(()=>{if(t.value.type!==`classic`)return{};let e={},ne=n.value||[];if(!ne.length)return e;let d=r.value.width/2,re=r.value.height/2,ie=i.value.top+16,f=r.value.height-i.value.bottom-16,p=a.value,m=p/3,ae=p*1.5,oe=d-(o.value+6),se=d+(o.value+6),ce=!!t.value.style.chart.layout.curvedMarkers;function le({midX:e,midY:t,bandX:n,bandY:r}){if(!ce)return`M ${e} ${t} L ${e} ${r} L ${n} ${r}`;let i=n<d?-1:1,a=n-e,o=r-t,s=Math.sqrt(a*a+o*o)||1,c=e-d,l=t-re,u=Math.sqrt(c*c+l*l)||1,ee=c/u,te=l/u,ne=u+9;function ie({x:e,y:t}){let n=e-d,r=t-re,i=Math.sqrt(n*n+r*r)||1;if(i>=ne)return{x:e,y:t};let a=ne/i;return{x:d+n*a,y:re+r*a}}if(s<56){let i=a/s,c=-(o/s),l=i,u=(e+n)*.5,ne=(t+r)*.5,f=u+c,p=ne+l,m=(f-d)*(f-d)+(p-re)*(p-re),ae=u-c,oe=ne-l;(ae-d)*(ae-d)+(oe-re)*(oe-re)>m&&(c=-c,l=-l);let se=.78,ce=e+a*se,le=t+o*se,h=Math.max(0,Math.min(1,(s-18)/44)),ue=h*h*(3-2*h),de=2.5+ue*4,fe=1+ue*2.5;de*=.9;let pe=ie({x:ce+c*de+ee*fe,y:le+l*de+te*fe});return`M ${e} ${t} Q ${pe.x} ${pe.y} ${n} ${r}`}let f=s*.34;f<20&&(f=20),f>46&&(f=46);let p=s*.46;p<22&&(p=22),p>70&&(p=70);let m={x:e+ee*f,y:t+te*f},ae=d+i*Math.max(Math.abs(n-d),ne),oe={x:n-i*Math.min(p,Math.abs(ae-n)*.75),y:r},se=ie(m),le=ie(oe);return`M ${e} ${t} C ${se.x} ${se.y} ${le.x} ${le.y} ${n} ${r}`}function h(e){let t=String(e??``).split(/\n/g),n=Math.max(0,t.length-1)*(p*1.2);return ae+n}function ue({arc:e,index:t}){let{x:n,y:r}=s(e.path);return{arc:e,index:t,midX:n,midY:r,inlineMarkerX:c(e).x,inlineMarkerY:l(e)-3.5,labelHeight:h(e.name)}}function de(e){let{arc:t}=e,n=t.seriesIndex??0;return u.value===n||ee.value.includes(n)?!1:te(t,n)}function fe(e){let t=e.inlineMarkerY<re,n=e.inlineMarkerX<d;return t&&n?`TL`:t&&!n?`TR`:!t&&n?`BL`:`BR`}function pe(e,t){t.startsWith(`T`)?e.sort((e,t)=>e.inlineMarkerY-t.inlineMarkerY||e.index-t.index):e.sort((e,t)=>t.inlineMarkerY-e.inlineMarkerY||e.index-t.index)}function me({side:e,markerX:t,markerY:n,labelY:r,connectorPath:i}){return{side:e,labelX:e===`left`?t-8:t+8,labelY:r+m,textAnchor:e===`left`?`end`:`start`,markerX:t,markerY:n,connectorPath:i}}function he({candidateList:t,side:n,bandMarkerX:r,startY:i,direction:a}){let o=i;t.forEach(t=>{let{index:i,midX:s,midY:c,labelHeight:l}=t,u;a===`down`?(u=o,o+=l):(o-=l,u=o);let ee=u,te=le({midX:s,midY:c,bandX:r,bandY:ee});e[i]=me({side:n,markerX:r,markerY:ee,labelY:u,connectorPath:te})})}let ge=ne.map((e,t)=>ue({arc:e,index:t})).filter(de),_e={TL:[],TR:[],BL:[],BR:[]};return ge.forEach(e=>{_e[fe(e)].push(e)}),Object.keys(_e).forEach(e=>{pe(_e[e],e)}),he({candidateList:_e.TL,side:`left`,bandMarkerX:oe,startY:ie,direction:`down`}),he({candidateList:_e.TR,side:`right`,bandMarkerX:se,startY:ie,direction:`down`}),_e.BL.length>1&&he({candidateList:_e.BL,side:`left`,bandMarkerX:oe,startY:f,direction:`up`}),_e.BR.length>1&&he({candidateList:_e.BR,side:`right`,bandMarkerX:se,startY:f,direction:`up`}),e})}}var dt=/* @__PURE__ */ e({default:()=>En}),ft=[`id`],pt=[`id`],mt=[`id`],ht={style:{position:`relative`}},gt=[`xmlns`,`aria-describedby`,`viewBox`],_t=[`width`,`height`],vt={key:1},yt={key:2},bt=[`id`],xt=[`id`],St=[`id`],Ct=[`flood-color`],wt=[`id`],Tt=[`flood-color`],Et=[`d`,`stroke`,`filter`],Dt=[`d`,`stroke`,`filter`],Ot=[`cx`,`cy`,`r`,`fill`,`filter`],kt={key:6},At=[`stroke`,`d`],jt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Mt={key:0},Nt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Pt={key:0},Ft=[`stroke`,`d`],It={key:0},Lt=[`d`,`stroke`,`stroke-width`,`filter`],Rt={key:1},zt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Bt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Vt={key:1},Ht=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ut=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Wt={key:0},Gt=[`d`,`fill`,`stroke`,`stroke-width`],Kt=[`cx`,`cy`,`r`,`stroke`],qt=[`cx`,`cy`,`r`,`fill`],Jt=[`cx`,`cy`,`r`],Yt={key:0},Xt=[`d`,`stroke`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],Zt={key:1},Qt=[`cx`,`cy`,`r`],$t=[`x`,`y`,`fill`,`font-size`],en=[`x`,`y`,`fill`,`font-size`],tn=[`x`,`y`,`fill`,`font-size`],nn=[`x`,`y`,`fill`,`font-size`],rn=[`filter`,`opacity`],an={key:0},on=[`x`,`y`],sn={key:1},cn=[`cx`,`cy`,`fill`,`stroke`,`filter`,`onClick`,`onMouseenter`,`onMouseleave`],ln=[`text-anchor`,`x`,`y`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],un=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`],dn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],fn=[`cx`,`cy`,`fill`,`stroke`,`filter`,`onClick`,`onMouseenter`,`onMouseleave`],pn=[`text-anchor`,`x`,`y`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],mn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`],hn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],gn={key:2},_n=[`x`,`y`,`width`],vn=[`x`,`y`,`width`],yn={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},bn={key:5,class:`vue-data-ui-watermark`},xn=[`id`],Sn=[`onClick`],Cn={key:8,class:`vue-ui-donut-hollow`},wn={key:0},Tn={key:1},En=/*#__PURE__*/ be({__name:`vue-ui-donut`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:be,emit:dt}){let En=Ye(()=>import(`./Tooltip-C1q0Qoh7.js`)),Dn=Ye(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),On=Ye(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),kn=Ye(()=>import(`./DataTable-0Vv-aGHD.js`)),An=Ye(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),jn=Ye(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Mn=Ye(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),Nn=Ye(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_donut:Pn}=t(),{isThemeValid:Fn,warnInvalidTheme:In}=Se(),Ln=ot(),A=e,Rn=_({get(){return!!A.dataset&&A.dataset.length},set(e){return e}}),zn=it(null),Bn=w(null),Vn=w(null),Hn=w(null),Un=it(null),Wn=it(null),Gn=it(null),Kn=it(null),qn=it(null),Jn=it(null),Yn=w(0),Xn=w(0),Zn=w(0),Qn=w(!1),$n=w(null),er=w(null),tr=w(null),nr=w({x:0,y:0}),rr=w(`pointer`),ir=w(!1),ar=_({get:()=>P.value.style.chart.layout.labels.percentage.fontSize,set:e=>e}),j=_({get:()=>P.value.style.chart.layout.labels.name.fontSize,set:e=>e}),or=_({get:()=>P.value.style.chart.layout.labels.dataLabels.smallArcClusterFontSize,set:e=>e}),sr=!1,cr=()=>{P.value.autoSize&&!sr&&(sr=!0,requestAnimationFrame(()=>{sr=!1;let e=P.value,t=Bn.value,n=z.value;if(!e.autoSize||!t||!n)return;let[r,i,a,o]=n.getAttribute(`viewBox`).split(` `).map(Number),s={x:r,y:i,width:a,height:o},c=[{selector:`.vue-data-ui-datalabel-value`,baseSize:F.value.percentage.fontSize,minSize:F.value.percentage.minFontSize,sizeRef:ar},{selector:`.vue-data-ui-datalabel-name`,baseSize:F.value.name.fontSize,minSize:F.value.name.minFontSize,sizeRef:j},{selector:`.vue-data-ui-datalabel-inline`,baseSize:F.value.dataLabels.smallArcClusterFontSize,minSize:F.value.name.minFontSize,sizeRef:or}];c.map(e=>t.querySelectorAll(e.selector).length).reduce((e,t)=>e+t,0)!==0&&c.forEach(({selector:e,baseSize:n,minSize:r,sizeRef:i})=>{t.querySelectorAll(e).forEach(e=>{i.value=ue({el:e,bounds:s,currentFontSize:n,minFontSize:r,attempts:200,padding:1})})})}))};nt(async()=>{Qn.value=!0,dr(),requestAnimationFrame(cr)});let lr;nt(()=>{zn.value&&(lr=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;if(e>0&&n>0){cr();break}}}),lr.observe(zn.value.parentElement))}),tt(()=>{lr?.disconnect()}),tt(()=>{Gn.value&&(Kn.value&&Gn.value.unobserve(Kn.value),Gn.value.disconnect())});let ur=_(()=>P.value.debug);function dr(){if(he(A.dataset)?(d({componentName:`VueUiDonut`,type:`dataset`,debug:ur.value}),Rn.value=!1,xr.value=!0):(A.dataset.forEach((e,t)=>{me({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{d({componentName:`VueUiDonut`,type:`datasetSerieAttribute`,property:e,index:t,debug:ur.value}),Rn.value=!1,xr.value=!0})}),ur.value&&A.dataset.forEach((e,t)=>{(!e.name||e.name===``)&&d({componentName:`VueUiDonut`,type:`datasetAttributeEmpty`,property:`name`,index:t})})),he(A.dataset)||(xr.value=P.value.loading),P.value.responsive){let e=Pe(()=>{let{width:e,height:t}=Fe({chart:zn.value,title:P.value.style.chart.title.text?Un.value:null,legend:P.value.style.chart.legend.show?Wn.value:null,source:qn.value,noTitle:Jn.value,padding:P.value.autoSize?void 0:Nr.value});requestAnimationFrame(()=>{V.value.width=e,V.value.height=t,cr()})});Gn.value&&(Kn.value&&Gn.value.unobserve(Kn.value),Gn.value.disconnect()),Gn.value=new ResizeObserver(e),Kn.value=zn.value.parentNode,Gn.value.observe(Kn.value)}}let M=w(u()),fr=w(!1),pr=w(``),N=w(null),mr=w(0);function hr(){let e=xe({userConfig:A.config,defaultConfig:Pn}),t={},n=e.theme;if(!n)t=e;else if(!Fn.value(e))In(e),t=e;else{let r=xe({userConfig:Ue[n]||A.config,defaultConfig:e});t={...xe({userConfig:A.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:ce[n]||o}}return t}let P=w(hr()),F=_(()=>P.value.style.chart.layout.labels),I=_(()=>P.value.style.chart.layout.donut),gr=_(()=>P.value.style.chart.layout),L=_(()=>P.value.style.chart);ve({config:()=>P.value,dataset:()=>A.dataset,component:`VueUiDonut`,rules:[ye.singleSeries,ye.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. 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.`]}]});let _r=_(()=>P.value.userOptions.useCursorPointer),vr=_(()=>ae({defaultConfig:{useCssAnimation:!1,table:{show:!1},startAnimation:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{labels:{dataLabels:{show:!1},hollow:{average:{show:!1},total:{show:!1}},value:{show:!1}}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},title:{color:`#1A1A1A`,subtitle:{color:`#5A5A5A`}}}}},userConfig:P.value.skeletonConfig??{}})),{loading:yr,FINAL_DATASET:br,manualLoading:xr,skeletonDataset:Sr}=ge({...at(A),FINAL_CONFIG:P,prepareConfig:hr,skeletonDataset:A.config?.skeletonDataset??[{name:``,values:[3],color:`#BABABA`},{name:``,values:[2],color:`#AAAAAA`},{name:``,values:[1],color:`#CACACA`}],skeletonConfig:ae({defaultConfig:P.value,userConfig:vr.value})}),R=w(!0),Cr=w(0),wr=w(!1),Tr=null;function Er(e=1e3){return new Promise(t=>{let n=performance.now();function r(i){let a=i-n,o=Math.min(a/e,1),s=oe(o);Cr.value=s,o<1?Tr=requestAnimationFrame(r):(Cr.value=1,Tr=null,t())}Tr!==null&&cancelAnimationFrame(Tr),Cr.value=0,Tr=requestAnimationFrame(r)})}ct(()=>yr.value,async e=>{if(e||wr.value)return;let t=br.value===Sr,n=P.value.startAnimation?.show;!t&&n?(wr.value=!0,await Er(P.value.startAnimation.durationMs||1e3)):Cr.value=1,R.value=!1},{immediate:!0});let{userOptionsVisible:Dr,setUserOptionsVisibility:Or,keepUserOptionState:kr}=ze({config:P.value}),{svgRef:z}=Be({config:L.value.title});function Ar(){Or(!0)}function jr(){Or(!1)}let Mr=ne(A.config);ct(()=>A.config,(e,t)=>{let n=ne(e),r=n!==Mr;Mr=n;let i=hr();r?(yr.value||(P.value=i),Dr.value=!P.value.userOptions.showOnChartHover,dr(),Yn.value+=1,Xn.value+=1,Zn.value+=1,B.value.dataLabels.show=F.value.dataLabels.show,B.value.showTable=P.value.table.show,B.value.showTooltip=L.value.tooltip.show,V.value.height=L.value.height,V.value.width=L.value.width):(P.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=P.value.style.chart.tooltip.show)},{deep:!0});let Nr=_(()=>{let{top:e,right:t,bottom:n,left:r}=L.value.padding;return{css:`padding:${e}px ${t}px ${n}px ${r}px`,top:e,right:t,bottom:n,left:r}}),{isPrinting:Pr,isImaging:Fr,generatePdf:Ir,generateImage:Lr}=Me({elementId:`donut__${M.value}`,fileName:L.value.title.text||`vue-ui-donut`,options:P.value.userOptions.print}),Rr=_(()=>P.value.userOptions.show&&!L.value.title.text),zr=_(()=>pe(P.value.customPalette)),B=w({dataLabels:{show:F.value.dataLabels.show},showTable:P.value.table.show,showTooltip:L.value.tooltip.show});ct(P,()=>{B.value={dataLabels:{show:F.value.dataLabels.show},showTable:P.value.table.show,showTooltip:L.value.tooltip.show}},{immediate:!0});let V=w({height:L.value.height,width:L.value.width}),Br=_(()=>{if(P.value.pie)return G.value;let e=I.value.strokeWidth/512,t=Math.min(V.value.width,V.value.height)*e,n=t>G.value?G.value:t;return Math.max(n,12*(1+e))}),Vr=dt,H=_(()=>br.value.sort((e,t)=>{let n=Array.isArray(e.values)?e.values.reduce((e,t)=>e+t,0):e.value??0,r=Array.isArray(t.values)?t.values.reduce((e,t)=>e+t,0):t.value??0;return e.ghost&&!t.ghost?1:t.ghost&&!e.ghost?-1:r-n}).map((e,t)=>({name:e.name,color:l(e.color)||zr.value[t]||o[t]||o[t%o.length],value:re(e.values.reduce((e,t)=>e+t,0)),absoluteValues:e.values,comment:e.comment||``,patternIndex:t,seriesIndex:t,ghost:!1,pattern:`pattern_${M.value}_${t}`})));ct(()=>A.dataset,e=>{Array.isArray(e)&&e.length>0&&(xr.value=!1)},{immediate:!0});let U=it(H.value);ct(()=>H.value,e=>{U.value=e,requestAnimationFrame(cr)});function Hr(){return H.value.map(e=>({name:e.name,color:e.color,value:e.value}))}let W=w([]),Ur=w(!1),Wr=w(null);function Gr(){Vr(`selectLegend`,$r.value.map(e=>({name:e.name,color:e.color,value:e.value})))}function Kr({from:e,to:t,duration:n,onUpdate:r,onDone:i,easing:a=oe}){let o=performance.now();function s(c){let l=Math.min((c-o)/n,1),u=a(l);r(e+(t-e)*u,l),l<1?requestAnimationFrame(s):(r(t,1),i&&i())}requestAnimationFrame(s)}function qr(){W.value.length?W.value=[]:ei.value.forEach((e,t)=>{W.value.push(t)}),Gr()}function Jr(e){let t=H.value.find((t,n)=>n===e),n=U.value.find((t,n)=>n===e).value;if(W.value.includes(e)){W.value=W.value.filter(t=>t!==e);let r=t.value;function i(){U.value=U.value.map((t,n)=>e===n?{...t,value:r}:t),Gr()}function a(){Ur.value=!0,Wr.value=e,Kr({from:n,to:r,duration:P.value.serieToggleAnimation.durationMs,onUpdate:(t,n)=>{U.value=U.value.map((n,r)=>e===r?{...n,value:t}:n),requestAnimationFrame(cr)},onDone:()=>{i(),Ur.value=!1,Wr.value=null}})}P.value.serieToggleAnimation.show&&P.value.type===`classic`?a():(i(),requestAnimationFrame(cr))}else if(W.value.length<H.value.length-1){function t(){W.value.push(e),U.value=U.value.map((t,n)=>e===n?{...t,value:0}:t),Gr()}function r(){Ur.value=!0,Wr.value=e,Kr({from:n,to:0,duration:P.value.serieToggleAnimation.durationMs,onUpdate:(t,n)=>{U.value=U.value.map((n,r)=>e===r?{...n,value:t}:n),requestAnimationFrame(cr)},onDone:()=>{t(),requestAnimationFrame(cr),Ur.value=!1,Wr.value=null}})}P.value.serieToggleAnimation.show&&P.value.type===`classic`?r():t()}}function Yr(e){return H.value.length?H.value.find(t=>t.name===e)||(ur.value&&console.warn(`VueUiDonut - Series name not found "${e}"`),null):(ur.value&&console.warn(`VueUiDonut - There are no series to show.`),null)}function Xr(e){let t=Yr(e);t!==null&&W.value.includes(t.seriesIndex)&&Jr(t.seriesIndex)}function Zr(e){let t=Yr(e);t!==null&&(W.value.includes(t.seriesIndex)||Jr(t.seriesIndex))}let Qr=_(()=>br.value.reduce((e,t)=>e+t.values.reduce((e,t)=>e+t,0),0)),$r=_(()=>{if(R.value&&!yr.value){let e=Cr.value,t=H.value.map(t=>({...t,value:t.value*e,color:t.color,ghost:!1})),n=Qr.value*(1-e);return n>0&&t.push({name:`__ghost__`,value:n,color:`transparent`,ghost:!0}),t}return U.value.forEach(e=>{if([null,void 0].includes(e.values))return{...e,values:[]}}),U.value.map((e,t)=>({...e,seriesIndex:t})).filter((e,t)=>!W.value.includes(t))}),ei=_(()=>br.value.map((e,t)=>{let n=(e.values||[]).reduce((e,t)=>e+t,0),r=n/br.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0);return{name:e.name,color:l(e.color)||zr.value[t]||o[t]||o[t%o.length],value:n,shape:`circle`,patternIndex:t,proportion:r}}).map((e,t)=>{let r=m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:L.value.legend.roundingValue}),{datapoint:e,index:t}),i=m(F.value.percentage.formatter,di(e),n({v:di(e),s:`%`,r:L.value.legend.roundingPercentage})),a=Di({val:r,percentage:W.value.includes(t)?`${Ei(e.proportion*100)}%`:i,showVal:L.value.legend.showValue,showPercentage:L.value.legend.showPercentage,config:L.value.legend});return{...e,opacity:W.value.includes(t)?.5:1,segregate:()=>!Ur.value&&Jr(t),isSegregated:W.value.includes(t),display:`${e.name}${L.value.legend.showPercentage||L.value.legend.showValue?`: `:``}${a}`}})),ti=_(()=>({cy:`donut-div-legend`,backgroundColor:L.value.legend.backgroundColor,color:L.value.legend.color,fontSize:L.value.legend.fontSize,paddingBottom:12,fontWeight:L.value.legend.bold?`bold`:``})),G=_(()=>{let e=I.value.radiusRatio,t=Math.max(.1,Math.min(.50001,e)),n=Math.min(V.value.width*t,V.value.height*t);return Math.max(12,n)}),K=_(()=>s({series:$r.value},V.value.width/2,V.value.height/2,G.value,G.value,1.99999,2,1,360,105.25,Br.value)),ni=_(()=>Math.abs($r.value.map(e=>e.value).reduce((e,t)=>e+t,0))>0),ri=_(()=>s({series:[{value:1,color:I.value.emptyFill,name:`_`,seriesIndex:0,patternIndex:-1,ghost:!1,absoluteValues:[1]}]},V.value.width/2,V.value.height/2,G.value,G.value,1.99999,2,1,360,105.25,Br.value)),q=_(()=>K.value.filter(e=>!e.ghost)),J=_(()=>{let e=Math.max(...$r.value.map(e=>e.value)),t=$r.value.map(t=>t.value/e);return se({series:t,center:{x:V.value.width/2,y:V.value.height/2},maxRadius:Math.min(V.value.width,V.value.height)/3,hasGhost:R.value})});function ii(e){return e.x>V.value.width/2+6?`start`:e.x<V.value.width/2-6?`end`:`middle`}function ai(e){return e.middlePoint.y>V.value.height/2?r({initX:e.middlePoint.x,initY:e.middlePoint.y,offset:100,centerX:V.value.width/2,centerY:V.value.height/2}).y:r({initX:e.middlePoint.x,initY:e.middlePoint.y,offset:0,centerX:V.value.width/2,centerY:V.value.height/2}).y-100}function Y(e){return e.proportion*100>F.value.dataLabels.hideUnderValue}function oi(e,t){let n=F.value.dataLabels.hideUnderValue,r=F.value.dataLabels.smallArcClusterThreshold,i=(li.value[t]??e.proportion??0)*100;return i>n&&i<=r}let{smallArcLayoutsClassic:X}=ut({FINAL_CONFIG:P,noGhostDonut:q,svg:V,padding:Nr,labels_inline_fontSize:or,minSize:G,findArcMidpoint:fe,calcMarkerOffsetX:f,calcMarkerOffsetY:h,animatingIndex:Wr,segregated:W,isSmallArc:oi});function si(e,t){let r=e.value/ci(t);return isNaN(r)?0:m(F.value.percentage.formatter,r*100,n({v:r*100,s:`%`,r:F.value.percentage.rounding}),{datapoint:e})}function ci(e){return[...e].map(e=>e.value).reduce((e,t)=>e+t,0)}let Z=_(()=>$r.value.map(e=>e.value).reduce((e,t)=>e+t,0)),li=_(()=>{let e=H.value.reduce((e,t)=>e+t.value,0);return e<=0?[]:H.value.map(t=>t.value/e)}),ui=_(()=>Z.value/$r.value.length);function di(e){return Ur.value?e.proportion*100:e.value/Z.value*100}let fi=w(null),pi=w(!1);function mi({datapoint:e,seriesIndex:t}){P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:t}),fr.value=!1,N.value=null,tr.value=null,rr.value=`pointer`}function Q({datapoint:e,relativeIndex:t,seriesIndex:r,show:i=!1,triggerMode:o=`pointer`}){P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:r}),rr.value=o,tr.value=t,fi.value={datapoint:e,seriesIndex:r,config:P.value,series:H.value},fr.value=i,N.value=t;let s=``,l=L.value.tooltip.customFormat;if(pi.value=!1,a(l))try{let t=l({seriesIndex:r,datapoint:e,series:H.value,config:P.value});typeof t==`string`&&(pr.value=t,pi.value=!0)}catch{console.warn(`Custom format cannot be applied.`),pi.value=!1}pi.value||(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${L.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${e.color}"/>${Ln.pattern?`<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${M.value}_${r})"/>`:``}</svg>`,s+=`<b>${Di({showVal:L.value.tooltip.showValue,showPercentage:L.value.tooltip.showPercentage,val:`<span>${m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:L.value.tooltip.roundingValue}),{datapoint:e,relativeIndex:t,seriesIndex:r})}</span>`,percentage:m(F.value.percentage.formatter,e.proportion*100,n({v:e.proportion*100,s:`%`,r:L.value.tooltip.roundingPercentage}),{datapoint:e,relativeIndex:t,seriesIndex:r}),config:L.value.tooltip})}</b></div>`,L.value.comments.showInTooltip&&e.comment&&(s+=`<div class="vue-data-ui-tooltip-comment" style="background:${c(e.color,12.5)}; padding: 6px; margin-bottom: 6px; margin-top:6px; border-left: 1px solid ${e.color}">${e.comment}</div>`),pr.value=`<div>${s}</div>`)}function hi(e,t){let n=X.value[t];if(n)return{textAnchor:n.textAnchor,x:n.labelX,y:n.labelY};let r=f(e,!0,12);return{textAnchor:r.anchor,x:r.x,y:h(e)}}function gi(e,t,n){let{textAnchor:r,x:i}=hi(e,t),a=Oi(e),o=`
|
|
2
|
+
<tspan
|
|
3
|
+
class="vue-data-ui-datalabel-inline"
|
|
4
|
+
fill="${F.value.percentage.color}"
|
|
5
|
+
font-size="${n?or.value:ar.value}px"
|
|
6
|
+
style="font-weight:${F.value.percentage.bold?`bold`:``}"
|
|
7
|
+
>${a}</tspan>
|
|
8
|
+
`,s=String(e.name??``).split(/\n/g),c=``;return s.forEach((e,t)=>{c+=t===0?`
|
|
9
|
+
<tspan
|
|
10
|
+
class="${n?`vue-data-ui-datalabel-inline`:`vue-data-ui-datalabel-name`}"
|
|
11
|
+
fill="${F.value.name.color}"
|
|
12
|
+
font-size="${n?or.value:j.value}px"
|
|
13
|
+
style="font-weight:${F.value.name.bold?`bold`:``}"
|
|
14
|
+
>${e}</tspan>
|
|
15
|
+
`:`
|
|
16
|
+
<tspan
|
|
17
|
+
class="${n?`vue-data-ui-datalabel-inline`:`vue-data-ui-datalabel-name`}"
|
|
18
|
+
x="${i}"
|
|
19
|
+
dy="${(n?or.value:j.value)*1.2}"
|
|
20
|
+
fill="${F.value.name.color}"
|
|
21
|
+
font-size="${n?or.value:j.value}px"
|
|
22
|
+
style="font-weight:${F.value.name.bold?`bold`:``}"
|
|
23
|
+
>${e}</tspan>
|
|
24
|
+
`}),r===`end`?`${F.value.name.show?c:``}${o}`:`${o}${F.value.name.show?c:``}`}function _i(e,t){let n=J.value[t].middlePoint,i=ii(n),a=r({initX:n.x,initY:n.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}),o=a.x;a.y;let s=Oi(e),c=`
|
|
25
|
+
<tspan
|
|
26
|
+
class="vue-data-ui-datalabel-value"
|
|
27
|
+
fill="${F.value.percentage.color}"
|
|
28
|
+
font-size="${ar.value}px"
|
|
29
|
+
style="font-weight:${F.value.percentage.bold?`bold`:`normal`}"
|
|
30
|
+
>${s}</tspan>
|
|
31
|
+
`,l=String(e.name??``).split(/\n/g),u=``;return l.forEach((e,t)=>{u+=t===0?`
|
|
32
|
+
<tspan
|
|
33
|
+
class="vue-data-ui-datalabel-name"
|
|
34
|
+
fill="${F.value.name.color}"
|
|
35
|
+
font-size="${j.value}px"
|
|
36
|
+
style="font-weight:${F.value.name.bold?`bold`:`normal`}"
|
|
37
|
+
>${e}</tspan>
|
|
38
|
+
`:`
|
|
39
|
+
<tspan
|
|
40
|
+
class="vue-data-ui-datalabel-name"
|
|
41
|
+
x="${o}"
|
|
42
|
+
dy="${j.value*1.2}"
|
|
43
|
+
fill="${F.value.name.color}"
|
|
44
|
+
font-size="${j.value}px"
|
|
45
|
+
style="font-weight:${F.value.name.bold?`bold`:`normal`}"
|
|
46
|
+
>${e}</tspan>
|
|
47
|
+
`}),i===`end`?`${F.value.name.show?u:``}${c}`:`${c}${F.value.name.show?u:``}`}function vi(e){return P.value.useBlurOnHover&&![null,void 0].includes(N.value)&&N.value!==e?`url(#blur_${M.value})`:``}function yi(e){if(!Ur.value||Wr.value===null||e.seriesIndex!==Wr.value)return 1;let t=(e.proportion??0)*100,n=F.value.dataLabels.hideUnderValue,r=F.value.dataLabels.smallArcClusterThreshold+2,i=n;return t>=r?1:t<=i?0:(t-i)/(r-i)}let bi=_(()=>({head:$r.value.map(e=>({name:e.name,color:e.color})),body:$r.value.map(e=>e.value)}));function xi(e=null){Qe(()=>{let t=bi.value.head.map((e,t)=>[[e.name],[bi.value.body[t]],[isNaN(bi.value.body[t]/Z.value)?`-`:bi.value.body[t]/Z.value*100]]),n=[[L.value.title.text],[L.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),r=i(n);e?e(r):le({csvContent:r,title:L.value.title.text||`vue-ui-donut`})})}let Si=_(()=>{let e=[`__SUM__`,n({p:F.value.dataLabels.prefix,v:Z.value,s:F.value.dataLabels.suffix,r:P.value.table.td.roundingValue}),`100%`],t=bi.value.head.map((e,t)=>[{color:e.color,name:e.name||`-`},bi.value.body[t],isNaN(bi.value.body[t]/Z.value)?`-`:(bi.value.body[t]/Z.value*100).toFixed(P.value.table.td.roundingPercentage)+`%`]),r=t.map(e=>e.map((e,t)=>t===0?e.name:e)),i={th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint};return{colNames:[P.value.table.columnNames.series,P.value.table.columnNames.value,P.value.table.columnNames.percentage],head:e,body:t,a11yBody:r,config:i}}),Ci=w(!1);function wi(e){Ci.value=e,mr.value+=1}let Ti=_(()=>/^((?!chrome|android).)*safari/i.test(navigator.userAgent));function Ei(e){return Ve({num:e,rounding:L.value.legend.roundingPercentage})}function Di({val:e,percentage:t,showVal:n,showPercentage:r,config:i}){return He({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function Oi(e){return Di({val:m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:F.value.value.rounding}),{datapoint:e}),percentage:si(e,q.value),showVal:F.value.value.show,showPercentage:F.value.percentage.show,config:F.value.dataLabels})}function $(e,t){P.value.events.datapointClick&&P.value.events.datapointClick({datapoint:e,seriesIndex:e.seriesIndex}),Vr(`selectDatapoint`,{datapoint:e,index:t})}function ki(){B.value.showTable=!B.value.showTable}function Ai(){B.value.dataLabels.show=!B.value.dataLabels.show}function ji(){B.value.showTooltip=!B.value.showTooltip}let Mi=w(!1);function Ni(){Mi.value=!Mi.value}let Pi=Ce(zn,()=>L.value.title.text);function Fi(){if(!Bn.value)return;let{x:e,y:t,width:n,height:r}=Bn.value.getBBox();z.value&&z.value.setAttribute(`viewBox`,`${e} ${t} ${n+Math.min(0,e)} ${r+Math.min(0,t)}`)}let Ii=_(()=>De({config:P,style:L,mutableConfig:B,dialog:Nn,accordion:On,isFullscreen:Ci,parent:zn,maxWidth:500,isCursorPointer:_r}));ct(()=>B.value.showTable,e=>Ee(e,P,$n));function Li(){B.value.showTable=!1,er.value&&er.value.setTableIconState(!1)}let Ri=_(()=>ei.value.map(e=>({...e,name:e.display}))),zi=_(()=>L.value.backgroundColor),Bi=_(()=>L.value.legend),Vi=_(()=>L.value.title),{isCallbackImaging:Hi,isCallbackSvg:Ui,generateSvg:Wi,onGenerateImage:Gi}=Te({svg:z,title:Vi,legend:Bi,legendItems:Ri,backgroundColor:zi,getSvgCallback:()=>P.value.userOptions.callbacks.svg,generateImage:Lr});async function Ki(){Vr(`copyAlt`,{config:P.value,dataset:U.value}),P.value.userOptions.callbacks.altCopy?await Promise.resolve(P.value.userOptions.callbacks.altCopy({config:P.value,dataset:U.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function qi(){tr.value=null,ir.value=!0}function Ji(){tr.value=null,rr.value=`pointer`,fr.value=!1,N.value=null,ir.value=!1}function Yi(e){if(!z.value||Mi.value||document.activeElement!==z.value||!q.value.length)return;let t=[`ArrowLeft`,`ArrowUp`].includes(e.key),n=[`ArrowRight`,`ArrowDown`].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){tr.value=null,rr.value=`pointer`,fr.value=!1,N.value=null;return}if(r){if(tr.value===null)return;let e=q.value[tr.value];if(!e)return;$(e,tr.value);return}let a=tr.value,o=N.value,s=a!==null&&a>=0&&a<q.value.length,c=o!==null&&o>=0&&o<q.value.length;s?n?(a+=1,a>=q.value.length&&(a=0)):t&&(--a,a<0&&(a=q.value.length-1)):c?(a=n?o+1:o-1,a>=q.value.length&&(a=0),a<0&&(a=q.value.length-1)):a=n?0:q.value.length-1;let l=q.value[a];l&&(tr.value=a,Xi(a),Q({datapoint:l,relativeIndex:a,seriesIndex:l.seriesIndex,show:!0,triggerMode:`keyboard`}))}function Xi(e){if(!Number.isFinite(e)||!z.value)return;let t=V.value.width/2,n=V.value.height/2;if(P.value.type===`classic`){let r=q.value[e];if(!r?.arcSlice)return;let i=fe(r.arcSlice);if(!i)return;t=i.x,n=i.y}else{let r=J.value[e]?.middlePoint;if(!r)return;t=r.x,n=r.y}let r=z.value.getBoundingClientRect();nr.value={x:r.left+t/V.value.width*r.width,y:r.top+n/V.value.height*r.height}}let Zi=_(()=>({headers:Si.value?.colNames??[],rows:Si.value?.a11yBody??[]}));return be({autoSize:Fi,getData:Hr,getImage:Pi,generatePdf:Ir,generateCsv:xi,generateImage:Lr,generateSvg:Wi,hideSeries:Zr,showSeries:Xr,toggleTable:ki,toggleLabels:Ai,toggleTooltip:ji,toggleAnnotator:Ni,toggleFullscreen:wi,copyAlt:Ki}),(t,i)=>(C(),b(`div`,{ref_key:`donutChart`,ref:zn,class:$e(`vue-data-ui-component vue-ui-donut ${Ci.value?`vue-data-ui-wrapper-fullscreen`:``} ${P.value.useCssAnimation?``:`vue-ui-dna`}`),style:S(`font-family:${P.value.style.fontFamily};width:100%; ${P.value.responsive?`height:100%;`:``} text-align:center;background:${L.value.backgroundColor}`),id:`donut__${M.value}`,onMouseenter:Ar,onMouseleave:jr},[x(`div`,{id:`chart-instructions-${M.value}`,class:`sr-only`},[x(`p`,null,D(P.value.a11y.translations.keyboardNavigation),1)],8,pt),Zi.value?.rows?.length?(C(),v(Re,{key:0,uid:M.value,head:Zi.value.headers,body:Zi.value.rows,notice:P.value.a11y.translations.tableAvailable,caption:P.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):y(``,!0),P.value.userOptions.buttons.annotator&&O(z)?(C(),v(O(An),{key:1,color:L.value.color,backgroundColor:L.value.backgroundColor,active:Mi.value,svgRef:O(z),isCursorPointer:_r.value,palette:P.value.userOptions.annotatorPalette,onClose:Ni},Ke({_:2},[T(O(ke),e=>({name:e,fn:k(n=>[E(t.$slots,e,et(Xe(O(Oe)(e,n))),void 0,!0)])}))]),1032,[`color`,`backgroundColor`,`active`,`svgRef`,`isCursorPointer`,`palette`])):y(``,!0),E(t.$slots,`userConfig`,{},void 0,!0),Rr.value?(C(),b(`div`,{key:2,ref_key:`noTitle`,ref:Jn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):y(``,!0),L.value.title.text?(C(),b(`div`,{key:3,ref_key:`chartTitle`,ref:Un,style:`width:100%;background:transparent;padding-bottom:24px`},[(C(),v(we,{key:`title_${Yn.value}`,config:{title:{cy:`donut-div-title`,...L.value.title},subtitle:{cy:`donut-div-subtitle`,...L.value.title.subtitle}}},null,8,[`config`]))],512)):y(``,!0),x(`div`,{id:`legend-top-${M.value}`},null,8,mt),P.value.userOptions.show&&Rn.value&&(O(kr)||O(Dr))?(C(),v(O(jn),{ref_key:`userOptionsRef`,ref:er,key:`user_option_${mr.value}`,backgroundColor:L.value.backgroundColor,color:L.value.color,isPrinting:O(Pr),isImaging:O(Fr),uid:M.value,hasTooltip:L.value.tooltip.show&&P.value.userOptions.buttons.tooltip,hasPdf:P.value.userOptions.buttons.pdf,hasImg:P.value.userOptions.buttons.img,hasSvg:P.value.userOptions.buttons.svg,hasXls:P.value.userOptions.buttons.csv,hasTable:P.value.userOptions.buttons.table,hasLabel:P.value.userOptions.buttons.labels,hasFullscreen:P.value.userOptions.buttons.fullscreen,hasAltCopy:P.value.userOptions.buttons.altCopy,isFullscreen:Ci.value,chartElement:zn.value,position:P.value.userOptions.position,callbacks:P.value.userOptions.callbacks,isTooltip:B.value.showTooltip,titles:{...P.value.userOptions.buttonTitles},hasAnnotator:P.value.userOptions.buttons.annotator,isAnnotation:Mi.value,printScale:P.value.userOptions.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:_r.value,onToggleFullscreen:wi,onGeneratePdf:O(Ir),onGenerateCsv:xi,onGenerateImage:O(Gi),onGenerateSvg:O(Wi),onToggleTable:ki,onToggleLabels:Ai,onToggleTooltip:ji,onToggleAnnotator:Ni,onCopyAlt:Ki,style:S({visibility:O(kr)?O(Dr)?`visible`:`hidden`:`visible`})},Ke({_:2},[T(O(Ae)(t.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),e=>({name:e,fn:k(n=>[E(t.$slots,e,et(Xe(O(je)(e,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.callbacks.isTooltip.titles.hasAnnotator.isAnnotation.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):y(``,!0),x(`div`,ht,[(C(),b(`svg`,{ref_key:`svgRef`,ref:z,xmlns:O(de),"aria-describedby":`chart-instructions-${M.value}`,class:$e({"vue-data-ui-fullscreen--on":Ci.value,"vue-data-ui-fulscreen--off":!Ci.value,"vue-data-ui-svg":!0}),viewBox:`0 0 ${V.value.width<=0?10:V.value.width} ${V.value.height<=0?10:V.value.height}`,style:S(`max-width:100%; overflow: visible; background:transparent;color:${L.value.color};${Nr.value.css}`),tabindex:`0`,onFocus:qi,onBlur:Ji,onKeydown:Yi},[x(`g`,{ref_key:`G`,ref:Bn,class:`vue-data-ui-g`},[Je(O(Mn)),E(t.$slots,`svg-underlayer`,{svg:{...V.value,datapoints:K.value,isPrintingImg:O(Pr)||O(Fr)||O(Hi),isPrintingSvg:O(Ui)}},void 0,!0),t.$slots[`chart-background`]?(C(),b(`foreignObject`,{key:0,x:0,y:0,width:V.value.width<=0?10:V.value.width,height:V.value.height<=0?10:V.value.height,style:{pointerEvents:`none`}},[E(t.$slots,`chart-background`,{},void 0,!0)],8,_t)):y(``,!0),P.value.type===`classic`&&!isNaN(Br.value/G.value)?(C(),b(`defs`,vt,[L.value.useGradient?(C(),v(Ie,{key:0,t:`radial`,id:`gradient_${M.value}`,stops:[[`0%`,O(c)(L.value.backgroundColor,0),0],[`${(1-Br.value/G.value)*100}%`,O(c)(`#FFFFFF`,0),0],[`${(1-Br.value/G.value/2)*100}%`,O(c)(`#FFFFFF`,L.value.gradientIntensity),1],[`100%`,O(c)(L.value.backgroundColor,0),0]]},null,8,[`id`,`stops`])):y(``,!0)])):y(``,!0),P.value.type===`polar`?(C(),b(`defs`,yt,[(C(!0),b(g,null,T(J.value,(e,t)=>(C(),v(Ie,{t:`radial`,id:`polar_gradient_${t}_${M.value}`,key:`pg_${t}_${M.value}`,cx:(isNaN(e.middlePoint.x/V.value.width*100)?0:e.middlePoint.x/V.value.width*100)+`%`,cy:(isNaN(e.middlePoint.y/V.value.height*100)?0:e.middlePoint.y/V.value.height*100)+`%`,r:`62%`,stops:[[`0%`,O(te)(K.value[t].color,.05),L.value.gradientIntensity/100],[`100%`,K.value[t].color,1]]},null,8,[`id`,`cx`,`cy`,`stops`]))),128))])):y(``,!0),x(`defs`,null,[x(`filter`,{id:`blur_${M.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[x(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:2,id:`blur_std_${M.value}`},null,8,xt),i[5]||=x(`feColorMatrix`,{type:`saturate`,values:`0`},null,-1)],8,bt),x(`filter`,{id:`shadow_${M.value}`,"color-interpolation-filters":`sRGB`},[x(`feDropShadow`,{dx:`0`,dy:`0`,stdDeviation:`10`,"flood-opacity":`0.5`,"flood-color":I.value.shadowColor},null,8,Ct)],8,St),x(`filter`,{id:`drop_shadow_${M.value}`,"color-interpolation-filters":`sRGB`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[x(`feDropShadow`,{dx:`0`,dy:`0`,stdDeviation:`3`,"flood-opacity":`1`,"flood-color":I.value.shadowColor},null,8,Tt)],8,wt)]),P.value.type===`classic`?(C(!0),b(g,{key:3},T(K.value.filter(e=>!e.ghost),(e,t)=>(C(),b(`g`,null,[Y(e)&&B.value.dataLabels.show?(C(),b(`path`,{key:0,d:O(X)[t]?.connectorPath||O(p)(e,{x:V.value.width/2,y:V.value.height/2},16,16,!1,!1,Br.value,12,gr.value.curvedMarkers),stroke:e.color,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`,filter:vi(t)},null,8,Et)):y(``,!0)]))),256)):y(``,!0),P.value.type===`polar`?(C(!0),b(g,{key:4},T(K.value.filter(e=>!e.ghost),(e,t)=>(C(),b(`g`,null,[Y(e)&&B.value.dataLabels.show?(C(),b(`path`,{key:0,d:`M ${O(r)({initX:J.value[t].middlePoint.x,initY:J.value[t].middlePoint.y,offset:24,centerX:V.value.width/2,centerY:V.value.height/2}).x},${O(r)({initX:J.value[t].middlePoint.x,initY:J.value[t].middlePoint.y,offset:24,centerX:V.value.width/2,centerY:V.value.height/2}).y} ${J.value[t].middlePoint.x},${J.value[t].middlePoint.y}`,stroke:e.color,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`,filter:vi(t),style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,12,Dt)):y(``,!0)]))),256)):y(``,!0),P.value.type===`classic`&&I.value.useShadow?(C(),b(`circle`,{key:5,cx:V.value.width/2,cy:V.value.height/2,r:G.value<=0?10:G.value,fill:L.value.backgroundColor,filter:`url(#shadow_${M.value})`},null,8,Ot)):y(``,!0),t.$slots.pattern?(C(),b(`g`,kt,[(C(!0),b(g,null,T(e.dataset,(e,n)=>(C(),b(`defs`,{key:`pattern-${e.patternIndex}`},[E(t.$slots,`pattern`,Ze({ref_for:!0},{seriesIndex:n,patternId:`pattern_${M.value}_${n}`}),void 0,!0)]))),128))])):y(``,!0),Z.value&&P.value.type===`classic`?(C(),b(g,{key:7},[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{stroke:L.value.backgroundColor,d:e.arcSlice,fill:`#FFFFFF`},null,8,At))),256)),(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,"stroke-width":I.value.borderWidth,filter:vi(t)},null,8,jt))),256)),t.$slots.pattern?(C(),b(`g`,Mt,[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:`url(#${e.pattern})`,stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,"stroke-width":I.value.borderWidth,filter:vi(t)},null,8,Nt))),256))])):y(``,!0)],64)):y(``,!0),Z.value&&P.value.type===`polar`?(C(),b(g,{key:8},[K.value.length>1?(C(),b(`g`,Pt,[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,d:J.value[t].path,fill:`#FFFFFF`,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,12,Ft))),256)),I.value.useShadow?(C(),b(`g`,It,[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:J.value[t].path,fill:`transparent`,stroke:I.value.borderColorAuto?L.value.backgroundColor:gr.value.donut.borderColor,"stroke-width":I.value.borderWidth,filter:`url(#drop_shadow_${M.value})`,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,12,Lt))),256))])):y(``,!0),t.$slots.pattern?(C(),b(`g`,Rt,[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:J.value[t].path,fill:`url(#${e.pattern})`,stroke:I.value.borderColorAuto?L.value.backgroundColor:gr.value.donut.borderColor,"stroke-width":I.value.borderWidth,filter:vi(t),style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`,transformOrigin:`center`})},null,12,zt))),256))])):y(``,!0),(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:J.value[t].path,fill:L.value.useGradient?`url(#polar_gradient_${t}_${M.value})`:e.color,stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,"stroke-width":I.value.borderWidth,filter:vi(t),style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,12,Bt))),256))])):(C(),b(`g`,Vt,[t.$slots.pattern?(C(),b(`circle`,{key:0,cx:V.value.width/2,cy:V.value.height/2,r:G.value,fill:`url(#pattern_${M.value}_${K.value[0].patternIndex})`,stroke:L.value.backgroundColor,"stroke-width":I.value.borderWidth},null,8,Ht)):y(``,!0),x(`circle`,{cx:V.value.width/2,cy:V.value.height/2,r:G.value,fill:L.value.useGradient?`url(#polar_gradient_0_${M.value})`:K.value[0].color,stroke:L.value.backgroundColor,"stroke-width":I.value.borderWidth},null,8,Ut)]))],64)):(C(),b(g,{key:9},[P.value.type===`classic`&&!ni.value?(C(),b(`g`,Wt,[(C(!0),b(g,null,T(ri.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:L.value.backgroundColor,"stroke-width":I.value.borderWidth},null,8,Gt))),256))])):y(``,!0),x(`circle`,{cx:V.value.width/2,cy:V.value.height/2,r:G.value<=0?10:G.value,fill:`transparent`,stroke:L.value.backgroundColor},null,8,Kt)],64)),L.value.useGradient&&P.value.type===`classic`?(C(),b(`circle`,{key:10,cx:V.value.width/2,cy:V.value.height/2,r:G.value<=0?10:G.value,fill:`url(#gradient_${M.value})`},null,8,qt)):y(``,!0),x(`circle`,{ref_key:`circle_hollow`,ref:Hn,style:{pointerEvents:`none`},fill:`none`,cx:V.value.width/2,cy:V.value.height/2,r:Math.max(.1,Br.value*1.7)},null,8,Jt),Z.value?(C(),b(g,{key:11},[K.value.length>1||P.value.type===`classic`?(C(),b(`g`,Yt,[(C(!0),b(g,null,T(K.value.filter(e=>!e.ghost),(e,t)=>(C(),b(`path`,{d:P.value.type===`classic`?e.arcSlice:J.value[t].path,stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,fill:N.value===t?I.value.selectedColor:`transparent`,onMouseenter:n=>Q({datapoint:e,relativeIndex:t,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),onClick:n=>$(e,t)},null,40,Xt))),256))])):(C(),b(`g`,Zt,[x(`circle`,{cx:V.value.width/2,cy:V.value.height/2,r:G.value,fill:`transparent`,onMouseenter:i[0]||=e=>Q({datapoint:K.value[0],relativeIndex:0,seriesIndex:K.value[0].seriesIndex,show:!0}),onMouseleave:i[1]||=e=>mi({datapoint:K.value[0],seriesIndex:K.value[0].seriesIndex}),onClick:i[2]||=e=>$(K.value[0],t.i)},null,40,Qt)]))],64)):y(``,!0),P.value.type===`classic`?(C(),b(`g`,{key:12,ref_key:`G_hollow`,ref:Vn,class:`vue-data-ui-donut-hollow-labels`},[F.value.hollow.total.show?(C(),b(`text`,{key:0,"text-anchor":`middle`,x:V.value.width/2,y:V.value.height/2-(F.value.hollow.average.show?F.value.hollow.total.fontSize:0)+F.value.hollow.total.offsetY,fill:F.value.hollow.total.color,"font-size":F.value.hollow.total.fontSize,style:S(`font-weight:${F.value.hollow.total.bold?`bold`:``}`)},D(F.value.hollow.total.text),13,$t)):y(``,!0),F.value.hollow.total.show?(C(),b(`text`,{key:1,"text-anchor":`middle`,x:V.value.width/2,y:V.value.height/2+F.value.hollow.total.fontSize-(F.value.hollow.average.show?F.value.hollow.total.fontSize:0)+F.value.hollow.total.value.offsetY,fill:F.value.hollow.total.value.color,"font-size":F.value.hollow.total.value.fontSize,style:S(`font-weight:${F.value.hollow.total.value.bold?`bold`:``}`)},D(O(m)(F.value.hollow.total.value.formatter,Z.value,O(n)({p:F.value.hollow.total.value.prefix,v:Z.value,s:F.value.hollow.total.value.suffix}))),13,en)):y(``,!0),F.value.hollow.average.show?(C(),b(`text`,{key:2,"text-anchor":`middle`,x:V.value.width/2,y:V.value.height/2+(F.value.hollow.total.show?F.value.hollow.average.fontSize:0)+F.value.hollow.average.offsetY,fill:F.value.hollow.average.color,"font-size":F.value.hollow.average.fontSize,style:S(`font-weight:${F.value.hollow.average.bold?`bold`:``}`)},D(F.value.hollow.average.text),13,tn)):y(``,!0),F.value.hollow.average.show?(C(),b(`text`,{key:3,"text-anchor":`middle`,x:V.value.width/2,y:V.value.height/2+(F.value.hollow.total.show?F.value.hollow.average.fontSize:0)+F.value.hollow.average.fontSize+F.value.hollow.average.value.offsetY,fill:F.value.hollow.average.value.color,"font-size":F.value.hollow.average.value.fontSize,style:S(`font-weight:${F.value.hollow.average.value.bold?`bold`:``}`)},D(Ur.value||R.value?`--`:O(m)(F.value.hollow.average.value.formatter,O(ie)(ui.value),O(n)({p:F.value.hollow.average.value.prefix,v:O(ie)(ui.value),s:F.value.hollow.average.value.suffix,r:F.value.hollow.average.value.rounding}))),13,nn)):y(``,!0)],512)):y(``,!0),(C(!0),b(g,null,T(q.value.filter(e=>!e.ghost),(e,n)=>(C(),b(`g`,{filter:vi(n),key:e.seriesIndex,opacity:yi(e)},[F.value.dataLabels.useLabelSlots?(C(),b(`g`,an,[(C(),b(`foreignObject`,{x:O(f)(e,!0).anchor===`end`?O(f)(e).x-120:O(f)(e,!0).anchor===`middle`?O(f)(e).x-60:O(f)(e).x,y:O(h)(e)-(Ti.value?20:0),width:`120`,height:`60`,style:{overflow:`visible`}},[x(`div`,null,[E(t.$slots,`dataLabel`,Ze({ref_for:!0},{datapoint:e,isBlur:!P.value.useBlurOnHover||[null,void 0].includes(N.value)||N.value===n,isSafari:Ti.value,isVisible:Y(e)&&B.value.dataLabels.show,textAlign:O(f)(e,!0,16,!0).anchor,flexAlign:O(f)(e,!0,16).anchor,percentage:si(e,q.value)}),void 0,!0)])],8,on))])):(C(),b(`g`,sn,[P.value.type===`classic`?(C(),b(g,{key:0},[Y(e)&&B.value.dataLabels.show?(C(),b(`circle`,{key:0,cx:O(X)[n]?.markerX??O(f)(e).x,cy:O(X)[n]?.markerY??O(h)(e)-3.5,fill:e.color,stroke:L.value.backgroundColor,"stroke-width":1,r:3,filter:!P.value.useBlurOnHover||[null,void 0].includes(N.value)||N.value===n?``:`url(#blur_${M.value})`,onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex})},null,40,cn)):y(``,!0),F.value.dataLabels.oneLine||O(X)[n]?lt((C(),b(`text`,{key:1,class:`vue-data-ui-datalabel-inline`,"text-anchor":O(X)[n]?.textAnchor||O(f)(e,!0,12).anchor,x:O(X)[n]?.labelX??O(f)(e,!0,12).x,y:O(X)[n]?.labelY??O(h)(e),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),innerHTML:gi(e,n,!!O(X)[n])},null,40,ln)),[[st,Y(e)&&B.value.dataLabels.show]]):(C(),b(g,{key:2},[lt(x(`text`,{class:`vue-data-ui-datalabel-value`,"text-anchor":O(X)[n]?.textAnchor||O(f)(e,!0,12).anchor,x:O(X)[n]?.labelX??O(f)(e,!0,12).x,y:O(X)[n]?.labelY??O(h)(e),fill:F.value.percentage.color,"font-size":ar.value+`px`,style:S(`font-weight:${F.value.percentage.bold?`bold`:``}`),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex})},D(Oi(e)),45,un),[[st,Y(e)&&B.value.dataLabels.show]]),lt(x(`text`,{class:`vue-data-ui-datalabel-name`,"text-anchor":O(X)[n]?.textAnchor||O(f)(e).anchor,x:O(X)[n]?.labelX??O(f)(e,!0,12).x,y:(O(X)[n]?.labelY??O(h)(e))+j.value*1.2,fill:F.value.name.color,"font-size":j.value+`px`,style:S(`font-weight:${F.value.name.bold?`bold`:``}`),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),innerHTML:O(ee)({content:e.name,fontSize:j.value,fill:F.value.name.color,x:O(X)[n]?.labelX??O(f)(e,!0,12).x,y:(O(X)[n]?.labelY??O(h)(e))+j.value})},null,44,dn),[[st,Y(e,!0,12)&&B.value.dataLabels.show&&F.value.name.show]])],64))],64)):y(``,!0),P.value.type===`polar`?(C(),b(g,{key:1},[Y(e)&&B.value.dataLabels.show?(C(),b(`circle`,{key:0,cx:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:24,centerX:V.value.width/2,centerY:V.value.height/2}).x,cy:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:24,centerX:V.value.width/2,centerY:V.value.height/2}).y,fill:e.color,stroke:L.value.backgroundColor,"stroke-width":1,r:3,filter:!P.value.useBlurOnHover||[null,void 0].includes(N.value)||N.value===n?``:`url(#blur_${M.value})`,onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,44,fn)):y(``,!0),F.value.dataLabels.oneLine?lt((C(),b(`text`,{key:1,class:`vue-data-ui-datalabel-inline`,"text-anchor":ii(J.value[n].middlePoint),x:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x,y:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).y,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`}),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),innerHTML:_i(e,n)},null,44,pn)),[[st,Y(e)&&B.value.dataLabels.show]]):(C(),b(g,{key:2},[Y(e)&&B.value.dataLabels.show?(C(),b(`text`,{key:0,class:`vue-data-ui-datalabel-value`,"text-anchor":ii(J.value[n].middlePoint),x:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x,y:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).y,fill:F.value.percentage.color,"font-size":ar.value,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`,fontWeight:F.value.percentage.bold?`bold`:`normal`}),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex})},D(Oi(e)),45,mn)):y(``,!0),Y(e,!0,12)&&B.value.dataLabels.show&&F.value.name.show?(C(),b(`text`,{key:1,class:`vue-data-ui-datalabel-name`,"text-anchor":ii(J.value[n].middlePoint),x:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x,y:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).y+j.value*1.2,fill:F.value.name.color,"font-size":j.value,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`,fontWeight:F.value.name.bold?`bold`:`normal`}),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),innerHTML:O(ee)({content:e.name,fontSize:j.value,fill:F.value.name.color,x:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x,y:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).y+j.value*1.2})},null,44,hn)):y(``,!0)],64))],64)):y(``,!0)])),B.value.dataLabels.show&&L.value.comments.show&&e.comment?(C(),b(`g`,gn,[Y(e)&&P.value.type===`classic`?(C(),b(`foreignObject`,{key:0,x:L.value.comments.offsetX+(O(f)(e,!0).anchor===`end`?O(f)(e).x-L.value.comments.width:O(f)(e,!0).anchor===`middle`?O(f)(e).x-L.value.comments.width/2:O(f)(e).x),y:O(h)(e)+24+L.value.comments.offsetY,width:L.value.comments.width,height:`200`,style:{overflow:`visible`,"pointer-events":`none`}},[x(`div`,null,[E(t.$slots,`plot-comment`,{plot:{...e,textAlign:O(f)(e,!0,16,!0).anchor,flexAlign:O(f)(e,!0,16).anchor,isFirstLoad:R.value}},void 0,!0)])],8,_n)):y(``,!0),Y(e)&&P.value.type===`polar`?(C(),b(`foreignObject`,{key:1,x:L.value.comments.offsetX+(ii(J.value[n].middlePoint)===`end`?O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x-L.value.comments.width:ii(J.value[n].middlePoint)===`middle`?O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x-L.value.comments.width/2:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x),y:ai(J.value[n])+L.value.comments.offsetY,width:L.value.comments.width,height:`200`,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`,overflow:`visible`,pointerEvents:`none`})},[x(`div`,null,[E(t.$slots,`plot-comment`,{plot:{...e,textAlign:ii(J.value[n].middlePoint),flexAlign:ii(J.value[n].middlePoint),isFirstLoad:R.value}},void 0,!0)])],12,vn)):y(``,!0)])):y(``,!0)],8,rn))),128)),E(t.$slots,`svg`,{svg:{...V.value,datapoints:K.value,isPrintingImg:O(Pr)||O(Fr)||O(Hi),isPrintingSvg:O(Ui)}},void 0,!0)],512)],46,gt)),t.$slots.hint?(C(),b(`div`,yn,[E(t.$slots,`hint`,et(Xe({hint:P.value.a11y.translations.keyboardNavigation,isVisible:ir.value})),void 0,!0)])):y(``,!0)]),t.$slots.watermark?(C(),b(`div`,bn,[E(t.$slots,`watermark`,et(Xe({isPrinting:O(Pr)||O(Fr)||O(Hi)||O(Ui)})),void 0,!0)])):y(``,!0),x(`div`,{id:`legend-bottom-${M.value}`},null,8,xn),Qn.value&&(L.value.legend.show||t.$slots.legend)?(C(),v(Ge,{key:6,to:L.value.legend.position===`top`?`#legend-top-${M.value}`:`#legend-bottom-${M.value}`},[x(`div`,{ref_key:`chartLegend`,ref:Wn},[E(t.$slots,`legend`,{legend:ei.value},()=>[L.value.legend.show?(C(),v(We,{key:`legend_${Zn.value}`,legendSet:ei.value,config:ti.value,onClickMarker:i[3]||=({i:e})=>Jr(e),isCursorPointer:_r.value},Ke({item:k(({legend:e,index:t})=>[x(`div`,{style:S(`opacity:${W.value.includes(t)?.5:1}`),onClick:t=>e.segregate()},D(e.display),13,Sn)]),legendToggle:k(()=>[ei.value.length>2&&L.value.legend.selectAllToggle.show&&!O(yr)?(C(),v(Le,{key:0,backgroundColor:L.value.legend.selectAllToggle.backgroundColor,color:L.value.legend.selectAllToggle.color,fontSize:L.value.legend.fontSize,checked:W.value.length>0,isCursorPointer:_r.value,onToggle:qr},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):y(``,!0)]),_:2},[t.$slots.pattern?{name:`legend-pattern`,fn:k(({legend:e,index:t})=>[Je(Ne,{shape:e.shape,radius:30,stroke:`none`,plot:{x:30,y:30},fill:`url(#pattern_${M.value}_${t})`},null,8,[`shape`,`fill`])]),key:`0`}:void 0]),1032,[`legendSet`,`config`,`isCursorPointer`])):y(``,!0)],!0)],512)],8,[`to`])):y(``,!0),t.$slots.source?(C(),b(`div`,{key:7,ref_key:`source`,ref:qn,dir:`auto`},[E(t.$slots,`source`,{},void 0,!0)],512)):y(``,!0),t.$slots.hollow?(C(),b(`div`,Cn,[E(t.$slots,`hollow`,et(Xe({total:Z.value,average:ui.value,dataset:H.value,...V.value})),void 0,!0)])):y(``,!0),Je(O(En),{teleportTo:L.value.tooltip.teleportTo,show:B.value.showTooltip&&fr.value,backgroundColor:L.value.tooltip.backgroundColor,color:L.value.tooltip.color,fontSize:L.value.tooltip.fontSize,borderRadius:L.value.tooltip.borderRadius,borderColor:L.value.tooltip.borderColor,borderWidth:L.value.tooltip.borderWidth,backgroundOpacity:L.value.tooltip.backgroundOpacity,position:L.value.tooltip.position,offsetX:L.value.tooltip.offsetX,offsetY:L.value.tooltip.offsetY,parent:zn.value,content:pr.value,isCustom:pi.value,isFullscreen:Ci.value,smooth:L.value.tooltip.smooth,backdropFilter:L.value.tooltip.backdropFilter,smoothForce:L.value.tooltip.smoothForce,smoothSnapThreshold:L.value.tooltip.smoothSnapThrehsold,isA11yMode:rr.value===`keyboard`,a11yPosition:nr.value},{"tooltip-before":k(()=>[E(t.$slots,`tooltip-before`,et(Xe({...fi.value})),void 0,!0)]),tooltip:k(()=>[E(t.$slots,`tooltip`,et(Xe({...fi.value})),void 0,!0)]),"tooltip-after":k(()=>[E(t.$slots,`tooltip-after`,et(Xe({...fi.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`]),Rn.value&&P.value.userOptions.buttons.table?(C(),v(rt(Ii.value.component),Ze({key:9},Ii.value.props,{ref_key:`tableUnit`,ref:$n,onClose:Li}),Ke({content:k(()=>[(C(),v(O(kn),{key:`table_${Xn.value}`,colNames:Si.value.colNames,head:Si.value.head,body:Si.value.body,config:Si.value.config,title:P.value.table.useDialog?``:Ii.value.title,withCloseButton:!P.value.table.useDialog,isCursorPointer:_r.value,onClose:Li},{th:k(({th:e})=>[e===`__SUM__`?(C(),b(`div`,wn,[Je(O(Dn),{name:`sigma`,stroke:Si.value.config.th.color,size:16},null,8,[`stroke`])])):(C(),b(`div`,Tn,D(e),1))]),td:k(({td:e})=>[qe(D(e.name?e.name:isNaN(Number(e))?e.includes(`%`)?e:O(m)(F.value.percentage.formatter,e,O(n)({v:e,s:`%`,r:F.value.percentage.rounding})):O(m)(F.value.value.formatter,e,O(n)({p:F.value.dataLabels.prefix,v:e,s:F.value.dataLabels.suffix,r:F.value.value.rounding}))),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:k(()=>[qe(D(Ii.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:k(()=>[x(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:i[4]||=e=>xi(P.value.userOptions.callbacks.csv),style:S({cursor:_r.value?`pointer`:`default`})},[Je(O(Dn),{name:`fileCsv`,stroke:Ii.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):y(``,!0),E(t.$slots,`skeleton`,{},()=>[O(yr)?(C(),v(_e,{key:0})):y(``,!0)],!0)],46,ft))}},[[`__scopeId`,`data-v-28a94025`]]);export{dt as n,En as t};
|
|
@@ -0,0 +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-BIhjLNBU.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-Vbp5Xs2-.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};
|
|
@@ -0,0 +1,9 @@
|
|
|
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-BIhjLNBU.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
|
+
${e.startX},${e.y+J.value/2}
|
|
3
|
+
C ${e.centerX},${e.y} ${e.centerX},${e.y}
|
|
4
|
+
${e.endX},${e.y+J.value/2}
|
|
5
|
+
L ${e.endX},${e.y-J.value/2}
|
|
6
|
+
C ${e.centerX},${e.y} ${e.centerX},${e.y}
|
|
7
|
+
${e.startX},${e.y-J.value/2}
|
|
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-11e02b9f`]]);export{Xe as n,Ft as t};
|
|
@@ -0,0 +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-BIhjLNBU.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
|
+
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-b9e1d11c`]]);export{Pe as n,tt as t};
|
|
@@ -0,0 +1 @@
|
|
|
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,S as ee,X as te,at as ne,i as a,nt as re,r as ie,rn as ae,t as oe,yt as se,zt as ce}from"./lib-rPeBMZrn.js";import{n as le,t as ue}from"./useHints-BH9r_0Vd.js";import{t as de}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as fe}from"./resolveChartConfig-CIhClE5R.js";import{t as pe}from"./chartImage-DPGnEuYM.js";import{n as me}from"./Title-BliHuXfT.js";import{t as he}from"./useChartExport-BZts4KFb.js";import{n as ge,t as _e}from"./tableIntegration-CNoJ1CIY.js";import{n as ve,t as ye}from"./annotationSlots-BRR85CqJ.js";import{n as be,t as xe}from"./userOptionsSlots-DYuo-E5m.js";import{t as Se}from"./usePrinter-sVoTzet1.js";import{c as Ce}from"./canvas-lib-22VpOI4_.js";import{t as we}from"./useResponsive-CENUxfEL.js";import{t as Te}from"./DefGrad-DKMq1REY.js";import{t as Ee}from"./useUserOptionState-CXlFnwPv.js";import{t as De}from"./useChartAccessibility-DOMuYJfm.js";import{t as Oe}from"./usePrefersMotion-XLHwega2.js";import{t as ke}from"./vue_ui_funnel-CaEV5hG7.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createSlots as Ae,createTextVNode as je,createVNode as Me,defineAsyncComponent as f,guardReactiveProps as Ne,mergeProps as p,nextTick as Pe,normalizeClass as m,normalizeProps as Fe,normalizeStyle as h,onBeforeUnmount as Ie,onMounted as Le,openBlock as g,ref as _,renderList as v,renderSlot as y,resolveDynamicComponent as Re,shallowRef as ze,toDisplayString as b,unref as x,useCssVars as Be,watch as Ve,withCtx as S}from"vue";var He=/* @__PURE__ */ e({default:()=>C}),Ue=[`id`],We=[`xmlns`,`viewBox`],Ge=[`width`,`height`],Ke=[`stroke`,`stroke-width`],qe=[`stroke`,`stroke-width`],Je=[`x`,`y`,`font-size`,`fill`,`font-weight`],Ye=[`points`,`fill`],Xe=[`stroke`,`stroke-width`,`rx`],Ze=[`x`,`y`,`font-size`,`fill`,`font-weight`],Qe=[`x`,`y`,`font-size`,`fill`,`font-weight`],$e={key:5,class:`vue-data-ui-watermark`},et={style:{display:`flex`,"align-items":`center`}},C=/*#__PURE__*/ de({__name:`vue-ui-funnel`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:de,emit:He}){Be(e=>({db8e9076:Nt.value}));let C=f(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),tt=f(()=>import(`./vue-ui-skeleton-DqmhigQ0.js`).then(e=>e.n)),nt=f(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),rt=f(()=>import(`./DataTable-0Vv-aGHD.js`)),it=f(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),at=f(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),ot=f(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),st=f(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_funnel:ct}=t(),w=Oe(),T=e,lt=He,E=_(null),D=_(te()),ut=_(0),dt=_(0),ft=_(0),pt=_(null),mt=_(null),ht=_(null),O=ze(null),k=ze(null),A=_(!1),gt=_(null),j=_(null),M=s(()=>!!T.dataset&&T.dataset.length);Le(yt),Ie(()=>{O.value&&(k.value&&O.value.unobserve(k.value),O.value.disconnect())});function _t(){return fe(T.config,ct,ke)}let N=s({get:()=>_t(),set:e=>e}),vt=s(()=>N.value.debug),P=s(()=>N.value.style.chart.bars),F=s(()=>N.value.style.chart.circles),I=s(()=>N.value.style.chart);function yt(){if(ce(T.dataset)?ne({componentName:`VueUiFunnel`,type:`dataset`,debug:vt.value}):T.dataset.forEach((e,t)=>{se({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{M.value=!1,ne({componentName:`VueUiFunnel`,type:`datasetSerieAttribute`,property:e,index:t,debug:vt.value})})}),N.value.responsive){let e=Ce(()=>{let{width:e,height:t}=we({chart:E.value,title:I.value.title.text?ht.value:null,source:mt.value,noTitle:pt.value});requestAnimationFrame(()=>{V.value.height=t,V.value.width=e,U.value=Ot(),N.value.responsiveProportionalSizing?(B.value.circles=ae({relator:Math.min(e,t),adjuster:600,source:F.value.dataLabels.fontSize,threshold:10,fallback:10}),B.value.names=ae({relator:Math.min(e,t),adjuster:600,source:P.value.dataLabels.name.fontSize,threshold:10,fallback:10}),B.value.values=ae({relator:Math.min(e,t),adjuster:600,source:P.value.dataLabels.value.fontSize,threshold:10,fallback:10})):(B.value.circles=F.value.dataLabels.fontSize,B.value.names=P.value.dataLabels.name.fontSize,B.value.values=P.value.dataLabels.value.fontSize)})});O.value&&(k.value&&O.value.unobserve(k.value),O.value.disconnect()),O.value=new ResizeObserver(e),k.value=E.value.parentNode,O.value.observe(k.value)}}le({config:()=>N.value,dataset:()=>T.dataset,component:`VueUiFunnel`,rules:[ue.emptyArray,{test:e=>e.length>10,message:[`👀 The dataset has a length > 10. Consider:`,``,`▶️ Aggregating some datapoints into broader categories`]}]});let bt=s(()=>N.value.userOptions.useCursorPointer),{userOptionsVisible:xt,setUserOptionsVisibility:St,keepUserOptionState:Ct}=Ee({config:N.value}),{svgRef:wt}=De({config:I.value.title});Ve(()=>T.config,e=>{N.value=_t(),xt.value=!N.value.userOptions.showOnChartHover,yt(),dt.value+=1,ft.value+=1,B.value.circles=F.value.dataLabels.fontSize,B.value.names=P.value.dataLabels.name.fontSize,B.value.values=P.value.dataLabels.value.fontSize,z.value.showTable=N.value.table.show},{deep:!0});let{isPrinting:L,isImaging:R,generatePdf:Tt,generateImage:Et}=Se({elementId:`funnel_${D.value}`,fileName:I.value.title.text||`vue-ui-funnel`,options:N.value.userOptions.print}),Dt=s(()=>N.value.userOptions.show&&!I.value.title.text),z=_({showTable:N.value.table.show}),B=_({circles:F.value.dataLabels.fontSize,names:P.value.dataLabels.name.fontSize,values:P.value.dataLabels.value.fontSize}),V=s({get:()=>({height:I.value.height,width:I.value.width}),set:e=>e}),H=s(()=>M.value?T.dataset.map((e,t)=>({...e,color:e.color?ee(e.color):i(P.value.defaultColor,t/T.dataset.length)})):[]);setTimeout(()=>{A.value=!0},H.value.length*150);function Ot(){let e=I.value.padding.left,t=I.value.padding.top;return{left:e,top:t,right:V.value.width-I.value.padding.right,bottom:V.value.height-I.value.padding.bottom,width:V.value.width-e-I.value.padding.right,height:V.value.height-t-I.value.padding.bottom}}let U=_(Ot()),W=s(()=>U.value.height/T.dataset.length),G=s(()=>W.value*P.value.gapRatio),kt=s(()=>U.value.width*I.value.barCircleSpacingRatio),K=s(()=>H.value.map((e,t)=>{let n=W.value-G.value,r=U.value.top+G.value/2*t+(W.value-G.value/2)*t+G.value/2,i=e.value/H.value[0].value,ee=(U.value.width-n-kt.value)*(e.value/H.value[0].value);return{...e,cx:U.value.left+n/2,cy:r+n/2,datapointIndex:t,fill:e.color,height:Math.max(n,0),proportion:i,r:Math.max(n/2,0),width:Math.max(ee,0),x:U.value.left+n+kt.value,y:r}})),At=s(()=>{let e=K.value.map(e=>`${e.x+e.width},${e.y+(W.value-G.value)/2}`);return`${K.value[0].x},${K.value[0].y+(W.value-G.value)/2} ${e.toString()} ${K.value.at(-1).x},${K.value.at(-1).y+(W.value-G.value)/2}`}),jt=s(()=>({x1:K.value[0].cx,y1:K.value[0].cy,x2:K.value.at(-1).cx,y2:K.value.at(-1).cy})),q=_(!1);function Mt(e){q.value=e,ut.value+=1}let Nt=s(()=>`${H.value.length*150}ms`),J=_(!1);function Pt(){J.value=!J.value}function Ft(){z.value.showTable=!z.value.showTable}let Y=s(()=>({head:H.value.map(e=>({name:e.name,color:e.color})),body:H.value.map(e=>e.value)})),X=s(()=>{let e=[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],t=Y.value.head.map((e,t)=>{let r=a(P.value.dataLabels.value.formatter,Y.value.body[t],n({p:P.value.dataLabels.value.prefix,v:Y.value.body[t],s:P.value.dataLabels.value.suffix,r:N.value.table.td.roundingValue}),{datapoint:K.value[t]}),i=a(F.value.dataLabels.formatter,K.value[t].proportion*100,n({v:K.value[t].proportion*100,s:`%`,r:N.value.table.td.roundingPercentage}),{datapoint:K.value[t]});return[{color:e.color,name:e.name},r,i]}),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.value,N.value.table.columnNames.percentage],head:e,body:t,config:r}});function Z(e=null){Pe(()=>{let t=Y.value.head.map((e,t)=>[[e.name],[Y.value.body[t]],[K.value[t].proportion*100]]),n=[[I.value.title.text],[I.value.title.subtitle.text],[[N.value.table.columnNames.series],[N.value.table.columnNames.value],[`%`]]].concat(t),i=r(n);e?e(i):re({csvContent:i,title:I.value.title.text||`vue-ui-funnel`})})}function It(){return H.value}let Lt=pe(E,()=>I.value.title.text),Q=s(()=>_e({config:N,style:I,mutableConfig:z,dialog:st,accordion:nt,isFullscreen:q,parent:E,maxWidth:800}));Ve(()=>z.value.showTable,e=>ge(e,N,gt));function Rt(){z.value.showTable=!1,j.value&&j.value.setTableIconState(!1)}let zt=s(()=>I.value.backgroundColor),Bt=s(()=>I.value.title),{isCallbackImaging:Vt,isCallbackSvg:$,generateSvg:Ht,onGenerateImage:Ut}=he({svg:wt,title:Bt,legend:null,legendItems:null,backgroundColor:zt,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:Et});async function Wt(){lt(`copyAlt`,{config:N.value,dataset:H.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:H.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return de({getData:It,getImage:Lt,generatePdf:Tt,generateCsv:Z,generateImage:Et,generateSvg:Ht,toggleTable:Ft,toggleAnnotator:Pt,toggleFullscreen:Mt,copyAlt:Wt}),(e,t)=>(g(),u(`div`,{ref_key:`funnelChart`,ref:E,class:m(`vue-data-ui-component vue-ui-funnel ${q.value?`vue-data-ui-wrapper-fullscreen`:``} ${N.value.useCssAnimation?``:`vue-ui-dna`}`),style:h(`font-family:${N.value.style.fontFamily};width:100%; ${N.value.responsive?`height:100%;`:``} text-align:center;background:${I.value.backgroundColor}`),id:`funnel_${D.value}`,onMouseenter:t[1]||=()=>x(St)(!0),onMouseleave:t[2]||=()=>x(St)(!1)},[N.value.userOptions.buttons.annotator?(g(),c(x(at),{key:0,svgRef:x(wt),backgroundColor:I.value.backgroundColor,color:I.value.color,active:J.value,isCursorPointer:bt.value,palette:N.value.userOptions.annotatorPalette,onClose:Pt},Ae({_:2},[v(x(ye),t=>({name:t,fn:S(n=>[y(e.$slots,t,Fe(Ne(x(ve)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):l(``,!0),Dt.value?(g(),u(`div`,{key:1,ref_key:`noTitle`,ref:pt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):l(``,!0),I.value.title.text?(g(),u(`div`,{key:2,ref_key:`chartTitle`,ref:ht,style:`width:100%;background:transparent;padding-bottom:24px`},[(g(),c(me,{key:`title_${dt.value}`,config:{title:{cy:`funnel-div-title`,...I.value.title},subtitle:{cy:`funnel-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):l(``,!0),N.value.userOptions.show&&M.value&&(x(Ct)||x(xt))?(g(),c(x(it),{ref_key:`userOptionsRef`,ref:j,key:`user_option_${ut.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:x(L),isImaging:x(R),uid:D.value,hasTooltip:!1,hasPdf:N.value.userOptions.buttons.pdf,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasXls:N.value.userOptions.buttons.csv,hasTable:N.value.userOptions.buttons.table,hasLabel:!1,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:q.value,chartElement:E.value,position:N.value.userOptions.position,titles:{...N.value.userOptions.buttonTitles},hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:J.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:bt.value,onToggleAnnotator:Pt,onToggleFullscreen:Mt,onGeneratePdf:x(Tt),onGenerateImage:x(Ut),onGenerateSvg:x(Ht),onToggleTable:Ft,onGenerateCsv:Z,onCopyAlt:Wt,style:h({visibility:x(Ct)?x(xt)?`visible`:`hidden`:`visible`})},Ae({_:2},[v(x(be)(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,Fe(Ne(x(xe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.titles.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):l(``,!0),M.value?(g(),u(`svg`,{key:4,ref_key:`svgRef`,ref:wt,xmlns:x(oe),class:m({"vue-data-ui-fullscreen--on":q.value,"vue-data-ui-fulscreen--off":!q.value}),viewBox:`0 0 ${V.value.width<=0?10:V.value.width} ${V.value.height<=0?10:V.value.height}`,style:h(`max-width:100%; overflow: visible; background:transparent;color:${I.value.color}`)},[Me(x(ot)),y(e.$slots,`svg-underlayer`,{svg:{...V.value,isPrintingImg:x(L)||x(R)||x(Vt),isPrintingSvg:x($)}},void 0,!0),e.$slots[`chart-background`]?(g(),u(`foreignObject`,{key:0,x:0,y:0,width:V.value.width<=0?10:V.value.width,height:V.value.height<=0?10:V.value.height,style:{pointerEvents:`none`}},[y(e.$slots,`chart-background`,{},void 0,!0)],8,Ge)):l(``,!0),d(`defs`,null,[Me(Te,{t:`linear`,id:`funnel_area_${D.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,I.value.backgroundColor,0],[`20%`,I.value.area.color,1],[`100%`,I.value.area.color,1]]},null,8,[`id`,`stops`])]),I.value.circleLinks.show?(g(),u(`line`,p({key:1},jt.value,{stroke:I.value.circleLinks.color,"stroke-width":12*I.value.circleLinks.widthRatio,"stroke-linecap":`round`,class:{animated:N.value.useCssAnimation&&!x(w)},style:{strokeDasharray:N.value.useCssAnimation&&!x(w)?U.value.height:0,strokeDashoffset:N.value.useCssAnimation&&!x(w)?U.value.height:0}}),null,16,Ke)):l(``,!0),(g(!0),u(o,null,v(K.value,({cx:e,cy:t,r:n,fill:r},i)=>(g(),u(`circle`,p({ref_for:!0},{cx:e,cy:t,r:n,fill:r},{stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,class:{animated:N.value.useCssAnimation&&!A.value&&!x(w)},style:{animationDelay:`${150*i}ms`}}),null,16,qe))),256)),(g(!0),u(o,null,v(K.value,(e,t)=>(g(),u(`text`,{x:e.cx,y:e.cy+B.value.circles/3+F.value.dataLabels.offsetY,"text-anchor":`middle`,"font-size":B.value.circles,fill:F.value.dataLabels.adaptColorToBackground?x(ie)(e.color):F.value.dataLabels.color,"font-weight":F.value.dataLabels.bold?`bold`:`normal`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({animationDelay:`${150*t}ms`})},b(x(a)(F.value.dataLabels.formatter,e.proportion*100,x(n)({v:e.proportion*100,s:`%`,r:F.value.dataLabels.rounding}),{datapoint:e})),15,Je))),256)),I.value.area.show?(g(),u(`polygon`,{key:2,points:At.value,fill:`url(#funnel_area_${D.value})`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({transition:N.value.useCssAnimation?`all ${150*H.value.length}ms ease-in`:`none`})},null,14,Ye)):l(``,!0),(g(!0),u(o,null,v(K.value,({x:e,y:t,height:n,width:r,fill:i},ee)=>(g(),u(`rect`,p({ref_for:!0},{x:e,y:t,height:n,width:r,fill:i},{stroke:P.value.stroke,"stroke-width":P.value.strokeWidth,rx:P.value.borderRadius,class:{animated:N.value.useCssAnimation&&!A.value&&!x(w)},style:{animationDelay:`${150*ee}ms`}}),null,16,Xe))),256)),(g(!0),u(o,null,v(K.value,(e,t)=>(g(),u(`g`,null,[d(`text`,{x:e.x+e.width+P.value.dataLabels.name.offsetX+12,y:e.cy-B.value.names/2+P.value.dataLabels.name.offsetY,"text-anchor":`start`,"font-size":B.value.names,fill:P.value.dataLabels.name.color,"font-weight":P.value.dataLabels.name.bold?`bold`:`normal`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({animationDelay:`${150*t}ms`})},b(e.name),15,Ze),d(`text`,{x:e.x+e.width+P.value.dataLabels.value.offsetX+12,y:e.cy+B.value.values+P.value.dataLabels.value.offsetY,"text-anchor":`start`,"font-size":B.value.values,fill:P.value.dataLabels.value.color,"font-weight":P.value.dataLabels.value.bold?`bold`:`normal`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({animationDelay:`${150*t}ms`})},b(x(a)(P.value.dataLabels.value.formatter,e.value,x(n)({p:P.value.dataLabels.value.prefix,v:e.value,s:P.value.dataLabels.value.suffix,r:P.value.dataLabels.value.rounding}),{datapoint:e})),15,Qe)]))),256)),y(e.$slots,`svg`,{svg:{...V.value,isPrintingImg:x(L)||x(R)||x(Vt),isPrintingSvg:x($)}},void 0,!0)],14,We)):l(``,!0),e.$slots.watermark?(g(),u(`div`,$e,[y(e.$slots,`watermark`,Fe(Ne({isPrinting:x(L)||x(R)||x(Vt)||x($)})),void 0,!0)])):l(``,!0),M.value?l(``,!0):(g(),c(x(tt),{key:6,config:{type:`verticalBar`,style:{backgroundColor:I.value.backgroundColor,verticalBar:{axis:{color:`#CCCCCC`},color:`#CCCCCC`}}}},null,8,[`config`])),e.$slots.source?(g(),u(`div`,{key:7,ref_key:`source`,ref:mt,dir:`auto`},[y(e.$slots,`source`,{},void 0,!0)],512)):l(``,!0),M.value&&N.value.userOptions.buttons.table?(g(),c(Re(Q.value.component),p({key:8},Q.value.props,{ref_key:`tableUnit`,ref:gt,onClose:Rt}),Ae({content:S(()=>[(g(),c(x(rt),{key:`table_${ft.value}`,colNames:X.value.colNames,head:X.value.head,body:X.value.body,config:X.value.config,title:N.value.table.useDialog?``:Q.value.title,withCloseButton:!N.value.table.useDialog,onClose:Rt},{th:S(({th:e})=>[d(`div`,et,b(e),1)]),td:S(({td:e})=>[je(b(e.name?e.name:e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`]))]),_:2},[N.value.table.useDialog?{name:`title`,fn:S(()=>[je(b(Q.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:S(()=>[d(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[0]||=e=>Z(N.value.userOptions.callbacks.csv)},[Me(x(C),{name:`fileCsv`,stroke:Q.value.props.color},null,8,[`stroke`])])]),key:`1`}:void 0]),1040)):l(``,!0)],46,Ue))}},[[`__scopeId`,`data-v-f4cee15a`]]);export{He as n,C as t};
|
|
@@ -0,0 +1 @@
|
|
|
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,Kt as o,S as ee,X as s,Zt as c,at as te,i as ne,in as re,nt as ie,pt as ae,t as oe,w as se,yt as ce,z as le,zt as ue}from"./lib-rPeBMZrn.js";import{n as de,t as fe}from"./BaseScanner-8NdoBs7B.js";import{n as pe,t as me}from"./useHints-BH9r_0Vd.js";import{t as he}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ge}from"./resolveChartConfig-CIhClE5R.js";import{t as _e}from"./chartImage-DPGnEuYM.js";import{n as ve}from"./Title-BliHuXfT.js";import{t as ye}from"./useChartExport-BZts4KFb.js";import{n as be,t as xe}from"./tableIntegration-CNoJ1CIY.js";import{n as Se,t as Ce}from"./annotationSlots-BRR85CqJ.js";import{n as we,t as Te}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ee}from"./usePrinter-sVoTzet1.js";import{t as De}from"./useTransitions-ChGGrtrv.js";import{c as Oe}from"./canvas-lib-22VpOI4_.js";import{t as ke}from"./useResponsive-CENUxfEL.js";import{t as Ae}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as je}from"./A11yDataTable-DWNlWXzs.js";import{t as Me}from"./useUserOptionState-CXlFnwPv.js";import{t as Ne}from"./useChartAccessibility-DOMuYJfm.js";import{t as Pe}from"./labelUtils-CdtU-yB_.js";import{t as Fe}from"./Legend-DM0ClX3D.js";import{t as Ie}from"./vue_ui_galaxy-B94QInxc.js";import{Fragment as Le,Teleport as Re,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createSlots as ze,createTextVNode as Be,createVNode as Ve,defineAsyncComponent as m,guardReactiveProps as h,mergeProps as He,nextTick as Ue,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onMounted as We,openBlock as y,ref as b,renderList as Ge,renderSlot as x,resolveDynamicComponent as Ke,toDisplayString as S,toRefs as qe,unref as C,watch as Je,withCtx as w}from"vue";var Ye=/* @__PURE__ */ e({default:()=>ht}),Xe=[`id`],Ze=[`id`],Qe=[`id`],$e={style:{position:`relative`}},et=[`xmlns`,`aria-describedby`,`viewBox`],tt=[`width`,`height`],nt=[`id`],rt=[`stdDeviation`],it=[`d`,`stroke`,`stroke-width`],at=[`d`,`stroke`,`stroke-width`],ot=[`filter`],st=[`d`,`stroke`,`stroke-width`],ct=[`data-a11y-serie-id`,`d`,`stroke-width`,`aria-label`,`onMouseenter`,`onMouseleave`,`onClick`],lt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},ut={key:5,class:`vue-data-ui-watermark`},dt=[`id`],ft=[`onClick`],pt={key:0},mt={key:1},ht=/*#__PURE__*/ he({__name:`vue-ui-galaxy`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:he,emit:Ye}){let ht=m(()=>import(`./Tooltip-C1q0Qoh7.js`)),gt=m(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),_t=m(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),vt=m(()=>import(`./DataTable-0Vv-aGHD.js`)),yt=m(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),bt=m(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),xt=m(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),St=m(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_galaxy:Ct}=t(),T=e,E=b(s()),D=b(null),O=b(!1),wt=b(``),k=b(null),Tt=b(0),Et=b(0),Dt=b(0),Ot=b(0),kt=b(null),At=b(null),jt=b(null),Mt=b(null),A=b(null),Nt=b(null),Pt=b(!1),Ft=b(null),It=b(null),j=b(null),Lt=b(null),Rt=b({x:0,y:0}),zt=b(`pointer`),Bt=b(!1),Vt=l(()=>!!T.dataset&&T.dataset.length),M=b(Zt()),N=l(()=>M.value.style.chart.layout.arcs),P=l(()=>M.value.style.chart.layout),F=l(()=>M.value.style.chart);pe({config:()=>M.value,dataset:()=>T.dataset,component:`VueUiGalaxy`,rules:[me.singleSeries,me.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. 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.`]}]});let{transitionEnabled:Ht}=De({config:()=>M.value.transitions,dataset:()=>T.dataset}),I=l(()=>M.value.userOptions.useCursorPointer),Ut=l(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},useCssAnimation:!1,style:{chart:{backgroundColor:`#99999930`,legend:{backgroundColor:`transparent`}}}},userConfig:M.value.skeletonConfig??{}})),{loading:Wt,FINAL_DATASET:Gt}=de({...qe(T),FINAL_CONFIG:M,prepareConfig:Zt,callback:()=>{Promise.resolve().then(async()=>{await Ue(),B.value.showTable=M.value.table.show})},skeletonDataset:T.config?.skeletonDataset??[{name:`_`,values:[21],color:`#DBDBDB`},{name:`_`,values:[13],color:`#C4C4C4`},{name:`_`,values:[8],color:`#ADADAD`}],skeletonConfig:re({defaultConfig:M.value,userConfig:Ut.value})});We(()=>{Pt.value=!0,qt()});let Kt=l(()=>M.value.debug);function qt(){if(ue(T.dataset)?te({componentName:`VueUiGalaxy`,type:`dataset`,debug:Kt.value}):Kt.value&&T.dataset.forEach((e,t)=>{ce({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{te({componentName:`VueUiGalaxy`,type:`datasetSerieAttribute`,property:e,index:t})})}),M.value.responsive){let e=Oe(()=>{let{width:e,height:t}=ke({chart:D.value,title:F.value.title.text?kt.value:null,legend:F.value.legend.show?At.value:null,noTitle:Mt.value,source:jt.value});requestAnimationFrame(()=>{rn.value=Math.max(.1,e),an.value=Math.max(.1,t-12)})});A.value&&(Nt.value&&A.value.unobserve(Nt.value),A.value.disconnect()),A.value=new ResizeObserver(e),Nt.value=D.value.parentNode,A.value.observe(Nt.value)}}let{userOptionsVisible:Jt,setUserOptionsVisibility:Yt,keepUserOptionState:Xt}=Me({config:M.value}),{svgRef:L}=Ne({config:F.value.title});function Zt(){return ge(T.config,Ct,Ie)}let Qt=c(T.config);Je(()=>T.config,(e,t)=>{let n=c(e),r=n!==Qt;Qt=n;let i=Zt();r?(M.value=i,Jt.value=!M.value.userOptions.showOnChartHover,qt(),Et.value+=1,Dt.value+=1,Ot.value+=1,B.value.dataLabels.show=P.value.labels.dataLabels.show,B.value.showTable=M.value.table.show,B.value.showTooltip=F.value.tooltip.show):(M.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=M.value.style.chart.tooltip.show)},{deep:!0});let{isPrinting:R,isImaging:z,generatePdf:$t,generateImage:en}=Ee({elementId:`galaxy_${E.value}`,fileName:F.value.title.text||`vue-ui-galaxy`,options:M.value.userOptions.print}),tn=l(()=>M.value.userOptions.show&&!F.value.title.text),nn=l(()=>se(M.value.customPalette)),B=b({dataLabels:{show:P.value.labels.dataLabels.show},showTable:M.value.table.show,showTooltip:F.value.tooltip.show}),rn=b(250),an=b(180),on=b(0),sn=b(0),V=l(()=>({width:rn.value,height:an.value,viewBox:`${on.value} ${sn.value} ${rn.value} ${an.value}`})),cn=Ye,H=b([]);function ln(){cn(`selectLegend`,K.value.map(e=>({name:e.name,color:e.color,value:e.value})))}function un(){H.value.length?H.value=[]:J.value.forEach(e=>{H.value.push(e.id)}),ln()}function U(e){H.value.includes(e.id)?H.value=H.value.filter(t=>t!==e.id):H.value.push(e.id),ln()}function dn(e){return W.value.length?W.value.find(t=>t.name===e)||(Kt.value&&console.warn(`VueUiGalaxy - Series name not found "${e}"`),null):(Kt.value&&console.warn(`VueUiGalaxy - There are no series to show.`),null)}function fn(e){let t=dn(e);t!==null&&H.value.includes(t.id)&&U({id:t.id})}function pn(e){let t=dn(e);t!==null&&(H.value.includes(t.id)||U({id:t.id}))}let W=l(()=>Gt.value.map((e,t)=>({name:e.name,color:ee(e.color)||nn.value[t]||a[t]||a[t%a.length],value:e.values?o(e.values).reduce((e,t)=>e+t,0):0,absoluteValues:o(e.values),id:s()})).sort((e,t)=>t.value-e.value).map((e,t)=>({...e,absoluteIndex:t})));function mn(){return W.value.map(e=>({name:e.name,color:e.color,value:e.value}))}let G=l(()=>W.value.filter(e=>!H.value.includes(e.id)).map(e=>e.value).reduce((e,t)=>e+t,0)),hn=b(190),gn=l(()=>W.value.filter(e=>!H.value.includes(e.id))),_n=l(()=>(N.value.strokeWidth+N.value.borderWidth)/2+(P.value.padding??12)),vn=l(()=>le({maxPoints:hn.value,a:N.value.a??6,b:N.value.b??6,angleStep:N.value.angleStep??.07,startX:V.value.width/2+N.value.offsetX,startY:V.value.height/2+N.value.offsetY,boxWidth:V.value.width,boxHeight:V.value.height,padding:_n.value})),K=l(()=>{let e=[];for(let t=0;t<gn.value.length;t+=1){let n=gn.value[t],r=n.value/G.value*hn.value+(t>0&&e.length?e[t-1].points:0);e.push({points:r,...n,seriesIndex:t,proportion:n.value/G.value,path:vn.value(r)})}return e.filter(e=>!H.value.includes(e.id)).toSorted((e,t)=>t.points-e.points)});function yn(e){let t=Math.min(rn.value,an.value),n=k.value===e.id&&N.value.hoverEffect.show?N.value.hoverEffect.multiplicator:1,r=(N.value.strokeWidth+N.value.borderWidth)*n,i=N.value.strokeWidth*n,a=N.value.strokeWidth/2*n;return{border:r/180*t,path:i/180*t,blur:a/180*t}}let q=b(!1);function bn(e){q.value=e,Tt.value+=1}let xn=b(null);function Sn(){O.value=!1,k.value=null,j.value=null,Lt.value=null}function Cn(e){if(!L.value||!e)return;let t=L.value.querySelector(`[data-a11y-serie-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();Rt.value={x:n.left+n.width/2,y:n.top+n.height/2}}function wn(e){M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:e,seriesIndex:e.absoluteIndex}),(Lt.value!==e.id||zt.value!==`keyboard`)&&(O.value=!1,k.value=null)}function Tn(e){cn(`selectDatapoint`,e),M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:e,seriesIndex:e.absoluteIndex})}function En({val:e,percentage:t,showVal:n,showPercentage:r}){let i=P.value.labels.dataLabels;return Pe({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function Dn({datapoint:e,_relativeIndex:t,seriesIndex:r,show:a=!1,triggerMode:o=`pointer`,flatIndex:ee=null}){if(M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:e,seriesIndex:e.absoluteIndex}),!B.value.showTooltip)return;zt.value=o,j.value=ee,Lt.value=e.id,xn.value={datapoint:e,seriesIndex:r,series:W.value,config:M.value},O.value=a,k.value=e.id;let s=``,c=F.value.tooltip.customFormat;i(c)&&ae(()=>c({seriesIndex:r,datapoint:e,series:W.value,config:M.value}))?wt.value=c({seriesIndex:r,datapoint:e,series:W.value,config:M.value}):(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${e.color}"/></svg>`,s+=`<b>${En({showVal:F.value.tooltip.showValue,showPercentage:F.value.tooltip.showPercentage,val:ne(P.value.labels.dataLabels.formatter,e.value,n({p:P.value.labels.dataLabels.prefix,v:e.value,s:P.value.labels.dataLabels.suffix,r:F.value.tooltip.roundingValue}),{datapoint:e,seriesIndex:r}),percentage:n({v:e.proportion*100,s:`%`,r:F.value.tooltip.roundingPercentage})})}</b></div>`,wt.value=`<div>${s}</div>`),o===`keyboard`&&Ue(()=>{Cn(e.id)})}let J=l(()=>W.value.map((e,t)=>{let r=ne(P.value.labels.dataLabels.formatter,e.value,n({p:P.value.labels.dataLabels.prefix,v:e.value,s:P.value.labels.dataLabels.suffix,r:F.value.legend.roundingValue}),{datapoint:e,index:t}),i=isNaN(e.value/G.value)||H.value.includes(e.id)?`-`:n({v:e.value/G.value*100,s:`%`,r:F.value.legend.roundingPercentage}),a=En({showVal:F.value.legend.showValue,showPercentage:F.value.legend.showPercentage,val:r,percentage:i});return{...e,proportion:(e.value||0)/Gt.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0),opacity:H.value.includes(e.id)?.5:1,shape:e.shape||`circle`,segregate:()=>U(e),isSegregated:H.value.includes(e.id),display:`${e.name}${F.value.legend.showPercentage||F.value.legend.showValue?`: `:``}${a}`}})),On=l(()=>({cy:`galaxy-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`:``})),Y=l(()=>({head:K.value.map(e=>({name:e.name,color:e.color})),body:K.value.map(e=>e.value)}));function kn(e=null){Ue(()=>{let t=Y.value.head.map((e,t)=>[[e.name],[Y.value.body[t]],[isNaN(Y.value.body[t]/G.value)?`-`:Y.value.body[t]/G.value*100]]),n=[[F.value.title.text],[F.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:F.value.title.text||`vue-ui-galaxy`})})}let X=l(()=>{let e=[`__SUM__`,n({p:P.value.labels.dataLabels.prefix,v:G.value,s:P.value.labels.dataLabels.suffix,r:M.value.table.td.roundingValue}),`100%`],t=Y.value.head.map((e,t)=>{let r=n({p:P.value.labels.dataLabels.prefix,v:Y.value.body[t],s:P.value.labels.dataLabels.suffix,r:M.value.table.td.roundingValue});return[{color:e.color,name:e.name},r,isNaN(Y.value.body[t]/G.value)?`-`:n({v:Y.value.body[t]/G.value*100,s:`%`,r:M.value.table.td.roundingPercentage})]}),r={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};return{colNames:[M.value.table.columnNames.series,M.value.table.columnNames.value,M.value.table.columnNames.percentage],head:e,body:t,config:r}});function An(){B.value.showTable=!B.value.showTable}function jn(){B.value.showTooltip=!B.value.showTooltip}let Z=b(!1);function Mn(){Z.value=!Z.value}let Nn=_e(D,()=>F.value.title.text),Q=l(()=>xe({config:M,style:F,mutableConfig:B,dialog:St,accordion:_t,isFullscreen:q,parent:D,maxWidth:500,isCursorPointer:I}));Je(()=>B.value.showTable,e=>be(e,M,Ft));function Pn(){B.value.showTable=!1,It.value&&It.value.setTableIconState(!1)}let Fn=l(()=>J.value.map(e=>({...e,name:e.display}))),In=l(()=>F.value.backgroundColor),Ln=l(()=>F.value.legend),Rn=l(()=>F.value.title),{isCallbackImaging:zn,isCallbackSvg:Bn,generateSvg:Vn,onGenerateImage:Hn}=ye({svg:L,title:Rn,legend:Ln,legendItems:Fn,backgroundColor:In,getSvgCallback:()=>M.value.userOptions.callbacks.svg,generateImage:en});async function Un(){cn(`copyAlt`,{config:M.value,dataset:W.value}),M.value.userOptions.callbacks.altCopy?await Promise.resolve(M.value.userOptions.callbacks.altCopy({config:M.value,dataset:W.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Wn(){j.value=null,Lt.value=null,Bt.value=!0}function Gn(){Sn(),Bt.value=!1}function Kn(e){if(!L.value||Z.value||document.activeElement!==L.value||!$.value.length)return;let t=e.key===`ArrowLeft`||e.key===`ArrowUp`,n=e.key===`ArrowRight`||e.key===`ArrowDown`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){Sn();return}if(r){if(j.value===null)return;let e=$.value[j.value];if(!e)return;Tn(e.datapoint);return}let a=j.value;a===null||a<0||a>=$.value.length?a=n?0:$.value.length-1:(a+=n?1:-1,a<0&&(a=$.value.length-1),a>=$.value.length&&(a=0));let o=$.value[a];o&&Dn({datapoint:o.datapoint,seriesIndex:o.datapoint.seriesIndex,show:!0,triggerMode:`keyboard`,flatIndex:a})}let qn=l(()=>({headers:X.value?.colNames??[],rows:X.value?.body??[]})),$=l(()=>K.value.map((e,t)=>({datapoint:e,index:t})));return he({getData:mn,getImage:Nn,generatePdf:$t,generateCsv:kn,generateImage:en,generateSvg:Vn,hideSeries:pn,showSeries:fn,toggleTable:An,toggleTooltip:jn,toggleAnnotator:Mn,toggleFullscreen:bn,copyAlt:Un}),(e,t)=>(y(),f(`div`,{ref_key:`galaxyChart`,ref:D,class:g(`vue-data-ui-component vue-ui-galaxy ${q.value?`vue-data-ui-wrapper-fullscreen`:``} ${M.value.useCssAnimation?``:`vue-ui-dna`} ${C(Wt)?`loading`:``}`),style:v(`font-family:${M.value.style.fontFamily};width:100%; text-align:center;${F.value.title.text?``:`padding-top:36px`};background:${F.value.backgroundColor}`),id:`galaxy_${E.value}`,onMouseenter:t[2]||=()=>C(Yt)(!0),onMouseleave:t[3]||=()=>{C(Yt)(!1),Bt.value||Sn()}},[p(`div`,{id:`chart-instructions-${E.value}`,class:`sr-only`},[p(`p`,null,S(M.value.a11y.translations.keyboardNavigation),1)],8,Ze),qn.value?.rows?.length?(y(),u(je,{key:0,uid:E.value,head:qn.value.headers,body:qn.value.rows,notice:M.value.a11y.translations.tableAvailable,caption:M.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):d(``,!0),M.value.userOptions.buttons.annotator?(y(),u(C(yt),{key:1,svgRef:C(L),backgroundColor:F.value.backgroundColor,color:F.value.color,active:Z.value,isCursorPointer:I.value,palette:M.value.userOptions.annotatorPalette,onClose:Mn},ze({_:2},[Ge(C(Ce),t=>({name:t,fn:w(n=>[x(e.$slots,t,_(h(C(Se)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):d(``,!0),tn.value?(y(),f(`div`,{key:2,ref_key:`noTitle`,ref:Mt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):d(``,!0),F.value.title.text?(y(),f(`div`,{key:3,ref_key:`chartTitle`,ref:kt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),u(ve,{key:`title_${Et.value}`,config:{title:{cy:`galaxy-div-title`,...F.value.title},subtitle:{cy:`galaxy-div-subtitle`,...F.value.title.subtitle}}},null,8,[`config`]))],512)):d(``,!0),p(`div`,{id:`legend-top-${E.value}`},null,8,Qe),M.value.userOptions.show&&Vt.value&&(C(Xt)||C(Jt))?(y(),u(C(bt),{ref_key:`userOptionsRef`,ref:It,key:`user_option_${Tt.value}`,backgroundColor:F.value.backgroundColor,color:F.value.color,isPrinting:C(R),isImaging:C(z),uid:E.value,hasTooltip:M.value.userOptions.buttons.tooltip&&F.value.tooltip.show,hasPdf:M.value.userOptions.buttons.pdf,hasXls:M.value.userOptions.buttons.csv,hasImg:M.value.userOptions.buttons.img,hasSvg:M.value.userOptions.buttons.svg,hasTable:M.value.userOptions.buttons.table,hasFullscreen:M.value.userOptions.buttons.fullscreen,hasAltCopy:M.value.userOptions.buttons.altCopy,isTooltip:B.value.showTooltip,isFullscreen:q.value,titles:{...M.value.userOptions.buttonTitles},chartElement:D.value,position:M.value.userOptions.position,hasAnnotator:M.value.userOptions.buttons.annotator,isAnnotation:Z.value,callbacks:M.value.userOptions.callbacks,printScale:M.value.userOptions.print.scale,tableDialog:M.value.table.useDialog,isCursorPointer:I.value,onToggleFullscreen:bn,onGeneratePdf:C($t),onGenerateCsv:kn,onGenerateImage:C(Hn),onGenerateSvg:C(Vn),onToggleTable:An,onToggleTooltip:jn,onToggleAnnotator:Mn,onCopyAlt:Un,style:v({visibility:C(Xt)?C(Jt)?`visible`:`hidden`:`visible`})},ze({_:2},[Ge(C(we)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:w(n=>[x(e.$slots,t,_(h(C(Te)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):d(``,!0),p(`div`,$e,[(y(),f(`svg`,{ref_key:`svgRef`,ref:L,xmlns:C(oe),"aria-describedby":`chart-instructions-${E.value}`,class:g({"vue-data-ui-fullscreen--on":q.value,"vue-data-ui-fulscreen--off":!q.value}),viewBox:V.value.viewBox,style:v(`max-width:100%; overflow: visible; background:transparent;color:${F.value.color}`),tabindex:`0`,onFocus:Wn,onBlur:Gn,onKeydown:Kn},[Ve(C(xt)),x(e.$slots,`svg-underlayer`,{svg:{...V.value,isPrintingImg:C(R)||C(z)||C(zn),isPrintingSvg:C(Bn)}},void 0,!0),e.$slots[`chart-background`]?(y(),f(`foreignObject`,{key:0,x:0,y:0,width:V.value.width,height:V.value.height,style:{pointerEvents:`none`}},[x(e.$slots,`chart-background`,{},void 0,!0)],8,tt)):d(``,!0),p(`defs`,null,[p(`filter`,{id:`blur_${E.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[p(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/N.value.gradient.intensity},null,8,rt)],8,nt)]),(y(!0),f(Le,null,Ge(K.value,e=>(y(),f(`g`,{key:`dp_${e.id}`},[e.value?(y(),f(`path`,{key:0,d:e.path,fill:`none`,stroke:F.value.backgroundColor,"stroke-width":yn(e).border,class:g({"vue-data-ui-transition":C(Ht)}),"stroke-linecap":`round`},null,10,it)):d(``,!0),e.value?(y(),f(`path`,{key:1,d:e.path,fill:`none`,stroke:e.color,"stroke-width":yn(e).path,"stroke-linecap":`round`,class:g({"vue-data-ui-transition":C(Ht),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&M.value.useBlurOnHover})},null,10,at)):d(``,!0),e.value&&N.value.gradient.show?(y(),f(`g`,{key:2,filter:`url(#blur_${E.value})`},[p(`path`,{d:e.path,fill:`none`,stroke:N.value.gradient.color,"stroke-width":yn(e).blur,"stroke-linecap":`round`,class:g({"vue-ui-galaxy-gradient":!0,"vue-data-ui-transition":C(Ht),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&M.value.useBlurOnHover})},null,10,st)],8,ot)):d(``,!0)]))),128)),(y(!0),f(Le,null,Ge(K.value,(e,t)=>(y(),f(`g`,null,[e.value?(y(),f(`path`,{key:0,"data-a11y-serie-id":e.id,d:e.path,fill:`none`,stroke:`transparent`,"stroke-width":N.value.strokeWidth+N.value.borderWidth,"stroke-linecap":`round`,"aria-label":`${e.name}: ${C(n)({p:P.value.labels.dataLabels.prefix,v:e.value,s:P.value.labels.dataLabels.suffix,r:F.value.tooltip.roundingValue})}`,onMouseenter:n=>Dn({datapoint:e,relativeIndex:t,seriesIndex:e.seriesIndex,show:!0,triggerMode:`pointer`,flatIndex:t}),onMouseleave:t=>wn(e),onClick:t=>Tn(e)},null,40,ct)):d(``,!0)]))),256)),x(e.$slots,`svg`,{svg:{...V.value,isPrintingImg:C(R)||C(z)||C(zn),isPrintingSvg:C(Bn)}},void 0,!0)],46,et)),e.$slots.hint?(y(),f(`div`,lt,[x(e.$slots,`hint`,_(h({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Bt.value})),void 0,!0)])):d(``,!0)]),e.$slots.watermark?(y(),f(`div`,ut,[x(e.$slots,`watermark`,_(h({isPrinting:C(R)||C(z)||C(zn)||C(Bn)})),void 0,!0)])):d(``,!0),p(`div`,{id:`legend-bottom-${E.value}`},null,8,dt),Pt.value&&(F.value.legend.show||e.$slots.legend)?(y(),u(Re,{key:6,to:F.value.legend.position===`top`?`#legend-top-${E.value}`:`#legend-bottom-${E.value}`},[p(`div`,{ref_key:`chartLegend`,ref:At},[x(e.$slots,`legend`,{legend:J.value},()=>[F.value.legend.show?(y(),u(Fe,{key:`legend_${Ot.value}`,legendSet:J.value,config:On.value,onClickMarker:t[0]||=({legend:e})=>U(e)},{item:w(({legend:e,index:t})=>[C(Wt)?d(``,!0):(y(),f(`div`,{key:0,onClick:t=>U(e),style:v(`opacity:${H.value.includes(e.id)?.5:1}`)},S(e.display),13,ft))]),legendToggle:w(()=>[J.value.length>2&&F.value.legend.selectAllToggle.show&&!C(Wt)?(y(),u(Ae,{key:0,backgroundColor:F.value.legend.selectAllToggle.backgroundColor,color:F.value.legend.selectAllToggle.color,fontSize:F.value.legend.fontSize,checked:H.value.length>0,onToggle:un},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`])):d(``,!0)]),_:1},8,[`legendSet`,`config`])):d(``,!0)],!0)],512)],8,[`to`])):d(``,!0),e.$slots.source?(y(),f(`div`,{key:7,ref_key:`source`,ref:jt,dir:`auto`},[x(e.$slots,`source`,{},void 0,!0)],512)):d(``,!0),Ve(C(ht),{teleportTo:F.value.tooltip.teleportTo,show:B.value.showTooltip&&O.value,backgroundColor:F.value.tooltip.backgroundColor,color:F.value.tooltip.color,borderRadius:F.value.tooltip.borderRadius,borderColor:F.value.tooltip.borderColor,borderWidth:F.value.tooltip.borderWidth,fontSize:F.value.tooltip.fontSize,backgroundOpacity:F.value.tooltip.backgroundOpacity,position:F.value.tooltip.position,offsetX:F.value.tooltip.offsetX,offsetY:F.value.tooltip.offsetY,parent:D.value,content:wt.value,isFullscreen:q.value,isCustom:C(i)(F.value.tooltip.customFormat),smooth:F.value.tooltip.smooth,backdropFilter:F.value.tooltip.backdropFilter,smoothForce:F.value.tooltip.smoothForce,smoothSnapThreshold:F.value.tooltip.smoothSnapThreshold,isA11yMode:zt.value===`keyboard`,a11yPosition:Rt.value},{"tooltip-before":w(()=>[x(e.$slots,`tooltip-before`,_(h({...xn.value})),void 0,!0)]),tooltip:w(()=>[x(e.$slots,`tooltip`,_(h({...xn.value})),void 0,!0)]),"tooltip-after":w(()=>[x(e.$slots,`tooltip-after`,_(h({...xn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Vt.value&&M.value.userOptions.buttons.table?(y(),u(Ke(Q.value.component),He({key:8},Q.value.props,{ref_key:`tableUnit`,ref:Ft,onClose:Pn}),ze({content:w(()=>[(y(),u(C(vt),{key:`table_${Dt.value}`,colNames:X.value.colNames,head:X.value.head,body:X.value.body,config:X.value.config,title:M.value.table.useDialog?``:Q.value.title,withCloseButton:!M.value.table.useDialog,isCursorPointer:I.value,onClose:Pn},{th:w(({th:e})=>[e===`__SUM__`?(y(),f(`div`,pt,[Ve(C(gt),{name:`sigma`,stroke:X.value.config.th.color,size:16},null,8,[`stroke`])])):(y(),f(`div`,mt,S(e),1))]),td:w(({td:e})=>[Be(S(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[M.value.table.useDialog?{name:`title`,fn:w(()=>[Be(S(Q.value.title),1)]),key:`0`}:void 0,M.value.table.useDialog?{name:`actions`,fn:w(()=>[p(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>kn(M.value.userOptions.callbacks.csv),style:v({cursor:I.value?`pointer`:`default`})},[Ve(C(gt),{name:`fileCsv`,stroke:Q.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):d(``,!0),x(e.$slots,`skeleton`,{},()=>[C(Wt)?(y(),u(fe,{key:0})):d(``,!0)],!0)],46,Xe))}},[[`__scopeId`,`data-v-c1f406f4`]]);export{Ye as n,ht as t};
|