vue-data-ui 3.27.1 → 3.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -63
- package/dist/{Arrow-C2W0uGrq.js → Arrow-CITPKnWF.js} +1 -1
- package/dist/{BaseDraggableDialog-D_tuHEjO.js → BaseDraggableDialog-DHgIPVmz.js} +1 -1
- package/dist/BaseIcon-Cm-IJ179.js +1 -0
- package/dist/{BaseLegendToggle-Bq5FjyuI.js → BaseLegendToggle-Q3TiW9u1.js} +1 -1
- package/dist/BaseZoomControls-ByS_7fmI.js +1 -0
- package/dist/{ColorPicker-MLwiwxl5.js → ColorPicker-Dmus34hN.js} +1 -1
- package/dist/DataTable-0Vv-aGHD.js +1 -0
- package/dist/HillActions-qz6J_uK7.js +1 -0
- package/dist/{Legend-D8YoT1RJ.js → Legend-DM0ClX3D.js} +1 -1
- package/dist/{NonSvgPenAndPaper-CqtJpZKh.js → NonSvgPenAndPaper-Do6RcwEr.js} +1 -1
- package/dist/{PackageVersion-CdkxOy58.js → PackageVersion-C4ZM3Vf7.js} +1 -1
- package/dist/PenAndPaper-BGEp-TUm.js +1 -0
- package/dist/{Shape-Bp9YNtPc.js → Shape-CRe8woTu.js} +1 -1
- package/dist/SlicerPreview-CFFUOlQr.js +1 -0
- package/dist/{SparkTooltip-C5JMcBXT.js → SparkTooltip-Ch06CV71.js} +1 -1
- package/dist/{Title-BGYFqulv.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-CIvU_04o.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 -0
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-icon.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-label.js +1 -1
- package/dist/components/vue-ui-mini-loader.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-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-D8t3Bm7s.js → dom-to-png-D56-Zgv4.js} +1 -1
- package/dist/{exposedLib-DHtyEc_G.js → exposedLib-BRtClmZy.js} +1 -1
- package/dist/{img-DiT4ivZ5.js → img-D4RQwASc.js} +1 -1
- package/dist/{labelUtils-CG3uVXoZ.js → labelUtils-CdtU-yB_.js} +1 -1
- package/dist/{lib-CV_IANZ6.js → lib-rPeBMZrn.js} +4 -4
- package/dist/package-DGRUegc-.js +1 -0
- package/dist/{pdf-BQSB1V3H.js → pdf-DAicVFxx.js} +1 -1
- package/dist/{render-common-BdZ5aRyn.js → render-common-CJz0wn0I.js} +1 -1
- package/dist/{resolveChartConfig-DZg-korK.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/types/vue-data-ui.d.ts +449 -0
- package/dist/types/vue-ui-graph.d.ts +21 -0
- package/dist/useChartExport-BZts4KFb.js +1 -0
- package/dist/useConfig-6jO1fkp5.js +1 -0
- package/dist/{useNestedProp-CB186vF2.js → useNestedProp-DnGoh-XS.js} +1 -1
- package/dist/useObjectBindings-DiMX4HGv.js +1 -0
- package/dist/{usePrinter-hLW3cv4N.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-CxiWUtNw.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/vue-ui-3d-bar-CW8ahywt.js +19 -0
- package/dist/vue-ui-accordion-S3nRtTU-.js +1 -0
- package/dist/vue-ui-age-pyramid-CxMwKICA.js +1 -0
- package/dist/vue-ui-annotator-CdCDYzdK.js +331 -0
- package/dist/vue-ui-bullet-ClnewIWQ.js +34 -0
- package/dist/vue-ui-bump-C6FuNDUg.js +8 -0
- package/dist/vue-ui-candlestick-CyewIjJk.js +22 -0
- package/dist/vue-ui-carousel-table-D0dD4kai.js +1 -0
- package/dist/vue-ui-chestnut-nS1vjCqH.js +1 -0
- package/dist/vue-ui-chord-B963Q_26.js +21 -0
- package/dist/vue-ui-circle-pack-DEY9X3jA.js +13 -0
- package/dist/vue-ui-cursor-CNv12HQG.js +1 -0
- package/dist/vue-ui-dag-s3-TMmid.js +9 -0
- package/dist/vue-ui-dashboard-B5zrGAvS.js +1 -0
- package/dist/{vue-ui-digits-CXKKmfGj.js → vue-ui-digits-DXQwmTUx.js} +2 -2
- package/dist/vue-ui-donut-CDryub1L.js +47 -0
- package/dist/{vue-ui-donut-CKkBtyPK.js → vue-ui-donut-DHfOfLBF.js} +2 -2
- package/dist/vue-ui-donut-evolution-C5pHSrza.js +2 -0
- package/dist/vue-ui-dumbbell-CQbGR7yM.js +9 -0
- package/dist/vue-ui-flow-B16Mj6MW.js +3 -0
- package/dist/vue-ui-funnel-Dh-xi_Qi.js +1 -0
- package/dist/vue-ui-galaxy-U_ZIP5vm.js +1 -0
- package/dist/vue-ui-gauge-Dr4zsf6D.js +1 -0
- package/dist/vue-ui-geo-DFebja0s.js +1 -0
- package/dist/vue-ui-gizmo-CssVcz-O.js +1 -0
- package/dist/vue-ui-graph-BB_97Qz7.js +7 -0
- package/dist/vue-ui-heatmap-DEBbVnrg.js +1 -0
- package/dist/vue-ui-hill-C1sHz3TI.js +1 -0
- package/dist/vue-ui-history-plot-CsBTJXR3.js +2 -0
- package/dist/vue-ui-horizontal-bar-D0kfcpEW.js +4 -0
- package/dist/vue-ui-kpi-CltKSYUI.js +1 -0
- package/dist/vue-ui-label-B_1kM28r.js +7 -0
- package/dist/vue-ui-mini-loader-7gqQI5jy.js +1 -0
- package/dist/vue-ui-molecule-DtoyWWTf.js +1 -0
- package/dist/vue-ui-mood-radar-ClOxfeH8.js +1 -0
- package/dist/vue-ui-nested-donuts-CULAXTg1.js +19 -0
- package/dist/vue-ui-onion-D7zu861i.js +5 -0
- package/dist/vue-ui-parallel-coordinate-plot-Cjbc-WUG.js +9 -0
- package/dist/vue-ui-quadrant-DWAb_t6r.js +2 -0
- package/dist/vue-ui-quick-chart-oDZwgVo8.js +17 -0
- package/dist/vue-ui-radar-BWG_N0xO.js +1 -0
- package/dist/vue-ui-rating-CV2b0tjA.js +1 -0
- package/dist/vue-ui-relation-circle-BCRiS2n6.js +1 -0
- package/dist/vue-ui-ridgeline-VYcGUP_p.js +2 -0
- package/dist/vue-ui-rings-Dl0AjrRj.js +1 -0
- package/dist/vue-ui-scatter-DTa48HvG.js +9 -0
- package/dist/{vue-ui-skeleton-DI7pcimU.js → vue-ui-skeleton-C5mGG8hR.js} +3 -3
- package/dist/{vue-ui-smiley-D70sJZWl.js → vue-ui-smiley-VTdQetY0.js} +1 -1
- package/dist/vue-ui-spark-trend--frxeJ8f.js +1 -0
- package/dist/vue-ui-sparkbar-BS5v3HMo.js +1 -0
- package/dist/vue-ui-sparkgauge-B1TGfXvR.js +1 -0
- package/dist/vue-ui-sparkhistogram-Cs97AL6h.js +1 -0
- package/dist/vue-ui-sparkline-Bp9J6x7z.js +1 -0
- package/dist/vue-ui-sparkstackbar-BVuuRD10.js +1 -0
- package/dist/vue-ui-stackbar-CRuXn3XI.js +29 -0
- package/dist/vue-ui-stackline-Besmr9vq.js +39 -0
- package/dist/vue-ui-strip-plot-D-aRJkR7.js +2 -0
- package/dist/vue-ui-table-D_UdQwV3.js +14 -0
- package/dist/vue-ui-table-heatmap-BtziURiu.js +1 -0
- package/dist/vue-ui-table-sparkline-BdNo8fW_.js +1 -0
- package/dist/vue-ui-thermometer-TFg1SGY7.js +1 -0
- package/dist/vue-ui-timer-BdPksC26.js +64 -0
- package/dist/vue-ui-tiremarks-HWuO-eyj.js +1 -0
- package/dist/vue-ui-treemap-IegiAqaX.js +1 -0
- package/dist/vue-ui-waffle-BEyGfPks.js +1 -0
- package/dist/vue-ui-wheel-k8GNPGET.js +1 -0
- package/dist/vue-ui-word-cloud-D9_15Ve7.js +4 -0
- package/dist/vue-ui-world-rCp5Vb7u.js +19 -0
- package/dist/vue-ui-xy-42AXepcQ.js +31 -0
- package/dist/vue-ui-xy-CFgFg11v.js +24 -0
- package/dist/vue-ui-xy-canvas-CeC3gcrW.js +9 -0
- package/dist/vue_ui_graph-B1ACwQj7.js +1 -0
- package/package.json +3 -3
- package/dist/BaseIcon-DdIyewwY.js +0 -1
- package/dist/BaseZoomControls-DoYifY2y.js +0 -1
- package/dist/DataTable-WNecJMcY.js +0 -1
- package/dist/HillActions-CHg1AQ3p.js +0 -1
- package/dist/PenAndPaper-IMw576MC.js +0 -1
- package/dist/SlicerPreview-CNUciSbY.js +0 -1
- package/dist/Tooltip-Cus2-XNQ.js +0 -1
- package/dist/UserOptions-DTxMeZv3.js +0 -1
- package/dist/package-DE5cU1Rg.js +0 -1
- package/dist/useChartExport-DtPNpc9M.js +0 -1
- package/dist/useConfig-CKdzPrcf.js +0 -1
- package/dist/useObjectBindings-Dse7YyAf.js +0 -1
- package/dist/useTimeLabelCollider-XQf_S7-z.js +0 -1
- package/dist/useTransitions-DfSHzsdz.js +0 -1
- package/dist/vue-data-ui-DyYgLIZN.js +0 -1
- package/dist/vue-ui-3d-bar-BZAoyWkc.js +0 -19
- package/dist/vue-ui-accordion-BNvevckx.js +0 -1
- package/dist/vue-ui-age-pyramid-DkA6vpU3.js +0 -1
- package/dist/vue-ui-annotator-DuQME4Hh.js +0 -331
- package/dist/vue-ui-bullet-BVs8JX8S.js +0 -34
- package/dist/vue-ui-bump-DYdm3EvF.js +0 -10
- package/dist/vue-ui-candlestick-DZgxl4mW.js +0 -22
- package/dist/vue-ui-carousel-table-BB7DsTUt.js +0 -1
- package/dist/vue-ui-chestnut-Bo1h5rBt.js +0 -1
- package/dist/vue-ui-chord-B6_veyvO.js +0 -21
- package/dist/vue-ui-circle-pack-Bm7e2YNh.js +0 -13
- package/dist/vue-ui-cursor-TidZDuSh.js +0 -1
- package/dist/vue-ui-dag-BiN_AnLo.js +0 -9
- package/dist/vue-ui-dashboard-zepAVN_W.js +0 -1
- package/dist/vue-ui-donut-DLDUpjDU.js +0 -47
- package/dist/vue-ui-donut-evolution-BxMTdE5G.js +0 -2
- package/dist/vue-ui-dumbbell-C8rNwdz0.js +0 -9
- package/dist/vue-ui-flow-Dru76A2O.js +0 -3
- package/dist/vue-ui-funnel-D_u1h5S9.js +0 -1
- package/dist/vue-ui-galaxy-sBEH18Xj.js +0 -1
- package/dist/vue-ui-gauge-Do3RN8ne.js +0 -1
- package/dist/vue-ui-geo-DDbtx_iJ.js +0 -1
- package/dist/vue-ui-gizmo-eic6xLjB.js +0 -1
- package/dist/vue-ui-heatmap-DlmJRsM8.js +0 -1
- package/dist/vue-ui-hill-C5oiuIXh.js +0 -1
- package/dist/vue-ui-history-plot-BJjnkWcT.js +0 -2
- package/dist/vue-ui-horizontal-bar-BRDBJEl1.js +0 -4
- package/dist/vue-ui-kpi-C-eed3jO.js +0 -1
- package/dist/vue-ui-label-B4pkXBxc.js +0 -7
- package/dist/vue-ui-mini-loader-CElmv_iF.js +0 -1
- package/dist/vue-ui-molecule-BeyQWZU9.js +0 -1
- package/dist/vue-ui-mood-radar-Bh0kHfiZ.js +0 -1
- package/dist/vue-ui-nested-donuts-FlnJfDaF.js +0 -19
- package/dist/vue-ui-onion-BjhSpjtW.js +0 -5
- package/dist/vue-ui-parallel-coordinate-plot-CHV6XDti.js +0 -9
- package/dist/vue-ui-quadrant-BaKSTJDv.js +0 -2
- package/dist/vue-ui-quick-chart-Nc2mVlle.js +0 -17
- package/dist/vue-ui-radar-BzUfkLlC.js +0 -1
- package/dist/vue-ui-rating-BwWXvbAg.js +0 -1
- package/dist/vue-ui-relation-circle-nAZEg-BL.js +0 -1
- package/dist/vue-ui-ridgeline-DxLZg1E2.js +0 -2
- package/dist/vue-ui-rings-BOti0NGb.js +0 -1
- package/dist/vue-ui-scatter-CCNMggyo.js +0 -9
- package/dist/vue-ui-spark-trend-BVtfEalS.js +0 -1
- package/dist/vue-ui-sparkbar-CdsLI7Ke.js +0 -1
- package/dist/vue-ui-sparkgauge-wmj5Wnnp.js +0 -1
- package/dist/vue-ui-sparkhistogram-D8S_P_P4.js +0 -1
- package/dist/vue-ui-sparkline-BjsJnS_9.js +0 -1
- package/dist/vue-ui-sparkstackbar-ZN8LXzoV.js +0 -1
- package/dist/vue-ui-stackbar-Dx_EN3pT.js +0 -29
- package/dist/vue-ui-stackline-DW-oxJvA.js +0 -39
- package/dist/vue-ui-strip-plot-D7kjJ3Qh.js +0 -2
- package/dist/vue-ui-table-CaFVLHxE.js +0 -14
- package/dist/vue-ui-table-heatmap-Ctf7Rhqo.js +0 -1
- package/dist/vue-ui-table-sparkline-C0I0cXBS.js +0 -1
- package/dist/vue-ui-thermometer-B6og15Al.js +0 -1
- package/dist/vue-ui-timer-DgXvO2Q7.js +0 -64
- package/dist/vue-ui-tiremarks-Dh6fZ454.js +0 -1
- package/dist/vue-ui-treemap-7JuvN6P_.js +0 -1
- package/dist/vue-ui-waffle-BqvGzfse.js +0 -1
- package/dist/vue-ui-wheel-SdwJqKA7.js +0 -1
- package/dist/vue-ui-word-cloud-1WVV_k12.js +0 -4
- package/dist/vue-ui-world-DjMy_utm.js +0 -19
- package/dist/vue-ui-xy-DaozHMfg.js +0 -31
- package/dist/vue-ui-xy-canvas-CegvS9RR.js +0 -9
- package/dist/vue-ui-xy-rGHSI1am.js +0 -24
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{$ as e,Bt as t,Ht as n,It as r,Jt as i,S as a,X as o,Y as s,Yt as c,b as l,f as u,h as d,i as f,in as p,j as m,nn as h,p as g,st as _,t as v}from"./lib-CV_IANZ6.js";import{t as y}from"./useConfig-CKdzPrcf.js";import{t as b}from"./vue_ui_donut-T5PeOqvf.js";import{_ as x,a as S,c as C,d as w,g as T,i as E,l as D,n as O,o as k,p as A,r as j,s as ee,t as te,u as M,v as N}from"./render-common-BdZ5aRyn.js";var{vue_ui_donut:ne}=y();function re({config:e={}}={}){let t=e??{},r=p({userConfig:t,defaultConfig:ne}),i=r.theme;if(!i)return{...r,customPalette:r.customPalette?.length?r.customPalette:n};let a=p({userConfig:b[i]||{},defaultConfig:r}),o=p({userConfig:t,defaultConfig:a});return{...o,customPalette:o.customPalette?.length?o.customPalette:h[i]||n}}function P(e,t=0){let n=Number(e);return Number.isFinite(n)?n:t}function F(e,t,n){return String(t).split(`.`).reduce((e,t)=>e&&e[t]!==void 0?e[t]:void 0,e)??n}function ie(e){return typeof e!=`object`||!e?0:Array.isArray(e.values)?e.values.reduce((e,t)=>e+P(t,0),0):Array.isArray(e.series)?e.series.reduce((e,t)=>e+P(t,0),0):P(e.value??e.y??0,0)}function ae(e,t){return String(e?.name??e?.label??`Serie ${t+1}`)}function oe(e=[],t){let r=Array.isArray(t.customPalette)?t.customPalette:n;return(Array.isArray(e)?e:[]).map((e,t)=>({source:e,sourceIndex:t,value:ie(e)})).filter(e=>Number.isFinite(e.value)).sort((e,t)=>e.source?.ghost&&!t.source?.ghost?1:t.source?.ghost&&!e.source?.ghost?-1:t.value-e.value).map((e,t)=>{let n=e.source,i=e.value,o=(n?.color?a(n.color):``)||r[t%r.length];return{...n,id:n?.id??`donut_serie_${t}`,name:ae(n,t),value:i,absoluteValue:Math.abs(i),absoluteValues:Array.isArray(n?.values)?n.values:[i],color:o,index:t,sourceIndex:e.sourceIndex,patternIndex:n?.patternIndex??t,seriesIndex:n?.seriesIndex??t,ghost:!!n?.ghost}}).filter(e=>Number.isFinite(e.absoluteValue))}function se(e){return e.reduce((e,t)=>e+t.absoluteValue,0)}function ce({series:e,total:t,startAngle:n=-90}){let r=n;return e.map(e=>{let n=t?e.absoluteValue/t:0,i=n*360,a=r,o=r+i;return r=o,{...e,ratio:n,percentage:n*100,startAngle:a,endAngle:o,midAngle:a+i/2}})}function le({dataset:e=[],config:t={},width:n=512,height:r=512,additionalSvgContent:i=``,svgTitle:a=``}={}){let o=re({config:t}),s=oe(e,o),c=se(s),l={top:P(F(o,`chart.padding.top`,24),24),right:P(F(o,`chart.padding.right`,24),24),bottom:P(F(o,`chart.padding.bottom`,24),24),left:P(F(o,`chart.padding.left`,24),24)},u={top:l.top,left:l.left,right:n-l.right,bottom:r-l.bottom};u.width=Math.max(1,u.right-u.left),u.height=Math.max(1,u.bottom-u.top);let d={x:u.left+u.width/2,y:u.top+u.height/2},f=Math.max(1,Math.min(u.width,u.height)/2),p=P(F(o,`chart.donut.radius`,f),f),m=P(F(o,`chart.donut.holeRatio`,.5),.5);return{width:n,height:r,dataset:e,config:o,drawingArea:u,center:d,radius:p,innerRadius:Math.max(0,Math.min(p-1,p*m)),total:c,series:ce({series:s,total:c,startAngle:P(F(o,`chart.donut.startAngle`,-90),-90)}),additionalSvgContent:i,svgTitle:a}}var ue=o();function I(){return ue}function L(e){return k(S(e,`backgroundColor`,`#FFFFFF`),`#FFFFFF`)}function de(e){return x(e?.value??e?.absoluteValue??0,0)}function R(e){return T(e.series).filter(e=>!e?.ghost).map((e,t)=>({...e,value:Math.abs(de(e)),color:k(e.color,`#000000`),name:String(e.name??`Serie ${t+1}`),seriesIndex:e.seriesIndex??e.index??t,patternIndex:e.patternIndex??e.index??t})).filter(e=>Number.isFinite(e.value))}function z(e){return e.reduce((e,t)=>e+Math.abs(x(t.value,0)),0)}function fe(e){let t=S(e,`title`,{}),n=A(t,`subtitle`,{});if(!t.text)return 0;let r=x(t.fontSize,20),i=n.show!==!1&&n.text?x(n.fontSize,14):0;return x(t.paddingTop,12)+r+(i?i+12:0)+x(t.paddingBottom,36)}function pe({state:e,series:t}){let{config:n,width:r}=e,i=S(n,`legend`,{}),a=x(i.fontSize,12),o=x(i.markerSize,10),s=x(i.itemGap,24),c=x(i.rowGap,8),l=x(i.padding,8),u=x(i.labelGap,8),d=Math.max(1,r-l*2),f=[],p=[],m=0;return t.forEach(t=>{let n=Ve(e,t),r=O(n,a),i=o+u+r,c=m+i+(p.length?s:0);p.length&&c>d&&(f.push({items:p,width:m}),p=[],m=0),p.push({serie:t,label:n,itemWidth:i}),m+=i+(p.length>1?s:0)}),p.length&&f.push({items:p,width:m}),{rows:f,fontSize:a,markerSize:o,itemGap:s,labelGap:u,rowGap:c,padding:l,height:f.length*Math.max(o,a)+Math.max(0,f.length-1)*c+l*2}}function B(e,t){return!S(e.config,`legend.show`,!0)||!t.length?{rows:[],height:0,padding:0,fontSize:12,markerSize:10,rowGap:0}:pe({state:e,series:t})}function V(e){return!!E(e,`pie`,S(e,`pie`,!1))}function me(e,t){let{config:n,width:r,height:i}=e,a=fe(n),o=B(e,t),s=S(n,`legend.show`,!0),c=S(n,`legend.position`,`bottom`),l=s&&c===`top`?o.height:0,u=s&&c!==`top`?o.height:0,d=x(S(n,`padding.top`,24),24),f=x(S(n,`padding.right`,24),24),p=x(S(n,`padding.bottom`,24),24),m=x(S(n,`padding.left`,24),24),h={top:d+a+l,right:r-f,bottom:i-p-u,left:m};h.width=Math.max(1,h.right-h.left),h.height=Math.max(1,h.bottom-h.top);let g=a?x(E(n,`title.chartOffsetY`,24),24):0,_=Math.max(1,h.height-g),v={x:h.left+h.width/2,y:h.top+g/2+_/2},y=x(S(n,`layout.donut.radiusRatio`,.35),.35),b=Math.max(.1,Math.min(.50001,y)),C=Math.max(12,Math.min(h.width,_)*b),w=S(n,`layout.donut.radius`,null),T=w==null?C:Math.min(C,x(w,C)),D=x(S(n,`layout.donut.strokeWidth`,64),64)/300,O=Math.max(Math.min(T*D*2,T),12*(1+D)),k=S(n,`layout.donut.thickness`,S(n,`layout.donut.size`,O)),A=Math.max(0,Math.min(T-1,k==null?O:x(k,O)));return{...e,drawingArea:h,center:v,radius:T,thickness:A,innerRadius:V(n)?0:Math.max(0,T-A)}}function he(e,t){let n=x(S(e.config,`layout.donut.rotation`,105.25),105.25);return r({series:t},e.center.x,e.center.y,e.radius,e.radius,1.99999,2,1,360,n,V(e.config)?e.radius:e.thickness).map((e,n)=>({...e,index:n,color:k(e.color,t[n]?.color),value:x(e.value,0),name:String(e.name??t[n]?.name??`Serie ${n+1}`),patternIndex:e.patternIndex??t[n]?.patternIndex??n,seriesIndex:e.seriesIndex??t[n]?.seriesIndex??n}))}function ge(e,t){let n=Math.max(1,...t.map(e=>Math.abs(x(e.value,0)))),r=t.map(e=>Math.abs(x(e.value,0))/n);return m({series:r,center:e.center,maxRadius:Math.min(e.drawingArea.width,e.drawingArea.height)/3,hasGhost:!1})}function H(e){return`gradient_${I()}`}function U(e,t){return`polar_gradient_${t}_${I()}`}function _e(e){return E(e.config,`type`,`classic`)!==`classic`||!S(e.config,`useGradient`,!1)?``:w(`circle`,{"data-cy":`donut-gradient-hollow`,cx:e.center.x,cy:e.center.y,r:e.radius<=0?10:e.radius,fill:`url(#${H(e)})`})}function W(e){return`drop_shadow_${I()}`}function ve(e){let{config:t,width:n}=e,r=S(t,`title`,{}),i=A(r,`subtitle`,{});if(!r.text)return``;let a=r.textAlign||`center`,o=a===`left`?x(r.paddingLeft,12):a===`right`?n-x(r.paddingRight,12):n/2,s=a===`left`?`start`:a===`right`?`end`:`middle`,c=x(r.fontSize,20),l=x(i.fontSize,14),u=x(r.paddingTop,12)+c,d=[N(r.text,{"data-cy":`donut-div-title`,x:o,y:u,"font-size":c,"font-weight":r.bold?`700`:`400`,"text-anchor":s,fill:k(r.color,j(t))})];return i.text&&d.push(N(i.text,{"data-cy":`donut-div-subtitle`,x:o,y:u+l+4,"font-size":l,"font-weight":i.bold?`700`:`400`,"text-anchor":s,fill:k(i.color||r.color,j(t))})),M(`g`,{"data-layer":`title`},d.join(``))}function ye(e,t){let{config:n}=e,r=[],a=!!S(n,`useGradient`,!1),o=!!S(n,`layout.donut.useShadow`,!1);if(a){let a=E(n,`type`,`classic`),o=x(S(n,`gradientIntensity`,30),30);if(a===`classic`&&Number.isFinite(e.thickness/e.radius)){let t=V(n)?1:e.thickness/e.radius;r.push(M(`radialGradient`,{id:H(e)},[w(`stop`,{offset:`0%`,"stop-color":i(L(n),0),"stop-opacity":0}),w(`stop`,{offset:`${(1-t)*100}%`,"stop-color":i(`#FFFFFF`,0),"stop-opacity":0}),w(`stop`,{offset:`${(1-t/2)*100}%`,"stop-color":i(`#FFFFFF`,o)}),w(`stop`,{offset:`100%`,"stop-color":i(L(n),0),"stop-opacity":0})].join(``)))}a===`polar`&&t.forEach((t,n)=>{let i=e.polarAreas?.[n];i?.middlePoint&&r.push(M(`radialGradient`,{id:U(e,n),cx:`${l(i.middlePoint.x/e.width*100)}%`,cy:`${l(i.middlePoint.y/e.height*100)}%`,r:`62%`},[w(`stop`,{offset:`0%`,"stop-color":c(t.color,.05),"stop-opacity":o/100}),w(`stop`,{offset:`100%`,"stop-color":t.color})].join(``)))})}if(o){let t=k(S(n,`layout.donut.shadowColor`,`#000000`),`#000000`),i=x(S(n,`layout.donut.shadowOpacity`,.2),.2),a=x(S(n,`layout.donut.shadowBlur`,6),6),o=x(S(n,`layout.donut.shadowOffsetY`,3),3);r.push(M(`filter`,{id:W(e),x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[w(`feDropShadow`,{dx:0,dy:o,stdDeviation:a,"flood-color":t,"flood-opacity":i})].join(``)))}return r.length?M(`defs`,{"data-layer":`definitions`},r.join(``)):``}function be(e,t){return t.color}function xe(e,t,n){return S(e.config,`useGradient`,!1)?`url(#${U(e,n)})`:t.color}function G(e){let{config:t}=e;return S(t,`layout.donut.borderColorAuto`,!0)?L(t):k(S(t,`layout.donut.borderColor`,L(t)),L(t))}function K(e){return S(e.config,`layout.donut.useShadow`,!1)?`url(#${W(e)})`:void 0}function Se(e,t){if(!t.length)return``;let n=G(e),r=x(S(e.config,`layout.donut.borderWidth`,1),1),i=[];return t.forEach((t,a)=>{x(t.proportion,0)<=0||(i.push(w(`path`,{"data-cy":`donut-arc-underlay-${a}`,d:t.arcSlice,fill:`#FFFFFF`,stroke:L(e.config)})),i.push(w(`path`,{class:`vue-ui-donut-arc-path`,"data-cy":`donut-arc-${a}`,d:t.arcSlice,fill:be(e,t,a),stroke:n,"stroke-width":r,filter:K(e)})))}),M(`g`,{"data-layer":`classic-slices`},i.join(``))}function Ce(e,t,n){if(!t.length)return``;let r=G(e),i=x(S(e.config,`layout.donut.borderWidth`,1),1),a=[];return t.forEach((t,o)=>{let s=n[o];s?.path&&(a.push(w(`path`,{"data-cy":`polar-arc-underlay-${o}`,d:s.path,fill:`#FFFFFF`,stroke:r})),a.push(w(`path`,{class:`vue-ui-donut-arc-path`,"data-cy":`donut-arc-${o}`,d:s.path,fill:xe(e,t,o),stroke:r,"stroke-width":i,filter:K(e)})))}),M(`g`,{"data-layer":`polar-slices`},a.join(``))}function q(t,n,r=`layout.labels.value.rounding`){let{config:i}=t,a=S(i,`layout.labels`,{}),o=a.dataLabels??{},s=a.value??{},c=e({p:o.prefix??``,v:n.value,s:o.suffix??``,r:x(S(i,r,s.rounding??0),s.rounding??0)});return f(s.formatter,n.value,c,{datapoint:n})}function J(t,n){let{config:r}=t,i=S(r,`layout.labels.percentage`,{}),a=x(n.proportion,0)*100,o=e({v:a,s:`%`,r:x(i.rounding,0)});return f(i.formatter,a,o,{datapoint:n})}function Y(e,t){let n=S(e.config,`layout.labels`,{}),r=!!n.name?.show,i=!!(n.value?.show??!0),a=!!(n.percentage?.show??!0);return{name:r?String(t.name??``):``,value:i?q(e,t):``,percentage:a?J(e,t):``}}function we(e,t){let{value:n,percentage:r}=Y(e,t);return r&&n?`${r} (${n})`:r||n||``}function X(e,t){let n=S(e.config,`layout.labels`,{}),r=n.dataLabels??{},i=!!(n.value?.show??!0),a=!!(n.percentage?.show??!0),o=i?q(e,t):``,s=a?J(e,t):``;return o&&s?r.valuePercentageRatio===`percentageFirst`?`${s}\n${o}`:`${o}\n${s}`:o||s||``}function Z(e,t){let n=S(e.config,`layout.labels`,{}).dataLabels??{};if(!E(e.config,`dataLabels.show`,n.show??!0)||!n.show)return!1;let r=x(n.hideUnderValue,0);return x(t.proportion,0)*100>r}function Te(e,t){let n=S(e.config,`layout.labels.dataLabels`,{}),r=x(n.smallArcClusterThreshold,0),i=x(n.hideUnderValue,0),a=x(t.proportion,0)*100;return a>i&&r>0&&a<=r}function Q(e){return!!S(e.config,`layout.curvedMarkers`,S(e.config,`layout.donut.curvedMarkers`,!1))}function Ee(e,t){let n=S(e.config,`layout.labels.dataLabels`,{}),r={},i=e.center.x,a=e.center.y,o=x(n.smallArcClusterFontSize??n.fontSize,10),s=o/3,c=o*1.5,d=e.drawingArea.top+16,f=e.drawingArea.bottom-16,p=i-(e.radius+6),m=i+(e.radius+6),h=Q(e);function _(e){return{x:l(e.center?.endX??e.endX),y:l(e.center?.endY??e.endY)}}function v({midX:e,midY:t,bandX:n,bandY:r}){if(!h)return`M ${e} ${t} L ${e} ${r} L ${n} ${r}`;let o=n<i?-1:1,s=n-e,c=r-t,l=Math.sqrt(s*s+c*c)||1,u=e-i,d=t-a,f=Math.sqrt(u*u+d*d)||1,p=u/f,m=d/f,g=f+9;function _({x:e,y:t}){let n=e-i,r=t-a,o=Math.sqrt(n*n+r*r)||1;if(o>=g)return{x:e,y:t};let s=g/o;return{x:i+n*s,y:a+r*s}}if(l<56){let o=s/l,u=-(c/l),d=o,f=(e+n)*.5,h=(t+r)*.5,g=(f+u-i)**2+(h+d-a)**2;(f-u-i)**2+(h-d-a)**2>g&&(u=-u,d=-d);let v=Math.max(0,Math.min(1,(l-18)/44)),y=v*v*(3-2*v),b=e+s*.78,x=t+c*.78,S=_({x:b+u*(2.5+y*4)*.9+p*(1+y*2.5),y:x+d*(2.5+y*4)*.9+m*(1+y*2.5)});return`M ${e} ${t} Q ${S.x} ${S.y} ${n} ${r}`}let v=l*.34;v<20&&(v=20),v>46&&(v=46);let y=l*.46;y<22&&(y=22),y>70&&(y=70);let b=_({x:e+p*v,y:t+m*v}),x=i+o*Math.max(Math.abs(n-i),g),S=_({x:n-o*Math.min(y,Math.abs(x-n)*.75),y:r});return`M ${e} ${t} C ${b.x} ${b.y} ${S.x} ${S.y} ${n} ${r}`}function y(e){let t=String(e??``).split(/\n/g);return c+Math.max(0,t.length-1)*o*1.2}function b({arc:e,index:t}){let n=_(e);return{arc:e,index:t,midX:n.x,midY:n.y,inlineMarkerX:u(e).x,inlineMarkerY:g(e)-3.5,labelHeight:y(e.name)}}function C(e){let t=e.inlineMarkerY<a,n=e.inlineMarkerX<i;return t&&n?`TL`:t&&!n?`TR`:!t&&n?`BL`:`BR`}function w(e,t){let n=t.startsWith(`T`);e.sort((e,t)=>n?e.inlineMarkerY-t.inlineMarkerY||e.index-t.index:t.inlineMarkerY-e.inlineMarkerY||e.index-t.index)}function T({side:e,markerX:t,markerY:n,labelY:r,connectorPath:i}){return{side:e,labelX:e===`left`?t-8:t+8,labelY:r+s,textAnchor:e===`left`?`end`:`start`,markerX:t,markerY:n,connectorPath:i}}function E({candidateList:e,side:t,bandMarkerX:n,startY:i,direction:a}){let o=i;e.forEach(e=>{let{index:i,midX:s,midY:c,labelHeight:l}=e,u;a===`down`?(u=o,o+=l):(o-=l,u=o);let d=u,f=v({midX:s,midY:c,bandX:n,bandY:d});r[i]=T({side:t,markerX:n,markerY:d,labelY:u,connectorPath:f})})}let D={TL:[],TR:[],BL:[],BR:[]};return t.map((e,t)=>b({arc:e,index:t})).filter(({arc:t})=>Z(e,t)&&Te(e,t)).forEach(e=>{D[C(e)].push(e)}),Object.keys(D).forEach(e=>{w(D[e],e)}),E({candidateList:D.TL,side:`left`,bandMarkerX:p,startY:d,direction:`down`}),E({candidateList:D.TR,side:`right`,bandMarkerX:m,startY:d,direction:`down`}),D.BL.length>1&&E({candidateList:D.BL,side:`left`,bandMarkerX:p,startY:f,direction:`up`}),D.BR.length>1&&E({candidateList:D.BR,side:`right`,bandMarkerX:m,startY:f,direction:`up`}),r}function De({state:e,arc:t,arcIndex:n,smallArcLayout:r,fontSize:i}){let a=S(e.config,`layout.labels`,{}),o=a.percentage??{},s=a.name??{},c=r?.labelX??u(t,!0,12).x,l=r?.labelY??g(t),d=r?.textAnchor??u(t,!0,12).anchor,{name:f}=Y(e,t),p=we(e,t),m=String(f).split(/\n/g),h=f?m.map((t,n)=>M(`tspan`,{class:`vue-data-ui-datalabel-name`,x:n===0?void 0:c,dy:n===0?void 0:i*1.2,fill:k(s.color,j(e.config)),"font-size":i,"font-weight":s.bold?`700`:`400`},_(t+(n===m.length-1?` `:``)))).join(``):``,v=p?M(`tspan`,{class:`vue-data-ui-datalabel-value`,fill:k(o.color,j(e.config)),"font-size":i,"font-weight":o.bold?`700`:`400`},_(p)):``;return M(`text`,{"data-cy":`donut-label-inline-${n}`,class:`vue-data-ui-datalabel-inline`,x:c,y:l,"text-anchor":d},`${h}${v}`)}function Oe(e,t){let n=S(e.config,`layout.labels`,{}),r=n.dataLabels??{};if(!E(e.config,`dataLabels.show`,r.show??!0)||!r.show)return``;let i=x(r.fontSize??n.value?.fontSize??12,12);k(r.color??n.value?.color??j(e.config),j(e.config)),r.bold??n.value?.bold;let a=x(r.offset,16),o=Ee(e,t),s=[];return t.forEach((t,n)=>{if(!Z(e,t))return;let c=o[n];if(X(e,t),c){s.push(De({state:e,arc:t,arcIndex:n,smallArcLayout:c,fontSize:x(r.smallArcClusterFontSize,i)}));return}s.push(De({state:e,arc:t,arcIndex:n,smallArcLayout:{labelX:u(t,!1,a+i/2).x,labelY:g(t,a,a),textAnchor:u(t).anchor},fontSize:i}))}),s.length?M(`g`,{"data-layer":`data-labels`},s.join(``)):``}function ke(e,n,r=42){return t({initX:n.middlePoint.x,initY:n.middlePoint.y,offset:r,centerX:e.center.x,centerY:e.center.y})}function Ae(e,t){return t.x<e.center.x?`end`:t.x>e.center.x?`start`:`middle`}function je(e,t,n,r){let i=S(e.config,`layout.labels`,{}),a=i.percentage??{},o=i.name??{},s=x(a.fontSize,i.dataLabels?.fontSize??12),c=x(o.fontSize,i.dataLabels?.fontSize??12),l=M(`tspan`,{class:`vue-data-ui-datalabel-value`,fill:k(a.color,j(e.config)),"font-size":s,"font-weight":a.bold?`700`:`400`},_(String(X(e,t).replace(/\n/g,` / `)))),u=o.show?String(t.name??``).split(/\n/g).map((t,r)=>M(`tspan`,{class:`vue-data-ui-datalabel-name`,x:r===0?void 0:n,dy:r===0?void 0:c*1.2,fill:k(o.color,j(e.config)),"font-size":c,"font-weight":o.bold?`700`:`400`},_(t))).join(``):``;return r===`end`?`${u}${l}`:`${l}${u}`}function Me(e,t,n){let r=S(e.config,`layout.labels`,{}),i=r.dataLabels??{},a=r.value??{},o=r.percentage??{},c=r.name??{};if(!E(e.config,`dataLabels.show`,i.show??!0)||!i.show)return``;let l=!!i.oneLine,u=x(a.fontSize,i.fontSize??12),d=x(c.fontSize,i.fontSize??12),f=[];return t.forEach((t,r)=>{let i=n[r];if(!i||!Z(e,t))return;let a=ke(e,i,42),p=Ae(e,a);if(l){f.push(M(`text`,{"data-cy":`polar-label-inline`,class:`vue-data-ui-datalabel-inline`,x:a.x,y:a.y,"text-anchor":p},je(e,t,a.x,p)));return}f.push(M(`text`,{"data-cy":`polar-label-value`,class:`vue-data-ui-datalabel-value`,x:a.x,y:a.y,"font-size":u,"font-weight":o.bold?`700`:`400`,"text-anchor":p,fill:valueFill},te({content:X(e,t),x:a.x,fontSize:u,fill:valueFill,textAnchor:p}))),c.show&&f.push(M(`text`,{"data-cy":`polar-label-name`,class:`vue-data-ui-datalabel-name`,x:a.x,y:a.y+d*1.2,"font-size":d,"font-weight":c.bold?`700`:`400`,"text-anchor":p,fill:k(c.color,j(e.config))},s({content:_(String(t.name??``)),fontSize:d,fill:k(c.color,j(e.config)),x:a.x})))}),f.length?M(`g`,{"data-layer":`polar-data-labels`},f.join(``)):``}function Ne(e,t,n=null){if(n?.connectorPath)return n.connectorPath;let r=S(e.config,`layout.labels.dataLabels`,{}),i=x(r.offset,16),a=x(r.markerFlatLength,12),o=Q(e);return d(t,!1,i,i,!1,!1,0,a,o)}function Pe(e,t){let n=S(e.config,`layout.labels.dataLabels`,{});if(!E(e.config,`dataLabels.show`,n.show??!0)||!n.show)return``;let r=Ee(e,t),i=[];return t.forEach((t,a)=>{if(!Z(e,t))return;let o=r[a],s=Ne(e,t,o);s&&(i.push(w(`path`,{"data-cy":`donut-marker-${a}`,d:s,stroke:t.color,"stroke-width":x(n.markerStrokeWidth,1),"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`})),i.push(w(`circle`,{"data-cy":`donut-label-marker-${a}`,cx:o?.markerX??u(t).x,cy:o?.markerY??g(t)-3.5,r:x(n.markerRadius,3),fill:t.color,stroke:L(e.config),"stroke-width":1})))}),i.length?M(`g`,{"data-layer":`label-markers`},i.join(``)):``}function Fe(e,n,r){let i=S(e.config,`layout.labels.dataLabels`,{});if(!E(e.config,`dataLabels.show`,i.show??!0)||!i.show)return``;let a=[];return n.forEach((n,o)=>{let s=r[o];if(!s?.middlePoint||!Z(e,n))return;let c=t({initX:s.middlePoint.x,initY:s.middlePoint.y,offset:24,centerX:e.center.x,centerY:e.center.y});a.push(w(`path`,{"data-cy":`polar-marker-${o}`,d:`M ${c.x},${c.y} ${s.middlePoint.x},${s.middlePoint.y}`,stroke:n.color,"stroke-width":x(i.markerStrokeWidth,1),"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`})),a.push(w(`circle`,{"data-cy":`polar-label-marker-${o}`,cx:c.x,cy:c.y,r:x(i.markerRadius,3),fill:n.color,stroke:L(e.config),"stroke-width":1}))}),a.length?M(`g`,{"data-layer":`polar-label-markers`},a.join(``)):``}function $(e,t){return e==null||e===``?``:N(e,{"text-anchor":`middle`,...t})}function Ie(t,n,r){if(E(t.config,`type`,`classic`)!==`classic`||V(t.config)||!n)return``;let i=S(t.config,`layout.labels.hollow`,{}),a=i.total??{},o=i.average??{},s=[];if(a.show){let r=x(a.fontSize,14),i=!!o.show,c=t.center.y-(i?r:0)+x(a.offsetY,0),l=a.value??{},u=x(l.fontSize,r),d=f(l.formatter,n,e({p:l.prefix??``,v:n,s:l.suffix??``,r:x(l.rounding,0)}),{total:n});s.push($(a.text??``,{"data-cy":`hollow-total-name`,x:t.center.x,y:c,fill:k(a.color,j(t.config)),"font-size":r,"font-weight":a.bold?`700`:`400`})),s.push($(d,{"data-cy":`hollow-total-value`,x:t.center.x,y:t.center.y+r-(i?r:0)+x(l.offsetY,0),fill:k(l.color,k(a.color,j(t.config))),"font-size":u,"font-weight":l.bold?`700`:`400`}))}if(o.show){let i=x(o.fontSize,14),c=!!a.show,l=n/Math.max(1,r.length),u=o.value??{},d=x(u.fontSize,i),p=f(u.formatter,l,e({p:u.prefix??``,v:l,s:u.suffix??``,r:x(u.rounding,0)}),{average:l});s.push($(o.text??``,{"data-cy":`hollow-average-name`,x:t.center.x,y:t.center.y+(c?i:0)+x(o.offsetY,0),fill:k(o.color,j(t.config)),"font-size":i,"font-weight":o.bold?`700`:`400`})),s.push($(p,{"data-cy":`hollow-average-value`,x:t.center.x,y:t.center.y+(c?i:0)+i+x(u.offsetY,0),fill:k(u.color,k(o.color,j(t.config))),"font-size":d,"font-weight":u.bold?`700`:`400`}))}return s.filter(Boolean).length?M(`g`,{class:`vue-data-ui-donut-hollow-labels`,"data-layer":`hollow-labels`},s.join(``)):``}function Le(t,n){let{config:r,center:i}=t,a=S(r,`layout.donut.labels.total`,S(r,`layout.labels.total`,{}));if(!a.show||!Number.isFinite(n)||n<=0)return``;let o=S(r,`layout.labels.dataLabels`,{}),s=x(a.fontSize,20),c=k(a.color,j(r)),l=f(a.formatter,n,e({p:o.prefix??``,v:n,s:o.suffix??``,r:x(a.rounding,0)}),{total:n});return N(l,{"data-cy":`donut-total`,x:i.x,y:i.y+s/3,"font-size":s,"font-weight":a.bold?`700`:`400`,"text-anchor":`middle`,fill:c})}function Re(e,t){let n=z(R(e));return n?x(t.value,0)/n*100:0}function ze(t,n){let r=S(t.config,`legend`,{}),i=S(t.config,`layout.labels`,{}),a=i.dataLabels??{},o=i.value??{},s=e({p:a.prefix??``,v:n.value,s:a.suffix??``,r:x(r.roundingValue,o.rounding??0)});return f(o.formatter,n.value,s,{datapoint:n,serie:n})}function Be(t,n){let r=S(t.config,`legend`,{}),i=S(t.config,`layout.labels`,{}).percentage??{},a=Re(t,n),o=e({v:a,s:`%`,r:x(r.roundingPercentage,i.rounding??0)});return f(i.formatter,a,o,{datapoint:n,serie:n})}function Ve(e,t){let n=S(e.config,`legend`,{}),r=[],i=n.showPercentage?Be(e,t):``,a=n.showValue?ze(e,t):``,o=i&&n.usePercentageParens?`(${i})`:i,s=a&&n.useValueParens?`(${a})`:a;return n.showValueFirst?(s&&r.push(s),o&&r.push(o)):(o&&r.push(o),s&&r.push(s)),`${t.name}${r.length?`: ${r.join(` `)}`:``}`}function He(e,t){let n=S(e.config,`legend`,{});if(!n.show||!t.length)return``;let r=B(e,t),i=k(n.color,j(e.config)),a=n.position||`bottom`,o=Math.max(r.markerSize,r.fontSize),s=a===`top`?r.padding+o:e.height-r.height+r.padding+o,c=[];return r.rows.forEach((t,a)=>{let l=r.padding+(e.width-r.padding*2)/2-t.width/2,u=s+a*(o+r.rowGap);t.items.forEach(({serie:e,label:t,itemWidth:a})=>{c.push(w(`circle`,{cx:l+r.markerSize/2,cy:u,r:r.markerSize/2,fill:e.color,opacity:e.opacity??1})),c.push(N(t,{x:l+r.markerSize+r.labelGap,y:u+2,"font-size":r.fontSize,"font-weight":n.bold?`700`:`400`,"dominant-baseline":`middle`,fill:i,opacity:e.opacity??1})),l+=a+r.itemGap})}),M(`g`,{"data-layer":`legend`,"data-cy":`donut-div-legend`},c.join(``))}function Ue(e){return M(`g`,{"data-layer":`no-data`},[w(`circle`,{cx:e.center.x,cy:e.center.y,r:Math.max(1,e.radius),fill:k(S(e.config,`layout.donut.emptyFill`,`#E1E5E8`),`#E1E5E8`),opacity:.4})].join(``))}function We(e,t){let n=e.additionalSvgContent;return typeof n==`function`?n({width:e.width,height:e.height,drawingArea:e.drawingArea,center:e.center,radius:e.radius,thickness:e.thickness,innerRadius:e.innerRadius,config:e.config,series:t.map(e=>({...e}))})??``:n??``}function Ge(e,t,n){let r=`${E(e.config,`title.text`,`Donut chart`)||e.svgTitle||`Donut chart`}. ${t.length} series. Total ${l(n)}.`;return M(`title`,{},_(r))}async function Ke(e){let t=e.config,n=x(e.width,S(t,`width`,512)),r=x(e.height,S(t,`height`,512)),i=R(e),a=z(i),o=me({...e,width:n,height:r},i),s=he(o,i),c=ge(o,i),l=E(t,`type`,`classic`),u=a>0&&s.some(e=>x(e.proportion,0)>0);return`
|
|
1
|
+
import{t as e}from"./useConfig-6jO1fkp5.js";import{$ as t,Bt as n,Ht as r,It as i,Jt as a,S as o,X as s,Y as c,Yt as l,b as u,f as d,h as f,i as p,in as m,j as h,nn as g,p as _,st as v,t as y}from"./lib-rPeBMZrn.js";import{t as b}from"./vue_ui_donut-T5PeOqvf.js";import{_ as x,a as S,c as C,d as w,g as T,i as E,l as D,n as O,o as k,p as A,r as j,s as ee,t as te,u as M,v as N}from"./render-common-CJz0wn0I.js";var{vue_ui_donut:ne}=e();function re({config:e={}}={}){let t=e??{},n=m({userConfig:t,defaultConfig:ne}),i=n.theme;if(!i)return{...n,customPalette:n.customPalette?.length?n.customPalette:r};let a=m({userConfig:b[i]||{},defaultConfig:n}),o=m({userConfig:t,defaultConfig:a});return{...o,customPalette:o.customPalette?.length?o.customPalette:g[i]||r}}function P(e,t=0){let n=Number(e);return Number.isFinite(n)?n:t}function F(e,t,n){return String(t).split(`.`).reduce((e,t)=>e&&e[t]!==void 0?e[t]:void 0,e)??n}function ie(e){return typeof e!=`object`||!e?0:Array.isArray(e.values)?e.values.reduce((e,t)=>e+P(t,0),0):Array.isArray(e.series)?e.series.reduce((e,t)=>e+P(t,0),0):P(e.value??e.y??0,0)}function ae(e,t){return String(e?.name??e?.label??`Serie ${t+1}`)}function oe(e=[],t){let n=Array.isArray(t.customPalette)?t.customPalette:r;return(Array.isArray(e)?e:[]).map((e,t)=>({source:e,sourceIndex:t,value:ie(e)})).filter(e=>Number.isFinite(e.value)).sort((e,t)=>e.source?.ghost&&!t.source?.ghost?1:t.source?.ghost&&!e.source?.ghost?-1:t.value-e.value).map((e,t)=>{let r=e.source,i=e.value,a=(r?.color?o(r.color):``)||n[t%n.length];return{...r,id:r?.id??`donut_serie_${t}`,name:ae(r,t),value:i,absoluteValue:Math.abs(i),absoluteValues:Array.isArray(r?.values)?r.values:[i],color:a,index:t,sourceIndex:e.sourceIndex,patternIndex:r?.patternIndex??t,seriesIndex:r?.seriesIndex??t,ghost:!!r?.ghost}}).filter(e=>Number.isFinite(e.absoluteValue))}function se(e){return e.reduce((e,t)=>e+t.absoluteValue,0)}function ce({series:e,total:t,startAngle:n=-90}){let r=n;return e.map(e=>{let n=t?e.absoluteValue/t:0,i=n*360,a=r,o=r+i;return r=o,{...e,ratio:n,percentage:n*100,startAngle:a,endAngle:o,midAngle:a+i/2}})}function le({dataset:e=[],config:t={},width:n=512,height:r=512,additionalSvgContent:i=``,svgTitle:a=``}={}){let o=re({config:t}),s=oe(e,o),c=se(s),l={top:P(F(o,`chart.padding.top`,24),24),right:P(F(o,`chart.padding.right`,24),24),bottom:P(F(o,`chart.padding.bottom`,24),24),left:P(F(o,`chart.padding.left`,24),24)},u={top:l.top,left:l.left,right:n-l.right,bottom:r-l.bottom};u.width=Math.max(1,u.right-u.left),u.height=Math.max(1,u.bottom-u.top);let d={x:u.left+u.width/2,y:u.top+u.height/2},f=Math.max(1,Math.min(u.width,u.height)/2),p=P(F(o,`chart.donut.radius`,f),f),m=P(F(o,`chart.donut.holeRatio`,.5),.5);return{width:n,height:r,dataset:e,config:o,drawingArea:u,center:d,radius:p,innerRadius:Math.max(0,Math.min(p-1,p*m)),total:c,series:ce({series:s,total:c,startAngle:P(F(o,`chart.donut.startAngle`,-90),-90)}),additionalSvgContent:i,svgTitle:a}}var ue=s();function I(){return ue}function L(e){return k(S(e,`backgroundColor`,`#FFFFFF`),`#FFFFFF`)}function de(e){return x(e?.value??e?.absoluteValue??0,0)}function R(e){return T(e.series).filter(e=>!e?.ghost).map((e,t)=>({...e,value:Math.abs(de(e)),color:k(e.color,`#000000`),name:String(e.name??`Serie ${t+1}`),seriesIndex:e.seriesIndex??e.index??t,patternIndex:e.patternIndex??e.index??t})).filter(e=>Number.isFinite(e.value))}function z(e){return e.reduce((e,t)=>e+Math.abs(x(t.value,0)),0)}function fe(e){let t=S(e,`title`,{}),n=A(t,`subtitle`,{});if(!t.text)return 0;let r=x(t.fontSize,20),i=n.show!==!1&&n.text?x(n.fontSize,14):0;return x(t.paddingTop,12)+r+(i?i+12:0)+x(t.paddingBottom,36)}function pe({state:e,series:t}){let{config:n,width:r}=e,i=S(n,`legend`,{}),a=x(i.fontSize,12),o=x(i.markerSize,10),s=x(i.itemGap,24),c=x(i.rowGap,8),l=x(i.padding,8),u=x(i.labelGap,8),d=Math.max(1,r-l*2),f=[],p=[],m=0;return t.forEach(t=>{let n=Ve(e,t),r=O(n,a),i=o+u+r,c=m+i+(p.length?s:0);p.length&&c>d&&(f.push({items:p,width:m}),p=[],m=0),p.push({serie:t,label:n,itemWidth:i}),m+=i+(p.length>1?s:0)}),p.length&&f.push({items:p,width:m}),{rows:f,fontSize:a,markerSize:o,itemGap:s,labelGap:u,rowGap:c,padding:l,height:f.length*Math.max(o,a)+Math.max(0,f.length-1)*c+l*2}}function B(e,t){return!S(e.config,`legend.show`,!0)||!t.length?{rows:[],height:0,padding:0,fontSize:12,markerSize:10,rowGap:0}:pe({state:e,series:t})}function V(e){return!!E(e,`pie`,S(e,`pie`,!1))}function me(e,t){let{config:n,width:r,height:i}=e,a=fe(n),o=B(e,t),s=S(n,`legend.show`,!0),c=S(n,`legend.position`,`bottom`),l=s&&c===`top`?o.height:0,u=s&&c!==`top`?o.height:0,d=x(S(n,`padding.top`,24),24),f=x(S(n,`padding.right`,24),24),p=x(S(n,`padding.bottom`,24),24),m=x(S(n,`padding.left`,24),24),h={top:d+a+l,right:r-f,bottom:i-p-u,left:m};h.width=Math.max(1,h.right-h.left),h.height=Math.max(1,h.bottom-h.top);let g=a?x(E(n,`title.chartOffsetY`,24),24):0,_=Math.max(1,h.height-g),v={x:h.left+h.width/2,y:h.top+g/2+_/2},y=x(S(n,`layout.donut.radiusRatio`,.35),.35),b=Math.max(.1,Math.min(.50001,y)),C=Math.max(12,Math.min(h.width,_)*b),w=S(n,`layout.donut.radius`,null),T=w==null?C:Math.min(C,x(w,C)),D=x(S(n,`layout.donut.strokeWidth`,64),64)/300,O=Math.max(Math.min(T*D*2,T),12*(1+D)),k=S(n,`layout.donut.thickness`,S(n,`layout.donut.size`,O)),A=Math.max(0,Math.min(T-1,k==null?O:x(k,O)));return{...e,drawingArea:h,center:v,radius:T,thickness:A,innerRadius:V(n)?0:Math.max(0,T-A)}}function he(e,t){let n=x(S(e.config,`layout.donut.rotation`,105.25),105.25);return i({series:t},e.center.x,e.center.y,e.radius,e.radius,1.99999,2,1,360,n,V(e.config)?e.radius:e.thickness).map((e,n)=>({...e,index:n,color:k(e.color,t[n]?.color),value:x(e.value,0),name:String(e.name??t[n]?.name??`Serie ${n+1}`),patternIndex:e.patternIndex??t[n]?.patternIndex??n,seriesIndex:e.seriesIndex??t[n]?.seriesIndex??n}))}function ge(e,t){let n=Math.max(1,...t.map(e=>Math.abs(x(e.value,0)))),r=t.map(e=>Math.abs(x(e.value,0))/n);return h({series:r,center:e.center,maxRadius:Math.min(e.drawingArea.width,e.drawingArea.height)/3,hasGhost:!1})}function H(e){return`gradient_${I()}`}function U(e,t){return`polar_gradient_${t}_${I()}`}function _e(e){return E(e.config,`type`,`classic`)!==`classic`||!S(e.config,`useGradient`,!1)?``:w(`circle`,{"data-cy":`donut-gradient-hollow`,cx:e.center.x,cy:e.center.y,r:e.radius<=0?10:e.radius,fill:`url(#${H(e)})`})}function W(e){return`drop_shadow_${I()}`}function ve(e){let{config:t,width:n}=e,r=S(t,`title`,{}),i=A(r,`subtitle`,{});if(!r.text)return``;let a=r.textAlign||`center`,o=a===`left`?x(r.paddingLeft,12):a===`right`?n-x(r.paddingRight,12):n/2,s=a===`left`?`start`:a===`right`?`end`:`middle`,c=x(r.fontSize,20),l=x(i.fontSize,14),u=x(r.paddingTop,12)+c,d=[N(r.text,{"data-cy":`donut-div-title`,x:o,y:u,"font-size":c,"font-weight":r.bold?`700`:`400`,"text-anchor":s,fill:k(r.color,j(t))})];return i.text&&d.push(N(i.text,{"data-cy":`donut-div-subtitle`,x:o,y:u+l+4,"font-size":l,"font-weight":i.bold?`700`:`400`,"text-anchor":s,fill:k(i.color||r.color,j(t))})),M(`g`,{"data-layer":`title`},d.join(``))}function ye(e,t){let{config:n}=e,r=[],i=!!S(n,`useGradient`,!1),o=!!S(n,`layout.donut.useShadow`,!1);if(i){let i=E(n,`type`,`classic`),o=x(S(n,`gradientIntensity`,30),30);if(i===`classic`&&Number.isFinite(e.thickness/e.radius)){let t=V(n)?1:e.thickness/e.radius;r.push(M(`radialGradient`,{id:H(e)},[w(`stop`,{offset:`0%`,"stop-color":a(L(n),0),"stop-opacity":0}),w(`stop`,{offset:`${(1-t)*100}%`,"stop-color":a(`#FFFFFF`,0),"stop-opacity":0}),w(`stop`,{offset:`${(1-t/2)*100}%`,"stop-color":a(`#FFFFFF`,o)}),w(`stop`,{offset:`100%`,"stop-color":a(L(n),0),"stop-opacity":0})].join(``)))}i===`polar`&&t.forEach((t,n)=>{let i=e.polarAreas?.[n];i?.middlePoint&&r.push(M(`radialGradient`,{id:U(e,n),cx:`${u(i.middlePoint.x/e.width*100)}%`,cy:`${u(i.middlePoint.y/e.height*100)}%`,r:`62%`},[w(`stop`,{offset:`0%`,"stop-color":l(t.color,.05),"stop-opacity":o/100}),w(`stop`,{offset:`100%`,"stop-color":t.color})].join(``)))})}if(o){let t=k(S(n,`layout.donut.shadowColor`,`#000000`),`#000000`),i=x(S(n,`layout.donut.shadowOpacity`,.2),.2),a=x(S(n,`layout.donut.shadowBlur`,6),6),o=x(S(n,`layout.donut.shadowOffsetY`,3),3);r.push(M(`filter`,{id:W(e),x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[w(`feDropShadow`,{dx:0,dy:o,stdDeviation:a,"flood-color":t,"flood-opacity":i})].join(``)))}return r.length?M(`defs`,{"data-layer":`definitions`},r.join(``)):``}function be(e,t){return t.color}function xe(e,t,n){return S(e.config,`useGradient`,!1)?`url(#${U(e,n)})`:t.color}function G(e){let{config:t}=e;return S(t,`layout.donut.borderColorAuto`,!0)?L(t):k(S(t,`layout.donut.borderColor`,L(t)),L(t))}function K(e){return S(e.config,`layout.donut.useShadow`,!1)?`url(#${W(e)})`:void 0}function Se(e,t){if(!t.length)return``;let n=G(e),r=x(S(e.config,`layout.donut.borderWidth`,1),1),i=[];return t.forEach((t,a)=>{x(t.proportion,0)<=0||(i.push(w(`path`,{"data-cy":`donut-arc-underlay-${a}`,d:t.arcSlice,fill:`#FFFFFF`,stroke:L(e.config)})),i.push(w(`path`,{class:`vue-ui-donut-arc-path`,"data-cy":`donut-arc-${a}`,d:t.arcSlice,fill:be(e,t,a),stroke:n,"stroke-width":r,filter:K(e)})))}),M(`g`,{"data-layer":`classic-slices`},i.join(``))}function Ce(e,t,n){if(!t.length)return``;let r=G(e),i=x(S(e.config,`layout.donut.borderWidth`,1),1),a=[];return t.forEach((t,o)=>{let s=n[o];s?.path&&(a.push(w(`path`,{"data-cy":`polar-arc-underlay-${o}`,d:s.path,fill:`#FFFFFF`,stroke:r})),a.push(w(`path`,{class:`vue-ui-donut-arc-path`,"data-cy":`donut-arc-${o}`,d:s.path,fill:xe(e,t,o),stroke:r,"stroke-width":i,filter:K(e)})))}),M(`g`,{"data-layer":`polar-slices`},a.join(``))}function q(e,n,r=`layout.labels.value.rounding`){let{config:i}=e,a=S(i,`layout.labels`,{}),o=a.dataLabels??{},s=a.value??{},c=t({p:o.prefix??``,v:n.value,s:o.suffix??``,r:x(S(i,r,s.rounding??0),s.rounding??0)});return p(s.formatter,n.value,c,{datapoint:n})}function J(e,n){let{config:r}=e,i=S(r,`layout.labels.percentage`,{}),a=x(n.proportion,0)*100,o=t({v:a,s:`%`,r:x(i.rounding,0)});return p(i.formatter,a,o,{datapoint:n})}function Y(e,t){let n=S(e.config,`layout.labels`,{}),r=!!n.name?.show,i=!!(n.value?.show??!0),a=!!(n.percentage?.show??!0);return{name:r?String(t.name??``):``,value:i?q(e,t):``,percentage:a?J(e,t):``}}function we(e,t){let{value:n,percentage:r}=Y(e,t);return r&&n?`${r} (${n})`:r||n||``}function X(e,t){let n=S(e.config,`layout.labels`,{}),r=n.dataLabels??{},i=!!(n.value?.show??!0),a=!!(n.percentage?.show??!0),o=i?q(e,t):``,s=a?J(e,t):``;return o&&s?r.valuePercentageRatio===`percentageFirst`?`${s}\n${o}`:`${o}\n${s}`:o||s||``}function Z(e,t){let n=S(e.config,`layout.labels`,{}).dataLabels??{};if(!E(e.config,`dataLabels.show`,n.show??!0)||!n.show)return!1;let r=x(n.hideUnderValue,0);return x(t.proportion,0)*100>r}function Te(e,t){let n=S(e.config,`layout.labels.dataLabels`,{}),r=x(n.smallArcClusterThreshold,0),i=x(n.hideUnderValue,0),a=x(t.proportion,0)*100;return a>i&&r>0&&a<=r}function Q(e){return!!S(e.config,`layout.curvedMarkers`,S(e.config,`layout.donut.curvedMarkers`,!1))}function Ee(e,t){let n=S(e.config,`layout.labels.dataLabels`,{}),r={},i=e.center.x,a=e.center.y,o=x(n.smallArcClusterFontSize??n.fontSize,10),s=o/3,c=o*1.5,l=e.drawingArea.top+16,f=e.drawingArea.bottom-16,p=i-(e.radius+6),m=i+(e.radius+6),h=Q(e);function g(e){return{x:u(e.center?.endX??e.endX),y:u(e.center?.endY??e.endY)}}function v({midX:e,midY:t,bandX:n,bandY:r}){if(!h)return`M ${e} ${t} L ${e} ${r} L ${n} ${r}`;let o=n<i?-1:1,s=n-e,c=r-t,l=Math.sqrt(s*s+c*c)||1,u=e-i,d=t-a,f=Math.sqrt(u*u+d*d)||1,p=u/f,m=d/f,g=f+9;function _({x:e,y:t}){let n=e-i,r=t-a,o=Math.sqrt(n*n+r*r)||1;if(o>=g)return{x:e,y:t};let s=g/o;return{x:i+n*s,y:a+r*s}}if(l<56){let o=s/l,u=-(c/l),d=o,f=(e+n)*.5,h=(t+r)*.5,g=(f+u-i)**2+(h+d-a)**2;(f-u-i)**2+(h-d-a)**2>g&&(u=-u,d=-d);let v=Math.max(0,Math.min(1,(l-18)/44)),y=v*v*(3-2*v),b=e+s*.78,x=t+c*.78,S=_({x:b+u*(2.5+y*4)*.9+p*(1+y*2.5),y:x+d*(2.5+y*4)*.9+m*(1+y*2.5)});return`M ${e} ${t} Q ${S.x} ${S.y} ${n} ${r}`}let v=l*.34;v<20&&(v=20),v>46&&(v=46);let y=l*.46;y<22&&(y=22),y>70&&(y=70);let b=_({x:e+p*v,y:t+m*v}),x=i+o*Math.max(Math.abs(n-i),g),S=_({x:n-o*Math.min(y,Math.abs(x-n)*.75),y:r});return`M ${e} ${t} C ${b.x} ${b.y} ${S.x} ${S.y} ${n} ${r}`}function y(e){let t=String(e??``).split(/\n/g);return c+Math.max(0,t.length-1)*o*1.2}function b({arc:e,index:t}){let n=g(e);return{arc:e,index:t,midX:n.x,midY:n.y,inlineMarkerX:d(e).x,inlineMarkerY:_(e)-3.5,labelHeight:y(e.name)}}function C(e){let t=e.inlineMarkerY<a,n=e.inlineMarkerX<i;return t&&n?`TL`:t&&!n?`TR`:!t&&n?`BL`:`BR`}function w(e,t){let n=t.startsWith(`T`);e.sort((e,t)=>n?e.inlineMarkerY-t.inlineMarkerY||e.index-t.index:t.inlineMarkerY-e.inlineMarkerY||e.index-t.index)}function T({side:e,markerX:t,markerY:n,labelY:r,connectorPath:i}){return{side:e,labelX:e===`left`?t-8:t+8,labelY:r+s,textAnchor:e===`left`?`end`:`start`,markerX:t,markerY:n,connectorPath:i}}function E({candidateList:e,side:t,bandMarkerX:n,startY:i,direction:a}){let o=i;e.forEach(e=>{let{index:i,midX:s,midY:c,labelHeight:l}=e,u;a===`down`?(u=o,o+=l):(o-=l,u=o);let d=u,f=v({midX:s,midY:c,bandX:n,bandY:d});r[i]=T({side:t,markerX:n,markerY:d,labelY:u,connectorPath:f})})}let D={TL:[],TR:[],BL:[],BR:[]};return t.map((e,t)=>b({arc:e,index:t})).filter(({arc:t})=>Z(e,t)&&Te(e,t)).forEach(e=>{D[C(e)].push(e)}),Object.keys(D).forEach(e=>{w(D[e],e)}),E({candidateList:D.TL,side:`left`,bandMarkerX:p,startY:l,direction:`down`}),E({candidateList:D.TR,side:`right`,bandMarkerX:m,startY:l,direction:`down`}),D.BL.length>1&&E({candidateList:D.BL,side:`left`,bandMarkerX:p,startY:f,direction:`up`}),D.BR.length>1&&E({candidateList:D.BR,side:`right`,bandMarkerX:m,startY:f,direction:`up`}),r}function De({state:e,arc:t,arcIndex:n,smallArcLayout:r,fontSize:i}){let a=S(e.config,`layout.labels`,{}),o=a.percentage??{},s=a.name??{},c=r?.labelX??d(t,!0,12).x,l=r?.labelY??_(t),u=r?.textAnchor??d(t,!0,12).anchor,{name:f}=Y(e,t),p=we(e,t),m=String(f).split(/\n/g),h=f?m.map((t,n)=>M(`tspan`,{class:`vue-data-ui-datalabel-name`,x:n===0?void 0:c,dy:n===0?void 0:i*1.2,fill:k(s.color,j(e.config)),"font-size":i,"font-weight":s.bold?`700`:`400`},v(t+(n===m.length-1?` `:``)))).join(``):``,g=p?M(`tspan`,{class:`vue-data-ui-datalabel-value`,fill:k(o.color,j(e.config)),"font-size":i,"font-weight":o.bold?`700`:`400`},v(p)):``;return M(`text`,{"data-cy":`donut-label-inline-${n}`,class:`vue-data-ui-datalabel-inline`,x:c,y:l,"text-anchor":u},`${h}${g}`)}function Oe(e,t){let n=S(e.config,`layout.labels`,{}),r=n.dataLabels??{};if(!E(e.config,`dataLabels.show`,r.show??!0)||!r.show)return``;let i=x(r.fontSize??n.value?.fontSize??12,12);k(r.color??n.value?.color??j(e.config),j(e.config)),r.bold??n.value?.bold;let a=x(r.offset,16),o=Ee(e,t),s=[];return t.forEach((t,n)=>{if(!Z(e,t))return;let c=o[n];X(e,t),c?s.push(De({state:e,arc:t,arcIndex:n,smallArcLayout:c,fontSize:x(r.smallArcClusterFontSize,i)})):s.push(De({state:e,arc:t,arcIndex:n,smallArcLayout:{labelX:d(t,!1,a+i/2).x,labelY:_(t,a,a),textAnchor:d(t).anchor},fontSize:i}))}),s.length?M(`g`,{"data-layer":`data-labels`},s.join(``)):``}function ke(e,t,r=42){return n({initX:t.middlePoint.x,initY:t.middlePoint.y,offset:r,centerX:e.center.x,centerY:e.center.y})}function Ae(e,t){return t.x<e.center.x?`end`:t.x>e.center.x?`start`:`middle`}function je(e,t,n,r){let i=S(e.config,`layout.labels`,{}),a=i.percentage??{},o=i.name??{},s=x(a.fontSize,i.dataLabels?.fontSize??12),c=x(o.fontSize,i.dataLabels?.fontSize??12),l=M(`tspan`,{class:`vue-data-ui-datalabel-value`,fill:k(a.color,j(e.config)),"font-size":s,"font-weight":a.bold?`700`:`400`},v(String(X(e,t).replace(/\n/g,` / `)))),u=o.show?String(t.name??``).split(/\n/g).map((t,r)=>M(`tspan`,{class:`vue-data-ui-datalabel-name`,x:r===0?void 0:n,dy:r===0?void 0:c*1.2,fill:k(o.color,j(e.config)),"font-size":c,"font-weight":o.bold?`700`:`400`},v(t))).join(``):``;return r===`end`?`${u}${l}`:`${l}${u}`}function Me(e,t,n){let r=S(e.config,`layout.labels`,{}),i=r.dataLabels??{},a=r.value??{},o=r.percentage??{},s=r.name??{};if(!E(e.config,`dataLabels.show`,i.show??!0)||!i.show)return``;let l=!!i.oneLine,u=x(a.fontSize,i.fontSize??12),d=x(s.fontSize,i.fontSize??12),f=[];return t.forEach((t,r)=>{let i=n[r];if(!i||!Z(e,t))return;let a=ke(e,i,42),p=Ae(e,a);l?f.push(M(`text`,{"data-cy":`polar-label-inline`,class:`vue-data-ui-datalabel-inline`,x:a.x,y:a.y,"text-anchor":p},je(e,t,a.x,p))):(f.push(M(`text`,{"data-cy":`polar-label-value`,class:`vue-data-ui-datalabel-value`,x:a.x,y:a.y,"font-size":u,"font-weight":o.bold?`700`:`400`,"text-anchor":p,fill:valueFill},te({content:X(e,t),x:a.x,fontSize:u,fill:valueFill,textAnchor:p}))),s.show&&f.push(M(`text`,{"data-cy":`polar-label-name`,class:`vue-data-ui-datalabel-name`,x:a.x,y:a.y+d*1.2,"font-size":d,"font-weight":s.bold?`700`:`400`,"text-anchor":p,fill:k(s.color,j(e.config))},c({content:v(String(t.name??``)),fontSize:d,fill:k(s.color,j(e.config)),x:a.x}))))}),f.length?M(`g`,{"data-layer":`polar-data-labels`},f.join(``)):``}function Ne(e,t,n=null){if(n?.connectorPath)return n.connectorPath;let r=S(e.config,`layout.labels.dataLabels`,{}),i=x(r.offset,16),a=x(r.markerFlatLength,12),o=Q(e);return f(t,!1,i,i,!1,!1,0,a,o)}function Pe(e,t){let n=S(e.config,`layout.labels.dataLabels`,{});if(!E(e.config,`dataLabels.show`,n.show??!0)||!n.show)return``;let r=Ee(e,t),i=[];return t.forEach((t,a)=>{if(!Z(e,t))return;let o=r[a],s=Ne(e,t,o);s&&(i.push(w(`path`,{"data-cy":`donut-marker-${a}`,d:s,stroke:t.color,"stroke-width":x(n.markerStrokeWidth,1),"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`})),i.push(w(`circle`,{"data-cy":`donut-label-marker-${a}`,cx:o?.markerX??d(t).x,cy:o?.markerY??_(t)-3.5,r:x(n.markerRadius,3),fill:t.color,stroke:L(e.config),"stroke-width":1})))}),i.length?M(`g`,{"data-layer":`label-markers`},i.join(``)):``}function Fe(e,t,r){let i=S(e.config,`layout.labels.dataLabels`,{});if(!E(e.config,`dataLabels.show`,i.show??!0)||!i.show)return``;let a=[];return t.forEach((t,o)=>{let s=r[o];if(!s?.middlePoint||!Z(e,t))return;let c=n({initX:s.middlePoint.x,initY:s.middlePoint.y,offset:24,centerX:e.center.x,centerY:e.center.y});a.push(w(`path`,{"data-cy":`polar-marker-${o}`,d:`M ${c.x},${c.y} ${s.middlePoint.x},${s.middlePoint.y}`,stroke:t.color,"stroke-width":x(i.markerStrokeWidth,1),"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`})),a.push(w(`circle`,{"data-cy":`polar-label-marker-${o}`,cx:c.x,cy:c.y,r:x(i.markerRadius,3),fill:t.color,stroke:L(e.config),"stroke-width":1}))}),a.length?M(`g`,{"data-layer":`polar-label-markers`},a.join(``)):``}function $(e,t){return e==null||e===``?``:N(e,{"text-anchor":`middle`,...t})}function Ie(e,n,r){if(E(e.config,`type`,`classic`)!==`classic`||V(e.config)||!n)return``;let i=S(e.config,`layout.labels.hollow`,{}),a=i.total??{},o=i.average??{},s=[];if(a.show){let r=x(a.fontSize,14),i=!!o.show,c=e.center.y-(i?r:0)+x(a.offsetY,0),l=a.value??{},u=x(l.fontSize,r),d=p(l.formatter,n,t({p:l.prefix??``,v:n,s:l.suffix??``,r:x(l.rounding,0)}),{total:n});s.push($(a.text??``,{"data-cy":`hollow-total-name`,x:e.center.x,y:c,fill:k(a.color,j(e.config)),"font-size":r,"font-weight":a.bold?`700`:`400`})),s.push($(d,{"data-cy":`hollow-total-value`,x:e.center.x,y:e.center.y+r-(i?r:0)+x(l.offsetY,0),fill:k(l.color,k(a.color,j(e.config))),"font-size":u,"font-weight":l.bold?`700`:`400`}))}if(o.show){let i=x(o.fontSize,14),c=!!a.show,l=n/Math.max(1,r.length),u=o.value??{},d=x(u.fontSize,i),f=p(u.formatter,l,t({p:u.prefix??``,v:l,s:u.suffix??``,r:x(u.rounding,0)}),{average:l});s.push($(o.text??``,{"data-cy":`hollow-average-name`,x:e.center.x,y:e.center.y+(c?i:0)+x(o.offsetY,0),fill:k(o.color,j(e.config)),"font-size":i,"font-weight":o.bold?`700`:`400`})),s.push($(f,{"data-cy":`hollow-average-value`,x:e.center.x,y:e.center.y+(c?i:0)+i+x(u.offsetY,0),fill:k(u.color,k(o.color,j(e.config))),"font-size":d,"font-weight":u.bold?`700`:`400`}))}return s.filter(Boolean).length?M(`g`,{class:`vue-data-ui-donut-hollow-labels`,"data-layer":`hollow-labels`},s.join(``)):``}function Le(e,n){let{config:r,center:i}=e,a=S(r,`layout.donut.labels.total`,S(r,`layout.labels.total`,{}));if(!a.show||!Number.isFinite(n)||n<=0)return``;let o=S(r,`layout.labels.dataLabels`,{}),s=x(a.fontSize,20),c=k(a.color,j(r)),l=p(a.formatter,n,t({p:o.prefix??``,v:n,s:o.suffix??``,r:x(a.rounding,0)}),{total:n});return N(l,{"data-cy":`donut-total`,x:i.x,y:i.y+s/3,"font-size":s,"font-weight":a.bold?`700`:`400`,"text-anchor":`middle`,fill:c})}function Re(e,t){let n=z(R(e));return n?x(t.value,0)/n*100:0}function ze(e,n){let r=S(e.config,`legend`,{}),i=S(e.config,`layout.labels`,{}),a=i.dataLabels??{},o=i.value??{},s=t({p:a.prefix??``,v:n.value,s:a.suffix??``,r:x(r.roundingValue,o.rounding??0)});return p(o.formatter,n.value,s,{datapoint:n,serie:n})}function Be(e,n){let r=S(e.config,`legend`,{}),i=S(e.config,`layout.labels`,{}).percentage??{},a=Re(e,n),o=t({v:a,s:`%`,r:x(r.roundingPercentage,i.rounding??0)});return p(i.formatter,a,o,{datapoint:n,serie:n})}function Ve(e,t){let n=S(e.config,`legend`,{}),r=[],i=n.showPercentage?Be(e,t):``,a=n.showValue?ze(e,t):``,o=i&&n.usePercentageParens?`(${i})`:i,s=a&&n.useValueParens?`(${a})`:a;return n.showValueFirst?(s&&r.push(s),o&&r.push(o)):(o&&r.push(o),s&&r.push(s)),`${t.name}${r.length?`: ${r.join(` `)}`:``}`}function He(e,t){let n=S(e.config,`legend`,{});if(!n.show||!t.length)return``;let r=B(e,t),i=k(n.color,j(e.config)),a=n.position||`bottom`,o=Math.max(r.markerSize,r.fontSize),s=a===`top`?r.padding+o:e.height-r.height+r.padding+o,c=[];return r.rows.forEach((t,a)=>{let l=r.padding+(e.width-r.padding*2)/2-t.width/2,u=s+a*(o+r.rowGap);t.items.forEach(({serie:e,label:t,itemWidth:a})=>{c.push(w(`circle`,{cx:l+r.markerSize/2,cy:u,r:r.markerSize/2,fill:e.color,opacity:e.opacity??1})),c.push(N(t,{x:l+r.markerSize+r.labelGap,y:u+2,"font-size":r.fontSize,"font-weight":n.bold?`700`:`400`,"dominant-baseline":`middle`,fill:i,opacity:e.opacity??1})),l+=a+r.itemGap})}),M(`g`,{"data-layer":`legend`,"data-cy":`donut-div-legend`},c.join(``))}function Ue(e){return M(`g`,{"data-layer":`no-data`},[w(`circle`,{cx:e.center.x,cy:e.center.y,r:Math.max(1,e.radius),fill:k(S(e.config,`layout.donut.emptyFill`,`#E1E5E8`),`#E1E5E8`),opacity:.4})].join(``))}function We(e,t){let n=e.additionalSvgContent;return typeof n==`function`?n({width:e.width,height:e.height,drawingArea:e.drawingArea,center:e.center,radius:e.radius,thickness:e.thickness,innerRadius:e.innerRadius,config:e.config,series:t.map(e=>({...e}))})??``:n??``}function Ge(e,t,n){let r=`${E(e.config,`title.text`,`Donut chart`)||e.svgTitle||`Donut chart`}. ${t.length} series. Total ${u(n)}.`;return M(`title`,{},v(r))}async function Ke(e){let t=e.config,n=x(e.width,S(t,`width`,512)),r=x(e.height,S(t,`height`,512)),i=R(e),a=z(i),o=me({...e,width:n,height:r},i),s=he(o,i),c=ge(o,i),l=E(t,`type`,`classic`),u=a>0&&s.some(e=>x(e.proportion,0)>0);return`
|
|
2
2
|
<svg
|
|
3
|
-
xmlns="${
|
|
3
|
+
xmlns="${y}"
|
|
4
4
|
width="100%"
|
|
5
5
|
viewBox="0 0 ${n} ${r}"
|
|
6
6
|
role="img"
|
|
@@ -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-C4ZM3Vf7.js`).then(e=>e.t)),sn=et(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),cn=et(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),ln=et(()=>import(`./vue-ui-donut-CDryub1L.js`).then(e=>e.n)),un=et(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_donut_evolution:dn}=t(),{isThemeValid:fn,warnInvalidTheme:pn}=Te(),C=e,w=_(re()),T=_([]),E=_(null),mn=_(null),hn=_(!1),D=_(null),O=_(null),gn=_(null),_n=_(0),vn=_(0),yn=_(0),bn=_(0),xn=_(0),Sn=_(null),Cn=_(null),wn=_(null),Tn=_(null),En=_(!1),Dn=_(null),On=_(null),kn=lt(null),An=_(0),jn=_(0),Mn=_(!1);function Nn(){kn.value=O.value?.parentNode??null}function Pn(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function Fn(){let e=++jn.value;await rt(),await Pn(),await Pn(),e===jn.value&&(An.value+=1)}function In(){Mn.value||(Mn.value=!0,rt(()=>{Mn.value=!1,Nn(),Fn()}))}let Ln=Re({elementRef:kn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{Fn()}}),Rn=_(null),zn=_(null),Bn=_(null),Vn=_(null),Hn=_(null),Un=_(!1),k=lt(null),Wn=lt(null),Gn=_(null),A=_(null),Kn=_(!1),j=pt,qn=u(()=>!!C.dataset&&C.dataset.length),Jn=_(!1),Yn=0;st(()=>{En.value=!0,Nn(),Ln.start(),Zn(),Fn()});let Xn=u(()=>M.value.debug);function Zn(){ve(C.dataset)?(ae({componentName:`VueUiDonutEvolution`,type:`dataset`,debug:Xn.value}),rr.value=!0):C.dataset.length&&C.dataset.forEach((e,t)=>{_e({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:e,index:t,debug:Xn.value}),rr.value=!0})}),ve(C.dataset)||(rr.value=M.value.loading),setTimeout(()=>{Un.value=!0},10),br(),M.value.responsive&&(k.value&&(Wn.value&&k.value.unobserve(Wn.value),k.value.disconnect()),k.value=new ResizeObserver(()=>{Un.value=!1;let{width:e,height:t}=Ve({chart:O.value,title:M.value.style.chart.title.text?Rn.value:null,legend:M.value.style.chart.legend.show?zn.value:null,slicer:M.value.style.chart.zoom.show&&ir.value>1?Hn.value:null,source:Bn.value});cancelAnimationFrame(Yn),Yn=requestAnimationFrame(()=>{L.value.width=e,L.value.height=t-12,Jn.value=!0,In(),clearTimeout(Gn.value),Gn.value=setTimeout(()=>{Un.value=!0},10)})}),Wn.value=O.value.parentNode,k.value.observe(Wn.value)),In()}let M=_(Or()),N=u(()=>P.value.grid),P=u(()=>M.value.style.chart.layout),Qn=u(()=>M.value.style.chart.dialog),F=u(()=>M.value.style.chart);xe({config:()=>M.value,dataset:()=>C.dataset,component:`VueUiDonutEvolution`,rules:[Se.emptyArray,{test:e=>e.length===1,message:[`👀 There is only a single series in your dataset. Consider:`,``,`▶️ Using VueUiXy instead, for a regular line chart.`]},{test:e=>e.length>6,message:[`👀 The number of series is > 6, which makes donuts hard to read. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]},{test:e=>e.some(e=>e.values.length>24),message:[`👀 Some series have a number of data points > 24, which can make the chart and donuts hard to read. Consider:`,``,`▶️ Using larger time scales, or aggregated values.`,``,`▶️ Filtering the time range by adding date intputs in your UI.`,``,`▶️ Using VueUiXy to show longer series in a more comfortable display.`]}]});let{transitionEnabled:$n}=Le({config:()=>M.value.transitions,dataset:()=>C.dataset}),I=u(()=>M.value.userOptions.useCursorPointer),er=u(()=>le({defaultConfig:{useCssAnimation:!1,table:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{dataLabels:{show:!1},grid:{stroke:`#6A6A6A`,axis:{yLabel:``,xLabel:``},yAxis:{scaleMin:null,scaleMax:null,autoScale:!1,dataLabels:{show:!1}},xAxis:{dataLabels:{show:!1}}},line:{stroke:`#CACACA60`}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},zoom:{show:!1,startIndex:null,endIndex:null}}}},userConfig:M.value.skeletonConfig??{}})),{loading:tr,FINAL_DATASET:nr,manualLoading:rr}=ye({...ut(C),FINAL_CONFIG:M,prepareConfig:Or,callback:()=>{Promise.resolve().then(async()=>{await br()})},skeletonDataset:C.config?.skeletonDataset??[{name:``,values:[1,2,3,5,8,13],color:`#AAAAAA`},{name:``,values:[1,2,3,5,8,13],color:`#BABABA`},{name:``,values:[1,2,3,5,8,13],color:`#CACACA`}],skeletonConfig:le({defaultConfig:M.value,userConfig:er.value})}),L=_({width:P.value.width,height:P.value.height}),ir=u(()=>Math.max(...nr.value.map(e=>e.values.length))),R=_({start:0,end:ir.value}),z=_(!1),ar=_(!1),B=_(null),V=_(null),H=_(null),or=_(!1),sr=_({time:0,x:0,y:0,pointerType:null}),cr=u(()=>M.value.style.chart.zoom?.dragToZoom),U=u(()=>cr.value.show&&qn.value&&ur.value&&Y.value>1&&!tr.value),lr=_(!1),ur=_(!1),dr=_(!1),fr=null,W={};function pr(e,t=R.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function mr(e){let t=pr(e);t&&j(`update:zoomState`,t)}function hr(){fr&&=(cancelAnimationFrame(fr),null),W={}}function gr(e,t=R.value.start){let n=Y.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function _r(){let e=Y.value;if(!Number.isFinite(e)||e<=0){R.value={start:0,end:0};return}let t=Math.max(0,Math.min(Number(R.value.start)||0,e-1)),n=Math.max(t+1,Math.min(Number(R.value.end)||e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),R.value={start:t,end:n},Vn.value&&Vn.value.setRangeValues(t,n)}function vr(e){let t=pr(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(R.value.start)||r!==Number(R.value.end))&&(hr(),R.value={start:n,end:r},_r(),In()),{start:Number(R.value.start),end:Number(R.value.end)}}function yr(e){let t=vr(e);return t?(mr(t),t):null}async function br(e=!0){if(!lr.value){lr.value=!0;try{await rt(),await rt();let{startIndex:t,endIndex:n}=F.value.zoom,r=Y.value;if(!Number.isFinite(r)||r<=0){R.value={start:0,end:0},ur.value=!0;return}let i=t==null?0:Number(t),a=n==null?r:gr(Number(n)+1,i);dr.value=!0,R.value={start:i,end:a},_r(),ur.value=!0,e&&C.zoomState&&vr(C.zoomState)}finally{queueMicrotask(()=>{dr.value=!1}),lr.value=!1,In()}}}async function xr({force:e=!1,publish:t=!1}={}){await br(!e),t&&(mr({start:Number(R.value.start),end:Number(R.value.end)}),j(`zoomReset`))}dt([()=>C.zoomState,ur],([e,t])=>{t&&e&&vr(e)},{deep:!0,immediate:!0});function Sr(e){W={...W,...e},fr&&cancelAnimationFrame(fr),fr=requestAnimationFrame(()=>{let e={...R.value,...W};W={},fr=null,R.value=e,_r(),In(),mr({start:Number(R.value.start),end:Number(R.value.end)})})}function Cr(e){if(lr.value||dr.value)return;let t=Number(e);Number.isFinite(t)&&(j(`zoomStart`,{index:t,isZoom:t!==0}),t!==R.value.start&&Sr({start:t}))}function wr(e){if(lr.value||dr.value)return;let t=W.start===void 0?R.value.start:W.start,n=gr(Number(e),t);Number.isFinite(n)&&(j(`zoomEnd`,{index:n,isZoom:n!==Y.value}),(n!==R.value.end||W.start!==void 0)&&Sr({end:n}))}let{userOptionsVisible:Tr,setUserOptionsVisibility:Er,keepUserOptionState:Dr}=Ke({config:M.value}),{svgRef:G}=qe({config:F.value.title});function Or(){let e=we({userConfig:C.config,defaultConfig:dn}),t={},n=e.theme;if(n){if(!fn.value(e))pn(e),t=e;else{let r=we({userConfig:Ye[n]||C.config,defaultConfig:e});t={...we({userConfig:C.config,defaultConfig:r}),customPalette:e.customPalette?e.customPalette:ue[n]||o}}}else t=e;return t}dt(()=>C.config,e=>{tr.value||(M.value=Or()),Tr.value=!M.value.userOptions.showOnChartHover,Zn(),yn.value+=1,bn.value+=1,xn.value+=1,Fr.value.showTable=M.value.table.show},{deep:!0}),dt(()=>C.dataset,e=>{Array.isArray(e)&&e.length>0&&(rr.value=!1),xr()},{deep:!0});let{isPrinting:kr,isImaging:Ar,generatePdf:jr,generateImage:Mr}=Ie({elementId:w.value,fileName:F.value.title.text||`vue-ui-donut-evolution`,options:M.value.userOptions.print}),Nr=u(()=>M.value.userOptions.show&&!F.value.title.text),Pr=u(()=>he(M.value.customPalette)),Fr=_({showTable:M.value.table.show});dt(M,()=>{Fr.value={showTable:M.value.table.show}},{immediate:!0});let Ir=u(()=>({top:P.value.padding.top,right:P.value.padding.right,bottom:P.value.padding.bottom,left:P.value.padding.left})),K=u(()=>N.value.yAxis.position===`right`),{metrics:Lr,ready:Rr,settling:zr,update:Br}=ze({svgRef:G,canMeasure:()=>(!M.value.responsive||Jn.value)&&(!N.value.xAxis.dataLabels.show||Wr.value),initialMetrics:{scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0},measure:e=>({scaleLabelsWidth:e(Sn.value).textWidth,yAxisLabelWidth:e(Tn.value).rotatedWidth,xAxisLabelHeight:e(wn.value).height,timeLabelsHeight:e(Cn.value).height})});function Vr(){let e=Lr.value.scaleLabelsWidth,t=Tn.value?Lr.value.yAxisLabelWidth+N.value.axis.yLabelOffsetX+N.value.axis.fontSize:0,n=e+t+5;return{left:K.value?0:n,right:K.value?n:0,scaleLabelsWidth:e,yAxisLabelWidth:t,crosshair:5}}ot(()=>{cancelAnimationFrame(Yn),Ln.stop(),clearTimeout(Gn.value),hr(),_i(),ri(),k.value&&(Wn.value&&k.value.unobserve(Wn.value),k.value.disconnect(),k.value=null,Wn.value=null)});let Hr=u(()=>Lr.value.xAxisLabelHeight+Lr.value.timeLabelsHeight+N.value.axis.fontSize+N.value.xAxis.dataLabels.offsetY),q=u(()=>{let e=Vr(),t=P.value.dataLabels.fontSize*3,n=L.value.width,r=L.value.height,i=Ir.value.left+e.left,a=n-Ir.value.right-e.right,o=n-i-Ir.value.right-e.right,ee=r-Ir.value.top-Ir.value.bottom-t-Hr.value,s=Ir.value.top+t;return{top:s,left:i,right:a,bottom:r-Ir.value.bottom-Hr.value,absoluteHeight:r,absoluteWidth:n,centerX:i+Math.max(10,o)/2,centerY:s+Math.max(10,ee)/2,width:Math.max(10,o),height:Math.max(10,ee),scaleLabelsWidth:e.scaleLabelsWidth,yAxisLabelWidth:e.yAxisLabelWidth,crosshair:e.crosshair}}),J=u(()=>(Xn.value&&nr.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:`name`,index:t}),[null,void 0].includes(e.values)&&ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:`values`,index:t})}),nr.value.map((e,t)=>({...e,values:te(e.values),color:ne(e.color)||Pr.value[t]||o[t]||o[t%o.length],length:(e.values||[]).length,uid:re()})))),Ur=u(()=>J.value.filter(e=>!T.value.includes(e.uid)).map(e=>({...e,values:e.values.filter((e,t)=>t>=R.value.start&&t<=R.value.end)}))),Y=u(()=>Math.max(...J.value.map(e=>e.length))),X=_([]),Wr=_(!1),Gr=0;ft(()=>{let e=++Gr;(async()=>{let t=await Fe({values:N.value.xAxis.dataLabels.values,maxDatapoints:Y.value,formatter:N.value.xAxis.dataLabels.datetimeFormatter,start:R.value.start,end:R.value.end});e===Gr&&(X.value=t,Wr.value=!0)})()});let Z=u(()=>q.value.width/(R.value.end-R.value.start)),Kr=u(()=>{let e=[];for(let t=0;t<R.value.end-R.value.start;t+=1){let n=Ur.value.map(e=>e.values[t]??null),r=n.filter(e=>[void 0,null].includes(e)).length===n.length,i=n.reduce((e,t)=>e+t,0),a=n.map(e=>e/i),o=q.value.left+Z.value*t+Z.value/2;e.push({index:t,percentages:a,subtotal:r||i<0?null:i,values:n,x:o})}return e}),qr=u(()=>{let e=Math.max(...Kr.value.map(e=>e.subtotal).filter(e=>i(e)))??1,t=Math.min(...Kr.value.map(e=>e.subtotal).filter(e=>i(e)))??0,n=Math.max(N.value.yAxis.scaleMax??0,e),r;return r=N.value.yAxis.scaleMin==null?0:Math.min(t,N.value.yAxis.scaleMin),N.value.yAxis.autoScale&&(r=t,n=e),r===n&&(r=n/2,n*=1.5),{max:n,min:r}}),Q=u(()=>{let e=Kr.value.length===1?qr.value.max*2:qr.value.max;return ie(qr.value.min,e,N.value.yAxis.dataLabels.steps)});dt(()=>Q.value.ticks.join(`|`),()=>{In()},{flush:`post`});function Jr(e){return(e-Q.value.min)/(Q.value.max-Q.value.min)}let Yr=u(()=>Q.value.ticks.map(e=>({y:q.value.bottom-q.value.height*Jr(e),value:e}))),$=u(()=>{let e=Kr.value,t=Math.max(...e.map(e=>e.subtotal));return e.length===1&&t*2,e.map((t,n)=>{let r=Math.min(q.value.width/24,Z.value/2*.7),i=r>q.value.width/16?q.value.width/16:r,a=E.value===t.index?q.value.width/16:i,o=e.length>4?r*2:r*2>Z.value/2*.7?Z.value/2*.7:r*2,s=q.value.bottom-q.value.height*Jr(t.subtotal),c=Ur.value.map(e=>({color:e.color,name:e.name,value:e.values[n]??0})).toSorted((e,t)=>t.value-e.value);return{...t,y:s,radius:i,activeRadius:a,hoverRadius:o,donut:ee({series:c},t.x,s,i,i,1.99999,2,1,360,105.25,i/2),donutHover:ee({series:c},t.x,s,o,o,1.99999,2,1,360,105.25,o/2),donutFocus:ee({series:c},q.value.centerX,q.value.centerY,q.value.height/3.6,q.value.height/3.6,1.99999,2,1,360,105.25,q.value.height/6)}})});function Xr(e,t,r){return ce(P.value.dataLabels.formatter,e,n({p:P.value.dataLabels.prefix,v:e,s:P.value.dataLabels.suffix,r:P.value.dataLabels.rounding}),{datapoint:t,index:r})}function Zr(e,t){return isNaN(e.value/r(t,`value`))?0:(e.value/r(t,`value`)*100).toFixed(0)+`%`}function Qr(e){let t=G.value;if(!t)return null;if(t.createSVGPoint&&t.getScreenCTM){let n=t.createSVGPoint();n.x=e.clientX,n.y=e.clientY;let r=t.getScreenCTM();if(r){let e=n.matrixTransform(r.inverse());return{x:e.x,y:e.y}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},i=Math.min(n.width/r.width,n.height/r.height);if(!Number.isFinite(i)||i<=0)return null;let a=r.width*i,o=r.height*i,ee=(n.width-a)/2,s=(n.height-o)/2;return{x:(e.clientX-n.left-ee)/i+r.x,y:(e.clientY-n.top-s)/i+r.y}}let $r=u(()=>!z.value||B.value==null||V.value==null?null:{x:Math.min(B.value,V.value),y:q.value.top,width:Math.abs(V.value-B.value),height:q.value.height}),ei=u(()=>ur.value?Number(R.value.start)!==0||Number(R.value.end)!==Number(Y.value):!1);function ti(e){return Math.min(Math.max(e,q.value.left),q.value.right)}function ni(){E.value=null,mn.value=null,A.value=null}function ri(e){let t=e?.pointerId==null?H.value:e.pointerId;t!=null&&G.value?.hasPointerCapture?.(t)&&G.value.releasePointerCapture(t),z.value=!1,B.value=null,V.value=null,H.value=null}function ii(){or.value=!0,setTimeout(()=>{or.value=!1},0)}function ai(e){or.value&&(or.value=!1,e.preventDefault(),e.stopPropagation())}function oi(e){if(!U.value||!ei.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=sr.value,i=n===`touch`?450:350,a=n===`touch`?28:10,o=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=i&&o<=a?(sr.value={time:0,x:0,y:0,pointerType:null},ii(),_i(),ri(e),Bi(),xr({force:!0,publish:!0}),!0):(sr.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function si(e){let t=Number(R.value.end)-Number(R.value.start);if(t<=0||!Number.isFinite(Z.value)||Z.value<=0)return null;let n=Math.floor((ti(e)-q.value.left)/Z.value);return Math.max(0,Math.min(t-1,n))}function ci(e,t){let n=si(e),r=si(t);if(n==null||r==null)return null;let i=Math.min(n,r),a=Math.max(n,r);return a<=i?null:{start:Number(R.value.start)+i,end:Number(R.value.start)+a+1}}function li(e){let t=yr(e);return t?(j(`zoomStart`,{index:t.start,isZoom:t.start!==0}),j(`zoomEnd`,{index:t.end,isZoom:t.end!==Y.value}),t):null}function ui(e){if(!U.value||Pi.value||e.button!==void 0&&e.button!==0||H.value!=null&&e.pointerId!==H.value)return;let t=Qr(e);if(!t||t.x<q.value.left||t.x>q.value.right||t.y<q.value.top||t.y>q.value.bottom||Number(R.value.end)-Number(R.value.start)<=1)return;ar.value=!0,G.value?.focus?.({preventScroll:!0}),_i(),ni();let n=ti(t.x);H.value=e.pointerId,z.value=!0,B.value=n,V.value=n}function di(e){if(!U.value||!z.value||H.value!=null&&e.pointerId!==H.value)return;let t=Qr(e);t&&(V.value=ti(t.x),ni(),B.value!=null&&Math.abs(V.value-B.value)>=2&&!G.value?.hasPointerCapture?.(e.pointerId)&&G.value?.setPointerCapture?.(e.pointerId))}function fi(e){if(!U.value||!z.value||H.value!=null&&e.pointerId!==H.value)return;let t=Qr(e);t&&(V.value=ti(t.x));let n=B.value,r=V.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,q.value.width*.01)){if(oi(e))return;ri(e);return}let i=ci(Math.min(n,r),Math.max(n,r));i?(ri(e),li(i)&&(sr.value={time:0,x:0,y:0,pointerType:null},ni(),ii())):ri(e)}function pi(e){z.value||(E.value=null,mn.value=null,A.value=null,M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex+R.value.start}))}function mi(e){z.value||(M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:e,seriesIndex:e.index+R.value.start}),E.value=e.index,mn.value=e,A.value=e.index)}let hi=_(null),gi=null;function _i(){gi&&=(clearTimeout(gi),null)}function vi(e,t){M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:e,seriesIndex:e.index+R.value.start}),e.subtotal&&Qn.value.show&&(mn.value=null,E.value=null,hn.value=!0,D.value=e,Vi(e),[null,void 0].includes(t)||(hi.value=t))}function yi(e,t){if(_i(),!U.value||!ei.value){vi(e,t);return}let n=sr.value.pointerType===`touch`?480:380;gi=setTimeout(()=>{gi=null,vi(e,t)},n)}let bi=u(()=>J.value.map((e,t)=>({name:e.name,value:e.values.slice(R.value.start,R.value.end).reduce((e,t)=>e+t,0),shape:`circle`,uid:e.uid,color:e.color})).sort((e,t)=>t.value-e.value).map((e,t)=>({...e,opacity:T.value.includes(e.uid)?.5:1,segregate:()=>wi(e.uid),isSegregated:T.value.includes(e.uid),display:`${e.name}${F.value.legend.showPercentage||F.value.legend.showValue?`: `:``}${F.value.legend.showValue?ce(P.value.dataLabels.formatter,e.value,n({p:P.value.dataLabels.prefix,v:e.value,s:P.value.dataLabels.suffix,r:F.value.legend.roundingValue}),{datapoint:e,seriesIndex:t}):``}${F.value.legend.showPercentage?T.value.includes(e.uid)?`${F.value.legend.showValue?` (`:``}- %${F.value.legend.showValue?`)`:``}`:`${F.value.legend.showValue?` (`:``}${isNaN(e.value/xi.value)?`-`:n({v:e.value/xi.value*100,s:`%`,r:F.value.legend.roundingPercentage})}${F.value.legend.showValue?`)`:``}`:``}`}))),xi=u(()=>$.value.map(e=>e.subtotal).reduce((e,t)=>e+t,0)),Si=u(()=>({cy:`donut-div-legend`,backgroundColor:F.value.legend.backgroundColor,color:F.value.legend.color,fontSize:F.value.legend.fontSize,paddingBottom:12,fontWeight:F.value.legend.bold?`bold`:``}));function Ci(){T.value.length?T.value=[]:bi.value.forEach(e=>{T.value.push(e.uid)}),j(`selectLegend`,Ur.value)}function wi(e){if(T.value.includes(e))T.value=T.value.filter(t=>t!==e),j(`selectLegend`,Ur.value);else{if(T.value.length===J.value.length-1)return;T.value.push(e),j(`selectLegend`,Ur.value)}D.value&&vi($.value.find((e,t)=>t===hi.value))}function Ti(e){return J.value.length?J.value.find(t=>t.name===e)||(Xn.value&&console.warn(`VueUiDonutEvolution - Series name not found "${e}"`),null):(Xn.value&&console.warn(`VueUiDonutEvolution - There are no series to show.`),null)}function Ei(e){let t=Ti(e);t!==null&&T.value.includes(t.uid)&&wi(t.uid)}function Di(e){let t=Ti(e);t!==null&&(T.value.includes(t.uid)||wi(t.uid))}let Oi=u(()=>{let e=[``].concat(J.value.filter(e=>!T.value.includes(e.uid)).map(e=>({name:e.name,color:e.color})),[`Σ`]),t=[];for(let e=0;e<Y.value;e+=1){let n=J.value.filter(e=>!T.value.includes(e.uid)).map(t=>t.values[e]??0).reduce((e,t)=>e+t,0);t.push([X.value[e]?X.value[e].text:`-`].concat(J.value.filter(e=>!T.value.includes(e.uid)).map(t=>({value:t.values[e]??0,percentage:t.values[e]?t.values[e]/n*100:0})),[`${P.value.dataLabels.prefix}${Number(n.toFixed(M.value.table.td.roundingValue))}${P.value.dataLabels.suffix}`]))}return{head:e,body:t,bodyA11y:t.map(e=>e.map((t,n)=>n===0||n===e.length-1?t:`${Xr(t.value??0,null,n)} (${t.percentage.toFixed(1)}%)`)),config:{th:{backgroundColor:M.value.table.th.backgroundColor,color:M.value.table.th.color,outline:M.value.table.th.outline},td:{backgroundColor:M.value.table.td.backgroundColor,color:M.value.table.td.color,outline:M.value.table.td.outline},breakpoint:M.value.table.responsiveBreakpoint},colNames:[M.value.table.columnNames.period].concat(J.value.filter(e=>!T.value.includes(e.uid)).map(e=>e.name),M.value.table.columnNames.total)}});function ki(){return J.value}function Ai(e=null){rt(()=>{let t=[[F.value.title.text],[F.value.title.subtitle.text],[``]],n=[...Oi.value.head.map(e=>e.name??e)],r=[...Oi.value.body.map(e=>e.map(e=>e.value??e))],i=t.concat([n]).concat(r),o=a(i);e?e(o):de({csvContent:o,title:F.value.title.text||`vue-ui-donut-evolution`})})}let ji=_(!1);function Mi(e){ji.value=e,_n.value+=1}function Ni(){Fr.value.showTable=!Fr.value.showTable}let Pi=_(!1);function Fi(){Pi.value=!Pi.value}function Ii(e){return e.proportion*100>F.value.donuts.hover.hideLabelsUnderValue}let Li=_([]),Ri=_({}),zi=_(null);function Bi(){zi.value?.close?.(),D.value=null,hi.value=null,hn.value=!1,mn.value=null,E.value=null,A.value=null}function Vi(e){Li.value=e.donut.map(e=>({name:e.name,values:[e.value],color:e.color})),Ri.value=me({...Qn.value.donutChart,responsive:!0,theme:M.value.theme}),zi.value&&zi.value.open()}let Hi=Ee(O,()=>F.value.title.text),Ui=u(()=>L.value.width),Wi=u(()=>L.value.height);Be({timeLabelsEls:Cn,timeLabels:X,slicer:R,configRef:M,rotationPath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:Ui,height:Wi,rotation:N.value.xAxis.dataLabels.autoRotate.angle});let Gi=u(()=>Ae({config:M,style:F,mutableConfig:Fr,dialog:un,accordion:nn,isFullscreen:ji,parent:O,maxWidth:800,isCursorPointer:I}));dt(()=>Fr.value.showTable,e=>ke(e,M,Dn));function Ki(){Fr.value.showTable=!1,On.value&&On.value.setTableIconState(!1)}let qi=u(()=>bi.value.map(e=>({...e,name:e.display}))),Ji=u(()=>F.value.backgroundColor),Yi=u(()=>F.value.legend),Xi=u(()=>F.value.title),{isCallbackImaging:Zi,isCallbackSvg:Qi,generateSvg:$i,onGenerateImage:ea}=Oe({svg:G,title:Xi,legend:Yi,legendItems:qi,backgroundColor:Ji,getSvgCallback:()=>M.value.userOptions.callbacks.svg,generateImage:Mr});async function ta(){j(`copyAlt`,{config:M.value,dataset:$.value}),M.value.userOptions.callbacks.altCopy?await Promise.resolve(M.value.userOptions.callbacks.altCopy({config:M.value,dataset:$.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function na(){A.value=null,Kn.value=!0}function ra(){ar.value=!1,A.value=null,E.value=null,mn.value=null,Kn.value=!1}function ia(e){if(!G.value||Pi.value||document.activeElement!==G.value||(ar.value=!1,!$.value.length))return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){if(U.value&&(ei.value||z.value)){_i(),ri(),Bi(),xr({force:!0,publish:!0});return}A.value=null,E.value=null,mn.value=null;return}if(r){if(A.value===null)return;let e=$.value[A.value];if(!e)return;vi(e,A.value);return}let a=A.value,o=E.value,ee=a!==null&&a>=0&&a<$.value.length,s=o!==null&&o>=0&&o<$.value.length;ee?n?(a+=1,a>=$.value.length&&(a=0)):t&&(--a,a<0&&(a=$.value.length-1)):s?(a=n?o+1:o-1,a>=$.value.length&&(a=0),a<0&&(a=$.value.length-1)):a=n?0:$.value.length-1;let c=$.value[a];c&&mi(c)}let aa=u(()=>({headers:Oi.value?.colNames??[],rows:Oi.value?.bodyA11y??[]}));return Ce({getData:ki,getImage:Hi,generatePdf:jr,generateCsv:Ai,generateImage:Mr,generateSvg:$i,hideSeries:Di,showSeries:Ei,toggleTable:Ni,toggleAnnotator:Fi,toggleFullscreen:Mi,copyAlt:ta,resetZoom:()=>xr({force:!0,publish:!0}),setZoomState:yr}),dt(()=>[L.value.width,L.value.height,An.value,X.value,Wr.value,R.value.start,R.value.end,N.value,P.value,M.value.style.fontFamily,C.dataset,Jn.value,Sn.value,Cn.value,wn.value,Tn.value],Br,{flush:`post`,deep:!0}),(e,t)=>(g(),p(`div`,{ref_key:`donutEvolutionChart`,ref:O,class:h(`vue-data-ui-component vue-ui-donut-evolution ${ji.value?`vue-data-ui-wrapper-fullscreen`:``} ${M.value.useCssAnimation?``:`vue-ui-dna`}`),style:at(`font-family:${M.value.style.fontFamily};width:100%; text-align:center;background:${F.value.backgroundColor}`),id:w.value,onMouseenter:t[4]||=()=>x(Er)(!0),onMouseleave:t[5]||=()=>x(Er)(!1)},[m(`div`,{id:`chart-instructions-${w.value}`,class:`sr-only`},[m(`p`,null,b(M.value.a11y.translations.keyboardNavigation),1)],8,ht),aa.value?.rows?.length?(g(),d(Ge,{key:0,uid:w.value,head:aa.value.headers,body:aa.value.rows,notice:M.value.a11y.translations.tableAvailable,caption:M.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),M.value.userOptions.buttons.annotator?(g(),d(x(sn),{key:1,svgRef:x(G),backgroundColor:F.value.backgroundColor,color:F.value.color,active:Pi.value,isCursorPointer:I.value,palette:M.value.userOptions.annotatorPalette,onClose:Fi},Ze({_:2},[v(x(Me),t=>({name:t,fn:S(n=>[y(e.$slots,t,it(tt(x(je)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),Nr.value?(g(),p(`div`,{key:2,ref_key:`noTitle`,ref:gn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),F.value.title.text?(g(),p(`div`,{key:3,ref_key:`chartTitle`,ref:Rn,style:`width:100%;background:transparent;padding-bottom:24px`,onMouseleave:pi},[(g(),d(De,{key:`title_${yn.value}`,config:{title:{cy:`donut-evolution-div-title`,...F.value.title},subtitle:{cy:`donut-evolution-div-subtitle`,...F.value.title.subtitle}}},null,8,[`config`]))],544)):f(``,!0),m(`div`,{id:`legend-top-${w.value}`},null,8,gt),M.value.userOptions.show&&qn.value&&(x(Dr)||x(Tr))?(g(),d(x(cn),{ref_key:`userOptionsRef`,ref:On,key:`user_options_${_n.value}`,backgroundColor:F.value.backgroundColor,color:F.value.color,isPrinting:x(kr),isImaging:x(Ar),uid:w.value,hasPdf:M.value.userOptions.buttons.pdf,hasImg:M.value.userOptions.buttons.img,hasSvg:M.value.userOptions.buttons.svg,hasXls:M.value.userOptions.buttons.csv,hasTable:M.value.userOptions.buttons.table,hasFullscreen:M.value.userOptions.buttons.fullscreen,hasAltCopy:M.value.userOptions.buttons.altCopy,isFullscreen:ji.value,titles:{...M.value.userOptions.buttonTitles},chartElement:O.value,position:M.value.userOptions.position,hasAnnotator:M.value.userOptions.buttons.annotator,isAnnotation:Pi.value,callbacks:M.value.userOptions.callbacks,printScale:M.value.userOptions.print.scale,tableDialog:M.value.table.useDialog,isCursorPointer:I.value,onToggleFullscreen:Mi,onGeneratePdf:x(jr),onGenerateCsv:Ai,onGenerateImage:x(ea),onGenerateSvg:x($i),onToggleTable:Ni,onToggleAnnotator:Fi,onCopyAlt:ta,style:at({visibility:x(Dr)?x(Tr)?`visible`:`hidden`:`visible`})},Ze({_:2},[v(x(Ne)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:S(n=>[y(e.$slots,t,it(tt(x(Pe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,_t,[(g(),p(`svg`,{ref_key:`svgRef`,ref:G,xmlns:x(pe),"aria-describedby":`chart-instructions-${w.value}`,class:h({"vue-data-ui-fullscreen--on":ji.value,"vue-data-ui-fulscreen--off":!ji.value,"vue-data-ui-no-transition":!x($n)||x(zr),"vue-ui-donut-evolution-chart-zoom-pointer-focus":U.value&&ar.value}),viewBox:`0 0 ${q.value.absoluteWidth} ${q.value.absoluteHeight}`,style:at({maxWidth:`100%`,visibility:x(Rr)?`visible`:`hidden`,overflow:`visible`,background:`transparent`,color:F.value.color,cursor:U.value?z.value?`col-resize`:`crosshair`:void 0,touchAction:U.value?`pan-y`:void 0,userSelect:U.value?`none`:void 0}),tabindex:`0`,onFocus:na,onBlur:ra,onKeydown:ia,onPointerdown:ui,onPointermove:di,onPointerup:fi,onPointercancel:ri,onClickCapture:ai},[$e(x(on)),y(e.$slots,`svg-underlayer`,{svg:{...q.value,isPrintingImg:x(kr)||x(Ar)||x(Zi),isPrintingSvg:x(Qi)}},void 0,!0),e.$slots[`chart-background`]?(g(),p(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:q.value.width,height:q.value.height,style:{pointerEvents:`none`}},[y(e.$slots,`chart-background`,{},void 0,!0)],8,yt)):f(``,!0),m(`defs`,null,[$e(He,{t:`linear`,id:`hover_${w.value}`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,stops:[[`0%`,x(c)(F.value.backgroundColor,P.value.highlighter.opacity),1],[`100%`,x(c)(P.value.highlighter.color,P.value.highlighter.opacity),1]]},null,8,[`id`,`stops`]),$e(He,{t:`radial`,id:`focus_${w.value}`,stops:[[`0%`,x(c)(x(ne)(F.value.backgroundColor),0),1],[`77%`,x(c)(`#FFFFFF`,30),1],[`100%`,x(c)(x(ne)(F.value.backgroundColor),0),1]]},null,8,[`id`,`stops`])]),N.value.show?(g(),p(`g`,bt,[m(`line`,{x1:K.value?q.value.right:q.value.left,x2:K.value?q.value.right:q.value.left,y1:q.value.top,y2:q.value.top+q.value.height,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,8,xt),m(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,8,St),N.value.showVerticalLines?(g(),p(`g`,Ct,[(g(!0),p(l,null,v(R.value.end-R.value.start,(e,t)=>(g(),p(`line`,{x1:q.value.left+(t+1)*Z.value,x2:q.value.left+(t+1)*Z.value,y1:q.value.top,y2:q.value.bottom,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,8,wt))),256))])):f(``,!0)])):f(``,!0),m(`g`,null,[N.value.axis.yLabel?(g(),p(`text`,{key:0,ref_key:`yAxisLabel`,ref:Tn,"font-size":N.value.axis.fontSize,fill:N.value.axis.color,transform:`translate(${K.value?q.value.absoluteWidth-N.value.axis.fontSize/2-N.value.axis.yLabelOffsetX:N.value.axis.fontSize}, ${q.value.top+q.value.height/2}) rotate(-90)`,"text-anchor":`middle`,style:{transition:`none`}},b(N.value.axis.yLabel),9,Tt)):f(``,!0),N.value.axis.xLabel?(g(),p(`text`,{key:1,ref_key:`xAxisLabel`,ref:wn,"text-anchor":`middle`,x:q.value.absoluteWidth/2,y:q.value.absoluteHeight-3,"font-size":N.value.axis.fontSize,fill:N.value.axis.color},b(N.value.axis.xLabel),9,Et)):f(``,!0)]),N.value.yAxis.dataLabels.show?(g(),p(`g`,{key:2,ref_key:`scaleLabels`,ref:Sn,class:h({"donut-opacity":!0,"donut-behind":E.value!==null})},[(g(!0),p(l,null,v(Yr.value,(e,t)=>(g(),p(`g`,{key:`sl_${t}`},[e.value>=Q.value.min&&e.value<=Q.value.max?(g(),p(`path`,{key:0,class:h({"vue-data-ui-transition":x($n)&&!x(zr)}),d:`M${K.value?q.value.right:q.value.left},${e.y} ${K.value?q.value.right+5:q.value.left-5},${e.y}`,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linecap":`round`},null,10,Dt)):f(``,!0),e.value>=Q.value.min&&e.value<=Q.value.max?(g(),p(`text`,{key:1,class:h({"vue-data-ui-transition":x($n)&&!x(zr)}),transform:`translate(${K.value?q.value.right-N.value.yAxis.dataLabels.offsetX+7:q.value.left+N.value.yAxis.dataLabels.offsetX-7}, ${e.y+N.value.yAxis.dataLabels.fontSize/3})`,"font-size":N.value.yAxis.dataLabels.fontSize,"text-anchor":K.value?`start`:`end`,fill:N.value.yAxis.dataLabels.color,"font-weight":N.value.yAxis.dataLabels.bold?`bold`:`normal`},b(x(ge)(e.value)?x(ce)(P.value.dataLabels.formatter,e.value,x(n)({p:P.value.dataLabels.prefix,v:e.value,s:P.value.dataLabels.suffix,r:P.value.grid.yAxis.dataLabels.roundingValue}),{datapoint:e,seriesIndex:t}):``),11,Ot)):f(``,!0)]))),128))],2)):f(``,!0),N.value.xAxis.dataLabels.show?(g(),p(`g`,{key:3,ref_key:`timeLabelsEls`,ref:Cn,class:h({"donut-opacity":!0})},[(g(!0),p(l,null,v(R.value.end-R.value.start,(e,t)=>(g(),p(`g`,null,[(N.value.xAxis.dataLabels.showOnlyFirstAndLast&&(t===0||t===Y.value-1)||!N.value.xAxis.dataLabels.showOnlyFirstAndLast)&&X.value[t]&&X.value[t].text?(g(),p(`g`,kt,[String(X.value[t].text).includes(`
|
|
2
|
+
`)?(g(),p(`text`,{key:1,class:`vue-data-ui-time-label`,"text-anchor":N.value.xAxis.dataLabels.rotation>0?`start`:N.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":N.value.xAxis.dataLabels.fontSize,fill:N.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+N.value.xAxis.dataLabels.fontSize+N.value.xAxis.dataLabels.offsetY}), rotate(${N.value.xAxis.dataLabels.rotation})`,innerHTML:x(s)({content:String(X.value[t].text),fontSize:N.value.xAxis.dataLabels.fontSize,fill:P.value.grid.xAxis.dataLabels.color,x:0,y:0})},null,8,jt)):(g(),p(`text`,{key:0,class:`vue-data-ui-time-label`,"text-anchor":N.value.xAxis.dataLabels.rotation>0?`start`:N.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":N.value.xAxis.dataLabels.fontSize,fill:N.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+N.value.xAxis.dataLabels.fontSize+N.value.xAxis.dataLabels.offsetY}), rotate(${N.value.xAxis.dataLabels.rotation})`},b(X.value[t].text||``),9,At))])):f(``,!0)]))),256))],512)):f(``,!0),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,null,[P.value.line.show&&t<$.value.length-1&&![e.subtotal,$.value[t+1].subtotal].includes(null)?(g(),p(`line`,{key:0,class:h({"donut-opacity":!0,"donut-behind":E.value!==null}),x1:e.x,y1:e.y,x2:$.value[t+1].x,y2:$.value[t+1].y,stroke:P.value.line.stroke,"stroke-width":P.value.line.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,10,Mt)):f(``,!0),e.subtotal===null?f(``,!0):(g(),p(`g`,Nt,[e.subtotal?(g(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:e.activeRadius,fill:F.value.backgroundColor},null,8,Pt)):f(``,!0)]))]))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,{class:h({"donut-opacity":!0,"donut-behind":t!==E.value&&E.value!==null})},[e.subtotal?(g(),p(`g`,Ft,[E.value!==null&&E.value===t?(g(),p(`g`,It,[(g(!0),p(l,null,v(e.donutHover,t=>(g(),p(`g`,null,[Ii(t)?(g(),p(`path`,{key:0,d:x(se)(t,{x:t.center.endX,y:t.center.endY},12,12,{x:e.x,y:e.y},!1,20),stroke:t.color,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`},null,8,Lt)):f(``,!0)]))),256)),(g(!0),p(l,null,v(e.donutHover,(t,n)=>(g(),p(`g`,null,[Ii(t)?(g(),p(`text`,{key:0,"data-cy-hover-label":``,"text-anchor":x(oe)(t,!0,0).anchor,x:x(oe)(t,!0,9).x,y:x(fe)(t,14,10),fill:N.value.yAxis.dataLabels.color,"font-size":8,"font-weight":`bold`},b(t.name)+`: `+b(Zr(t,e.donut))+` (`+b(t.value===null?`-`:Xr(t.value,t,n))+`) `,9,Rt)):f(``,!0)]))),256)),m(`g`,null,[m(`circle`,{cx:e.x,cy:e.y,r:e.hoverRadius,fill:F.value.backgroundColor},null,8,zt)])])):f(``,!0)])):f(``,!0)],2))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,{class:h({"donut-opacity":!0,"donut-behind":t!==E.value&&E.value!==null})},[e.subtotal===null?f(``,!0):(g(),p(`g`,Bt,[e.subtotal===0?(g(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:3,fill:F.value.color},null,8,Vt)):E.value!==null&&E.value===t?(g(),p(`g`,Ht,[(g(!0),p(l,null,v(e.donutHover,(e,t)=>(g(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":1,stroke:F.value.backgroundColor},null,8,Ut))),256))])):(g(),p(`g`,Wt,[(g(!0),p(l,null,v(e.donut,(e,t)=>(g(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":.5,stroke:F.value.backgroundColor},null,8,Gt))),256))]))]))],2))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`g`,{class:h({"donut-opacity":!0,"donut-behind":t!==E.value&&E.value!==null||hn.value&&t!==D.value.index})},[e.subtotal!==null&&P.value.dataLabels.show?(g(),p(`text`,{key:0,"text-anchor":`middle`,x:e.x,y:E.value===e.index&&e.subtotal?e.y+P.value.dataLabels.fontSize/3:e.y-e.radius-P.value.dataLabels.fontSize+P.value.dataLabels.offsetY,"font-size":P.value.dataLabels.fontSize,"font-weight":`bold`,fill:P.value.dataLabels.color},b(Xr(e.subtotal,e,t)),9,Kt)):f(``,!0)],2))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`rect`,{x:q.value.left+t*Z.value,y:q.value.top,width:Z.value,height:q.value.height,fill:[E.value,hi.value].includes(e.index)?`url(#hover_${w.value})`:`transparent`,class:h({"donut-hover":I.value&&e.subtotal&&[E.value,hi.value].includes(e.index)}),style:{pointerEvents:`none`}},null,10,qt))),256)),(g(!0),p(l,null,v($.value,(e,t)=>(g(),p(`rect`,{"data-cy-trap":``,x:q.value.left+t*Z.value,y:q.value.top,width:Z.value,height:q.value.height,fill:`transparent`,onMouseenter:t=>mi(e),onMouseleave:t=>pi(e),onClick:n=>yi(e,t),style:at({cursor:U.value?z.value?`col-resize`:`crosshair`:void 0}),class:h({"donut-hover":I.value&&E.value===e.index&&e.subtotal})},null,46,Jt))),256)),$r.value?(g(),p(`rect`,{key:4,x:$r.value.x,y:$r.value.y,width:$r.value.width,height:$r.value.height,fill:cr.value.selection.fill,"fill-opacity":cr.value.selection.fillOpacity,stroke:cr.value.selection.stroke,"stroke-opacity":cr.value.selection.strokeOpacity,"stroke-width":cr.value.selection.strokeWidth,"stroke-dasharray":cr.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,Yt)):f(``,!0),y(e.$slots,`svg`,{svg:{...q.value,isPrintingImg:x(kr)||x(Ar)||x(Zi),isPrintingSvg:x(Qi)}},void 0,!0)],46,vt)),e.$slots.hint?(g(),p(`div`,Xt,[y(e.$slots,`hint`,it(tt({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Kn.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(g(),p(`div`,Zt,[y(e.$slots,`watermark`,it(tt({isPrinting:x(kr)||x(Ar)||x(Zi)||x(Qi)})),void 0,!0)])):f(``,!0),m(`div`,{ref_key:`chartSlicer`,ref:Hn,style:at(`width:100%;background:${F.value.backgroundColor}`),"data-dom-to-png-ignore":``},[Y.value>1&&F.value.zoom.show?(g(),d(Ue,{ref_key:`slicerComponent`,ref:Vn,key:`slicer_${vn.value}`,background:F.value.zoom.color,borderColor:F.value.backgroundColor,fontSize:F.value.zoom.fontSize,useResetSlot:F.value.zoom.useResetSlot,timeLabels:X.value,textColor:F.value.color,inputColor:F.value.zoom.color,selectColor:F.value.zoom.highlightColor,max:Y.value,min:0,valueStart:R.value.start,valueEnd:R.value.end,refreshStartPoint:F.value.zoom.startIndex===null?0:F.value.zoom.startIndex,refreshEndPoint:F.value.zoom.endIndex===null?Y.value:F.value.zoom.endIndex+1,enableRangeHandles:F.value.zoom.enableRangeHandles,enableSelectionDrag:F.value.zoom.enableSelectionDrag,focusOnDrag:F.value.zoom.focusOnDrag,focusRangeRatio:F.value.zoom.focusRangeRatio,isCursorPointer:I.value,maxWidth:F.value.zoom.maxWidth,minimapLeftInsetRatio:q.value.absoluteWidth>0&&F.value.zoom.autoFit?q.value.left/q.value.absoluteWidth:null,minimapRightInsetRatio:q.value.absoluteWidth>0&&F.value.zoom.autoFit?(q.value.absoluteWidth-q.value.right)/q.value.absoluteWidth:null,"onUpdate:start":Cr,"onUpdate:end":wr,onReset:t[0]||=()=>xr({force:!0,publish:!0})},{"reset-action":S(({reset:t})=>[y(e.$slots,`reset-action`,it(tt({reset:t})),void 0,!0)]),_:3},8,[`background`,`borderColor`,`fontSize`,`useResetSlot`,`timeLabels`,`textColor`,`inputColor`,`selectColor`,`max`,`valueStart`,`valueEnd`,`refreshStartPoint`,`refreshEndPoint`,`enableRangeHandles`,`enableSelectionDrag`,`focusOnDrag`,`focusRangeRatio`,`isCursorPointer`,`maxWidth`,`minimapLeftInsetRatio`,`minimapRightInsetRatio`])):f(``,!0)],4),m(`div`,{id:`legend-bottom-${w.value}`},null,8,Qt),En.value&&(F.value.legend.show||e.$slots.legend)?(g(),d(Xe,{key:6,to:F.value.legend.position===`top`?`#legend-top-${w.value}`:`#legend-bottom-${w.value}`},[m(`div`,{ref_key:`chartLegend`,ref:zn},[y(e.$slots,`legend`,{legend:bi.value},()=>[F.value.legend.show?(g(),d(Je,{key:`legend_${xn.value}`,legendSet:bi.value,config:Si.value,onClickMarker:t[1]||=({legend:e})=>wi(e.uid)},{item:S(({legend:e,index:t})=>[m(`div`,{onClick:t=>wi(e.uid),style:at(`opacity:${T.value.includes(e.uid)?.5:1}`)},b(e.display),13,$t)]),legendToggle:S(()=>[bi.value.length>2&&F.value.legend.selectAllToggle.show&&!x(tr)?(g(),d(We,{key:0,backgroundColor:F.value.legend.selectAllToggle.backgroundColor,color:F.value.legend.selectAllToggle.color,fontSize:F.value.legend.fontSize,checked:T.value.length>0,onToggle:Ci},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`])):f(``,!0)]),_:1},8,[`legendSet`,`config`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(g(),p(`div`,{key:7,ref_key:`source`,ref:Bn,dir:`auto`},[y(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),qn.value&&M.value.userOptions.buttons.table?(g(),d(ct(Gi.value.component),nt({key:8},Gi.value.props,{ref_key:`tableUnit`,ref:Dn,onClose:Ki}),Ze({content:S(()=>[(g(),d(x(an),{key:`table_${bn.value}`,colNames:Oi.value.colNames,head:Oi.value.head,body:Oi.value.body,config:Oi.value.config,title:M.value.table.useDialog?``:Gi.value.title,withCloseButton:!M.value.table.useDialog,isCursorPointer:I.value,onClose:Ki},{th:S(({th:e})=>[Qe(b(e.name??e),1)]),td:S(({td:e})=>[e.value===null?(g(),p(`span`,en,`-`)):(g(),p(`b`,tn,b(isNaN(e.value)?``:P.value.dataLabels.prefix)+b(!isNaN(e.value)&&e.value!==null?Number(e.value.toFixed(M.value.table.td.roundingValue)).toLocaleString():e)+b(isNaN(e.value)?``:P.value.dataLabels.suffix),1)),m(`span`,null,b(e.percentage&&!isNaN(e.percentage)?`(${Number(e.percentage.toFixed(M.value.table.td.roundingPercentage)).toLocaleString()}%)`:``),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[M.value.table.useDialog?{name:`title`,fn:S(()=>[Qe(b(Gi.value.title),1)]),key:`0`}:void 0,M.value.table.useDialog?{name:`actions`,fn:S(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[2]||=e=>Ai(M.value.userOptions.callbacks.csv),style:at({cursor:I.value?`cursor`:`default`})},[$e(x(rn),{name:`fileCsv`,stroke:Gi.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),Qn.value.show?(g(),d(x(un),{key:9,ref_key:`dialog`,ref:zi,onClose:t[3]||=e=>{D.value=null,hn.value=!1,mn.value=null,E.value=null,hi.value=null},backgroundColor:Qn.value.backgroundColor,color:Qn.value.color,headerBg:Qn.value.header.backgroundColor,headerColor:Qn.value.header.color,isFullscreen:ji.value,fullscreenParent:O.value},{title:S(()=>[Qe(b(X.value[Number(D.value.index)]?X.value[Number(D.value.index)].text:``),1)]),content:S(()=>[D.value?(g(),d(x(ln),{key:0,config:Ri.value,dataset:Li.value},null,8,[`config`,`dataset`])):f(``,!0)]),_:1},8,[`backgroundColor`,`color`,`headerBg`,`headerColor`,`isFullscreen`,`fullscreenParent`])):f(``,!0),x(tr)?(g(),d(be,{key:10})):f(``,!0)],46,mt))}},[[`__scopeId`,`data-v-36a2b861`]]);export{pt as n,nn as t};
|
|
@@ -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-C4ZM3Vf7.js`).then(e=>e.t)),Vt=_(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_dumbbell:Ht}=t(),Ut=Me(),E=e,Wt=Xe,Gt=d({get(){return!!E.dataset&&E.dataset.length},set(e){return e}}),D=b(s()),Kt=b(0),O=b(null),qt=b(null),Jt=b(null),Yt=b(null),Xt=b(null),Zt=b(0),Qt=b(0),$t=b(0),en=b(!1),tn=b(null),nn=b(null),rn=b(null),an=b(null),on=b(null),sn=b(null),k=b(null),A=b(null),j=b(null),cn=b(!1),M=b(!1),N=b(vn()),P=d(()=>N.value.style.chart.grid.horizontalGrid),ln=d(()=>N.value.style.chart.grid.verticalGrid),F=d(()=>N.value.style.chart.labels);d(()=>N.value.style.chart.grid);let I=d(()=>N.value.style.chart.plots),L=d(()=>N.value.style.chart.comparisonLines),R=d(()=>N.value.style.chart);ue({config:()=>N.value,dataset:()=>E.dataset,component:`VueUiDumbbell`,rules:[de.emptyArray,{test:e=>e.length>31,message:[`👀 The number of series is > 31. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using multiple instances of the component to display related series.`]}]});let un=d(()=>N.value.userOptions.useCursorPointer),dn=d(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},useAnimation:!1,style:{chart:{backgroundColor:`#99999930`,padding:{top:12,right:12,bottom:12,left:12},grid:{horizontalGrid:{stroke:`#6A6A6A`},verticalGrid:{stroke:`#6A6A6A`}},labels:{axis:{yLabel:``,xLabel:``},xAxisLabels:{show:!1},yAxisLabels:{show:!1},endLabels:{show:!1},startLabels:{show:!1}},legend:{backgroundColor:`transparent`},plots:{endColor:`#969696`,startColor:`#DBDBDB`,stroke:`#6A6A6A`,evaluationColors:{enable:!1}}}}},userConfig:N.value.skeletonConfig??{}})),{loading:fn,FINAL_DATASET:pn,manualLoading:mn}=ce({...Ke(E),FINAL_CONFIG:N,prepareConfig:vn,skeletonDataset:E.config?.skeletonDataset??[{name:`_`,start:21,end:34},{name:`_`,start:13,end:21},{name:`_`,start:8,end:13},{name:`_`,start:5,end:8},{name:`_`,start:3,end:5}],skeletonConfig:re({defaultConfig:N.value,userConfig:dn.value})}),{userOptionsVisible:hn,setUserOptionsVisibility:gn,keepUserOptionState:_n}=ke({config:N.value}),{svgRef:z}=Ae({config:R.value.title});function vn(){return pe(E.config,Ht,Ne)}Je(()=>E.config,e=>{fn.value||(N.value=vn()),hn.value=!N.value.userOptions.showOnChartHover,Sn(),Zt.value+=1,Qt.value+=1,$t.value+=1,N.value.responsive||(G.value=R.value.rowHeight,K.value=R.value.width),H.value.showTable=N.value.table.show},{deep:!0}),Je(()=>pn.value,e=>{Array.isArray(e)&&e.length>0&&(mn.value=!1),Rn(),zn()},{deep:!0});let B=Ge(null),V=Ge(null),yn=b(!1),bn=0;Ue(()=>{en.value=!0,Sn()});let xn=d(()=>N.value.debug);function Sn(){se(E.dataset)?te({componentName:`VueUiDumbbell`,type:`dataset`,debug:xn.value}):E.dataset.forEach((e,t)=>{oe({datasetObject:e,requiredAttributes:[`name`,`start`,`end`]}).forEach(e=>{Gt.value=!1,te({componentName:`VueUiDumbbell`,type:`datasetSerieAttribute`,property:e,index:t,debug:xn.value})})}),N.value.responsive&&(B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect()),B.value=new ResizeObserver(()=>{let{width:e,height:t}=De({chart:O.value,title:R.value.title.text?qt.value:null,legend:R.value.legend.show?Jt.value:null,source:Yt.value,noTitle:Xt.value}),n=R.value.title.text?24:0,r=R.value.legend.show?24:0;cancelAnimationFrame(bn),bn=requestAnimationFrame(async()=>{K.value=Math.max(.1,e),G.value=Math.max(.1,(Math.max(.1,t)-(n+r))/pn.value.length),$n(),yn.value=!0})}),V.value=O.value.parentNode,B.value.observe(V.value)),$n()}He(()=>{cancelAnimationFrame(bn),X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect())});let{isPrinting:Cn,isImaging:wn,generatePdf:Tn,generateImage:En}=Ce({elementId:`dumbbell_${D.value}`,fileName:R.value.title.text||`vue-ui-dumbbell`,options:N.value.userOptions.print}),Dn=d(()=>N.value.userOptions.show&&!R.value.title.text),H=b({showTable:N.value.table.show});Je(N,()=>{H.value={showTable:N.value.table.show}},{immediate:!0});let U=d(()=>pn.value.map((e,t)=>({...e,start:ne(e.start),end:ne(e.end),id:e.id??`${String(e.name)}__${String(e.start)}__${String(e.end)}__${s()}`}))),On=d(()=>{let e=R.value.grid,t=U.value.flatMap(e=>[e.start,e.end]).map(e=>Number(e)).filter(e=>Number.isFinite(e)),n=t.length?Math.min(...t):0,r=t.length?Math.max(...t):0;return{min:e.scaleMin??Math.min(n,0),max:e.scaleMax??r}}),W=d(()=>ee(On.value.min,On.value.max,R.value.grid.scaleSteps)),G=b(R.value.rowHeight),K=b(R.value.width),{metrics:kn,ready:An,settling:jn,update:Mn}=we({svgRef:z,canMeasure:()=>!N.value.responsive||yn.value,initialMetrics:{scaleLabelsWidth:0,yAxisLabelWidth:0,xAxisLabelHeight:0,timeLabelsHeight:0},measure:e=>({scaleLabelsWidth:e(an.value).textWidth,yAxisLabelWidth:e(rn.value).rotatedWidth,xAxisLabelHeight:e(sn.value).height,timeLabelsHeight:e(on.value).height})});function Nn(){let e=kn.value.scaleLabelsWidth,t=kn.value.yAxisLabelWidth;return e+t+(t?24+F.value.axis.yLabelOffsetX:0)}let Pn=d(()=>kn.value.xAxisLabelHeight+kn.value.timeLabelsHeight),Fn=d(()=>U.value.length);function In(e,t,n){let r=Number(e),i=Number(t.min),a=Number(t.max),o=Number(n.width);if(!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a)||!Number.isFinite(o))return n.left;let s=a-i;return s<=0?n.left:n.left+(r-i)/s*o}let q=d(()=>{M.value;let e=Nn(),t=R.value.padding,n=F.value.axis.xLabel?F.value.axis.xLabelOffsetY:0,r=G.value*Fn.value-Pn.value-t.top-t.bottom-n,i=r/Fn.value,a=G.value*Fn.value,o=K.value-e-t.left-t.right,s=W.value.ticks.length*(o/W.value.ticks.length);return{left:R.value.padding.left+e,right:K.value-R.value.padding.right,top:R.value.padding.top,bottom:a-R.value.padding.bottom-Pn.value-n,width:o,height:r,rowHeight:i,absoluteHeight:a,widthPlotReference:s}}),J=d(()=>Math.min(G.value/2*.7,I.value.radius)),Ln=b([]),Y=d({get(){let e=q.value,t=W.value;return Ln.value.map((n,r)=>{let i=In(n.start,t,e),a=In(n.endVal,t,e),o=i+(a-i)/2,s=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end>n.start,ee=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end<n.start,te=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end===n.start||[null,void 0].includes(n.start)||[null,void 0].includes(n.end),ne=s?I.value.evaluationColors.positive:ee?I.value.evaluationColors.negative:I.value.evaluationColors.neutral;return{...n,isPositive:s,isNegative:ee,isNeutral:te,evaluationColor:ne,evaluationGrad:`url(#${s?`positive`:ee?`negative`:`neutral`}_grad_${D.value})`,startX:i,endX:a,centerX:o,y:e.top+r*e.rowHeight+e.rowHeight/2}})},set(e){Ln.value=e}});function Rn(){Ln.value=U.value.map(e=>{let t=Number(e.start);return{...e,endVal:Number.isFinite(t)?t:0}})}let X=b(null);Ue(()=>{zn()});function zn(){if(X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),Rn(),!N.value.useAnimation||Ut.value){Y.value=Ln.value.map(e=>{let t=Number(e.end);return{...e,endVal:Number.isFinite(t)?t:e.endVal}});return}let e=Math.max(1,Math.min(100,N.value.animationSpeed||100))/100,t=U.value.map(e=>{let t=Number(e.start),n=Number(e.end),r=Number.isFinite(t)?t:0;return(Number.isFinite(n)?n:r)-r}),n=()=>{let r=!0;Y.value=Ln.value.map((n,i)=>{let a=Number.isFinite(Number(n.end))?Number(n.end):n.endVal,o=n.endVal+t[i]*e,s=t[i]>=0?Math.min(o,a):Math.max(o,a);return s!==a&&(r=!1),{...n,endVal:s}}),r?X.value=null:X.value=requestAnimationFrame(n)};X.value=requestAnimationFrame(n)}let Bn=d(()=>I.value.evaluationColors.enable?[{name:R.value.legend.labelNegative,color:I.value.gradient.show?`url(#negative_grad_${D.value})`:I.value.evaluationColors.negative},{name:R.value.legend.labelNeutral,color:I.value.gradient.show?`url(#neutral_grad_${D.value})`:I.value.evaluationColors.neutral},{name:R.value.legend.labelPositive,color:I.value.gradient.show?`url(#positive_grad_${D.value})`:I.value.evaluationColors.positive}]:[{name:R.value.legend.labelStart,color:I.value.gradient.show?`url(#start_grad_${D.value})`:I.value.startColor},{name:R.value.legend.labelEnd,color:I.value.gradient.show?`url(#end_grad_${D.value})`:I.value.endColor}]),Vn=d(()=>({cy:`donut-div-legend`,backgroundColor:R.value.legend.backgroundColor,color:R.value.legend.color,fontSize:R.value.legend.fontSize,paddingBottom:12,paddingTop:12,fontWeight:R.value.legend.bold?`bold`:``})),Z=d(()=>({head:Y.value.map(e=>({name:e.name})),body:Y.value.map(e=>({start:e.start,end:e.end}))})),Q=d(()=>{let e=[N.value.table.columnNames.series,N.value.table.columnNames.start,N.value.table.columnNames.end,N.value.table.columnNames.progression],t=Z.value.head.map((e,t)=>{let r=n({p:F.value.prefix,v:Z.value.body[t].start,s:F.value.suffix,r:N.value.table.td.roundingValue}),i=n({p:F.value.prefix,v:Z.value.body[t].end,s:F.value.suffix,r:N.value.table.td.roundingValue}),a=n({v:100*(Z.value.body[t].end/Z.value.body[t].start-1),s:`%`,r:N.value.table.td.roundingPercentage});return[{name:e.name},r,i,a]}),r={th:{backgroundColor:N.value.table.th.backgroundColor,color:N.value.table.th.color,outline:N.value.table.th.outline},td:{backgroundColor:N.value.table.td.backgroundColor,color:N.value.table.td.color,outline:N.value.table.td.outline},breakpoint:N.value.table.responsiveBreakpoint};return{colNames:[N.value.table.columnNames.series,N.value.table.columnNames.start,N.value.table.columnNames.end,N.value.table.columnNames.progression],head:e,body:t,config:r}});function Hn(e=null){ze(()=>{let t=Z.value.head.map((e,t)=>[[e.name],[Z.value.body[t].start],[Z.value.body[t].end]]),n=[[R.value.title.text],[R.value.title.subtitle.text],[[N.value.table.columnNames.series],[N.value.table.columnNames.start],[N.value.table.columnNames.end]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:R.value.title.text||`vue-ui-dumbbell`})})}let $=b(!1);function Un(e){$.value=e,Kt.value+=1}function Wn(){return U.value}function Gn(){H.value.showTable=!H.value.showTable}let Kn=b(!1);function qn(){Kn.value=!Kn.value}let Jn=me(O,()=>R.value.title.text),Yn=d(()=>W.value.ticks),Xn=d(()=>({start:0,end:Yn.value.length}));Te({timeLabelsEls:on,timeLabels:Yn,slicer:Xn,configRef:N,rotationPath:[`style`,`chart`,`labels`,`xAxisLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`labels`,`xAxisLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:K,height:G,targetClass:`.vue-ui-dumbbell-scale-label`,rotation:F.value.xAxisLabels.autoRotate.angle});function Zn({rowHeight:e,fontSize:t,showProgression:n}){if(!n)return!1;let r=e/3,i=e/1.3;return Math.abs(i-r)<t*1.2}let Qn=(()=>{let e=null,t=0;return n=>{n===M.value?(e=null,t=0):e===null||e!==n?(e=n,t=1):(t+=1,t>=1&&(M.value=n,e=null,t=0))}})(),$n=Ee(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{let e=Zn({rowHeight:q.value.rowHeight,fontSize:F.value.yAxisLabels.fontSize,showProgression:F.value.yAxisLabels.showProgression});Qn(e)})})},100);function er({datapoint:e,seriesIndex:t}){k.value=t,A.value=e,N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function tr({datapoint:e,seriesIndex:t}){k.value=null,A.value=null,N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:t})}function nr({datapoint:e,seriesIndex:t}){N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:t}),Wt(`selectDatapoint`,{...e,seriesIndex:t})}let rr=d(()=>{if(A.value===null)return 0;let e=![null,void 0].includes(A.value.start),t=![null,void 0].includes(A.value.end);return e&&t?Math.min(A.value.startX,A.value.endX)+Math.abs(A.value.startX-A.value.endX)/2:e&&!t?A.value.startX:t&&!e?A.value.endX:null}),ir=d(()=>{if(A.value===null)return``;let e=![null,void 0].includes(A.value.start),t=![null,void 0].includes(A.value.end),r=``,i=``;return e&&(r=c(F.value.formatter,A.value.start,n({p:F.value.prefix,v:A.value.start,s:F.value.suffix,r:F.value.startLabels.rounding}),{datapoint:A.value,seriesIndex:k.value})),t&&(i=c(F.value.formatter,A.value.end,n({p:F.value.prefix,v:A.value.end,s:F.value.suffix,r:F.value.startLabels.rounding}),{datapoint:A.value,seriesIndex:k.value})),e&&t?`${r} → ${i}`:e&&!t?r:t&&!e?i:``}),ar=d(()=>ve({config:N,style:R,mutableConfig:H,dialog:Vt,accordion:It,isFullscreen:$,parent:O,maxWidth:800,isCursorPointer:un}));Je(()=>H.value.showTable,e=>_e(e,N,tn));function or(){H.value.showTable=!1,nn.value&&nn.value.setTableIconState(!1)}let sr=d(()=>Bn.value.map(e=>({...e,shape:`circle`}))),cr=d(()=>R.value.backgroundColor),lr=d(()=>R.value.legend),ur=d(()=>R.value.title),{isCallbackImaging:dr,isCallbackSvg:fr,generateSvg:pr,onGenerateImage:mr}=ge({svg:z,title:ur,legend:lr,legendItems:sr,backgroundColor:cr,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:En});async function hr(){Wt(`copyAlt`,{config:N.value,dataset:Y.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:Y.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function gr(e){let t=Y.value.length;return t?(e%t+t)%t:null}function _r(){if(j.value!==null){let e=Y.value[j.value];e&&tr({datapoint:e,seriesIndex:j.value})}j.value=null,k.value=null,A.value=null}function vr(){j.value=null,cn.value=!0}function yr(){_r(),cn.value=!1}function br(e){if(!z.value||Kn.value||document.activeElement!==z.value||!Y.value.length)return;let t=[`ArrowUp`,`ArrowLeft`].includes(e.key),n=[`ArrowDown`,`ArrowRight`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){_r();return}if(r){if(j.value===null)return;let e=Y.value[j.value];if(!e)return;nr({datapoint:e,seriesIndex:j.value});return}let a=j.value;a=a===null?n?0:Y.value.length-1:gr(a+(n?1:-1));let o=Y.value[a];o&&(j.value=a,er({datapoint:o,seriesIndex:a}))}let xr=d(()=>({head:Q.value.head,body:Q.value.body.map(e=>[e[0]?.name??``,e[1],e[2],e[3]]),caption:N.value.a11y.translations.tableCaption,notice:N.value.a11y.translations.tableAvailable}));return fe({getData:Wn,getImage:Jn,generatePdf:Tn,generateCsv:Hn,generateImage:En,generateSvg:pr,toggleTable:Gn,toggleAnnotator:qn,toggleFullscreen:Un,copyAlt:hr}),Je(()=>[K.value,G.value,M.value,F.value,R.value,N.value.style.fontFamily,E.dataset,yn.value,an.value,on.value,sn.value,rn.value],Mn,{flush:`post`,deep:!0}),(e,t)=>(y(),m(`div`,{ref_key:`dumbbellChart`,ref:O,class:Be(`vue-data-ui-component vue-ui-dumbbell ${$.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:v(`font-family:${N.value.style.fontFamily};width:100%; text-align:center;background:${R.value.backgroundColor};${N.value.responsive?`height:100%`:``}`),id:`dumbbell_${D.value}`,onMouseenter:t[1]||=()=>w(gn)(!0),onMouseleave:t[2]||=()=>w(gn)(!1)},[h(`div`,{id:`chart-instructions-${D.value}`,class:`sr-only`},[h(`p`,null,C(N.value.a11y.translations.keyboardNavigation),1)],8,Qe),xr.value.body.length?(y(),f(Oe,{key:0,uid:D.value,head:xr.value.head,body:xr.value.body,caption:xr.value.caption,notice:xr.value.notice},null,8,[`uid`,`head`,`body`,`caption`,`notice`])):p(``,!0),N.value.userOptions.buttons.annotator?(y(),f(w(Rt),{key:1,svgRef:w(z),backgroundColor:R.value.backgroundColor,color:R.value.color,active:Kn.value,isCursorPointer:un.value,palette:N.value.userOptions.annotatorPalette,onClose:qn},Fe({_:2},[x(w(be),t=>({name:t,fn:T(n=>[S(e.$slots,t,Ve(Le(w(ye)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):p(``,!0),Dn.value?(y(),m(`div`,{key:2,ref_key:`noTitle`,ref:Xt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):p(``,!0),R.value.title.text?(y(),m(`div`,{key:3,ref_key:`chartTitle`,ref:qt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),f(he,{key:`title_${Zt.value}`,config:{title:{cy:`donut-div-title`,...R.value.title},subtitle:{cy:`donut-div-subtitle`,...R.value.title.subtitle}}},null,8,[`config`]))],512)):p(``,!0),h(`div`,{id:`legend-top-${D.value}`},null,8,$e),N.value.userOptions.show&&Gt.value&&(w(_n)||w(hn))?(y(),f(w(zt),{ref_key:`userOptionsRef`,ref:nn,key:`user_option_${Kt.value}`,backgroundColor:R.value.backgroundColor,color:R.value.color,isPrinting:w(Cn),isImaging:w(wn),uid:D.value,hasPdf:N.value.userOptions.buttons.pdf,hasXls:N.value.userOptions.buttons.csv,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasTable:N.value.userOptions.buttons.table,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:$.value,titles:{...N.value.userOptions.buttonTitles},chartElement:O.value,position:N.value.userOptions.position,hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:Kn.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:un.value,onToggleFullscreen:Un,onGeneratePdf:w(Tn),onGenerateCsv:Hn,onGenerateImage:w(mr),onGenerateSvg:w(pr),onToggleTable:Gn,onToggleAnnotator:qn,onCopyAlt:hr,style:v({visibility:w(_n)?w(hn)?`visible`:`hidden`:`visible`})},Fe({_:2},[x(w(xe)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:T(n=>[S(e.$slots,t,Ve(Le(w(Se)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):p(``,!0),h(`div`,et,[(y(),m(`svg`,{ref_key:`svgRef`,ref:z,xmlns:w(ae),class:Be({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value}),viewBox:`0 0 ${K.value} ${q.value.absoluteHeight<=0?10:q.value.absoluteHeight}`,style:v(`max-width:100%; overflow: visible; background:transparent;color:${R.value.color};visibility:${w(An)?`visible`:`hidden`}`),"aria-describedby":`chart-instructions-${D.value}`,tabindex:`0`,onFocus:vr,onBlur:yr,onKeydown:br},[g(w(Bt)),S(e.$slots,`svg-underlayer`,{svg:{...q.value,isPrintingImg:w(Cn)||w(wn)||w(dr),isPrintingSvg:w(fr)}},void 0,!0),e.$slots[`chart-background`]?(y(),m(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:Math.max(.1,q.value.width),height:Math.max(.1,q.value.height),style:{pointerEvents:`none`}},[S(e.$slots,`chart-background`,{},void 0,!0)],8,nt)):p(``,!0),ln.value.show?(y(),m(`g`,rt,[(y(!0),m(u,null,x(W.value.ticks,(e,t)=>(y(),m(`line`,{x1:q.value.left+t*q.value.width/(W.value.ticks.length-1),x2:q.value.left+t*q.value.width/(W.value.ticks.length-1),y1:q.value.top,y2:q.value.bottom,stroke:ln.value.stroke,"stroke-width":ln.value.strokeWidth,"stroke-dasharray":ln.value.strokeDasharray},null,8,it))),256))])):p(``,!0),P.value.show?(y(),m(`g`,at,[(y(!0),m(u,null,x(U.value,(e,t)=>(y(),m(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.top+t*q.value.rowHeight,y2:q.value.top+t*q.value.rowHeight,stroke:P.value.stroke,"stroke-width":P.value.strokeWidth,"stroke-dasharray":P.value.strokeDasharray},null,8,ot))),256)),h(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:P.value.stroke,"stroke-width":P.value.strokeWidth,"stroke-dasharray":P.value.strokeDasharray},null,8,st)])):p(``,!0),F.value.axis.yLabel?(y(),m(`text`,{key:3,ref_key:`yAxisLabel`,ref:rn,transform:`translate(${F.value.axis.fontSize}, ${q.value.absoluteHeight/2}), rotate(-90)`,"font-size":F.value.axis.fontSize,fill:F.value.axis.color,"text-anchor":`middle`},C(F.value.axis.yLabel),9,ct)):p(``,!0),F.value.yAxisLabels.show?(y(),m(`g`,{key:4,ref_key:`serieLabels`,ref:an},[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-serie-name`,key:`serieLabel_${e.id}_${t}`,x:q.value.left-6+F.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+(!F.value.yAxisLabels.showProgression||M.value?q.value.rowHeight/2:q.value.rowHeight/3)+F.value.yAxisLabels.fontSize/3,"font-size":F.value.yAxisLabels.fontSize,fill:F.value.yAxisLabels.color,"font-weight":F.value.yAxisLabels.bold?`bold`:`normal`,"text-anchor":`end`,onMouseenter:n=>er({datapoint:e,seriesIndex:t}),onMouseleave:n=>tr({datapoint:e,seriesIndex:t}),onClick:n=>nr({datapoint:e,seriesIndex:t})},C(e.name)+` `+C(M.value&&F.value.yAxisLabels.showProgression?[null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:`(${w(c)(F.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:F.value.yAxisLabels.rounding}),{datapoint:e})})`:``),41,lt))),128)),F.value.yAxisLabels.showProgression&&!M.value?(y(!0),m(u,{key:0},x(Y.value,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-serie-value`,x:q.value.left-6+F.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+q.value.rowHeight/1.3+F.value.yAxisLabels.fontSize/3,"font-size":F.value.yAxisLabels.fontSize,fill:F.value.yAxisLabels.color,"text-anchor":`end`,onMouseenter:n=>er({datapoint:e,seriesIndex:t}),onMouseleave:n=>tr({datapoint:e,seriesIndex:t}),onClick:n=>nr({datapoint:e,seriesIndex:t})},C([null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:w(c)(F.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:F.value.yAxisLabels.rounding}),{datapoint:e})),41,ut))),256)):p(``,!0)],512)):p(``,!0),F.value.axis.xLabel?(y(),m(`text`,{key:5,ref_key:`xAxisLabel`,ref:sn,x:q.value.left+q.value.width/2,y:q.value.absoluteHeight-F.value.axis.fontSize/3,"font-size":F.value.axis.fontSize,fill:F.value.axis.color,"text-anchor":`middle`},C(F.value.axis.xLabel),9,dt)):p(``,!0),F.value.xAxisLabels.show?(y(),m(`g`,{key:6,ref_key:`scaleLabels`,ref:on},[(y(!0),m(u,null,x(W.value.ticks,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-scale-label`,key:`tick_${t}`,transform:`translate(${q.value.left+t*(q.value.width/(W.value.ticks.length-1))}, ${q.value.bottom+F.value.xAxisLabels.fontSize+F.value.xAxisLabels.offsetY}), rotate(${F.value.xAxisLabels.rotation})`,"font-size":F.value.xAxisLabels.fontSize,fill:F.value.xAxisLabels.color,"font-weight":F.value.xAxisLabels.bold?`bold`:`normal`,"text-anchor":F.value.xAxisLabels.rotation>0?`start`:F.value.xAxisLabels.rotation<0?`end`:`middle`},C(w(c)(F.value.formatter,e,w(n)({p:F.value.prefix,v:e,s:F.value.suffix,r:F.value.xAxisLabels.rounding}),{datapoint:e,seriesIndex:t})),9,ft))),128))],512)):p(``,!0),Ye(h(`g`,null,[Ye(h(`path`,{d:`M ${A.value?A.value.startX:q.value.left},${q.value.top} ${A.value?A.value.startX:q.value.left},${q.value.bottom}`,stroke:A.value?I.value.evaluationColors.enable?A.value.evaluationColor:I.value.startColor:`transparent`,"stroke-width":L.value.strokeWidth,"stroke-dasharray":L.value.strokeDasharray,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},null,12,pt),[[qe,A.value!==null&&![null,void 0].includes(A.value.start)]]),Ye(h(`path`,{d:`M ${A.value?A.value.endX:q.value.left},${q.value.top} ${A.value?A.value.endX:q.value.left},${q.value.bottom}`,stroke:A.value?I.value.evaluationColors.enable?A.value.evaluationColor:I.value.endColor:`transparent`,"stroke-width":L.value.strokeWidth,"stroke-dasharray":L.value.strokeDasharray,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},null,12,mt),[[qe,A.value!==null&&![null,void 0].includes(A.value.end)]]),Ye(h(`rect`,{x:A.value?Math.min(A.value.startX,A.value.endX):q.value.left,y:q.value.top,height:Math.max(.1,q.value.height),width:A.value?Math.max(.1,Math.abs(A.value.endX-A.value.startX)):0,fill:A.value?w(a)(L.value.rectColor,L.value.rectOpacity):`transparent`,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},null,12,ht),[[qe,L.value.showRect&&A.value!==null&&![null,void 0].includes(A.value.start)&&![null,void 0].includes(A.value.end)]]),Ye(h(`text`,{transform:`translate(${rr.value==null?0:rr.value}, ${q.value.top-6})`,fill:L.value.labelColor,"font-size":L.value.labelFontSize,"text-anchor":`middle`,style:v({transition:w(jn)?`none`:`all 0.3s ease-in-out`})},C(ir.value),13,gt),[[qe,A.value!==null&&rr.value!==null&&L.value.showLabel]])],512),[[qe,L.value.show&&k.value!==null]]),h(`defs`,null,[g(l,{t:`radial`,id:`start_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.startColor,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.startColor,.1),1],[`100%`,I.value.startColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`end_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.endColor,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.endColor,.1),1],[`100%`,I.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`positive_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.evaluationColors.positive,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.evaluationColors.positive,.1),1],[`100%`,I.value.evaluationColors.positive,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`negative_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.evaluationColors.negative,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.evaluationColors.negative,.1),1],[`100%`,I.value.evaluationColors.negative,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`neutral_grad_${D.value}`,fy:`30%`,stops:[[`10%`,w(i)(I.value.evaluationColors.neutral,I.value.gradient.intensity/100),1],[`90%`,w(o)(I.value.evaluationColors.neutral,.1),1],[`100%`,I.value.evaluationColors.neutral,1]]},null,8,[`id`,`stops`])]),(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`plot_${t}_${e.id}`},[h(`defs`,null,[g(l,{t:`linear`,id:`grad_pos_${D.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,I.value.startColor,1],[`100%`,I.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`linear`,id:`grad_neg_${D.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,I.value.endColor,1],[`100%`,I.value.startColor,1]]},null,8,[`id`,`stops`])]),![void 0,null].includes(e.end)&&![void 0,null].includes(e.start)?(y(),m(`g`,_t,[I.value.link.type===`curved`?(y(),m(`g`,vt,[h(`path`,{d:`M
|
|
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-C4ZM3Vf7.js`).then(e=>e.t)),ct=D(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_flow:lt}=t(),{isThemeValid:ut,warnInvalidTheme:dt}=ie(),R=e,ft=Pe,z=M(s()),B=M(null),pt=M(0),mt=M(0),ht=M(!1),gt=M(``),_t=M(null),vt=M(null),yt=M(null),bt=M(null),xt=M(null),St=M(!1),Ct=M(null),wt=M(null),Tt=M(null),Et=M(null),V=M(null),Dt=M({x:0,y:0}),Ot=M(`pointer`),kt=M(!1),At=S(()=>!!R.dataset&&R.dataset.length);Ae(()=>{St.value=!0,zt()});let H=M(!1);function jt(e){H.value=e,pt.value+=1}let U=M(Ut()),W=S(()=>U.value.style.chart.nodes.labels),G=S(()=>U.value.style.chart.nodes),Mt=S(()=>U.value.style.chart.links),K=S(()=>U.value.style.chart);y({config:()=>U.value,dataset:()=>R.dataset,component:`VueUiFlow`,rules:[b.emptyArray,b.noHint]});let Nt=S(()=>U.value.userOptions.useCursorPointer),Pt=S(()=>f({defaultConfig:{userOptions:{show:!1},nodeCategories:{B:`A`,C:`B`},nodeCategoryColors:{A:`#CACACA`,B:`#AAAAAA`},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,legend:{backgroundColor:`transparent`},nodes:{labels:{show:!1},stroke:`#666666`},links:{stroke:`#666666`}}}},userConfig:U.value.skeletonConfig??{}})),{loading:Ft,FINAL_DATASET:It,manualLoading:Lt}=v({...Me(R),FINAL_CONFIG:U,prepareConfig:Ut,skeletonDataset:R.config?.skeletonDataset??[[`A`,`B`,2,`#CACACA`],[`B`,`C`,1,`#CACACA`],[`C`,`D`,.5,`#CACACA`],[`E`,`F`,1,`#AAAAAA`],[`F`,`G`,.5,`#AAAAAA`],[`G`,`H`,.25,`#AAAAAA`]],skeletonConfig:f({defaultConfig:U.value,userConfig:Pt.value})}),Rt=S(()=>U.value.debug);function zt(){if(_(R.dataset)&&(l({componentName:`VueUiFlow`,type:`dataset`,debug:Rt.value}),Lt.value=!0),_(R.dataset)||(Lt.value=U.value.loading),U.value.responsive){let e=he(()=>{let{width:e,height:t}=ge({chart:B.value,title:K.value.title.text?vt.value:null,legend:K.value.legend.show?_t.value:null,source:yt.value});requestAnimationFrame(()=>{Wt.value=e,Gt.value=t})});bt.value&&(xt.value&&bt.value.unobserve(xt.value),bt.value.disconnect()),bt.value=new ResizeObserver(e),xt.value=B.value.parentNode,bt.value.observe(xt.value)}}let{userOptionsVisible:Bt,setUserOptionsVisibility:Vt,keepUserOptionState:Ht}=ve({config:U.value}),{svgRef:q}=ye({config:K.value.title});function Ut(){let e=re({userConfig:R.config,defaultConfig:lt}),t=e,n=e.theme;if(n){if(!ut.value(e))dt(e),t=e;else{let r=re({userConfig:xe[n]||R.config,defaultConfig:e});t={...re({userConfig:R.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:p[n]||a}}}else t=e;return t.nodeCategories=R.config.nodeCategories||{},t.nodeCategoryColors=R.config.nodeCategoryColors||{},t}let Wt=M(K.value.width),Gt=M(K.value.height),Kt=c(R.config);Ne(()=>R.config,(e,t)=>{let n=c(e),r=n!==Kt;Kt=n;let i=Ut();r?(Ft.value||(U.value=i),Bt.value=!U.value.userOptions.showOnChartHover,zt(),mt.value+=1,J.value.showTable=U.value.table.show):(U.value.style.chart.tooltip=i.style.chart.tooltip,J.value.showTooltip=U.value.style.chart.tooltip.show)},{deep:!0}),Ne(()=>R.dataset,e=>{Array.isArray(e)&&e.length>0&&(Lt.value=!1)},{deep:!0});let{isPrinting:qt,isImaging:Jt,generatePdf:Yt,generateImage:Xt}=me({elementId:`flow_${z.value}`,fileName:K.value.title.text||`vue-ui-flow`,options:U.value.userOptions.print}),Zt=S(()=>U.value.userOptions.show&&!K.value.title.text),Qt=S(()=>te(U.value.customPalette)),$t=S(()=>G.value.width),J=M({showTable:U.value.table.show,showTooltip:K.value.tooltip.show});Ne(U,()=>{J.value={showTable:U.value.table.show,showTooltip:K.value.tooltip.show}},{immediate:!0});let en=S(()=>!It.value||!It.value.length?[]:It.value.map((e,t)=>[e[0],e[1],u(e[2]),e[3]?o(e[3]):Qt.value[t]||Qt.value[t%Qt.value.length]||a[t]||a[t%a.length]]));function tn(e){let t={},n={};function r(e,r){t[e]||(t[e]={level:null,inflow:0,outflow:0,children:[],color:null,uid:s()}),t[e].level===null&&(t[e].level=r),n[r]||(n[r]=[]),n[r].includes(e)||n[r].push(e)}e.forEach(([e,n,i])=>{let a=t[e]?.level??0,o=a+1;r(e,a),r(n,o),t[e].children.push({target:n,value:i}),t[e].outflow+=i,t[n].inflow+=i});let i=new Set(e.map(([e])=>e)),o=new Set(e.map(([,e])=>e)),c=Array.from(i).filter(e=>!o.has(e)),l={};c.forEach((e,t)=>{l[e]=Qt.value[t]||a[t%a.length]});let d={};e.forEach(([e,t,n,r])=>{r&&(d[e]=r,d[t]=r)}),Object.keys(t).forEach((e,n)=>{let r=U.value.nodeCategories?.[e],i=r?U.value.nodeCategoryColors?.[r]:null;t[e].color=d[e]||i||(c.includes(e)?l[e]:null)||a[n%a.length]}),Object.keys(t).forEach(e=>{t[e].value=Math.max(t[e].inflow,t[e].outflow)});let f=an.value,ee=on.value.width,p=on.value.height,m=Object.keys(n).map(Number).sort((e,t)=>e-t),h=m.length||1,g=h>1?ee/(h-1):0,te=Number($t.value),_=Number(G.value.gapPx??G.value.gap??8),v=Number(G.value.minHeight||0);function ne(e){let r=n[e],i=r.length;if(!i)return 1/0;let a=Math.max(0,(i-1)*_),o=Math.max(0,p-a),s=Math.min(v,i?o/i:0),c=0,l=r.map(e=>t[e].value||0),u=l.reduce((e,t)=>e+t,0);for(let e=0;e<12;e+=1){let e=u>0?(o-c)/u:0,t=[];for(let n=0;n<l.length;n+=1){let r=l[n];r<0||r*e<s&&t.push(n)}if(!t.length)return Math.max(0,e);for(let e of t)c+=s,u-=l[e],l[e]=-1;if(u<=0)return 0}return u>0?Math.max(0,(o-c)/u):0}let y=m.map(ne),b=y.length?Math.min(...y):0,x={};m.forEach(e=>{let r=n[e],i=r.length,a=Math.max(0,(i-1)*_),o=Math.max(0,p-a),c=Math.min(v,i?o/i:0),l=r.map(e=>Math.max(c,(t[e].value||0)*b)),u=l.reduce((e,t)=>e+t,0)+a,d=Math.max(0,(p-u)/2);r.forEach((n,r)=>{let a=l[r],o=f.left+e*g,c=d;x[n]={x:o,y:c,absoluteY:c,height:a,i:r,color:t[n].color,value:t[n].value,id:s()},d+=a,r<i-1&&(d+=_)})});let re=[],ie=f.top,ae={},oe={};Object.keys(t).forEach(e=>{ae[e]=x[e]?.y??0,oe[e]=0});let se=!!Mt.value.smooth,ce=.5;return m.forEach(e=>{n[e].forEach(e=>{let n=t[e],r=x[e];if(!n.children||!n.children.length)return;let i=r.y;n.children.forEach(({target:a,value:o})=>{let c=x[a],l=t[a],d=n.outflow>0?o/n.outflow:0,f=l.inflow>0?o/l.inflow:0,ee=u(i+ie),p=u(i+d*r.height+ie),m=ae[a],h=m+f*c.height;oe[a]+=o;let g=l.inflow>0&&oe[a]>=l.inflow-1e-6,_=c.y+c.height;(g||h>_-.25)&&(h=_);let v=u(m+ie),ne=u(h+ie),y=u(r.x+te),b=u(c.x),le;if(!se||b<=y)le=`M ${y} ${ee} L ${y} ${p} L ${b} ${ne} L ${b} ${v} Z`;else{let e=b-y,t=u(y+e*ce),n=u(b-e*ce),r=ee,i=v,a=p,o=ne;le=`M ${y} ${r} C ${t} ${r}, ${n} ${i}, ${b} ${i} L ${b} ${o} C ${n} ${o}, ${t} ${a}, ${y} ${a} Z`}re.push({id:s(),source:e,target:a,path:le,value:o,sourceColor:n.color,targetColor:t[a].color}),i=p-ie,ae[a]=h})})}),{nodeCoordinates:x,links:re}}let Y=S(()=>{let e=tn(It.value);return{nodes:Object.keys(e.nodeCoordinates).map((t,n)=>({...e.nodeCoordinates[t],name:t})),links:e.links}}),nn=S(()=>Wt.value),rn=S(()=>Gt.value),an=S(()=>K.value.padding),on=S(()=>({width:Math.max(0,nn.value-40-an.value.right-an.value.left),height:Math.max(0,rn.value-an.value.top-an.value.bottom)})),sn=S(()=>({width:nn.value,height:rn.value}));function cn(e){let t={},n={},r=/* @__PURE__ */ new Set;return en.value.forEach(([e,r,i])=>{t[e]||(t[e]=[]),n[r]||(n[r]=[]),t[e].push(r),n[r].push(e)}),t[e]&&t[e].forEach(e=>r.add(e)),n[e]&&n[e].forEach(e=>r.add(e)),Array.from(r).concat(e)}let X=M(null),Z=M(null),ln=M(null),un=M(!1),dn=M(null);function fn(){dn.value=null,X.value=null,Z.value=null,ht.value=!1,Et.value=null,V.value=null}function pn(e){if(!q.value||!e)return;let t=q.value.querySelector(`[data-a11y-node-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();Dt.value={x:n.left+n.width/2,y:n.top+n.height/2}}function mn(e,t,r=`pointer`,a=null){$.value=[],X.value=cn(e.name),Z.value=e.name,dn.value=e.id,Ot.value=r,Et.value=a,V.value=e.id;let o=e.name,s=en.value,c=0,l=0,u=[],f=[],ee=new Set(s.map(([e])=>e)),p=new Set(s.map(([,e])=>e)),m=Array.from(ee).filter(e=>!p.has(e)),h=s.filter(([e])=>m.includes(e)).reduce((e,[t,n,r])=>e+r,0),g={};Y.value.nodes.forEach(e=>{g[e.name]=e.color}),s.forEach(([e,t,n])=>{t===o&&(c+=n,u.push({source:e,value:n,color:g[e]})),e===o&&(l+=n,f.push({target:t,value:n,color:g[t]}))});let te=h>0?Math.max(c,l)/h*100:0,_={name:o,inflow:c,outflow:l,from:u,to:f,percentOfTotal:te,color:g[o]||`#000000`};U.value.events.datapointEnter&&U.value.events.datapointEnter({datapoint:_,seriesIndex:t}),ln.value={datapoint:_,config:U.value,seriesIndex:t,series:Y.value},ht.value=!0;let v=``,ne=K.value.tooltip.customFormat;if(un.value=!1,i(ne))try{let e=ne({datapoint:_,series:Y.value,config:U.value});typeof e==`string`&&(gt.value=e,un.value=!0)}catch{console.warn(`Custom format cannot be applied.`)}if(!un.value){let e=K.value.tooltip.showPercentage?`<div>${n({p:K.value.tooltip.translations.percentOfTotal,v:_.percentOfTotal,s:`%`,r:K.value.tooltip.roundingPercentage})}</div>`:``;v+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${K.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;"><span style="margin-right:4px; color:${_.color}">⏹</span>${_.name}${e}</div>`,_.from.length&&(v+=`<div>${K.value.tooltip.translations.from}</div>`,_.from.forEach(e=>{v+=`<div><span style="color:${e.color}">⏹←</span> ${e.source}: ${d(W.value.formatter,e.value,n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}</div>`})),_.to.length&&(v+=`<div style="margin-top:6px;">${K.value.tooltip.translations.to}</div>`,_.to.forEach(e=>{v+=`<div><span style="color:${e.color}">⏹→</span> ${e.target}: ${d(W.value.formatter,e.value,n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}</div>`})),gt.value=v}r===`keyboard`&&Oe(()=>{pn(e.id)})}function hn(e){let t=ln.value;U.value.events.datapointLeave&&U.value.events.datapointLeave({datapoint:t,seriesIndex:e}),!(Ot.value===`keyboard`&&V.value)&&(dn.value=null,X.value=null,Z.value=null,ht.value=!1)}function gn(e){let t=ln.value;U.value.events.datapointClick&&U.value.events.datapointClick({datapoint:t,seriesIndex:e})}let _n=S(()=>Y.value.links.map(({source:e,target:t,sourceColor:n,targetColor:r,value:i})=>({source:e,target:t,sourceColor:n,targetColor:r,value:i})));function vn(e=null){Oe(()=>{let t=_n.value.map((e,t)=>[[e.source],[e.target],[e.value]]),n=[[K.value.title.text],[K.value.title.subtitle.text],[[U.value.table.columnNames.source],[U.value.table.columnNames.target],[U.value.table.columnNames.value]]].concat(t),i=r(n);e?e(i):m({csvContent:i,title:K.value.title.text||`vue-ui-flow`})})}let yn=S(()=>{let e=[U.value.table.columnNames.source,U.value.table.columnNames.target,U.value.table.columnNames.value],t=_n.value.map((e,t)=>[{color:e.sourceColor,name:e.source,shape:`square`},{color:e.targetColor,name:e.target,shape:`square`},n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding})]),r={th:{backgroundColor:U.value.table.th.backgroundColor,color:U.value.table.th.color,outline:U.value.table.th.outline},td:{backgroundColor:U.value.table.td.backgroundColor,color:U.value.table.td.color,outline:U.value.table.td.outline},breakpoint:U.value.table.responsiveBreakpoint};return{colNames:[U.value.table.columnNames.source,U.value.table.columnNames.target,U.value.table.columnNames.value],head:e,body:t,config:r}}),bn=S(()=>({headers:yn.value?.colNames??[],rows:yn.value?.body??[]})),xn=S(()=>[...Y.value.nodes].map((e,t)=>({...e,index:t,centerX:e.x+$t.value/2,centerY:u(e.absoluteY)+K.value.padding.top+e.height/2})).sort((e,t)=>e.x===t.x?e.absoluteY-t.absoluteY:e.x-t.x)),Q=S(()=>{let e=[];return xn.value.forEach(t=>{let n=e.find(e=>Math.abs(e.x-t.x)<=1);n?n.nodes.push(t):e.push({x:t.x,nodes:[t]})}),e.forEach(e=>{e.nodes.sort((e,t)=>e.absoluteY-t.absoluteY)}),e.sort((e,t)=>e.x-t.x)}),Sn=S(()=>{let e=/* @__PURE__ */ new Map;return xn.value.forEach((t,n)=>{e.set(t.id,n)}),e});function Cn(){return Y.value}function wn(){J.value.showTable=!J.value.showTable}let Tn=M(!1);function En(){Tn.value=!Tn.value}function Dn(){J.value.showTooltip=!J.value.showTooltip}let On=S(()=>{let e=new Set(Y.value.nodes.map(e=>U.value.nodeCategories[e.name]||`__uncategorized__`));return Array.from(e).map(e=>({name:e,color:U.value.nodeCategoryColors[e]||a[0],shape:`square`,count:Y.value.nodes.filter(t=>(U.value.nodeCategories[t.name]||`__uncategorized__`)===e).length})).map((e,t)=>{let n=$.value.includes(t);return{...e,segregate:()=>An({legend:e,i:t}),isSegregated:n,opacity:$.value.length?n?1:.5:1,display:`${e.name} (${e.count})`}})}),kn=S(()=>On.value.filter(e=>e.name!==`__uncategorized__`)),$=M([]);function An({legend:e,i:t}){let n=e.name;X.value?.every(e=>U.value.nodeCategories[e]===n)?(X.value=null,Z.value=null,$.value=[]):($.value=[t],X.value=Y.value.nodes.filter(e=>U.value.nodeCategories[e.name]===n).map(e=>e.name),Z.value=null)}let jn=S(()=>({cy:`flow-legend`,backgroundColor:K.value.legend.backgroundColor,color:K.value.legend.color,fontSize:K.value.legend.fontSize,paddingBottom:K.value.legend.paddingBottom,fontWeight:K.value.legend.bold?`bold`:`normal`})),Mn=ae(B,()=>K.value.title.text),Nn=S(()=>le({config:U,style:K,mutableConfig:J,dialog:ct,accordion:rt,isFullscreen:H,parent:B,maxWidth:800,isCursorPointer:Nt}));Ne(()=>J.value.showTable,e=>ce(e,U,Ct));function Pn(){J.value.showTable=!1,wt.value&&wt.value.setTableIconState(!1)}let Fn=S(()=>kn.value.map(e=>({...e,name:e.display}))),In=S(()=>K.value.backgroundColor),Ln=S(()=>K.value.legend),Rn=S(()=>K.value.title),{isCallbackImaging:zn,isCallbackSvg:Bn,generateSvg:Vn,onGenerateImage:Hn}=se({svg:q,title:Rn,legend:Ln,legendItems:Fn,backgroundColor:In,getSvgCallback:()=>U.value.userOptions.callbacks.svg,generateImage:Xt});async function Un(){ft(`copyAlt`,{config:U.value,dataset:Y.value}),U.value.userOptions.callbacks.altCopy?await Promise.resolve(U.value.userOptions.callbacks.altCopy({config:U.value,dataset:Y.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Wn(e){return Q.value.findIndex(t=>t.nodes.some(t=>t.id===e))}function Gn(e,t){let n=Q.value[e];return n?n.nodes.findIndex(e=>e.id===t):-1}function Kn(e,t){let n=Q.value[e];if(!n||!n.nodes.length)return null;let r=n.nodes[0],i=Math.abs(r.centerY-t);for(let e=1;e<n.nodes.length;e+=1){let a=n.nodes[e],o=Math.abs(a.centerY-t);o<i&&(r=a,i=o)}return r}function qn(){Et.value=null,V.value=null,kt.value=!0}function Jn(){fn(),kt.value=!1}function Yn(e){if(!q.value||Tn.value||document.activeElement!==q.value||!xn.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`ArrowUp`,i=e.key===`ArrowDown`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){fn();return}if(a){if(Et.value===null)return;gn(Et.value);return}if(V.value===null){let e=Q.value[0]?.nodes?.[0];if(!e)return;let t=Sn.value.get(e.id)??0;mn(e,t,`keyboard`,t);return}let s=Sn.value.get(V.value);if(s===void 0)return;let c=xn.value[s];if(!c)return;let l=Wn(c.id);if(l<0)return;let u=null;if(r||i){let e=Gn(l,c.id);if(e<0)return;let t=Q.value[l];if(!t?.nodes?.length)return;let n=e+(i?1:-1);n<0&&(n=t.nodes.length-1),n>=t.nodes.length&&(n=0),u=t.nodes[n]}if(t||n){let e=l+(n?1:-1);e<0&&(e=Q.value.length-1),e>=Q.value.length&&(e=0),u=Kn(e,c.centerY)}if(!u)return;let d=Sn.value.get(u.id);d!==void 0&&mn(u,d,`keyboard`,d)}return x({getData:Cn,getImage:Mn,generateCsv:vn,generateImage:Xt,generateSvg:Vn,generatePdf:Yt,toggleTable:wn,toggleAnnotator:En,toggleTooltip:Dn,drillCategory:An,unselectNode:hn,toggleFullscreen:jt,copyAlt:Un}),(e,t)=>(j(),T(`div`,{ref_key:`flowChart`,ref:B,class:ke(`vue-data-ui-component vue-ui-flow ${H.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:A(`font-family:${U.value.style.fontFamily};width:100%; text-align:center;background:${K.value.backgroundColor}`),id:`flow_${z.value}`,onMouseenter:t[2]||=()=>I(Vt)(!0),onMouseleave:t[3]||=()=>{I(Vt)(!1),kt.value||fn()}},[E(`div`,{id:`chart-instructions-${z.value}`,class:`sr-only`},[E(`p`,null,F(U.value.a11y.translations.keyboardNavigation),1)],8,Ie),bn.value?.rows?.length?(j(),C(_e,{key:0,uid:z.value,head:bn.value.headers,body:bn.value.rows,notice:U.value.a11y.translations.tableAvailable,caption:U.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):w(``,!0),U.value.userOptions.buttons.annotator?(j(),C(I(at),{key:1,svgRef:I(q),backgroundColor:K.value.backgroundColor,color:K.value.color,active:Tn.value,palette:U.value.userOptions.annotatorPalette,isCursorPointer:Nt.value,onClose:En},we({_:2},[N(I(de),t=>({name:t,fn:L(n=>[P(e.$slots,t,k(O(I(ue)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`palette`,`isCursorPointer`])):w(``,!0),Zt.value?(j(),T(`div`,Le,null,512)):w(``,!0),K.value.title.text?(j(),T(`div`,{key:3,ref_key:`chartTitle`,ref:vt,style:`width:100%;background:transparent;padding-bottom:24px`},[(j(),C(oe,{key:`title_${mt.value}`,config:{title:{cy:`flow-title`,...K.value.title},subtitle:{cy:`flow-subtitle`,...K.value.title.subtitle}}},null,8,[`config`]))],512)):w(``,!0),E(`div`,{id:`legend-top-${z.value}`},null,8,Re),U.value.userOptions.show&&At.value&&(I(Ht)||I(Bt))?(j(),C(I(ot),{ref_key:`userOptionsRef`,ref:wt,key:`user_option_${pt.value}`,backgroundColor:K.value.backgroundColor,color:K.value.color,isPrinting:I(qt),isImaging:I(Jt),uid:z.value,hasPdf:U.value.userOptions.buttons.pdf,hasXls:U.value.userOptions.buttons.csv,hasImg:U.value.userOptions.buttons.img,hasSvg:U.value.userOptions.buttons.svg,hasTable:U.value.userOptions.buttons.table,callbacks:U.value.userOptions.callbacks,hasFullscreen:U.value.userOptions.buttons.fullscreen,hasAltCopy:U.value.userOptions.buttons.altCopy,isFullscreen:H.value,titles:{...U.value.userOptions.buttonTitles},chartElement:B.value,position:U.value.userOptions.position,hasAnnotator:U.value.userOptions.buttons.annotator,printScale:U.value.userOptions.print.scale,isAnnotation:Tn.value,hasTooltip:K.value.tooltip.show&&U.value.userOptions.buttons.tooltip,isTooltip:J.value.showTooltip,tableDialog:U.value.table.useDialog,isCursorPointer:Nt.value,onToggleTooltip:Dn,onToggleFullscreen:jt,onGeneratePdf:I(Yt),onGenerateCsv:vn,onGenerateImage:I(Hn),onGenerateSvg:I(Vn),onToggleTable:wn,onToggleAnnotator:En,onCopyAlt:Un,style:A({visibility:I(Ht)?I(Bt)?`visible`:`hidden`:`visible`})},we({_:2},[N(I(fe)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:L(n=>[P(e.$slots,t,k(O(I(pe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.callbacks.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.printScale.isAnnotation.hasTooltip.isTooltip.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):w(``,!0),E(`div`,ze,[(j(),T(`svg`,{ref_key:`svgRef`,ref:q,xmlns:I(g),"aria-describedby":`chart-instructions-${z.value}`,viewBox:`0 0 ${sn.value.width} ${sn.value.height}`,class:ke({"vue-data-ui-fullscreen--on":H.value,"vue-data-ui-fulscreen--off":!H.value}),style:A({maxWidth:`100%`,overflow:`visible`,background:`transparent`,color:K.value.color}),tabindex:`0`,onFocus:qn,onBlur:Jn,onKeydown:Yn},[Ee(I(st)),P(e.$slots,`svg-underlayer`,{svg:{...sn.value,isPrintingImg:I(qt)||I(Jt)||I(zn),isPrintingSvg:I(Bn)}},void 0,!0),e.$slots[`chart-background`]?(j(),T(`foreignObject`,{key:0,x:0,y:0,width:sn.value.width,height:sn.value.height,style:{pointerEvents:`none`}},[P(e.$slots,`chart-background`,{},void 0,!0)],8,Ve)):w(``,!0),E(`defs`,null,[(j(!0),T(Se,null,N(Y.value.links,(e,t)=>(j(),T(`linearGradient`,{id:e.id,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`},[E(`stop`,{offset:`0%`,"stop-color":e.sourceColor},null,8,Ue),E(`stop`,{offset:`100%`,"stop-color":e.targetColor},null,8,We)],8,He))),256))]),(j(!0),T(Se,null,N(Y.value.links,e=>(j(),T(`path`,{class:`vue-ui-flow-link`,d:e.path,"stroke-linejoin":`round`,"stroke-miterlimit":`1`,fill:`url(#${e.id})`,stroke:Mt.value.stroke,"stroke-width":Mt.value.strokeWidth,style:A(`
|
|
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-C5mGG8hR.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-C4ZM3Vf7.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-C4ZM3Vf7.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Bt as r,Ht as i,It as a,J as ee,Jt as o,O as te,S as ne,X as re,at as s,b as ie,f as ae,i as oe,in as se,rn as ce,t as le,w as ue,yt as de,zt as fe}from"./lib-rPeBMZrn.js";import{n as pe,t as me}from"./BaseScanner-8NdoBs7B.js";import{n as he}from"./useHints-BH9r_0Vd.js";import{t as ge}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as _e}from"./resolveChartConfig-CIhClE5R.js";import{t as ve}from"./chartImage-DPGnEuYM.js";import{n as ye}from"./Title-BliHuXfT.js";import{t as be}from"./useChartExport-BZts4KFb.js";import{n as xe,t as Se}from"./annotationSlots-BRR85CqJ.js";import{n as Ce,t as we}from"./userOptionsSlots-DYuo-E5m.js";import{t as Te}from"./usePrinter-sVoTzet1.js";import{c as Ee}from"./canvas-lib-22VpOI4_.js";import{t as De}from"./useResponsive-CENUxfEL.js";import{t as Oe}from"./DefGrad-DKMq1REY.js";import{t as ke}from"./useUserOptionState-CXlFnwPv.js";import{t as Ae}from"./useChartAccessibility-DOMuYJfm.js";import{t as je}from"./usePrefersMotion-XLHwega2.js";import{t as Me}from"./useAutoSizeLabelsInsideViewbox-AIRF0PlD.js";import{t as Ne}from"./vue_ui_gauge-BJhb6yqE.js";import{Fragment as c,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createSlots as Pe,createVNode as Fe,defineAsyncComponent as Ie,guardReactiveProps as Le,mergeProps as m,nextTick as Re,normalizeClass as ze,normalizeProps as Be,normalizeStyle as Ve,onBeforeUnmount as He,onMounted as Ue,openBlock as h,ref as g,renderList as _,renderSlot as v,shallowRef as We,toDisplayString as y,toRefs as Ge,unref as b,watch as x,withCtx as Ke}from"vue";var qe=/* @__PURE__ */ e({default:()=>Tt}),Je=[`id`],Ye={key:0},Xe=[`xmlns`,`viewBox`],Ze=[`width`,`height`],Qe=[`id`],$e=[`stdDeviation`],et={key:1},tt=[`d`,`fill`,`stroke`],nt=[`d`,`fill`,`stroke`],rt=[`d`,`fill`],it=[`id`,`d`],at=[`fill`,`font-size`,`font-weight`],ot=[`href`,`startOffset`],st=[`text-anchor`,`fill`,`font-size`,`font-weight`,`innerHTML`],ct=[`d`,`filter`],lt=[`stroke`,`stroke-width`],ut=[`stroke`,`stroke-width`],dt=[`stroke`,`stroke-width`],ft=[`stroke`,`stroke-width`],pt={key:8},mt=[`x`,`y`,`text-anchor`,`font-size`,`font-weight`,`fill`],ht=[`x`,`y`,`font-size`,`font-weight`,`fill`],gt={key:0},_t=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],vt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],yt=[`x1`,`y1`,`x2`,`y2`,`stroke-width`,`filter`],bt={key:1},xt=[`d`,`fill`,`stroke`,`stroke-width`],St=[`cx`,`cy`,`fill`,`r`,`stroke-width`,`stroke`],Ct=[`x`,`y`,`font-size`,`fill`],wt={key:4,class:`vue-data-ui-watermark`},Tt=/*#__PURE__*/ ge({__name:`vue-ui-gauge`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`copyAlt`],setup(e,{expose:ge,emit:qe}){let Tt=Ie(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Et=Ie(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Dt=Ie(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),{vue_ui_gauge:Ot}=t(),kt=je(),S=e,At=qe,jt=l(()=>!!S.dataset&&Object.keys(S.dataset).length>0&&S.dataset.series&&S.dataset.series.length),C=g(re()),Mt=g(null),Nt=g(0),w=g(null),Pt=g(null),Ft=g(null),It=g(null),Lt=g(null),Rt=g(0),T=g(Gt()),E=l(()=>T.value.style.chart.layout.segmentSeparators),D=l(()=>T.value.style.chart.layout.segmentNames),O=l(()=>T.value.style.chart.layout.markers),k=l(()=>T.value.style.chart.layout.pointer),A=l(()=>T.value.style.chart.layout),j=l(()=>T.value.style.chart);he({config:()=>T.value,dataset:()=>S.dataset,component:`VueUiGauge`,rules:[{test:e=>e?.series&&e.series?.length>6,message:[`👀 The number of steps is > 6, which can make the chart hard to read and labels overlap. Consider:`,``,`▶️ Using broader steps.`]}]});let zt=l(()=>T.value.userOptions.useCursorPointer),Bt=l(()=>se({defaultConfig:{userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,animation:{use:!1},layout:{markers:{show:!1},segmentSeparators:{stroke:`#6A6A6A`},segmentNames:{show:!1},indicatorArc:{fill:`#6A6A6A50`},pointer:{stroke:`#6A6A6A`,useRatingColor:!0,circle:{stroke:`#6A6A6A`,color:`#6A6A6A`}}},legend:{show:!1}}}},userConfig:T.value.skeletonConfig??{}})),{loading:Vt,FINAL_DATASET:M,manualLoading:N}=pe({...Ge(S),FINAL_CONFIG:T,prepareConfig:Gt,callback:()=>{Promise.resolve().then(async()=>{await Re()})},skeletonDataset:S.config?.skeletonDataset??{value:0,series:[{from:-1,to:0,name:`_`,color:`#A1A1A1`},{from:0,to:1,name:`__`,color:`#CACACA`}]},skeletonConfig:se({defaultConfig:T.value,userConfig:Bt.value})}),{userOptionsVisible:Ht,setUserOptionsVisibility:Ut,keepUserOptionState:Wt}=ke({config:T.value}),{svgRef:P}=Ae({config:j.value.title});x(()=>S.config,e=>{Vt.value||(T.value=Gt()),Ht.value=!T.value.userOptions.showOnChartHover,en(),Rt.value+=1},{deep:!0}),x(()=>S.dataset,e=>{en(),e&&Object.keys(e).length>0&&(N.value=T.value?.loading??!1)},{deep:!0,immediate:!1});function Gt(){return _e(S.config,Ot,Ne)}let{isPrinting:F,isImaging:I,generatePdf:Kt,generateImage:qt}=Te({elementId:`vue-ui-gauge_${C.value}`,fileName:j.value.title.text||`vue-ui-gauge`,options:T.value.userOptions.print}),Jt=l(()=>T.value.userOptions.show&&!j.value.title.text),Yt=l(()=>ue(T.value.customPalette)),L=l(()=>{if(fe(M.value.series||{}))return{value:0,series:[{from:0,to:0}]};let e=[];(M.value.series||[]).forEach(t=>{e.push(t.from||1e-7),e.push(t.to||1e-7)});let t=Math.max(...e);return{...M.value,series:(M.value.series||[]).map((e,n)=>({...e,color:ne(e.color)||Yt.value[n]||i[n],value:((e.to||0)-(e.from||0))/t*100}))}}),R=g(512),z=g({height:358.4,width:R.value,top:0,bottom:358.4,centerX:179.2,centerY:R.value/2,labelFontSize:18,legendFontSize:j.value.legend.fontSize,pointerRadius:k.value.circle.radius,trackSize:A.value.track.size,pointerSize:k.value.size,pointerStrokeWidth:k.value.strokeWidth,markerOffset:O.value.offsetY+3,segmentFontSize:D.value.fontSize}),B=g(0),V=g(0),H=l(()=>j.value.animation.use&&!kt.value),U=g(H.value?Math.min(...M.value.series.map(e=>e.from)):M.value.value),W=null;function Xt(){W!==null&&(cancelAnimationFrame(W),W=null)}x(H,e=>{e||(Xt(),U.value=M.value.value)}),x(()=>M.value.value,()=>{tn(M.value.value)});let G=l(()=>{let e=z.value.width/2,t=X.value.base,n=Math.PI*((U.value+0-V.value)/(B.value-V.value))+Math.PI;return{x1:e,y1:t,x2:e+X.value.pointerSize*z.value.pointerSize*.9*Math.cos(n),y2:t+X.value.pointerSize*z.value.pointerSize*.9*Math.sin(n)}}),Zt=l(()=>{let e=z.value.width/2,t=X.value.base,n=Math.PI*((U.value+0-V.value)/(B.value-V.value))+Math.PI,r=e+X.value.pointerSize*z.value.pointerSize*.9*Math.cos(n),i=t+X.value.pointerSize*z.value.pointerSize*.9*Math.sin(n),a=z.value.pointerRadius,ee=e+a*Math.cos(n+Math.PI/2),o=t+a*Math.sin(n+Math.PI/2),te=e+a*Math.cos(n-Math.PI/2),ne=t+a*Math.sin(n-Math.PI/2);return isNaN(r)?null:`M ${r},${i} ${ee},${o} ${te},${ne} Z`}),Qt=l(()=>{for(let e=0;e<L.value.series.length;e+=1){let{color:t,from:n,to:r}=L.value.series[e];if(U.value>=n&&U.value<=r)return t}return`#2D353C`}),K=We(null),q=We(null),J=l({get:()=>z.value.segmentFontSize,set:e=>e}),{autoSizeLabels:$t}=Me({svgRef:P,fontSize:z.value.segmentFontSize,minFontSize:D.value.minFontSize,sizeRef:J,labelClass:`.vue-ui-gauge-label-flat`}),Y=l(()=>T.value.debug);function en(){let e=!1;if(fe(S.dataset)?(s({componentName:`VueUiGauge`,type:`dataset`,debug:Y.value}),N.value=!0,e=!0):(de({datasetObject:S.dataset,requiredAttributes:[`value`,`series`]}).forEach(t=>{s({componentName:`VueUiGauge`,type:`datasetAttribute`,property:t,debug:Y.value}),N.value=!0,e=!0}),Object.hasOwn(S.dataset,`series`)&&(S.dataset.series.length?S.dataset.series.forEach((t,n)=>{de({datasetObject:t,requiredAttributes:[`from`,`to`]}).forEach(t=>{s({componentName:`VueUiGauge`,type:`datasetSerieAttribute`,property:t,index:n,debug:Y.value}),N.value=!0,e=!0})}):(s({componentName:`VueUiGauge`,type:`datasetAttributeEmpty`,property:`series`,debug:Y.value}),N.value=!0,e=!0))),N.value=e,tn(M.value.value||0),T.value.responsive){let e=Ee(()=>{let{width:e,height:t}=De({chart:w.value,title:j.value.title.text?Pt.value:null,legend:Ft.value,source:It.value,noTitle:Lt.value});t-=12,requestAnimationFrame(()=>{z.value.width=e,z.value.height=t,z.value.centerX=e/2,z.value.centerY=R.value/2/358.4*t,z.value.bottom=t,z.value.labelFontSize=18/R.value*Math.min(t,e)<10?10:18/R.value*Math.min(t,e),z.value.legendFontSize=j.value.legend.fontSize/R.value*Math.min(t,e)<14?14:j.value.legend.fontSize/R.value*Math.min(t,e),z.value.pointerRadius=k.value.circle.radius/R.value*Math.min(t,e),z.value.trackSize=A.value.track.size/R.value*Math.min(t,e),z.value.pointerStrokeWidth=ce({relator:Math.min(e,t),adjuster:R.value,source:k.value.strokeWidth,threshold:2,fallback:2}),z.value.markerOffset=ce({relator:Math.max(e,t),adjuster:R.value,source:O.value.offsetY+3,threshold:2,fallback:2}),z.value.segmentFontSize=ce({relator:Math.min(e,t),adjuster:R.value,source:D.value.fontSize,threshold:8,fallback:8})}),$t()});K.value&&(q.value&&K.value.unobserve(q.value),K.value.disconnect()),K.value=new ResizeObserver(e),q.value=w.value.parentNode,K.value.observe(q.value)}$t()}Ue(()=>{en()}),He(()=>{Xt(),K.value&&(q.value&&K.value.unobserve(q.value),K.value.disconnect())});function tn(e){let t=[];if((L.value.series||[]).forEach(e=>{t.push(e.from||0),t.push(e.to||0)}),B.value=Math.max(...t),V.value=Math.min(...t),Xt(),!H.value){U.value=e;return}let n=j.value.animation.speed,r=Math.abs(e-U.value)/(n*60);function i(){H.value?(U.value<e?U.value=Math.min(U.value+r,e):U.value>e&&(U.value=Math.max(U.value-r,e)),W=U.value===e?null:requestAnimationFrame(i)):(U.value=e,W=null)}i()}let X=l(()=>{let e=T.value.responsive?Math.min(z.value.width,z.value.height):z.value.width,t=2.5/A.value.radiusRatio;return{arcs:e/t,gradients:e/(t*1.1),base:T.value.responsive?z.value.height/1.618:z.value.height*.7,ratingBase:T.value.responsive?z.value.height/2+z.value.height/4:z.value.height*.9,pointerSize:T.value.responsive?Math.min(z.value.width,z.value.height)/3:z.value.width/3.2}}),Z=l(()=>a({series:L.value.series},z.value.width/2,X.value.base,X.value.arcs,X.value.arcs,1,1,1,180,109.9495,40*z.value.trackSize)),nn=l(()=>a({series:L.value.series},z.value.width/2,X.value.base,X.value.arcs*D.value.offsetRatio,X.value.arcs*D.value.offsetRatio,1,1,1,180,109.9495,40*z.value.trackSize)),Q=l(()=>Z.value.map(e=>X.value.arcs*D.value.offsetRatio*(e.nameOffsetRatio||1))),rn=l(()=>{let{x:e,y:t}=r({initX:Z.value[0].firstSeparator.x,initY:Z.value[0].firstSeparator.y,centerX:G.value.x1,centerY:G.value.y1,offset:-E.value.offsetIn}),{x:n,y:i}=r({initX:Z.value[0].startX,initY:Z.value[0].startY,centerX:G.value.x1,centerY:G.value.y1,offset:E.value.offsetOut});return{x1:e,y1:t,x2:n,y2:i}}),an=l(()=>Z.value.map(e=>{let{x:t,y:n}=r({initX:e.separator.x,initY:e.separator.y,centerX:G.value.x1,centerY:G.value.y1,offset:-E.value.offsetIn}),{x:i,y:a}=r({initX:e.endX,initY:e.endY,centerX:G.value.x1,centerY:G.value.y1,offset:E.value.offsetOut});return{x1:t,y1:n,x2:i,y2:a}}));function on(e){if(e.reduce((e,t)=>e+t,0)>100)throw Error(`Total % must not exceed 100`);let t=0;return e.map(e=>(t+=e,`${t/100*50-e/4}%`))}let sn=l(()=>on(Z.value.map(e=>e.proportion*100))),cn=l(()=>a({series:L.value.series},z.value.width/2,X.value.base,X.value.gradients,X.value.gradients,.95,1,1,180,110.02,2*z.value.trackSize)),ln=l(()=>{let e=V.value>=0?-V.value:Math.abs(V.value);return te({radius:A.value.indicatorArc.radius*z.value.trackSize,centerX:z.value.width/2,centerY:X.value.base,percentage:ie((U.value+e)/(B.value+e))})}),$=g(!1);function un(e){$.value=e,Nt.value+=1}let dn=g(!1);function fn(){dn.value=!dn.value}let pn=ve(w,()=>j.value.title.text),mn=l(()=>j.value.backgroundColor),hn=l(()=>j.value.title),{isCallbackImaging:gn,isCallbackSvg:_n,generateSvg:vn,onGenerateImage:yn}=be({svg:P,title:hn,legend:null,legendItems:null,backgroundColor:mn,getSvgCallback:()=>T.value.userOptions.callbacks.svg,generateImage:qt});async function bn(){At(`copyAlt`,{config:T.value,dataset:L.value}),T.value.userOptions.callbacks.altCopy?await Promise.resolve(T.value.userOptions.callbacks.altCopy({config:T.value,dataset:L.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return ge({getImage:pn,generatePdf:Kt,generateImage:qt,generateSvg:vn,toggleAnnotator:fn,toggleFullscreen:un,copyAlt:bn}),(e,t)=>(h(),f(`div`,{class:ze(`vue-data-ui-component vue-ui-gauge ${$.value?`vue-data-ui-wrapper-fullscreen`:``}`),ref_key:`gaugeChart`,ref:w,id:`vue-ui-gauge_${C.value}`,style:Ve(`font-family:${T.value.style.fontFamily};width:100%; text-align:center;background:${j.value.backgroundColor};${T.value.responsive?`height: 100%`:``}`),onMouseenter:t[0]||=()=>b(Ut)(!0),onMouseleave:t[1]||=()=>b(Ut)(!1)},[T.value.userOptions.buttons.annotator?(h(),u(b(Tt),{key:0,svgRef:b(P),backgroundColor:j.value.backgroundColor,color:j.value.color,active:dn.value,isCursorPointer:zt.value,palette:T.value.userOptions.annotatorPalette,onClose:fn},Pe({_:2},[_(b(Se),t=>({name:t,fn:Ke(n=>[v(e.$slots,t,Be(Le(b(xe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):d(``,!0),Jt.value?(h(),f(`div`,{key:1,ref_key:`noTitle`,ref:Lt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):d(``,!0),j.value.title.text?(h(),f(`div`,{key:2,ref_key:`chartTitle`,ref:Pt,style:`width:100%;background:transparent;padding-bottom:12px`},[(h(),u(ye,{key:`title_${Rt.value}`,config:{title:{cy:`gauge-div-title`,...j.value.title},subtitle:{cy:`gauge-div-subtitle`,...j.value.title.subtitle}}},{default:Ke(()=>[T.value.translations.base&&b(M).base?(h(),f(`span`,Ye,y(T.value.translations.base)+`: `+y(b(M).base),1)):d(``,!0)]),_:1},8,[`config`]))],512)):d(``,!0),T.value.userOptions.show&&jt.value&&(b(Wt)||b(Ht))?(h(),u(b(Et),{ref_key:`details`,ref:Mt,key:`user_options_${Nt.value}`,backgroundColor:j.value.backgroundColor,color:j.value.color,isImaging:b(I),isPrinting:b(F),uid:C.value,hasXls:!1,hasPdf:T.value.userOptions.buttons.pdf,hasImg:T.value.userOptions.buttons.img,hasSvg:T.value.userOptions.buttons.svg,hasFullscreen:T.value.userOptions.buttons.fullscreen,hasAltCopy:T.value.userOptions.buttons.altCopy,isFullscreen:$.value,titles:{...T.value.userOptions.buttonTitles},chartElement:w.value,callbacks:T.value.userOptions.callbacks,printScale:T.value.userOptions.print.scale,position:T.value.userOptions.position,hasAnnotator:T.value.userOptions.buttons.annotator,isAnnotation:dn.value,isCursorPointer:zt.value,onToggleFullscreen:un,onGeneratePdf:b(Kt),onGenerateImage:b(yn),onGenerateSvg:b(vn),onToggleAnnotator:fn,onCopyAlt:bn,style:Ve({visibility:b(Wt)?b(Ht)?`visible`:`hidden`:`visible`})},Pe({_:2},[_(b(Ce)(e.$slots,`menuIcon optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Ke(n=>[v(e.$slots,t,Be(Le(b(we)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isImaging`,`isPrinting`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasFullscreen`,`hasAltCopy`,`isFullscreen`,`titles`,`chartElement`,`callbacks`,`printScale`,`position`,`hasAnnotator`,`isAnnotation`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):d(``,!0),(h(),f(`svg`,{ref_key:`svgRef`,ref:P,xmlns:b(le),class:ze({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value}),viewBox:`0 0 ${z.value.width<=0?10:z.value.width} ${z.value.height<=0?10:z.value.height}`,style:Ve(`max-width:100%;overflow:hidden !important;background:transparent;color:${j.value.color}`)},[Fe(b(Dt)),v(e.$slots,`svg-underlayer`,{svg:{...z.value,isPrintingImg:b(F)||b(I)||b(gn),isPrintingSvg:b(_n)}},void 0,!0),e.$slots[`chart-background`]?(h(),f(`foreignObject`,{key:0,x:0,y:0,width:z.value.width<=0?10:z.value.width,height:z.value.height<=0?10:z.value.height,style:{pointerEvents:`none`}},[v(e.$slots,`chart-background`,{},void 0,!0)],8,Ze)):d(``,!0),p(`defs`,null,[Fe(Oe,{t:`radial`,id:`gradient_${C.value}`,cx:`50%`,cy:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,b(o)(`#FFFFFF`,1),1],[`80%`,b(o)(`#FFFFFF`,A.value.track.gradientIntensity),1],[`100%`,b(o)(`#FFFFFF`,1),1]]},null,8,[`id`,`stops`])]),p(`defs`,null,[p(`filter`,{id:`blur_${C.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[p(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/A.value.track.gradientIntensity},null,8,$e)],8,Qe)]),e.$slots.pattern?(h(),f(`g`,et,[(h(!0),f(c,null,_(Z.value,(t,n)=>(h(),f(`defs`,null,[v(e.$slots,`pattern`,m({ref_for:!0},{seriesIndex:n,patternId:`pattern_${C.value}_${n}`}),void 0,!0)]))),256))])):d(``,!0),(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:e.color,stroke:j.value.backgroundColor,"stroke-linecap":`round`},null,8,tt))),128)),e.$slots.pattern?(h(!0),f(c,{key:2},_(Z.value,(e,t)=>(h(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:`url(#pattern_${C.value}_${t})`,stroke:j.value.backgroundColor,"stroke-linecap":`round`},null,8,nt))),128)):d(``,!0),A.value.indicatorArc.show?(h(),f(`path`,{key:3,d:ln.value,fill:A.value.indicatorArc.fill},null,8,rt)):d(``,!0),D.value.show&&D.value.curved?(h(),f(c,{key:4},[(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`path`,{id:`curve_${C.value}_${t}`,d:`M ${G.value.x1},${G.value.y1} m -${Q.value[t]},0 a ${Q.value[t]},${Q.value[t]} 0 1,1 ${2*Q.value[t]},0 a ${Q.value[t]},${Q.value[t]} 0 1,1 -${2*Q.value[t]},0`,fill:`transparent`},null,8,it))),256)),(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`text`,{fill:D.value.useSerieColor?e.color:D.value.color,"font-size":J.value,"font-weight":D.value.bold?`bold`:`normal`,"text-anchor":`middle`},[p(`textPath`,{href:`#curve_${C.value}_${t}`,startOffset:sn.value[t]},y(e.name||``),9,ot)],8,at))),256))],64)):d(``,!0),D.value.show&&!D.value.curved?(h(!0),f(c,{key:5},_(nn.value,(e,t)=>(h(),f(`text`,{class:`vue-ui-gauge-label-flat`,"text-anchor":b(ae)(e,!1,12).anchor,fill:D.value.useSerieColor?e.color:D.value.color,"font-size":J.value,"font-weight":D.value.bold?`bold`:`normal`,innerHTML:b(ee)({content:String(e.name??``),fontSize:J.value,fill:D.value.useSerieColor?e.color:D.value.color,x:e.center.endX,y:e.center.endY})},null,8,st))),256)):d(``,!0),A.value.track.useGradient?(h(!0),f(c,{key:6},_(cn.value,(e,t)=>(h(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:`#FFFFFF`,stroke:`none`,"stroke-linecap":`round`,filter:`url(#blur_${C.value})`},null,8,ct))),128)):d(``,!0),E.value.show?(h(),f(c,{key:7},[p(`line`,m(rn.value,{stroke:j.value.backgroundColor,"stroke-width":E.value.strokeWidth+2,"stroke-linecap":`round`}),null,16,lt),p(`line`,m(rn.value,{stroke:E.value.stroke,"stroke-width":E.value.strokeWidth,"stroke-linecap":`round`}),null,16,ut),(h(!0),f(c,null,_(an.value,e=>(h(),f(`line`,m({ref_for:!0},e,{stroke:j.value.backgroundColor,"stroke-width":E.value.strokeWidth+2,"stroke-linecap":`round`}),null,16,dt))),256)),(h(!0),f(c,null,_(an.value,e=>(h(),f(`line`,m({ref_for:!0},e,{stroke:E.value.stroke,"stroke-width":E.value.strokeWidth,"stroke-linecap":`round`}),null,16,ft))),256))],64)):d(``,!0),O.value.show?(h(),f(`g`,pt,[(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`text`,{x:b(r)({centerX:G.value.x1,centerY:X.value.base,initX:e.center.startX,initY:e.center.startY,offset:z.value.markerOffset}).x,y:b(r)({centerX:G.value.x1,centerY:X.value.base,initX:e.center.startX,initY:e.center.startY,offset:z.value.markerOffset}).y,"text-anchor":e.center.startX<G.value.x1-5?`end`:e.center.startX>G.value.x1+5?`start`:`middle`,"font-size":z.value.labelFontSize*O.value.fontSizeRatio,"font-weight":`${O.value.bold?`bold`:`normal`}`,fill:O.value.color},y(b(oe)(O.value.formatter,e.from,b(n)({p:O.value.prefix,v:e.from,s:O.value.suffix,r:O.value.roundingValue}))),9,mt))),256))])):d(``,!0),O.value.show?(h(),f(`text`,{key:9,x:b(r)({centerX:z.value.width/2,centerY:X.value.base,initX:Z.value.at(-1).endX,initY:Z.value.at(-1).endY,offset:z.value.markerOffset}).x,y:b(r)({centerX:z.value.width/2,centerY:X.value.base,initX:Z.value.at(-1).endX,initY:Z.value.at(-1).endY,offset:z.value.markerOffset}).y,"text-anchor":`start`,"font-size":z.value.labelFontSize*O.value.fontSizeRatio,"font-weight":`${O.value.bold?`bold`:`normal`}`,fill:O.value.color},y(b(oe)(O.value.formatter,B.value,b(n)({p:O.value.prefix,v:B.value,s:O.value.suffix,r:O.value.roundingValue}))),9,ht)):d(``,!0),k.value.show?(h(),f(c,{key:10},[k.value.type===`rounded`?(h(),f(`g`,gt,[isNaN(G.value.x2)?d(``,!0):(h(),f(`line`,{key:0,x1:G.value.x1,y1:G.value.y1,x2:G.value.x2,y2:G.value.y2,stroke:k.value.stroke,"stroke-width":z.value.pointerStrokeWidth,"stroke-linecap":`round`},null,8,_t)),isNaN(G.value.x2)?d(``,!0):(h(),f(`line`,{key:1,x1:G.value.x1,y1:G.value.y1,x2:G.value.x2,y2:G.value.y2,stroke:k.value.useRatingColor?Qt.value:k.value.color,"stroke-linecap":`round`,"stroke-width":z.value.pointerStrokeWidth*.7},null,8,vt)),!isNaN(G.value.x2)&&A.value.track.useGradient?(h(),f(`line`,{key:2,x1:G.value.x1,y1:G.value.y1,x2:G.value.x2,y2:G.value.y2,stroke:`white`,"stroke-linecap":`round`,"stroke-width":z.value.pointerStrokeWidth*.3,filter:`url(#blur_${C.value})`},null,8,yt)):d(``,!0)])):(h(),f(`g`,bt,[Zt.value?(h(),f(`path`,{key:0,d:Zt.value,fill:k.value.useRatingColor?Qt.value:k.value.color,stroke:k.value.stroke,"stroke-width":k.value.circle.strokeWidth,"stroke-linejoin":`round`},null,8,xt)):d(``,!0)])),p(`circle`,{cx:z.value.width/2,cy:X.value.base,fill:k.value.circle.color,r:z.value.pointerRadius<=0?1e-4:z.value.pointerRadius,"stroke-width":k.value.circle.strokeWidth,stroke:k.value.circle.stroke},null,8,St)],64)):d(``,!0),j.value.legend.show?(h(),f(`text`,{key:11,x:z.value.width/2,y:X.value.ratingBase,"text-anchor":`middle`,"font-size":z.value.legendFontSize,"font-weight":`bold`,fill:j.value.legend.useRatingColor?Qt.value:j.value.legend.color},y(b(oe)(j.value.legend.formatter,U.value,b(n)({p:j.value.legend.prefix+(j.value.legend.showPlusSymbol&&U.value>0?`+`:``),v:U.value,s:j.value.legend.suffix,r:j.value.legend.roundingValue}))),9,Ct)):d(``,!0),v(e.$slots,`svg`,{svg:{...z.value,isPrintingImg:b(F)||b(I)||b(gn),isPrintingSvg:b(_n)}},void 0,!0)],14,Xe)),e.$slots.watermark?(h(),f(`div`,wt,[v(e.$slots,`watermark`,Be(Le({isPrinting:b(F)||b(I)||b(gn)||b(_n)})),void 0,!0)])):d(``,!0),p(`div`,{ref_key:`chartLegend`,ref:Ft},[v(e.$slots,`legend`,{legend:L.value},void 0,!0)],512),e.$slots.source?(h(),f(`div`,{key:5,ref_key:`source`,ref:It,dir:`auto`},[v(e.$slots,`source`,{},void 0,!0)],512)):d(``,!0),v(e.$slots,`skeleton`,{},()=>[b(Vt)?(h(),u(me,{key:0})):d(``,!0)],!0)],46,Je))}},[[`__scopeId`,`data-v-f504fb15`]]);export{qe as n,Tt as t};
|