vue-data-ui 3.28.3 → 3.28.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PackageVersion-CXT-eAuk.js → PackageVersion-DhptF5oD.js} +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -1
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/package-CX7pZToh.js +1 -0
- package/dist/{render-common-C70bnUVe.js → render-common-DwEiRIJ0.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/vue-data-ui-CORn0LF6.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-ljsy2rX6.js → vue-ui-3d-bar-CJTKyv3A.js} +1 -1
- package/dist/{vue-ui-age-pyramid-a6CK7z3a.js → vue-ui-age-pyramid-6uZzf1w6.js} +1 -1
- package/dist/{vue-ui-bullet-DX4A2Qwo.js → vue-ui-bullet-CsJcLhmV.js} +1 -1
- package/dist/{vue-ui-bump-IvRdB6MD.js → vue-ui-bump-DXpxBWp_.js} +1 -1
- package/dist/{vue-ui-candlestick-BgyUo13S.js → vue-ui-candlestick-Bn_RSZ0k.js} +1 -1
- package/dist/{vue-ui-carousel-table-D01DGfA0.js → vue-ui-carousel-table-ChNykS-r.js} +1 -1
- package/dist/{vue-ui-chestnut-DYrMSzmQ.js → vue-ui-chestnut-DMYQTkxM.js} +1 -1
- package/dist/{vue-ui-chord-CwzQ7QbP.js → vue-ui-chord-Pp0U0-zV.js} +1 -1
- package/dist/{vue-ui-circle-pack-DQHNM9sC.js → vue-ui-circle-pack-We23fOaF.js} +1 -1
- package/dist/{vue-ui-cursor-CTFfbDX8.js → vue-ui-cursor-3-RTIIl-.js} +1 -1
- package/dist/{vue-ui-dag-DF29_9Gg.js → vue-ui-dag-5fVnwEXd.js} +1 -1
- package/dist/{vue-ui-dashboard-D98rMHjI.js → vue-ui-dashboard-Dlwnintv.js} +1 -1
- package/dist/{vue-ui-digits-AoPCgSfP.js → vue-ui-digits-ZMK0aBxE.js} +1 -1
- package/dist/{vue-ui-donut-BYUkblpv.js → vue-ui-donut-CmLo1r4-.js} +1 -1
- package/dist/{vue-ui-donut-evolution-wxHDTKlg.js → vue-ui-donut-evolution-CYvo7Cww.js} +1 -1
- package/dist/vue-ui-donut-j1bv0KyD.js +22 -0
- package/dist/{vue-ui-dumbbell-DR7rjMt0.js → vue-ui-dumbbell-DigrSGwq.js} +1 -1
- package/dist/{vue-ui-flow-DtQlRSK_.js → vue-ui-flow-D9cc9yXD.js} +1 -1
- package/dist/{vue-ui-funnel-BP3chlZy.js → vue-ui-funnel-U88Hs0nL.js} +1 -1
- package/dist/{vue-ui-galaxy-B7ogrJ6f.js → vue-ui-galaxy-B1Vuz8CA.js} +1 -1
- package/dist/{vue-ui-gauge-CrmzNkjT.js → vue-ui-gauge-1MgZSPXt.js} +1 -1
- package/dist/{vue-ui-geo-BbTvWbfX.js → vue-ui-geo-BV8ARcaX.js} +1 -1
- package/dist/{vue-ui-gizmo-C3wgMKwb.js → vue-ui-gizmo-DtsERB-E.js} +1 -1
- package/dist/{vue-ui-graph-CzUVEiO-.js → vue-ui-graph-BVTPTDl5.js} +1 -1
- package/dist/{vue-ui-heatmap-BxR2ccwd.js → vue-ui-heatmap-6YwaVr3F.js} +1 -1
- package/dist/{vue-ui-hill-BDOd7LrC.js → vue-ui-hill-BvrNT8KZ.js} +1 -1
- package/dist/{vue-ui-history-plot-0-vs_CVn.js → vue-ui-history-plot-CJIILQPt.js} +1 -1
- package/dist/{vue-ui-horizontal-bar-C5pNTRKB.js → vue-ui-horizontal-bar-Dfo-kTqg.js} +1 -1
- package/dist/{vue-ui-kpi-Dfhsk0U1.js → vue-ui-kpi-DHfExr9d.js} +1 -1
- package/dist/{vue-ui-molecule-DUX1NUIY.js → vue-ui-molecule-C8e5IeHG.js} +1 -1
- package/dist/{vue-ui-mood-radar-B1N5AwX_.js → vue-ui-mood-radar-DsnT2U65.js} +1 -1
- package/dist/{vue-ui-nested-donuts-CfHH-cU6.js → vue-ui-nested-donuts-JkpqMhuL.js} +1 -1
- package/dist/{vue-ui-onion-DRN-jIvq.js → vue-ui-onion-CIA2tlff.js} +1 -1
- package/dist/{vue-ui-parallel-coordinate-plot-UUPjQABF.js → vue-ui-parallel-coordinate-plot-Bcr3B3NI.js} +1 -1
- package/dist/{vue-ui-quadrant-zmtzn0lM.js → vue-ui-quadrant-DKVFawhC.js} +1 -1
- package/dist/{vue-ui-quick-chart-DgU_IhKY.js → vue-ui-quick-chart-Bk2N8Hmd.js} +1 -1
- package/dist/{vue-ui-radar-BGSoxRaK.js → vue-ui-radar-CdH-BFKA.js} +1 -1
- package/dist/{vue-ui-relation-circle-XUw5UMrt.js → vue-ui-relation-circle-COZpOybS.js} +1 -1
- package/dist/{vue-ui-ridgeline-B5RJcFyA.js → vue-ui-ridgeline-MLknaTUO.js} +1 -1
- package/dist/{vue-ui-rings-BJaCLH2Q.js → vue-ui-rings-ARqLCM_P.js} +1 -1
- package/dist/{vue-ui-scatter-BA0hk_Tf.js → vue-ui-scatter-CX2wsXdE.js} +1 -1
- package/dist/{vue-ui-skeleton-DpzaXPO3.js → vue-ui-skeleton-wyvAru88.js} +1 -1
- package/dist/{vue-ui-spark-trend-DJ63XtgQ.js → vue-ui-spark-trend-C02PmIq_.js} +1 -1
- package/dist/{vue-ui-sparkbar-C5wP9R67.js → vue-ui-sparkbar-CjD57-Xi.js} +1 -1
- package/dist/{vue-ui-sparkgauge-DQcAOGuG.js → vue-ui-sparkgauge-8Eia8T2W.js} +1 -1
- package/dist/{vue-ui-sparkhistogram-BBiCxX6W.js → vue-ui-sparkhistogram-C-0f7XCl.js} +1 -1
- package/dist/{vue-ui-sparkline-B_GkB9V_.js → vue-ui-sparkline-BMMrpUPR.js} +1 -1
- package/dist/{vue-ui-sparkstackbar-DSRXhqhJ.js → vue-ui-sparkstackbar-BmgCVCKG.js} +1 -1
- package/dist/{vue-ui-stackbar-QjOQHbld.js → vue-ui-stackbar-G_zZRAa9.js} +1 -1
- package/dist/{vue-ui-stackline-CoII13bc.js → vue-ui-stackline-DchZoEAg.js} +1 -1
- package/dist/{vue-ui-strip-plot-d3UoFFrf.js → vue-ui-strip-plot-DVyPa3sp.js} +1 -1
- package/dist/{vue-ui-table-CHFjZzW7.js → vue-ui-table-qTF_q-Qu.js} +1 -1
- package/dist/{vue-ui-table-sparkline-BkZ7sn4X.js → vue-ui-table-sparkline-B2Q-7-GQ.js} +1 -1
- package/dist/{vue-ui-thermometer-B--g_Lkt.js → vue-ui-thermometer-CxNoxslq.js} +1 -1
- package/dist/{vue-ui-timer-DmwEWrDh.js → vue-ui-timer-DRjoRidI.js} +1 -1
- package/dist/{vue-ui-tiremarks-160Gx7-3.js → vue-ui-tiremarks-BC_YGp3T.js} +1 -1
- package/dist/{vue-ui-treemap-B-Yjtob0.js → vue-ui-treemap-CNM5ohoO.js} +1 -1
- package/dist/{vue-ui-waffle-BhzLg5ip.js → vue-ui-waffle-BiJshI4O.js} +1 -1
- package/dist/{vue-ui-wheel-DHb4G42X.js → vue-ui-wheel-BxR0_iNZ.js} +1 -1
- package/dist/{vue-ui-word-cloud-BcpreM7A.js → vue-ui-word-cloud-CZzC3R1K.js} +1 -1
- package/dist/{vue-ui-world-BD9acchj.js → vue-ui-world-CJgt0ESz.js} +1 -1
- package/dist/{vue-ui-xy-C-2Phexw.js → vue-ui-xy-B6XNUCzQ.js} +1 -1
- package/dist/{vue-ui-xy-CB3lQs2m.js → vue-ui-xy-DrKVPSg7.js} +1 -1
- package/package.json +1 -1
- package/dist/package-CgIKu3rP.js +0 -1
- package/dist/vue-data-ui-CrOhFey9.js +0 -1
- package/dist/vue-ui-donut-BQGnUso2.js +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Ft as i,S as ee,X as te,at as ne,i as a,nt as re,r as ie,rn as ae,t as oe,yt as se,zt as ce}from"./lib-rPeBMZrn.js";import{n as le,t as ue}from"./useHints-C-TwxM0Y.js";import{t as de}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as fe}from"./resolveChartConfig-CIhClE5R.js";import{t as pe}from"./chartImage-DPGnEuYM.js";import{n as me}from"./Title-BliHuXfT.js";import{t as he}from"./useChartExport-BZts4KFb.js";import{n as ge,t as _e}from"./tableIntegration-CNoJ1CIY.js";import{n as ve,t as ye}from"./annotationSlots-BRR85CqJ.js";import{n as be,t as xe}from"./userOptionsSlots-DYuo-E5m.js";import{t as Se}from"./usePrinter-DVf3YcG5.js";import{c as Ce}from"./canvas-lib-22VpOI4_.js";import{t as we}from"./useResponsive-CENUxfEL.js";import{t as Te}from"./DefGrad-DKMq1REY.js";import{t as Ee}from"./useUserOptionState-CXlFnwPv.js";import{t as De}from"./useChartAccessibility-DOMuYJfm.js";import{t as Oe}from"./usePrefersMotion-XLHwega2.js";import{t as ke}from"./vue_ui_funnel-CaEV5hG7.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createSlots as Ae,createTextVNode as je,createVNode as Me,defineAsyncComponent as f,guardReactiveProps as Ne,mergeProps as p,nextTick as Pe,normalizeClass as m,normalizeProps as Fe,normalizeStyle as h,onBeforeUnmount as Ie,onMounted as Le,openBlock as g,ref as _,renderList as v,renderSlot as y,resolveDynamicComponent as Re,shallowRef as ze,toDisplayString as b,unref as x,useCssVars as Be,watch as Ve,withCtx as S}from"vue";var He=/* @__PURE__ */ e({default:()=>C}),Ue=[`id`],We=[`xmlns`,`viewBox`],Ge=[`width`,`height`],Ke=[`stroke`,`stroke-width`],qe=[`stroke`,`stroke-width`],Je=[`x`,`y`,`font-size`,`fill`,`font-weight`],Ye=[`points`,`fill`],Xe=[`stroke`,`stroke-width`,`rx`],Ze=[`x`,`y`,`font-size`,`fill`,`font-weight`],Qe=[`x`,`y`,`font-size`,`fill`,`font-weight`],$e={key:5,class:`vue-data-ui-watermark`},et={style:{display:`flex`,"align-items":`center`}},C=/*#__PURE__*/ de({__name:`vue-ui-funnel`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:de,emit:He}){Be(e=>({v1b22a0a8:Nt.value}));let C=f(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),tt=f(()=>import(`./vue-ui-skeleton-DpzaXPO3.js`).then(e=>e.n)),nt=f(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),rt=f(()=>import(`./DataTable-0Vv-aGHD.js`)),it=f(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),at=f(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),ot=f(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),st=f(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_funnel:ct}=t(),w=Oe(),T=e,lt=He,E=_(null),D=_(te()),ut=_(0),dt=_(0),ft=_(0),pt=_(null),mt=_(null),ht=_(null),O=ze(null),k=ze(null),A=_(!1),gt=_(null),j=_(null),M=s(()=>!!T.dataset&&T.dataset.length);Le(yt),Ie(()=>{O.value&&(k.value&&O.value.unobserve(k.value),O.value.disconnect())});function _t(){return fe(T.config,ct,ke)}let N=s({get:()=>_t(),set:e=>e}),vt=s(()=>N.value.debug),P=s(()=>N.value.style.chart.bars),F=s(()=>N.value.style.chart.circles),I=s(()=>N.value.style.chart);function yt(){if(ce(T.dataset)?ne({componentName:`VueUiFunnel`,type:`dataset`,debug:vt.value}):T.dataset.forEach((e,t)=>{se({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{M.value=!1,ne({componentName:`VueUiFunnel`,type:`datasetSerieAttribute`,property:e,index:t,debug:vt.value})})}),N.value.responsive){let e=Ce(()=>{let{width:e,height:t}=we({chart:E.value,title:I.value.title.text?ht.value:null,source:mt.value,noTitle:pt.value});requestAnimationFrame(()=>{V.value.height=t,V.value.width=e,U.value=Ot(),N.value.responsiveProportionalSizing?(B.value.circles=ae({relator:Math.min(e,t),adjuster:600,source:F.value.dataLabels.fontSize,threshold:10,fallback:10}),B.value.names=ae({relator:Math.min(e,t),adjuster:600,source:P.value.dataLabels.name.fontSize,threshold:10,fallback:10}),B.value.values=ae({relator:Math.min(e,t),adjuster:600,source:P.value.dataLabels.value.fontSize,threshold:10,fallback:10})):(B.value.circles=F.value.dataLabels.fontSize,B.value.names=P.value.dataLabels.name.fontSize,B.value.values=P.value.dataLabels.value.fontSize)})});O.value&&(k.value&&O.value.unobserve(k.value),O.value.disconnect()),O.value=new ResizeObserver(e),k.value=E.value.parentNode,O.value.observe(k.value)}}le({config:()=>N.value,dataset:()=>T.dataset,component:`VueUiFunnel`,rules:[ue.emptyArray,{test:e=>e.length>10,message:[`👀 The dataset has a length > 10. Consider:`,``,`▶️ Aggregating some datapoints into broader categories`]}]});let bt=s(()=>N.value.userOptions.useCursorPointer),{userOptionsVisible:xt,setUserOptionsVisibility:St,keepUserOptionState:Ct}=Ee({config:N.value}),{svgRef:wt}=De({config:I.value.title});Ve(()=>T.config,e=>{N.value=_t(),xt.value=!N.value.userOptions.showOnChartHover,yt(),dt.value+=1,ft.value+=1,B.value.circles=F.value.dataLabels.fontSize,B.value.names=P.value.dataLabels.name.fontSize,B.value.values=P.value.dataLabels.value.fontSize,z.value.showTable=N.value.table.show},{deep:!0});let{isPrinting:L,isImaging:R,generatePdf:Tt,generateImage:Et}=Se({elementId:`funnel_${D.value}`,fileName:I.value.title.text||`vue-ui-funnel`,options:N.value.userOptions.print}),Dt=s(()=>N.value.userOptions.show&&!I.value.title.text),z=_({showTable:N.value.table.show}),B=_({circles:F.value.dataLabels.fontSize,names:P.value.dataLabels.name.fontSize,values:P.value.dataLabels.value.fontSize}),V=s({get:()=>({height:I.value.height,width:I.value.width}),set:e=>e}),H=s(()=>M.value?T.dataset.map((e,t)=>({...e,color:e.color?ee(e.color):i(P.value.defaultColor,t/T.dataset.length)})):[]);setTimeout(()=>{A.value=!0},H.value.length*150);function Ot(){let e=I.value.padding.left,t=I.value.padding.top;return{left:e,top:t,right:V.value.width-I.value.padding.right,bottom:V.value.height-I.value.padding.bottom,width:V.value.width-e-I.value.padding.right,height:V.value.height-t-I.value.padding.bottom}}let U=_(Ot()),W=s(()=>U.value.height/T.dataset.length),G=s(()=>W.value*P.value.gapRatio),kt=s(()=>U.value.width*I.value.barCircleSpacingRatio),K=s(()=>H.value.map((e,t)=>{let n=W.value-G.value,r=U.value.top+G.value/2*t+(W.value-G.value/2)*t+G.value/2,i=e.value/H.value[0].value,ee=(U.value.width-n-kt.value)*(e.value/H.value[0].value);return{...e,cx:U.value.left+n/2,cy:r+n/2,datapointIndex:t,fill:e.color,height:Math.max(n,0),proportion:i,r:Math.max(n/2,0),width:Math.max(ee,0),x:U.value.left+n+kt.value,y:r}})),At=s(()=>{let e=K.value.map(e=>`${e.x+e.width},${e.y+(W.value-G.value)/2}`);return`${K.value[0].x},${K.value[0].y+(W.value-G.value)/2} ${e.toString()} ${K.value.at(-1).x},${K.value.at(-1).y+(W.value-G.value)/2}`}),jt=s(()=>({x1:K.value[0].cx,y1:K.value[0].cy,x2:K.value.at(-1).cx,y2:K.value.at(-1).cy})),q=_(!1);function Mt(e){q.value=e,ut.value+=1}let Nt=s(()=>`${H.value.length*150}ms`),J=_(!1);function Pt(){J.value=!J.value}function Ft(){z.value.showTable=!z.value.showTable}let Y=s(()=>({head:H.value.map(e=>({name:e.name,color:e.color})),body:H.value.map(e=>e.value)})),X=s(()=>{let e=[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],t=Y.value.head.map((e,t)=>{let r=a(P.value.dataLabels.value.formatter,Y.value.body[t],n({p:P.value.dataLabels.value.prefix,v:Y.value.body[t],s:P.value.dataLabels.value.suffix,r:N.value.table.td.roundingValue}),{datapoint:K.value[t]}),i=a(F.value.dataLabels.formatter,K.value[t].proportion*100,n({v:K.value[t].proportion*100,s:`%`,r:N.value.table.td.roundingPercentage}),{datapoint:K.value[t]});return[{color:e.color,name:e.name},r,i]}),r={th:{backgroundColor:N.value.table.th.backgroundColor,color:N.value.table.th.color,outline:N.value.table.th.outline},td:{backgroundColor:N.value.table.td.backgroundColor,color:N.value.table.td.color,outline:N.value.table.td.outline},breakpoint:N.value.table.responsiveBreakpoint};return{colNames:[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],head:e,body:t,config:r}});function Z(e=null){Pe(()=>{let t=Y.value.head.map((e,t)=>[[e.name],[Y.value.body[t]],[K.value[t].proportion*100]]),n=[[I.value.title.text],[I.value.title.subtitle.text],[[N.value.table.columnNames.series],[N.value.table.columnNames.value],[`%`]]].concat(t),i=r(n);e?e(i):re({csvContent:i,title:I.value.title.text||`vue-ui-funnel`})})}function It(){return H.value}let Lt=pe(E,()=>I.value.title.text),Q=s(()=>_e({config:N,style:I,mutableConfig:z,dialog:st,accordion:nt,isFullscreen:q,parent:E,maxWidth:800}));Ve(()=>z.value.showTable,e=>ge(e,N,gt));function Rt(){z.value.showTable=!1,j.value&&j.value.setTableIconState(!1)}let zt=s(()=>I.value.backgroundColor),Bt=s(()=>I.value.title),{isCallbackImaging:Vt,isCallbackSvg:$,generateSvg:Ht,onGenerateImage:Ut}=he({svg:wt,title:Bt,legend:null,legendItems:null,backgroundColor:zt,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:Et});async function Wt(){lt(`copyAlt`,{config:N.value,dataset:H.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:H.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return de({getData:It,getImage:Lt,generatePdf:Tt,generateCsv:Z,generateImage:Et,generateSvg:Ht,toggleTable:Ft,toggleAnnotator:Pt,toggleFullscreen:Mt,copyAlt:Wt}),(e,t)=>(g(),u(`div`,{ref_key:`funnelChart`,ref:E,class:m(`vue-data-ui-component vue-ui-funnel ${q.value?`vue-data-ui-wrapper-fullscreen`:``} ${N.value.useCssAnimation?``:`vue-ui-dna`}`),style:h(`font-family:${N.value.style.fontFamily};width:100%; ${N.value.responsive?`height:100%;`:``} text-align:center;background:${I.value.backgroundColor}`),id:`funnel_${D.value}`,onMouseenter:t[1]||=()=>x(St)(!0),onMouseleave:t[2]||=()=>x(St)(!1)},[N.value.userOptions.buttons.annotator?(g(),c(x(at),{key:0,svgRef:x(wt),backgroundColor:I.value.backgroundColor,color:I.value.color,active:J.value,isCursorPointer:bt.value,palette:N.value.userOptions.annotatorPalette,onClose:Pt},Ae({_:2},[v(x(ye),t=>({name:t,fn:S(n=>[y(e.$slots,t,Fe(Ne(x(ve)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):l(``,!0),Dt.value?(g(),u(`div`,{key:1,ref_key:`noTitle`,ref:pt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):l(``,!0),I.value.title.text?(g(),u(`div`,{key:2,ref_key:`chartTitle`,ref:ht,style:`width:100%;background:transparent;padding-bottom:24px`},[(g(),c(me,{key:`title_${dt.value}`,config:{title:{cy:`funnel-div-title`,...I.value.title},subtitle:{cy:`funnel-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):l(``,!0),N.value.userOptions.show&&M.value&&(x(Ct)||x(xt))?(g(),c(x(it),{ref_key:`userOptionsRef`,ref:j,key:`user_option_${ut.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:x(L),isImaging:x(R),uid:D.value,hasTooltip:!1,hasPdf:N.value.userOptions.buttons.pdf,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasXls:N.value.userOptions.buttons.csv,hasTable:N.value.userOptions.buttons.table,hasLabel:!1,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:q.value,chartElement:E.value,position:N.value.userOptions.position,titles:{...N.value.userOptions.buttonTitles},hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:J.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:bt.value,onToggleAnnotator:Pt,onToggleFullscreen:Mt,onGeneratePdf:x(Tt),onGenerateImage:x(Ut),onGenerateSvg:x(Ht),onToggleTable:Ft,onGenerateCsv:Z,onCopyAlt:Wt,style:h({visibility:x(Ct)?x(xt)?`visible`:`hidden`:`visible`})},Ae({_:2},[v(x(be)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:S(n=>[y(e.$slots,t,Fe(Ne(x(xe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.titles.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):l(``,!0),M.value?(g(),u(`svg`,{key:4,ref_key:`svgRef`,ref:wt,xmlns:x(oe),class:m({"vue-data-ui-fullscreen--on":q.value,"vue-data-ui-fulscreen--off":!q.value}),viewBox:`0 0 ${V.value.width<=0?10:V.value.width} ${V.value.height<=0?10:V.value.height}`,style:h(`max-width:100%; overflow: visible; background:transparent;color:${I.value.color}`)},[Me(x(ot)),y(e.$slots,`svg-underlayer`,{svg:{...V.value,isPrintingImg:x(L)||x(R)||x(Vt),isPrintingSvg:x($)}},void 0,!0),e.$slots[`chart-background`]?(g(),u(`foreignObject`,{key:0,x:0,y:0,width:V.value.width<=0?10:V.value.width,height:V.value.height<=0?10:V.value.height,style:{pointerEvents:`none`}},[y(e.$slots,`chart-background`,{},void 0,!0)],8,Ge)):l(``,!0),d(`defs`,null,[Me(Te,{t:`linear`,id:`funnel_area_${D.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,I.value.backgroundColor,0],[`20%`,I.value.area.color,1],[`100%`,I.value.area.color,1]]},null,8,[`id`,`stops`])]),I.value.circleLinks.show?(g(),u(`line`,p({key:1},jt.value,{stroke:I.value.circleLinks.color,"stroke-width":12*I.value.circleLinks.widthRatio,"stroke-linecap":`round`,class:{animated:N.value.useCssAnimation&&!x(w)},style:{strokeDasharray:N.value.useCssAnimation&&!x(w)?U.value.height:0,strokeDashoffset:N.value.useCssAnimation&&!x(w)?U.value.height:0}}),null,16,Ke)):l(``,!0),(g(!0),u(o,null,v(K.value,({cx:e,cy:t,r:n,fill:r},i)=>(g(),u(`circle`,p({ref_for:!0},{cx:e,cy:t,r:n,fill:r},{stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,class:{animated:N.value.useCssAnimation&&!A.value&&!x(w)},style:{animationDelay:`${150*i}ms`}}),null,16,qe))),256)),(g(!0),u(o,null,v(K.value,(e,t)=>(g(),u(`text`,{x:e.cx,y:e.cy+B.value.circles/3+F.value.dataLabels.offsetY,"text-anchor":`middle`,"font-size":B.value.circles,fill:F.value.dataLabels.adaptColorToBackground?x(ie)(e.color):F.value.dataLabels.color,"font-weight":F.value.dataLabels.bold?`bold`:`normal`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({animationDelay:`${150*t}ms`})},b(x(a)(F.value.dataLabels.formatter,e.proportion*100,x(n)({v:e.proportion*100,s:`%`,r:F.value.dataLabels.rounding}),{datapoint:e})),15,Je))),256)),I.value.area.show?(g(),u(`polygon`,{key:2,points:At.value,fill:`url(#funnel_area_${D.value})`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({transition:N.value.useCssAnimation?`all ${150*H.value.length}ms ease-in`:`none`})},null,14,Ye)):l(``,!0),(g(!0),u(o,null,v(K.value,({x:e,y:t,height:n,width:r,fill:i},ee)=>(g(),u(`rect`,p({ref_for:!0},{x:e,y:t,height:n,width:r,fill:i},{stroke:P.value.stroke,"stroke-width":P.value.strokeWidth,rx:P.value.borderRadius,class:{animated:N.value.useCssAnimation&&!A.value&&!x(w)},style:{animationDelay:`${150*ee}ms`}}),null,16,Xe))),256)),(g(!0),u(o,null,v(K.value,(e,t)=>(g(),u(`g`,null,[d(`text`,{x:e.x+e.width+P.value.dataLabels.name.offsetX+12,y:e.cy-B.value.names/2+P.value.dataLabels.name.offsetY,"text-anchor":`start`,"font-size":B.value.names,fill:P.value.dataLabels.name.color,"font-weight":P.value.dataLabels.name.bold?`bold`:`normal`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({animationDelay:`${150*t}ms`})},b(e.name),15,Ze),d(`text`,{x:e.x+e.width+P.value.dataLabels.value.offsetX+12,y:e.cy+B.value.values+P.value.dataLabels.value.offsetY,"text-anchor":`start`,"font-size":B.value.values,fill:P.value.dataLabels.value.color,"font-weight":P.value.dataLabels.value.bold?`bold`:`normal`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({animationDelay:`${150*t}ms`})},b(x(a)(P.value.dataLabels.value.formatter,e.value,x(n)({p:P.value.dataLabels.value.prefix,v:e.value,s:P.value.dataLabels.value.suffix,r:P.value.dataLabels.value.rounding}),{datapoint:e})),15,Qe)]))),256)),y(e.$slots,`svg`,{svg:{...V.value,isPrintingImg:x(L)||x(R)||x(Vt),isPrintingSvg:x($)}},void 0,!0)],14,We)):l(``,!0),e.$slots.watermark?(g(),u(`div`,$e,[y(e.$slots,`watermark`,Fe(Ne({isPrinting:x(L)||x(R)||x(Vt)||x($)})),void 0,!0)])):l(``,!0),M.value?l(``,!0):(g(),c(x(tt),{key:6,config:{type:`verticalBar`,style:{backgroundColor:I.value.backgroundColor,verticalBar:{axis:{color:`#CCCCCC`},color:`#CCCCCC`}}}},null,8,[`config`])),e.$slots.source?(g(),u(`div`,{key:7,ref_key:`source`,ref:mt,dir:`auto`},[y(e.$slots,`source`,{},void 0,!0)],512)):l(``,!0),M.value&&N.value.userOptions.buttons.table?(g(),c(Re(Q.value.component),p({key:8},Q.value.props,{ref_key:`tableUnit`,ref:gt,onClose:Rt}),Ae({content:S(()=>[(g(),c(x(rt),{key:`table_${ft.value}`,colNames:X.value.colNames,head:X.value.head,body:X.value.body,config:X.value.config,title:N.value.table.useDialog?``:Q.value.title,withCloseButton:!N.value.table.useDialog,onClose:Rt},{th:S(({th:e})=>[d(`div`,et,b(e),1)]),td:S(({td:e})=>[je(b(e.name?e.name:e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`]))]),_:2},[N.value.table.useDialog?{name:`title`,fn:S(()=>[je(b(Q.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:S(()=>[d(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[0]||=e=>Z(N.value.userOptions.callbacks.csv)},[Me(x(C),{name:`fileCsv`,stroke:Q.value.props.color},null,8,[`stroke`])])]),key:`1`}:void 0]),1040)):l(``,!0)],46,Ue))}},[[`__scopeId`,`data-v-8e777780`]]);export{He as n,C as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Ft as i,S as ee,X as te,at as ne,i as a,nt as re,r as ie,rn as ae,t as oe,yt as se,zt as ce}from"./lib-rPeBMZrn.js";import{n as le,t as ue}from"./useHints-C-TwxM0Y.js";import{t as de}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as fe}from"./resolveChartConfig-CIhClE5R.js";import{t as pe}from"./chartImage-DPGnEuYM.js";import{n as me}from"./Title-BliHuXfT.js";import{t as he}from"./useChartExport-BZts4KFb.js";import{n as ge,t as _e}from"./tableIntegration-CNoJ1CIY.js";import{n as ve,t as ye}from"./annotationSlots-BRR85CqJ.js";import{n as be,t as xe}from"./userOptionsSlots-DYuo-E5m.js";import{t as Se}from"./usePrinter-DVf3YcG5.js";import{c as Ce}from"./canvas-lib-22VpOI4_.js";import{t as we}from"./useResponsive-CENUxfEL.js";import{t as Te}from"./DefGrad-DKMq1REY.js";import{t as Ee}from"./useUserOptionState-CXlFnwPv.js";import{t as De}from"./useChartAccessibility-DOMuYJfm.js";import{t as Oe}from"./usePrefersMotion-XLHwega2.js";import{t as ke}from"./vue_ui_funnel-CaEV5hG7.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createSlots as Ae,createTextVNode as je,createVNode as Me,defineAsyncComponent as f,guardReactiveProps as Ne,mergeProps as p,nextTick as Pe,normalizeClass as m,normalizeProps as Fe,normalizeStyle as h,onBeforeUnmount as Ie,onMounted as Le,openBlock as g,ref as _,renderList as v,renderSlot as y,resolveDynamicComponent as Re,shallowRef as ze,toDisplayString as b,unref as x,useCssVars as Be,watch as Ve,withCtx as S}from"vue";var He=/* @__PURE__ */ e({default:()=>C}),Ue=[`id`],We=[`xmlns`,`viewBox`],Ge=[`width`,`height`],Ke=[`stroke`,`stroke-width`],qe=[`stroke`,`stroke-width`],Je=[`x`,`y`,`font-size`,`fill`,`font-weight`],Ye=[`points`,`fill`],Xe=[`stroke`,`stroke-width`,`rx`],Ze=[`x`,`y`,`font-size`,`fill`,`font-weight`],Qe=[`x`,`y`,`font-size`,`fill`,`font-weight`],$e={key:5,class:`vue-data-ui-watermark`},et={style:{display:`flex`,"align-items":`center`}},C=/*#__PURE__*/ de({__name:`vue-ui-funnel`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:de,emit:He}){Be(e=>({v1b22a0a8:Nt.value}));let C=f(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),tt=f(()=>import(`./vue-ui-skeleton-wyvAru88.js`).then(e=>e.n)),nt=f(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),rt=f(()=>import(`./DataTable-0Vv-aGHD.js`)),it=f(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),at=f(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),ot=f(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),st=f(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_funnel:ct}=t(),w=Oe(),T=e,lt=He,E=_(null),D=_(te()),ut=_(0),dt=_(0),ft=_(0),pt=_(null),mt=_(null),ht=_(null),O=ze(null),k=ze(null),A=_(!1),gt=_(null),j=_(null),M=s(()=>!!T.dataset&&T.dataset.length);Le(yt),Ie(()=>{O.value&&(k.value&&O.value.unobserve(k.value),O.value.disconnect())});function _t(){return fe(T.config,ct,ke)}let N=s({get:()=>_t(),set:e=>e}),vt=s(()=>N.value.debug),P=s(()=>N.value.style.chart.bars),F=s(()=>N.value.style.chart.circles),I=s(()=>N.value.style.chart);function yt(){if(ce(T.dataset)?ne({componentName:`VueUiFunnel`,type:`dataset`,debug:vt.value}):T.dataset.forEach((e,t)=>{se({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{M.value=!1,ne({componentName:`VueUiFunnel`,type:`datasetSerieAttribute`,property:e,index:t,debug:vt.value})})}),N.value.responsive){let e=Ce(()=>{let{width:e,height:t}=we({chart:E.value,title:I.value.title.text?ht.value:null,source:mt.value,noTitle:pt.value});requestAnimationFrame(()=>{V.value.height=t,V.value.width=e,U.value=Ot(),N.value.responsiveProportionalSizing?(B.value.circles=ae({relator:Math.min(e,t),adjuster:600,source:F.value.dataLabels.fontSize,threshold:10,fallback:10}),B.value.names=ae({relator:Math.min(e,t),adjuster:600,source:P.value.dataLabels.name.fontSize,threshold:10,fallback:10}),B.value.values=ae({relator:Math.min(e,t),adjuster:600,source:P.value.dataLabels.value.fontSize,threshold:10,fallback:10})):(B.value.circles=F.value.dataLabels.fontSize,B.value.names=P.value.dataLabels.name.fontSize,B.value.values=P.value.dataLabels.value.fontSize)})});O.value&&(k.value&&O.value.unobserve(k.value),O.value.disconnect()),O.value=new ResizeObserver(e),k.value=E.value.parentNode,O.value.observe(k.value)}}le({config:()=>N.value,dataset:()=>T.dataset,component:`VueUiFunnel`,rules:[ue.emptyArray,{test:e=>e.length>10,message:[`👀 The dataset has a length > 10. Consider:`,``,`▶️ Aggregating some datapoints into broader categories`]}]});let bt=s(()=>N.value.userOptions.useCursorPointer),{userOptionsVisible:xt,setUserOptionsVisibility:St,keepUserOptionState:Ct}=Ee({config:N.value}),{svgRef:wt}=De({config:I.value.title});Ve(()=>T.config,e=>{N.value=_t(),xt.value=!N.value.userOptions.showOnChartHover,yt(),dt.value+=1,ft.value+=1,B.value.circles=F.value.dataLabels.fontSize,B.value.names=P.value.dataLabels.name.fontSize,B.value.values=P.value.dataLabels.value.fontSize,z.value.showTable=N.value.table.show},{deep:!0});let{isPrinting:L,isImaging:R,generatePdf:Tt,generateImage:Et}=Se({elementId:`funnel_${D.value}`,fileName:I.value.title.text||`vue-ui-funnel`,options:N.value.userOptions.print}),Dt=s(()=>N.value.userOptions.show&&!I.value.title.text),z=_({showTable:N.value.table.show}),B=_({circles:F.value.dataLabels.fontSize,names:P.value.dataLabels.name.fontSize,values:P.value.dataLabels.value.fontSize}),V=s({get:()=>({height:I.value.height,width:I.value.width}),set:e=>e}),H=s(()=>M.value?T.dataset.map((e,t)=>({...e,color:e.color?ee(e.color):i(P.value.defaultColor,t/T.dataset.length)})):[]);setTimeout(()=>{A.value=!0},H.value.length*150);function Ot(){let e=I.value.padding.left,t=I.value.padding.top;return{left:e,top:t,right:V.value.width-I.value.padding.right,bottom:V.value.height-I.value.padding.bottom,width:V.value.width-e-I.value.padding.right,height:V.value.height-t-I.value.padding.bottom}}let U=_(Ot()),W=s(()=>U.value.height/T.dataset.length),G=s(()=>W.value*P.value.gapRatio),kt=s(()=>U.value.width*I.value.barCircleSpacingRatio),K=s(()=>H.value.map((e,t)=>{let n=W.value-G.value,r=U.value.top+G.value/2*t+(W.value-G.value/2)*t+G.value/2,i=e.value/H.value[0].value,ee=(U.value.width-n-kt.value)*(e.value/H.value[0].value);return{...e,cx:U.value.left+n/2,cy:r+n/2,datapointIndex:t,fill:e.color,height:Math.max(n,0),proportion:i,r:Math.max(n/2,0),width:Math.max(ee,0),x:U.value.left+n+kt.value,y:r}})),At=s(()=>{let e=K.value.map(e=>`${e.x+e.width},${e.y+(W.value-G.value)/2}`);return`${K.value[0].x},${K.value[0].y+(W.value-G.value)/2} ${e.toString()} ${K.value.at(-1).x},${K.value.at(-1).y+(W.value-G.value)/2}`}),jt=s(()=>({x1:K.value[0].cx,y1:K.value[0].cy,x2:K.value.at(-1).cx,y2:K.value.at(-1).cy})),q=_(!1);function Mt(e){q.value=e,ut.value+=1}let Nt=s(()=>`${H.value.length*150}ms`),J=_(!1);function Pt(){J.value=!J.value}function Ft(){z.value.showTable=!z.value.showTable}let Y=s(()=>({head:H.value.map(e=>({name:e.name,color:e.color})),body:H.value.map(e=>e.value)})),X=s(()=>{let e=[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],t=Y.value.head.map((e,t)=>{let r=a(P.value.dataLabels.value.formatter,Y.value.body[t],n({p:P.value.dataLabels.value.prefix,v:Y.value.body[t],s:P.value.dataLabels.value.suffix,r:N.value.table.td.roundingValue}),{datapoint:K.value[t]}),i=a(F.value.dataLabels.formatter,K.value[t].proportion*100,n({v:K.value[t].proportion*100,s:`%`,r:N.value.table.td.roundingPercentage}),{datapoint:K.value[t]});return[{color:e.color,name:e.name},r,i]}),r={th:{backgroundColor:N.value.table.th.backgroundColor,color:N.value.table.th.color,outline:N.value.table.th.outline},td:{backgroundColor:N.value.table.td.backgroundColor,color:N.value.table.td.color,outline:N.value.table.td.outline},breakpoint:N.value.table.responsiveBreakpoint};return{colNames:[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],head:e,body:t,config:r}});function Z(e=null){Pe(()=>{let t=Y.value.head.map((e,t)=>[[e.name],[Y.value.body[t]],[K.value[t].proportion*100]]),n=[[I.value.title.text],[I.value.title.subtitle.text],[[N.value.table.columnNames.series],[N.value.table.columnNames.value],[`%`]]].concat(t),i=r(n);e?e(i):re({csvContent:i,title:I.value.title.text||`vue-ui-funnel`})})}function It(){return H.value}let Lt=pe(E,()=>I.value.title.text),Q=s(()=>_e({config:N,style:I,mutableConfig:z,dialog:st,accordion:nt,isFullscreen:q,parent:E,maxWidth:800}));Ve(()=>z.value.showTable,e=>ge(e,N,gt));function Rt(){z.value.showTable=!1,j.value&&j.value.setTableIconState(!1)}let zt=s(()=>I.value.backgroundColor),Bt=s(()=>I.value.title),{isCallbackImaging:Vt,isCallbackSvg:$,generateSvg:Ht,onGenerateImage:Ut}=he({svg:wt,title:Bt,legend:null,legendItems:null,backgroundColor:zt,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:Et});async function Wt(){lt(`copyAlt`,{config:N.value,dataset:H.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:H.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return de({getData:It,getImage:Lt,generatePdf:Tt,generateCsv:Z,generateImage:Et,generateSvg:Ht,toggleTable:Ft,toggleAnnotator:Pt,toggleFullscreen:Mt,copyAlt:Wt}),(e,t)=>(g(),u(`div`,{ref_key:`funnelChart`,ref:E,class:m(`vue-data-ui-component vue-ui-funnel ${q.value?`vue-data-ui-wrapper-fullscreen`:``} ${N.value.useCssAnimation?``:`vue-ui-dna`}`),style:h(`font-family:${N.value.style.fontFamily};width:100%; ${N.value.responsive?`height:100%;`:``} text-align:center;background:${I.value.backgroundColor}`),id:`funnel_${D.value}`,onMouseenter:t[1]||=()=>x(St)(!0),onMouseleave:t[2]||=()=>x(St)(!1)},[N.value.userOptions.buttons.annotator?(g(),c(x(at),{key:0,svgRef:x(wt),backgroundColor:I.value.backgroundColor,color:I.value.color,active:J.value,isCursorPointer:bt.value,palette:N.value.userOptions.annotatorPalette,onClose:Pt},Ae({_:2},[v(x(ye),t=>({name:t,fn:S(n=>[y(e.$slots,t,Fe(Ne(x(ve)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):l(``,!0),Dt.value?(g(),u(`div`,{key:1,ref_key:`noTitle`,ref:pt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):l(``,!0),I.value.title.text?(g(),u(`div`,{key:2,ref_key:`chartTitle`,ref:ht,style:`width:100%;background:transparent;padding-bottom:24px`},[(g(),c(me,{key:`title_${dt.value}`,config:{title:{cy:`funnel-div-title`,...I.value.title},subtitle:{cy:`funnel-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):l(``,!0),N.value.userOptions.show&&M.value&&(x(Ct)||x(xt))?(g(),c(x(it),{ref_key:`userOptionsRef`,ref:j,key:`user_option_${ut.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:x(L),isImaging:x(R),uid:D.value,hasTooltip:!1,hasPdf:N.value.userOptions.buttons.pdf,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasXls:N.value.userOptions.buttons.csv,hasTable:N.value.userOptions.buttons.table,hasLabel:!1,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:q.value,chartElement:E.value,position:N.value.userOptions.position,titles:{...N.value.userOptions.buttonTitles},hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:J.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:bt.value,onToggleAnnotator:Pt,onToggleFullscreen:Mt,onGeneratePdf:x(Tt),onGenerateImage:x(Ut),onGenerateSvg:x(Ht),onToggleTable:Ft,onGenerateCsv:Z,onCopyAlt:Wt,style:h({visibility:x(Ct)?x(xt)?`visible`:`hidden`:`visible`})},Ae({_:2},[v(x(be)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:S(n=>[y(e.$slots,t,Fe(Ne(x(xe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.titles.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):l(``,!0),M.value?(g(),u(`svg`,{key:4,ref_key:`svgRef`,ref:wt,xmlns:x(oe),class:m({"vue-data-ui-fullscreen--on":q.value,"vue-data-ui-fulscreen--off":!q.value}),viewBox:`0 0 ${V.value.width<=0?10:V.value.width} ${V.value.height<=0?10:V.value.height}`,style:h(`max-width:100%; overflow: visible; background:transparent;color:${I.value.color}`)},[Me(x(ot)),y(e.$slots,`svg-underlayer`,{svg:{...V.value,isPrintingImg:x(L)||x(R)||x(Vt),isPrintingSvg:x($)}},void 0,!0),e.$slots[`chart-background`]?(g(),u(`foreignObject`,{key:0,x:0,y:0,width:V.value.width<=0?10:V.value.width,height:V.value.height<=0?10:V.value.height,style:{pointerEvents:`none`}},[y(e.$slots,`chart-background`,{},void 0,!0)],8,Ge)):l(``,!0),d(`defs`,null,[Me(Te,{t:`linear`,id:`funnel_area_${D.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,I.value.backgroundColor,0],[`20%`,I.value.area.color,1],[`100%`,I.value.area.color,1]]},null,8,[`id`,`stops`])]),I.value.circleLinks.show?(g(),u(`line`,p({key:1},jt.value,{stroke:I.value.circleLinks.color,"stroke-width":12*I.value.circleLinks.widthRatio,"stroke-linecap":`round`,class:{animated:N.value.useCssAnimation&&!x(w)},style:{strokeDasharray:N.value.useCssAnimation&&!x(w)?U.value.height:0,strokeDashoffset:N.value.useCssAnimation&&!x(w)?U.value.height:0}}),null,16,Ke)):l(``,!0),(g(!0),u(o,null,v(K.value,({cx:e,cy:t,r:n,fill:r},i)=>(g(),u(`circle`,p({ref_for:!0},{cx:e,cy:t,r:n,fill:r},{stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,class:{animated:N.value.useCssAnimation&&!A.value&&!x(w)},style:{animationDelay:`${150*i}ms`}}),null,16,qe))),256)),(g(!0),u(o,null,v(K.value,(e,t)=>(g(),u(`text`,{x:e.cx,y:e.cy+B.value.circles/3+F.value.dataLabels.offsetY,"text-anchor":`middle`,"font-size":B.value.circles,fill:F.value.dataLabels.adaptColorToBackground?x(ie)(e.color):F.value.dataLabels.color,"font-weight":F.value.dataLabels.bold?`bold`:`normal`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({animationDelay:`${150*t}ms`})},b(x(a)(F.value.dataLabels.formatter,e.proportion*100,x(n)({v:e.proportion*100,s:`%`,r:F.value.dataLabels.rounding}),{datapoint:e})),15,Je))),256)),I.value.area.show?(g(),u(`polygon`,{key:2,points:At.value,fill:`url(#funnel_area_${D.value})`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({transition:N.value.useCssAnimation?`all ${150*H.value.length}ms ease-in`:`none`})},null,14,Ye)):l(``,!0),(g(!0),u(o,null,v(K.value,({x:e,y:t,height:n,width:r,fill:i},ee)=>(g(),u(`rect`,p({ref_for:!0},{x:e,y:t,height:n,width:r,fill:i},{stroke:P.value.stroke,"stroke-width":P.value.strokeWidth,rx:P.value.borderRadius,class:{animated:N.value.useCssAnimation&&!A.value&&!x(w)},style:{animationDelay:`${150*ee}ms`}}),null,16,Xe))),256)),(g(!0),u(o,null,v(K.value,(e,t)=>(g(),u(`g`,null,[d(`text`,{x:e.x+e.width+P.value.dataLabels.name.offsetX+12,y:e.cy-B.value.names/2+P.value.dataLabels.name.offsetY,"text-anchor":`start`,"font-size":B.value.names,fill:P.value.dataLabels.name.color,"font-weight":P.value.dataLabels.name.bold?`bold`:`normal`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({animationDelay:`${150*t}ms`})},b(e.name),15,Ze),d(`text`,{x:e.x+e.width+P.value.dataLabels.value.offsetX+12,y:e.cy+B.value.values+P.value.dataLabels.value.offsetY,"text-anchor":`start`,"font-size":B.value.values,fill:P.value.dataLabels.value.color,"font-weight":P.value.dataLabels.value.bold?`bold`:`normal`,class:m({animated:N.value.useCssAnimation&&!A.value&&!x(w)}),style:h({animationDelay:`${150*t}ms`})},b(x(a)(P.value.dataLabels.value.formatter,e.value,x(n)({p:P.value.dataLabels.value.prefix,v:e.value,s:P.value.dataLabels.value.suffix,r:P.value.dataLabels.value.rounding}),{datapoint:e})),15,Qe)]))),256)),y(e.$slots,`svg`,{svg:{...V.value,isPrintingImg:x(L)||x(R)||x(Vt),isPrintingSvg:x($)}},void 0,!0)],14,We)):l(``,!0),e.$slots.watermark?(g(),u(`div`,$e,[y(e.$slots,`watermark`,Fe(Ne({isPrinting:x(L)||x(R)||x(Vt)||x($)})),void 0,!0)])):l(``,!0),M.value?l(``,!0):(g(),c(x(tt),{key:6,config:{type:`verticalBar`,style:{backgroundColor:I.value.backgroundColor,verticalBar:{axis:{color:`#CCCCCC`},color:`#CCCCCC`}}}},null,8,[`config`])),e.$slots.source?(g(),u(`div`,{key:7,ref_key:`source`,ref:mt,dir:`auto`},[y(e.$slots,`source`,{},void 0,!0)],512)):l(``,!0),M.value&&N.value.userOptions.buttons.table?(g(),c(Re(Q.value.component),p({key:8},Q.value.props,{ref_key:`tableUnit`,ref:gt,onClose:Rt}),Ae({content:S(()=>[(g(),c(x(rt),{key:`table_${ft.value}`,colNames:X.value.colNames,head:X.value.head,body:X.value.body,config:X.value.config,title:N.value.table.useDialog?``:Q.value.title,withCloseButton:!N.value.table.useDialog,onClose:Rt},{th:S(({th:e})=>[d(`div`,et,b(e),1)]),td:S(({td:e})=>[je(b(e.name?e.name:e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`]))]),_:2},[N.value.table.useDialog?{name:`title`,fn:S(()=>[je(b(Q.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:S(()=>[d(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[0]||=e=>Z(N.value.userOptions.callbacks.csv)},[Me(x(C),{name:`fileCsv`,stroke:Q.value.props.color},null,8,[`stroke`])])]),key:`1`}:void 0]),1040)):l(``,!0)],46,Ue))}},[[`__scopeId`,`data-v-8e777780`]]);export{He as n,C as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Ht as a,Kt as o,S as ee,X as s,Zt as c,at as te,i as ne,in as re,nt as ie,pt as ae,t as oe,w as se,yt as ce,z as le,zt as ue}from"./lib-rPeBMZrn.js";import{n as de,t as fe}from"./BaseScanner-8NdoBs7B.js";import{n as pe,t as me}from"./useHints-C-TwxM0Y.js";import{t as he}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ge}from"./resolveChartConfig-CIhClE5R.js";import{t as _e}from"./chartImage-DPGnEuYM.js";import{n as ve}from"./Title-BliHuXfT.js";import{t as ye}from"./useChartExport-BZts4KFb.js";import{n as be,t as xe}from"./tableIntegration-CNoJ1CIY.js";import{n as Se,t as Ce}from"./annotationSlots-BRR85CqJ.js";import{n as we,t as Te}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ee}from"./usePrinter-DVf3YcG5.js";import{t as De}from"./useTransitions-ChGGrtrv.js";import{c as Oe}from"./canvas-lib-22VpOI4_.js";import{t as ke}from"./useResponsive-CENUxfEL.js";import{t as Ae}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as je}from"./A11yDataTable-DWNlWXzs.js";import{t as Me}from"./useUserOptionState-CXlFnwPv.js";import{t as Ne}from"./useChartAccessibility-DOMuYJfm.js";import{t as Pe}from"./labelUtils-CdtU-yB_.js";import{t as Fe}from"./Legend-DM0ClX3D.js";import{t as Ie}from"./vue_ui_galaxy-B94QInxc.js";import{Fragment as Le,Teleport as Re,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createSlots as ze,createTextVNode as Be,createVNode as Ve,defineAsyncComponent as m,guardReactiveProps as h,mergeProps as He,nextTick as Ue,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onMounted as We,openBlock as y,ref as b,renderList as Ge,renderSlot as x,resolveDynamicComponent as Ke,toDisplayString as S,toRefs as qe,unref as C,watch as Je,withCtx as w}from"vue";var Ye=/* @__PURE__ */ e({default:()=>ht}),Xe=[`id`],Ze=[`id`],Qe=[`id`],$e={style:{position:`relative`}},et=[`xmlns`,`aria-describedby`,`viewBox`],tt=[`width`,`height`],nt=[`id`],rt=[`stdDeviation`],it=[`d`,`stroke`,`stroke-width`],at=[`d`,`stroke`,`stroke-width`],ot=[`filter`],st=[`d`,`stroke`,`stroke-width`],ct=[`data-a11y-serie-id`,`d`,`stroke-width`,`aria-label`,`onMouseenter`,`onMouseleave`,`onClick`],lt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},ut={key:5,class:`vue-data-ui-watermark`},dt=[`id`],ft=[`onClick`],pt={key:0},mt={key:1},ht=/*#__PURE__*/ he({__name:`vue-ui-galaxy`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:he,emit:Ye}){let ht=m(()=>import(`./Tooltip-C1q0Qoh7.js`)),gt=m(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),_t=m(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),vt=m(()=>import(`./DataTable-0Vv-aGHD.js`)),yt=m(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),bt=m(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),xt=m(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),St=m(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_galaxy:Ct}=t(),T=e,E=b(s()),D=b(null),O=b(!1),wt=b(``),k=b(null),Tt=b(0),Et=b(0),Dt=b(0),Ot=b(0),kt=b(null),At=b(null),jt=b(null),Mt=b(null),A=b(null),Nt=b(null),Pt=b(!1),Ft=b(null),It=b(null),j=b(null),Lt=b(null),Rt=b({x:0,y:0}),zt=b(`pointer`),Bt=b(!1),Vt=l(()=>!!T.dataset&&T.dataset.length),M=b(Zt()),N=l(()=>M.value.style.chart.layout.arcs),P=l(()=>M.value.style.chart.layout),F=l(()=>M.value.style.chart);pe({config:()=>M.value,dataset:()=>T.dataset,component:`VueUiGalaxy`,rules:[me.singleSeries,me.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let{transitionEnabled:Ht}=De({config:()=>M.value.transitions,dataset:()=>T.dataset}),I=l(()=>M.value.userOptions.useCursorPointer),Ut=l(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},useCssAnimation:!1,style:{chart:{backgroundColor:`#99999930`,legend:{backgroundColor:`transparent`}}}},userConfig:M.value.skeletonConfig??{}})),{loading:Wt,FINAL_DATASET:Gt}=de({...qe(T),FINAL_CONFIG:M,prepareConfig:Zt,callback:()=>{Promise.resolve().then(async()=>{await Ue(),B.value.showTable=M.value.table.show})},skeletonDataset:T.config?.skeletonDataset??[{name:`_`,values:[21],color:`#DBDBDB`},{name:`_`,values:[13],color:`#C4C4C4`},{name:`_`,values:[8],color:`#ADADAD`}],skeletonConfig:re({defaultConfig:M.value,userConfig:Ut.value})});We(()=>{Pt.value=!0,qt()});let Kt=l(()=>M.value.debug);function qt(){if(ue(T.dataset)?te({componentName:`VueUiGalaxy`,type:`dataset`,debug:Kt.value}):Kt.value&&T.dataset.forEach((e,t)=>{ce({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{te({componentName:`VueUiGalaxy`,type:`datasetSerieAttribute`,property:e,index:t})})}),M.value.responsive){let e=Oe(()=>{let{width:e,height:t}=ke({chart:D.value,title:F.value.title.text?kt.value:null,legend:F.value.legend.show?At.value:null,noTitle:Mt.value,source:jt.value});requestAnimationFrame(()=>{rn.value=Math.max(.1,e),an.value=Math.max(.1,t-12)})});A.value&&(Nt.value&&A.value.unobserve(Nt.value),A.value.disconnect()),A.value=new ResizeObserver(e),Nt.value=D.value.parentNode,A.value.observe(Nt.value)}}let{userOptionsVisible:Jt,setUserOptionsVisibility:Yt,keepUserOptionState:Xt}=Me({config:M.value}),{svgRef:L}=Ne({config:F.value.title});function Zt(){return ge(T.config,Ct,Ie)}let Qt=c(T.config);Je(()=>T.config,(e,t)=>{let n=c(e),r=n!==Qt;Qt=n;let i=Zt();r?(M.value=i,Jt.value=!M.value.userOptions.showOnChartHover,qt(),Et.value+=1,Dt.value+=1,Ot.value+=1,B.value.dataLabels.show=P.value.labels.dataLabels.show,B.value.showTable=M.value.table.show,B.value.showTooltip=F.value.tooltip.show):(M.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=M.value.style.chart.tooltip.show)},{deep:!0});let{isPrinting:R,isImaging:z,generatePdf:$t,generateImage:en}=Ee({elementId:`galaxy_${E.value}`,fileName:F.value.title.text||`vue-ui-galaxy`,options:M.value.userOptions.print}),tn=l(()=>M.value.userOptions.show&&!F.value.title.text),nn=l(()=>se(M.value.customPalette)),B=b({dataLabels:{show:P.value.labels.dataLabels.show},showTable:M.value.table.show,showTooltip:F.value.tooltip.show}),rn=b(250),an=b(180),on=b(0),sn=b(0),V=l(()=>({width:rn.value,height:an.value,viewBox:`${on.value} ${sn.value} ${rn.value} ${an.value}`})),cn=Ye,H=b([]);function ln(){cn(`selectLegend`,K.value.map(e=>({name:e.name,color:e.color,value:e.value})))}function un(){H.value.length?H.value=[]:J.value.forEach(e=>{H.value.push(e.id)}),ln()}function U(e){H.value.includes(e.id)?H.value=H.value.filter(t=>t!==e.id):H.value.push(e.id),ln()}function dn(e){return W.value.length?W.value.find(t=>t.name===e)||(Kt.value&&console.warn(`VueUiGalaxy - Series name not found "${e}"`),null):(Kt.value&&console.warn(`VueUiGalaxy - There are no series to show.`),null)}function fn(e){let t=dn(e);t!==null&&H.value.includes(t.id)&&U({id:t.id})}function pn(e){let t=dn(e);t!==null&&(H.value.includes(t.id)||U({id:t.id}))}let W=l(()=>Gt.value.map((e,t)=>({name:e.name,color:ee(e.color)||nn.value[t]||a[t]||a[t%a.length],value:e.values?o(e.values).reduce((e,t)=>e+t,0):0,absoluteValues:o(e.values),id:s()})).sort((e,t)=>t.value-e.value).map((e,t)=>({...e,absoluteIndex:t})));function mn(){return W.value.map(e=>({name:e.name,color:e.color,value:e.value}))}let G=l(()=>W.value.filter(e=>!H.value.includes(e.id)).map(e=>e.value).reduce((e,t)=>e+t,0)),hn=b(190),gn=l(()=>W.value.filter(e=>!H.value.includes(e.id))),_n=l(()=>(N.value.strokeWidth+N.value.borderWidth)/2+(P.value.padding??12)),vn=l(()=>le({maxPoints:hn.value,a:N.value.a??6,b:N.value.b??6,angleStep:N.value.angleStep??.07,startX:V.value.width/2+N.value.offsetX,startY:V.value.height/2+N.value.offsetY,boxWidth:V.value.width,boxHeight:V.value.height,padding:_n.value})),K=l(()=>{let e=[];for(let t=0;t<gn.value.length;t+=1){let n=gn.value[t],r=n.value/G.value*hn.value+(t>0&&e.length?e[t-1].points:0);e.push({points:r,...n,seriesIndex:t,proportion:n.value/G.value,path:vn.value(r)})}return e.filter(e=>!H.value.includes(e.id)).toSorted((e,t)=>t.points-e.points)});function yn(e){let t=Math.min(rn.value,an.value),n=k.value===e.id&&N.value.hoverEffect.show?N.value.hoverEffect.multiplicator:1,r=(N.value.strokeWidth+N.value.borderWidth)*n,i=N.value.strokeWidth*n,a=N.value.strokeWidth/2*n;return{border:r/180*t,path:i/180*t,blur:a/180*t}}let q=b(!1);function bn(e){q.value=e,Tt.value+=1}let xn=b(null);function Sn(){O.value=!1,k.value=null,j.value=null,Lt.value=null}function Cn(e){if(!L.value||!e)return;let t=L.value.querySelector(`[data-a11y-serie-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();Rt.value={x:n.left+n.width/2,y:n.top+n.height/2}}function wn(e){M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:e,seriesIndex:e.absoluteIndex}),(Lt.value!==e.id||zt.value!==`keyboard`)&&(O.value=!1,k.value=null)}function Tn(e){cn(`selectDatapoint`,e),M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:e,seriesIndex:e.absoluteIndex})}function En({val:e,percentage:t,showVal:n,showPercentage:r}){let i=P.value.labels.dataLabels;return Pe({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function Dn({datapoint:e,_relativeIndex:t,seriesIndex:r,show:a=!1,triggerMode:o=`pointer`,flatIndex:ee=null}){if(M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:e,seriesIndex:e.absoluteIndex}),!B.value.showTooltip)return;zt.value=o,j.value=ee,Lt.value=e.id,xn.value={datapoint:e,seriesIndex:r,series:W.value,config:M.value},O.value=a,k.value=e.id;let s=``,c=F.value.tooltip.customFormat;i(c)&&ae(()=>c({seriesIndex:r,datapoint:e,series:W.value,config:M.value}))?wt.value=c({seriesIndex:r,datapoint:e,series:W.value,config:M.value}):(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${e.color}"/></svg>`,s+=`<b>${En({showVal:F.value.tooltip.showValue,showPercentage:F.value.tooltip.showPercentage,val:ne(P.value.labels.dataLabels.formatter,e.value,n({p:P.value.labels.dataLabels.prefix,v:e.value,s:P.value.labels.dataLabels.suffix,r:F.value.tooltip.roundingValue}),{datapoint:e,seriesIndex:r}),percentage:n({v:e.proportion*100,s:`%`,r:F.value.tooltip.roundingPercentage})})}</b></div>`,wt.value=`<div>${s}</div>`),o===`keyboard`&&Ue(()=>{Cn(e.id)})}let J=l(()=>W.value.map((e,t)=>{let r=ne(P.value.labels.dataLabels.formatter,e.value,n({p:P.value.labels.dataLabels.prefix,v:e.value,s:P.value.labels.dataLabels.suffix,r:F.value.legend.roundingValue}),{datapoint:e,index:t}),i=isNaN(e.value/G.value)||H.value.includes(e.id)?`-`:n({v:e.value/G.value*100,s:`%`,r:F.value.legend.roundingPercentage}),a=En({showVal:F.value.legend.showValue,showPercentage:F.value.legend.showPercentage,val:r,percentage:i});return{...e,proportion:(e.value||0)/Gt.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0),opacity:H.value.includes(e.id)?.5:1,shape:e.shape||`circle`,segregate:()=>U(e),isSegregated:H.value.includes(e.id),display:`${e.name}${F.value.legend.showPercentage||F.value.legend.showValue?`: `:``}${a}`}})),On=l(()=>({cy:`galaxy-div-legend`,backgroundColor:F.value.legend.backgroundColor,color:F.value.legend.color,fontSize:F.value.legend.fontSize,paddingBottom:12,fontWeight:F.value.legend.bold?`bold`:``})),Y=l(()=>({head:K.value.map(e=>({name:e.name,color:e.color})),body:K.value.map(e=>e.value)}));function kn(e=null){Ue(()=>{let t=Y.value.head.map((e,t)=>[[e.name],[Y.value.body[t]],[isNaN(Y.value.body[t]/G.value)?`-`:Y.value.body[t]/G.value*100]]),n=[[F.value.title.text],[F.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:F.value.title.text||`vue-ui-galaxy`})})}let X=l(()=>{let e=[`__SUM__`,n({p:P.value.labels.dataLabels.prefix,v:G.value,s:P.value.labels.dataLabels.suffix,r:M.value.table.td.roundingValue}),`100%`],t=Y.value.head.map((e,t)=>{let r=n({p:P.value.labels.dataLabels.prefix,v:Y.value.body[t],s:P.value.labels.dataLabels.suffix,r:M.value.table.td.roundingValue});return[{color:e.color,name:e.name},r,isNaN(Y.value.body[t]/G.value)?`-`:n({v:Y.value.body[t]/G.value*100,s:`%`,r:M.value.table.td.roundingPercentage})]}),r={th:{backgroundColor:M.value.table.th.backgroundColor,color:M.value.table.th.color,outline:M.value.table.th.outline},td:{backgroundColor:M.value.table.td.backgroundColor,color:M.value.table.td.color,outline:M.value.table.td.outline},breakpoint:M.value.table.responsiveBreakpoint};return{colNames:[M.value.table.columnNames.series,M.value.table.columnNames.value,M.value.table.columnNames.percentage],head:e,body:t,config:r}});function An(){B.value.showTable=!B.value.showTable}function jn(){B.value.showTooltip=!B.value.showTooltip}let Z=b(!1);function Mn(){Z.value=!Z.value}let Nn=_e(D,()=>F.value.title.text),Q=l(()=>xe({config:M,style:F,mutableConfig:B,dialog:St,accordion:_t,isFullscreen:q,parent:D,maxWidth:500,isCursorPointer:I}));Je(()=>B.value.showTable,e=>be(e,M,Ft));function Pn(){B.value.showTable=!1,It.value&&It.value.setTableIconState(!1)}let Fn=l(()=>J.value.map(e=>({...e,name:e.display}))),In=l(()=>F.value.backgroundColor),Ln=l(()=>F.value.legend),Rn=l(()=>F.value.title),{isCallbackImaging:zn,isCallbackSvg:Bn,generateSvg:Vn,onGenerateImage:Hn}=ye({svg:L,title:Rn,legend:Ln,legendItems:Fn,backgroundColor:In,getSvgCallback:()=>M.value.userOptions.callbacks.svg,generateImage:en});async function Un(){cn(`copyAlt`,{config:M.value,dataset:W.value}),M.value.userOptions.callbacks.altCopy?await Promise.resolve(M.value.userOptions.callbacks.altCopy({config:M.value,dataset:W.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Wn(){j.value=null,Lt.value=null,Bt.value=!0}function Gn(){Sn(),Bt.value=!1}function Kn(e){if(!L.value||Z.value||document.activeElement!==L.value||!$.value.length)return;let t=e.key===`ArrowLeft`||e.key===`ArrowUp`,n=e.key===`ArrowRight`||e.key===`ArrowDown`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){Sn();return}if(r){if(j.value===null)return;let e=$.value[j.value];if(!e)return;Tn(e.datapoint);return}let a=j.value;a===null||a<0||a>=$.value.length?a=n?0:$.value.length-1:(a+=n?1:-1,a<0&&(a=$.value.length-1),a>=$.value.length&&(a=0));let o=$.value[a];o&&Dn({datapoint:o.datapoint,seriesIndex:o.datapoint.seriesIndex,show:!0,triggerMode:`keyboard`,flatIndex:a})}let qn=l(()=>({headers:X.value?.colNames??[],rows:X.value?.body??[]})),$=l(()=>K.value.map((e,t)=>({datapoint:e,index:t})));return he({getData:mn,getImage:Nn,generatePdf:$t,generateCsv:kn,generateImage:en,generateSvg:Vn,hideSeries:pn,showSeries:fn,toggleTable:An,toggleTooltip:jn,toggleAnnotator:Mn,toggleFullscreen:bn,copyAlt:Un}),(e,t)=>(y(),f(`div`,{ref_key:`galaxyChart`,ref:D,class:g(`vue-data-ui-component vue-ui-galaxy ${q.value?`vue-data-ui-wrapper-fullscreen`:``} ${M.value.useCssAnimation?``:`vue-ui-dna`} ${C(Wt)?`loading`:``}`),style:v(`font-family:${M.value.style.fontFamily};width:100%; text-align:center;${F.value.title.text?``:`padding-top:36px`};background:${F.value.backgroundColor}`),id:`galaxy_${E.value}`,onMouseenter:t[2]||=()=>C(Yt)(!0),onMouseleave:t[3]||=()=>{C(Yt)(!1),Bt.value||Sn()}},[p(`div`,{id:`chart-instructions-${E.value}`,class:`sr-only`},[p(`p`,null,S(M.value.a11y.translations.keyboardNavigation),1)],8,Ze),qn.value?.rows?.length?(y(),u(je,{key:0,uid:E.value,head:qn.value.headers,body:qn.value.rows,notice:M.value.a11y.translations.tableAvailable,caption:M.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):d(``,!0),M.value.userOptions.buttons.annotator?(y(),u(C(yt),{key:1,svgRef:C(L),backgroundColor:F.value.backgroundColor,color:F.value.color,active:Z.value,isCursorPointer:I.value,palette:M.value.userOptions.annotatorPalette,onClose:Mn},ze({_:2},[Ge(C(Ce),t=>({name:t,fn:w(n=>[x(e.$slots,t,_(h(C(Se)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):d(``,!0),tn.value?(y(),f(`div`,{key:2,ref_key:`noTitle`,ref:Mt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):d(``,!0),F.value.title.text?(y(),f(`div`,{key:3,ref_key:`chartTitle`,ref:kt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),u(ve,{key:`title_${Et.value}`,config:{title:{cy:`galaxy-div-title`,...F.value.title},subtitle:{cy:`galaxy-div-subtitle`,...F.value.title.subtitle}}},null,8,[`config`]))],512)):d(``,!0),p(`div`,{id:`legend-top-${E.value}`},null,8,Qe),M.value.userOptions.show&&Vt.value&&(C(Xt)||C(Jt))?(y(),u(C(bt),{ref_key:`userOptionsRef`,ref:It,key:`user_option_${Tt.value}`,backgroundColor:F.value.backgroundColor,color:F.value.color,isPrinting:C(R),isImaging:C(z),uid:E.value,hasTooltip:M.value.userOptions.buttons.tooltip&&F.value.tooltip.show,hasPdf:M.value.userOptions.buttons.pdf,hasXls:M.value.userOptions.buttons.csv,hasImg:M.value.userOptions.buttons.img,hasSvg:M.value.userOptions.buttons.svg,hasTable:M.value.userOptions.buttons.table,hasFullscreen:M.value.userOptions.buttons.fullscreen,hasAltCopy:M.value.userOptions.buttons.altCopy,isTooltip:B.value.showTooltip,isFullscreen:q.value,titles:{...M.value.userOptions.buttonTitles},chartElement:D.value,position:M.value.userOptions.position,hasAnnotator:M.value.userOptions.buttons.annotator,isAnnotation:Z.value,callbacks:M.value.userOptions.callbacks,printScale:M.value.userOptions.print.scale,tableDialog:M.value.table.useDialog,isCursorPointer:I.value,onToggleFullscreen:bn,onGeneratePdf:C($t),onGenerateCsv:kn,onGenerateImage:C(Hn),onGenerateSvg:C(Vn),onToggleTable:An,onToggleTooltip:jn,onToggleAnnotator:Mn,onCopyAlt:Un,style:v({visibility:C(Xt)?C(Jt)?`visible`:`hidden`:`visible`})},ze({_:2},[Ge(C(we)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:w(n=>[x(e.$slots,t,_(h(C(Te)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):d(``,!0),p(`div`,$e,[(y(),f(`svg`,{ref_key:`svgRef`,ref:L,xmlns:C(oe),"aria-describedby":`chart-instructions-${E.value}`,class:g({"vue-data-ui-fullscreen--on":q.value,"vue-data-ui-fulscreen--off":!q.value}),viewBox:V.value.viewBox,style:v(`max-width:100%; overflow: visible; background:transparent;color:${F.value.color}`),tabindex:`0`,onFocus:Wn,onBlur:Gn,onKeydown:Kn},[Ve(C(xt)),x(e.$slots,`svg-underlayer`,{svg:{...V.value,isPrintingImg:C(R)||C(z)||C(zn),isPrintingSvg:C(Bn)}},void 0,!0),e.$slots[`chart-background`]?(y(),f(`foreignObject`,{key:0,x:0,y:0,width:V.value.width,height:V.value.height,style:{pointerEvents:`none`}},[x(e.$slots,`chart-background`,{},void 0,!0)],8,tt)):d(``,!0),p(`defs`,null,[p(`filter`,{id:`blur_${E.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[p(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/N.value.gradient.intensity},null,8,rt)],8,nt)]),(y(!0),f(Le,null,Ge(K.value,e=>(y(),f(`g`,{key:`dp_${e.id}`},[e.value?(y(),f(`path`,{key:0,d:e.path,fill:`none`,stroke:F.value.backgroundColor,"stroke-width":yn(e).border,class:g({"vue-data-ui-transition":C(Ht)}),"stroke-linecap":`round`},null,10,it)):d(``,!0),e.value?(y(),f(`path`,{key:1,d:e.path,fill:`none`,stroke:e.color,"stroke-width":yn(e).path,"stroke-linecap":`round`,class:g({"vue-data-ui-transition":C(Ht),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&M.value.useBlurOnHover})},null,10,at)):d(``,!0),e.value&&N.value.gradient.show?(y(),f(`g`,{key:2,filter:`url(#blur_${E.value})`},[p(`path`,{d:e.path,fill:`none`,stroke:N.value.gradient.color,"stroke-width":yn(e).blur,"stroke-linecap":`round`,class:g({"vue-ui-galaxy-gradient":!0,"vue-data-ui-transition":C(Ht),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&M.value.useBlurOnHover})},null,10,st)],8,ot)):d(``,!0)]))),128)),(y(!0),f(Le,null,Ge(K.value,(e,t)=>(y(),f(`g`,null,[e.value?(y(),f(`path`,{key:0,"data-a11y-serie-id":e.id,d:e.path,fill:`none`,stroke:`transparent`,"stroke-width":N.value.strokeWidth+N.value.borderWidth,"stroke-linecap":`round`,"aria-label":`${e.name}: ${C(n)({p:P.value.labels.dataLabels.prefix,v:e.value,s:P.value.labels.dataLabels.suffix,r:F.value.tooltip.roundingValue})}`,onMouseenter:n=>Dn({datapoint:e,relativeIndex:t,seriesIndex:e.seriesIndex,show:!0,triggerMode:`pointer`,flatIndex:t}),onMouseleave:t=>wn(e),onClick:t=>Tn(e)},null,40,ct)):d(``,!0)]))),256)),x(e.$slots,`svg`,{svg:{...V.value,isPrintingImg:C(R)||C(z)||C(zn),isPrintingSvg:C(Bn)}},void 0,!0)],46,et)),e.$slots.hint?(y(),f(`div`,lt,[x(e.$slots,`hint`,_(h({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Bt.value})),void 0,!0)])):d(``,!0)]),e.$slots.watermark?(y(),f(`div`,ut,[x(e.$slots,`watermark`,_(h({isPrinting:C(R)||C(z)||C(zn)||C(Bn)})),void 0,!0)])):d(``,!0),p(`div`,{id:`legend-bottom-${E.value}`},null,8,dt),Pt.value&&(F.value.legend.show||e.$slots.legend)?(y(),u(Re,{key:6,to:F.value.legend.position===`top`?`#legend-top-${E.value}`:`#legend-bottom-${E.value}`},[p(`div`,{ref_key:`chartLegend`,ref:At},[x(e.$slots,`legend`,{legend:J.value},()=>[F.value.legend.show?(y(),u(Fe,{key:`legend_${Ot.value}`,legendSet:J.value,config:On.value,onClickMarker:t[0]||=({legend:e})=>U(e)},{item:w(({legend:e,index:t})=>[C(Wt)?d(``,!0):(y(),f(`div`,{key:0,onClick:t=>U(e),style:v(`opacity:${H.value.includes(e.id)?.5:1}`)},S(e.display),13,ft))]),legendToggle:w(()=>[J.value.length>2&&F.value.legend.selectAllToggle.show&&!C(Wt)?(y(),u(Ae,{key:0,backgroundColor:F.value.legend.selectAllToggle.backgroundColor,color:F.value.legend.selectAllToggle.color,fontSize:F.value.legend.fontSize,checked:H.value.length>0,onToggle:un},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`])):d(``,!0)]),_:1},8,[`legendSet`,`config`])):d(``,!0)],!0)],512)],8,[`to`])):d(``,!0),e.$slots.source?(y(),f(`div`,{key:7,ref_key:`source`,ref:jt,dir:`auto`},[x(e.$slots,`source`,{},void 0,!0)],512)):d(``,!0),Ve(C(ht),{teleportTo:F.value.tooltip.teleportTo,show:B.value.showTooltip&&O.value,backgroundColor:F.value.tooltip.backgroundColor,color:F.value.tooltip.color,borderRadius:F.value.tooltip.borderRadius,borderColor:F.value.tooltip.borderColor,borderWidth:F.value.tooltip.borderWidth,fontSize:F.value.tooltip.fontSize,backgroundOpacity:F.value.tooltip.backgroundOpacity,position:F.value.tooltip.position,offsetX:F.value.tooltip.offsetX,offsetY:F.value.tooltip.offsetY,parent:D.value,content:wt.value,isFullscreen:q.value,isCustom:C(i)(F.value.tooltip.customFormat),smooth:F.value.tooltip.smooth,backdropFilter:F.value.tooltip.backdropFilter,smoothForce:F.value.tooltip.smoothForce,smoothSnapThreshold:F.value.tooltip.smoothSnapThreshold,isA11yMode:zt.value===`keyboard`,a11yPosition:Rt.value},{"tooltip-before":w(()=>[x(e.$slots,`tooltip-before`,_(h({...xn.value})),void 0,!0)]),tooltip:w(()=>[x(e.$slots,`tooltip`,_(h({...xn.value})),void 0,!0)]),"tooltip-after":w(()=>[x(e.$slots,`tooltip-after`,_(h({...xn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Vt.value&&M.value.userOptions.buttons.table?(y(),u(Ke(Q.value.component),He({key:8},Q.value.props,{ref_key:`tableUnit`,ref:Ft,onClose:Pn}),ze({content:w(()=>[(y(),u(C(vt),{key:`table_${Dt.value}`,colNames:X.value.colNames,head:X.value.head,body:X.value.body,config:X.value.config,title:M.value.table.useDialog?``:Q.value.title,withCloseButton:!M.value.table.useDialog,isCursorPointer:I.value,onClose:Pn},{th:w(({th:e})=>[e===`__SUM__`?(y(),f(`div`,pt,[Ve(C(gt),{name:`sigma`,stroke:X.value.config.th.color,size:16},null,8,[`stroke`])])):(y(),f(`div`,mt,S(e),1))]),td:w(({td:e})=>[Be(S(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[M.value.table.useDialog?{name:`title`,fn:w(()=>[Be(S(Q.value.title),1)]),key:`0`}:void 0,M.value.table.useDialog?{name:`actions`,fn:w(()=>[p(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>kn(M.value.userOptions.callbacks.csv),style:v({cursor:I.value?`pointer`:`default`})},[Ve(C(gt),{name:`fileCsv`,stroke:Q.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):d(``,!0),x(e.$slots,`skeleton`,{},()=>[C(Wt)?(y(),u(fe,{key:0})):d(``,!0)],!0)],46,Xe))}},[[`__scopeId`,`data-v-2baf78c5`]]);export{Ye as n,ht as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Ht as a,Kt as o,S as ee,X as s,Zt as c,at as te,i as ne,in as re,nt as ie,pt as ae,t as oe,w as se,yt as ce,z as le,zt as ue}from"./lib-rPeBMZrn.js";import{n as de,t as fe}from"./BaseScanner-8NdoBs7B.js";import{n as pe,t as me}from"./useHints-C-TwxM0Y.js";import{t as he}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ge}from"./resolveChartConfig-CIhClE5R.js";import{t as _e}from"./chartImage-DPGnEuYM.js";import{n as ve}from"./Title-BliHuXfT.js";import{t as ye}from"./useChartExport-BZts4KFb.js";import{n as be,t as xe}from"./tableIntegration-CNoJ1CIY.js";import{n as Se,t as Ce}from"./annotationSlots-BRR85CqJ.js";import{n as we,t as Te}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ee}from"./usePrinter-DVf3YcG5.js";import{t as De}from"./useTransitions-ChGGrtrv.js";import{c as Oe}from"./canvas-lib-22VpOI4_.js";import{t as ke}from"./useResponsive-CENUxfEL.js";import{t as Ae}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as je}from"./A11yDataTable-DWNlWXzs.js";import{t as Me}from"./useUserOptionState-CXlFnwPv.js";import{t as Ne}from"./useChartAccessibility-DOMuYJfm.js";import{t as Pe}from"./labelUtils-CdtU-yB_.js";import{t as Fe}from"./Legend-DM0ClX3D.js";import{t as Ie}from"./vue_ui_galaxy-B94QInxc.js";import{Fragment as Le,Teleport as Re,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createSlots as ze,createTextVNode as Be,createVNode as Ve,defineAsyncComponent as m,guardReactiveProps as h,mergeProps as He,nextTick as Ue,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onMounted as We,openBlock as y,ref as b,renderList as Ge,renderSlot as x,resolveDynamicComponent as Ke,toDisplayString as S,toRefs as qe,unref as C,watch as Je,withCtx as w}from"vue";var Ye=/* @__PURE__ */ e({default:()=>ht}),Xe=[`id`],Ze=[`id`],Qe=[`id`],$e={style:{position:`relative`}},et=[`xmlns`,`aria-describedby`,`viewBox`],tt=[`width`,`height`],nt=[`id`],rt=[`stdDeviation`],it=[`d`,`stroke`,`stroke-width`],at=[`d`,`stroke`,`stroke-width`],ot=[`filter`],st=[`d`,`stroke`,`stroke-width`],ct=[`data-a11y-serie-id`,`d`,`stroke-width`,`aria-label`,`onMouseenter`,`onMouseleave`,`onClick`],lt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},ut={key:5,class:`vue-data-ui-watermark`},dt=[`id`],ft=[`onClick`],pt={key:0},mt={key:1},ht=/*#__PURE__*/ he({__name:`vue-ui-galaxy`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:he,emit:Ye}){let ht=m(()=>import(`./Tooltip-C1q0Qoh7.js`)),gt=m(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),_t=m(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),vt=m(()=>import(`./DataTable-0Vv-aGHD.js`)),yt=m(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),bt=m(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),xt=m(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),St=m(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_galaxy:Ct}=t(),T=e,E=b(s()),D=b(null),O=b(!1),wt=b(``),k=b(null),Tt=b(0),Et=b(0),Dt=b(0),Ot=b(0),kt=b(null),At=b(null),jt=b(null),Mt=b(null),A=b(null),Nt=b(null),Pt=b(!1),Ft=b(null),It=b(null),j=b(null),Lt=b(null),Rt=b({x:0,y:0}),zt=b(`pointer`),Bt=b(!1),Vt=l(()=>!!T.dataset&&T.dataset.length),M=b(Zt()),N=l(()=>M.value.style.chart.layout.arcs),P=l(()=>M.value.style.chart.layout),F=l(()=>M.value.style.chart);pe({config:()=>M.value,dataset:()=>T.dataset,component:`VueUiGalaxy`,rules:[me.singleSeries,me.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let{transitionEnabled:Ht}=De({config:()=>M.value.transitions,dataset:()=>T.dataset}),I=l(()=>M.value.userOptions.useCursorPointer),Ut=l(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},useCssAnimation:!1,style:{chart:{backgroundColor:`#99999930`,legend:{backgroundColor:`transparent`}}}},userConfig:M.value.skeletonConfig??{}})),{loading:Wt,FINAL_DATASET:Gt}=de({...qe(T),FINAL_CONFIG:M,prepareConfig:Zt,callback:()=>{Promise.resolve().then(async()=>{await Ue(),B.value.showTable=M.value.table.show})},skeletonDataset:T.config?.skeletonDataset??[{name:`_`,values:[21],color:`#DBDBDB`},{name:`_`,values:[13],color:`#C4C4C4`},{name:`_`,values:[8],color:`#ADADAD`}],skeletonConfig:re({defaultConfig:M.value,userConfig:Ut.value})});We(()=>{Pt.value=!0,qt()});let Kt=l(()=>M.value.debug);function qt(){if(ue(T.dataset)?te({componentName:`VueUiGalaxy`,type:`dataset`,debug:Kt.value}):Kt.value&&T.dataset.forEach((e,t)=>{ce({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{te({componentName:`VueUiGalaxy`,type:`datasetSerieAttribute`,property:e,index:t})})}),M.value.responsive){let e=Oe(()=>{let{width:e,height:t}=ke({chart:D.value,title:F.value.title.text?kt.value:null,legend:F.value.legend.show?At.value:null,noTitle:Mt.value,source:jt.value});requestAnimationFrame(()=>{rn.value=Math.max(.1,e),an.value=Math.max(.1,t-12)})});A.value&&(Nt.value&&A.value.unobserve(Nt.value),A.value.disconnect()),A.value=new ResizeObserver(e),Nt.value=D.value.parentNode,A.value.observe(Nt.value)}}let{userOptionsVisible:Jt,setUserOptionsVisibility:Yt,keepUserOptionState:Xt}=Me({config:M.value}),{svgRef:L}=Ne({config:F.value.title});function Zt(){return ge(T.config,Ct,Ie)}let Qt=c(T.config);Je(()=>T.config,(e,t)=>{let n=c(e),r=n!==Qt;Qt=n;let i=Zt();r?(M.value=i,Jt.value=!M.value.userOptions.showOnChartHover,qt(),Et.value+=1,Dt.value+=1,Ot.value+=1,B.value.dataLabels.show=P.value.labels.dataLabels.show,B.value.showTable=M.value.table.show,B.value.showTooltip=F.value.tooltip.show):(M.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=M.value.style.chart.tooltip.show)},{deep:!0});let{isPrinting:R,isImaging:z,generatePdf:$t,generateImage:en}=Ee({elementId:`galaxy_${E.value}`,fileName:F.value.title.text||`vue-ui-galaxy`,options:M.value.userOptions.print}),tn=l(()=>M.value.userOptions.show&&!F.value.title.text),nn=l(()=>se(M.value.customPalette)),B=b({dataLabels:{show:P.value.labels.dataLabels.show},showTable:M.value.table.show,showTooltip:F.value.tooltip.show}),rn=b(250),an=b(180),on=b(0),sn=b(0),V=l(()=>({width:rn.value,height:an.value,viewBox:`${on.value} ${sn.value} ${rn.value} ${an.value}`})),cn=Ye,H=b([]);function ln(){cn(`selectLegend`,K.value.map(e=>({name:e.name,color:e.color,value:e.value})))}function un(){H.value.length?H.value=[]:J.value.forEach(e=>{H.value.push(e.id)}),ln()}function U(e){H.value.includes(e.id)?H.value=H.value.filter(t=>t!==e.id):H.value.push(e.id),ln()}function dn(e){return W.value.length?W.value.find(t=>t.name===e)||(Kt.value&&console.warn(`VueUiGalaxy - Series name not found "${e}"`),null):(Kt.value&&console.warn(`VueUiGalaxy - There are no series to show.`),null)}function fn(e){let t=dn(e);t!==null&&H.value.includes(t.id)&&U({id:t.id})}function pn(e){let t=dn(e);t!==null&&(H.value.includes(t.id)||U({id:t.id}))}let W=l(()=>Gt.value.map((e,t)=>({name:e.name,color:ee(e.color)||nn.value[t]||a[t]||a[t%a.length],value:e.values?o(e.values).reduce((e,t)=>e+t,0):0,absoluteValues:o(e.values),id:s()})).sort((e,t)=>t.value-e.value).map((e,t)=>({...e,absoluteIndex:t})));function mn(){return W.value.map(e=>({name:e.name,color:e.color,value:e.value}))}let G=l(()=>W.value.filter(e=>!H.value.includes(e.id)).map(e=>e.value).reduce((e,t)=>e+t,0)),hn=b(190),gn=l(()=>W.value.filter(e=>!H.value.includes(e.id))),_n=l(()=>(N.value.strokeWidth+N.value.borderWidth)/2+(P.value.padding??12)),vn=l(()=>le({maxPoints:hn.value,a:N.value.a??6,b:N.value.b??6,angleStep:N.value.angleStep??.07,startX:V.value.width/2+N.value.offsetX,startY:V.value.height/2+N.value.offsetY,boxWidth:V.value.width,boxHeight:V.value.height,padding:_n.value})),K=l(()=>{let e=[];for(let t=0;t<gn.value.length;t+=1){let n=gn.value[t],r=n.value/G.value*hn.value+(t>0&&e.length?e[t-1].points:0);e.push({points:r,...n,seriesIndex:t,proportion:n.value/G.value,path:vn.value(r)})}return e.filter(e=>!H.value.includes(e.id)).toSorted((e,t)=>t.points-e.points)});function yn(e){let t=Math.min(rn.value,an.value),n=k.value===e.id&&N.value.hoverEffect.show?N.value.hoverEffect.multiplicator:1,r=(N.value.strokeWidth+N.value.borderWidth)*n,i=N.value.strokeWidth*n,a=N.value.strokeWidth/2*n;return{border:r/180*t,path:i/180*t,blur:a/180*t}}let q=b(!1);function bn(e){q.value=e,Tt.value+=1}let xn=b(null);function Sn(){O.value=!1,k.value=null,j.value=null,Lt.value=null}function Cn(e){if(!L.value||!e)return;let t=L.value.querySelector(`[data-a11y-serie-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();Rt.value={x:n.left+n.width/2,y:n.top+n.height/2}}function wn(e){M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:e,seriesIndex:e.absoluteIndex}),(Lt.value!==e.id||zt.value!==`keyboard`)&&(O.value=!1,k.value=null)}function Tn(e){cn(`selectDatapoint`,e),M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:e,seriesIndex:e.absoluteIndex})}function En({val:e,percentage:t,showVal:n,showPercentage:r}){let i=P.value.labels.dataLabels;return Pe({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function Dn({datapoint:e,_relativeIndex:t,seriesIndex:r,show:a=!1,triggerMode:o=`pointer`,flatIndex:ee=null}){if(M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:e,seriesIndex:e.absoluteIndex}),!B.value.showTooltip)return;zt.value=o,j.value=ee,Lt.value=e.id,xn.value={datapoint:e,seriesIndex:r,series:W.value,config:M.value},O.value=a,k.value=e.id;let s=``,c=F.value.tooltip.customFormat;i(c)&&ae(()=>c({seriesIndex:r,datapoint:e,series:W.value,config:M.value}))?wt.value=c({seriesIndex:r,datapoint:e,series:W.value,config:M.value}):(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${e.color}"/></svg>`,s+=`<b>${En({showVal:F.value.tooltip.showValue,showPercentage:F.value.tooltip.showPercentage,val:ne(P.value.labels.dataLabels.formatter,e.value,n({p:P.value.labels.dataLabels.prefix,v:e.value,s:P.value.labels.dataLabels.suffix,r:F.value.tooltip.roundingValue}),{datapoint:e,seriesIndex:r}),percentage:n({v:e.proportion*100,s:`%`,r:F.value.tooltip.roundingPercentage})})}</b></div>`,wt.value=`<div>${s}</div>`),o===`keyboard`&&Ue(()=>{Cn(e.id)})}let J=l(()=>W.value.map((e,t)=>{let r=ne(P.value.labels.dataLabels.formatter,e.value,n({p:P.value.labels.dataLabels.prefix,v:e.value,s:P.value.labels.dataLabels.suffix,r:F.value.legend.roundingValue}),{datapoint:e,index:t}),i=isNaN(e.value/G.value)||H.value.includes(e.id)?`-`:n({v:e.value/G.value*100,s:`%`,r:F.value.legend.roundingPercentage}),a=En({showVal:F.value.legend.showValue,showPercentage:F.value.legend.showPercentage,val:r,percentage:i});return{...e,proportion:(e.value||0)/Gt.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0),opacity:H.value.includes(e.id)?.5:1,shape:e.shape||`circle`,segregate:()=>U(e),isSegregated:H.value.includes(e.id),display:`${e.name}${F.value.legend.showPercentage||F.value.legend.showValue?`: `:``}${a}`}})),On=l(()=>({cy:`galaxy-div-legend`,backgroundColor:F.value.legend.backgroundColor,color:F.value.legend.color,fontSize:F.value.legend.fontSize,paddingBottom:12,fontWeight:F.value.legend.bold?`bold`:``})),Y=l(()=>({head:K.value.map(e=>({name:e.name,color:e.color})),body:K.value.map(e=>e.value)}));function kn(e=null){Ue(()=>{let t=Y.value.head.map((e,t)=>[[e.name],[Y.value.body[t]],[isNaN(Y.value.body[t]/G.value)?`-`:Y.value.body[t]/G.value*100]]),n=[[F.value.title.text],[F.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:F.value.title.text||`vue-ui-galaxy`})})}let X=l(()=>{let e=[`__SUM__`,n({p:P.value.labels.dataLabels.prefix,v:G.value,s:P.value.labels.dataLabels.suffix,r:M.value.table.td.roundingValue}),`100%`],t=Y.value.head.map((e,t)=>{let r=n({p:P.value.labels.dataLabels.prefix,v:Y.value.body[t],s:P.value.labels.dataLabels.suffix,r:M.value.table.td.roundingValue});return[{color:e.color,name:e.name},r,isNaN(Y.value.body[t]/G.value)?`-`:n({v:Y.value.body[t]/G.value*100,s:`%`,r:M.value.table.td.roundingPercentage})]}),r={th:{backgroundColor:M.value.table.th.backgroundColor,color:M.value.table.th.color,outline:M.value.table.th.outline},td:{backgroundColor:M.value.table.td.backgroundColor,color:M.value.table.td.color,outline:M.value.table.td.outline},breakpoint:M.value.table.responsiveBreakpoint};return{colNames:[M.value.table.columnNames.series,M.value.table.columnNames.value,M.value.table.columnNames.percentage],head:e,body:t,config:r}});function An(){B.value.showTable=!B.value.showTable}function jn(){B.value.showTooltip=!B.value.showTooltip}let Z=b(!1);function Mn(){Z.value=!Z.value}let Nn=_e(D,()=>F.value.title.text),Q=l(()=>xe({config:M,style:F,mutableConfig:B,dialog:St,accordion:_t,isFullscreen:q,parent:D,maxWidth:500,isCursorPointer:I}));Je(()=>B.value.showTable,e=>be(e,M,Ft));function Pn(){B.value.showTable=!1,It.value&&It.value.setTableIconState(!1)}let Fn=l(()=>J.value.map(e=>({...e,name:e.display}))),In=l(()=>F.value.backgroundColor),Ln=l(()=>F.value.legend),Rn=l(()=>F.value.title),{isCallbackImaging:zn,isCallbackSvg:Bn,generateSvg:Vn,onGenerateImage:Hn}=ye({svg:L,title:Rn,legend:Ln,legendItems:Fn,backgroundColor:In,getSvgCallback:()=>M.value.userOptions.callbacks.svg,generateImage:en});async function Un(){cn(`copyAlt`,{config:M.value,dataset:W.value}),M.value.userOptions.callbacks.altCopy?await Promise.resolve(M.value.userOptions.callbacks.altCopy({config:M.value,dataset:W.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Wn(){j.value=null,Lt.value=null,Bt.value=!0}function Gn(){Sn(),Bt.value=!1}function Kn(e){if(!L.value||Z.value||document.activeElement!==L.value||!$.value.length)return;let t=e.key===`ArrowLeft`||e.key===`ArrowUp`,n=e.key===`ArrowRight`||e.key===`ArrowDown`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){Sn();return}if(r){if(j.value===null)return;let e=$.value[j.value];if(!e)return;Tn(e.datapoint);return}let a=j.value;a===null||a<0||a>=$.value.length?a=n?0:$.value.length-1:(a+=n?1:-1,a<0&&(a=$.value.length-1),a>=$.value.length&&(a=0));let o=$.value[a];o&&Dn({datapoint:o.datapoint,seriesIndex:o.datapoint.seriesIndex,show:!0,triggerMode:`keyboard`,flatIndex:a})}let qn=l(()=>({headers:X.value?.colNames??[],rows:X.value?.body??[]})),$=l(()=>K.value.map((e,t)=>({datapoint:e,index:t})));return he({getData:mn,getImage:Nn,generatePdf:$t,generateCsv:kn,generateImage:en,generateSvg:Vn,hideSeries:pn,showSeries:fn,toggleTable:An,toggleTooltip:jn,toggleAnnotator:Mn,toggleFullscreen:bn,copyAlt:Un}),(e,t)=>(y(),f(`div`,{ref_key:`galaxyChart`,ref:D,class:g(`vue-data-ui-component vue-ui-galaxy ${q.value?`vue-data-ui-wrapper-fullscreen`:``} ${M.value.useCssAnimation?``:`vue-ui-dna`} ${C(Wt)?`loading`:``}`),style:v(`font-family:${M.value.style.fontFamily};width:100%; text-align:center;${F.value.title.text?``:`padding-top:36px`};background:${F.value.backgroundColor}`),id:`galaxy_${E.value}`,onMouseenter:t[2]||=()=>C(Yt)(!0),onMouseleave:t[3]||=()=>{C(Yt)(!1),Bt.value||Sn()}},[p(`div`,{id:`chart-instructions-${E.value}`,class:`sr-only`},[p(`p`,null,S(M.value.a11y.translations.keyboardNavigation),1)],8,Ze),qn.value?.rows?.length?(y(),u(je,{key:0,uid:E.value,head:qn.value.headers,body:qn.value.rows,notice:M.value.a11y.translations.tableAvailable,caption:M.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):d(``,!0),M.value.userOptions.buttons.annotator?(y(),u(C(yt),{key:1,svgRef:C(L),backgroundColor:F.value.backgroundColor,color:F.value.color,active:Z.value,isCursorPointer:I.value,palette:M.value.userOptions.annotatorPalette,onClose:Mn},ze({_:2},[Ge(C(Ce),t=>({name:t,fn:w(n=>[x(e.$slots,t,_(h(C(Se)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):d(``,!0),tn.value?(y(),f(`div`,{key:2,ref_key:`noTitle`,ref:Mt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):d(``,!0),F.value.title.text?(y(),f(`div`,{key:3,ref_key:`chartTitle`,ref:kt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),u(ve,{key:`title_${Et.value}`,config:{title:{cy:`galaxy-div-title`,...F.value.title},subtitle:{cy:`galaxy-div-subtitle`,...F.value.title.subtitle}}},null,8,[`config`]))],512)):d(``,!0),p(`div`,{id:`legend-top-${E.value}`},null,8,Qe),M.value.userOptions.show&&Vt.value&&(C(Xt)||C(Jt))?(y(),u(C(bt),{ref_key:`userOptionsRef`,ref:It,key:`user_option_${Tt.value}`,backgroundColor:F.value.backgroundColor,color:F.value.color,isPrinting:C(R),isImaging:C(z),uid:E.value,hasTooltip:M.value.userOptions.buttons.tooltip&&F.value.tooltip.show,hasPdf:M.value.userOptions.buttons.pdf,hasXls:M.value.userOptions.buttons.csv,hasImg:M.value.userOptions.buttons.img,hasSvg:M.value.userOptions.buttons.svg,hasTable:M.value.userOptions.buttons.table,hasFullscreen:M.value.userOptions.buttons.fullscreen,hasAltCopy:M.value.userOptions.buttons.altCopy,isTooltip:B.value.showTooltip,isFullscreen:q.value,titles:{...M.value.userOptions.buttonTitles},chartElement:D.value,position:M.value.userOptions.position,hasAnnotator:M.value.userOptions.buttons.annotator,isAnnotation:Z.value,callbacks:M.value.userOptions.callbacks,printScale:M.value.userOptions.print.scale,tableDialog:M.value.table.useDialog,isCursorPointer:I.value,onToggleFullscreen:bn,onGeneratePdf:C($t),onGenerateCsv:kn,onGenerateImage:C(Hn),onGenerateSvg:C(Vn),onToggleTable:An,onToggleTooltip:jn,onToggleAnnotator:Mn,onCopyAlt:Un,style:v({visibility:C(Xt)?C(Jt)?`visible`:`hidden`:`visible`})},ze({_:2},[Ge(C(we)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:w(n=>[x(e.$slots,t,_(h(C(Te)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):d(``,!0),p(`div`,$e,[(y(),f(`svg`,{ref_key:`svgRef`,ref:L,xmlns:C(oe),"aria-describedby":`chart-instructions-${E.value}`,class:g({"vue-data-ui-fullscreen--on":q.value,"vue-data-ui-fulscreen--off":!q.value}),viewBox:V.value.viewBox,style:v(`max-width:100%; overflow: visible; background:transparent;color:${F.value.color}`),tabindex:`0`,onFocus:Wn,onBlur:Gn,onKeydown:Kn},[Ve(C(xt)),x(e.$slots,`svg-underlayer`,{svg:{...V.value,isPrintingImg:C(R)||C(z)||C(zn),isPrintingSvg:C(Bn)}},void 0,!0),e.$slots[`chart-background`]?(y(),f(`foreignObject`,{key:0,x:0,y:0,width:V.value.width,height:V.value.height,style:{pointerEvents:`none`}},[x(e.$slots,`chart-background`,{},void 0,!0)],8,tt)):d(``,!0),p(`defs`,null,[p(`filter`,{id:`blur_${E.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[p(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/N.value.gradient.intensity},null,8,rt)],8,nt)]),(y(!0),f(Le,null,Ge(K.value,e=>(y(),f(`g`,{key:`dp_${e.id}`},[e.value?(y(),f(`path`,{key:0,d:e.path,fill:`none`,stroke:F.value.backgroundColor,"stroke-width":yn(e).border,class:g({"vue-data-ui-transition":C(Ht)}),"stroke-linecap":`round`},null,10,it)):d(``,!0),e.value?(y(),f(`path`,{key:1,d:e.path,fill:`none`,stroke:e.color,"stroke-width":yn(e).path,"stroke-linecap":`round`,class:g({"vue-data-ui-transition":C(Ht),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&M.value.useBlurOnHover})},null,10,at)):d(``,!0),e.value&&N.value.gradient.show?(y(),f(`g`,{key:2,filter:`url(#blur_${E.value})`},[p(`path`,{d:e.path,fill:`none`,stroke:N.value.gradient.color,"stroke-width":yn(e).blur,"stroke-linecap":`round`,class:g({"vue-ui-galaxy-gradient":!0,"vue-data-ui-transition":C(Ht),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&M.value.useBlurOnHover})},null,10,st)],8,ot)):d(``,!0)]))),128)),(y(!0),f(Le,null,Ge(K.value,(e,t)=>(y(),f(`g`,null,[e.value?(y(),f(`path`,{key:0,"data-a11y-serie-id":e.id,d:e.path,fill:`none`,stroke:`transparent`,"stroke-width":N.value.strokeWidth+N.value.borderWidth,"stroke-linecap":`round`,"aria-label":`${e.name}: ${C(n)({p:P.value.labels.dataLabels.prefix,v:e.value,s:P.value.labels.dataLabels.suffix,r:F.value.tooltip.roundingValue})}`,onMouseenter:n=>Dn({datapoint:e,relativeIndex:t,seriesIndex:e.seriesIndex,show:!0,triggerMode:`pointer`,flatIndex:t}),onMouseleave:t=>wn(e),onClick:t=>Tn(e)},null,40,ct)):d(``,!0)]))),256)),x(e.$slots,`svg`,{svg:{...V.value,isPrintingImg:C(R)||C(z)||C(zn),isPrintingSvg:C(Bn)}},void 0,!0)],46,et)),e.$slots.hint?(y(),f(`div`,lt,[x(e.$slots,`hint`,_(h({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Bt.value})),void 0,!0)])):d(``,!0)]),e.$slots.watermark?(y(),f(`div`,ut,[x(e.$slots,`watermark`,_(h({isPrinting:C(R)||C(z)||C(zn)||C(Bn)})),void 0,!0)])):d(``,!0),p(`div`,{id:`legend-bottom-${E.value}`},null,8,dt),Pt.value&&(F.value.legend.show||e.$slots.legend)?(y(),u(Re,{key:6,to:F.value.legend.position===`top`?`#legend-top-${E.value}`:`#legend-bottom-${E.value}`},[p(`div`,{ref_key:`chartLegend`,ref:At},[x(e.$slots,`legend`,{legend:J.value},()=>[F.value.legend.show?(y(),u(Fe,{key:`legend_${Ot.value}`,legendSet:J.value,config:On.value,onClickMarker:t[0]||=({legend:e})=>U(e)},{item:w(({legend:e,index:t})=>[C(Wt)?d(``,!0):(y(),f(`div`,{key:0,onClick:t=>U(e),style:v(`opacity:${H.value.includes(e.id)?.5:1}`)},S(e.display),13,ft))]),legendToggle:w(()=>[J.value.length>2&&F.value.legend.selectAllToggle.show&&!C(Wt)?(y(),u(Ae,{key:0,backgroundColor:F.value.legend.selectAllToggle.backgroundColor,color:F.value.legend.selectAllToggle.color,fontSize:F.value.legend.fontSize,checked:H.value.length>0,onToggle:un},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`])):d(``,!0)]),_:1},8,[`legendSet`,`config`])):d(``,!0)],!0)],512)],8,[`to`])):d(``,!0),e.$slots.source?(y(),f(`div`,{key:7,ref_key:`source`,ref:jt,dir:`auto`},[x(e.$slots,`source`,{},void 0,!0)],512)):d(``,!0),Ve(C(ht),{teleportTo:F.value.tooltip.teleportTo,show:B.value.showTooltip&&O.value,backgroundColor:F.value.tooltip.backgroundColor,color:F.value.tooltip.color,borderRadius:F.value.tooltip.borderRadius,borderColor:F.value.tooltip.borderColor,borderWidth:F.value.tooltip.borderWidth,fontSize:F.value.tooltip.fontSize,backgroundOpacity:F.value.tooltip.backgroundOpacity,position:F.value.tooltip.position,offsetX:F.value.tooltip.offsetX,offsetY:F.value.tooltip.offsetY,parent:D.value,content:wt.value,isFullscreen:q.value,isCustom:C(i)(F.value.tooltip.customFormat),smooth:F.value.tooltip.smooth,backdropFilter:F.value.tooltip.backdropFilter,smoothForce:F.value.tooltip.smoothForce,smoothSnapThreshold:F.value.tooltip.smoothSnapThreshold,isA11yMode:zt.value===`keyboard`,a11yPosition:Rt.value},{"tooltip-before":w(()=>[x(e.$slots,`tooltip-before`,_(h({...xn.value})),void 0,!0)]),tooltip:w(()=>[x(e.$slots,`tooltip`,_(h({...xn.value})),void 0,!0)]),"tooltip-after":w(()=>[x(e.$slots,`tooltip-after`,_(h({...xn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Vt.value&&M.value.userOptions.buttons.table?(y(),u(Ke(Q.value.component),He({key:8},Q.value.props,{ref_key:`tableUnit`,ref:Ft,onClose:Pn}),ze({content:w(()=>[(y(),u(C(vt),{key:`table_${Dt.value}`,colNames:X.value.colNames,head:X.value.head,body:X.value.body,config:X.value.config,title:M.value.table.useDialog?``:Q.value.title,withCloseButton:!M.value.table.useDialog,isCursorPointer:I.value,onClose:Pn},{th:w(({th:e})=>[e===`__SUM__`?(y(),f(`div`,pt,[Ve(C(gt),{name:`sigma`,stroke:X.value.config.th.color,size:16},null,8,[`stroke`])])):(y(),f(`div`,mt,S(e),1))]),td:w(({td:e})=>[Be(S(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[M.value.table.useDialog?{name:`title`,fn:w(()=>[Be(S(Q.value.title),1)]),key:`0`}:void 0,M.value.table.useDialog?{name:`actions`,fn:w(()=>[p(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>kn(M.value.userOptions.callbacks.csv),style:v({cursor:I.value?`pointer`:`default`})},[Ve(C(gt),{name:`fileCsv`,stroke:Q.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):d(``,!0),x(e.$slots,`skeleton`,{},()=>[C(Wt)?(y(),u(fe,{key:0})):d(``,!0)],!0)],46,Xe))}},[[`__scopeId`,`data-v-2baf78c5`]]);export{Ye as n,ht as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Bt as r,Ht as i,It as a,J as ee,Jt as o,O as te,S as ne,X as re,at as s,b as ie,f as ae,i as oe,in as se,rn as ce,t as le,w as ue,yt as de,zt as fe}from"./lib-rPeBMZrn.js";import{n as pe,t as me}from"./BaseScanner-8NdoBs7B.js";import{n as he}from"./useHints-C-TwxM0Y.js";import{t as ge}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as _e}from"./resolveChartConfig-CIhClE5R.js";import{t as ve}from"./chartImage-DPGnEuYM.js";import{n as ye}from"./Title-BliHuXfT.js";import{t as be}from"./useChartExport-BZts4KFb.js";import{n as xe,t as Se}from"./annotationSlots-BRR85CqJ.js";import{n as Ce,t as we}from"./userOptionsSlots-DYuo-E5m.js";import{t as Te}from"./usePrinter-DVf3YcG5.js";import{c as Ee}from"./canvas-lib-22VpOI4_.js";import{t as De}from"./useResponsive-CENUxfEL.js";import{t as Oe}from"./DefGrad-DKMq1REY.js";import{t as ke}from"./useUserOptionState-CXlFnwPv.js";import{t as Ae}from"./useChartAccessibility-DOMuYJfm.js";import{t as je}from"./usePrefersMotion-XLHwega2.js";import{t as Me}from"./useAutoSizeLabelsInsideViewbox-AIRF0PlD.js";import{t as Ne}from"./vue_ui_gauge-BJhb6yqE.js";import{Fragment as c,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createSlots as Pe,createVNode as Fe,defineAsyncComponent as Ie,guardReactiveProps as Le,mergeProps as m,nextTick as Re,normalizeClass as ze,normalizeProps as Be,normalizeStyle as Ve,onBeforeUnmount as He,onMounted as Ue,openBlock as h,ref as g,renderList as _,renderSlot as v,shallowRef as We,toDisplayString as y,toRefs as Ge,unref as b,watch as x,withCtx as Ke}from"vue";var qe=/* @__PURE__ */ e({default:()=>Tt}),Je=[`id`],Ye={key:0},Xe=[`xmlns`,`viewBox`],Ze=[`width`,`height`],Qe=[`id`],$e=[`stdDeviation`],et={key:1},tt=[`d`,`fill`,`stroke`],nt=[`d`,`fill`,`stroke`],rt=[`d`,`fill`],it=[`id`,`d`],at=[`fill`,`font-size`,`font-weight`],ot=[`href`,`startOffset`],st=[`text-anchor`,`fill`,`font-size`,`font-weight`,`innerHTML`],ct=[`d`,`filter`],lt=[`stroke`,`stroke-width`],ut=[`stroke`,`stroke-width`],dt=[`stroke`,`stroke-width`],ft=[`stroke`,`stroke-width`],pt={key:8},mt=[`x`,`y`,`text-anchor`,`font-size`,`font-weight`,`fill`],ht=[`x`,`y`,`font-size`,`font-weight`,`fill`],gt={key:0},_t=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],vt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],yt=[`x1`,`y1`,`x2`,`y2`,`stroke-width`,`filter`],bt={key:1},xt=[`d`,`fill`,`stroke`,`stroke-width`],St=[`cx`,`cy`,`fill`,`r`,`stroke-width`,`stroke`],Ct=[`x`,`y`,`font-size`,`fill`],wt={key:4,class:`vue-data-ui-watermark`},Tt=/*#__PURE__*/ ge({__name:`vue-ui-gauge`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`copyAlt`],setup(e,{expose:ge,emit:qe}){let Tt=Ie(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Et=Ie(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Dt=Ie(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),{vue_ui_gauge:Ot}=t(),kt=je(),S=e,At=qe,jt=l(()=>!!S.dataset&&Object.keys(S.dataset).length>0&&S.dataset.series&&S.dataset.series.length),C=g(re()),Mt=g(null),Nt=g(0),w=g(null),Pt=g(null),Ft=g(null),It=g(null),Lt=g(null),Rt=g(0),T=g(Gt()),E=l(()=>T.value.style.chart.layout.segmentSeparators),D=l(()=>T.value.style.chart.layout.segmentNames),O=l(()=>T.value.style.chart.layout.markers),k=l(()=>T.value.style.chart.layout.pointer),A=l(()=>T.value.style.chart.layout),j=l(()=>T.value.style.chart);he({config:()=>T.value,dataset:()=>S.dataset,component:`VueUiGauge`,rules:[{test:e=>e?.series&&e.series?.length>6,message:[`👀 The number of steps is > 6, which can make the chart hard to read and labels overlap. Consider:`,``,`▶️ Using broader steps.`]}]});let zt=l(()=>T.value.userOptions.useCursorPointer),Bt=l(()=>se({defaultConfig:{userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,animation:{use:!1},layout:{markers:{show:!1},segmentSeparators:{stroke:`#6A6A6A`},segmentNames:{show:!1},indicatorArc:{fill:`#6A6A6A50`},pointer:{stroke:`#6A6A6A`,useRatingColor:!0,circle:{stroke:`#6A6A6A`,color:`#6A6A6A`}}},legend:{show:!1}}}},userConfig:T.value.skeletonConfig??{}})),{loading:Vt,FINAL_DATASET:M,manualLoading:N}=pe({...Ge(S),FINAL_CONFIG:T,prepareConfig:Gt,callback:()=>{Promise.resolve().then(async()=>{await Re()})},skeletonDataset:S.config?.skeletonDataset??{value:0,series:[{from:-1,to:0,name:`_`,color:`#A1A1A1`},{from:0,to:1,name:`__`,color:`#CACACA`}]},skeletonConfig:se({defaultConfig:T.value,userConfig:Bt.value})}),{userOptionsVisible:Ht,setUserOptionsVisibility:Ut,keepUserOptionState:Wt}=ke({config:T.value}),{svgRef:P}=Ae({config:j.value.title});x(()=>S.config,e=>{Vt.value||(T.value=Gt()),Ht.value=!T.value.userOptions.showOnChartHover,en(),Rt.value+=1},{deep:!0}),x(()=>S.dataset,e=>{en(),e&&Object.keys(e).length>0&&(N.value=T.value?.loading??!1)},{deep:!0,immediate:!1});function Gt(){return _e(S.config,Ot,Ne)}let{isPrinting:F,isImaging:I,generatePdf:Kt,generateImage:qt}=Te({elementId:`vue-ui-gauge_${C.value}`,fileName:j.value.title.text||`vue-ui-gauge`,options:T.value.userOptions.print}),Jt=l(()=>T.value.userOptions.show&&!j.value.title.text),Yt=l(()=>ue(T.value.customPalette)),L=l(()=>{if(fe(M.value.series||{}))return{value:0,series:[{from:0,to:0}]};let e=[];(M.value.series||[]).forEach(t=>{e.push(t.from||1e-7),e.push(t.to||1e-7)});let t=Math.max(...e);return{...M.value,series:(M.value.series||[]).map((e,n)=>({...e,color:ne(e.color)||Yt.value[n]||i[n],value:((e.to||0)-(e.from||0))/t*100}))}}),R=g(512),z=g({height:358.4,width:R.value,top:0,bottom:358.4,centerX:179.2,centerY:R.value/2,labelFontSize:18,legendFontSize:j.value.legend.fontSize,pointerRadius:k.value.circle.radius,trackSize:A.value.track.size,pointerSize:k.value.size,pointerStrokeWidth:k.value.strokeWidth,markerOffset:O.value.offsetY+3,segmentFontSize:D.value.fontSize}),B=g(0),V=g(0),H=l(()=>j.value.animation.use&&!kt.value),U=g(H.value?Math.min(...M.value.series.map(e=>e.from)):M.value.value),W=null;function Xt(){W!==null&&(cancelAnimationFrame(W),W=null)}x(H,e=>{e||(Xt(),U.value=M.value.value)}),x(()=>M.value.value,()=>{tn(M.value.value)});let G=l(()=>{let e=z.value.width/2,t=X.value.base,n=Math.PI*((U.value+0-V.value)/(B.value-V.value))+Math.PI;return{x1:e,y1:t,x2:e+X.value.pointerSize*z.value.pointerSize*.9*Math.cos(n),y2:t+X.value.pointerSize*z.value.pointerSize*.9*Math.sin(n)}}),Zt=l(()=>{let e=z.value.width/2,t=X.value.base,n=Math.PI*((U.value+0-V.value)/(B.value-V.value))+Math.PI,r=e+X.value.pointerSize*z.value.pointerSize*.9*Math.cos(n),i=t+X.value.pointerSize*z.value.pointerSize*.9*Math.sin(n),a=z.value.pointerRadius,ee=e+a*Math.cos(n+Math.PI/2),o=t+a*Math.sin(n+Math.PI/2),te=e+a*Math.cos(n-Math.PI/2),ne=t+a*Math.sin(n-Math.PI/2);return isNaN(r)?null:`M ${r},${i} ${ee},${o} ${te},${ne} Z`}),Qt=l(()=>{for(let e=0;e<L.value.series.length;e+=1){let{color:t,from:n,to:r}=L.value.series[e];if(U.value>=n&&U.value<=r)return t}return`#2D353C`}),K=We(null),q=We(null),J=l({get:()=>z.value.segmentFontSize,set:e=>e}),{autoSizeLabels:$t}=Me({svgRef:P,fontSize:z.value.segmentFontSize,minFontSize:D.value.minFontSize,sizeRef:J,labelClass:`.vue-ui-gauge-label-flat`}),Y=l(()=>T.value.debug);function en(){let e=!1;if(fe(S.dataset)?(s({componentName:`VueUiGauge`,type:`dataset`,debug:Y.value}),N.value=!0,e=!0):(de({datasetObject:S.dataset,requiredAttributes:[`value`,`series`]}).forEach(t=>{s({componentName:`VueUiGauge`,type:`datasetAttribute`,property:t,debug:Y.value}),N.value=!0,e=!0}),Object.hasOwn(S.dataset,`series`)&&(S.dataset.series.length?S.dataset.series.forEach((t,n)=>{de({datasetObject:t,requiredAttributes:[`from`,`to`]}).forEach(t=>{s({componentName:`VueUiGauge`,type:`datasetSerieAttribute`,property:t,index:n,debug:Y.value}),N.value=!0,e=!0})}):(s({componentName:`VueUiGauge`,type:`datasetAttributeEmpty`,property:`series`,debug:Y.value}),N.value=!0,e=!0))),N.value=e,tn(M.value.value||0),T.value.responsive){let e=Ee(()=>{let{width:e,height:t}=De({chart:w.value,title:j.value.title.text?Pt.value:null,legend:Ft.value,source:It.value,noTitle:Lt.value});t-=12,requestAnimationFrame(()=>{z.value.width=e,z.value.height=t,z.value.centerX=e/2,z.value.centerY=R.value/2/358.4*t,z.value.bottom=t,z.value.labelFontSize=18/R.value*Math.min(t,e)<10?10:18/R.value*Math.min(t,e),z.value.legendFontSize=j.value.legend.fontSize/R.value*Math.min(t,e)<14?14:j.value.legend.fontSize/R.value*Math.min(t,e),z.value.pointerRadius=k.value.circle.radius/R.value*Math.min(t,e),z.value.trackSize=A.value.track.size/R.value*Math.min(t,e),z.value.pointerStrokeWidth=ce({relator:Math.min(e,t),adjuster:R.value,source:k.value.strokeWidth,threshold:2,fallback:2}),z.value.markerOffset=ce({relator:Math.max(e,t),adjuster:R.value,source:O.value.offsetY+3,threshold:2,fallback:2}),z.value.segmentFontSize=ce({relator:Math.min(e,t),adjuster:R.value,source:D.value.fontSize,threshold:8,fallback:8})}),$t()});K.value&&(q.value&&K.value.unobserve(q.value),K.value.disconnect()),K.value=new ResizeObserver(e),q.value=w.value.parentNode,K.value.observe(q.value)}$t()}Ue(()=>{en()}),He(()=>{Xt(),K.value&&(q.value&&K.value.unobserve(q.value),K.value.disconnect())});function tn(e){let t=[];if((L.value.series||[]).forEach(e=>{t.push(e.from||0),t.push(e.to||0)}),B.value=Math.max(...t),V.value=Math.min(...t),Xt(),!H.value){U.value=e;return}let n=j.value.animation.speed,r=Math.abs(e-U.value)/(n*60);function i(){H.value?(U.value<e?U.value=Math.min(U.value+r,e):U.value>e&&(U.value=Math.max(U.value-r,e)),W=U.value===e?null:requestAnimationFrame(i)):(U.value=e,W=null)}i()}let X=l(()=>{let e=T.value.responsive?Math.min(z.value.width,z.value.height):z.value.width,t=2.5/A.value.radiusRatio;return{arcs:e/t,gradients:e/(t*1.1),base:T.value.responsive?z.value.height/1.618:z.value.height*.7,ratingBase:T.value.responsive?z.value.height/2+z.value.height/4:z.value.height*.9,pointerSize:T.value.responsive?Math.min(z.value.width,z.value.height)/3:z.value.width/3.2}}),Z=l(()=>a({series:L.value.series},z.value.width/2,X.value.base,X.value.arcs,X.value.arcs,1,1,1,180,109.9495,40*z.value.trackSize)),nn=l(()=>a({series:L.value.series},z.value.width/2,X.value.base,X.value.arcs*D.value.offsetRatio,X.value.arcs*D.value.offsetRatio,1,1,1,180,109.9495,40*z.value.trackSize)),Q=l(()=>Z.value.map(e=>X.value.arcs*D.value.offsetRatio*(e.nameOffsetRatio||1))),rn=l(()=>{let{x:e,y:t}=r({initX:Z.value[0].firstSeparator.x,initY:Z.value[0].firstSeparator.y,centerX:G.value.x1,centerY:G.value.y1,offset:-E.value.offsetIn}),{x:n,y:i}=r({initX:Z.value[0].startX,initY:Z.value[0].startY,centerX:G.value.x1,centerY:G.value.y1,offset:E.value.offsetOut});return{x1:e,y1:t,x2:n,y2:i}}),an=l(()=>Z.value.map(e=>{let{x:t,y:n}=r({initX:e.separator.x,initY:e.separator.y,centerX:G.value.x1,centerY:G.value.y1,offset:-E.value.offsetIn}),{x:i,y:a}=r({initX:e.endX,initY:e.endY,centerX:G.value.x1,centerY:G.value.y1,offset:E.value.offsetOut});return{x1:t,y1:n,x2:i,y2:a}}));function on(e){if(e.reduce((e,t)=>e+t,0)>100)throw Error(`Total % must not exceed 100`);let t=0;return e.map(e=>(t+=e,`${t/100*50-e/4}%`))}let sn=l(()=>on(Z.value.map(e=>e.proportion*100))),cn=l(()=>a({series:L.value.series},z.value.width/2,X.value.base,X.value.gradients,X.value.gradients,.95,1,1,180,110.02,2*z.value.trackSize)),ln=l(()=>{let e=V.value>=0?-V.value:Math.abs(V.value);return te({radius:A.value.indicatorArc.radius*z.value.trackSize,centerX:z.value.width/2,centerY:X.value.base,percentage:ie((U.value+e)/(B.value+e))})}),$=g(!1);function un(e){$.value=e,Nt.value+=1}let dn=g(!1);function fn(){dn.value=!dn.value}let pn=ve(w,()=>j.value.title.text),mn=l(()=>j.value.backgroundColor),hn=l(()=>j.value.title),{isCallbackImaging:gn,isCallbackSvg:_n,generateSvg:vn,onGenerateImage:yn}=be({svg:P,title:hn,legend:null,legendItems:null,backgroundColor:mn,getSvgCallback:()=>T.value.userOptions.callbacks.svg,generateImage:qt});async function bn(){At(`copyAlt`,{config:T.value,dataset:L.value}),T.value.userOptions.callbacks.altCopy?await Promise.resolve(T.value.userOptions.callbacks.altCopy({config:T.value,dataset:L.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return ge({getImage:pn,generatePdf:Kt,generateImage:qt,generateSvg:vn,toggleAnnotator:fn,toggleFullscreen:un,copyAlt:bn}),(e,t)=>(h(),f(`div`,{class:ze(`vue-data-ui-component vue-ui-gauge ${$.value?`vue-data-ui-wrapper-fullscreen`:``}`),ref_key:`gaugeChart`,ref:w,id:`vue-ui-gauge_${C.value}`,style:Ve(`font-family:${T.value.style.fontFamily};width:100%; text-align:center;background:${j.value.backgroundColor};${T.value.responsive?`height: 100%`:``}`),onMouseenter:t[0]||=()=>b(Ut)(!0),onMouseleave:t[1]||=()=>b(Ut)(!1)},[T.value.userOptions.buttons.annotator?(h(),u(b(Tt),{key:0,svgRef:b(P),backgroundColor:j.value.backgroundColor,color:j.value.color,active:dn.value,isCursorPointer:zt.value,palette:T.value.userOptions.annotatorPalette,onClose:fn},Pe({_:2},[_(b(Se),t=>({name:t,fn:Ke(n=>[v(e.$slots,t,Be(Le(b(xe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):d(``,!0),Jt.value?(h(),f(`div`,{key:1,ref_key:`noTitle`,ref:Lt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):d(``,!0),j.value.title.text?(h(),f(`div`,{key:2,ref_key:`chartTitle`,ref:Pt,style:`width:100%;background:transparent;padding-bottom:12px`},[(h(),u(ye,{key:`title_${Rt.value}`,config:{title:{cy:`gauge-div-title`,...j.value.title},subtitle:{cy:`gauge-div-subtitle`,...j.value.title.subtitle}}},{default:Ke(()=>[T.value.translations.base&&b(M).base?(h(),f(`span`,Ye,y(T.value.translations.base)+`: `+y(b(M).base),1)):d(``,!0)]),_:1},8,[`config`]))],512)):d(``,!0),T.value.userOptions.show&&jt.value&&(b(Wt)||b(Ht))?(h(),u(b(Et),{ref_key:`details`,ref:Mt,key:`user_options_${Nt.value}`,backgroundColor:j.value.backgroundColor,color:j.value.color,isImaging:b(I),isPrinting:b(F),uid:C.value,hasXls:!1,hasPdf:T.value.userOptions.buttons.pdf,hasImg:T.value.userOptions.buttons.img,hasSvg:T.value.userOptions.buttons.svg,hasFullscreen:T.value.userOptions.buttons.fullscreen,hasAltCopy:T.value.userOptions.buttons.altCopy,isFullscreen:$.value,titles:{...T.value.userOptions.buttonTitles},chartElement:w.value,callbacks:T.value.userOptions.callbacks,printScale:T.value.userOptions.print.scale,position:T.value.userOptions.position,hasAnnotator:T.value.userOptions.buttons.annotator,isAnnotation:dn.value,isCursorPointer:zt.value,onToggleFullscreen:un,onGeneratePdf:b(Kt),onGenerateImage:b(yn),onGenerateSvg:b(vn),onToggleAnnotator:fn,onCopyAlt:bn,style:Ve({visibility:b(Wt)?b(Ht)?`visible`:`hidden`:`visible`})},Pe({_:2},[_(b(Ce)(e.$slots,`menuIcon optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Ke(n=>[v(e.$slots,t,Be(Le(b(we)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isImaging`,`isPrinting`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasFullscreen`,`hasAltCopy`,`isFullscreen`,`titles`,`chartElement`,`callbacks`,`printScale`,`position`,`hasAnnotator`,`isAnnotation`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):d(``,!0),(h(),f(`svg`,{ref_key:`svgRef`,ref:P,xmlns:b(le),class:ze({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value}),viewBox:`0 0 ${z.value.width<=0?10:z.value.width} ${z.value.height<=0?10:z.value.height}`,style:Ve(`max-width:100%;overflow:hidden !important;background:transparent;color:${j.value.color}`)},[Fe(b(Dt)),v(e.$slots,`svg-underlayer`,{svg:{...z.value,isPrintingImg:b(F)||b(I)||b(gn),isPrintingSvg:b(_n)}},void 0,!0),e.$slots[`chart-background`]?(h(),f(`foreignObject`,{key:0,x:0,y:0,width:z.value.width<=0?10:z.value.width,height:z.value.height<=0?10:z.value.height,style:{pointerEvents:`none`}},[v(e.$slots,`chart-background`,{},void 0,!0)],8,Ze)):d(``,!0),p(`defs`,null,[Fe(Oe,{t:`radial`,id:`gradient_${C.value}`,cx:`50%`,cy:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,b(o)(`#FFFFFF`,1),1],[`80%`,b(o)(`#FFFFFF`,A.value.track.gradientIntensity),1],[`100%`,b(o)(`#FFFFFF`,1),1]]},null,8,[`id`,`stops`])]),p(`defs`,null,[p(`filter`,{id:`blur_${C.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[p(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/A.value.track.gradientIntensity},null,8,$e)],8,Qe)]),e.$slots.pattern?(h(),f(`g`,et,[(h(!0),f(c,null,_(Z.value,(t,n)=>(h(),f(`defs`,null,[v(e.$slots,`pattern`,m({ref_for:!0},{seriesIndex:n,patternId:`pattern_${C.value}_${n}`}),void 0,!0)]))),256))])):d(``,!0),(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:e.color,stroke:j.value.backgroundColor,"stroke-linecap":`round`},null,8,tt))),128)),e.$slots.pattern?(h(!0),f(c,{key:2},_(Z.value,(e,t)=>(h(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:`url(#pattern_${C.value}_${t})`,stroke:j.value.backgroundColor,"stroke-linecap":`round`},null,8,nt))),128)):d(``,!0),A.value.indicatorArc.show?(h(),f(`path`,{key:3,d:ln.value,fill:A.value.indicatorArc.fill},null,8,rt)):d(``,!0),D.value.show&&D.value.curved?(h(),f(c,{key:4},[(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`path`,{id:`curve_${C.value}_${t}`,d:`M ${G.value.x1},${G.value.y1} m -${Q.value[t]},0 a ${Q.value[t]},${Q.value[t]} 0 1,1 ${2*Q.value[t]},0 a ${Q.value[t]},${Q.value[t]} 0 1,1 -${2*Q.value[t]},0`,fill:`transparent`},null,8,it))),256)),(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`text`,{fill:D.value.useSerieColor?e.color:D.value.color,"font-size":J.value,"font-weight":D.value.bold?`bold`:`normal`,"text-anchor":`middle`},[p(`textPath`,{href:`#curve_${C.value}_${t}`,startOffset:sn.value[t]},y(e.name||``),9,ot)],8,at))),256))],64)):d(``,!0),D.value.show&&!D.value.curved?(h(!0),f(c,{key:5},_(nn.value,(e,t)=>(h(),f(`text`,{class:`vue-ui-gauge-label-flat`,"text-anchor":b(ae)(e,!1,12).anchor,fill:D.value.useSerieColor?e.color:D.value.color,"font-size":J.value,"font-weight":D.value.bold?`bold`:`normal`,innerHTML:b(ee)({content:String(e.name??``),fontSize:J.value,fill:D.value.useSerieColor?e.color:D.value.color,x:e.center.endX,y:e.center.endY})},null,8,st))),256)):d(``,!0),A.value.track.useGradient?(h(!0),f(c,{key:6},_(cn.value,(e,t)=>(h(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:`#FFFFFF`,stroke:`none`,"stroke-linecap":`round`,filter:`url(#blur_${C.value})`},null,8,ct))),128)):d(``,!0),E.value.show?(h(),f(c,{key:7},[p(`line`,m(rn.value,{stroke:j.value.backgroundColor,"stroke-width":E.value.strokeWidth+2,"stroke-linecap":`round`}),null,16,lt),p(`line`,m(rn.value,{stroke:E.value.stroke,"stroke-width":E.value.strokeWidth,"stroke-linecap":`round`}),null,16,ut),(h(!0),f(c,null,_(an.value,e=>(h(),f(`line`,m({ref_for:!0},e,{stroke:j.value.backgroundColor,"stroke-width":E.value.strokeWidth+2,"stroke-linecap":`round`}),null,16,dt))),256)),(h(!0),f(c,null,_(an.value,e=>(h(),f(`line`,m({ref_for:!0},e,{stroke:E.value.stroke,"stroke-width":E.value.strokeWidth,"stroke-linecap":`round`}),null,16,ft))),256))],64)):d(``,!0),O.value.show?(h(),f(`g`,pt,[(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`text`,{x:b(r)({centerX:G.value.x1,centerY:X.value.base,initX:e.center.startX,initY:e.center.startY,offset:z.value.markerOffset}).x,y:b(r)({centerX:G.value.x1,centerY:X.value.base,initX:e.center.startX,initY:e.center.startY,offset:z.value.markerOffset}).y,"text-anchor":e.center.startX<G.value.x1-5?`end`:e.center.startX>G.value.x1+5?`start`:`middle`,"font-size":z.value.labelFontSize*O.value.fontSizeRatio,"font-weight":`${O.value.bold?`bold`:`normal`}`,fill:O.value.color},y(b(oe)(O.value.formatter,e.from,b(n)({p:O.value.prefix,v:e.from,s:O.value.suffix,r:O.value.roundingValue}))),9,mt))),256))])):d(``,!0),O.value.show?(h(),f(`text`,{key:9,x:b(r)({centerX:z.value.width/2,centerY:X.value.base,initX:Z.value.at(-1).endX,initY:Z.value.at(-1).endY,offset:z.value.markerOffset}).x,y:b(r)({centerX:z.value.width/2,centerY:X.value.base,initX:Z.value.at(-1).endX,initY:Z.value.at(-1).endY,offset:z.value.markerOffset}).y,"text-anchor":`start`,"font-size":z.value.labelFontSize*O.value.fontSizeRatio,"font-weight":`${O.value.bold?`bold`:`normal`}`,fill:O.value.color},y(b(oe)(O.value.formatter,B.value,b(n)({p:O.value.prefix,v:B.value,s:O.value.suffix,r:O.value.roundingValue}))),9,ht)):d(``,!0),k.value.show?(h(),f(c,{key:10},[k.value.type===`rounded`?(h(),f(`g`,gt,[isNaN(G.value.x2)?d(``,!0):(h(),f(`line`,{key:0,x1:G.value.x1,y1:G.value.y1,x2:G.value.x2,y2:G.value.y2,stroke:k.value.stroke,"stroke-width":z.value.pointerStrokeWidth,"stroke-linecap":`round`},null,8,_t)),isNaN(G.value.x2)?d(``,!0):(h(),f(`line`,{key:1,x1:G.value.x1,y1:G.value.y1,x2:G.value.x2,y2:G.value.y2,stroke:k.value.useRatingColor?Qt.value:k.value.color,"stroke-linecap":`round`,"stroke-width":z.value.pointerStrokeWidth*.7},null,8,vt)),!isNaN(G.value.x2)&&A.value.track.useGradient?(h(),f(`line`,{key:2,x1:G.value.x1,y1:G.value.y1,x2:G.value.x2,y2:G.value.y2,stroke:`white`,"stroke-linecap":`round`,"stroke-width":z.value.pointerStrokeWidth*.3,filter:`url(#blur_${C.value})`},null,8,yt)):d(``,!0)])):(h(),f(`g`,bt,[Zt.value?(h(),f(`path`,{key:0,d:Zt.value,fill:k.value.useRatingColor?Qt.value:k.value.color,stroke:k.value.stroke,"stroke-width":k.value.circle.strokeWidth,"stroke-linejoin":`round`},null,8,xt)):d(``,!0)])),p(`circle`,{cx:z.value.width/2,cy:X.value.base,fill:k.value.circle.color,r:z.value.pointerRadius<=0?1e-4:z.value.pointerRadius,"stroke-width":k.value.circle.strokeWidth,stroke:k.value.circle.stroke},null,8,St)],64)):d(``,!0),j.value.legend.show?(h(),f(`text`,{key:11,x:z.value.width/2,y:X.value.ratingBase,"text-anchor":`middle`,"font-size":z.value.legendFontSize,"font-weight":`bold`,fill:j.value.legend.useRatingColor?Qt.value:j.value.legend.color},y(b(oe)(j.value.legend.formatter,U.value,b(n)({p:j.value.legend.prefix+(j.value.legend.showPlusSymbol&&U.value>0?`+`:``),v:U.value,s:j.value.legend.suffix,r:j.value.legend.roundingValue}))),9,Ct)):d(``,!0),v(e.$slots,`svg`,{svg:{...z.value,isPrintingImg:b(F)||b(I)||b(gn),isPrintingSvg:b(_n)}},void 0,!0)],14,Xe)),e.$slots.watermark?(h(),f(`div`,wt,[v(e.$slots,`watermark`,Be(Le({isPrinting:b(F)||b(I)||b(gn)||b(_n)})),void 0,!0)])):d(``,!0),p(`div`,{ref_key:`chartLegend`,ref:Ft},[v(e.$slots,`legend`,{legend:L.value},void 0,!0)],512),e.$slots.source?(h(),f(`div`,{key:5,ref_key:`source`,ref:It,dir:`auto`},[v(e.$slots,`source`,{},void 0,!0)],512)):d(``,!0),v(e.$slots,`skeleton`,{},()=>[b(Vt)?(h(),u(me,{key:0})):d(``,!0)],!0)],46,Je))}},[[`__scopeId`,`data-v-f504fb15`]]);export{qe as n,Tt as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Bt as r,Ht as i,It as a,J as ee,Jt as o,O as te,S as ne,X as re,at as s,b as ie,f as ae,i as oe,in as se,rn as ce,t as le,w as ue,yt as de,zt as fe}from"./lib-rPeBMZrn.js";import{n as pe,t as me}from"./BaseScanner-8NdoBs7B.js";import{n as he}from"./useHints-C-TwxM0Y.js";import{t as ge}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as _e}from"./resolveChartConfig-CIhClE5R.js";import{t as ve}from"./chartImage-DPGnEuYM.js";import{n as ye}from"./Title-BliHuXfT.js";import{t as be}from"./useChartExport-BZts4KFb.js";import{n as xe,t as Se}from"./annotationSlots-BRR85CqJ.js";import{n as Ce,t as we}from"./userOptionsSlots-DYuo-E5m.js";import{t as Te}from"./usePrinter-DVf3YcG5.js";import{c as Ee}from"./canvas-lib-22VpOI4_.js";import{t as De}from"./useResponsive-CENUxfEL.js";import{t as Oe}from"./DefGrad-DKMq1REY.js";import{t as ke}from"./useUserOptionState-CXlFnwPv.js";import{t as Ae}from"./useChartAccessibility-DOMuYJfm.js";import{t as je}from"./usePrefersMotion-XLHwega2.js";import{t as Me}from"./useAutoSizeLabelsInsideViewbox-AIRF0PlD.js";import{t as Ne}from"./vue_ui_gauge-BJhb6yqE.js";import{Fragment as c,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createSlots as Pe,createVNode as Fe,defineAsyncComponent as Ie,guardReactiveProps as Le,mergeProps as m,nextTick as Re,normalizeClass as ze,normalizeProps as Be,normalizeStyle as Ve,onBeforeUnmount as He,onMounted as Ue,openBlock as h,ref as g,renderList as _,renderSlot as v,shallowRef as We,toDisplayString as y,toRefs as Ge,unref as b,watch as x,withCtx as Ke}from"vue";var qe=/* @__PURE__ */ e({default:()=>Tt}),Je=[`id`],Ye={key:0},Xe=[`xmlns`,`viewBox`],Ze=[`width`,`height`],Qe=[`id`],$e=[`stdDeviation`],et={key:1},tt=[`d`,`fill`,`stroke`],nt=[`d`,`fill`,`stroke`],rt=[`d`,`fill`],it=[`id`,`d`],at=[`fill`,`font-size`,`font-weight`],ot=[`href`,`startOffset`],st=[`text-anchor`,`fill`,`font-size`,`font-weight`,`innerHTML`],ct=[`d`,`filter`],lt=[`stroke`,`stroke-width`],ut=[`stroke`,`stroke-width`],dt=[`stroke`,`stroke-width`],ft=[`stroke`,`stroke-width`],pt={key:8},mt=[`x`,`y`,`text-anchor`,`font-size`,`font-weight`,`fill`],ht=[`x`,`y`,`font-size`,`font-weight`,`fill`],gt={key:0},_t=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],vt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],yt=[`x1`,`y1`,`x2`,`y2`,`stroke-width`,`filter`],bt={key:1},xt=[`d`,`fill`,`stroke`,`stroke-width`],St=[`cx`,`cy`,`fill`,`r`,`stroke-width`,`stroke`],Ct=[`x`,`y`,`font-size`,`fill`],wt={key:4,class:`vue-data-ui-watermark`},Tt=/*#__PURE__*/ ge({__name:`vue-ui-gauge`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`copyAlt`],setup(e,{expose:ge,emit:qe}){let Tt=Ie(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Et=Ie(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Dt=Ie(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),{vue_ui_gauge:Ot}=t(),kt=je(),S=e,At=qe,jt=l(()=>!!S.dataset&&Object.keys(S.dataset).length>0&&S.dataset.series&&S.dataset.series.length),C=g(re()),Mt=g(null),Nt=g(0),w=g(null),Pt=g(null),Ft=g(null),It=g(null),Lt=g(null),Rt=g(0),T=g(Gt()),E=l(()=>T.value.style.chart.layout.segmentSeparators),D=l(()=>T.value.style.chart.layout.segmentNames),O=l(()=>T.value.style.chart.layout.markers),k=l(()=>T.value.style.chart.layout.pointer),A=l(()=>T.value.style.chart.layout),j=l(()=>T.value.style.chart);he({config:()=>T.value,dataset:()=>S.dataset,component:`VueUiGauge`,rules:[{test:e=>e?.series&&e.series?.length>6,message:[`👀 The number of steps is > 6, which can make the chart hard to read and labels overlap. Consider:`,``,`▶️ Using broader steps.`]}]});let zt=l(()=>T.value.userOptions.useCursorPointer),Bt=l(()=>se({defaultConfig:{userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,animation:{use:!1},layout:{markers:{show:!1},segmentSeparators:{stroke:`#6A6A6A`},segmentNames:{show:!1},indicatorArc:{fill:`#6A6A6A50`},pointer:{stroke:`#6A6A6A`,useRatingColor:!0,circle:{stroke:`#6A6A6A`,color:`#6A6A6A`}}},legend:{show:!1}}}},userConfig:T.value.skeletonConfig??{}})),{loading:Vt,FINAL_DATASET:M,manualLoading:N}=pe({...Ge(S),FINAL_CONFIG:T,prepareConfig:Gt,callback:()=>{Promise.resolve().then(async()=>{await Re()})},skeletonDataset:S.config?.skeletonDataset??{value:0,series:[{from:-1,to:0,name:`_`,color:`#A1A1A1`},{from:0,to:1,name:`__`,color:`#CACACA`}]},skeletonConfig:se({defaultConfig:T.value,userConfig:Bt.value})}),{userOptionsVisible:Ht,setUserOptionsVisibility:Ut,keepUserOptionState:Wt}=ke({config:T.value}),{svgRef:P}=Ae({config:j.value.title});x(()=>S.config,e=>{Vt.value||(T.value=Gt()),Ht.value=!T.value.userOptions.showOnChartHover,en(),Rt.value+=1},{deep:!0}),x(()=>S.dataset,e=>{en(),e&&Object.keys(e).length>0&&(N.value=T.value?.loading??!1)},{deep:!0,immediate:!1});function Gt(){return _e(S.config,Ot,Ne)}let{isPrinting:F,isImaging:I,generatePdf:Kt,generateImage:qt}=Te({elementId:`vue-ui-gauge_${C.value}`,fileName:j.value.title.text||`vue-ui-gauge`,options:T.value.userOptions.print}),Jt=l(()=>T.value.userOptions.show&&!j.value.title.text),Yt=l(()=>ue(T.value.customPalette)),L=l(()=>{if(fe(M.value.series||{}))return{value:0,series:[{from:0,to:0}]};let e=[];(M.value.series||[]).forEach(t=>{e.push(t.from||1e-7),e.push(t.to||1e-7)});let t=Math.max(...e);return{...M.value,series:(M.value.series||[]).map((e,n)=>({...e,color:ne(e.color)||Yt.value[n]||i[n],value:((e.to||0)-(e.from||0))/t*100}))}}),R=g(512),z=g({height:358.4,width:R.value,top:0,bottom:358.4,centerX:179.2,centerY:R.value/2,labelFontSize:18,legendFontSize:j.value.legend.fontSize,pointerRadius:k.value.circle.radius,trackSize:A.value.track.size,pointerSize:k.value.size,pointerStrokeWidth:k.value.strokeWidth,markerOffset:O.value.offsetY+3,segmentFontSize:D.value.fontSize}),B=g(0),V=g(0),H=l(()=>j.value.animation.use&&!kt.value),U=g(H.value?Math.min(...M.value.series.map(e=>e.from)):M.value.value),W=null;function Xt(){W!==null&&(cancelAnimationFrame(W),W=null)}x(H,e=>{e||(Xt(),U.value=M.value.value)}),x(()=>M.value.value,()=>{tn(M.value.value)});let G=l(()=>{let e=z.value.width/2,t=X.value.base,n=Math.PI*((U.value+0-V.value)/(B.value-V.value))+Math.PI;return{x1:e,y1:t,x2:e+X.value.pointerSize*z.value.pointerSize*.9*Math.cos(n),y2:t+X.value.pointerSize*z.value.pointerSize*.9*Math.sin(n)}}),Zt=l(()=>{let e=z.value.width/2,t=X.value.base,n=Math.PI*((U.value+0-V.value)/(B.value-V.value))+Math.PI,r=e+X.value.pointerSize*z.value.pointerSize*.9*Math.cos(n),i=t+X.value.pointerSize*z.value.pointerSize*.9*Math.sin(n),a=z.value.pointerRadius,ee=e+a*Math.cos(n+Math.PI/2),o=t+a*Math.sin(n+Math.PI/2),te=e+a*Math.cos(n-Math.PI/2),ne=t+a*Math.sin(n-Math.PI/2);return isNaN(r)?null:`M ${r},${i} ${ee},${o} ${te},${ne} Z`}),Qt=l(()=>{for(let e=0;e<L.value.series.length;e+=1){let{color:t,from:n,to:r}=L.value.series[e];if(U.value>=n&&U.value<=r)return t}return`#2D353C`}),K=We(null),q=We(null),J=l({get:()=>z.value.segmentFontSize,set:e=>e}),{autoSizeLabels:$t}=Me({svgRef:P,fontSize:z.value.segmentFontSize,minFontSize:D.value.minFontSize,sizeRef:J,labelClass:`.vue-ui-gauge-label-flat`}),Y=l(()=>T.value.debug);function en(){let e=!1;if(fe(S.dataset)?(s({componentName:`VueUiGauge`,type:`dataset`,debug:Y.value}),N.value=!0,e=!0):(de({datasetObject:S.dataset,requiredAttributes:[`value`,`series`]}).forEach(t=>{s({componentName:`VueUiGauge`,type:`datasetAttribute`,property:t,debug:Y.value}),N.value=!0,e=!0}),Object.hasOwn(S.dataset,`series`)&&(S.dataset.series.length?S.dataset.series.forEach((t,n)=>{de({datasetObject:t,requiredAttributes:[`from`,`to`]}).forEach(t=>{s({componentName:`VueUiGauge`,type:`datasetSerieAttribute`,property:t,index:n,debug:Y.value}),N.value=!0,e=!0})}):(s({componentName:`VueUiGauge`,type:`datasetAttributeEmpty`,property:`series`,debug:Y.value}),N.value=!0,e=!0))),N.value=e,tn(M.value.value||0),T.value.responsive){let e=Ee(()=>{let{width:e,height:t}=De({chart:w.value,title:j.value.title.text?Pt.value:null,legend:Ft.value,source:It.value,noTitle:Lt.value});t-=12,requestAnimationFrame(()=>{z.value.width=e,z.value.height=t,z.value.centerX=e/2,z.value.centerY=R.value/2/358.4*t,z.value.bottom=t,z.value.labelFontSize=18/R.value*Math.min(t,e)<10?10:18/R.value*Math.min(t,e),z.value.legendFontSize=j.value.legend.fontSize/R.value*Math.min(t,e)<14?14:j.value.legend.fontSize/R.value*Math.min(t,e),z.value.pointerRadius=k.value.circle.radius/R.value*Math.min(t,e),z.value.trackSize=A.value.track.size/R.value*Math.min(t,e),z.value.pointerStrokeWidth=ce({relator:Math.min(e,t),adjuster:R.value,source:k.value.strokeWidth,threshold:2,fallback:2}),z.value.markerOffset=ce({relator:Math.max(e,t),adjuster:R.value,source:O.value.offsetY+3,threshold:2,fallback:2}),z.value.segmentFontSize=ce({relator:Math.min(e,t),adjuster:R.value,source:D.value.fontSize,threshold:8,fallback:8})}),$t()});K.value&&(q.value&&K.value.unobserve(q.value),K.value.disconnect()),K.value=new ResizeObserver(e),q.value=w.value.parentNode,K.value.observe(q.value)}$t()}Ue(()=>{en()}),He(()=>{Xt(),K.value&&(q.value&&K.value.unobserve(q.value),K.value.disconnect())});function tn(e){let t=[];if((L.value.series||[]).forEach(e=>{t.push(e.from||0),t.push(e.to||0)}),B.value=Math.max(...t),V.value=Math.min(...t),Xt(),!H.value){U.value=e;return}let n=j.value.animation.speed,r=Math.abs(e-U.value)/(n*60);function i(){H.value?(U.value<e?U.value=Math.min(U.value+r,e):U.value>e&&(U.value=Math.max(U.value-r,e)),W=U.value===e?null:requestAnimationFrame(i)):(U.value=e,W=null)}i()}let X=l(()=>{let e=T.value.responsive?Math.min(z.value.width,z.value.height):z.value.width,t=2.5/A.value.radiusRatio;return{arcs:e/t,gradients:e/(t*1.1),base:T.value.responsive?z.value.height/1.618:z.value.height*.7,ratingBase:T.value.responsive?z.value.height/2+z.value.height/4:z.value.height*.9,pointerSize:T.value.responsive?Math.min(z.value.width,z.value.height)/3:z.value.width/3.2}}),Z=l(()=>a({series:L.value.series},z.value.width/2,X.value.base,X.value.arcs,X.value.arcs,1,1,1,180,109.9495,40*z.value.trackSize)),nn=l(()=>a({series:L.value.series},z.value.width/2,X.value.base,X.value.arcs*D.value.offsetRatio,X.value.arcs*D.value.offsetRatio,1,1,1,180,109.9495,40*z.value.trackSize)),Q=l(()=>Z.value.map(e=>X.value.arcs*D.value.offsetRatio*(e.nameOffsetRatio||1))),rn=l(()=>{let{x:e,y:t}=r({initX:Z.value[0].firstSeparator.x,initY:Z.value[0].firstSeparator.y,centerX:G.value.x1,centerY:G.value.y1,offset:-E.value.offsetIn}),{x:n,y:i}=r({initX:Z.value[0].startX,initY:Z.value[0].startY,centerX:G.value.x1,centerY:G.value.y1,offset:E.value.offsetOut});return{x1:e,y1:t,x2:n,y2:i}}),an=l(()=>Z.value.map(e=>{let{x:t,y:n}=r({initX:e.separator.x,initY:e.separator.y,centerX:G.value.x1,centerY:G.value.y1,offset:-E.value.offsetIn}),{x:i,y:a}=r({initX:e.endX,initY:e.endY,centerX:G.value.x1,centerY:G.value.y1,offset:E.value.offsetOut});return{x1:t,y1:n,x2:i,y2:a}}));function on(e){if(e.reduce((e,t)=>e+t,0)>100)throw Error(`Total % must not exceed 100`);let t=0;return e.map(e=>(t+=e,`${t/100*50-e/4}%`))}let sn=l(()=>on(Z.value.map(e=>e.proportion*100))),cn=l(()=>a({series:L.value.series},z.value.width/2,X.value.base,X.value.gradients,X.value.gradients,.95,1,1,180,110.02,2*z.value.trackSize)),ln=l(()=>{let e=V.value>=0?-V.value:Math.abs(V.value);return te({radius:A.value.indicatorArc.radius*z.value.trackSize,centerX:z.value.width/2,centerY:X.value.base,percentage:ie((U.value+e)/(B.value+e))})}),$=g(!1);function un(e){$.value=e,Nt.value+=1}let dn=g(!1);function fn(){dn.value=!dn.value}let pn=ve(w,()=>j.value.title.text),mn=l(()=>j.value.backgroundColor),hn=l(()=>j.value.title),{isCallbackImaging:gn,isCallbackSvg:_n,generateSvg:vn,onGenerateImage:yn}=be({svg:P,title:hn,legend:null,legendItems:null,backgroundColor:mn,getSvgCallback:()=>T.value.userOptions.callbacks.svg,generateImage:qt});async function bn(){At(`copyAlt`,{config:T.value,dataset:L.value}),T.value.userOptions.callbacks.altCopy?await Promise.resolve(T.value.userOptions.callbacks.altCopy({config:T.value,dataset:L.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}return ge({getImage:pn,generatePdf:Kt,generateImage:qt,generateSvg:vn,toggleAnnotator:fn,toggleFullscreen:un,copyAlt:bn}),(e,t)=>(h(),f(`div`,{class:ze(`vue-data-ui-component vue-ui-gauge ${$.value?`vue-data-ui-wrapper-fullscreen`:``}`),ref_key:`gaugeChart`,ref:w,id:`vue-ui-gauge_${C.value}`,style:Ve(`font-family:${T.value.style.fontFamily};width:100%; text-align:center;background:${j.value.backgroundColor};${T.value.responsive?`height: 100%`:``}`),onMouseenter:t[0]||=()=>b(Ut)(!0),onMouseleave:t[1]||=()=>b(Ut)(!1)},[T.value.userOptions.buttons.annotator?(h(),u(b(Tt),{key:0,svgRef:b(P),backgroundColor:j.value.backgroundColor,color:j.value.color,active:dn.value,isCursorPointer:zt.value,palette:T.value.userOptions.annotatorPalette,onClose:fn},Pe({_:2},[_(b(Se),t=>({name:t,fn:Ke(n=>[v(e.$slots,t,Be(Le(b(xe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):d(``,!0),Jt.value?(h(),f(`div`,{key:1,ref_key:`noTitle`,ref:Lt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):d(``,!0),j.value.title.text?(h(),f(`div`,{key:2,ref_key:`chartTitle`,ref:Pt,style:`width:100%;background:transparent;padding-bottom:12px`},[(h(),u(ye,{key:`title_${Rt.value}`,config:{title:{cy:`gauge-div-title`,...j.value.title},subtitle:{cy:`gauge-div-subtitle`,...j.value.title.subtitle}}},{default:Ke(()=>[T.value.translations.base&&b(M).base?(h(),f(`span`,Ye,y(T.value.translations.base)+`: `+y(b(M).base),1)):d(``,!0)]),_:1},8,[`config`]))],512)):d(``,!0),T.value.userOptions.show&&jt.value&&(b(Wt)||b(Ht))?(h(),u(b(Et),{ref_key:`details`,ref:Mt,key:`user_options_${Nt.value}`,backgroundColor:j.value.backgroundColor,color:j.value.color,isImaging:b(I),isPrinting:b(F),uid:C.value,hasXls:!1,hasPdf:T.value.userOptions.buttons.pdf,hasImg:T.value.userOptions.buttons.img,hasSvg:T.value.userOptions.buttons.svg,hasFullscreen:T.value.userOptions.buttons.fullscreen,hasAltCopy:T.value.userOptions.buttons.altCopy,isFullscreen:$.value,titles:{...T.value.userOptions.buttonTitles},chartElement:w.value,callbacks:T.value.userOptions.callbacks,printScale:T.value.userOptions.print.scale,position:T.value.userOptions.position,hasAnnotator:T.value.userOptions.buttons.annotator,isAnnotation:dn.value,isCursorPointer:zt.value,onToggleFullscreen:un,onGeneratePdf:b(Kt),onGenerateImage:b(yn),onGenerateSvg:b(vn),onToggleAnnotator:fn,onCopyAlt:bn,style:Ve({visibility:b(Wt)?b(Ht)?`visible`:`hidden`:`visible`})},Pe({_:2},[_(b(Ce)(e.$slots,`menuIcon optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Ke(n=>[v(e.$slots,t,Be(Le(b(we)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isImaging`,`isPrinting`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasFullscreen`,`hasAltCopy`,`isFullscreen`,`titles`,`chartElement`,`callbacks`,`printScale`,`position`,`hasAnnotator`,`isAnnotation`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):d(``,!0),(h(),f(`svg`,{ref_key:`svgRef`,ref:P,xmlns:b(le),class:ze({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value}),viewBox:`0 0 ${z.value.width<=0?10:z.value.width} ${z.value.height<=0?10:z.value.height}`,style:Ve(`max-width:100%;overflow:hidden !important;background:transparent;color:${j.value.color}`)},[Fe(b(Dt)),v(e.$slots,`svg-underlayer`,{svg:{...z.value,isPrintingImg:b(F)||b(I)||b(gn),isPrintingSvg:b(_n)}},void 0,!0),e.$slots[`chart-background`]?(h(),f(`foreignObject`,{key:0,x:0,y:0,width:z.value.width<=0?10:z.value.width,height:z.value.height<=0?10:z.value.height,style:{pointerEvents:`none`}},[v(e.$slots,`chart-background`,{},void 0,!0)],8,Ze)):d(``,!0),p(`defs`,null,[Fe(Oe,{t:`radial`,id:`gradient_${C.value}`,cx:`50%`,cy:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,b(o)(`#FFFFFF`,1),1],[`80%`,b(o)(`#FFFFFF`,A.value.track.gradientIntensity),1],[`100%`,b(o)(`#FFFFFF`,1),1]]},null,8,[`id`,`stops`])]),p(`defs`,null,[p(`filter`,{id:`blur_${C.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[p(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/A.value.track.gradientIntensity},null,8,$e)],8,Qe)]),e.$slots.pattern?(h(),f(`g`,et,[(h(!0),f(c,null,_(Z.value,(t,n)=>(h(),f(`defs`,null,[v(e.$slots,`pattern`,m({ref_for:!0},{seriesIndex:n,patternId:`pattern_${C.value}_${n}`}),void 0,!0)]))),256))])):d(``,!0),(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:e.color,stroke:j.value.backgroundColor,"stroke-linecap":`round`},null,8,tt))),128)),e.$slots.pattern?(h(!0),f(c,{key:2},_(Z.value,(e,t)=>(h(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:`url(#pattern_${C.value}_${t})`,stroke:j.value.backgroundColor,"stroke-linecap":`round`},null,8,nt))),128)):d(``,!0),A.value.indicatorArc.show?(h(),f(`path`,{key:3,d:ln.value,fill:A.value.indicatorArc.fill},null,8,rt)):d(``,!0),D.value.show&&D.value.curved?(h(),f(c,{key:4},[(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`path`,{id:`curve_${C.value}_${t}`,d:`M ${G.value.x1},${G.value.y1} m -${Q.value[t]},0 a ${Q.value[t]},${Q.value[t]} 0 1,1 ${2*Q.value[t]},0 a ${Q.value[t]},${Q.value[t]} 0 1,1 -${2*Q.value[t]},0`,fill:`transparent`},null,8,it))),256)),(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`text`,{fill:D.value.useSerieColor?e.color:D.value.color,"font-size":J.value,"font-weight":D.value.bold?`bold`:`normal`,"text-anchor":`middle`},[p(`textPath`,{href:`#curve_${C.value}_${t}`,startOffset:sn.value[t]},y(e.name||``),9,ot)],8,at))),256))],64)):d(``,!0),D.value.show&&!D.value.curved?(h(!0),f(c,{key:5},_(nn.value,(e,t)=>(h(),f(`text`,{class:`vue-ui-gauge-label-flat`,"text-anchor":b(ae)(e,!1,12).anchor,fill:D.value.useSerieColor?e.color:D.value.color,"font-size":J.value,"font-weight":D.value.bold?`bold`:`normal`,innerHTML:b(ee)({content:String(e.name??``),fontSize:J.value,fill:D.value.useSerieColor?e.color:D.value.color,x:e.center.endX,y:e.center.endY})},null,8,st))),256)):d(``,!0),A.value.track.useGradient?(h(!0),f(c,{key:6},_(cn.value,(e,t)=>(h(),f(`path`,{key:`arc_${t}`,d:e.arcSlice,fill:`#FFFFFF`,stroke:`none`,"stroke-linecap":`round`,filter:`url(#blur_${C.value})`},null,8,ct))),128)):d(``,!0),E.value.show?(h(),f(c,{key:7},[p(`line`,m(rn.value,{stroke:j.value.backgroundColor,"stroke-width":E.value.strokeWidth+2,"stroke-linecap":`round`}),null,16,lt),p(`line`,m(rn.value,{stroke:E.value.stroke,"stroke-width":E.value.strokeWidth,"stroke-linecap":`round`}),null,16,ut),(h(!0),f(c,null,_(an.value,e=>(h(),f(`line`,m({ref_for:!0},e,{stroke:j.value.backgroundColor,"stroke-width":E.value.strokeWidth+2,"stroke-linecap":`round`}),null,16,dt))),256)),(h(!0),f(c,null,_(an.value,e=>(h(),f(`line`,m({ref_for:!0},e,{stroke:E.value.stroke,"stroke-width":E.value.strokeWidth,"stroke-linecap":`round`}),null,16,ft))),256))],64)):d(``,!0),O.value.show?(h(),f(`g`,pt,[(h(!0),f(c,null,_(Z.value,(e,t)=>(h(),f(`text`,{x:b(r)({centerX:G.value.x1,centerY:X.value.base,initX:e.center.startX,initY:e.center.startY,offset:z.value.markerOffset}).x,y:b(r)({centerX:G.value.x1,centerY:X.value.base,initX:e.center.startX,initY:e.center.startY,offset:z.value.markerOffset}).y,"text-anchor":e.center.startX<G.value.x1-5?`end`:e.center.startX>G.value.x1+5?`start`:`middle`,"font-size":z.value.labelFontSize*O.value.fontSizeRatio,"font-weight":`${O.value.bold?`bold`:`normal`}`,fill:O.value.color},y(b(oe)(O.value.formatter,e.from,b(n)({p:O.value.prefix,v:e.from,s:O.value.suffix,r:O.value.roundingValue}))),9,mt))),256))])):d(``,!0),O.value.show?(h(),f(`text`,{key:9,x:b(r)({centerX:z.value.width/2,centerY:X.value.base,initX:Z.value.at(-1).endX,initY:Z.value.at(-1).endY,offset:z.value.markerOffset}).x,y:b(r)({centerX:z.value.width/2,centerY:X.value.base,initX:Z.value.at(-1).endX,initY:Z.value.at(-1).endY,offset:z.value.markerOffset}).y,"text-anchor":`start`,"font-size":z.value.labelFontSize*O.value.fontSizeRatio,"font-weight":`${O.value.bold?`bold`:`normal`}`,fill:O.value.color},y(b(oe)(O.value.formatter,B.value,b(n)({p:O.value.prefix,v:B.value,s:O.value.suffix,r:O.value.roundingValue}))),9,ht)):d(``,!0),k.value.show?(h(),f(c,{key:10},[k.value.type===`rounded`?(h(),f(`g`,gt,[isNaN(G.value.x2)?d(``,!0):(h(),f(`line`,{key:0,x1:G.value.x1,y1:G.value.y1,x2:G.value.x2,y2:G.value.y2,stroke:k.value.stroke,"stroke-width":z.value.pointerStrokeWidth,"stroke-linecap":`round`},null,8,_t)),isNaN(G.value.x2)?d(``,!0):(h(),f(`line`,{key:1,x1:G.value.x1,y1:G.value.y1,x2:G.value.x2,y2:G.value.y2,stroke:k.value.useRatingColor?Qt.value:k.value.color,"stroke-linecap":`round`,"stroke-width":z.value.pointerStrokeWidth*.7},null,8,vt)),!isNaN(G.value.x2)&&A.value.track.useGradient?(h(),f(`line`,{key:2,x1:G.value.x1,y1:G.value.y1,x2:G.value.x2,y2:G.value.y2,stroke:`white`,"stroke-linecap":`round`,"stroke-width":z.value.pointerStrokeWidth*.3,filter:`url(#blur_${C.value})`},null,8,yt)):d(``,!0)])):(h(),f(`g`,bt,[Zt.value?(h(),f(`path`,{key:0,d:Zt.value,fill:k.value.useRatingColor?Qt.value:k.value.color,stroke:k.value.stroke,"stroke-width":k.value.circle.strokeWidth,"stroke-linejoin":`round`},null,8,xt)):d(``,!0)])),p(`circle`,{cx:z.value.width/2,cy:X.value.base,fill:k.value.circle.color,r:z.value.pointerRadius<=0?1e-4:z.value.pointerRadius,"stroke-width":k.value.circle.strokeWidth,stroke:k.value.circle.stroke},null,8,St)],64)):d(``,!0),j.value.legend.show?(h(),f(`text`,{key:11,x:z.value.width/2,y:X.value.ratingBase,"text-anchor":`middle`,"font-size":z.value.legendFontSize,"font-weight":`bold`,fill:j.value.legend.useRatingColor?Qt.value:j.value.legend.color},y(b(oe)(j.value.legend.formatter,U.value,b(n)({p:j.value.legend.prefix+(j.value.legend.showPlusSymbol&&U.value>0?`+`:``),v:U.value,s:j.value.legend.suffix,r:j.value.legend.roundingValue}))),9,Ct)):d(``,!0),v(e.$slots,`svg`,{svg:{...z.value,isPrintingImg:b(F)||b(I)||b(gn),isPrintingSvg:b(_n)}},void 0,!0)],14,Xe)),e.$slots.watermark?(h(),f(`div`,wt,[v(e.$slots,`watermark`,Be(Le({isPrinting:b(F)||b(I)||b(gn)||b(_n)})),void 0,!0)])):d(``,!0),p(`div`,{ref_key:`chartLegend`,ref:Ft},[v(e.$slots,`legend`,{legend:L.value},void 0,!0)],512),e.$slots.source?(h(),f(`div`,{key:5,ref_key:`source`,ref:It,dir:`auto`},[v(e.$slots,`source`,{},void 0,!0)],512)):d(``,!0),v(e.$slots,`skeleton`,{},()=>[b(Vt)?(h(),u(me,{key:0})):d(``,!0)],!0)],46,Je))}},[[`__scopeId`,`data-v-f504fb15`]]);export{qe as n,Tt as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.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-rPeBMZrn.js";import{n as l,t as u}from"./BaseScanner-8NdoBs7B.js";import{n as d}from"./useHints-C-TwxM0Y.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as p}from"./resolveChartConfig-CIhClE5R.js";import{t as ee}from"./chartImage-DPGnEuYM.js";import{t as te}from"./BaseZoomControls-ByS_7fmI.js";import{n as ne}from"./Title-BliHuXfT.js";import{t as re}from"./useChartExport-BZts4KFb.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-DVf3YcG5.js";import{c as le}from"./canvas-lib-22VpOI4_.js";import{t as ue}from"./useResponsive-CENUxfEL.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-CX3Pvo1N.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-C1q0Qoh7.js`)),Ke=be(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),qe=be(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Je=be(()=>import(`./PackageVersion-CXT-eAuk.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=>{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||an()})):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();r?(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):(F.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=F.value.style.chart.tooltip.show)},{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];r&&(o(r)&&r.type===`GeometryCollection`?d=u(r,t,n,d,a):s(r)&&(r.coordinates==null&&r.type!==`GeometryCollection`?i&&(a.push(l({geometry:null,properties:t,fallbackName:n,featureIndex:d})),d+=1):(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);else 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 K=m(()=>Kt(Ft.value));function qt({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 Jt=m(()=>{let e=K.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 qt({bounds:e,targetWidth:W.value.width,targetHeight:W.value.height,padding:n})}),Yt=m(()=>`0 0 ${W.value.width} ${W.value.height}`),{viewBox:Xt,resetZoom:Zt,setInitialViewBox:Qt,scale:$t,zoomByFactor:en}=me(R,{x:0,y:0,width:W.value.width,height:W.value.height},1,V);function tn(){V.value=!V.value}function nn(e){let t=Jt.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 rn(){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=nn({x:s,y:c});return{x:l.x-i/2,y:l.y-a/2,width:i,height:a}}function an(){let e=rn();Qt(e,{overwriteCurrentIfNotZoomed:!0}),k.value=!0}let on=m(()=>{let e=Xt.value;return e?`${e.x} ${e.y} ${e.width} ${e.height}`:Yt.value});function sn(){en(We,!0)}function cn(){en(1/We,!0)}async function ln(){let e=rn();Qt(e,{overwriteCurrentIfNotZoomed:!0}),Zt(!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||an()})},{deep:!1}),ke(()=>[H.value,U.value,z.value],async()=>{z.value&&(await Se(),Qt({x:0,y:0,width:W.value.width,height:W.value.height},{overwriteCurrentIfNotZoomed:!0}),k.value=!1,requestAnimationFrame(()=>{k.value||an()}))},{flush:`post`});function un(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 dn=m(()=>un(ht.value)),fn=m(()=>dn.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)),q=m(()=>fn.value.map((e,t)=>({...e,keyboardIndex:t})));function pn(e){let t=nn(e),n=c(t.x,t.y,R.value);n&&(at.value={x:n.x,y:n.y})}let mn=S(!1),hn=S(``),J=S(!1),Y=S(null),X=S(null);function gn(e){hn.value=e,mn.value=!0}function Z(){mn.value=!1,hn.value=``}function _n(e){return String(e??``).replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function vn(e){$e.value={datapoint:e,seriesIndex:e.index,series:dn.value,config:F.value},J.value=!1;let t=L.value.tooltip.customFormat;if(n(t))try{let e=t($e.value);if(typeof e==`string`)return J.value=!0,e}catch{console.warn(`Custom format cannot be applied.`),J.value=!1}return`<div><div style="font-weight:600">${_n(e.name)}</div>${e.description==null?``:`<div style="margin-top:6px">${_n(e.description)}</div>`}</div>`}function yn(e){J.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 J.value=!0,n}catch{console.warn(`Custom format cannot be applied.`),J.value=!1}let r=typeof e?.name==`string`?e.name.trim():``;return r?`<div><div style="font-weight:600">${_n(r)}</div></div>`:(J.value=!1,``)}function bn(e){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?(X.value=null,Z()):(X.value=e.uid,gn(yn(e)))}function xn(e){X.value=null,Z(),F.value.events.territoryLeave&&F.value.events.territoryLeave({datapoint:e,seriesIndex:e.index})}function Sn(e){F.value.events.territoryClick&&F.value.events.territoryClick({datapoint:e,seriesIndex:e.index})}function Cn(e,t=null,n=`pointer`){N.value=n,Y.value=e.uid,Number.isInteger(t)&&(M.value=t),n===`keyboard`&&pn(e),gn(vn(e)),F.value.events.datapointEnter&&F.value.events.datapointEnter({datapoint:e,seriesIndex:e.index})}function wn(e,t=`pointer`){(t!==`pointer`||N.value!==`keyboard`)&&(Y.value=null,Z(),t!==`pointer`&&(M.value=null,N.value=`pointer`),F.value.events.datapointLeave&&F.value.events.datapointLeave({datapoint:e,seriesIndex:e.index}))}let Tn=m(()=>!!F.value.events.datapointClick&&typeof F.value.events.datapointClick==`function`);function En(e){Tn.value&&F.value.events.datapointClick({datapoint:e,seriesIndex:e.index})}let Q=m(()=>L.value.territory);function Dn(e){let t=typeof e?.name==`string`?e.name.trim():``;if(!t){X.value=null,Z();return}let n={name:t,uid:e.uid,index:e.featureIndex,properties:{}};X.value=e.uid,gn(yn(n))}function On(){X.value=null,Z()}let kn=S(!1);function An(){kn.value=!kn.value}ke(()=>kn.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=nn({x:o,y:s}),l=Xt.value?{...Xt.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){Xt.value=u;return}let d={...l},f={...u},p=null,ee=e=>{p??=e;let t=Math.min((e-p)/250,1);Xt.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||(an(),(F.value.map.center?.[0]||F.value.map.center?.[1])&&Un(F.value.map.center,{animated:!1}))})}),Te(()=>{xt()});async function Wn(){Ye(`copyAlt`,{config:F.value,dataset:ht.value}),F.value.userOptions.callbacks.altCopy?await Promise.resolve(F.value.userOptions.callbacks.altCopy({config:F.value,dataset:ht.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Gn(e,t){let n=q.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=q.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:q.value[M.value];e?wn(e,`keyboard`):(M.value=null,N.value=`pointer`,Z(),Y.value=null),ot.value=!1}function Yn(e){if(!R.value||kn.value||document.activeElement!==R.value||!q.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:q.value[M.value];e?wn(e,`keyboard`):(M.value=null,N.value=`pointer`,Z(),Y.value=null);return}if(a){let e=M.value==null?null:q.value[M.value];if(!e)return;En(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=q.value[c];l&&Cn(l,c,`keyboard`)}let Xn=m(()=>({headers:[`Name`,`Latitude`,`Longitude`,`Description`],rows:dn.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:sn,zoomOut:cn,resetZoom:Zt,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:kn.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:kn.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:tn,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($t),isFullscreen:P.value,isCursorPointer:ut.value,onZoomIn:sn,onZoomOut:cn,onResetZoom:ln},null,8,[`config`,`scale`,`isFullscreen`,`isCursorPointer`])):g(``,!0),v(`div`,Pe,[(x(),_(`svg`,{ref_key:`svgRef`,ref:R,xmlns:T(s),viewBox:on.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:Jt.value.transform,style:we({pointerEvents:$.value?`none`:`auto`})},[w(e.$slots,`svg-underlayer`,{svg:{drawingArea:on.value,x:K.value?.minX??0,y:K.value?.minY??0,width:K.value?.width??0,height:K.value?.height??0,isPrintingImg:T(gt)||T(_t)||T(Pn),isPrintingSvg:T(Fn),data:{areaPaths:Ht.value,linePaths:Ut.value,geoJsonPoints:Wt.value,projectedPoints:fn.value}}},void 0,!0),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:X.value===e.uid?Q.value.hover.fill:Q.value.fill,stroke:X.value===e.uid?Q.value.hover.stroke:Q.value.stroke,"stroke-width":X.value===e.uid?Q.value.hover.strokeWidth:Q.value.strokeWidth,"vector-effect":`non-scaling-stroke`,onMouseenter:t=>bn(e),onMouseleave:t=>xn(e),onClick:t=>Sn(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:X.value===e.uid?Q.value.hover.stroke:Q.value.stroke,"stroke-width":X.value===e.uid?Q.value.hover.strokeWidth:Q.value.strokeWidth,"vector-effect":`non-scaling-stroke`,onMouseenter:t=>bn(e),onMouseleave:t=>xn(e),onClick:t=>Sn(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=>Dn(e),onMouseleave:On},null,40,ze))),128))]),(x(!0),_(_e,null,C(fn.value,(t,n)=>(x(),_(`g`,{key:t.uid},[w(e.$slots,`datapoint`,xe({ref_for:!0},{point:t,onPointEnter:Cn,onPointLeave:wn,onPointClick:En,highlighted:Y.value===t.uid}),()=>[v(`circle`,{class:Ce({"vue-ui-geo-point":!0,"vue-ui-geo-point-with-event":Tn.value&&ut.value}),cx:t.x,cy:t.y,r:Y.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=>Cn(t,n),onMouseleave:e=>wn(t),onClick:e=>En(t)},null,42,Be)],!0),lt.value.show?(x(),_(`text`,{key:0,class:`vue-ui-geo-point-label`,x:t.x,y:t.y+(Y.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:on.value,x:K.value?.minX??0,y:K.value?.minY??0,width:K.value?.width??0,height:K.value?.height??0,isPrintingImg:T(gt)||T(_t)||T(Pn),isPrintingSvg:T(Fn),data:{areaPaths:Ht.value,linePaths:Ut.value,geoJsonPoints:Wt.value,projectedPoints:fn.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($t),isFullscreen:P.value,isCursorPointer:ut.value,onZoomIn:sn,onZoomOut:cn,onResetZoom:ln},null,8,[`config`,`scale`,`isFullscreen`,`isCursorPointer`])):g(``,!0),ye(T(Ge),{teleportTo:L.value.tooltip.teleportTo,show:B.value.showTooltip&&mn.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:hn.value,isCustom:J.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-94d7eb8d`]]);export{je as n,Ge as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.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-rPeBMZrn.js";import{n as l,t as u}from"./BaseScanner-8NdoBs7B.js";import{n as d}from"./useHints-C-TwxM0Y.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as p}from"./resolveChartConfig-CIhClE5R.js";import{t as ee}from"./chartImage-DPGnEuYM.js";import{t as te}from"./BaseZoomControls-ByS_7fmI.js";import{n as ne}from"./Title-BliHuXfT.js";import{t as re}from"./useChartExport-BZts4KFb.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-DVf3YcG5.js";import{c as le}from"./canvas-lib-22VpOI4_.js";import{t as ue}from"./useResponsive-CENUxfEL.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-CX3Pvo1N.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-C1q0Qoh7.js`)),Ke=be(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),qe=be(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Je=be(()=>import(`./PackageVersion-DhptF5oD.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=>{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||an()})):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();r?(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):(F.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=F.value.style.chart.tooltip.show)},{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];r&&(o(r)&&r.type===`GeometryCollection`?d=u(r,t,n,d,a):s(r)&&(r.coordinates==null&&r.type!==`GeometryCollection`?i&&(a.push(l({geometry:null,properties:t,fallbackName:n,featureIndex:d})),d+=1):(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);else 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 K=m(()=>Kt(Ft.value));function qt({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 Jt=m(()=>{let e=K.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 qt({bounds:e,targetWidth:W.value.width,targetHeight:W.value.height,padding:n})}),Yt=m(()=>`0 0 ${W.value.width} ${W.value.height}`),{viewBox:Xt,resetZoom:Zt,setInitialViewBox:Qt,scale:$t,zoomByFactor:en}=me(R,{x:0,y:0,width:W.value.width,height:W.value.height},1,V);function tn(){V.value=!V.value}function nn(e){let t=Jt.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 rn(){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=nn({x:s,y:c});return{x:l.x-i/2,y:l.y-a/2,width:i,height:a}}function an(){let e=rn();Qt(e,{overwriteCurrentIfNotZoomed:!0}),k.value=!0}let on=m(()=>{let e=Xt.value;return e?`${e.x} ${e.y} ${e.width} ${e.height}`:Yt.value});function sn(){en(We,!0)}function cn(){en(1/We,!0)}async function ln(){let e=rn();Qt(e,{overwriteCurrentIfNotZoomed:!0}),Zt(!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||an()})},{deep:!1}),ke(()=>[H.value,U.value,z.value],async()=>{z.value&&(await Se(),Qt({x:0,y:0,width:W.value.width,height:W.value.height},{overwriteCurrentIfNotZoomed:!0}),k.value=!1,requestAnimationFrame(()=>{k.value||an()}))},{flush:`post`});function un(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 dn=m(()=>un(ht.value)),fn=m(()=>dn.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)),q=m(()=>fn.value.map((e,t)=>({...e,keyboardIndex:t})));function pn(e){let t=nn(e),n=c(t.x,t.y,R.value);n&&(at.value={x:n.x,y:n.y})}let mn=S(!1),hn=S(``),J=S(!1),Y=S(null),X=S(null);function gn(e){hn.value=e,mn.value=!0}function Z(){mn.value=!1,hn.value=``}function _n(e){return String(e??``).replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function vn(e){$e.value={datapoint:e,seriesIndex:e.index,series:dn.value,config:F.value},J.value=!1;let t=L.value.tooltip.customFormat;if(n(t))try{let e=t($e.value);if(typeof e==`string`)return J.value=!0,e}catch{console.warn(`Custom format cannot be applied.`),J.value=!1}return`<div><div style="font-weight:600">${_n(e.name)}</div>${e.description==null?``:`<div style="margin-top:6px">${_n(e.description)}</div>`}</div>`}function yn(e){J.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 J.value=!0,n}catch{console.warn(`Custom format cannot be applied.`),J.value=!1}let r=typeof e?.name==`string`?e.name.trim():``;return r?`<div><div style="font-weight:600">${_n(r)}</div></div>`:(J.value=!1,``)}function bn(e){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?(X.value=null,Z()):(X.value=e.uid,gn(yn(e)))}function xn(e){X.value=null,Z(),F.value.events.territoryLeave&&F.value.events.territoryLeave({datapoint:e,seriesIndex:e.index})}function Sn(e){F.value.events.territoryClick&&F.value.events.territoryClick({datapoint:e,seriesIndex:e.index})}function Cn(e,t=null,n=`pointer`){N.value=n,Y.value=e.uid,Number.isInteger(t)&&(M.value=t),n===`keyboard`&&pn(e),gn(vn(e)),F.value.events.datapointEnter&&F.value.events.datapointEnter({datapoint:e,seriesIndex:e.index})}function wn(e,t=`pointer`){(t!==`pointer`||N.value!==`keyboard`)&&(Y.value=null,Z(),t!==`pointer`&&(M.value=null,N.value=`pointer`),F.value.events.datapointLeave&&F.value.events.datapointLeave({datapoint:e,seriesIndex:e.index}))}let Tn=m(()=>!!F.value.events.datapointClick&&typeof F.value.events.datapointClick==`function`);function En(e){Tn.value&&F.value.events.datapointClick({datapoint:e,seriesIndex:e.index})}let Q=m(()=>L.value.territory);function Dn(e){let t=typeof e?.name==`string`?e.name.trim():``;if(!t){X.value=null,Z();return}let n={name:t,uid:e.uid,index:e.featureIndex,properties:{}};X.value=e.uid,gn(yn(n))}function On(){X.value=null,Z()}let kn=S(!1);function An(){kn.value=!kn.value}ke(()=>kn.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=nn({x:o,y:s}),l=Xt.value?{...Xt.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){Xt.value=u;return}let d={...l},f={...u},p=null,ee=e=>{p??=e;let t=Math.min((e-p)/250,1);Xt.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||(an(),(F.value.map.center?.[0]||F.value.map.center?.[1])&&Un(F.value.map.center,{animated:!1}))})}),Te(()=>{xt()});async function Wn(){Ye(`copyAlt`,{config:F.value,dataset:ht.value}),F.value.userOptions.callbacks.altCopy?await Promise.resolve(F.value.userOptions.callbacks.altCopy({config:F.value,dataset:ht.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Gn(e,t){let n=q.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=q.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:q.value[M.value];e?wn(e,`keyboard`):(M.value=null,N.value=`pointer`,Z(),Y.value=null),ot.value=!1}function Yn(e){if(!R.value||kn.value||document.activeElement!==R.value||!q.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:q.value[M.value];e?wn(e,`keyboard`):(M.value=null,N.value=`pointer`,Z(),Y.value=null);return}if(a){let e=M.value==null?null:q.value[M.value];if(!e)return;En(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=q.value[c];l&&Cn(l,c,`keyboard`)}let Xn=m(()=>({headers:[`Name`,`Latitude`,`Longitude`,`Description`],rows:dn.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:sn,zoomOut:cn,resetZoom:Zt,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:kn.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:kn.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:tn,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($t),isFullscreen:P.value,isCursorPointer:ut.value,onZoomIn:sn,onZoomOut:cn,onResetZoom:ln},null,8,[`config`,`scale`,`isFullscreen`,`isCursorPointer`])):g(``,!0),v(`div`,Pe,[(x(),_(`svg`,{ref_key:`svgRef`,ref:R,xmlns:T(s),viewBox:on.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:Jt.value.transform,style:we({pointerEvents:$.value?`none`:`auto`})},[w(e.$slots,`svg-underlayer`,{svg:{drawingArea:on.value,x:K.value?.minX??0,y:K.value?.minY??0,width:K.value?.width??0,height:K.value?.height??0,isPrintingImg:T(gt)||T(_t)||T(Pn),isPrintingSvg:T(Fn),data:{areaPaths:Ht.value,linePaths:Ut.value,geoJsonPoints:Wt.value,projectedPoints:fn.value}}},void 0,!0),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:X.value===e.uid?Q.value.hover.fill:Q.value.fill,stroke:X.value===e.uid?Q.value.hover.stroke:Q.value.stroke,"stroke-width":X.value===e.uid?Q.value.hover.strokeWidth:Q.value.strokeWidth,"vector-effect":`non-scaling-stroke`,onMouseenter:t=>bn(e),onMouseleave:t=>xn(e),onClick:t=>Sn(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:X.value===e.uid?Q.value.hover.stroke:Q.value.stroke,"stroke-width":X.value===e.uid?Q.value.hover.strokeWidth:Q.value.strokeWidth,"vector-effect":`non-scaling-stroke`,onMouseenter:t=>bn(e),onMouseleave:t=>xn(e),onClick:t=>Sn(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=>Dn(e),onMouseleave:On},null,40,ze))),128))]),(x(!0),_(_e,null,C(fn.value,(t,n)=>(x(),_(`g`,{key:t.uid},[w(e.$slots,`datapoint`,xe({ref_for:!0},{point:t,onPointEnter:Cn,onPointLeave:wn,onPointClick:En,highlighted:Y.value===t.uid}),()=>[v(`circle`,{class:Ce({"vue-ui-geo-point":!0,"vue-ui-geo-point-with-event":Tn.value&&ut.value}),cx:t.x,cy:t.y,r:Y.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=>Cn(t,n),onMouseleave:e=>wn(t),onClick:e=>En(t)},null,42,Be)],!0),lt.value.show?(x(),_(`text`,{key:0,class:`vue-ui-geo-point-label`,x:t.x,y:t.y+(Y.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:on.value,x:K.value?.minX??0,y:K.value?.minY??0,width:K.value?.width??0,height:K.value?.height??0,isPrintingImg:T(gt)||T(_t)||T(Pn),isPrintingSvg:T(Fn),data:{areaPaths:Ht.value,linePaths:Ut.value,geoJsonPoints:Wt.value,projectedPoints:fn.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($t),isFullscreen:P.value,isCursorPointer:ut.value,onZoomIn:sn,onZoomOut:cn,onResetZoom:ln},null,8,[`config`,`scale`,`isFullscreen`,`isCursorPointer`])):g(``,!0),ye(T(Ge),{teleportTo:L.value.tooltip.teleportTo,show:B.value.showTooltip&&mn.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:hn.value,isCustom:J.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-94d7eb8d`]]);export{je as n,Ge as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,X as r,at as ee,i,in as a}from"./lib-rPeBMZrn.js";import{n as te,t as o}from"./BaseScanner-8NdoBs7B.js";import{n as s,t as c}from"./useHints-C-TwxM0Y.js";import{t as l}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as u}from"./useNestedProp-DnGoh-XS.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-
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,X as r,at as ee,i,in as a}from"./lib-rPeBMZrn.js";import{n as te,t as o}from"./BaseScanner-8NdoBs7B.js";import{n as s,t as c}from"./useHints-C-TwxM0Y.js";import{t as l}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as u}from"./useNestedProp-DnGoh-XS.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-DhptF5oD.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};
|