vue-data-ui 3.27.1-beta.0 → 3.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -41
- package/dist/{Arrow-CJeSufxg.js → Arrow-D6OAn5rm.js} +1 -1
- package/dist/{BaseDraggableDialog-T1gEsQid.js → BaseDraggableDialog-Bw_azO0n.js} +1 -1
- package/dist/BaseIcon-DDctLkeT.js +1 -0
- package/dist/{BaseLegendToggle-Dn_tNvn4.js → BaseLegendToggle-BOcw1ke8.js} +1 -1
- package/dist/BaseZoomControls-Cq5AOHQ0.js +1 -0
- package/dist/{ColorPicker-CUjEw53A.js → ColorPicker-DHQvvLT9.js} +1 -1
- package/dist/DataTable-BcVZLSs8.js +1 -0
- package/dist/{HillActions-DdvXld3a.js → HillActions-Bq3UJ1Ut.js} +1 -1
- package/dist/{Legend-DokTll4u.js → Legend-D8NunRPr.js} +1 -1
- package/dist/{NonSvgPenAndPaper-BLzQuIm6.js → NonSvgPenAndPaper-CxQZ0YED.js} +1 -1
- package/dist/{PackageVersion-D6pKL176.js → PackageVersion-ATrKWi8V.js} +1 -1
- package/dist/{PenAndPaper-DvJJaeU2.js → PenAndPaper-BsBFp16i.js} +1 -1
- package/dist/{Shape-tkp65OcG.js → Shape-gDVRWM6n.js} +1 -1
- package/dist/SlicerPreview-Dpu4nMz6.js +1 -0
- package/dist/{SparkTooltip-BlJLvizH.js → SparkTooltip-cWKhrsKX.js} +1 -1
- package/dist/{Title-BRAjxtjG.js → Title-BLA0tM3g.js} +1 -1
- package/dist/{Tooltip-BUXB0i6z.js → Tooltip-Iyb_S6oQ.js} +1 -1
- package/dist/UserOptions-BSJ_S_us.js +1 -0
- package/dist/{chartImage-NwZO-elv.js → chartImage-r-G4CkRK.js} +1 -1
- package/dist/components/arrow.js +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-accordion.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-annotator.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -0
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-icon.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-label.js +1 -1
- package/dist/components/vue-ui-mini-loader.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-rating.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-smiley.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-heatmap.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy-canvas.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/{dom-to-png-Cp3WLHmJ.js → dom-to-png-Cp6rAdnI.js} +1 -1
- package/dist/{exposedLib-CMTeSmyW.js → exposedLib-BDGMSW1B.js} +1 -1
- package/dist/{img-8sM3sVWU.js → img-DiP2_5_r.js} +1 -1
- package/dist/{labelUtils-Djp5nJtN.js → labelUtils-DXiFpsZl.js} +1 -1
- package/dist/{lib-zDxoqrgo.js → lib-DqD8nbyX.js} +4 -4
- package/dist/package-UBaXe2y9.js +1 -0
- package/dist/{pdf-Dlv_ks7R.js → pdf-y3S8SBFk.js} +1 -1
- package/dist/{render-common-DOYi0f4Z.js → render-common-tsNLeNaX.js} +1 -1
- package/dist/{resolveChartConfig-BSo1Oe9n.js → resolveChartConfig-ChGWTt5l.js} +1 -1
- package/dist/ssr/vue-ui-donut.js +1 -1
- package/dist/ssr/vue-ui-xy.js +1 -1
- package/dist/ssr.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/vue-data-ui.d.ts +323 -0
- package/dist/types/vue-ui-graph.d.ts +21 -0
- package/dist/useConfig-DM9fSqjh.js +1 -0
- package/dist/{useNestedProp-CT9phgWx.js → useNestedProp-DrLnzyHO.js} +1 -1
- package/dist/useObjectBindings-Cn4Vz0RY.js +1 -0
- package/dist/{usePrinter-CnyKPIFM.js → usePrinter-Cj4eIYC_.js} +1 -1
- package/dist/utils.js +1 -1
- package/dist/vue-data-ui-yeD7UyUU.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/vue-ui-3d-bar-COrzyTkO.js +19 -0
- package/dist/vue-ui-accordion-3lBpCjGm.js +1 -0
- package/dist/vue-ui-age-pyramid-CAoVjkOA.js +1 -0
- package/dist/vue-ui-annotator-CpTZHnPw.js +331 -0
- package/dist/vue-ui-bullet-yvY_gdw2.js +34 -0
- package/dist/vue-ui-bump-ChsFkIq9.js +10 -0
- package/dist/vue-ui-candlestick-D9UXZQoN.js +22 -0
- package/dist/vue-ui-carousel-table-CKyE4hME.js +1 -0
- package/dist/vue-ui-chestnut-BuLjW5nb.js +1 -0
- package/dist/vue-ui-chord-Bjwt2_BK.js +21 -0
- package/dist/vue-ui-circle-pack-BpAuZruK.js +13 -0
- package/dist/vue-ui-cursor-Dn-IBaP8.js +1 -0
- package/dist/vue-ui-dag-CyY3cSa6.js +9 -0
- package/dist/vue-ui-dashboard-DmyStkQM.js +1 -0
- package/dist/{vue-ui-digits-CL9SuIEI.js → vue-ui-digits-BBiRMr01.js} +2 -2
- package/dist/{vue-ui-donut-BaEodt-3.js → vue-ui-donut-CGyBWxzh.js} +2 -2
- package/dist/vue-ui-donut-DMF74OY0.js +47 -0
- package/dist/vue-ui-donut-evolution-Du4zLc8D.js +2 -0
- package/dist/vue-ui-dumbbell-CxL_AY5e.js +9 -0
- package/dist/vue-ui-flow-h6kTMamJ.js +3 -0
- package/dist/vue-ui-funnel-BG5Addzr.js +1 -0
- package/dist/vue-ui-galaxy-CgnshY8i.js +1 -0
- package/dist/vue-ui-gauge-a13ojQPr.js +1 -0
- package/dist/vue-ui-geo-CflzhtuD.js +1 -0
- package/dist/vue-ui-gizmo-K1lfslsA.js +1 -0
- package/dist/vue-ui-graph-C2Se8bnB.js +7 -0
- package/dist/vue-ui-heatmap-5NsQkMwS.js +1 -0
- package/dist/vue-ui-hill-COnjVS2L.js +1 -0
- package/dist/vue-ui-history-plot-BRJdXsNo.js +2 -0
- package/dist/vue-ui-horizontal-bar-G0wEKTRu.js +4 -0
- package/dist/vue-ui-kpi-BZjfQxmY.js +1 -0
- package/dist/{vue-ui-label-D1Aog-zO.js → vue-ui-label-BD_hTtgZ.js} +2 -2
- package/dist/vue-ui-mini-loader-ltQXdeeW.js +1 -0
- package/dist/vue-ui-molecule-DI-CS5w8.js +1 -0
- package/dist/vue-ui-mood-radar-B5ar9WAZ.js +1 -0
- package/dist/vue-ui-nested-donuts-BP2YzVma.js +19 -0
- package/dist/vue-ui-onion-CCiZ6jmF.js +5 -0
- package/dist/vue-ui-parallel-coordinate-plot-3E0CysDx.js +9 -0
- package/dist/vue-ui-quadrant-BwgwvKy8.js +2 -0
- package/dist/vue-ui-quick-chart-BXNg0LNe.js +17 -0
- package/dist/vue-ui-radar-B9Ntj_Gj.js +1 -0
- package/dist/vue-ui-rating-B33u3iIn.js +1 -0
- package/dist/vue-ui-relation-circle-B60IUw50.js +1 -0
- package/dist/vue-ui-ridgeline-BPbYng2A.js +2 -0
- package/dist/vue-ui-rings-BXo9p3Ab.js +1 -0
- package/dist/vue-ui-scatter-BwrYPDzh.js +9 -0
- package/dist/{vue-ui-skeleton-B-Acw3CC.js → vue-ui-skeleton-DTn7uIui.js} +3 -3
- package/dist/{vue-ui-smiley-Ciwqt6ek.js → vue-ui-smiley-qCRUFmpq.js} +1 -1
- package/dist/vue-ui-spark-trend-wKFu-O7B.js +1 -0
- package/dist/vue-ui-sparkbar-DPFzdX-D.js +1 -0
- package/dist/vue-ui-sparkgauge-DlEPsxc0.js +1 -0
- package/dist/vue-ui-sparkhistogram-DLZxE6oz.js +1 -0
- package/dist/vue-ui-sparkline-BflZPl7s.js +1 -0
- package/dist/vue-ui-sparkstackbar-DvSQfGeA.js +1 -0
- package/dist/vue-ui-stackbar-JKC9qE6M.js +29 -0
- package/dist/vue-ui-stackline-G7-oqfzp.js +39 -0
- package/dist/vue-ui-strip-plot-54u7AUip.js +2 -0
- package/dist/vue-ui-table-3F8i2ZjT.js +14 -0
- package/dist/vue-ui-table-heatmap-CtYPYMIJ.js +1 -0
- package/dist/vue-ui-table-sparkline-CTfYTzhA.js +1 -0
- package/dist/vue-ui-thermometer-BpFbPqxK.js +1 -0
- package/dist/vue-ui-timer-DsWRNtRa.js +64 -0
- package/dist/vue-ui-tiremarks-C4wVcSVP.js +1 -0
- package/dist/vue-ui-treemap-mYRv6gga.js +1 -0
- package/dist/vue-ui-waffle-DNBIZqZz.js +1 -0
- package/dist/vue-ui-wheel-DPHDp0t1.js +1 -0
- package/dist/vue-ui-word-cloud-BY4YsW7-.js +4 -0
- package/dist/vue-ui-world-DQWjoFDx.js +19 -0
- package/dist/vue-ui-xy-DfvcqUwW.js +31 -0
- package/dist/vue-ui-xy-M9aD-G5a.js +24 -0
- package/dist/vue-ui-xy-canvas-BpwG1Ipj.js +9 -0
- package/dist/vue_ui_donut_evolution-CVoh3twl.js +1 -0
- package/dist/vue_ui_graph-B1ACwQj7.js +1 -0
- package/dist/vue_ui_quick_chart-BRfcRW6Z.js +1 -0
- package/package.json +1 -1
- package/dist/BaseIcon-Cz30ODFA.js +0 -1
- package/dist/BaseZoomControls-xq3tWD3j.js +0 -1
- package/dist/DataTable-DSUA5M9p.js +0 -1
- package/dist/SlicerPreview-GFRs2EWB.js +0 -1
- package/dist/UserOptions-D65t74CM.js +0 -1
- package/dist/package-DIR2F6AE.js +0 -1
- package/dist/useConfig-CKdzPrcf.js +0 -1
- package/dist/useObjectBindings-DM3xDKV3.js +0 -1
- package/dist/vue-data-ui-BG41UScx.js +0 -1
- package/dist/vue-ui-3d-bar-DiaiNy-k.js +0 -19
- package/dist/vue-ui-accordion-Dy5OVFKr.js +0 -1
- package/dist/vue-ui-age-pyramid-OeUr1yxi.js +0 -1
- package/dist/vue-ui-annotator-DA_xAFql.js +0 -331
- package/dist/vue-ui-bullet-B9lcCTVb.js +0 -34
- package/dist/vue-ui-bump-DYajIrva.js +0 -10
- package/dist/vue-ui-candlestick-CdAZuNxo.js +0 -22
- package/dist/vue-ui-carousel-table-ihGH0LDH.js +0 -1
- package/dist/vue-ui-chestnut-B2aNXFNO.js +0 -1
- package/dist/vue-ui-chord-fAckHfOW.js +0 -21
- package/dist/vue-ui-circle-pack-BWHVImkS.js +0 -13
- package/dist/vue-ui-cursor-DdXKXmhr.js +0 -1
- package/dist/vue-ui-dag-a0fNoIcJ.js +0 -9
- package/dist/vue-ui-dashboard-DkdYMB7n.js +0 -1
- package/dist/vue-ui-donut-DaYxdQmP.js +0 -47
- package/dist/vue-ui-donut-evolution-T8cRXKRQ.js +0 -2
- package/dist/vue-ui-dumbbell-B6HJxEZp.js +0 -9
- package/dist/vue-ui-flow-BlTCVFr3.js +0 -3
- package/dist/vue-ui-funnel-WgLFJadZ.js +0 -1
- package/dist/vue-ui-galaxy-B3nuI6E8.js +0 -1
- package/dist/vue-ui-gauge-BwTP65O4.js +0 -1
- package/dist/vue-ui-geo-CX3yH18H.js +0 -1
- package/dist/vue-ui-gizmo-CNHcBsku.js +0 -1
- package/dist/vue-ui-heatmap-CTdeoar7.js +0 -1
- package/dist/vue-ui-hill-DR5k8GWZ.js +0 -1
- package/dist/vue-ui-history-plot-C-9uH-Uj.js +0 -2
- package/dist/vue-ui-horizontal-bar-qqF7pL7U.js +0 -4
- package/dist/vue-ui-kpi-DVcLXGqG.js +0 -1
- package/dist/vue-ui-mini-loader-CX0Dx9tT.js +0 -1
- package/dist/vue-ui-molecule-B13qVX71.js +0 -1
- package/dist/vue-ui-mood-radar-C1BtB8lg.js +0 -1
- package/dist/vue-ui-nested-donuts-B90yrlJG.js +0 -19
- package/dist/vue-ui-onion-UMVO2DE_.js +0 -5
- package/dist/vue-ui-parallel-coordinate-plot-C0ofFivm.js +0 -9
- package/dist/vue-ui-quadrant-CPG6yAiu.js +0 -2
- package/dist/vue-ui-quick-chart-BTPb-Iz8.js +0 -17
- package/dist/vue-ui-radar-Hd-pE9ih.js +0 -1
- package/dist/vue-ui-rating-C_YxQYa_.js +0 -1
- package/dist/vue-ui-relation-circle-CHYG7ZJl.js +0 -1
- package/dist/vue-ui-ridgeline-DS1Gvljt.js +0 -2
- package/dist/vue-ui-rings-B-Hb13Uu.js +0 -1
- package/dist/vue-ui-scatter-BTgvOmuo.js +0 -9
- package/dist/vue-ui-spark-trend-CYqy6c0S.js +0 -1
- package/dist/vue-ui-sparkbar-CTXIgjmP.js +0 -1
- package/dist/vue-ui-sparkgauge-CObOL6s2.js +0 -1
- package/dist/vue-ui-sparkhistogram-ClFyDez-.js +0 -1
- package/dist/vue-ui-sparkline-DP_nYlW8.js +0 -1
- package/dist/vue-ui-sparkstackbar-B2f0ePMg.js +0 -1
- package/dist/vue-ui-stackbar-nMWHZ-f0.js +0 -29
- package/dist/vue-ui-stackline-B95y6Zc5.js +0 -39
- package/dist/vue-ui-strip-plot-gFNC4r-X.js +0 -2
- package/dist/vue-ui-table-Br2JgD_L.js +0 -14
- package/dist/vue-ui-table-heatmap-Btu2ejF4.js +0 -1
- package/dist/vue-ui-table-sparkline-B9mYHAxp.js +0 -1
- package/dist/vue-ui-thermometer-C6u1eLfo.js +0 -1
- package/dist/vue-ui-timer-DLgsfB1U.js +0 -64
- package/dist/vue-ui-tiremarks-8B9uE1Bx.js +0 -1
- package/dist/vue-ui-treemap-C4Mot-Os.js +0 -1
- package/dist/vue-ui-waffle-BwcwNpf7.js +0 -1
- package/dist/vue-ui-wheel-B3OGCXg7.js +0 -1
- package/dist/vue-ui-word-cloud-BPIyMBXq.js +0 -4
- package/dist/vue-ui-world-Cp0DeauH.js +0 -19
- package/dist/vue-ui-xy-BOE1jvUS.js +0 -31
- package/dist/vue-ui-xy-DSyKSn4L.js +0 -24
- package/dist/vue-ui-xy-canvas-CaxxiKSa.js +0 -9
- package/dist/vue_ui_donut_evolution-nzVwNQYv.js +0 -1
- package/dist/vue_ui_quick_chart-Da1GwklM.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.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-DqD8nbyX.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-DrLnzyHO.js";import{t as Te}from"./useThemeCheck-BKNRbGeC.js";import{t as Ee}from"./chartImage-r-G4CkRK.js";import{n as De}from"./Title-BLA0tM3g.js";import{t as Oe}from"./useChartExport-DtPNpc9M.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-Cj4eIYC_.js";import{t as Le}from"./useTransitions-DfSHzsdz.js";import{t as Re}from"./useStableElementSize-CegFbRlF.js";import{t as ze}from"./useTimeLabelCollider-XQf_S7-z.js";import{l as Be,t as Ve}from"./useResponsive-D2CPcpda.js";import{t as He}from"./DefGrad-DKMq1REY.js";import{t as Ue}from"./SlicerPreview-Dpu4nMz6.js";import{t as We}from"./BaseLegendToggle-BOcw1ke8.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-D8NunRPr.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 h,guardReactiveProps as et,mergeProps as tt,nextTick as nt,normalizeClass as g,normalizeProps as rt,normalizeStyle as it,onBeforeUnmount as at,onMounted as ot,openBlock as _,ref as v,renderList as y,renderSlot as b,resolveDynamicComponent as st,shallowRef as ct,toDisplayString as x,toRefs as lt,unref as S,watch as ut,watchEffect as dt,withCtx as C}from"vue";var ft=/* @__PURE__ */ e({default:()=>tn}),pt=[`id`],mt=[`id`],ht=[`id`],gt={style:{position:`relative`}},_t=[`xmlns`,`aria-describedby`,`viewBox`],vt=[`x`,`y`,`width`,`height`],yt={key:1},bt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],xt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],St={key:0},Ct=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],wt=[`font-size`,`fill`,`transform`],Tt=[`x`,`y`,`font-size`,`fill`],Et=[`d`,`stroke`,`stroke-width`],Dt=[`transform`,`font-size`,`text-anchor`,`fill`,`font-weight`],Ot={key:0},kt=[`text-anchor`,`font-size`,`fill`,`transform`],At=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`],jt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],Mt={key:1},Nt=[`cx`,`cy`,`r`,`fill`],Pt={key:0},Ft={key:0},It=[`d`,`stroke`],Lt=[`text-anchor`,`x`,`y`,`fill`],Rt=[`cx`,`cy`,`r`,`fill`],zt={key:0},Bt=[`cx`,`cy`,`fill`],Vt={key:1},Ht=[`d`,`fill`,`stroke`],Ut={key:2},Wt=[`d`,`fill`,`stroke`],Gt=[`x`,`y`,`font-size`,`fill`],Kt=[`x`,`y`,`width`,`height`,`fill`],qt=[`x`,`y`,`width`,`height`,`onMouseenter`,`onMouseleave`,`onClick`],Jt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],Yt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Xt={key:5,class:`vue-data-ui-watermark`},Zt=[`id`],Qt=[`onClick`],$t={key:0},en={key:1},tn=/*#__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:ft}){let tn=h(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),nn=h(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),rn=h(()=>import(`./DataTable-BcVZLSs8.js`)),an=h(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),on=h(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),sn=h(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),cn=h(()=>import(`./vue-ui-donut-DMF74OY0.js`).then(e=>e.n)),ln=h(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_donut_evolution:un}=t(),{isThemeValid:dn,warnInvalidTheme:fn}=Te(),w=e,T=v(re()),E=v([]),D=v(null),O=v(null),pn=v(!1),k=v(null),A=v(null),mn=v(null),hn=v(0),gn=v(0),_n=v(0),vn=v(0),yn=v(0),bn=v(null),xn=v(null),Sn=v(null),Cn=v(null),wn=v(!1),Tn=v(null),En=v(null),Dn=ct(null),On=v(0),kn=v(0),An=v(!1);function jn(){Dn.value=A.value?.parentNode??null}function Mn(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function Nn(){let e=++kn.value;await nt(),await Mn(),await Mn(),e===kn.value&&(On.value+=1)}function Pn(){An.value||(An.value=!0,nt(()=>{An.value=!1,jn(),Nn()}))}let Fn=Re({elementRef:Dn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{Nn()}}),In=v(null),Ln=v(null),Rn=v(null),zn=v(null),Bn=v(null),Vn=v(!1),j=ct(null),Hn=ct(null),Un=v(null),M=v(null),Wn=v(!1),N=ft,Gn=u(()=>!!w.dataset&&w.dataset.length);ot(()=>{wn.value=!0,jn(),Fn.start(),qn(),Nn()});let Kn=u(()=>P.value.debug);function qn(){if(ve(w.dataset)?(ae({componentName:`VueUiDonutEvolution`,type:`dataset`,debug:Kn.value}),$n.value=!0):w.dataset.length&&w.dataset.forEach((e,t)=>{_e({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:e,index:t,debug:Kn.value}),$n.value=!0})}),ve(w.dataset)||($n.value=P.value.loading),setTimeout(()=>{Vn.value=!0},10),vr(),P.value.responsive){let e=Be(()=>{Vn.value=!1;let{width:e,height:t}=Ve({chart:A.value,title:P.value.style.chart.title.text?In.value:null,legend:P.value.style.chart.legend.show?Ln.value:null,slicer:P.value.style.chart.zoom.show&&tr.value>1?Bn.value:null,source:Rn.value});requestAnimationFrame(()=>{er.value.width=e,er.value.height=t-12,Pn(),clearTimeout(Un.value),Un.value=setTimeout(()=>{Vn.value=!0},10)})});j.value&&(Hn.value&&j.value.unobserve(Hn.value),j.value.disconnect()),j.value=new ResizeObserver(e),Hn.value=A.value.parentNode,j.value.observe(Hn.value)}Pn()}let P=v(Er()),F=u(()=>I.value.grid),I=u(()=>P.value.style.chart.layout),Jn=u(()=>P.value.style.chart.dialog),L=u(()=>P.value.style.chart);xe({config:()=>P.value,dataset:()=>w.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:Yn}=Le({config:()=>P.value.transitions,dataset:()=>w.dataset}),R=u(()=>P.value.userOptions.useCursorPointer),Xn=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:P.value.skeletonConfig??{}})),{loading:Zn,FINAL_DATASET:Qn,manualLoading:$n}=ye({...lt(w),FINAL_CONFIG:P,prepareConfig:Er,callback:()=>{Promise.resolve().then(async()=>{await vr()})},skeletonDataset:w.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:P.value,userConfig:Xn.value})}),er=v({width:I.value.width,height:I.value.height}),tr=u(()=>Math.max(...Qn.value.map(e=>e.values.length))),z=v({start:0,end:tr.value}),B=v(!1),nr=v(!1),V=v(null),H=v(null),U=v(null),rr=v(!1),ir=v({time:0,x:0,y:0,pointerType:null}),ar=u(()=>P.value.style.chart.zoom?.dragToZoom),W=u(()=>ar.value.show&&Gn.value&&sr.value&&Y.value>1&&!Zn.value),or=v(!1),sr=v(!1),cr=v(!1),lr=null,ur={};function dr(e,t=z.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 fr(e){let t=dr(e);t&&N(`update:zoomState`,t)}function pr(){lr&&=(cancelAnimationFrame(lr),null),ur={}}function mr(e,t=z.value.start){let n=Y.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function hr(){let e=Y.value;if(!Number.isFinite(e)||e<=0){z.value={start:0,end:0};return}let t=Math.max(0,Math.min(Number(z.value.start)||0,e-1)),n=Math.max(t+1,Math.min(Number(z.value.end)||e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),z.value={start:t,end:n},zn.value&&zn.value.setRangeValues(t,n)}function gr(e){let t=dr(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(z.value.start)||r!==Number(z.value.end))&&(pr(),z.value={start:n,end:r},hr(),Pn()),{start:Number(z.value.start),end:Number(z.value.end)}}function _r(e){let t=gr(e);return t?(fr(t),t):null}async function vr(e=!0){if(!or.value){or.value=!0;try{await nt(),await nt();let{startIndex:t,endIndex:n}=L.value.zoom,r=Y.value;if(!Number.isFinite(r)||r<=0){z.value={start:0,end:0},sr.value=!0;return}let i=t==null?0:Number(t),a=n==null?r:mr(Number(n)+1,i);cr.value=!0,z.value={start:i,end:a},hr(),sr.value=!0,e&&w.zoomState&&gr(w.zoomState)}finally{queueMicrotask(()=>{cr.value=!1}),or.value=!1,Pn()}}}async function yr({force:e=!1,publish:t=!1}={}){await vr(!e),t&&(fr({start:Number(z.value.start),end:Number(z.value.end)}),N(`zoomReset`))}ut([()=>w.zoomState,sr],([e,t])=>{t&&e&&gr(e)},{deep:!0,immediate:!0});function br(e){ur={...ur,...e},lr&&cancelAnimationFrame(lr),lr=requestAnimationFrame(()=>{let e={...z.value,...ur};ur={},lr=null,z.value=e,hr(),Pn(),fr({start:Number(z.value.start),end:Number(z.value.end)})})}function xr(e){if(or.value||cr.value)return;let t=Number(e);Number.isFinite(t)&&(N(`zoomStart`,{index:t,isZoom:t!==0}),t!==z.value.start&&br({start:t}))}function Sr(e){if(or.value||cr.value)return;let t=ur.start===void 0?z.value.start:ur.start,n=mr(Number(e),t);Number.isFinite(n)&&(N(`zoomEnd`,{index:n,isZoom:n!==Y.value}),(n!==z.value.end||ur.start!==void 0)&&br({end:n}))}let{userOptionsVisible:Cr,setUserOptionsVisibility:wr,keepUserOptionState:Tr}=Ke({config:P.value}),{svgRef:G}=qe({config:L.value.title});function Er(){let e=we({userConfig:w.config,defaultConfig:un}),t={},n=e.theme;if(n){if(!dn.value(e))fn(e),t=e;else{let r=we({userConfig:Ye[n]||w.config,defaultConfig:e});t={...we({userConfig:w.config,defaultConfig:r}),customPalette:e.customPalette?e.customPalette:ue[n]||o}}}else t=e;return t}ut(()=>w.config,e=>{Zn.value||(P.value=Er()),Cr.value=!P.value.userOptions.showOnChartHover,qn(),_n.value+=1,vn.value+=1,yn.value+=1,Nr.value.showTable=P.value.table.show},{deep:!0}),ut(()=>w.dataset,e=>{Array.isArray(e)&&e.length>0&&($n.value=!1),yr()},{deep:!0});let{isPrinting:Dr,isImaging:Or,generatePdf:kr,generateImage:Ar}=Ie({elementId:T.value,fileName:L.value.title.text||`vue-ui-donut-evolution`,options:P.value.userOptions.print}),jr=u(()=>P.value.userOptions.show&&!L.value.title.text),Mr=u(()=>he(P.value.customPalette)),Nr=v({showTable:P.value.table.show});ut(P,()=>{Nr.value={showTable:P.value.table.show}},{immediate:!0});let Pr=u(()=>({top:I.value.padding.top,right:I.value.padding.right,bottom:I.value.padding.bottom,left:I.value.padding.left})),K=u(()=>F.value.yAxis.position===`right`);function Fr(){let e=0;bn.value&&(e=Array.from(bn.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0));let t=Cn.value?Cn.value.getBoundingClientRect().width+F.value.axis.yLabelOffsetX+F.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}}let Ir=v(0),Lr=Be(e=>{Ir.value=e},100);dt(e=>{let t=xn.value;if(!t)return;let n=new ResizeObserver(e=>{Lr(e[0].contentRect.height)});n.observe(t),e(()=>n.disconnect())}),at(()=>{Ir.value=0,Fn.stop(),clearTimeout(Un.value),pr(),fi(),Qr(),j.value&&(Hn.value&&j.value.unobserve(Hn.value),j.value.disconnect(),j.value=null,Hn.value=null)});let Rr=u(()=>{let e=0;Sn.value&&(e=Sn.value.getBBox().height);let t=0;return xn.value&&(t=Ir.value),e+t+F.value.axis.fontSize+F.value.xAxis.dataLabels.offsetY}),q=u(()=>{On.value;let e=Fr(),t=I.value.dataLabels.fontSize*3,n=er.value.width,r=er.value.height,i=Pr.value.left+e.left,a=n-Pr.value.right-e.right,o=n-i-Pr.value.right-e.right,ee=r-Pr.value.top-Pr.value.bottom-t-Rr.value,s=Pr.value.top+t;return{top:s,left:i,right:a,bottom:r-Pr.value.bottom-Rr.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(()=>(Kn.value&&Qn.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})}),Qn.value.map((e,t)=>({...e,values:te(e.values),color:ne(e.color)||Mr.value[t]||o[t]||o[t%o.length],length:(e.values||[]).length,uid:re()})))),zr=u(()=>J.value.filter(e=>!E.value.includes(e.uid)).map(e=>({...e,values:e.values.filter((e,t)=>t>=z.value.start&&t<=z.value.end)}))),Y=u(()=>Math.max(...J.value.map(e=>e.length))),X=v([]),Br=0;dt(()=>{let e=++Br;(async()=>{let t=await Fe({values:F.value.xAxis.dataLabels.values,maxDatapoints:Y.value,formatter:F.value.xAxis.dataLabels.datetimeFormatter,start:z.value.start,end:z.value.end});e===Br&&(X.value=t)})()});let Z=u(()=>q.value.width/(z.value.end-z.value.start)),Vr=u(()=>{let e=[];for(let t=0;t<z.value.end-z.value.start;t+=1){let n=zr.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}),Hr=u(()=>{let e=Math.max(...Vr.value.map(e=>e.subtotal).filter(e=>i(e)))??1,t=Math.min(...Vr.value.map(e=>e.subtotal).filter(e=>i(e)))??0,n=Math.max(F.value.yAxis.scaleMax??0,e),r;return r=F.value.yAxis.scaleMin==null?0:Math.min(t,F.value.yAxis.scaleMin),F.value.yAxis.autoScale&&(r=t,n=e),r===n&&(r=n/2,n*=1.5),{max:n,min:r}}),Q=u(()=>{let e=Vr.value.length===1?Hr.value.max*2:Hr.value.max;return ie(Hr.value.min,e,F.value.yAxis.dataLabels.steps)});ut(()=>Q.value.ticks.join(`|`),()=>{Pn()},{flush:`post`});function Ur(e){return(e-Q.value.min)/(Q.value.max-Q.value.min)}let Wr=u(()=>Q.value.ticks.map(e=>({y:q.value.bottom-q.value.height*Ur(e),value:e}))),$=u(()=>{let e=Vr.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=D.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*Ur(t.subtotal),c=zr.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 Gr(e,t,r){return ce(I.value.dataLabels.formatter,e,n({p:I.value.dataLabels.prefix,v:e,s:I.value.dataLabels.suffix,r:I.value.dataLabels.rounding}),{datapoint:t,index:r})}function Kr(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 Jr=u(()=>!B.value||V.value==null||H.value==null?null:{x:Math.min(V.value,H.value),y:q.value.top,width:Math.abs(H.value-V.value),height:q.value.height}),Yr=u(()=>sr.value?Number(z.value.start)!==0||Number(z.value.end)!==Number(Y.value):!1);function Xr(e){return Math.min(Math.max(e,q.value.left),q.value.right)}function Zr(){D.value=null,O.value=null,M.value=null}function Qr(e){let t=e?.pointerId==null?U.value:e.pointerId;t!=null&&G.value?.hasPointerCapture?.(t)&&G.value.releasePointerCapture(t),B.value=!1,V.value=null,H.value=null,U.value=null}function $r(){rr.value=!0,setTimeout(()=>{rr.value=!1},0)}function ei(e){rr.value&&(rr.value=!1,e.preventDefault(),e.stopPropagation())}function ti(e){if(!W.value||!Yr.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=ir.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?(ir.value={time:0,x:0,y:0,pointerType:null},$r(),fi(),Qr(e),Fi(),yr({force:!0,publish:!0}),!0):(ir.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function ni(e){let t=Number(z.value.end)-Number(z.value.start);if(t<=0||!Number.isFinite(Z.value)||Z.value<=0)return null;let n=Math.floor((Xr(e)-q.value.left)/Z.value);return Math.max(0,Math.min(t-1,n))}function ri(e,t){let n=ni(e),r=ni(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(z.value.start)+i,end:Number(z.value.start)+a+1}}function ii(e){let t=_r(e);return t?(N(`zoomStart`,{index:t.start,isZoom:t.start!==0}),N(`zoomEnd`,{index:t.end,isZoom:t.end!==Y.value}),t):null}function ai(e){if(!W.value||ki.value||e.button!==void 0&&e.button!==0||U.value!=null&&e.pointerId!==U.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(z.value.end)-Number(z.value.start)<=1)return;nr.value=!0,G.value?.focus?.({preventScroll:!0}),fi(),Zr();let n=Xr(t.x);U.value=e.pointerId,B.value=!0,V.value=n,H.value=n}function oi(e){if(!W.value||!B.value||U.value!=null&&e.pointerId!==U.value)return;let t=qr(e);t&&(H.value=Xr(t.x),Zr(),V.value!=null&&Math.abs(H.value-V.value)>=2&&!G.value?.hasPointerCapture?.(e.pointerId)&&G.value?.setPointerCapture?.(e.pointerId))}function si(e){if(!W.value||!B.value||U.value!=null&&e.pointerId!==U.value)return;let t=qr(e);t&&(H.value=Xr(t.x));let n=V.value,r=H.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,q.value.width*.01)){if(ti(e))return;Qr(e);return}let i=ri(Math.min(n,r),Math.max(n,r));if(!i){Qr(e);return}Qr(e),ii(i)&&(ir.value={time:0,x:0,y:0,pointerType:null},Zr(),$r())}function ci(e){B.value||(D.value=null,O.value=null,M.value=null,P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex+z.value.start}))}function li(e){B.value||(P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:e.index+z.value.start}),D.value=e.index,O.value=e,M.value=e.index)}let ui=v(null),di=null;function fi(){di&&=(clearTimeout(di),null)}function pi(e,t){P.value.events.datapointClick&&P.value.events.datapointClick({datapoint:e,seriesIndex:e.index+z.value.start}),e.subtotal&&Jn.value.show&&(O.value=null,D.value=null,pn.value=!0,k.value=e,Ii(e),[null,void 0].includes(t)||(ui.value=t))}function mi(e,t){if(fi(),!W.value||!Yr.value){pi(e,t);return}let n=ir.value.pointerType===`touch`?480:380;di=setTimeout(()=>{di=null,pi(e,t)},n)}let hi=u(()=>J.value.map((e,t)=>({name:e.name,value:e.values.slice(z.value.start,z.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:E.value.includes(e.uid)?.5:1,segregate:()=>yi(e.uid),isSegregated:E.value.includes(e.uid),display:`${e.name}${L.value.legend.showPercentage||L.value.legend.showValue?`: `:``}${L.value.legend.showValue?ce(I.value.dataLabels.formatter,e.value,n({p:I.value.dataLabels.prefix,v:e.value,s:I.value.dataLabels.suffix,r:L.value.legend.roundingValue}),{datapoint:e,seriesIndex:t}):``}${L.value.legend.showPercentage?E.value.includes(e.uid)?`${L.value.legend.showValue?` (`:``}- %${L.value.legend.showValue?`)`:``}`:`${L.value.legend.showValue?` (`:``}${isNaN(e.value/gi.value)?`-`:n({v:e.value/gi.value*100,s:`%`,r:L.value.legend.roundingPercentage})}${L.value.legend.showValue?`)`:``}`:``}`}))),gi=u(()=>$.value.map(e=>e.subtotal).reduce((e,t)=>e+t,0)),_i=u(()=>({cy:`donut-div-legend`,backgroundColor:L.value.legend.backgroundColor,color:L.value.legend.color,fontSize:L.value.legend.fontSize,paddingBottom:12,fontWeight:L.value.legend.bold?`bold`:``}));function vi(){E.value.length?E.value=[]:hi.value.forEach(e=>{E.value.push(e.uid)}),N(`selectLegend`,zr.value)}function yi(e){if(E.value.includes(e))E.value=E.value.filter(t=>t!==e),N(`selectLegend`,zr.value);else{if(E.value.length===J.value.length-1)return;E.value.push(e),N(`selectLegend`,zr.value)}k.value&&pi($.value.find((e,t)=>t===ui.value))}function bi(e){return J.value.length?J.value.find(t=>t.name===e)||(Kn.value&&console.warn(`VueUiDonutEvolution - Series name not found "${e}"`),null):(Kn.value&&console.warn(`VueUiDonutEvolution - There are no series to show.`),null)}function xi(e){let t=bi(e);t!==null&&E.value.includes(t.uid)&&yi(t.uid)}function Si(e){let t=bi(e);t!==null&&(E.value.includes(t.uid)||yi(t.uid))}let Ci=u(()=>{let e=[``].concat(J.value.filter(e=>!E.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=>!E.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=>!E.value.includes(e.uid)).map(t=>({value:t.values[e]??0,percentage:t.values[e]?t.values[e]/n*100:0})),[`${I.value.dataLabels.prefix}${Number(n.toFixed(P.value.table.td.roundingValue))}${I.value.dataLabels.suffix}`]))}return{head:e,body:t,bodyA11y:t.map(e=>e.map((t,n)=>n===0||n===e.length-1?t:`${Gr(t.value??0,null,n)} (${t.percentage.toFixed(1)}%)`)),config:{th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint},colNames:[P.value.table.columnNames.period].concat(J.value.filter(e=>!E.value.includes(e.uid)).map(e=>e.name),P.value.table.columnNames.total)}});function wi(){return J.value}function Ti(e=null){nt(()=>{let t=[[L.value.title.text],[L.value.title.subtitle.text],[``]],n=[...Ci.value.head.map(e=>e.name??e)],r=[...Ci.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:L.value.title.text||`vue-ui-donut-evolution`})})}let Ei=v(!1);function Di(e){Ei.value=e,hn.value+=1}function Oi(){Nr.value.showTable=!Nr.value.showTable}let ki=v(!1);function Ai(){ki.value=!ki.value}function ji(e){return e.proportion*100>L.value.donuts.hover.hideLabelsUnderValue}let Mi=v([]),Ni=v({}),Pi=v(null);function Fi(){Pi.value?.close?.(),k.value=null,ui.value=null,pn.value=!1,O.value=null,D.value=null,M.value=null}function Ii(e){Mi.value=e.donut.map(e=>({name:e.name,values:[e.value],color:e.color})),Ni.value=me({...Jn.value.donutChart,responsive:!0,theme:P.value.theme}),Pi.value&&Pi.value.open()}let Li=Ee(A,()=>L.value.title.text),Ri=u(()=>er.value.width),zi=u(()=>er.value.height);ze({timeLabelsEls:xn,timeLabels:X,slicer:z,configRef:P,rotationPath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:Ri,height:zi,rotation:F.value.xAxis.dataLabels.autoRotate.angle});let Bi=u(()=>Ae({config:P,style:L,mutableConfig:Nr,dialog:ln,accordion:tn,isFullscreen:Ei,parent:A,maxWidth:800,isCursorPointer:R}));ut(()=>Nr.value.showTable,e=>ke(e,P,Tn));function Vi(){Nr.value.showTable=!1,En.value&&En.value.setTableIconState(!1)}let Hi=u(()=>hi.value.map(e=>({...e,name:e.display}))),Ui=u(()=>L.value.backgroundColor),Wi=u(()=>L.value.legend),Gi=u(()=>L.value.title),{isCallbackImaging:Ki,isCallbackSvg:qi,generateSvg:Ji,onGenerateImage:Yi}=Oe({svg:G,title:Gi,legend:Wi,legendItems:Hi,backgroundColor:Ui,getSvgCallback:()=>P.value.userOptions.callbacks.svg,generateImage:Ar});async function Xi(){if(N(`copyAlt`,{config:P.value,dataset:$.value}),!P.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(P.value.userOptions.callbacks.altCopy({config:P.value,dataset:$.value}))}function Zi(){M.value=null,Wn.value=!0}function Qi(){nr.value=!1,M.value=null,D.value=null,O.value=null,Wn.value=!1}function $i(e){if(!G.value||ki.value||document.activeElement!==G.value||(nr.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(W.value&&(Yr.value||B.value)){fi(),Qr(),Fi(),yr({force:!0,publish:!0});return}M.value=null,D.value=null,O.value=null;return}if(r){if(M.value===null)return;let e=$.value[M.value];if(!e)return;pi(e,M.value);return}let a=M.value,o=D.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&&li(c)}let ea=u(()=>({headers:Ci.value?.colNames??[],rows:Ci.value?.bodyA11y??[]}));return Ce({getData:wi,getImage:Li,generatePdf:kr,generateCsv:Ti,generateImage:Ar,generateSvg:Ji,hideSeries:Si,showSeries:xi,toggleTable:Oi,toggleAnnotator:Ai,toggleFullscreen:Di,copyAlt:Xi,resetZoom:()=>yr({force:!0,publish:!0}),setZoomState:_r}),(e,t)=>(_(),p(`div`,{ref_key:`donutEvolutionChart`,ref:A,class:g(`vue-data-ui-component vue-ui-donut-evolution ${Ei.value?`vue-data-ui-wrapper-fullscreen`:``} ${P.value.useCssAnimation?``:`vue-ui-dna`}`),style:it(`font-family:${P.value.style.fontFamily};width:100%; text-align:center;background:${L.value.backgroundColor}`),id:T.value,onMouseenter:t[4]||=()=>S(wr)(!0),onMouseleave:t[5]||=()=>S(wr)(!1)},[m(`div`,{id:`chart-instructions-${T.value}`,class:`sr-only`},[m(`p`,null,x(P.value.a11y.translations.keyboardNavigation),1)],8,mt),ea.value?.rows?.length?(_(),d(Ge,{key:0,uid:T.value,head:ea.value.headers,body:ea.value.rows,notice:P.value.a11y.translations.tableAvailable,caption:P.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),P.value.userOptions.buttons.annotator?(_(),d(S(on),{key:1,svgRef:S(G),backgroundColor:L.value.backgroundColor,color:L.value.color,active:ki.value,isCursorPointer:R.value,palette:P.value.userOptions.annotatorPalette,onClose:Ai},Ze({_:2},[y(S(Me),t=>({name:t,fn:C(n=>[b(e.$slots,t,rt(et(S(je)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),jr.value?(_(),p(`div`,{key:2,ref_key:`noTitle`,ref:mn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),L.value.title.text?(_(),p(`div`,{key:3,ref_key:`chartTitle`,ref:In,style:`width:100%;background:transparent;padding-bottom:24px`,onMouseleave:ci},[(_(),d(De,{key:`title_${_n.value}`,config:{title:{cy:`donut-evolution-div-title`,...L.value.title},subtitle:{cy:`donut-evolution-div-subtitle`,...L.value.title.subtitle}}},null,8,[`config`]))],544)):f(``,!0),m(`div`,{id:`legend-top-${T.value}`},null,8,ht),P.value.userOptions.show&&Gn.value&&(S(Tr)||S(Cr))?(_(),d(S(sn),{ref_key:`userOptionsRef`,ref:En,key:`user_options_${hn.value}`,backgroundColor:L.value.backgroundColor,color:L.value.color,isPrinting:S(Dr),isImaging:S(Or),uid:T.value,hasPdf:P.value.userOptions.buttons.pdf,hasImg:P.value.userOptions.buttons.img,hasSvg:P.value.userOptions.buttons.svg,hasXls:P.value.userOptions.buttons.csv,hasTable:P.value.userOptions.buttons.table,hasFullscreen:P.value.userOptions.buttons.fullscreen,hasAltCopy:P.value.userOptions.buttons.altCopy,isFullscreen:Ei.value,titles:{...P.value.userOptions.buttonTitles},chartElement:A.value,position:P.value.userOptions.position,hasAnnotator:P.value.userOptions.buttons.annotator,isAnnotation:ki.value,callbacks:P.value.userOptions.callbacks,printScale:P.value.userOptions.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:R.value,onToggleFullscreen:Di,onGeneratePdf:S(kr),onGenerateCsv:Ti,onGenerateImage:S(Yi),onGenerateSvg:S(Ji),onToggleTable:Oi,onToggleAnnotator:Ai,onCopyAlt:Xi,style:it({visibility:S(Tr)?S(Cr)?`visible`:`hidden`:`visible`})},Ze({_:2},[y(S(Ne)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:C(n=>[b(e.$slots,t,rt(et(S(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`,gt,[(_(),p(`svg`,{ref_key:`svgRef`,ref:G,xmlns:S(pe),"aria-describedby":`chart-instructions-${T.value}`,class:g({"vue-data-ui-fullscreen--on":Ei.value,"vue-data-ui-fulscreen--off":!Ei.value,"vue-data-ui-no-transition":!S(Yn),"vue-ui-donut-evolution-chart-zoom-pointer-focus":W.value&&nr.value}),viewBox:`0 0 ${q.value.absoluteWidth} ${q.value.absoluteHeight}`,style:it({maxWidth:`100%`,overflow:`visible`,background:`transparent`,color:L.value.color,cursor:W.value?B.value?`col-resize`:`crosshair`:void 0,touchAction:W.value?`pan-y`:void 0,userSelect:W.value?`none`:void 0}),tabindex:`0`,onFocus:Zi,onBlur:Qi,onKeydown:$i,onPointerdown:ai,onPointermove:oi,onPointerup:si,onPointercancel:Qr,onClickCapture:ei},[$e(S(an)),e.$slots[`chart-background`]?(_(),p(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:q.value.width,height:q.value.height,style:{pointerEvents:`none`}},[b(e.$slots,`chart-background`,{},void 0,!0)],8,vt)):f(``,!0),m(`defs`,null,[$e(He,{t:`linear`,id:`hover_${T.value}`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,stops:[[`0%`,S(c)(L.value.backgroundColor,I.value.highlighter.opacity),1],[`100%`,S(c)(I.value.highlighter.color,I.value.highlighter.opacity),1]]},null,8,[`id`,`stops`]),$e(He,{t:`radial`,id:`focus_${T.value}`,stops:[[`0%`,S(c)(S(ne)(L.value.backgroundColor),0),1],[`77%`,S(c)(`#FFFFFF`,30),1],[`100%`,S(c)(S(ne)(L.value.backgroundColor),0),1]]},null,8,[`id`,`stops`])]),F.value.show?(_(),p(`g`,yt,[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:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,bt),m(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,xt),F.value.showVerticalLines?(_(),p(`g`,St,[(_(!0),p(l,null,y(z.value.end-z.value.start,(e,t)=>(_(),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:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,Ct))),256))])):f(``,!0)])):f(``,!0),m(`g`,null,[F.value.axis.yLabel?(_(),p(`text`,{key:0,ref_key:`yAxisLabel`,ref:Cn,"font-size":F.value.axis.fontSize,fill:F.value.axis.color,transform:`translate(${K.value?q.value.absoluteWidth-F.value.axis.fontSize/2-F.value.axis.yLabelOffsetX:F.value.axis.fontSize}, ${q.value.top+q.value.height/2}) rotate(-90)`,"text-anchor":`middle`,style:{transition:`none`}},x(F.value.axis.yLabel),9,wt)):f(``,!0),F.value.axis.xLabel?(_(),p(`text`,{key:1,ref_key:`xAxisLabel`,ref:Sn,"text-anchor":`middle`,x:q.value.absoluteWidth/2,y:q.value.absoluteHeight-3,"font-size":F.value.axis.fontSize,fill:F.value.axis.color},x(F.value.axis.xLabel),9,Tt)):f(``,!0)]),F.value.yAxis.dataLabels.show?(_(),p(`g`,{key:2,ref_key:`scaleLabels`,ref:bn,class:g({"donut-opacity":!0,"donut-behind":D.value!==null})},[(_(!0),p(l,null,y(Wr.value,(e,t)=>(_(),p(`g`,{key:`sl_${t}`},[e.value>=Q.value.min&&e.value<=Q.value.max?(_(),p(`path`,{key:0,class:g({"vue-data-ui-transition":S(Yn)}),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:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,10,Et)):f(``,!0),e.value>=Q.value.min&&e.value<=Q.value.max?(_(),p(`text`,{key:1,class:g({"vue-data-ui-transition":S(Yn)}),transform:`translate(${K.value?q.value.right-F.value.yAxis.dataLabels.offsetX+7:q.value.left+F.value.yAxis.dataLabels.offsetX-7}, ${e.y+F.value.yAxis.dataLabels.fontSize/3})`,"font-size":F.value.yAxis.dataLabels.fontSize,"text-anchor":K.value?`start`:`end`,fill:F.value.yAxis.dataLabels.color,"font-weight":F.value.yAxis.dataLabels.bold?`bold`:`normal`},x(S(ge)(e.value)?S(ce)(I.value.dataLabels.formatter,e.value,S(n)({p:I.value.dataLabels.prefix,v:e.value,s:I.value.dataLabels.suffix,r:I.value.grid.yAxis.dataLabels.roundingValue}),{datapoint:e,seriesIndex:t}):``),11,Dt)):f(``,!0)]))),128))],2)):f(``,!0),F.value.xAxis.dataLabels.show?(_(),p(`g`,{key:3,ref_key:`timeLabelsEls`,ref:xn,class:g({"donut-opacity":!0})},[(_(!0),p(l,null,y(z.value.end-z.value.start,(e,t)=>(_(),p(`g`,null,[(F.value.xAxis.dataLabels.showOnlyFirstAndLast&&(t===0||t===Y.value-1)||!F.value.xAxis.dataLabels.showOnlyFirstAndLast)&&X.value[t]&&X.value[t].text?(_(),p(`g`,Ot,[String(X.value[t].text).includes(`
|
|
2
|
+
`)?(_(),p(`text`,{key:1,class:`vue-data-ui-time-label`,"text-anchor":F.value.xAxis.dataLabels.rotation>0?`start`:F.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":F.value.xAxis.dataLabels.fontSize,fill:F.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+F.value.xAxis.dataLabels.fontSize+F.value.xAxis.dataLabels.offsetY}), rotate(${F.value.xAxis.dataLabels.rotation})`,innerHTML:S(s)({content:String(X.value[t].text),fontSize:F.value.xAxis.dataLabels.fontSize,fill:I.value.grid.xAxis.dataLabels.color,x:0,y:0})},null,8,At)):(_(),p(`text`,{key:0,class:`vue-data-ui-time-label`,"text-anchor":F.value.xAxis.dataLabels.rotation>0?`start`:F.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":F.value.xAxis.dataLabels.fontSize,fill:F.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+F.value.xAxis.dataLabels.fontSize+F.value.xAxis.dataLabels.offsetY}), rotate(${F.value.xAxis.dataLabels.rotation})`},x(X.value[t].text||``),9,kt))])):f(``,!0)]))),256))],512)):f(``,!0),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`g`,null,[I.value.line.show&&t<$.value.length-1&&![e.subtotal,$.value[t+1].subtotal].includes(null)?(_(),p(`line`,{key:0,class:g({"donut-opacity":!0,"donut-behind":D.value!==null}),x1:e.x,y1:e.y,x2:$.value[t+1].x,y2:$.value[t+1].y,stroke:I.value.line.stroke,"stroke-width":I.value.line.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,10,jt)):f(``,!0),e.subtotal===null?f(``,!0):(_(),p(`g`,Mt,[e.subtotal?(_(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:e.activeRadius,fill:L.value.backgroundColor},null,8,Nt)):f(``,!0)]))]))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`g`,{class:g({"donut-opacity":!0,"donut-behind":t!==D.value&&D.value!==null})},[e.subtotal?(_(),p(`g`,Pt,[D.value!==null&&D.value===t?(_(),p(`g`,Ft,[(_(!0),p(l,null,y(e.donutHover,t=>(_(),p(`g`,null,[ji(t)?(_(),p(`path`,{key:0,d:S(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,It)):f(``,!0)]))),256)),(_(!0),p(l,null,y(e.donutHover,(t,n)=>(_(),p(`g`,null,[ji(t)?(_(),p(`text`,{key:0,"data-cy-hover-label":``,"text-anchor":S(oe)(t,!0,0).anchor,x:S(oe)(t,!0,9).x,y:S(fe)(t,14,10),fill:F.value.yAxis.dataLabels.color,"font-size":8,"font-weight":`bold`},x(t.name)+`: `+x(Kr(t,e.donut))+` (`+x(t.value===null?`-`:Gr(t.value,t,n))+`) `,9,Lt)):f(``,!0)]))),256)),m(`g`,null,[m(`circle`,{cx:e.x,cy:e.y,r:e.hoverRadius,fill:L.value.backgroundColor},null,8,Rt)])])):f(``,!0)])):f(``,!0)],2))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`g`,{class:g({"donut-opacity":!0,"donut-behind":t!==D.value&&D.value!==null})},[e.subtotal===null?f(``,!0):(_(),p(`g`,zt,[e.subtotal===0?(_(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:3,fill:L.value.color},null,8,Bt)):D.value!==null&&D.value===t?(_(),p(`g`,Vt,[(_(!0),p(l,null,y(e.donutHover,(e,t)=>(_(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":1,stroke:L.value.backgroundColor},null,8,Ht))),256))])):(_(),p(`g`,Ut,[(_(!0),p(l,null,y(e.donut,(e,t)=>(_(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":.5,stroke:L.value.backgroundColor},null,8,Wt))),256))]))]))],2))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`g`,{class:g({"donut-opacity":!0,"donut-behind":t!==D.value&&D.value!==null||pn.value&&t!==k.value.index})},[e.subtotal!==null&&I.value.dataLabels.show?(_(),p(`text`,{key:0,"text-anchor":`middle`,x:e.x,y:D.value===e.index&&e.subtotal?e.y+I.value.dataLabels.fontSize/3:e.y-e.radius-I.value.dataLabels.fontSize+I.value.dataLabels.offsetY,"font-size":I.value.dataLabels.fontSize,"font-weight":`bold`,fill:I.value.dataLabels.color},x(Gr(e.subtotal,e,t)),9,Gt)):f(``,!0)],2))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`rect`,{x:q.value.left+t*Z.value,y:q.value.top,width:Z.value,height:q.value.height,fill:[D.value,ui.value].includes(e.index)?`url(#hover_${T.value})`:`transparent`,class:g({"donut-hover":R.value&&e.subtotal&&[D.value,ui.value].includes(e.index)}),style:{pointerEvents:`none`}},null,10,Kt))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),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=>li(e),onMouseleave:t=>ci(e),onClick:n=>mi(e,t),style:it({cursor:W.value?B.value?`col-resize`:`crosshair`:void 0}),class:g({"donut-hover":R.value&&D.value===e.index&&e.subtotal})},null,46,qt))),256)),Jr.value?(_(),p(`rect`,{key:4,x:Jr.value.x,y:Jr.value.y,width:Jr.value.width,height:Jr.value.height,fill:ar.value.selection.fill,"fill-opacity":ar.value.selection.fillOpacity,stroke:ar.value.selection.stroke,"stroke-opacity":ar.value.selection.strokeOpacity,"stroke-width":ar.value.selection.strokeWidth,"stroke-dasharray":ar.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,Jt)):f(``,!0),b(e.$slots,`svg`,{svg:{...q.value,isPrintingImg:S(Dr)||S(Or)||S(Ki),isPrintingSvg:S(qi)}},void 0,!0)],46,_t)),e.$slots.hint?(_(),p(`div`,Yt,[b(e.$slots,`hint`,rt(et({hint:P.value.a11y.translations.keyboardNavigation,isVisible:Wn.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(_(),p(`div`,Xt,[b(e.$slots,`watermark`,rt(et({isPrinting:S(Dr)||S(Or)||S(Ki)||S(qi)})),void 0,!0)])):f(``,!0),m(`div`,{ref_key:`chartSlicer`,ref:Bn,style:it(`width:100%;background:${L.value.backgroundColor}`),"data-dom-to-png-ignore":``},[Y.value>1&&L.value.zoom.show?(_(),d(Ue,{ref_key:`slicerComponent`,ref:zn,key:`slicer_${gn.value}`,background:L.value.zoom.color,borderColor:L.value.backgroundColor,fontSize:L.value.zoom.fontSize,useResetSlot:L.value.zoom.useResetSlot,timeLabels:X.value,textColor:L.value.color,inputColor:L.value.zoom.color,selectColor:L.value.zoom.highlightColor,max:Y.value,min:0,valueStart:z.value.start,valueEnd:z.value.end,refreshStartPoint:L.value.zoom.startIndex===null?0:L.value.zoom.startIndex,refreshEndPoint:L.value.zoom.endIndex===null?Y.value:L.value.zoom.endIndex+1,enableRangeHandles:L.value.zoom.enableRangeHandles,enableSelectionDrag:L.value.zoom.enableSelectionDrag,focusOnDrag:L.value.zoom.focusOnDrag,focusRangeRatio:L.value.zoom.focusRangeRatio,isCursorPointer:R.value,maxWidth:L.value.zoom.maxWidth,minimapLeftInsetRatio:q.value.absoluteWidth>0&&L.value.zoom.autoFit?q.value.left/q.value.absoluteWidth:null,minimapRightInsetRatio:q.value.absoluteWidth>0&&L.value.zoom.autoFit?(q.value.absoluteWidth-q.value.right)/q.value.absoluteWidth:null,"onUpdate:start":xr,"onUpdate:end":Sr,onReset:t[0]||=()=>yr({force:!0,publish:!0})},{"reset-action":C(({reset:t})=>[b(e.$slots,`reset-action`,rt(et({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-${T.value}`},null,8,Zt),wn.value&&(L.value.legend.show||e.$slots.legend)?(_(),d(Xe,{key:6,to:L.value.legend.position===`top`?`#legend-top-${T.value}`:`#legend-bottom-${T.value}`},[m(`div`,{ref_key:`chartLegend`,ref:Ln},[b(e.$slots,`legend`,{legend:hi.value},()=>[L.value.legend.show?(_(),d(Je,{key:`legend_${yn.value}`,legendSet:hi.value,config:_i.value,onClickMarker:t[1]||=({legend:e})=>yi(e.uid)},{item:C(({legend:e,index:t})=>[m(`div`,{onClick:t=>yi(e.uid),style:it(`opacity:${E.value.includes(e.uid)?.5:1}`)},x(e.display),13,Qt)]),legendToggle:C(()=>[hi.value.length>2&&L.value.legend.selectAllToggle.show&&!S(Zn)?(_(),d(We,{key:0,backgroundColor:L.value.legend.selectAllToggle.backgroundColor,color:L.value.legend.selectAllToggle.color,fontSize:L.value.legend.fontSize,checked:E.value.length>0,onToggle:vi},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`])):f(``,!0)]),_:1},8,[`legendSet`,`config`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(_(),p(`div`,{key:7,ref_key:`source`,ref:Rn,dir:`auto`},[b(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),Gn.value&&P.value.userOptions.buttons.table?(_(),d(st(Bi.value.component),tt({key:8},Bi.value.props,{ref_key:`tableUnit`,ref:Tn,onClose:Vi}),Ze({content:C(()=>[(_(),d(S(rn),{key:`table_${vn.value}`,colNames:Ci.value.colNames,head:Ci.value.head,body:Ci.value.body,config:Ci.value.config,title:P.value.table.useDialog?``:Bi.value.title,withCloseButton:!P.value.table.useDialog,isCursorPointer:R.value,onClose:Vi},{th:C(({th:e})=>[Qe(x(e.name??e),1)]),td:C(({td:e})=>[e.value===null?(_(),p(`span`,$t,`-`)):(_(),p(`b`,en,x(isNaN(e.value)?``:I.value.dataLabels.prefix)+x(!isNaN(e.value)&&e.value!==null?Number(e.value.toFixed(P.value.table.td.roundingValue)).toLocaleString():e)+x(isNaN(e.value)?``:I.value.dataLabels.suffix),1)),m(`span`,null,x(e.percentage&&!isNaN(e.percentage)?`(${Number(e.percentage.toFixed(P.value.table.td.roundingPercentage)).toLocaleString()}%)`:``),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:C(()=>[Qe(x(Bi.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:C(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[2]||=e=>Ti(P.value.userOptions.callbacks.csv),style:it({cursor:R.value?`cursor`:`default`})},[$e(S(nn),{name:`fileCsv`,stroke:Bi.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),Jn.value.show?(_(),d(S(ln),{key:9,ref_key:`dialog`,ref:Pi,onClose:t[3]||=e=>{k.value=null,pn.value=!1,O.value=null,D.value=null,ui.value=null},backgroundColor:Jn.value.backgroundColor,color:Jn.value.color,headerBg:Jn.value.header.backgroundColor,headerColor:Jn.value.header.color,isFullscreen:Ei.value,fullscreenParent:A.value},{title:C(()=>[Qe(x(X.value[Number(k.value.index)]?X.value[Number(k.value.index)].text:``),1)]),content:C(()=>[k.value?(_(),d(S(cn),{key:0,config:Ni.value,dataset:Mi.value},null,8,[`config`,`dataset`])):f(``,!0)]),_:1},8,[`backgroundColor`,`color`,`headerBg`,`headerColor`,`isFullscreen`,`fullscreenParent`])):f(``,!0),S(Zn)?(_(),d(be,{key:10})):f(``,!0)],46,pt))}},[[`__scopeId`,`data-v-04822613`]]);export{ft as n,tn as t};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.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-DqD8nbyX.js";import{n as ce,t as le}from"./BaseScanner-8NdoBs7B.js";import{n as ue,t as de}from"./useHints-BH9r_0Vd.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as pe}from"./resolveChartConfig-ChGWTt5l.js";import{t as me}from"./chartImage-r-G4CkRK.js";import{n as he}from"./Title-BLA0tM3g.js";import{t as ge}from"./useChartExport-DtPNpc9M.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-Cj4eIYC_.js";import{t as we}from"./useTimeLabelCollider-XQf_S7-z.js";import{l as Te,t as Ee}from"./useResponsive-D2CPcpda.js";import{t as l}from"./DefGrad-DKMq1REY.js";import{t as De}from"./A11yDataTable-DWNlWXzs.js";import{t as Oe}from"./useUserOptionState-CXlFnwPv.js";import{t as ke}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ae}from"./Legend-D8NunRPr.js";import{t as je}from"./usePrefersMotion-XLHwega2.js";import{t as Me}from"./vue_ui_dumbbell-BMcxK0N3.js";import{Fragment as u,Teleport as Ne,computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createSlots as Pe,createTextVNode as Fe,createVNode as g,defineAsyncComponent as _,guardReactiveProps as Ie,mergeProps as Le,nextTick as Re,normalizeClass as ze,normalizeProps as Be,normalizeStyle as v,onBeforeUnmount as Ve,onMounted as He,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as Ue,shallowRef as We,toDisplayString as C,toRefs as Ge,unref as w,vShow as T,watch as Ke,watchEffect as qe,withCtx as E,withDirectives as Je}from"vue";var Ye=/* @__PURE__ */ e({default:()=>Pt}),Xe=[`id`],Ze=[`id`],Qe=[`id`],$e={style:{position:`relative`}},et=[`xmlns`,`viewBox`,`aria-describedby`],tt=[`x`,`y`,`width`,`height`],nt={key:1},rt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],it={key:2},at=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],ot=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],st=[`transform`,`font-size`,`fill`],ct=[`x`,`y`,`font-size`,`fill`,`font-weight`,`onMouseenter`,`onMouseleave`,`onClick`],lt=[`x`,`y`,`font-size`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],ut=[`x`,`y`,`font-size`,`fill`],dt=[`transform`,`font-size`,`fill`,`font-weight`,`text-anchor`],ft=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],pt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],mt=[`x`,`y`,`height`,`width`,`fill`],ht=[`transform`,`fill`,`font-size`],gt={key:0},_t={key:0},vt=[`d`,`fill`],yt={key:1},bt=[`x`,`y`,`height`,`width`,`fill`],xt=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],St=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ct={key:7},wt=[`x`,`y`,`fill`,`font-size`],Tt={key:8},Et=[`x`,`y`,`fill`,`font-size`],Dt=[`x`,`y`,`width`,`height`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],Ot={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},kt={key:5,class:`vue-data-ui-watermark`},At=[`id`],jt=[`xmlns`,`height`,`width`],Mt=[`fill`],Nt={style:{display:`flex`,"align-items":`center`}},Pt=/*#__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:Ye}){let Pt=_(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),Ft=_(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),It=_(()=>import(`./DataTable-BcVZLSs8.js`)),Lt=_(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),Rt=_(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),zt=_(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),Bt=_(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_dumbbell:Vt}=t(),Ht=je(),D=e,Ut=Ye,Wt=d({get(){return!!D.dataset&&D.dataset.length},set(e){return e}}),O=b(s()),Gt=b(0),k=b(null),Kt=b(null),qt=b(null),Jt=b(null),Yt=b(null),Xt=b(0),Zt=b(0),Qt=b(0),$t=b(!1),en=b(null),tn=b(null),nn=b(null),rn=b(null),an=b(null),on=b(null),A=b(null),j=b(null),M=b(null),sn=b(!1),N=b(!1),P=b(vn()),F=d(()=>P.value.style.chart.grid.horizontalGrid),cn=d(()=>P.value.style.chart.grid.verticalGrid),I=d(()=>P.value.style.chart.labels);d(()=>P.value.style.chart.grid);let L=d(()=>P.value.style.chart.plots),R=d(()=>P.value.style.chart.comparisonLines),z=d(()=>P.value.style.chart);ue({config:()=>P.value,dataset:()=>D.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 ln=d(()=>P.value.userOptions.useCursorPointer),un=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:P.value.skeletonConfig??{}})),{loading:dn,FINAL_DATASET:fn,manualLoading:pn}=ce({...Ge(D),FINAL_CONFIG:P,prepareConfig:vn,skeletonDataset:D.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:P.value,userConfig:un.value})}),{userOptionsVisible:mn,setUserOptionsVisibility:hn,keepUserOptionState:gn}=Oe({config:P.value}),{svgRef:_n}=ke({config:z.value.title});function vn(){return pe(D.config,Vt,Me)}Ke(()=>D.config,e=>{dn.value||(P.value=vn()),mn.value=!P.value.userOptions.showOnChartHover,bn(),Xt.value+=1,Zt.value+=1,Qt.value+=1,G.value=z.value.rowHeight,K.value=z.value.width,H.value.showTable=P.value.table.show},{deep:!0}),Ke(()=>fn.value,e=>{Array.isArray(e)&&e.length>0&&(pn.value=!1),Pn(),Fn()},{deep:!0});let B=We(null),V=We(null);He(()=>{$t.value=!0,bn()});let yn=d(()=>P.value.debug);function bn(){if(se(D.dataset)?te({componentName:`VueUiDumbbell`,type:`dataset`,debug:yn.value}):D.dataset.forEach((e,t)=>{oe({datasetObject:e,requiredAttributes:[`name`,`start`,`end`]}).forEach(e=>{Wt.value=!1,te({componentName:`VueUiDumbbell`,type:`datasetSerieAttribute`,property:e,index:t,debug:yn.value})})}),P.value.responsive){let e=Te(()=>{let{width:e,height:t}=Ee({chart:k.value,title:z.value.title.text?Kt.value:null,legend:z.value.legend.show?qt.value:null,source:Jt.value,noTitle:Yt.value}),n=z.value.title.text?24:0,r=z.value.legend.show?24:0;requestAnimationFrame(async()=>{K.value=Math.max(.1,e),G.value=Math.max(.1,(Math.max(.1,t)-(n+r))/fn.value.length),Yn()})});B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect()),B.value=new ResizeObserver(e),V.value=k.value.parentNode,B.value.observe(V.value)}Yn()}Ve(()=>{X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect())});let{isPrinting:xn,isImaging:Sn,generatePdf:Cn,generateImage:wn}=Ce({elementId:`dumbbell_${O.value}`,fileName:z.value.title.text||`vue-ui-dumbbell`,options:P.value.userOptions.print}),Tn=d(()=>P.value.userOptions.show&&!z.value.title.text),H=b({showTable:P.value.table.show});Ke(P,()=>{H.value={showTable:P.value.table.show}},{immediate:!0});let U=d(()=>fn.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()}`}))),En=d(()=>{let e=z.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(En.value.min,En.value.max,z.value.grid.scaleSteps)),G=b(z.value.rowHeight),K=b(z.value.width);function Dn(){let e=0;rn.value&&(e=Array.from(rn.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0));let t=nn.value?nn.value.getBoundingClientRect().width:0;return e+t+(t?24+I.value.axis.yLabelOffsetX:0)}let On=b(0),kn=Te(e=>{On.value=e},100);qe(e=>{let t=an.value;if(!t)return;let n=new ResizeObserver(e=>{kn(e[0].contentRect.height)});n.observe(t),e(()=>n.disconnect())}),Ve(()=>{On.value=0});let An=d(()=>{N.value;let e=0;on.value&&(e=on.value.getBBox().height);let t=0;return an.value&&(t=On.value),e+t}),jn=d(()=>U.value.length);function Mn(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(()=>{N.value;let e=Dn(),t=z.value.padding,n=I.value.axis.xLabel?I.value.axis.xLabelOffsetY:0,r=G.value*jn.value-An.value-t.top-t.bottom-n,i=r/jn.value,a=G.value*jn.value,o=K.value-e-t.left-t.right,s=W.value.ticks.length*(o/W.value.ticks.length);return{left:z.value.padding.left+e,right:K.value-z.value.padding.right,top:z.value.padding.top,bottom:a-z.value.padding.bottom-An.value-n,width:o,height:r,rowHeight:i,absoluteHeight:a,widthPlotReference:s}}),J=d(()=>Math.min(G.value/2*.7,L.value.radius)),Nn=b([]),Y=d({get(){let e=q.value,t=W.value;return Nn.value.map((n,r)=>{let i=Mn(n.start,t,e),a=Mn(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?L.value.evaluationColors.positive:ee?L.value.evaluationColors.negative:L.value.evaluationColors.neutral;return{...n,isPositive:s,isNegative:ee,isNeutral:te,evaluationColor:ne,evaluationGrad:`url(#${s?`positive`:ee?`negative`:`neutral`}_grad_${O.value})`,startX:i,endX:a,centerX:o,y:e.top+r*e.rowHeight+e.rowHeight/2}})},set(e){Nn.value=e}});function Pn(){Nn.value=U.value.map(e=>{let t=Number(e.start);return{...e,endVal:Number.isFinite(t)?t:0}})}let X=b(null);He(()=>{Fn()});function Fn(){if(X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),Pn(),!P.value.useAnimation||Ht.value){Y.value=Nn.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,P.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=Nn.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 In=d(()=>L.value.evaluationColors.enable?[{name:z.value.legend.labelNegative,color:L.value.gradient.show?`url(#negative_grad_${O.value})`:L.value.evaluationColors.negative},{name:z.value.legend.labelNeutral,color:L.value.gradient.show?`url(#neutral_grad_${O.value})`:L.value.evaluationColors.neutral},{name:z.value.legend.labelPositive,color:L.value.gradient.show?`url(#positive_grad_${O.value})`:L.value.evaluationColors.positive}]:[{name:z.value.legend.labelStart,color:L.value.gradient.show?`url(#start_grad_${O.value})`:L.value.startColor},{name:z.value.legend.labelEnd,color:L.value.gradient.show?`url(#end_grad_${O.value})`:L.value.endColor}]),Ln=d(()=>({cy:`donut-div-legend`,backgroundColor:z.value.legend.backgroundColor,color:z.value.legend.color,fontSize:z.value.legend.fontSize,paddingBottom:12,paddingTop:12,fontWeight:z.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=[P.value.table.columnNames.series,P.value.table.columnNames.start,P.value.table.columnNames.end,P.value.table.columnNames.progression],t=Z.value.head.map((e,t)=>{let r=n({p:I.value.prefix,v:Z.value.body[t].start,s:I.value.suffix,r:P.value.table.td.roundingValue}),i=n({p:I.value.prefix,v:Z.value.body[t].end,s:I.value.suffix,r:P.value.table.td.roundingValue}),a=n({v:100*(Z.value.body[t].end/Z.value.body[t].start-1),s:`%`,r:P.value.table.td.roundingPercentage});return[{name:e.name},r,i,a]}),r={th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint};return{colNames:[P.value.table.columnNames.series,P.value.table.columnNames.start,P.value.table.columnNames.end,P.value.table.columnNames.progression],head:e,body:t,config:r}});function Rn(e=null){Re(()=>{let t=Z.value.head.map((e,t)=>[[e.name],[Z.value.body[t].start],[Z.value.body[t].end]]),n=[[z.value.title.text],[z.value.title.subtitle.text],[[P.value.table.columnNames.series],[P.value.table.columnNames.start],[P.value.table.columnNames.end]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:z.value.title.text||`vue-ui-dumbbell`})})}let $=b(!1);function zn(e){$.value=e,Gt.value+=1}function Bn(){return U.value}function Vn(){H.value.showTable=!H.value.showTable}let Hn=b(!1);function Un(){Hn.value=!Hn.value}let Wn=me(k,()=>z.value.title.text),Gn=d(()=>W.value.ticks),Kn=d(()=>({start:0,end:Gn.value.length}));we({timeLabelsEls:an,timeLabels:Gn,slicer:Kn,configRef:P,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:I.value.xAxisLabels.autoRotate.angle});function qn({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 Jn=(()=>{let e=null,t=0;return n=>{if(n===N.value){e=null,t=0;return}e===null||e!==n?(e=n,t=1):(t+=1,t>=1&&(N.value=n,e=null,t=0))}})(),Yn=Te(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{let e=qn({rowHeight:q.value.rowHeight,fontSize:I.value.yAxisLabels.fontSize,showProgression:I.value.yAxisLabels.showProgression});Jn(e)})})},100);function Xn({datapoint:e,seriesIndex:t}){A.value=t,j.value=e,P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function Zn({datapoint:e,seriesIndex:t}){A.value=null,j.value=null,P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:t})}function Qn({datapoint:e,seriesIndex:t}){P.value.events.datapointClick&&P.value.events.datapointClick({datapoint:e,seriesIndex:t}),Ut(`selectDatapoint`,{...e,seriesIndex:t})}let $n=d(()=>{if(j.value===null)return 0;let e=![null,void 0].includes(j.value.start),t=![null,void 0].includes(j.value.end);return e&&t?Math.min(j.value.startX,j.value.endX)+Math.abs(j.value.startX-j.value.endX)/2:e&&!t?j.value.startX:t&&!e?j.value.endX:null}),er=d(()=>{if(j.value===null)return``;let e=![null,void 0].includes(j.value.start),t=![null,void 0].includes(j.value.end),r=``,i=``;return e&&(r=c(I.value.formatter,j.value.start,n({p:I.value.prefix,v:j.value.start,s:I.value.suffix,r:I.value.startLabels.rounding}),{datapoint:j.value,seriesIndex:A.value})),t&&(i=c(I.value.formatter,j.value.end,n({p:I.value.prefix,v:j.value.end,s:I.value.suffix,r:I.value.startLabels.rounding}),{datapoint:j.value,seriesIndex:A.value})),e&&t?`${r} → ${i}`:e&&!t?r:t&&!e?i:``}),tr=d(()=>ve({config:P,style:z,mutableConfig:H,dialog:Bt,accordion:Ft,isFullscreen:$,parent:k,maxWidth:800,isCursorPointer:ln}));Ke(()=>H.value.showTable,e=>_e(e,P,en));function nr(){H.value.showTable=!1,tn.value&&tn.value.setTableIconState(!1)}let rr=d(()=>In.value.map(e=>({...e,shape:`circle`}))),ir=d(()=>z.value.backgroundColor),ar=d(()=>z.value.legend),or=d(()=>z.value.title),{isCallbackImaging:sr,isCallbackSvg:cr,generateSvg:lr,onGenerateImage:ur}=ge({svg:_n,title:or,legend:ar,legendItems:rr,backgroundColor:ir,getSvgCallback:()=>P.value.userOptions.callbacks.svg,generateImage:wn});async function dr(){if(Ut(`copyAlt`,{config:P.value,dataset:Y.value}),!P.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(P.value.userOptions.callbacks.altCopy({config:P.value,dataset:Y.value}))}function fr(e){let t=Y.value.length;return t?(e%t+t)%t:null}function pr(){if(M.value!==null){let e=Y.value[M.value];e&&Zn({datapoint:e,seriesIndex:M.value})}M.value=null,A.value=null,j.value=null}function mr(){M.value=null,sn.value=!0}function hr(){pr(),sn.value=!1}function gr(e){if(!_n.value||Hn.value||document.activeElement!==_n.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){pr();return}if(r){if(M.value===null)return;let e=Y.value[M.value];if(!e)return;Qn({datapoint:e,seriesIndex:M.value});return}let a=M.value;a=a===null?n?0:Y.value.length-1:fr(a+(n?1:-1));let o=Y.value[a];o&&(M.value=a,Xn({datapoint:o,seriesIndex:a}))}let _r=d(()=>({head:Q.value.head,body:Q.value.body.map(e=>[e[0]?.name??``,e[1],e[2],e[3]]),caption:P.value.a11y.translations.tableCaption,notice:P.value.a11y.translations.tableAvailable}));return fe({getData:Bn,getImage:Wn,generatePdf:Cn,generateCsv:Rn,generateImage:wn,generateSvg:lr,toggleTable:Vn,toggleAnnotator:Un,toggleFullscreen:zn,copyAlt:dr}),(e,t)=>(y(),m(`div`,{ref_key:`dumbbellChart`,ref:k,class:ze(`vue-data-ui-component vue-ui-dumbbell ${$.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:v(`font-family:${P.value.style.fontFamily};width:100%; text-align:center;background:${z.value.backgroundColor};${P.value.responsive?`height:100%`:``}`),id:`dumbbell_${O.value}`,onMouseenter:t[1]||=()=>w(hn)(!0),onMouseleave:t[2]||=()=>w(hn)(!1)},[h(`div`,{id:`chart-instructions-${O.value}`,class:`sr-only`},[h(`p`,null,C(P.value.a11y.translations.keyboardNavigation),1)],8,Ze),_r.value.body.length?(y(),f(De,{key:0,uid:O.value,head:_r.value.head,body:_r.value.body,caption:_r.value.caption,notice:_r.value.notice},null,8,[`uid`,`head`,`body`,`caption`,`notice`])):p(``,!0),P.value.userOptions.buttons.annotator?(y(),f(w(Lt),{key:1,svgRef:w(_n),backgroundColor:z.value.backgroundColor,color:z.value.color,active:Hn.value,isCursorPointer:ln.value,palette:P.value.userOptions.annotatorPalette,onClose:Un},Pe({_:2},[x(w(be),t=>({name:t,fn:E(n=>[S(e.$slots,t,Be(Ie(w(ye)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):p(``,!0),Tn.value?(y(),m(`div`,{key:2,ref_key:`noTitle`,ref:Yt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):p(``,!0),z.value.title.text?(y(),m(`div`,{key:3,ref_key:`chartTitle`,ref:Kt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),f(he,{key:`title_${Xt.value}`,config:{title:{cy:`donut-div-title`,...z.value.title},subtitle:{cy:`donut-div-subtitle`,...z.value.title.subtitle}}},null,8,[`config`]))],512)):p(``,!0),h(`div`,{id:`legend-top-${O.value}`},null,8,Qe),P.value.userOptions.show&&Wt.value&&(w(gn)||w(mn))?(y(),f(w(Rt),{ref_key:`userOptionsRef`,ref:tn,key:`user_option_${Gt.value}`,backgroundColor:z.value.backgroundColor,color:z.value.color,isPrinting:w(xn),isImaging:w(Sn),uid:O.value,hasPdf:P.value.userOptions.buttons.pdf,hasXls:P.value.userOptions.buttons.csv,hasImg:P.value.userOptions.buttons.img,hasSvg:P.value.userOptions.buttons.svg,hasTable:P.value.userOptions.buttons.table,hasFullscreen:P.value.userOptions.buttons.fullscreen,hasAltCopy:P.value.userOptions.buttons.altCopy,isFullscreen:$.value,titles:{...P.value.userOptions.buttonTitles},chartElement:k.value,position:P.value.userOptions.position,hasAnnotator:P.value.userOptions.buttons.annotator,isAnnotation:Hn.value,callbacks:P.value.userOptions.callbacks,printScale:P.value.userOptions.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:ln.value,onToggleFullscreen:zn,onGeneratePdf:w(Cn),onGenerateCsv:Rn,onGenerateImage:w(ur),onGenerateSvg:w(lr),onToggleTable:Vn,onToggleAnnotator:Un,onCopyAlt:dr,style:v({visibility:w(gn)?w(mn)?`visible`:`hidden`:`visible`})},Pe({_: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:E(n=>[S(e.$slots,t,Be(Ie(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`,$e,[(y(),m(`svg`,{ref_key:`svgRef`,ref:_n,xmlns:w(ae),class:ze({"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:${z.value.color}`),"aria-describedby":`chart-instructions-${O.value}`,tabindex:`0`,onFocus:mr,onBlur:hr,onKeydown:gr},[g(w(zt)),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,tt)):p(``,!0),cn.value.show?(y(),m(`g`,nt,[(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:cn.value.stroke,"stroke-width":cn.value.strokeWidth,"stroke-dasharray":cn.value.strokeDasharray},null,8,rt))),256))])):p(``,!0),F.value.show?(y(),m(`g`,it,[(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:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-dasharray":F.value.strokeDasharray},null,8,at))),256)),h(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-dasharray":F.value.strokeDasharray},null,8,ot)])):p(``,!0),I.value.axis.yLabel?(y(),m(`text`,{key:3,ref_key:`yAxisLabel`,ref:nn,transform:`translate(${I.value.axis.fontSize}, ${q.value.absoluteHeight/2}), rotate(-90)`,"font-size":I.value.axis.fontSize,fill:I.value.axis.color,"text-anchor":`middle`},C(I.value.axis.yLabel),9,st)):p(``,!0),I.value.yAxisLabels.show?(y(),m(`g`,{key:4,ref_key:`serieLabels`,ref:rn},[(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+I.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+(!I.value.yAxisLabels.showProgression||N.value?q.value.rowHeight/2:q.value.rowHeight/3)+I.value.yAxisLabels.fontSize/3,"font-size":I.value.yAxisLabels.fontSize,fill:I.value.yAxisLabels.color,"font-weight":I.value.yAxisLabels.bold?`bold`:`normal`,"text-anchor":`end`,onMouseenter:n=>Xn({datapoint:e,seriesIndex:t}),onMouseleave:n=>Zn({datapoint:e,seriesIndex:t}),onClick:n=>Qn({datapoint:e,seriesIndex:t})},C(e.name)+` `+C(N.value&&I.value.yAxisLabels.showProgression?[null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:`(${w(c)(I.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:I.value.yAxisLabels.rounding}),{datapoint:e})})`:``),41,ct))),128)),I.value.yAxisLabels.showProgression&&!N.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+I.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+q.value.rowHeight/1.3+I.value.yAxisLabels.fontSize/3,"font-size":I.value.yAxisLabels.fontSize,fill:I.value.yAxisLabels.color,"text-anchor":`end`,onMouseenter:n=>Xn({datapoint:e,seriesIndex:t}),onMouseleave:n=>Zn({datapoint:e,seriesIndex:t}),onClick:n=>Qn({datapoint:e,seriesIndex:t})},C([null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:w(c)(I.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:I.value.yAxisLabels.rounding}),{datapoint:e})),41,lt))),256)):p(``,!0)],512)):p(``,!0),I.value.axis.xLabel?(y(),m(`text`,{key:5,ref_key:`xAxisLabel`,ref:on,x:q.value.left+q.value.width/2,y:q.value.absoluteHeight-I.value.axis.fontSize/3,"font-size":I.value.axis.fontSize,fill:I.value.axis.color,"text-anchor":`middle`},C(I.value.axis.xLabel),9,ut)):p(``,!0),I.value.xAxisLabels.show?(y(),m(`g`,{key:6,ref_key:`scaleLabels`,ref:an},[(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+I.value.xAxisLabels.fontSize+I.value.xAxisLabels.offsetY}), rotate(${I.value.xAxisLabels.rotation})`,"font-size":I.value.xAxisLabels.fontSize,fill:I.value.xAxisLabels.color,"font-weight":I.value.xAxisLabels.bold?`bold`:`normal`,"text-anchor":I.value.xAxisLabels.rotation>0?`start`:I.value.xAxisLabels.rotation<0?`end`:`middle`},C(w(c)(I.value.formatter,e,w(n)({p:I.value.prefix,v:e,s:I.value.suffix,r:I.value.xAxisLabels.rounding}),{datapoint:e,seriesIndex:t})),9,dt))),128))],512)):p(``,!0),Je(h(`g`,null,[Je(h(`path`,{d:`M ${j.value?j.value.startX:q.value.left},${q.value.top} ${j.value?j.value.startX:q.value.left},${q.value.bottom}`,stroke:j.value?L.value.evaluationColors.enable?j.value.evaluationColor:L.value.startColor:`transparent`,"stroke-width":R.value.strokeWidth,"stroke-dasharray":R.value.strokeDasharray,style:{transition:`all 0.3s ease-in-out`}},null,8,ft),[[T,j.value!==null&&![null,void 0].includes(j.value.start)]]),Je(h(`path`,{d:`M ${j.value?j.value.endX:q.value.left},${q.value.top} ${j.value?j.value.endX:q.value.left},${q.value.bottom}`,stroke:j.value?L.value.evaluationColors.enable?j.value.evaluationColor:L.value.endColor:`transparent`,"stroke-width":R.value.strokeWidth,"stroke-dasharray":R.value.strokeDasharray,style:{transition:`all 0.3s ease-in-out`}},null,8,pt),[[T,j.value!==null&&![null,void 0].includes(j.value.end)]]),Je(h(`rect`,{x:j.value?Math.min(j.value.startX,j.value.endX):q.value.left,y:q.value.top,height:Math.max(.1,q.value.height),width:j.value?Math.max(.1,Math.abs(j.value.endX-j.value.startX)):0,fill:j.value?w(a)(R.value.rectColor,R.value.rectOpacity):`transparent`,style:{transition:`all 0.3s ease-in-out`}},null,8,mt),[[T,R.value.showRect&&j.value!==null&&![null,void 0].includes(j.value.start)&&![null,void 0].includes(j.value.end)]]),Je(h(`text`,{transform:`translate(${$n.value==null?0:$n.value}, ${q.value.top-6})`,fill:R.value.labelColor,"font-size":R.value.labelFontSize,"text-anchor":`middle`,style:{transition:`all 0.3s ease-in-out`}},C(er.value),9,ht),[[T,j.value!==null&&$n.value!==null&&R.value.showLabel]])],512),[[T,R.value.show&&A.value!==null]]),h(`defs`,null,[g(l,{t:`radial`,id:`start_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.startColor,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.startColor,.1),1],[`100%`,L.value.startColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`end_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.endColor,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.endColor,.1),1],[`100%`,L.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`positive_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.evaluationColors.positive,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.evaluationColors.positive,.1),1],[`100%`,L.value.evaluationColors.positive,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`negative_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.evaluationColors.negative,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.evaluationColors.negative,.1),1],[`100%`,L.value.evaluationColors.negative,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`neutral_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.evaluationColors.neutral,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.evaluationColors.neutral,.1),1],[`100%`,L.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_${O.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,L.value.startColor,1],[`100%`,L.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`linear`,id:`grad_neg_${O.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,L.value.endColor,1],[`100%`,L.value.startColor,1]]},null,8,[`id`,`stops`])]),![void 0,null].includes(e.end)&&![void 0,null].includes(e.start)?(y(),m(`g`,gt,[L.value.link.type===`curved`?(y(),m(`g`,_t,[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:L.value.evaluationColors.enable?e.evaluationColor:e.endX>e.startX?`url(#grad_pos_${O.value})`:`url(#grad_neg_${O.value})`},null,8,vt)])):(y(),m(`g`,yt,[h(`rect`,{x:e.endX>e.startX?e.startX:e.endX,y:e.y-L.value.link.strokeWidth/2,height:Math.max(.01,L.value.link.strokeWidth),width:Math.max(.01,Math.abs(e.endX-e.startX)),fill:L.value.evaluationColors.enable?e.evaluationColor:e.endX>e.startX?`url(#grad_pos_${O.value})`:`url(#grad_neg_${O.value})`},null,8,bt)]))])):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:L.value.gradient.show?L.value.evaluationColors.enable?e.evaluationGrad:`url(#start_grad_${O.value})`:L.value.evaluationColors.enable?e.evaluationColor:L.value.startColor,stroke:L.value.stroke,"stroke-width":L.value.strokeWidth},null,8,xt)),[null,void 0].includes(e.end)?p(``,!0):(y(),m(`circle`,{key:2,cx:e.endX,cy:e.y,r:J.value,fill:L.value.gradient.show?L.value.evaluationColors.enable?e.evaluationGrad:`url(#end_grad_${O.value})`:L.value.evaluationColors.enable?e.evaluationColor:L.value.endColor,stroke:L.value.stroke,"stroke-width":L.value.strokeWidth},null,8,St))]))),128)),I.value.startLabels.show?(y(),m(`g`,Ct,[(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+I.value.startLabels.fontSize/2,fill:L.value.evaluationColors.enable&&I.value.startLabels.useEvaluationColor?e.evaluationColor:I.value.startLabels.useStartColor?L.value.startColor:I.value.startLabels.color,"font-size":I.value.startLabels.fontSize,"text-anchor":`middle`},C(w(c)(I.value.formatter,e.start,w(n)({p:I.value.prefix,v:e.start,s:I.value.suffix,r:I.value.startLabels.rounding}),{datapoint:e,seriesIndex:t})),9,wt))]))),128))])):p(``,!0),I.value.endLabels.show?(y(),m(`g`,Tt,[(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-I.value.startLabels.fontSize/3),fill:L.value.evaluationColors.enable&&I.value.endLabels.useEvaluationColor?e.evaluationColor:I.value.endLabels.useEndColor?L.value.endColor:I.value.endLabels.color,"font-size":I.value.endLabels.fontSize,"text-anchor":`middle`},C(w(c)(I.value.formatter,e.end,w(n)({p:I.value.prefix,v:e.end,s:I.value.suffix,r:I.value.endLabels.rounding}),{datapoint:e,seriesIndex:t})),9,Et))]))),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:A.value===null?`transparent`:A.value===t?w(a)(z.value.highlighter.color,z.value.highlighter.opacity):`transparent`,onMouseenter:n=>Xn({datapoint:e,seriesIndex:t}),onMouseleave:n=>Zn({datapoint:e,seriesIndex:t}),onClick:n=>Qn({datapoint:e,seriesIndex:t})},null,40,Dt))),256))]),S(e.$slots,`svg`,{svg:{...q.value,isPrintingImg:w(xn)||w(Sn)||w(sr),isPrintingSvg:w(cr)}},void 0,!0)],46,et)),e.$slots.hint?(y(),m(`div`,Ot,[S(e.$slots,`hint`,Be(Ie({hint:P.value.a11y.translations.keyboardNavigation,isVisible:sn.value})),void 0,!0)])):p(``,!0)]),e.$slots.watermark?(y(),m(`div`,kt,[S(e.$slots,`watermark`,Be(Ie({isPrinting:w(xn)||w(Sn)||w(sr)||w(cr)})),void 0,!0)])):p(``,!0),h(`div`,{id:`legend-bottom-${O.value}`},null,8,At),$t.value&&(z.value.legend.show||e.$slots.legend)?(y(),f(Ne,{key:6,to:z.value.legend.position===`top`?`#legend-top-${O.value}`:`#legend-bottom-${O.value}`},[h(`div`,{ref_key:`chartLegend`,ref:qt},[S(e.$slots,`legend`,{legend:In.value},()=>[z.value.legend.show&&Wt.value?(y(),f(Ae,{key:`legend_${Qt.value}`,legendSet:In.value,config:Ln.value,clickable:!1},{item:E(({legend:e})=>[h(`div`,{style:v(`display:flex;align-items:center;gap:4px;font-size:${z.value.legend.fontSize}px`)},[(y(),m(`svg`,{xmlns:w(ae),viewBox:`0 0 20 20`,height:z.value.legend.fontSize,width:z.value.legend.fontSize},[h(`circle`,{cx:10,cy:10,r:9,fill:e.color},null,8,Mt)],8,jt)),w(dn)?p(``,!0):(y(),m(u,{key:0},[Fe(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:Jt,dir:`auto`},[S(e.$slots,`source`,{},void 0,!0)],512)):p(``,!0),Wt.value&&P.value.userOptions.buttons.table?(y(),f(Ue(tr.value.component),Le({key:8},tr.value.props,{ref_key:`tableUnit`,ref:en,onClose:nr}),Pe({content:E(()=>[(y(),f(w(It),{key:`table_${Zt.value}`,colNames:Q.value.colNames,head:Q.value.head,body:Q.value.body,config:Q.value.config,title:P.value.table.useDialog?``:tr.value.title,withCloseButton:!P.value.table.useDialog,isCursorPointer:ln.value,onClose:nr},{th:E(({th:e})=>[h(`div`,Nt,C(e),1)]),td:E(({td:e})=>[Fe(C(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:E(()=>[Fe(C(tr.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:E(()=>[h(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[0]||=e=>Rn(P.value.userOptions.callbacks.csv),style:v({cursor:ln.value?`pointer`:`default`})},[g(w(Pt),{name:`fileCsv`,stroke:tr.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):p(``,!0),S(e.$slots,`skeleton`,{},()=>[w(dn)?(y(),f(le,{key:0})):p(``,!0)],!0)],46,Xe))}},[[`__scopeId`,`data-v-80560d95`]]);export{Ye as n,Pt as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.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-DqD8nbyX.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-DrLnzyHO.js";import{t as ie}from"./useThemeCheck-BKNRbGeC.js";import{t as ae}from"./chartImage-r-G4CkRK.js";import{n as oe}from"./Title-BLA0tM3g.js";import{t as se}from"./useChartExport-DtPNpc9M.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-Cj4eIYC_.js";import{l as he,t as ge}from"./useResponsive-D2CPcpda.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-D8NunRPr.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-Iyb_S6oQ.js`)),nt=D(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),rt=D(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),it=D(()=>import(`./DataTable-BcVZLSs8.js`)),at=D(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),ot=D(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),st=D(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),ct=D(()=>import(`./BaseDraggableDialog-Bw_azO0n.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();if(!r){U.value.style.chart.tooltip=i.style.chart.tooltip,J.value.showTooltip=U.value.style.chart.tooltip.show;return}Ft.value||(U.value=i),Bt.value=!U.value.userOptions.showOnChartHover,zt(),mt.value+=1,J.value.showTable=U.value.table.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;if(X.value?.every(e=>U.value.nodeCategories[e]===n)){X.value=null,Z.value=null,$.value=[];return}$.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(){if(ft(`copyAlt`,{config:U.value,dataset:Y.value}),!U.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(U.value.userOptions.callbacks.altCopy({config:U.value,dataset:Y.value}))}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)),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-5dd9c7a6`]]);export{Pe as n,tt as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.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-DqD8nbyX.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-ChGWTt5l.js";import{t as pe}from"./chartImage-r-G4CkRK.js";import{n as me}from"./Title-BLA0tM3g.js";import{t as he}from"./useChartExport-DtPNpc9M.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-Cj4eIYC_.js";import{l as Ce,t as we}from"./useResponsive-D2CPcpda.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 p,mergeProps as m,nextTick as Ne,normalizeClass as h,normalizeProps as Pe,normalizeStyle as g,onBeforeUnmount as Fe,onMounted as Ie,openBlock as _,ref as v,renderList as y,renderSlot as b,resolveDynamicComponent as Le,shallowRef as Re,toDisplayString as x,unref as S,useCssVars as ze,watch as Be,withCtx as C}from"vue";var Ve=/* @__PURE__ */ e({default:()=>w}),He=[`id`],Ue=[`xmlns`,`viewBox`],We=[`width`,`height`],Ge=[`stroke`,`stroke-width`],Ke=[`stroke`,`stroke-width`],qe=[`x`,`y`,`font-size`,`fill`,`font-weight`],Je=[`points`,`fill`],Ye=[`stroke`,`stroke-width`,`rx`],Xe=[`x`,`y`,`font-size`,`fill`,`font-weight`],Ze=[`x`,`y`,`font-size`,`fill`,`font-weight`],Qe={key:5,class:`vue-data-ui-watermark`},$e={style:{display:`flex`,"align-items":`center`}},w=/*#__PURE__*/ de({__name:`vue-ui-funnel`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:de,emit:Ve}){ze(e=>({v6c990ee0:Mt.value}));let w=f(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),et=f(()=>import(`./vue-ui-skeleton-DTn7uIui.js`).then(e=>e.n)),tt=f(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),nt=f(()=>import(`./DataTable-BcVZLSs8.js`)),rt=f(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),it=f(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),at=f(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),ot=f(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_funnel:st}=t(),T=Oe(),E=e,ct=Ve,D=v(null),O=v(te()),lt=v(0),ut=v(0),dt=v(0),ft=v(null),pt=v(null),mt=v(null),k=Re(null),A=Re(null),j=v(!1),ht=v(null),M=v(null),N=s(()=>!!E.dataset&&E.dataset.length);Ie(vt),Fe(()=>{k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect())});function gt(){return fe(E.config,st,ke)}let P=s({get:()=>gt(),set:e=>e}),_t=s(()=>P.value.debug),F=s(()=>P.value.style.chart.bars),I=s(()=>P.value.style.chart.circles),L=s(()=>P.value.style.chart);function vt(){if(ce(E.dataset)?ne({componentName:`VueUiFunnel`,type:`dataset`,debug:_t.value}):E.dataset.forEach((e,t)=>{se({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{N.value=!1,ne({componentName:`VueUiFunnel`,type:`datasetSerieAttribute`,property:e,index:t,debug:_t.value})})}),P.value.responsive){let e=Ce(()=>{let{width:e,height:t}=we({chart:D.value,title:L.value.title.text?mt.value:null,source:pt.value,noTitle:ft.value});requestAnimationFrame(()=>{H.value.height=t,H.value.width=e,W.value=Dt(),P.value.responsiveProportionalSizing?(V.value.circles=ae({relator:Math.min(e,t),adjuster:600,source:I.value.dataLabels.fontSize,threshold:10,fallback:10}),V.value.names=ae({relator:Math.min(e,t),adjuster:600,source:F.value.dataLabels.name.fontSize,threshold:10,fallback:10}),V.value.values=ae({relator:Math.min(e,t),adjuster:600,source:F.value.dataLabels.value.fontSize,threshold:10,fallback:10})):(V.value.circles=I.value.dataLabels.fontSize,V.value.names=F.value.dataLabels.name.fontSize,V.value.values=F.value.dataLabels.value.fontSize)})});k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect()),k.value=new ResizeObserver(e),A.value=D.value.parentNode,k.value.observe(A.value)}}le({config:()=>P.value,dataset:()=>E.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 yt=s(()=>P.value.userOptions.useCursorPointer),{userOptionsVisible:R,setUserOptionsVisibility:bt,keepUserOptionState:xt}=Ee({config:P.value}),{svgRef:z}=De({config:L.value.title});Be(()=>E.config,e=>{P.value=gt(),R.value=!P.value.userOptions.showOnChartHover,vt(),ut.value+=1,dt.value+=1,V.value.circles=I.value.dataLabels.fontSize,V.value.names=F.value.dataLabels.name.fontSize,V.value.values=F.value.dataLabels.value.fontSize,B.value.showTable=P.value.table.show},{deep:!0});let{isPrinting:St,isImaging:Ct,generatePdf:wt,generateImage:Tt}=Se({elementId:`funnel_${O.value}`,fileName:L.value.title.text||`vue-ui-funnel`,options:P.value.userOptions.print}),Et=s(()=>P.value.userOptions.show&&!L.value.title.text),B=v({showTable:P.value.table.show}),V=v({circles:I.value.dataLabels.fontSize,names:F.value.dataLabels.name.fontSize,values:F.value.dataLabels.value.fontSize}),H=s({get:()=>({height:L.value.height,width:L.value.width}),set:e=>e}),U=s(()=>N.value?E.dataset.map((e,t)=>({...e,color:e.color?ee(e.color):i(F.value.defaultColor,t/E.dataset.length)})):[]);setTimeout(()=>{j.value=!0},U.value.length*150);function Dt(){let e=L.value.padding.left,t=L.value.padding.top;return{left:e,top:t,right:H.value.width-L.value.padding.right,bottom:H.value.height-L.value.padding.bottom,width:H.value.width-e-L.value.padding.right,height:H.value.height-t-L.value.padding.bottom}}let W=v(Dt()),G=s(()=>W.value.height/E.dataset.length),K=s(()=>G.value*F.value.gapRatio),Ot=s(()=>W.value.width*L.value.barCircleSpacingRatio),q=s(()=>U.value.map((e,t)=>{let n=G.value-K.value,r=W.value.top+K.value/2*t+(G.value-K.value/2)*t+K.value/2,i=e.value/U.value[0].value,ee=(W.value.width-n-Ot.value)*(e.value/U.value[0].value);return{...e,cx:W.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:W.value.left+n+Ot.value,y:r}})),kt=s(()=>{let e=q.value.map(e=>`${e.x+e.width},${e.y+(G.value-K.value)/2}`);return`${q.value[0].x},${q.value[0].y+(G.value-K.value)/2} ${e.toString()} ${q.value.at(-1).x},${q.value.at(-1).y+(G.value-K.value)/2}`}),At=s(()=>({x1:q.value[0].cx,y1:q.value[0].cy,x2:q.value.at(-1).cx,y2:q.value.at(-1).cy})),J=v(!1);function jt(e){J.value=e,lt.value+=1}let Mt=s(()=>`${U.value.length*150}ms`),Y=v(!1);function Nt(){Y.value=!Y.value}function Pt(){B.value.showTable=!B.value.showTable}let X=s(()=>({head:U.value.map(e=>({name:e.name,color:e.color})),body:U.value.map(e=>e.value)})),Z=s(()=>{let e=[P.value.table.columnNames.series,P.value.table.columnNames.value,P.value.table.columnNames.percentage],t=X.value.head.map((e,t)=>{let r=a(F.value.dataLabels.value.formatter,X.value.body[t],n({p:F.value.dataLabels.value.prefix,v:X.value.body[t],s:F.value.dataLabels.value.suffix,r:P.value.table.td.roundingValue}),{datapoint:q.value[t]}),i=a(I.value.dataLabels.formatter,q.value[t].proportion*100,n({v:q.value[t].proportion*100,s:`%`,r:P.value.table.td.roundingPercentage}),{datapoint:q.value[t]});return[{color:e.color,name:e.name},r,i]}),r={th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint};return{colNames:[P.value.table.columnNames.series,P.value.table.columnNames.value,P.value.table.columnNames.percentage],head:e,body:t,config:r}});function Q(e=null){Ne(()=>{let t=X.value.head.map((e,t)=>[[e.name],[X.value.body[t]],[q.value[t].proportion*100]]),n=[[L.value.title.text],[L.value.title.subtitle.text],[[P.value.table.columnNames.series],[P.value.table.columnNames.value],[`%`]]].concat(t),i=r(n);e?e(i):re({csvContent:i,title:L.value.title.text||`vue-ui-funnel`})})}function Ft(){return U.value}let It=pe(D,()=>L.value.title.text),$=s(()=>_e({config:P,style:L,mutableConfig:B,dialog:ot,accordion:tt,isFullscreen:J,parent:D,maxWidth:800}));Be(()=>B.value.showTable,e=>ge(e,P,ht));function Lt(){B.value.showTable=!1,M.value&&M.value.setTableIconState(!1)}let Rt=s(()=>L.value.backgroundColor),zt=s(()=>L.value.title),{isCallbackImaging:Bt,isCallbackSvg:Vt,generateSvg:Ht,onGenerateImage:Ut}=he({svg:z,title:zt,legend:null,legendItems:null,backgroundColor:Rt,getSvgCallback:()=>P.value.userOptions.callbacks.svg,generateImage:Tt});async function Wt(){if(ct(`copyAlt`,{config:P.value,dataset:U.value}),!P.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(P.value.userOptions.callbacks.altCopy({config:P.value,dataset:U.value}))}return de({getData:Ft,getImage:It,generatePdf:wt,generateCsv:Q,generateImage:Tt,generateSvg:Ht,toggleTable:Pt,toggleAnnotator:Nt,toggleFullscreen:jt,copyAlt:Wt}),(e,t)=>(_(),u(`div`,{ref_key:`funnelChart`,ref:D,class:h(`vue-data-ui-component vue-ui-funnel ${J.value?`vue-data-ui-wrapper-fullscreen`:``} ${P.value.useCssAnimation?``:`vue-ui-dna`}`),style:g(`font-family:${P.value.style.fontFamily};width:100%; ${P.value.responsive?`height:100%;`:``} text-align:center;background:${L.value.backgroundColor}`),id:`funnel_${O.value}`,onMouseenter:t[1]||=()=>S(bt)(!0),onMouseleave:t[2]||=()=>S(bt)(!1)},[P.value.userOptions.buttons.annotator?(_(),c(S(it),{key:0,svgRef:S(z),backgroundColor:L.value.backgroundColor,color:L.value.color,active:Y.value,isCursorPointer:yt.value,palette:P.value.userOptions.annotatorPalette,onClose:Nt},Ae({_:2},[y(S(ye),t=>({name:t,fn:C(n=>[b(e.$slots,t,Pe(p(S(ve)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):l(``,!0),Et.value?(_(),u(`div`,{key:1,ref_key:`noTitle`,ref:ft,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):l(``,!0),L.value.title.text?(_(),u(`div`,{key:2,ref_key:`chartTitle`,ref:mt,style:`width:100%;background:transparent;padding-bottom:24px`},[(_(),c(me,{key:`title_${ut.value}`,config:{title:{cy:`funnel-div-title`,...L.value.title},subtitle:{cy:`funnel-div-subtitle`,...L.value.title.subtitle}}},null,8,[`config`]))],512)):l(``,!0),P.value.userOptions.show&&N.value&&(S(xt)||S(R))?(_(),c(S(rt),{ref_key:`userOptionsRef`,ref:M,key:`user_option_${lt.value}`,backgroundColor:L.value.backgroundColor,color:L.value.color,isPrinting:S(St),isImaging:S(Ct),uid:O.value,hasTooltip:!1,hasPdf:P.value.userOptions.buttons.pdf,hasImg:P.value.userOptions.buttons.img,hasSvg:P.value.userOptions.buttons.svg,hasXls:P.value.userOptions.buttons.csv,hasTable:P.value.userOptions.buttons.table,hasLabel:!1,hasFullscreen:P.value.userOptions.buttons.fullscreen,hasAltCopy:P.value.userOptions.buttons.altCopy,isFullscreen:J.value,chartElement:D.value,position:P.value.userOptions.position,titles:{...P.value.userOptions.buttonTitles},hasAnnotator:P.value.userOptions.buttons.annotator,isAnnotation:Y.value,callbacks:P.value.userOptions.callbacks,printScale:P.value.userOptions.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:yt.value,onToggleAnnotator:Nt,onToggleFullscreen:jt,onGeneratePdf:S(wt),onGenerateImage:S(Ut),onGenerateSvg:S(Ht),onToggleTable:Pt,onGenerateCsv:Q,onCopyAlt:Wt,style:g({visibility:S(xt)?S(R)?`visible`:`hidden`:`visible`})},Ae({_:2},[y(S(be)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:C(n=>[b(e.$slots,t,Pe(p(S(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),N.value?(_(),u(`svg`,{key:4,ref_key:`svgRef`,ref:z,xmlns:S(oe),class:h({"vue-data-ui-fullscreen--on":J.value,"vue-data-ui-fulscreen--off":!J.value}),viewBox:`0 0 ${H.value.width<=0?10:H.value.width} ${H.value.height<=0?10:H.value.height}`,style:g(`max-width:100%; overflow: visible; background:transparent;color:${L.value.color}`)},[Me(S(at)),e.$slots[`chart-background`]?(_(),u(`foreignObject`,{key:0,x:0,y:0,width:H.value.width<=0?10:H.value.width,height:H.value.height<=0?10:H.value.height,style:{pointerEvents:`none`}},[b(e.$slots,`chart-background`,{},void 0,!0)],8,We)):l(``,!0),d(`defs`,null,[Me(Te,{t:`linear`,id:`funnel_area_${O.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,L.value.backgroundColor,0],[`20%`,L.value.area.color,1],[`100%`,L.value.area.color,1]]},null,8,[`id`,`stops`])]),L.value.circleLinks.show?(_(),u(`line`,m({key:1},At.value,{stroke:L.value.circleLinks.color,"stroke-width":12*L.value.circleLinks.widthRatio,"stroke-linecap":`round`,class:{animated:P.value.useCssAnimation&&!S(T)},style:{strokeDasharray:P.value.useCssAnimation&&!S(T)?W.value.height:0,strokeDashoffset:P.value.useCssAnimation&&!S(T)?W.value.height:0}}),null,16,Ge)):l(``,!0),(_(!0),u(o,null,y(q.value,({cx:e,cy:t,r:n,fill:r},i)=>(_(),u(`circle`,m({ref_for:!0},{cx:e,cy:t,r:n,fill:r},{stroke:I.value.stroke,"stroke-width":I.value.strokeWidth,class:{animated:P.value.useCssAnimation&&!j.value&&!S(T)},style:{animationDelay:`${150*i}ms`}}),null,16,Ke))),256)),(_(!0),u(o,null,y(q.value,(e,t)=>(_(),u(`text`,{x:e.cx,y:e.cy+V.value.circles/3+I.value.dataLabels.offsetY,"text-anchor":`middle`,"font-size":V.value.circles,fill:I.value.dataLabels.adaptColorToBackground?S(ie)(e.color):I.value.dataLabels.color,"font-weight":I.value.dataLabels.bold?`bold`:`normal`,class:h({animated:P.value.useCssAnimation&&!j.value&&!S(T)}),style:g({animationDelay:`${150*t}ms`})},x(S(a)(I.value.dataLabels.formatter,e.proportion*100,S(n)({v:e.proportion*100,s:`%`,r:I.value.dataLabels.rounding}),{datapoint:e})),15,qe))),256)),L.value.area.show?(_(),u(`polygon`,{key:2,points:kt.value,fill:`url(#funnel_area_${O.value})`,class:h({animated:P.value.useCssAnimation&&!j.value&&!S(T)}),style:g({transition:P.value.useCssAnimation?`all ${150*U.value.length}ms ease-in`:`none`})},null,14,Je)):l(``,!0),(_(!0),u(o,null,y(q.value,({x:e,y:t,height:n,width:r,fill:i},ee)=>(_(),u(`rect`,m({ref_for:!0},{x:e,y:t,height:n,width:r,fill:i},{stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,rx:F.value.borderRadius,class:{animated:P.value.useCssAnimation&&!j.value&&!S(T)},style:{animationDelay:`${150*ee}ms`}}),null,16,Ye))),256)),(_(!0),u(o,null,y(q.value,(e,t)=>(_(),u(`g`,null,[d(`text`,{x:e.x+e.width+F.value.dataLabels.name.offsetX+12,y:e.cy-V.value.names/2+F.value.dataLabels.name.offsetY,"text-anchor":`start`,"font-size":V.value.names,fill:F.value.dataLabels.name.color,"font-weight":F.value.dataLabels.name.bold?`bold`:`normal`,class:h({animated:P.value.useCssAnimation&&!j.value&&!S(T)}),style:g({animationDelay:`${150*t}ms`})},x(e.name),15,Xe),d(`text`,{x:e.x+e.width+F.value.dataLabels.value.offsetX+12,y:e.cy+V.value.values+F.value.dataLabels.value.offsetY,"text-anchor":`start`,"font-size":V.value.values,fill:F.value.dataLabels.value.color,"font-weight":F.value.dataLabels.value.bold?`bold`:`normal`,class:h({animated:P.value.useCssAnimation&&!j.value&&!S(T)}),style:g({animationDelay:`${150*t}ms`})},x(S(a)(F.value.dataLabels.value.formatter,e.value,S(n)({p:F.value.dataLabels.value.prefix,v:e.value,s:F.value.dataLabels.value.suffix,r:F.value.dataLabels.value.rounding}),{datapoint:e})),15,Ze)]))),256)),b(e.$slots,`svg`,{svg:{...H.value,isPrintingImg:S(St)||S(Ct)||S(Bt),isPrintingSvg:S(Vt)}},void 0,!0)],14,Ue)):l(``,!0),e.$slots.watermark?(_(),u(`div`,Qe,[b(e.$slots,`watermark`,Pe(p({isPrinting:S(St)||S(Ct)||S(Bt)||S(Vt)})),void 0,!0)])):l(``,!0),N.value?l(``,!0):(_(),c(S(et),{key:6,config:{type:`verticalBar`,style:{backgroundColor:L.value.backgroundColor,verticalBar:{axis:{color:`#CCCCCC`},color:`#CCCCCC`}}}},null,8,[`config`])),e.$slots.source?(_(),u(`div`,{key:7,ref_key:`source`,ref:pt,dir:`auto`},[b(e.$slots,`source`,{},void 0,!0)],512)):l(``,!0),N.value&&P.value.userOptions.buttons.table?(_(),c(Le($.value.component),m({key:8},$.value.props,{ref_key:`tableUnit`,ref:ht,onClose:Lt}),Ae({content:C(()=>[(_(),c(S(nt),{key:`table_${dt.value}`,colNames:Z.value.colNames,head:Z.value.head,body:Z.value.body,config:Z.value.config,title:P.value.table.useDialog?``:$.value.title,withCloseButton:!P.value.table.useDialog,onClose:Lt},{th:C(({th:e})=>[d(`div`,$e,x(e),1)]),td:C(({td:e})=>[je(x(e.name?e.name:e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:C(()=>[je(x($.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:C(()=>[d(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[0]||=e=>Q(P.value.userOptions.callbacks.csv)},[Me(S(w),{name:`fileCsv`,stroke:$.value.props.color},null,8,[`stroke`])])]),key:`1`}:void 0]),1040)):l(``,!0)],46,He))}},[[`__scopeId`,`data-v-efc62c19`]]);export{Ve as n,w as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.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-DqD8nbyX.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-ChGWTt5l.js";import{t as _e}from"./chartImage-r-G4CkRK.js";import{n as ve}from"./Title-BLA0tM3g.js";import{t as ye}from"./useChartExport-DtPNpc9M.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-Cj4eIYC_.js";import{t as De}from"./useTransitions-DfSHzsdz.js";import{l as Oe,t as ke}from"./useResponsive-D2CPcpda.js";import{t as Ae}from"./BaseLegendToggle-BOcw1ke8.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-DXiFpsZl.js";import{t as Fe}from"./Legend-D8NunRPr.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-Iyb_S6oQ.js`)),gt=m(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),_t=m(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),vt=m(()=>import(`./DataTable-BcVZLSs8.js`)),yt=m(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),bt=m(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),xt=m(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),St=m(()=>import(`./BaseDraggableDialog-Bw_azO0n.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),j=b(null),Nt=b(!1),Pt=b(null),Ft=b(null),M=b(null),It=b(null),Lt=b({x:0,y:0}),Rt=b(`pointer`),zt=b(!1),Bt=l(()=>!!T.dataset&&T.dataset.length),N=b(Xt()),P=l(()=>N.value.style.chart.layout.arcs),F=l(()=>N.value.style.chart.layout),I=l(()=>N.value.style.chart);pe({config:()=>N.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:Vt}=De({config:()=>N.value.transitions,dataset:()=>T.dataset}),L=l(()=>N.value.userOptions.useCursorPointer),Ht=l(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},useCssAnimation:!1,style:{chart:{backgroundColor:`#99999930`,legend:{backgroundColor:`transparent`}}}},userConfig:N.value.skeletonConfig??{}})),{loading:Ut,FINAL_DATASET:Wt}=de({...qe(T),FINAL_CONFIG:N,prepareConfig:Xt,callback:()=>{Promise.resolve().then(async()=>{await Ue(),z.value.showTable=N.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:N.value,userConfig:Ht.value})});We(()=>{Nt.value=!0,Kt()});let Gt=l(()=>N.value.debug);function Kt(){if(ue(T.dataset)?te({componentName:`VueUiGalaxy`,type:`dataset`,debug:Gt.value}):Gt.value&&T.dataset.forEach((e,t)=>{ce({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{te({componentName:`VueUiGalaxy`,type:`datasetSerieAttribute`,property:e,index:t})})}),N.value.responsive){let e=Oe(()=>{let{width:e,height:t}=ke({chart:D.value,title:I.value.title.text?kt.value:null,legend:I.value.legend.show?At.value:null,noTitle:Mt.value,source:jt.value});requestAnimationFrame(()=>{B.value=Math.max(.1,e),an.value=Math.max(.1,t-12)})});A.value&&(j.value&&A.value.unobserve(j.value),A.value.disconnect()),A.value=new ResizeObserver(e),j.value=D.value.parentNode,A.value.observe(j.value)}}let{userOptionsVisible:qt,setUserOptionsVisibility:Jt,keepUserOptionState:Yt}=Me({config:N.value}),{svgRef:R}=Ne({config:I.value.title});function Xt(){return ge(T.config,Ct,Ie)}let Zt=c(T.config);Je(()=>T.config,(e,t)=>{let n=c(e),r=n!==Zt;Zt=n;let i=Xt();if(!r){N.value.style.chart.tooltip=i.style.chart.tooltip,z.value.showTooltip=N.value.style.chart.tooltip.show;return}N.value=i,qt.value=!N.value.userOptions.showOnChartHover,Kt(),Et.value+=1,Dt.value+=1,Ot.value+=1,z.value.dataLabels.show=F.value.labels.dataLabels.show,z.value.showTable=N.value.table.show,z.value.showTooltip=I.value.tooltip.show},{deep:!0});let{isPrinting:Qt,isImaging:$t,generatePdf:en,generateImage:tn}=Ee({elementId:`galaxy_${E.value}`,fileName:I.value.title.text||`vue-ui-galaxy`,options:N.value.userOptions.print}),nn=l(()=>N.value.userOptions.show&&!I.value.title.text),rn=l(()=>se(N.value.customPalette)),z=b({dataLabels:{show:F.value.labels.dataLabels.show},showTable:N.value.table.show,showTooltip:I.value.tooltip.show}),B=b(250),an=b(180),on=b(0),sn=b(0),V=l(()=>({width:B.value,height:an.value,viewBox:`${on.value} ${sn.value} ${B.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)||(Gt.value&&console.warn(`VueUiGalaxy - Series name not found "${e}"`),null):(Gt.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(()=>Wt.value.map((e,t)=>({name:e.name,color:ee(e.color)||rn.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(()=>(P.value.strokeWidth+P.value.borderWidth)/2+(F.value.padding??12)),vn=l(()=>le({maxPoints:hn.value,a:P.value.a??6,b:P.value.b??6,angleStep:P.value.angleStep??.07,startX:V.value.width/2+P.value.offsetX,startY:V.value.height/2+P.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(B.value,an.value),n=k.value===e.id&&P.value.hoverEffect.show?P.value.hoverEffect.multiplicator:1,r=(P.value.strokeWidth+P.value.borderWidth)*n,i=P.value.strokeWidth*n,a=P.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,M.value=null,It.value=null}function Cn(e){if(!R.value||!e)return;let t=R.value.querySelector(`[data-a11y-serie-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();Lt.value={x:n.left+n.width/2,y:n.top+n.height/2}}function wn(e){N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:e.absoluteIndex}),(It.value!==e.id||Rt.value!==`keyboard`)&&(O.value=!1,k.value=null)}function Tn(e){cn(`selectDatapoint`,e),N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:e.absoluteIndex})}function En({val:e,percentage:t,showVal:n,showPercentage:r}){let i=F.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(N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:e,seriesIndex:e.absoluteIndex}),!z.value.showTooltip)return;Rt.value=o,M.value=ee,It.value=e.id,xn.value={datapoint:e,seriesIndex:r,series:W.value,config:N.value},O.value=a,k.value=e.id;let s=``,c=I.value.tooltip.customFormat;i(c)&&ae(()=>c({seriesIndex:r,datapoint:e,series:W.value,config:N.value}))?wt.value=c({seriesIndex:r,datapoint:e,series:W.value,config:N.value}):(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${I.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:I.value.tooltip.showValue,showPercentage:I.value.tooltip.showPercentage,val:ne(F.value.labels.dataLabels.formatter,e.value,n({p:F.value.labels.dataLabels.prefix,v:e.value,s:F.value.labels.dataLabels.suffix,r:I.value.tooltip.roundingValue}),{datapoint:e,seriesIndex:r}),percentage:n({v:e.proportion*100,s:`%`,r:I.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(F.value.labels.dataLabels.formatter,e.value,n({p:F.value.labels.dataLabels.prefix,v:e.value,s:F.value.labels.dataLabels.suffix,r:I.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:I.value.legend.roundingPercentage}),a=En({showVal:I.value.legend.showValue,showPercentage:I.value.legend.showPercentage,val:r,percentage:i});return{...e,proportion:(e.value||0)/Wt.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}${I.value.legend.showPercentage||I.value.legend.showValue?`: `:``}${a}`}})),On=l(()=>({cy:`galaxy-div-legend`,backgroundColor:I.value.legend.backgroundColor,color:I.value.legend.color,fontSize:I.value.legend.fontSize,paddingBottom:12,fontWeight:I.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=[[I.value.title.text],[I.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:I.value.title.text||`vue-ui-galaxy`})})}let X=l(()=>{let e=[`__SUM__`,n({p:F.value.labels.dataLabels.prefix,v:G.value,s:F.value.labels.dataLabels.suffix,r:N.value.table.td.roundingValue}),`100%`],t=Y.value.head.map((e,t)=>{let r=n({p:F.value.labels.dataLabels.prefix,v:Y.value.body[t],s:F.value.labels.dataLabels.suffix,r:N.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:N.value.table.td.roundingPercentage})]}),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 An(){z.value.showTable=!z.value.showTable}function jn(){z.value.showTooltip=!z.value.showTooltip}let Z=b(!1);function Mn(){Z.value=!Z.value}let Nn=_e(D,()=>I.value.title.text),Q=l(()=>xe({config:N,style:I,mutableConfig:z,dialog:St,accordion:_t,isFullscreen:q,parent:D,maxWidth:500,isCursorPointer:L}));Je(()=>z.value.showTable,e=>be(e,N,Pt));function Pn(){z.value.showTable=!1,Ft.value&&Ft.value.setTableIconState(!1)}let Fn=l(()=>J.value.map(e=>({...e,name:e.display}))),In=l(()=>I.value.backgroundColor),Ln=l(()=>I.value.legend),Rn=l(()=>I.value.title),{isCallbackImaging:zn,isCallbackSvg:Bn,generateSvg:Vn,onGenerateImage:Hn}=ye({svg:R,title:Rn,legend:Ln,legendItems:Fn,backgroundColor:In,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:tn});async function Un(){if(cn(`copyAlt`,{config:N.value,dataset:W.value}),!N.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:W.value}))}function Wn(){M.value=null,It.value=null,zt.value=!0}function Gn(){Sn(),zt.value=!1}function Kn(e){if(!R.value||Z.value||document.activeElement!==R.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(M.value===null)return;let e=$.value[M.value];if(!e)return;Tn(e.datapoint);return}let a=M.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:en,generateCsv:kn,generateImage:tn,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`:``} ${N.value.useCssAnimation?``:`vue-ui-dna`} ${C(Ut)?`loading`:``}`),style:v(`font-family:${N.value.style.fontFamily};width:100%; text-align:center;${I.value.title.text?``:`padding-top:36px`};background:${I.value.backgroundColor}`),id:`galaxy_${E.value}`,onMouseenter:t[2]||=()=>C(Jt)(!0),onMouseleave:t[3]||=()=>{C(Jt)(!1),zt.value||Sn()}},[p(`div`,{id:`chart-instructions-${E.value}`,class:`sr-only`},[p(`p`,null,S(N.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:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):d(``,!0),N.value.userOptions.buttons.annotator?(y(),u(C(yt),{key:1,svgRef:C(R),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Z.value,isCursorPointer:L.value,palette:N.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),nn.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),I.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`,...I.value.title},subtitle:{cy:`galaxy-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):d(``,!0),p(`div`,{id:`legend-top-${E.value}`},null,8,Qe),N.value.userOptions.show&&Bt.value&&(C(Yt)||C(qt))?(y(),u(C(bt),{ref_key:`userOptionsRef`,ref:Ft,key:`user_option_${Tt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:C(Qt),isImaging:C($t),uid:E.value,hasTooltip:N.value.userOptions.buttons.tooltip&&I.value.tooltip.show,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,isTooltip:z.value.showTooltip,isFullscreen:q.value,titles:{...N.value.userOptions.buttonTitles},chartElement:D.value,position:N.value.userOptions.position,hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:Z.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:L.value,onToggleFullscreen:bn,onGeneratePdf:C(en),onGenerateCsv:kn,onGenerateImage:C(Hn),onGenerateSvg:C(Vn),onToggleTable:An,onToggleTooltip:jn,onToggleAnnotator:Mn,onCopyAlt:Un,style:v({visibility:C(Yt)?C(qt)?`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:R,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:${I.value.color}`),tabindex:`0`,onFocus:Wn,onBlur:Gn,onKeydown:Kn},[Ve(C(xt)),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/P.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:I.value.backgroundColor,"stroke-width":yn(e).border,class:g({"vue-data-ui-transition":C(Vt)}),"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(Vt),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&N.value.useBlurOnHover})},null,10,at)):d(``,!0),e.value&&P.value.gradient.show?(y(),f(`g`,{key:2,filter:`url(#blur_${E.value})`},[p(`path`,{d:e.path,fill:`none`,stroke:P.value.gradient.color,"stroke-width":yn(e).blur,"stroke-linecap":`round`,class:g({"vue-ui-galaxy-gradient":!0,"vue-data-ui-transition":C(Vt),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&N.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":P.value.strokeWidth+P.value.borderWidth,"stroke-linecap":`round`,"aria-label":`${e.name}: ${C(n)({p:F.value.labels.dataLabels.prefix,v:e.value,s:F.value.labels.dataLabels.suffix,r:I.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(Qt)||C($t)||C(zn),isPrintingSvg:C(Bn)}},void 0,!0)],46,et)),e.$slots.hint?(y(),f(`div`,lt,[x(e.$slots,`hint`,_(h({hint:N.value.a11y.translations.keyboardNavigation,isVisible:zt.value})),void 0,!0)])):d(``,!0)]),e.$slots.watermark?(y(),f(`div`,ut,[x(e.$slots,`watermark`,_(h({isPrinting:C(Qt)||C($t)||C(zn)||C(Bn)})),void 0,!0)])):d(``,!0),p(`div`,{id:`legend-bottom-${E.value}`},null,8,dt),Nt.value&&(I.value.legend.show||e.$slots.legend)?(y(),u(Re,{key:6,to:I.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},()=>[I.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(Ut)?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&&I.value.legend.selectAllToggle.show&&!C(Ut)?(y(),u(Ae,{key:0,backgroundColor:I.value.legend.selectAllToggle.backgroundColor,color:I.value.legend.selectAllToggle.color,fontSize:I.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:I.value.tooltip.teleportTo,show:z.value.showTooltip&&O.value,backgroundColor:I.value.tooltip.backgroundColor,color:I.value.tooltip.color,borderRadius:I.value.tooltip.borderRadius,borderColor:I.value.tooltip.borderColor,borderWidth:I.value.tooltip.borderWidth,fontSize:I.value.tooltip.fontSize,backgroundOpacity:I.value.tooltip.backgroundOpacity,position:I.value.tooltip.position,offsetX:I.value.tooltip.offsetX,offsetY:I.value.tooltip.offsetY,parent:D.value,content:wt.value,isFullscreen:q.value,isCustom:C(i)(I.value.tooltip.customFormat),smooth:I.value.tooltip.smooth,backdropFilter:I.value.tooltip.backdropFilter,smoothForce:I.value.tooltip.smoothForce,smoothSnapThreshold:I.value.tooltip.smoothSnapThreshold,isA11yMode:Rt.value===`keyboard`,a11yPosition:Lt.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`]),Bt.value&&N.value.userOptions.buttons.table?(y(),u(Ke(Q.value.component),He({key:8},Q.value.props,{ref_key:`tableUnit`,ref:Pt,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:N.value.table.useDialog?``:Q.value.title,withCloseButton:!N.value.table.useDialog,isCursorPointer:L.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},[N.value.table.useDialog?{name:`title`,fn:w(()=>[Be(S(Q.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:w(()=>[p(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>kn(N.value.userOptions.callbacks.csv),style:v({cursor:L.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(Ut)?(y(),u(fe,{key:0})):d(``,!0)],!0)],46,Xe))}},[[`__scopeId`,`data-v-fbbde348`]]);export{Ye as n,ht as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.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-DqD8nbyX.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-ChGWTt5l.js";import{t as ve}from"./chartImage-r-G4CkRK.js";import{n as ye}from"./Title-BLA0tM3g.js";import{t as be}from"./useChartExport-DtPNpc9M.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-Cj4eIYC_.js";import{l as Ee,t as De}from"./useResponsive-D2CPcpda.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 m,mergeProps as h,nextTick as Le,normalizeClass as Re,normalizeProps as ze,normalizeStyle as Be,onBeforeUnmount as Ve,onMounted as He,openBlock as g,ref as _,renderList as v,renderSlot as y,shallowRef as Ue,toDisplayString as b,toRefs as We,unref as x,watch as S,withCtx as Ge}from"vue";var Ke=/* @__PURE__ */ e({default:()=>wt}),qe=[`id`],Je={key:0},Ye=[`xmlns`,`viewBox`],Xe=[`width`,`height`],Ze=[`id`],Qe=[`stdDeviation`],$e={key:1},et=[`d`,`fill`,`stroke`],tt=[`d`,`fill`,`stroke`],nt=[`d`,`fill`],rt=[`id`,`d`],it=[`fill`,`font-size`,`font-weight`],at=[`href`,`startOffset`],ot=[`text-anchor`,`fill`,`font-size`,`font-weight`,`innerHTML`],st=[`d`,`filter`],ct=[`stroke`,`stroke-width`],lt=[`stroke`,`stroke-width`],ut=[`stroke`,`stroke-width`],dt=[`stroke`,`stroke-width`],ft={key:8},pt=[`x`,`y`,`text-anchor`,`font-size`,`font-weight`,`fill`],mt=[`x`,`y`,`font-size`,`font-weight`,`fill`],ht={key:0},gt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],_t=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],vt=[`x1`,`y1`,`x2`,`y2`,`stroke-width`,`filter`],yt={key:1},bt=[`d`,`fill`,`stroke`,`stroke-width`],xt=[`cx`,`cy`,`fill`,`r`,`stroke-width`,`stroke`],St=[`x`,`y`,`font-size`,`fill`],Ct={key:4,class:`vue-data-ui-watermark`},wt=/*#__PURE__*/ ge({__name:`vue-ui-gauge`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`copyAlt`],setup(e,{expose:ge,emit:Ke}){let wt=Ie(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),Tt=Ie(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),Et=Ie(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),{vue_ui_gauge:Dt}=t(),Ot=je(),C=e,kt=Ke,At=l(()=>!!C.dataset&&Object.keys(C.dataset).length>0&&C.dataset.series&&C.dataset.series.length),w=_(re()),jt=_(null),Mt=_(0),T=_(null),Nt=_(null),Pt=_(null),Ft=_(null),It=_(null),Lt=_(0),E=_(Wt()),D=l(()=>E.value.style.chart.layout.segmentSeparators),O=l(()=>E.value.style.chart.layout.segmentNames),k=l(()=>E.value.style.chart.layout.markers),A=l(()=>E.value.style.chart.layout.pointer),j=l(()=>E.value.style.chart.layout),M=l(()=>E.value.style.chart);he({config:()=>E.value,dataset:()=>C.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 Rt=l(()=>E.value.userOptions.useCursorPointer),zt=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:E.value.skeletonConfig??{}})),{loading:Bt,FINAL_DATASET:N,manualLoading:P}=pe({...We(C),FINAL_CONFIG:E,prepareConfig:Wt,callback:()=>{Promise.resolve().then(async()=>{await Le()})},skeletonDataset:C.config?.skeletonDataset??{value:0,series:[{from:-1,to:0,name:`_`,color:`#A1A1A1`},{from:0,to:1,name:`__`,color:`#CACACA`}]},skeletonConfig:se({defaultConfig:E.value,userConfig:zt.value})}),{userOptionsVisible:Vt,setUserOptionsVisibility:Ht,keepUserOptionState:Ut}=ke({config:E.value}),{svgRef:F}=Ae({config:M.value.title});S(()=>C.config,e=>{Bt.value||(E.value=Wt()),Vt.value=!E.value.userOptions.showOnChartHover,tn(),Lt.value+=1},{deep:!0}),S(()=>C.dataset,e=>{tn(),e&&Object.keys(e).length>0&&(P.value=E.value?.loading??!1)},{deep:!0,immediate:!1});function Wt(){return _e(C.config,Dt,Ne)}let{isPrinting:Gt,isImaging:Kt,generatePdf:qt,generateImage:Jt}=Te({elementId:`vue-ui-gauge_${w.value}`,fileName:M.value.title.text||`vue-ui-gauge`,options:E.value.userOptions.print}),Yt=l(()=>E.value.userOptions.show&&!M.value.title.text),Xt=l(()=>ue(E.value.customPalette)),I=l(()=>{if(fe(N.value.series||{}))return{value:0,series:[{from:0,to:0}]};let e=[];(N.value.series||[]).forEach(t=>{e.push(t.from||1e-7),e.push(t.to||1e-7)});let t=Math.max(...e);return{...N.value,series:(N.value.series||[]).map((e,n)=>({...e,color:ne(e.color)||Xt.value[n]||i[n],value:((e.to||0)-(e.from||0))/t*100}))}}),L=_(512),R=_({height:358.4,width:L.value,top:0,bottom:358.4,centerX:179.2,centerY:L.value/2,labelFontSize:18,legendFontSize:M.value.legend.fontSize,pointerRadius:A.value.circle.radius,trackSize:j.value.track.size,pointerSize:A.value.size,pointerStrokeWidth:A.value.strokeWidth,markerOffset:k.value.offsetY+3,segmentFontSize:O.value.fontSize}),z=_(0),B=_(0),V=l(()=>M.value.animation.use&&!Ot.value),H=_(V.value?Math.min(...N.value.series.map(e=>e.from)):N.value.value),U=null;function Zt(){U!==null&&(cancelAnimationFrame(U),U=null)}S(V,e=>{e||(Zt(),H.value=N.value.value)}),S(()=>N.value.value,()=>{nn(N.value.value)});let W=l(()=>{let e=R.value.width/2,t=Y.value.base,n=Math.PI*((H.value+0-B.value)/(z.value-B.value))+Math.PI;return{x1:e,y1:t,x2:e+Y.value.pointerSize*R.value.pointerSize*.9*Math.cos(n),y2:t+Y.value.pointerSize*R.value.pointerSize*.9*Math.sin(n)}}),Qt=l(()=>{let e=R.value.width/2,t=Y.value.base,n=Math.PI*((H.value+0-B.value)/(z.value-B.value))+Math.PI,r=e+Y.value.pointerSize*R.value.pointerSize*.9*Math.cos(n),i=t+Y.value.pointerSize*R.value.pointerSize*.9*Math.sin(n),a=R.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`}),$t=l(()=>{for(let e=0;e<I.value.series.length;e+=1){let{color:t,from:n,to:r}=I.value.series[e];if(H.value>=n&&H.value<=r)return t}return`#2D353C`}),G=Ue(null),K=Ue(null),q=l({get:()=>R.value.segmentFontSize,set:e=>e}),{autoSizeLabels:en}=Me({svgRef:F,fontSize:R.value.segmentFontSize,minFontSize:O.value.minFontSize,sizeRef:q,labelClass:`.vue-ui-gauge-label-flat`}),J=l(()=>E.value.debug);function tn(){let e=!1;if(fe(C.dataset)?(s({componentName:`VueUiGauge`,type:`dataset`,debug:J.value}),P.value=!0,e=!0):(de({datasetObject:C.dataset,requiredAttributes:[`value`,`series`]}).forEach(t=>{s({componentName:`VueUiGauge`,type:`datasetAttribute`,property:t,debug:J.value}),P.value=!0,e=!0}),Object.hasOwn(C.dataset,`series`)&&(C.dataset.series.length?C.dataset.series.forEach((t,n)=>{de({datasetObject:t,requiredAttributes:[`from`,`to`]}).forEach(t=>{s({componentName:`VueUiGauge`,type:`datasetSerieAttribute`,property:t,index:n,debug:J.value}),P.value=!0,e=!0})}):(s({componentName:`VueUiGauge`,type:`datasetAttributeEmpty`,property:`series`,debug:J.value}),P.value=!0,e=!0))),P.value=e,nn(N.value.value||0),E.value.responsive){let e=Ee(()=>{let{width:e,height:t}=De({chart:T.value,title:M.value.title.text?Nt.value:null,legend:Pt.value,source:Ft.value,noTitle:It.value});t-=12,requestAnimationFrame(()=>{R.value.width=e,R.value.height=t,R.value.centerX=e/2,R.value.centerY=L.value/2/358.4*t,R.value.bottom=t,R.value.labelFontSize=18/L.value*Math.min(t,e)<10?10:18/L.value*Math.min(t,e),R.value.legendFontSize=M.value.legend.fontSize/L.value*Math.min(t,e)<14?14:M.value.legend.fontSize/L.value*Math.min(t,e),R.value.pointerRadius=A.value.circle.radius/L.value*Math.min(t,e),R.value.trackSize=j.value.track.size/L.value*Math.min(t,e),R.value.pointerStrokeWidth=ce({relator:Math.min(e,t),adjuster:L.value,source:A.value.strokeWidth,threshold:2,fallback:2}),R.value.markerOffset=ce({relator:Math.max(e,t),adjuster:L.value,source:k.value.offsetY+3,threshold:2,fallback:2}),R.value.segmentFontSize=ce({relator:Math.min(e,t),adjuster:L.value,source:O.value.fontSize,threshold:8,fallback:8})}),en()});G.value&&(K.value&&G.value.unobserve(K.value),G.value.disconnect()),G.value=new ResizeObserver(e),K.value=T.value.parentNode,G.value.observe(K.value)}en()}He(()=>{tn()}),Ve(()=>{Zt(),G.value&&(K.value&&G.value.unobserve(K.value),G.value.disconnect())});function nn(e){let t=[];if((I.value.series||[]).forEach(e=>{t.push(e.from||0),t.push(e.to||0)}),z.value=Math.max(...t),B.value=Math.min(...t),Zt(),!V.value){H.value=e;return}let n=M.value.animation.speed,r=Math.abs(e-H.value)/(n*60);function i(){if(!V.value){H.value=e,U=null;return}H.value<e?H.value=Math.min(H.value+r,e):H.value>e&&(H.value=Math.max(H.value-r,e)),U=H.value===e?null:requestAnimationFrame(i)}i()}let Y=l(()=>{let e=E.value.responsive?Math.min(R.value.width,R.value.height):R.value.width,t=2.5/j.value.radiusRatio;return{arcs:e/t,gradients:e/(t*1.1),base:E.value.responsive?R.value.height/1.618:R.value.height*.7,ratingBase:E.value.responsive?R.value.height/2+R.value.height/4:R.value.height*.9,pointerSize:E.value.responsive?Math.min(R.value.width,R.value.height)/3:R.value.width/3.2}}),X=l(()=>a({series:I.value.series},R.value.width/2,Y.value.base,Y.value.arcs,Y.value.arcs,1,1,1,180,109.9495,40*R.value.trackSize)),rn=l(()=>a({series:I.value.series},R.value.width/2,Y.value.base,Y.value.arcs*O.value.offsetRatio,Y.value.arcs*O.value.offsetRatio,1,1,1,180,109.9495,40*R.value.trackSize)),Z=l(()=>X.value.map(e=>Y.value.arcs*O.value.offsetRatio*(e.nameOffsetRatio||1))),an=l(()=>{let{x:e,y:t}=r({initX:X.value[0].firstSeparator.x,initY:X.value[0].firstSeparator.y,centerX:W.value.x1,centerY:W.value.y1,offset:-D.value.offsetIn}),{x:n,y:i}=r({initX:X.value[0].startX,initY:X.value[0].startY,centerX:W.value.x1,centerY:W.value.y1,offset:D.value.offsetOut});return{x1:e,y1:t,x2:n,y2:i}}),on=l(()=>X.value.map(e=>{let{x:t,y:n}=r({initX:e.separator.x,initY:e.separator.y,centerX:W.value.x1,centerY:W.value.y1,offset:-D.value.offsetIn}),{x:i,y:a}=r({initX:e.endX,initY:e.endY,centerX:W.value.x1,centerY:W.value.y1,offset:D.value.offsetOut});return{x1:t,y1:n,x2:i,y2:a}}));function sn(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 cn=l(()=>sn(X.value.map(e=>e.proportion*100))),ln=l(()=>a({series:I.value.series},R.value.width/2,Y.value.base,Y.value.gradients,Y.value.gradients,.95,1,1,180,110.02,2*R.value.trackSize)),un=l(()=>{let e=B.value>=0?-B.value:Math.abs(B.value);return te({radius:j.value.indicatorArc.radius*R.value.trackSize,centerX:R.value.width/2,centerY:Y.value.base,percentage:ie((H.value+e)/(z.value+e))})}),Q=_(!1);function dn(e){Q.value=e,Mt.value+=1}let $=_(!1);function fn(){$.value=!$.value}let pn=ve(T,()=>M.value.title.text),mn=l(()=>M.value.backgroundColor),hn=l(()=>M.value.title),{isCallbackImaging:gn,isCallbackSvg:_n,generateSvg:vn,onGenerateImage:yn}=be({svg:F,title:hn,legend:null,legendItems:null,backgroundColor:mn,getSvgCallback:()=>E.value.userOptions.callbacks.svg,generateImage:Jt});async function bn(){if(kt(`copyAlt`,{config:E.value,dataset:I.value}),!E.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(E.value.userOptions.callbacks.altCopy({config:E.value,dataset:I.value}))}return ge({getImage:pn,generatePdf:qt,generateImage:Jt,generateSvg:vn,toggleAnnotator:fn,toggleFullscreen:dn,copyAlt:bn}),(e,t)=>(g(),f(`div`,{class:Re(`vue-data-ui-component vue-ui-gauge ${Q.value?`vue-data-ui-wrapper-fullscreen`:``}`),ref_key:`gaugeChart`,ref:T,id:`vue-ui-gauge_${w.value}`,style:Be(`font-family:${E.value.style.fontFamily};width:100%; text-align:center;background:${M.value.backgroundColor};${E.value.responsive?`height: 100%`:``}`),onMouseenter:t[0]||=()=>x(Ht)(!0),onMouseleave:t[1]||=()=>x(Ht)(!1)},[E.value.userOptions.buttons.annotator?(g(),u(x(wt),{key:0,svgRef:x(F),backgroundColor:M.value.backgroundColor,color:M.value.color,active:$.value,isCursorPointer:Rt.value,palette:E.value.userOptions.annotatorPalette,onClose:fn},Pe({_:2},[v(x(Se),t=>({name:t,fn:Ge(n=>[y(e.$slots,t,ze(m(x(xe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):d(``,!0),Yt.value?(g(),f(`div`,{key:1,ref_key:`noTitle`,ref:It,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):d(``,!0),M.value.title.text?(g(),f(`div`,{key:2,ref_key:`chartTitle`,ref:Nt,style:`width:100%;background:transparent;padding-bottom:12px`},[(g(),u(ye,{key:`title_${Lt.value}`,config:{title:{cy:`gauge-div-title`,...M.value.title},subtitle:{cy:`gauge-div-subtitle`,...M.value.title.subtitle}}},{default:Ge(()=>[E.value.translations.base&&x(N).base?(g(),f(`span`,Je,b(E.value.translations.base)+`: `+b(x(N).base),1)):d(``,!0)]),_:1},8,[`config`]))],512)):d(``,!0),E.value.userOptions.show&&At.value&&(x(Ut)||x(Vt))?(g(),u(x(Tt),{ref_key:`details`,ref:jt,key:`user_options_${Mt.value}`,backgroundColor:M.value.backgroundColor,color:M.value.color,isImaging:x(Kt),isPrinting:x(Gt),uid:w.value,hasXls:!1,hasPdf:E.value.userOptions.buttons.pdf,hasImg:E.value.userOptions.buttons.img,hasSvg:E.value.userOptions.buttons.svg,hasFullscreen:E.value.userOptions.buttons.fullscreen,hasAltCopy:E.value.userOptions.buttons.altCopy,isFullscreen:Q.value,titles:{...E.value.userOptions.buttonTitles},chartElement:T.value,callbacks:E.value.userOptions.callbacks,printScale:E.value.userOptions.print.scale,position:E.value.userOptions.position,hasAnnotator:E.value.userOptions.buttons.annotator,isAnnotation:$.value,isCursorPointer:Rt.value,onToggleFullscreen:dn,onGeneratePdf:x(qt),onGenerateImage:x(yn),onGenerateSvg:x(vn),onToggleAnnotator:fn,onCopyAlt:bn,style:Be({visibility:x(Ut)?x(Vt)?`visible`:`hidden`:`visible`})},Pe({_:2},[v(x(Ce)(e.$slots,`menuIcon optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Ge(n=>[y(e.$slots,t,ze(m(x(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),(g(),f(`svg`,{ref_key:`svgRef`,ref:F,xmlns:x(le),class:Re({"vue-data-ui-fullscreen--on":Q.value,"vue-data-ui-fulscreen--off":!Q.value}),viewBox:`0 0 ${R.value.width<=0?10:R.value.width} ${R.value.height<=0?10:R.value.height}`,style:Be(`max-width:100%;overflow:hidden !important;background:transparent;color:${M.value.color}`)},[Fe(x(Et)),e.$slots[`chart-background`]?(g(),f(`foreignObject`,{key:0,x:0,y:0,width:R.value.width<=0?10:R.value.width,height:R.value.height<=0?10:R.value.height,style:{pointerEvents:`none`}},[y(e.$slots,`chart-background`,{},void 0,!0)],8,Xe)):d(``,!0),p(`defs`,null,[Fe(Oe,{t:`radial`,id:`gradient_${w.value}`,cx:`50%`,cy:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,x(o)(`#FFFFFF`,1),1],[`80%`,x(o)(`#FFFFFF`,j.value.track.gradientIntensity),1],[`100%`,x(o)(`#FFFFFF`,1),1]]},null,8,[`id`,`stops`])]),p(`defs`,null,[p(`filter`,{id:`blur_${w.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[p(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/j.value.track.gradientIntensity},null,8,Qe)],8,Ze)]),e.$slots.pattern?(g(),f(`g`,$e,[(g(!0),f(c,null,v(X.value,(t,n)=>(g(),f(`defs`,null,[y(e.$slots,`pattern`,h({ref_for:!0},{seriesIndex:n,patternId:`pattern_${w.value}_${n}`}),void 0,!0)]))),256))])):d(``,!0),(g(!0),f(c,null,v(X.value,(e,t)=>(g(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:e.color,stroke:M.value.backgroundColor,"stroke-linecap":`round`},null,8,et))),128)),e.$slots.pattern?(g(!0),f(c,{key:2},v(X.value,(e,t)=>(g(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:`url(#pattern_${w.value}_${t})`,stroke:M.value.backgroundColor,"stroke-linecap":`round`},null,8,tt))),128)):d(``,!0),j.value.indicatorArc.show?(g(),f(`path`,{key:3,d:un.value,fill:j.value.indicatorArc.fill},null,8,nt)):d(``,!0),O.value.show&&O.value.curved?(g(),f(c,{key:4},[(g(!0),f(c,null,v(X.value,(e,t)=>(g(),f(`path`,{id:`curve_${w.value}_${t}`,d:`M ${W.value.x1},${W.value.y1} m -${Z.value[t]},0 a ${Z.value[t]},${Z.value[t]} 0 1,1 ${2*Z.value[t]},0 a ${Z.value[t]},${Z.value[t]} 0 1,1 -${2*Z.value[t]},0`,fill:`transparent`},null,8,rt))),256)),(g(!0),f(c,null,v(X.value,(e,t)=>(g(),f(`text`,{fill:O.value.useSerieColor?e.color:O.value.color,"font-size":q.value,"font-weight":O.value.bold?`bold`:`normal`,"text-anchor":`middle`},[p(`textPath`,{href:`#curve_${w.value}_${t}`,startOffset:cn.value[t]},b(e.name||``),9,at)],8,it))),256))],64)):d(``,!0),O.value.show&&!O.value.curved?(g(!0),f(c,{key:5},v(rn.value,(e,t)=>(g(),f(`text`,{class:`vue-ui-gauge-label-flat`,"text-anchor":x(ae)(e,!1,12).anchor,fill:O.value.useSerieColor?e.color:O.value.color,"font-size":q.value,"font-weight":O.value.bold?`bold`:`normal`,innerHTML:x(ee)({content:String(e.name??``),fontSize:q.value,fill:O.value.useSerieColor?e.color:O.value.color,x:e.center.endX,y:e.center.endY})},null,8,ot))),256)):d(``,!0),j.value.track.useGradient?(g(!0),f(c,{key:6},v(ln.value,(e,t)=>(g(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:`#FFFFFF`,stroke:`none`,"stroke-linecap":`round`,filter:`url(#blur_${w.value})`},null,8,st))),128)):d(``,!0),D.value.show?(g(),f(c,{key:7},[p(`line`,h(an.value,{stroke:M.value.backgroundColor,"stroke-width":D.value.strokeWidth+2,"stroke-linecap":`round`}),null,16,ct),p(`line`,h(an.value,{stroke:D.value.stroke,"stroke-width":D.value.strokeWidth,"stroke-linecap":`round`}),null,16,lt),(g(!0),f(c,null,v(on.value,e=>(g(),f(`line`,h({ref_for:!0},e,{stroke:M.value.backgroundColor,"stroke-width":D.value.strokeWidth+2,"stroke-linecap":`round`}),null,16,ut))),256)),(g(!0),f(c,null,v(on.value,e=>(g(),f(`line`,h({ref_for:!0},e,{stroke:D.value.stroke,"stroke-width":D.value.strokeWidth,"stroke-linecap":`round`}),null,16,dt))),256))],64)):d(``,!0),k.value.show?(g(),f(`g`,ft,[(g(!0),f(c,null,v(X.value,(e,t)=>(g(),f(`text`,{x:x(r)({centerX:W.value.x1,centerY:Y.value.base,initX:e.center.startX,initY:e.center.startY,offset:R.value.markerOffset}).x,y:x(r)({centerX:W.value.x1,centerY:Y.value.base,initX:e.center.startX,initY:e.center.startY,offset:R.value.markerOffset}).y,"text-anchor":e.center.startX<W.value.x1-5?`end`:e.center.startX>W.value.x1+5?`start`:`middle`,"font-size":R.value.labelFontSize*k.value.fontSizeRatio,"font-weight":`${k.value.bold?`bold`:`normal`}`,fill:k.value.color},b(x(oe)(k.value.formatter,e.from,x(n)({p:k.value.prefix,v:e.from,s:k.value.suffix,r:k.value.roundingValue}))),9,pt))),256))])):d(``,!0),k.value.show?(g(),f(`text`,{key:9,x:x(r)({centerX:R.value.width/2,centerY:Y.value.base,initX:X.value.at(-1).endX,initY:X.value.at(-1).endY,offset:R.value.markerOffset}).x,y:x(r)({centerX:R.value.width/2,centerY:Y.value.base,initX:X.value.at(-1).endX,initY:X.value.at(-1).endY,offset:R.value.markerOffset}).y,"text-anchor":`start`,"font-size":R.value.labelFontSize*k.value.fontSizeRatio,"font-weight":`${k.value.bold?`bold`:`normal`}`,fill:k.value.color},b(x(oe)(k.value.formatter,z.value,x(n)({p:k.value.prefix,v:z.value,s:k.value.suffix,r:k.value.roundingValue}))),9,mt)):d(``,!0),A.value.show?(g(),f(c,{key:10},[A.value.type===`rounded`?(g(),f(`g`,ht,[isNaN(W.value.x2)?d(``,!0):(g(),f(`line`,{key:0,x1:W.value.x1,y1:W.value.y1,x2:W.value.x2,y2:W.value.y2,stroke:A.value.stroke,"stroke-width":R.value.pointerStrokeWidth,"stroke-linecap":`round`},null,8,gt)),isNaN(W.value.x2)?d(``,!0):(g(),f(`line`,{key:1,x1:W.value.x1,y1:W.value.y1,x2:W.value.x2,y2:W.value.y2,stroke:A.value.useRatingColor?$t.value:A.value.color,"stroke-linecap":`round`,"stroke-width":R.value.pointerStrokeWidth*.7},null,8,_t)),!isNaN(W.value.x2)&&j.value.track.useGradient?(g(),f(`line`,{key:2,x1:W.value.x1,y1:W.value.y1,x2:W.value.x2,y2:W.value.y2,stroke:`white`,"stroke-linecap":`round`,"stroke-width":R.value.pointerStrokeWidth*.3,filter:`url(#blur_${w.value})`},null,8,vt)):d(``,!0)])):(g(),f(`g`,yt,[Qt.value?(g(),f(`path`,{key:0,d:Qt.value,fill:A.value.useRatingColor?$t.value:A.value.color,stroke:A.value.stroke,"stroke-width":A.value.circle.strokeWidth,"stroke-linejoin":`round`},null,8,bt)):d(``,!0)])),p(`circle`,{cx:R.value.width/2,cy:Y.value.base,fill:A.value.circle.color,r:R.value.pointerRadius<=0?1e-4:R.value.pointerRadius,"stroke-width":A.value.circle.strokeWidth,stroke:A.value.circle.stroke},null,8,xt)],64)):d(``,!0),M.value.legend.show?(g(),f(`text`,{key:11,x:R.value.width/2,y:Y.value.ratingBase,"text-anchor":`middle`,"font-size":R.value.legendFontSize,"font-weight":`bold`,fill:M.value.legend.useRatingColor?$t.value:M.value.legend.color},b(x(oe)(M.value.legend.formatter,H.value,x(n)({p:M.value.legend.prefix+(M.value.legend.showPlusSymbol&&H.value>0?`+`:``),v:H.value,s:M.value.legend.suffix,r:M.value.legend.roundingValue}))),9,St)):d(``,!0),y(e.$slots,`svg`,{svg:{...R.value,isPrintingImg:x(Gt)||x(Kt)||x(gn),isPrintingSvg:x(_n)}},void 0,!0)],14,Ye)),e.$slots.watermark?(g(),f(`div`,Ct,[y(e.$slots,`watermark`,ze(m({isPrinting:x(Gt)||x(Kt)||x(gn)||x(_n)})),void 0,!0)])):d(``,!0),p(`div`,{ref_key:`chartLegend`,ref:Pt},[y(e.$slots,`legend`,{legend:I.value},void 0,!0)],512),e.$slots.source?(g(),f(`div`,{key:5,ref_key:`source`,ref:Ft,dir:`auto`},[y(e.$slots,`source`,{},void 0,!0)],512)):d(``,!0),y(e.$slots,`skeleton`,{},()=>[x(Bt)?(g(),u(me,{key:0})):d(``,!0)],!0)],46,qe))}},[[`__scopeId`,`data-v-85396984`]]);export{Ke as n,wt as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{Dt as n,S as r,X as i,Zt as a,in as o,t as s,tn as c}from"./lib-DqD8nbyX.js";import{n as l,t as u}from"./BaseScanner-8NdoBs7B.js";import{n as d}from"./useHints-BH9r_0Vd.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as p}from"./resolveChartConfig-ChGWTt5l.js";import{t as ee}from"./chartImage-r-G4CkRK.js";import{t as te}from"./BaseZoomControls-Cq5AOHQ0.js";import{n as ne}from"./Title-BLA0tM3g.js";import{t as re}from"./useChartExport-DtPNpc9M.js";import{n as ie,t as ae}from"./annotationSlots-BRR85CqJ.js";import{n as oe,t as se}from"./userOptionsSlots-DYuo-E5m.js";import{t as ce}from"./usePrinter-Cj4eIYC_.js";import{l as le,t as ue}from"./useResponsive-D2CPcpda.js";import{t as de}from"./A11yDataTable-DWNlWXzs.js";import{t as fe}from"./useUserOptionState-CXlFnwPv.js";import{t as pe}from"./useChartAccessibility-DOMuYJfm.js";import{t as me}from"./usePanZoom-BdjP5Suc.js";import{t as he}from"./geoProjections-Bvj-eMvq.js";import{t as ge}from"./vue_ui_geo-DL1SMQHp.js";import{Fragment as _e,computed as m,createBlock as h,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createSlots as ve,createVNode as ye,defineAsyncComponent as be,guardReactiveProps as y,mergeProps as xe,nextTick as Se,normalizeClass as Ce,normalizeProps as b,normalizeStyle as we,onBeforeUnmount as Te,onMounted as Ee,openBlock as x,ref as S,renderList as C,renderSlot as w,toDisplayString as De,toRefs as Oe,unref as T,watch as ke,withCtx as Ae}from"vue";var je=/* @__PURE__ */ e({default:()=>Ge}),Me=[`id`],Ne=[`id`],Pe={style:{position:`relative`}},Fe=[`xmlns`,`viewBox`,`aria-describedby`,`id`],Ie=[`transform`],Le=[`d`,`fill`,`stroke`,`stroke-width`,`onMouseenter`,`onMouseleave`,`onClick`],Re=[`d`,`stroke`,`stroke-width`,`onMouseenter`,`onMouseleave`,`onClick`],ze=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`,`onMouseenter`],Be=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`,`onMouseenter`,`onMouseleave`,`onClick`],Ve=[`x`,`y`,`fill`,`font-size`],He={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ue={key:6,class:`vue-data-ui-watermark`},We=1.5,Ge=/*#__PURE__*/ f({__name:`vue-ui-geo`,props:{config:{type:Object,default(){return{}}},dataset:{type:[Array,Object],default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:f,emit:je}){let Ge=be(()=>import(`./Tooltip-Iyb_S6oQ.js`)),Ke=be(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),qe=be(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),Je=be(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),E=e,Ye=je,{vue_ui_geo:Xe}=t(),D=S(i()),Ze=S(0),Qe=S(0),O=S(null),k=S(!1),$e=S(null),et=S(null),tt=S(null),nt=S(null),A=S(null),j=S(null),rt=S(null),it=S(null),M=S(null),at=S({x:0,y:0}),N=S(`pointer`),ot=S(!1),P=S(!1);function st(e){P.value=e,Ze.value+=1}function ct(){return p(E.config,Xe,ge)}let F=S(ct()),lt=m(()=>F.value.style.chart.points.labels),I=m(()=>F.value.style.chart.points),L=m(()=>F.value.style.chart);d({config:()=>F.value,dataset:()=>E.dataset,component:`VueUiGeo`,rules:[{test:e=>e.length>100,message:[`👀 The number of data points > 100, which can make the chart hard to read. Consider:`,``,`▶️ Using filters to reduce the number of data points displayed at the same time, and offer users some level of control.`]}]});let ut=m(()=>F.value.userOptions.useCursorPointer),{userOptionsVisible:dt,keepUserOptionState:ft}=fe({config:F.value}),{svgRef:R}=pe({config:L.value.title}),pt=m(()=>o({defaultConfig:{map:{geoJson:{type:`FeatureCollection`,features:[{type:`Feature`,properties:{name:`Island A`},geometry:{type:`Polygon`,coordinates:[[[-6,2],[-4,2],[-4,4],[-6,4],[-6,2]]]}},{type:`Feature`,properties:{name:`Island B`},geometry:{type:`Polygon`,coordinates:[[[-2,-1],[1,-1],[1,2],[-2,2],[-2,-1]]]}},{type:`Feature`,properties:{name:`Island C`},geometry:{type:`Polygon`,coordinates:[[[3,-3],[5,-3],[5,-1],[3,-1],[3,-3]]]}},{type:`Feature`,properties:{name:`Island D`},geometry:{type:`Polygon`,coordinates:[[[4,3],[7,3],[7,5],[4,5],[4,3]]]}}]}},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,territory:{fill:`#99999950`,stroke:`#8A8A8A`,strokeWidth:.5}}}},userConfig:F.value.skeletonConfig??{}})),{loading:mt,FINAL_DATASET:ht}=l({...Oe(E),FINAL_CONFIG:F,prepareConfig:ct,allowEmptyDataset:!0,skeletonDataset:E.config?.skeletonDataset??[],skeletonConfig:o({defaultConfig:F.value,userConfig:pt.value})}),{isPrinting:gt,isImaging:_t,generatePdf:vt,generateImage:yt}=ce({elementId:`vue-ui-geo_${D.value}`,fileName:L.value.title.text||`vue-ui-geo`,options:F.value.userOptions.print}),bt=m(()=>L.value.controls.show?L.value.controls.position===`top`?rt.value?.$el??null:L.value.controls.position===`bottom`?it.value?.$el??null:null:null);function xt(){A.value&&(j.value&&A.value.unobserve(j.value),A.value.disconnect(),A.value=null,j.value=null)}let z=m(()=>!!F.value.responsive&&!P.value);ke(()=>P.value,async e=>{if(e){xt(),H.value=Number(L.value.dimensions.width)||H.value,U.value=Number(L.value.dimensions.height)||U.value,await Se(),k.value=!1,requestAnimationFrame(()=>{k.value||on()});return}F.value.responsive&&(await Se(),St())});function St(){if(xt(),!z.value)return;let e=le(()=>{if(!O.value)return;let{width:e,height:t}=ue({chart:O.value,noTitle:Ct.value?tt.value:null,title:L.value.title.text?et.value:null,legend:bt.value,source:nt.value});requestAnimationFrame(()=>{H.value=Math.max(.1,Number(e)||.1),U.value=Math.max(.1,Number(t)||.1)-24})});A.value=new ResizeObserver(e),j.value=O.value?O.value.parentNode:null,j.value&&A.value.observe(j.value),e()}let Ct=m(()=>F.value.userOptions.show&&!L.value.title.text),B=S({showTooltip:L.value.tooltip.show}),V=S(L.value.zoom.active),wt=a(E.config);ke(()=>E.config,(e,t)=>{let n=a(e),r=n!==wt;wt=n;let i=ct();if(!r){F.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=F.value.style.chart.tooltip.show;return}F.value=i,B.value.showTooltip=L.value.tooltip.show,V.value=L.value.zoom.active,H.value=L.value.dimensions.width,U.value=L.value.dimensions.height,St(),Qe.value+=1,Ze.value+=1},{deep:!0});let{projections:Tt}=he,Et=m(()=>F.value?.projection||`equirectangular`),Dt=m(()=>{let e=Tt?.[Et.value];return typeof e==`function`?e:Tt.equirectangular}),Ot=m(()=>F.value.map.geoJson??null),kt={aitoff:{width:1e3,height:500},azimuthalEquidistant:{width:1e3,height:1e3},bonne:{width:1e3,height:1e3},equirectangular:{width:1e3,height:700},gallPeters:{width:1e3,height:800},globe:{width:1e3,height:1e3},hammer:{width:1e3,height:500},mercator:{width:1e3,height:750},mollweide:{width:1e3,height:600},robinson:{width:1e3,height:600},sinusoidal:{width:1e3,height:500},vanDerGrinten:{width:1e3,height:1e3},winkelTripel:{width:1e3,height:1e3}},H=S(L.value.dimensions.width),U=S(L.value.dimensions.height),At=m(()=>{let e=kt[Et.value]||kt.equirectangular;return{width:e.width,height:e.height}}),W=m(()=>{let e=At.value,t=H.value,n=U.value,r=Number.isFinite(t)&&t>0,i=Number.isFinite(n)&&n>0;return r&&i?{width:t,height:n}:r&&!i?{width:t,height:t*(e.height/e.width)}:!r&&i?{width:n*(e.width/e.height),height:n}:{width:e.width,height:e.height}}),jt=m(()=>{let e=F.value?.map?.center,t=[0,0];if(!Array.isArray(e)||e.length!==2)return t;let n=Number(e[0]),r=Number(e[1]);return!Number.isFinite(n)||!Number.isFinite(r)?t:[n,r]});function G([e,t]){return Dt.value([e,t],At.value.width,At.value.height,jt.value)}function Mt(e,t={}){let{defaultName:n=``,namePropertyCandidates:r=[`name`,`nom`,`admin`,`NAME`,`label`,`title`,`description`,`DESCRIPTION`,`NAME_1`,`NAME_2`,`NAME_3`,`NAME_EN`,`name:en`,`name_en`,`localname`,`local_name`],includeNullGeometries:i=!1}=t,a={type:`FeatureCollection`,features:[]};function o(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function s(e){return!o(e)||typeof e.type!=`string`?!1:e.type===`GeometryCollection`?Array.isArray(e.geometries):Object.hasOwn(e,`coordinates`)}function c(e){if(!o(e))return``;for(let t of r){let n=e[t];if(typeof n==`string`&&n.trim())return n.trim()}return``}function l({geometry:e,properties:t,fallbackName:r,featureIndex:i}){let a=o(t)?{...t}:{},s=c(a),l=n?`${n} ${i+1}`:``,u=s||(typeof r==`string`?r.trim():``)||l;return!a.name&&u&&(a.name=u),{type:`Feature`,geometry:e,properties:a}}function u(e,t,n,r,a){let c=Array.isArray(e?.geometries)?e.geometries:[],d=r;for(let e=0;e<c.length;e+=1){let r=c[e];if(r){if(o(r)&&r.type===`GeometryCollection`){d=u(r,t,n,d,a);continue}if(s(r)){if(r.coordinates==null&&r.type!==`GeometryCollection`){i&&(a.push(l({geometry:null,properties:t,fallbackName:n,featureIndex:d})),d+=1);continue}a.push(l({geometry:r,properties:t,fallbackName:n,featureIndex:d})),d+=1}}}return d}function d(e,t,n=0){let r=n;if(e==null)return r;if(Array.isArray(e)){for(let n of e)r=d(n,t,r);return r}if(!o(e)||typeof e.type!=`string`)return r;if(e.type===`FeatureCollection`){let n=Array.isArray(e.features)?e.features:[];for(let e of n)r=d(e,t,r);return r}if(e.type===`Feature`){let n=o(e.properties)?e.properties:{},a=c(n),d=e.geometry??null;return d==null?(i&&(t.push(l({geometry:null,properties:n,fallbackName:a,featureIndex:r})),r+=1),r):o(d)&&d.type===`GeometryCollection`?u(d,n,a,r,t):(s(d)&&(t.push(l({geometry:d,properties:n,fallbackName:a,featureIndex:r})),r+=1),r)}return e.type===`GeometryCollection`?u(e,{},``,r,t):(s(e)&&(t.push(l({geometry:e,properties:{},fallbackName:``,featureIndex:r})),r+=1),r)}let f=[];return d(e,f,0),{...a,features:f}}function Nt(e){let t=Array.isArray(e?.features)?e.features:[];function n(e){if(!e||typeof e!=`object`)return``;let t=[e.name,e.nom,e.admin,e.NAME,e.label,e.title,e.description,e.DESCRIPTION,e.NAME_1,e.NAME_2,e.NAME_3,e.NAME_EN,e[`name:en`],e.name_en,e.localname,e.local_name];for(let e of t)if(typeof e==`string`&&e.trim())return e.trim();for(let t of Object.values(e))if(typeof t==`string`&&t.trim())return t.trim();return``}return t.filter(e=>e&&e.type===`Feature`&&e.geometry).map((e,t)=>{let r=e.properties||{},i=n(r);return{feature:e,geometry:e.geometry,properties:r,name:i,uid:`map-feature-${D.value}-${t}`,index:t}})}let Pt=m(()=>Mt(Ot.value,{defaultName:``,includeNullGeometries:!1})),Ft=m(()=>Nt(Pt.value));function It(e){if(!e||typeof e.type!=`string`)return``;if(e.type===`GeometryCollection`)return(Array.isArray(e.geometries)?e.geometries:[]).map(e=>It(e)).filter(Boolean).join(` `);let t=e=>{if(!Array.isArray(e)||e.length<2)return null;let t=Number(e[0]),n=Number(e[1]);if(!Number.isFinite(t)||!Number.isFinite(n))return null;let r=G([t,n]);if(!Array.isArray(r)||r.length<2)return null;let i=Number(r[0]),a=Number(r[1]);return!Number.isFinite(i)||!Number.isFinite(a)?null:[i,a]},n=e=>{let n=(e||[]).map(t).filter(Boolean);return n.length<2?``:`M`+n.map(([e,t])=>`${e},${t}`).join(`L`)},r=e=>(e||[]).map(e=>{let t=n(e);return t?t+`Z`:``}).filter(Boolean).join(` `);return e.type===`Polygon`?r(e.coordinates):e.type===`MultiPolygon`?(e.coordinates||[]).map(r).filter(Boolean).join(` `):e.type===`LineString`?n(e.coordinates):e.type===`MultiLineString`?(e.coordinates||[]).map(n).filter(Boolean).join(` `):``}function Lt(e){return e?e.type===`GeometryCollection`?(Array.isArray(e.geometries)?e.geometries:[]).flatMap(e=>Lt(e)):e.type===`Point`?Array.isArray(e.coordinates)?[e.coordinates]:[]:e.type===`MultiPoint`&&Array.isArray(e.coordinates)?e.coordinates:[]:[]}function Rt(e){return!e||typeof e.type!=`string`?!1:e.type===`GeometryCollection`?(Array.isArray(e.geometries)?e.geometries:[]).some(e=>Rt(e)):e.type===`Point`||e.type===`MultiPoint`}let zt=m(()=>Ft.value.filter(e=>{let t=e.geometry;return t?t.type===`GeometryCollection`?(Array.isArray(t.geometries)?t.geometries:[]).some(e=>e?.type===`Polygon`||e?.type===`MultiPolygon`):t.type===`Polygon`||t.type===`MultiPolygon`:!1})),Bt=m(()=>Ft.value.filter(e=>{let t=e.geometry;return t?t.type===`GeometryCollection`?(Array.isArray(t.geometries)?t.geometries:[]).some(e=>e?.type===`LineString`||e?.type===`MultiLineString`):t.type===`LineString`||t.type===`MultiLineString`:!1})),Vt=m(()=>Ft.value.filter(e=>{let t=e.geometry;return t?Rt(t):!1})),Ht=m(()=>zt.value.map(e=>{let t=It(e.geometry);return t?{...e,path:t}:null}).filter(Boolean)),Ut=m(()=>Bt.value.map(e=>{let t=It(e.geometry);return t?{...e,path:t}:null}).filter(Boolean)),Wt=m(()=>{let e=[];function t(e={}){let t=e?.style&&typeof e.style==`object`?e.style:{},n=e.radius??e.r??t.radius??t.r,i=e.color??e.fill??t.color??t.fill,a=e.stroke??t.stroke,o=e.strokeWidth??e.stroke_width??t.strokeWidth??t.stroke_width;return{radius:Number.isFinite(Number(n))?Number(n):Number(I.value.radius),fill:i!=null&&String(i).trim()?r(String(i).trim()):I.value.fill,stroke:a!=null&&String(a).trim()?r(String(a).trim()):I.value.stroke,strokeWidth:Number.isFinite(Number(o))?Number(o):Number(I.value.strokeWidth)}}for(let n of Vt.value){let r=Lt(n.geometry);for(let i=0;i<r.length;i+=1){let a=r[i];if(!Array.isArray(a)||a.length<2)continue;let o=Number(a[0]),s=Number(a[1]);if(!Number.isFinite(o)||!Number.isFinite(s))continue;let c=G([o,s]),l=c?.[0],u=c?.[1];if(!Number.isFinite(l)||!Number.isFinite(u))continue;let d=t(n?.feature?.properties&&typeof n.feature.properties==`object`?n.feature.properties:{});e.push({uid:`${n.uid}-geojson-point-${i}`,name:n.name||``,x:l,y:u,...d,originalFeature:n.feature,featureIndex:n.index,pointIndex:i})}}return e});function Gt(e){if(!e||typeof e.type!=`string`)return[];let t=[],n=e=>{if(!Array.isArray(e)||e.length<2)return;let n=Number(e[0]),r=Number(e[1]);if(!Number.isFinite(n)||!Number.isFinite(r))return;let i=G([n,r]),a=i?.[0],o=i?.[1];Number.isFinite(a)&&Number.isFinite(o)&&t.push([a,o])},r=e=>{if(Array.isArray(e)){if(e.length>=2&&typeof e[0]==`number`&&typeof e[1]==`number`){n(e);return}for(let t of e)r(t)}};if(e.type===`GeometryCollection`&&Array.isArray(e.geometries)){for(let n of e.geometries)t.push(...Gt(n));return t}return e.type===`Point`?(n(e.coordinates),t):e.type===`MultiPoint`?((e.coordinates||[]).forEach(n),t):(r(e.coordinates),t)}function Kt(e){let t=[];for(let n of e)t.push(...Gt(n.geometry));if(!t.length)return null;let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let[e,o]of t)e<n&&(n=e),o<r&&(r=o),e>i&&(i=e),o>a&&(a=o);let o=i-n,s=a-r;return!(o>0)||!(s>0)?null:{minX:n,minY:r,maxX:i,maxY:a,width:o,height:s}}let qt=m(()=>Kt(Ft.value));function Jt({bounds:e,targetWidth:t,targetHeight:n,padding:r}){if(!e||!(e.width>0)||!(e.height>0))return{scale:1,translateX:0,translateY:0,transform:``};let i=Number.isFinite(Number(r))?Number(r):0,a=Math.max(1,t-i*2),o=Math.max(1,n-i*2),s=a/e.width,c=o/e.height,l=Math.min(s,c),u=e.width*l,d=e.height*l,f=i+(a-u)/2,p=i+(o-d)/2,ee=f-e.minX*l,te=p-e.minY*l;return{scale:l,translateX:ee,translateY:te,transform:`translate(${ee} ${te}) scale(${l})`}}let Yt=m(()=>{let e=qt.value;if(!e)return{scale:1,translateX:0,translateY:0,transform:``};let t=F.value?.map?.fitPadding,n=Number.isFinite(Number(t))?Number(t):0;return Jt({bounds:e,targetWidth:W.value.width,targetHeight:W.value.height,padding:n})}),Xt=m(()=>`0 0 ${W.value.width} ${W.value.height}`),{viewBox:Zt,resetZoom:Qt,setInitialViewBox:$t,scale:en,zoomByFactor:tn}=me(R,{x:0,y:0,width:W.value.width,height:W.value.height},1,V);function nn(){V.value=!V.value}function rn(e){let t=Yt.value,n=Number(t?.scale)||1,r=Number(t?.translateX)||0,i=Number(t?.translateY)||0;return{x:e.x*n+r,y:e.y*n+i}}function an(){let e=F.value?.map?.center,t=Number(e?.[0]),n=Number(e?.[1]),r=Array.isArray(e)&&e.length===2&&Number.isFinite(t)&&Number.isFinite(n)&&(t!==0||n!==0),i=W.value.width,a=W.value.height;if(!r)return{x:0,y:0,width:i,height:a};let o=G([t,n]),s=o?.[0],c=o?.[1];if(!Number.isFinite(s)||!Number.isFinite(c))return{x:0,y:0,width:i,height:a};let l=rn({x:s,y:c});return{x:l.x-i/2,y:l.y-a/2,width:i,height:a}}function on(){let e=an();$t(e,{overwriteCurrentIfNotZoomed:!0}),k.value=!0}let sn=m(()=>{let e=Zt.value;return e?`${e.x} ${e.y} ${e.width} ${e.height}`:Xt.value});function cn(){tn(We,!0)}function ln(){tn(1/We,!0)}async function un(){let e=an();$t(e,{overwriteCurrentIfNotZoomed:!0}),Qt(!0)}ke(()=>[F.value.projection,F.value.map.center?.[0],F.value.map.center?.[1],F.value.map.fitPadding,Ot.value],async()=>{k.value=!1,await Se(),requestAnimationFrame(()=>{k.value||on()})},{deep:!1}),ke(()=>[H.value,U.value,z.value],async()=>{z.value&&(await Se(),$t({x:0,y:0,width:W.value.width,height:W.value.height},{overwriteCurrentIfNotZoomed:!0}),k.value=!1,requestAnimationFrame(()=>{k.value||on()}))},{flush:`post`});function dn(e){return e?e.type===`FeatureCollection`&&Array.isArray(e.features)?e.features.filter(e=>e?.type===`Feature`&&e.geometry?.type===`Point`).map((e,t)=>{let n=e.properties||{},r=n.name||n.label||n.title||`Point ${t+1}`,i=e.geometry.coordinates;return{uid:`map-point-${D.value}-${t}`,name:r,coordinates:i,color:n.color??null,radius:n.radius??null,hoverRadiusRatio:I.value.hoverRadiusRatio,description:n.description??null,original:e,index:t}}):Array.isArray(e)?e.map((e,t)=>{let n=null,r=`Point ${t+1}`,i=null,a=null,o=null;Array.isArray(e)&&e.length>=2?n=[Number(e[0]),Number(e[1])]:e&&typeof e==`object`&&(Array.isArray(e.coordinates)&&e.coordinates.length>=2?n=[Number(e.coordinates[0]),Number(e.coordinates[1])]:Number.isFinite(Number(e.lon))&&Number.isFinite(Number(e.lat))&&(n=[Number(e.lon),Number(e.lat)]),typeof e.name==`string`&&e.name.trim()&&(r=e.name),e.description!=null&&(i=e.description),e.color!=null&&(a=e.color),e.radius!=null&&(o=e.radius));let s=n?n[0]:NaN,c=n?n[1]:NaN;return!Number.isFinite(s)||!Number.isFinite(c)?null:{uid:`map-point-${D.value}-${t}`,name:r,coordinates:[s,c],color:a,radius:o,hoverRadiusRatio:I.value.hoverRadiusRatio,description:i,original:e,index:t}}).filter(Boolean):typeof e==`object`?Object.entries(e).map(([e,t],n)=>{if(!t||typeof t!=`object`)return null;let r=Array.isArray(t.coordinates)?t.coordinates:null;if(!r||r.length<2)return null;let i=Number(r[0]),a=Number(r[1]);return!Number.isFinite(i)||!Number.isFinite(a)?null:{uid:`map-point-${D.value}-${n}-${e}`,name:t.name||e,coordinates:[i,a],color:t.color??null,radius:t.radius??null,hoverRadiusRatio:I.value.hoverRadiusRatio,description:t.description??null,original:t,index:n}}).filter(Boolean):[]:[]}let fn=m(()=>dn(ht.value)),pn=m(()=>fn.value.map(e=>{let t=G(e.coordinates),n=t?.[0],i=t?.[1];return!Number.isFinite(n)||!Number.isFinite(i)?null:{...e,x:n,y:i,fill:e.color?r(e.color):I.value.fill,radius:Number.isFinite(Number(e.radius))?Number(e.radius):I.value.radius}}).filter(Boolean)),K=m(()=>pn.value.map((e,t)=>({...e,keyboardIndex:t})));function mn(e){let t=rn(e),n=c(t.x,t.y,R.value);n&&(at.value={x:n.x,y:n.y})}let hn=S(!1),gn=S(``),q=S(!1),J=S(null),Y=S(null);function _n(e){gn.value=e,hn.value=!0}function X(){hn.value=!1,gn.value=``}function vn(e){return String(e??``).replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function yn(e){$e.value={datapoint:e,seriesIndex:e.index,series:fn.value,config:F.value},q.value=!1;let t=L.value.tooltip.customFormat;if(n(t))try{let e=t($e.value);if(typeof e==`string`)return q.value=!0,e}catch{console.warn(`Custom format cannot be applied.`),q.value=!1}return`<div><div style="font-weight:600">${vn(e.name)}</div>${e.description==null?``:`<div style="margin-top:6px">${vn(e.description)}</div>`}</div>`}function bn(e){q.value=!1;let t=L.value.tooltip.customFormat;if(n(t))try{let n=t({datapoint:e,config:F.value});if(typeof n==`string`)return q.value=!0,n}catch{console.warn(`Custom format cannot be applied.`),q.value=!1}let r=typeof e?.name==`string`?e.name.trim():``;return r?`<div><div style="font-weight:600">${vn(r)}</div></div>`:(q.value=!1,``)}function xn(e){if(F.value.events.territoryEnter&&F.value.events.territoryEnter({datapoint:e,seriesIndex:e.index}),!(typeof e?.name==`string`&&e.name.trim())&&!L.value.territory.hover.enabledWhenEmpty){Y.value=null,X();return}Y.value=e.uid,_n(bn(e))}function Sn(e){Y.value=null,X(),F.value.events.territoryLeave&&F.value.events.territoryLeave({datapoint:e,seriesIndex:e.index})}function Cn(e){F.value.events.territoryClick&&F.value.events.territoryClick({datapoint:e,seriesIndex:e.index})}function wn(e,t=null,n=`pointer`){N.value=n,J.value=e.uid,Number.isInteger(t)&&(M.value=t),n===`keyboard`&&mn(e),_n(yn(e)),F.value.events.datapointEnter&&F.value.events.datapointEnter({datapoint:e,seriesIndex:e.index})}function Tn(e,t=`pointer`){(t!==`pointer`||N.value!==`keyboard`)&&(J.value=null,X(),t!==`pointer`&&(M.value=null,N.value=`pointer`),F.value.events.datapointLeave&&F.value.events.datapointLeave({datapoint:e,seriesIndex:e.index}))}let En=m(()=>!!F.value.events.datapointClick&&typeof F.value.events.datapointClick==`function`);function Dn(e){En.value&&F.value.events.datapointClick({datapoint:e,seriesIndex:e.index})}let Z=m(()=>L.value.territory);function On(e){let t=typeof e?.name==`string`?e.name.trim():``;if(!t){Y.value=null,X();return}let n={name:t,uid:e.uid,index:e.featureIndex,properties:{}};Y.value=e.uid,_n(bn(n))}function kn(){Y.value=null,X()}let Q=S(!1);function An(){Q.value=!Q.value}ke(()=>Q.value,e=>{V.value=!e});function jn(){B.value.showTooltip=!B.value.showTooltip}let Mn=m(()=>L.value.backgroundColor),Nn=m(()=>L.value.title),{isCallbackImaging:Pn,isCallbackSvg:Fn,generateSvg:In,onGenerateImage:Ln}=re({svg:R,title:Nn,legend:null,legendItems:null,backgroundColor:Mn,getSvgCallback:()=>F.value.userOptions.callbacks.svg,generateImage:yt}),Rn=ee(O,()=>L.value.title.text),$=S(!1),zn=null;function Bn(){V.value&&($.value=!0)}function Vn(){$.value=!1}function Hn(){V.value&&($.value=!0,zn&&clearTimeout(zn),zn=setTimeout(()=>{$.value=!1,zn=null},140))}Te(()=>{zn&&clearTimeout(zn)});async function Un([e,t],{animated:n=!0}={}){let r=Number(e),i=Number(t);if(!Number.isFinite(r)||!Number.isFinite(i))return;let a=G([r,i]),o=a?.[0],s=a?.[1];if(!Number.isFinite(o)||!Number.isFinite(s))return;let c=rn({x:o,y:s}),l=Zt.value?{...Zt.value}:{x:0,y:0,width:W.value.width,height:W.value.height},u={x:c.x-l.width/2,y:c.y-l.height/2,width:l.width,height:l.height};if(!n){Zt.value=u;return}let d={...l},f={...u},p=null,ee=e=>{p??=e;let t=Math.min((e-p)/250,1);Zt.value={x:d.x+(f.x-d.x)*t,y:d.y+(f.y-d.y)*t,width:d.width+(f.width-d.width)*t,height:d.height+(f.height-d.height)*t},t<1&&requestAnimationFrame(ee)};requestAnimationFrame(ee)}Ee(async()=>{St(),await Se(),requestAnimationFrame(()=>{k.value||(on(),(F.value.map.center?.[0]||F.value.map.center?.[1])&&Un(F.value.map.center,{animated:!1}))})}),Te(()=>{xt()});async function Wn(){if(Ye(`copyAlt`,{config:F.value,dataset:ht.value}),!F.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(F.value.userOptions.callbacks.altCopy({config:F.value,dataset:ht.value}))}function Gn(e,t){let n=K.value;if(!n.length)return null;let r=n[e];if(!r)return null;let i=null,a=1/0;for(let o=0;o<n.length;o+=1){if(o===e)continue;let s=n[o],c=s.x-r.x,l=s.y-r.y,u=!1,d=0,f=0;if(t===`right`&&c>0&&(u=!0,d=c,f=Math.abs(l)),t===`left`&&c<0&&(u=!0,d=Math.abs(c),f=Math.abs(l)),t===`down`&&l>0&&(u=!0,d=l,f=Math.abs(c)),t===`up`&&l<0&&(u=!0,d=Math.abs(l),f=Math.abs(c)),!u)continue;let p=d*d+f*f*4;p<a&&(a=p,i=o)}return i}function Kn(e){let t=K.value;return t.length?e===`right`?t.reduce((e,t,n,r)=>t.x<r[e].x?n:e,0):e===`left`?t.reduce((e,t,n,r)=>t.x>r[e].x?n:e,0):e===`down`?t.reduce((e,t,n,r)=>t.y<r[e].y?n:e,0):e===`up`?t.reduce((e,t,n,r)=>t.y>r[e].y?n:e,0):0:null}function qn(){ot.value=!0}function Jn(){let e=M.value==null?null:K.value[M.value];e?Tn(e,`keyboard`):(M.value=null,N.value=`pointer`,X(),J.value=null),ot.value=!1}function Yn(e){if(!R.value||Q.value||document.activeElement!==R.value||!K.value.length)return;let t=e.key===`ArrowRight`,n=e.key===`ArrowLeft`,r=e.key===`ArrowDown`,i=e.key===`ArrowUp`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){let e=M.value==null?null:K.value[M.value];e?Tn(e,`keyboard`):(M.value=null,N.value=`pointer`,X(),J.value=null);return}if(a){let e=M.value==null?null:K.value[M.value];if(!e)return;Dn(e);return}let s=t?`right`:n?`left`:r?`down`:`up`,c=null;if(M.value==null?c=Kn(s):(c=Gn(M.value,s),c??=Kn(s)),c==null)return;let l=K.value[c];l&&wn(l,c,`keyboard`)}let Xn=m(()=>({headers:[`Name`,`Latitude`,`Longitude`,`Description`],rows:fn.value.map(e=>{let t=Array.isArray(e.coordinates)?e.coordinates[1]:null,n=Array.isArray(e.coordinates)?e.coordinates[0]:null;return[e.name??``,Number.isFinite(t)?String(t):``,Number.isFinite(n)?String(n):``,e.description??``]})}));return f({getImage:Rn,generatePdf:vt,generateImage:yt,generateSvg:In,toggleTooltip:jn,toggleAnnotator:An,toggleFullscreen:st,zoomIn:cn,zoomOut:ln,resetZoom:Qt,focusLocation:Un,copyAlt:Wn}),(e,t)=>(x(),_(`div`,{class:Ce(`vue-data-ui-component vue-ui-geo ${P.value?`vue-data-ui-wrapper-fullscreen`:``} ${z.value?`vue-ui-geo-responsive`:``} ${$.value?`vue-ui-geo-interacting`:``}`),ref_key:`geoChart`,ref:O,id:`map_${D.value}`,dir:`auto`,style:we({fontFamily:F.value.style.fontFamily,width:`100%`,backgroundColor:L.value.backgroundColor,height:z.value?`${U.value}px`:void 0})},[v(`div`,{id:`chart-instructions-${D.value}`,class:`sr-only`},[v(`p`,null,De(F.value.a11y.translations.keyboardNavigation),1)],8,Ne),Xn.value?.rows?.length?(x(),h(de,{key:0,uid:D.value,head:Xn.value.headers,body:Xn.value.rows,notice:F.value.a11y.translations.tableAvailable,caption:F.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):g(``,!0),Ct.value?(x(),_(`div`,{key:1,ref_key:`noTitle`,ref:tt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):g(``,!0),L.value.title.text?(x(),_(`div`,{key:2,ref_key:`chartTitle`,ref:et,style:`width:100%;background:transparent;padding-bottom:12px`},[(x(),h(ne,{key:`title_${Qe.value}`,config:{title:{cy:`geo-title`,...L.value.title},subtitle:{cy:`geo-subtitle`,...L.value.title.subtitle}}},null,8,[`config`]))],512)):g(``,!0),F.value.userOptions.buttons.annotator?(x(),h(T(qe),{key:3,svgRef:T(R),backgroundColor:L.value.backgroundColor,color:L.value.color,active:Q.value,isCursorPointer:ut.value,palette:F.value.userOptions.annotatorPalette,onClose:An},ve({_:2},[C(T(ae),t=>({name:t,fn:Ae(n=>[w(e.$slots,t,b(y(T(ie)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):g(``,!0),F.value.userOptions.show&&(T(ft)||T(dt))?(x(),h(T(Ke),{ref:`userOptionsRef`,key:`user_options_${Ze.value}`,backgroundColor:L.value.backgroundColor,color:L.value.color,isPrinting:T(gt),isImaging:T(_t),uid:D.value,hasXls:!1,hasTable:!1,hasTooltip:F.value.userOptions.buttons.tooltip&&L.value.tooltip.show,hasPdf:F.value.userOptions.buttons.pdf,hasImg:F.value.userOptions.buttons.img,hasSvg:F.value.userOptions.buttons.svg,hasFullscreen:F.value.userOptions.buttons.fullscreen,hasAltCopy:F.value.userOptions.buttons.altCopy,hasAnnotator:F.value.userOptions.buttons.annotator,hasZoom:F.value.userOptions.buttons.zoom,isZoom:V.value,isFullscreen:P.value,isTooltip:B.value.showTooltip,titles:{...F.value.userOptions.buttonTitles},chartElement:O.value,position:F.value.userOptions.position,isAnnotation:Q.value,callbacks:F.value.userOptions.callbacks,printScale:F.value.userOptions.print.scale,isCursorPointer:ut.value,onToggleFullscreen:st,onGeneratePdf:T(vt),onGenerateImage:T(Ln),onGenerateSvg:T(In),onToggleTooltip:jn,onToggleAnnotator:An,onToggleZoom:nn,onCopyAlt:Wn,style:we({visibility:T(ft)?T(dt)?`visible`:`hidden`:`visible`})},ve({_:2},[C(T(oe)(e.$slots,`menuIcon optionTooltip optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionZoom optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Ae(n=>[w(e.$slots,t,b(y(T(se)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasFullscreen.hasAltCopy.hasAnnotator.hasZoom.isZoom.isFullscreen.isTooltip.titles.chartElement.position.isAnnotation.callbacks.printScale.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):g(``,!0),L.value.controls.position===`top`&&L.value.controls.show&&!T(mt)?(x(),h(te,{key:5,ref_key:`zoomControlsTop`,ref:rt,config:F.value,scale:T(en),isFullscreen:P.value,isCursorPointer:ut.value,onZoomIn:cn,onZoomOut:ln,onResetZoom:un},null,8,[`config`,`scale`,`isFullscreen`,`isCursorPointer`])):g(``,!0),v(`div`,Pe,[(x(),_(`svg`,{ref_key:`svgRef`,ref:R,xmlns:T(s),viewBox:sn.value,preserveAspectRatio:`xMidYMid meet`,"aria-describedby":`map-keyboard-instructions-${D.value}`,tabindex:`0`,style:we({display:`block`,width:`100%`,height:z.value?`${U.value}px`:`auto`,background:L.value.backgroundColor,touchAction:V.value?`none`:`auto`,cursor:V.value?$.value?`grabbing`:`grab`:`default`}),id:`vue-ui-geo_${D.value}`,onPointerdown:Bn,onPointerup:Vn,onPointercancel:Vn,onPointerleave:Vn,onWheel:Hn,onFocus:qn,onBlur:Jn,onKeydown:Yn},[ye(T(Je)),v(`g`,{transform:Yt.value.transform,style:we({pointerEvents:$.value?`none`:`auto`})},[v(`g`,null,[(x(!0),_(_e,null,C(Ht.value,e=>(x(),_(`path`,{class:`vue-ui-geo-territory`,key:e.uid,d:e.path,fill:Y.value===e.uid?Z.value.hover.fill:Z.value.fill,stroke:Y.value===e.uid?Z.value.hover.stroke:Z.value.stroke,"stroke-width":Y.value===e.uid?Z.value.hover.strokeWidth:Z.value.strokeWidth,"vector-effect":`non-scaling-stroke`,onMouseenter:t=>xn(e),onMouseleave:t=>Sn(e),onClick:t=>Cn(e)},null,40,Le))),128))]),v(`g`,null,[(x(!0),_(_e,null,C(Ut.value,e=>(x(),_(`path`,{class:`vue-ui-geo-territory`,key:e.uid,d:e.path,fill:`none`,stroke:Y.value===e.uid?Z.value.hover.stroke:Z.value.stroke,"stroke-width":Y.value===e.uid?Z.value.hover.strokeWidth:Z.value.strokeWidth,"vector-effect":`non-scaling-stroke`,onMouseenter:t=>xn(e),onMouseleave:t=>Sn(e),onClick:t=>Cn(e)},null,40,Re))),128))]),v(`g`,null,[(x(!0),_(_e,null,C(Wt.value,e=>(x(),_(`circle`,{key:e.uid,cx:e.x,cy:e.y,r:e.radius,fill:e.fill,stroke:e.stroke,"stroke-width":e.strokeWidth,"vector-effect":`non-scaling-stroke`,onMouseenter:t=>On(e),onMouseleave:kn},null,40,ze))),128))]),(x(!0),_(_e,null,C(pn.value,(t,n)=>(x(),_(`g`,{key:t.uid},[w(e.$slots,`datapoint`,xe({ref_for:!0},{point:t,onPointEnter:wn,onPointLeave:Tn,onPointClick:Dn,highlighted:J.value===t.uid}),()=>[v(`circle`,{class:Ce({"vue-ui-geo-point":!0,"vue-ui-geo-point-with-event":En.value&&ut.value}),cx:t.x,cy:t.y,r:J.value===t.uid?t.radius*t.hoverRadiusRatio:t.radius,fill:t.fill,stroke:I.value.stroke,"stroke-width":I.value.strokeWidth,"vector-effect":`non-scaling-stroke`,onMouseenter:e=>wn(t,n),onMouseleave:e=>Tn(t),onClick:e=>Dn(t)},null,42,Be)],!0),lt.value.show?(x(),_(`text`,{key:0,class:`vue-ui-geo-point-label`,x:t.x,y:t.y+(J.value===t.uid?t.radius*t.hoverRadiusRatio:t.radius)+lt.value.offsetY+1*lt.value.fontSizeRatio,"text-anchor":`middle`,fill:lt.value.color,"font-size":1*lt.value.fontSizeRatio},De(t.name),9,Ve)):g(``,!0)]))),128)),w(e.$slots,`svg`,{svg:{drawingArea:sn.value,x:qt.value?.minX??0,y:qt.value?.minY??0,width:qt.value?.width??0,height:qt.value?.height??0,isPrintingImg:T(gt)||T(_t)||T(Pn),isPrintingSvg:T(Fn),data:{areaPaths:Ht.value,linePaths:Ut.value,geoJsonPoints:Wt.value,projectedPoints:pn.value}}},void 0,!0)],12,Ie)],44,Fe)),e.$slots.hint?(x(),_(`div`,He,[w(e.$slots,`hint`,b(y({hint:F.value.a11y.translations.keyboardNavigation,isVisible:ot.value})),void 0,!0)])):g(``,!0)]),e.$slots.watermark?(x(),_(`div`,Ue,[w(e.$slots,`watermark`,b(y({isPrinting:T(gt)||T(_t)||T(Pn)||T(Fn)})),void 0,!0)])):g(``,!0),L.value.controls.position===`bottom`&&L.value.controls.show&&!T(mt)?(x(),h(te,{key:7,ref_key:`zoomControlsBottom`,ref:it,config:F.value,scale:T(en),isFullscreen:P.value,isCursorPointer:ut.value,onZoomIn:cn,onZoomOut:ln,onResetZoom:un},null,8,[`config`,`scale`,`isFullscreen`,`isCursorPointer`])):g(``,!0),ye(T(Ge),{teleportTo:L.value.tooltip.teleportTo,show:B.value.showTooltip&&hn.value,backgroundColor:L.value.tooltip.backgroundColor,color:L.value.tooltip.color,fontSize:L.value.tooltip.fontSize,borderRadius:L.value.tooltip.borderRadius,borderColor:L.value.tooltip.borderColor,borderWidth:L.value.tooltip.borderWidth,backgroundOpacity:L.value.tooltip.backgroundOpacity,position:L.value.tooltip.position,offsetX:L.value.tooltip.offsetX,offsetY:L.value.tooltip.offsetY,parent:O.value,content:gn.value,isCustom:q.value,isFullscreen:P.value,smooth:L.value.tooltip.smooth,backdropFilter:L.value.tooltip.backdropFilter,smoothForce:L.value.tooltip.smoothForce,smoothSnapThreshold:L.value.tooltip.smoothSnapThreshold,isA11yMode:N.value===`keyboard`,a11yPosition:at.value},{"tooltip-before":Ae(()=>[w(e.$slots,`tooltip-before`,b(y({...$e.value})),void 0,!0)]),tooltip:Ae(()=>[w(e.$slots,`tooltip`,b(y({...$e.value})),void 0,!0)]),"tooltip-after":Ae(()=>[w(e.$slots,`tooltip-after`,b(y({...$e.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`]),e.$slots.source?(x(),_(`div`,{key:8,ref_key:`source`,ref:nt,dir:`auto`},[w(e.$slots,`source`,{},void 0,!0)],512)):g(``,!0),w(e.$slots,`skeleton`,{},()=>[T(mt)?(x(),h(u,{key:0})):g(``,!0)],!0)],14,Me))}},[[`__scopeId`,`data-v-f96955bc`]]);export{je as n,Ge as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,X as r,at as ee,i,in as a}from"./lib-DqD8nbyX.js";import{n as te,t as o}from"./BaseScanner-8NdoBs7B.js";import{n as s,t as c}from"./useHints-BH9r_0Vd.js";import{t as l}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as u}from"./useNestedProp-DrLnzyHO.js";import{t as ne}from"./DefGrad-DKMq1REY.js";import{Fragment as d,computed as f,createBlock as re,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createVNode as g,defineAsyncComponent as _,normalizeStyle as v,onMounted as y,openBlock as b,ref as x,renderSlot as ie,toDisplayString as S,toRefs as ae,unref as C,useSlots as oe,watch as w}from"vue";var T=/* @__PURE__ */ e({default:()=>B}),E=[`aria-label`,`aria-valuenow`,`aria-valuetext`,`aria-busy`],D=[`viewBox`,`width`],O={key:0},k=[`stroke`],A=[`stroke`],j=[`width`,`fill`],M=[`fill`],N={key:0},P=[`id`],F=[`stroke`],I=[`stroke`,`stroke-dasharray`,`stroke-dashoffset`],L=[`filter`],R=[`stroke`,`stroke-dasharray`,`stroke-dashoffset`],z=[`fill`],B=/*#__PURE__*/ l({__name:`vue-ui-gizmo`,props:{config:{type:Object,default(){return{}}},dataset:{type:Number}},setup(e){let l=_(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),{vue_ui_gizmo:T}=t(),B=e,V=x(r()),H=oe();y(()=>{W()}),y(()=>{H[`chart-background`]&&U.value&&console.warn(`VueUiGizmo does not support the #chart-background slot.`)});let U=f(()=>G.value.debug);function W(){!B.dataset&&B.dataset!==0&&ee({componentName:`VueUiGizmo`,type:`dataset`,debug:U.value}),B.dataset<0&&U.value&&console.warn(`VueUiGizmo: dataset cannot be negative.`),B.dataset>100&&U.value&&console.warn(`VueUiGizmo: gauge is maxed out, as dataset exceeds 100% (props.dataset = ${B.dataset})`)}let G=x(Y());s({config:()=>G.value,dataset:()=>B.dataset,component:`VueUiGizmo`,rules:[c.noHint]});let K=f(()=>a({defaultConfig:{stroke:`#6A6A6A80`,color:`#6A6A6A`,gradientColor:`#CACACA`,textColor:`transparent`},userConfig:G.value.skeletonConfig??{}})),{loading:q,FINAL_DATASET:J,manualLoading:se}=te({...ae(B),FINAL_CONFIG:G,prepareConfig:Y,dsIsNumber:!0,skeletonDataset:B.config?.skeletonDataset??50,skeletonConfig:a({defaultConfig:G.value,userConfig:K.value})});function Y(){return u({userConfig:B.config,defaultConfig:T})}w(()=>B.config,e=>{G.value=Y(),W()},{deep:!0});let X=f(()=>({battery:{width:G.value.showPercentage?150:80,height:50},gauge:{width:80,height:80}})[G.value.type]),Z=f(()=>Math.min(Math.max(0,J.value),100)),Q=f(()=>Math.max(0,J.value)),$=f(()=>{let e=2*Math.PI*35,t=e-Z.value/100*e;return{dasharray:`${e} ${e}`,dashoffset:t}});return(e,t)=>(b(),m(`div`,{class:`vue-data-ui-component vue-ui-gizmo-wrapper`,role:`progressbar`,"aria-label":G.value.a11y.translations.label,"aria-valuemin":`0`,"aria-valuemax":`100`,"aria-valuenow":C(q)?void 0:Z.value,"aria-valuetext":Z.value+`%`,"aria-busy":C(q)?`true`:`false`},[(b(),m(`svg`,{class:`vue-ui-gizmo`,viewBox:`0 0 ${X.value.width} ${X.value.height}`,width:G.value.size,style:v({background:`transparent`,fontFamily:G.value.fontFamily})},[g(C(l)),G.value.useGradient?(b(),m(`defs`,O,[g(ne,{t:`linear`,id:`gizmo_gradient_${V.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,G.value.gradientColor,1],[`100%`,G.value.color,1]]},null,8,[`id`,`stops`])])):p(``,!0),G.value.type===`battery`?(b(),m(d,{key:1},[h(`path`,{d:`M 5 10 L 5 40 C 5 43 7 45 9 45 L 65 45 C 68 45 70 43 70 40 L 70 38 C 73 38 75 38 75 33 L 75 17 C 75 12 73 12 70 12 L 70 10 C 70 7 68 5 65 5 L 10 5 C 7 5 5 7 5 10`,stroke:G.value.stroke,"stroke-width":2,fill:`none`},null,8,k),h(`path`,{d:`M 70 16 L 70 34`,stroke:G.value.stroke,"stroke-width":2,fill:`none`,style:{opacity:`0.5`}},null,8,A),h(`rect`,{x:10,y:10,height:30,width:55*(Z.value/100),fill:G.value.useGradient?`url(#gizmo_gradient_${V.value})`:G.value.color,rx:2},null,8,j),G.value.showPercentage?(b(),m(`text`,{key:0,x:85,y:32,"text-anchor":`start`,"font-size":`20`,fill:G.value.textColor},S(C(i)(G.value.formatter,Q.value,C(n)({v:Q.value,s:`%`}))),9,M)):p(``,!0)],64)):p(``,!0),G.value.type===`gauge`?(b(),m(d,{key:2},[G.value.useGradient?(b(),m(`defs`,N,[h(`filter`,{id:`blur_${V.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[...t[0]||=[h(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:1},null,-1)]],8,P)])):p(``,!0),h(`circle`,{cx:40,cy:40,r:35,stroke:G.value.stroke,"stroke-width":8,fill:`none`},null,8,F),h(`circle`,{cx:40,cy:40,r:35,stroke:G.value.color,"stroke-width":8,"stroke-dasharray":$.value.dasharray,"stroke-dashoffset":$.value.dashoffset,"stroke-linecap":`round`,fill:`none`,style:{transform:`rotate(-90deg)`,"transform-origin":`50% 50%`}},null,8,I),G.value.useGradient?(b(),m(`g`,{key:1,filter:`url(#blur_${V.value})`},[h(`circle`,{cx:40,cy:40,r:35,stroke:G.value.gradientColor,"stroke-width":1,fill:`none`,"stroke-dasharray":$.value.dasharray,"stroke-dashoffset":$.value.dashoffset,style:{transform:`rotate(-90deg)`,"transform-origin":`50% 50%`}},null,8,R)],8,L)):p(``,!0),G.value.showPercentage?(b(),m(`text`,{key:2,x:40,y:47,"text-anchor":`middle`,"font-size":`20`,fill:G.value.textColor},S(C(i)(G.value.formatter,Q.value,C(n)({v:Q.value,s:`%`}))),9,z)):p(``,!0)],64)):p(``,!0)],12,D)),ie(e.$slots,`skeleton`,{},()=>[C(q)?(b(),re(o,{key:0})):p(``,!0)],!0)],8,E))}},[[`__scopeId`,`data-v-f296c0f3`]]);export{T as n,B as t};
|