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,Dt as i,Ht as a,Jt as o,S as s,X as ee,Yt as c,Zt as te,at as ne,i as re,in as ie,n as ae,nt as oe,pt as se,r 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,t as ge}from"./useHints-C-TwxM0Y.js";import{t as _e}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ve}from"./resolveChartConfig-CIhClE5R.js";import{t as ye}from"./chartImage-DPGnEuYM.js";import{n as be}from"./Title-BliHuXfT.js";import{t as xe}from"./useChartExport-BZts4KFb.js";import{n as Se,t as Ce}from"./tableIntegration-CNoJ1CIY.js";import{n as we,t as Te}from"./annotationSlots-BRR85CqJ.js";import{n as Ee,t as De}from"./userOptionsSlots-DYuo-E5m.js";import{t as Oe}from"./usePrinter-DVf3YcG5.js";import{t as ke}from"./useTransitions-ChGGrtrv.js";import{t as Ae}from"./Shape-CRe8woTu.js";import{c as je}from"./canvas-lib-22VpOI4_.js";import{t as Me}from"./useResponsive-CENUxfEL.js";import{t as Ne}from"./DefGrad-DKMq1REY.js";import{t as Pe}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Fe}from"./A11yDataTable-DWNlWXzs.js";import{t as Ie}from"./useUserOptionState-CXlFnwPv.js";import{t as Le}from"./useChartAccessibility-DOMuYJfm.js";import{t as Re}from"./labelUtils-CdtU-yB_.js";import{t as ze}from"./Legend-DM0ClX3D.js";import{t as Be}from"./usePrefersMotion-XLHwega2.js";import{t as Ve}from"./vue_ui_waffle-BbBLSluB.js";import{Fragment as l,Teleport as He,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as Ue,createTextVNode as We,createVNode as Ge,defineAsyncComponent as h,guardReactiveProps as Ke,mergeProps as qe,nextTick as Je,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onBeforeUnmount as Ye,onMounted as Xe,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as Ze,shallowRef as Qe,toDisplayString as $e,toRefs as et,unref as C,useSlots as tt,watch as nt,withCtx as w}from"vue";var rt=/* @__PURE__ */ e({default:()=>jt}),it=[`id`],at=[`id`],ot=[`id`],st={style:{position:`relative`}},ct=[`xmlns`,`aria-describedby`,`viewBox`],lt=[`id`],ut=[`x`,`y`,`height`,`width`],dt=[`height`,`width`],ft={key:0},pt=[`d`,`stroke`,`stroke-width`,`filter`],mt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],ht={key:0},gt=[`d`,`fill`,`filter`],_t=[`rx`,`x`,`y`,`height`,`width`,`stroke`,`stroke-width`,`filter`],vt=[`rx`,`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`,`filter`],yt={key:0},bt=[`rx`,`x`,`y`,`height`,`width`,`fill`,`filter`],xt=[`points`,`stroke`,`stroke-width`,`stroke-linejoin`],St=[`textContent`,`x`,`y`,`font-size`,`fill`,`filter`],Ct=[`d`,`onMouseover`,`onMouseleave`,`onClick`],wt=[`x`,`y`,`height`,`width`,`onMouseover`,`onMouseleave`,`onClick`],Tt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Et={key:5,class:`vue-data-ui-watermark`},Dt=[`id`],Ot=[`onClick`],kt={key:0},At={key:1},jt=/*#__PURE__*/ _e({__name:`vue-ui-waffle`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`copyAlt`],setup(e,{expose:_e,emit:rt}){let jt=h(()=>import(`./Tooltip-C1q0Qoh7.js`)),Mt=h(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Nt=h(()=>import(`./DataTable-0Vv-aGHD.js`)),Pt=h(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Ft=h(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),It=h(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Lt=h(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),Rt=h(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_waffle:zt}=t(),Bt=Be(),T=e,Vt=tt(),Ht=u({get(){return!!T.dataset&&T.dataset.length},set(e){return e}}),E=b(ee()),Ut=b(!1),Wt=b(``),D=b(null),Gt=b(0),Kt=b(null),qt=b(null),Jt=b(null),Yt=b(null),Xt=b(null),Zt=b(0),Qt=b(0),$t=b(0),en=b(!1),tn=b(null),nn=b(null),O=b(null),rn=b({x:0,y:0}),an=b(`pointer`),on=b(!1),k=b(gn()),A=u(()=>k.value.userOptions),j=u(()=>k.value.style.chart.tooltip),M=u(()=>k.value.style.chart.legend),N=u(()=>k.value.style.chart.layout.rect),P=u(()=>k.value.style.chart.layout.grid),F=u(()=>k.value.style.chart.layout),I=u(()=>k.value.style.chart),{transitionEnabled:L}=ke({config:()=>k.value.transitions,dataset:()=>T.dataset});he({config:()=>k.value,dataset:()=>T.dataset,component:`VueUiWaffle`,rules:[ge.singleSeries,ge.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 sn=u(()=>k.value.userOptions.useCursorPointer),cn=u(()=>ie({defaultConfig:{useCustomCells:!1,userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{labels:{captions:{show:!1}},rect:{stroke:`#999999`}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1}}}},userConfig:k.value.skeletonConfig??{}})),{loading:ln,FINAL_DATASET:un,manualLoading:dn}=pe({...et(T),FINAL_CONFIG:k,prepareConfig:gn,callback:()=>{Promise.resolve().then(async()=>{W.value=jn()})},skeletonDataset:T.config?.skeletonDataset??[{name:``,values:[1],color:`#AAAAAA`},{name:``,values:[1],color:`#BABABA`},{name:``,values:[1],color:`#CACACA`}],skeletonConfig:ie({defaultConfig:k.value,userConfig:cn.value})}),{userOptionsVisible:fn,setUserOptionsVisibility:pn,keepUserOptionState:mn}=Ie({config:k.value}),{svgRef:hn}=Le({config:I.value.title});function gn(){return ve(T.config,zt,Ve)}let _n=te(T.config);nt(()=>T.config,(e,t)=>{let n=te(e),r=n!==_n;_n=n;let i=gn();r?(ln.value||(k.value=i),fn.value=!k.value.userOptions.showOnChartHover,bn(),Zt.value+=1,Qt.value+=1,$t.value+=1,z.value.showTable=k.value.table.show,z.value.showTooltip=j.value.show):(k.value.style.chart.tooltip=i.style.chart.tooltip,z.value.showTooltip=k.value.style.chart.tooltip.show)},{deep:!0});let R=Qe(null),vn=Qe(null),yn=u(()=>k.value.debug);function bn(){if(fe(T.dataset)?(ne({componentName:`VueUiWaffle`,type:`dataset`,debug:yn.value}),Ht.value=!1,dn.value=!0):yn.value&&T.dataset.forEach((e,t)=>{de({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{ne({componentName:`VueUiWaffle`,type:`datasetSerieAttribute`,property:e,index:t})})}),fe(T.dataset)||(dn.value=k.value.loading),k.value.responsive){let e=je(()=>{let{width:e,height:t}=Me({chart:Kt.value,title:I.value.title.text?qt.value:null,legend:M.value.show?Jt.value:null,source:Yt.value,noTitle:Xt.value});requestAnimationFrame(()=>{B.value.width=e,B.value.height=t,V.value.width=e,V.value.height=t})});R.value&&(vn.value&&R.value.unobserve(vn.value),R.value.disconnect()),R.value=new ResizeObserver(e),vn.value=Kt.value.parentNode,R.value.observe(vn.value)}}Xe(()=>{en.value=!0,bn()}),Ye(()=>{R.value&&(vn.value&&R.value.unobserve(vn.value),R.value.disconnect())});let{isPrinting:xn,isImaging:Sn,generatePdf:Cn,generateImage:wn}=Oe({elementId:`vue-ui-waffle_${E.value}`,fileName:I.value.title.text||`vue-ui-waffle`,options:k.value.userOptions.print}),Tn=u(()=>k.value.userOptions.show&&!I.value.title.text),En=u(()=>ue(k.value.customPalette)),z=b({showTable:k.value.table.show,showTooltip:j.value.show});nt(k,()=>{z.value={showTable:k.value.table.show,showTooltip:j.value.show}},{immediate:!0});let B=b({height:512,width:512}),V=b({top:0,left:0,height:512,width:512}),H=u(()=>(V.value.width-P.value.size*P.value.spaceBetween)/P.value.size),U=u(()=>(V.value.height-P.value.size*P.value.spaceBetween)/P.value.size),Dn=u(()=>Math.max(1e-4,V.value.width/P.value.size)),On=u(()=>Math.max(1e-4,V.value.height/P.value.size));function kn(e){let t=P.value.size*P.value.size,n=e.reduce((e,t)=>e+t,0),r=e.map(e=>e/n*t),i=r.map(Math.floor),a=r.map(e=>e%1),o=t-i.reduce((e,t)=>e+t,0);for(;o>0;){let e=a.indexOf(Math.max(...a));i[e]+=1,a[e]=0,--o}return i}let An=b(!1);function jn(){return An.value=un.value.flatMap(e=>e.values.reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0)===0,un.value.map((e,t)=>({...e,color:s(e.color)||En.value[t]||a[t]||a[t%a.length],uid:`serie_${t}`,absoluteIndex:t}))}let Mn=u(()=>jn()),W=b(Mn.value);nt(()=>T.dataset,e=>{Array.isArray(e)&&e.length>0&&(dn.value=!1)},{immediate:!0}),nt(()=>T.dataset,e=>{W.value=jn()},{deep:!0});let Nn=u(()=>kn(W.value.filter((e,t)=>!J.value.includes(e.uid)).map((e,t)=>An.value?1:(e.values||[]).reduce((e,t)=>e+t,0)))),Pn=u(()=>kn(W.value.map((e,t)=>An.value?1:(e.values||[]).reduce((e,t)=>e+t)))),Fn=u(()=>P.value.size**2),G=u(()=>(yn.value&&un.value.forEach((e,t)=>{[null,void 0].includes(e.values)&&ne({componentName:`VueUiWaffle`,type:`datasetSerieAttribute`,property:`values (number[])`,index:t})}),W.value.filter((e,t)=>!J.value.includes(e.uid)).map((e,t)=>{let n=Nn.value[t];return{absoluteIndex:e.absoluteIndex,uid:e.uid,name:e.name,color:e.color,value:(e.values||[]).reduce((e,t)=>e+t,0),absoluteValues:e.values||[],squareCount:n,proportion:n/Fn.value}}))),In=u(()=>W.value.map((e,t)=>{let n=Pn.value[t];return{absoluteIndex:e.absoluteIndex,uid:e.uid,name:e.name,color:e.color,value:(e.values||[]).reduce((e,t)=>e+t,0),absoluteValues:e.values||[],squareCount:n,proportion:n/Fn.value}}));function Ln(){return In.value.map(e=>({name:e.name,color:e.color,value:e.value,squareCount:e.squareCount,proportion:e.proportion}))}let Rn=u(()=>{let e=0;return G.value.map((t,n)=>{let r=e,i=r+t.squareCount,a=[];for(let e=Math.floor(r);e<Math.floor(i);e+=1)a.push(e);return e=i,{...t,start:r,rects:a}})}),K=u(()=>Rn.value.flatMap((e,t)=>e.rects.map((n,r)=>({isFirst:r===0,isLongEnough:n.length>2,name:e.name,color:e.color,value:e.value,serieIndex:t,absoluteStartIndex:r<3,serieId:e.uid,...e}))).map((e,t)=>({...e,isAbsoluteFirst:t%P.value.size===0}))),q=u(()=>{let e=[];for(let t=0;t<P.value.size;t+=1)for(let n=0;n<P.value.size;n+=1)e.push({isStartOfLine:n===0,position:P.value.vertical?t:n,x:(P.value.vertical?t:n)*(H.value+P.value.spaceBetween),y:(P.value.vertical?n:t)*(U.value+P.value.spaceBetween)+V.value.top});return e}),J=b([]),zn=b(!1),Bn=b(Object.create(null)),Vn=b(Object.create(null)),Y=b(0);function Hn(e,t){W.value=W.value.map(n=>n.uid===e?{...n,values:[t]}:n)}function Un(e,t){let n=t.find(t=>t.uid===e);return n?(n.values||[]).reduce((e,t)=>e+t,0):0}function Wn(e){let t=!1;Bn.value[e]&&(cancelAnimationFrame(Bn.value[e]),delete Bn.value[e],t=!0),Vn.value[e]&&(cancelAnimationFrame(Vn.value[e]),delete Vn.value[e],t=!0),t&&(Y.value=Math.max(0,Y.value-1),zn.value=Y.value>0)}function Gn({seriesId:e,fromValue:t,toValue:n,mode:r}){Wn(e),Y.value+=1,zn.value=!0;let i=t;return new Promise(a=>{function o(){if(r===`increase`){if(i>=n){Hn(e,n),--Y.value,Y.value<=0&&(zn.value=!1),delete Bn.value[e],a();return}i+=n*.025,i>n&&(i=n),Hn(e,i),Bn.value[e]=requestAnimationFrame(o)}else{if(i<=t/100){Hn(e,0),--Y.value,Y.value<=0&&(zn.value=!1),delete Vn.value[e],a();return}i/=1.15,Hn(e,i),Vn.value[e]=requestAnimationFrame(o)}}o()})}function Kn(){W.value=Mn.value;let e=J.value.length>0;k.value.useAnimation?e?[...J.value].forEach(e=>{qn(e,!0)}):X.value.map(e=>e.uid).forEach(e=>{qn(e,!0)}):e?J.value=[]:J.value=X.value.map(e=>e.uid)}function qn(e,t=!1){if(An.value&&!t)return;let n=t||J.value.length<X.value.length-1&&X.value.length>1;if(!k.value.useAnimation){J.value.includes(e)?J.value=J.value.filter(t=>t!==e):n&&J.value.push(e);return}let r=Un(e,Mn.value),i=Un(e,W.value);if(i!==0||r!==0){if(J.value.includes(e)){if(J.value=J.value.filter(t=>t!==e),Bt.value){Wn(e),Hn(e,r),or(`selectLegend`,G.value.map(e=>({name:e.name,color:e.color,value:e.value,proportion:e.proportion})));return}Gn({seriesId:e,fromValue:i,toValue:r,mode:`increase`}).then(()=>{or(`selectLegend`,G.value.map(e=>({name:e.name,color:e.color,value:e.value,proportion:e.proportion})))})}else n&&(Bt.value?(Wn(e),J.value.includes(e)||J.value.push(e),Hn(e,0),or(`selectLegend`,G.value.map(e=>({name:e.name,color:e.color,value:e.value,proportion:e.proportion})))):Gn({seriesId:e,fromValue:i,toValue:0,mode:`decrease`}).then(()=>{J.value.includes(e)||J.value.push(e),Hn(e,0),or(`selectLegend`,G.value.map(e=>({name:e.name,color:e.color,value:e.value,proportion:e.proportion})))}))}}function Jn(e){return In.value.length?In.value.find(t=>t.name===e)||(yn.value&&console.warn(`VueUiWaffle - Series name not found "${e}"`),null):(yn.value&&console.warn(`VueUiWaffle - There are no series to show.`),null)}function Yn(e){let t=Jn(e);t!==null&&J.value.includes(t.uid)&&qn(t.uid)}function Xn(e){let t=Jn(e);t!==null&&(J.value.includes(t.uid)||qn(t.uid))}function Zn({val:e,percentage:t,showVal:n,showPercentage:r,config:i}){return Re({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}let X=u(()=>W.value.map((e,t)=>{let n=(e.values||[]).reduce((e,t)=>e+t,0),r=n/W.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0);return{name:e.name,color:e.color||En[t]||a[t]||a[t%a.length],value:n,proportion:r,uid:e.uid,shape:`square`}}).map((e,t)=>{let r=Zn({val:re(F.value.labels.dataLabels.formatter,e.value,n({p:F.value.labels.dataLabels.prefix,v:e.value,s:F.value.labels.dataLabels.suffix,r:M.value.roundingValue}),{datapoint:e,index:t}),percentage:isNaN(e.value/Z.value)?`-`:n({v:e.value/Z.value*100,s:`%`,r:M.value.roundingPercentage}),showVal:M.value.showValue,showPercentage:M.value.showPercentage,config:M.value});return{...e,opacity:J.value.includes(e.uid)?.5:1,segregate:()=>qn(e.uid),isSegregated:J.value.includes(e.uid),display:`${e.name}${M.value.showPercentage||M.value.showValue?`: `:``}${r}`}})),Qn=u(()=>({cy:`waffle-div-legend`,backgroundColor:M.value.backgroundColor,color:M.value.color,fontSize:M.value.fontSize,paddingBottom:12,fontWeight:M.value.bold?`bold`:``})),Z=u(()=>G.value.map(e=>e.value).reduce((e,t)=>e+t,0)),$n=b(null),er=b(null),Q=u(()=>{let e=/* @__PURE__ */ new Map;return K.value.forEach((t,n)=>{e.has(t.serieIndex)?e.get(t.serieIndex).rectIndexes.push(n):e.set(t.serieIndex,{serieIndex:t.serieIndex,absoluteIndex:t.absoluteIndex,serieId:t.serieId,name:t.name,color:t.color,value:t.value,proportion:t.proportion,rectIndexes:[n]})}),Array.from(e.values()).sort((e,t)=>e.serieIndex-t.serieIndex)});function tr(e){return Q.value.find(t=>t.serieIndex===e)||null}function nr(e){let t=tr(e);return!t||!t.rectIndexes.length?null:t.rectIndexes[0]}function rr(e){let t=K.value[e];k.value.events.datapointClick&&k.value.events.datapointClick({datapoint:t,seriesIndex:t.serieIndex})}function ir(e){let t=K.value[e];k.value.events.datapointLeave&&k.value.events.datapointLeave({datapoint:t,seriesIndex:t.serieIndex}),er.value=null,Ut.value=!1,D.value=null,O.value=null,an.value=`pointer`}function ar(e,t=`pointer`){if(J.value.length===T.dataset.length)return;let r=K.value[e];if(!r)return;an.value=t,O.value=r.serieIndex,$n.value={datapoint:r,seriesIndex:r.absoluteIndex,series:W.value,config:k.value},k.value.events.datapointEnter&&er.value!==r.serieIndex&&k.value.events.datapointEnter({datapoint:r,seriesIndex:r.serieIndex}),er.value=r.serieIndex,Ut.value=!0,D.value=r.serieIndex;let a=j.value.customFormat;if(i(a)&&se(()=>a({seriesIndex:r.absoluteIndex,datapoint:r,series:W.value,config:k.value})))Wt.value=a({seriesIndex:r.absoluteIndex,datapoint:r,series:W.value,config:k.value});else{let e=``;e+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${j.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${r.name}</div>`,e+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><rect x="0" y="0" height="60" width="60" stroke="none" rx="1" fill="${r.color}" />${Vt.pattern?`<rect x="0" y="0" height="60" width="60" stroke="none" rx="1" stroke="none" fill="url(#pattern_${E.value}_${r.absoluteIndex})"/>`:``}</svg>`,e+=`<b>${Zn({config:j.value,showVal:j.value.showValue,showPercentage:j.value.showPercentage,val:`<span>${re(F.value.labels.dataLabels.formatter,r.value,n({p:F.value.labels.dataLabels.prefix,v:r.value,s:F.value.labels.dataLabels.suffix,r:j.value.roundingValue}),{datapoint:r,seriesIndex:r.absoluteIndex,series:W.value})}</span>`,percentage:`<span>${n({v:An.value?1/un.value.length*100:r.value/Z.value*100,s:`%`,r:j.value.roundingPercentage})}</span>`})}</b></div>`,Wt.value=e}}let or=rt,$=u(()=>({head:G.value.map(e=>({name:e.name,color:e.color})),body:G.value.map(e=>e.value)}));function sr(e){return k.value.useBlurOnHover&&![null,void 0].includes(D.value)&&D.value!==e?`url(#blur_${E.value})`:``}function cr(e){return[null,void 0].includes(D.value)||D.value===e?{opacity:1}:{opacity:N.value.selection.unselectedOpacity}}function lr(e){return e.length<=3?e:e.filter((t,n)=>{let r=e[(n-1+e.length)%e.length],i=e[(n+1)%e.length],a=r.x===t.x&&t.x===i.x,o=r.y===t.y&&t.y===i.y;return!a&&!o})}function ur(e){if(!e.length)return[];let t=new Set(e.map(({row:e,col:t})=>`${e}:${t}`)),n=[],r=/* @__PURE__ */ new Set,i=[[-1,0],[0,1],[1,0],[0,-1]];e.forEach(e=>{let a=`${e.row}:${e.col}`;if(r.has(a))return;let o=[],s=[e];for(r.add(a);s.length;){let e=s.shift();o.push(e),i.forEach(([n,i])=>{let a=e.row+n,o=e.col+i,ee=`${a}:${o}`;t.has(ee)&&!r.has(ee)&&(r.add(ee),s.push({row:a,col:o}))})}n.push(o)});let a=[];return n.forEach(e=>{let t=new Set(e.map(({row:e,col:t})=>`${e}:${t}`)),n=[];e.forEach(({row:e,col:r})=>{t.has(`${e-1}:${r}`)||n.push({start:{x:r,y:e},end:{x:r+1,y:e}}),t.has(`${e}:${r+1}`)||n.push({start:{x:r+1,y:e},end:{x:r+1,y:e+1}}),t.has(`${e+1}:${r}`)||n.push({start:{x:r+1,y:e+1},end:{x:r,y:e+1}}),t.has(`${e}:${r-1}`)||n.push({start:{x:r,y:e+1},end:{x:r,y:e}})});let r=/* @__PURE__ */ new Map,i=e=>`${e.start.x}:${e.start.y}>${e.end.x}:${e.end.y}`,o=e=>`${e.x}:${e.y}`,s=new Set(n.map(i));for(n.forEach(e=>{let t=o(e.start);r.has(t)||r.set(t,[]),r.get(t).push(e)});s.size;){let e=s.values().next().value,t=n.find(t=>i(t)===e),ee=t.start,c=[ee],te=t;for(;te;){s.delete(i(te));let e=te.end;if(o(e)===o(ee))break;c.push(e),te=(r.get(o(e))||[]).find(e=>s.has(i(e)))}c.length>=4&&a.push(lr(c))}}),a}function dr(e){let t=P.value.size,n=P.value.vertical,r=[];return K.value.forEach((i,a)=>{if(i.serieIndex!==e)return;let o=Math.floor(a/t),s=a%t;r.push({row:n?s:o,col:n?o:s})}),r}function fr(e){let t=Dn.value,n=On.value;return ur(dr(e)).map(e=>e.map(({x:e,y:r})=>({x:e*t,y:V.value.top+r*n})))}function pr(e){return e.map(({x:e,y:t})=>`${e},${t}`).join(` `)}function mr(e){return e.map(e=>{if(!e.length)return``;let[t,...n]=e,r=n.map(({x:e,y:t})=>`L ${e} ${t}`).join(` `);return`M ${t.x} ${t.y} ${r} Z`}).filter(Boolean).join(` `)}let hr=u(()=>!N.value.selection?.wrap?.show||[null,void 0].includes(D.value)?[]:fr(D.value).map(pr)),gr=u(()=>{if(!N.value.merged)return[];let e=/* @__PURE__ */ new Map;return K.value.forEach((t,n)=>{e.has(t.serieIndex)||e.set(t.serieIndex,{serieIndex:t.serieIndex,absoluteIndex:t.absoluteIndex,color:t.color,gradientIndex:n,rectIndex:n})}),Array.from(e.values()).map(e=>({...e,d:mr(fr(e.serieIndex))})).filter(e=>e.d)});function _r(e,t){return F.value.labels.captions.show?K.value.length&&!zn.value&&!P.value.vertical&&(K.value[e].isFirst&&t.position<P.value.size-2||K.value[e].isAbsoluteFirst&&e%P.value.size===0&&K.value[e].absoluteStartIndex):!1}function vr(e,t=null){let r=re(F.value.labels.dataLabels.formatter,K.value[e].value,n({p:F.value.labels.dataLabels.prefix,v:K.value[e].value,s:F.value.labels.dataLabels.suffix,r:F.value.labels.captions.roundingValue}),{datapoint:K.value[e],position:t}),i=n({v:K.value[e].proportion*100,s:`%`,r:F.value.labels.captions.roundingPercentage}),a=(F.value.labels.captions.serieNameAbbreviation?ae({source:K.value[e].name,length:F.value.labels.captions.serieNameMaxAbbreviationSize}):K.value[e].name)+(F.value.labels.captions.showPercentage||F.value.labels.captions.showValue?`:`:``);return`${F.value.labels.captions.showSerieName?a:``} ${Zn({val:r,percentage:i,showVal:F.value.labels.captions.showValue,showPercentage:F.value.labels.captions.showPercentage,config:F.value.labels.dataLabels})}`}function yr(e=null){Je(()=>{let t=$.value.head.map((e,t)=>[[e.name],[$.value.body[t]],[isNaN($.value.body[t]/Z.value)?`-`:$.value.body[t]/Z.value*100]]),n=[[I.value.title.text],[I.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):oe({csvContent:i,title:I.value.title.text||`vue-ui-waffle`})})}let br=u(()=>({head:[`__SUM__`,re(F.value.labels.dataLabels.formatter,Z.value,n({p:F.value.labels.dataLabels.prefix,v:Z.value,s:F.value.labels.dataLabels.suffix,r:k.value.table.td.roundingValue})),`100%`],body:$.value.head.map((e,t)=>[{color:e.color,name:e.name},re(F.value.labels.dataLabels.formatter,$.value.body[t],n({p:F.value.labels.dataLabels.prefix,v:$.value.body[t],s:F.value.labels.dataLabels.suffix,r:k.value.table.td.roundingValue})),isNaN($.value.body[t]/Z.value)?`-`:n({v:$.value.body[t]/Z.value*100,s:`%`,r:k.value.table.td.roundingPercentage})]),config:{th:{backgroundColor:k.value.table.th.backgroundColor,color:k.value.table.th.color,outline:k.value.table.th.outline},td:{backgroundColor:k.value.table.td.backgroundColor,color:k.value.table.td.color,outline:k.value.table.td.outline},shape:`square`,breakpoint:k.value.table.responsiveBreakpoint},colNames:[k.value.table.columnNames.series,k.value.table.columnNames.value,k.value.table.columnNames.percentage]})),xr=b(!1);function Sr(e){xr.value=e,Gt.value+=1}function Cr(){z.value.showTable=!z.value.showTable}function wr(){z.value.showTooltip=!z.value.showTooltip}let Tr=b(!1);function Er(){Tr.value=!Tr.value}let Dr=ye(Kt,()=>I.value.title.text),Or=u(()=>Ce({config:k,style:I,mutableConfig:z,dialog:Rt,accordion:Pt,isFullscreen:xr,parent:Kt,maxWidth:500,isCursorPointer:sn}));nt(()=>z.value.showTable,e=>Se(e,k,tn));function kr(){z.value.showTable=!1,nn.value&&nn.value.setTableIconState(!1)}let Ar=u(()=>X.value.map(e=>({...e,name:e.display}))),jr=u(()=>I.value.backgroundColor),Mr=u(()=>I.value.title),{isCallbackImaging:Nr,isCallbackSvg:Pr,generateSvg:Fr,onGenerateImage:Ir}=xe({svg:hn,title:Mr,legend:M,legendItems:Ar,backgroundColor:jr,getSvgCallback:()=>k.value.userOptions.callbacks.svg,generateImage:wn});async function Lr(){or(`copyAlt`,{config:k.value,dataset:In.value}),k.value.userOptions.callbacks.altCopy?await Promise.resolve(k.value.userOptions.callbacks.altCopy({config:k.value,dataset:In.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Rr(){O.value=null,on.value=!0}function zr(){O.value=null,an.value=`pointer`,Ut.value=!1,D.value=null,er.value=null,on.value=!1}function Br(e){if(!hn.value||Tr.value||document.activeElement!==hn.value||!Q.value.length||J.value.length===T.dataset.length)return;let t=[`ArrowLeft`,`ArrowUp`].includes(e.key),n=[`ArrowRight`,`ArrowDown`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){O.value=null,an.value=`pointer`,Ut.value=!1,D.value=null,er.value=null;return}if(r){if(O.value===null)return;let e=nr(O.value);if(e===null)return;rr(e);return}let a=Q.value.findIndex(e=>e.serieIndex===O.value),o=null;if(o=a===-1?n?Q.value[0]:Q.value[Q.value.length-1]:n?Q.value[(a+1)%Q.value.length]:Q.value[(a-1+Q.value.length)%Q.value.length],!o)return;let s=nr(o.serieIndex);s!==null&&(Vr(o.serieIndex),ar(s,`keyboard`))}function Vr(e){if(!Number.isFinite(e)||!hn.value)return;let t=tr(e);if(!t||!t.rectIndexes.length)return;let n=t.rectIndexes.map(e=>{let t=q.value[e];return t?{x:t.x+P.value.spaceBetween/2+Dn.value/2,y:t.y+P.value.spaceBetween/2+On.value/2}:null}).filter(Boolean);if(!n.length)return;let r=Math.min(...n.map(e=>e.x)),i=Math.max(...n.map(e=>e.x)),a=Math.min(...n.map(e=>e.y)),o=Math.max(...n.map(e=>e.y)),s=(r+i)/2,ee=(a+o)/2,c=hn.value.getBoundingClientRect();rn.value={x:c.left+s/B.value.width*c.width,y:c.top+ee/B.value.height*c.height}}let Hr=u(()=>({headers:br.value?.colNames??[],rows:br.value?.body??[]}));return _e({getData:Ln,getImage:Dr,generatePdf:Cn,generateCsv:yr,generateImage:wn,generateSvg:Fr,hideSeries:Xn,showSeries:Yn,toggleTable:Cr,toggleTooltip:wr,toggleAnnotator:Er,toggleFullscreen:Sr,copyAlt:Lr}),(e,t)=>(y(),p(`div`,{class:g(`vue-data-ui-component vue-ui-waffle ${xr.value?`vue-data-ui-wrapper-fullscreen`:``}`),ref_key:`waffleChart`,ref:Kt,id:`vue-ui-waffle_${E.value}`,style:v(`font-family:${k.value.style.fontFamily};width:100%; text-align:center;background:${I.value.backgroundColor};${k.value.responsive?`height: 100%`:``}`),onMouseenter:t[2]||=()=>C(pn)(!0),onMouseleave:t[3]||=()=>C(pn)(!1)},[m(`div`,{id:`chart-instructions-${E.value}`,class:`sr-only`},[m(`p`,null,$e(k.value.a11y.translations.keyboardNavigation),1)],8,at),Hr.value?.rows?.length?(y(),d(Fe,{key:0,uid:E.value,head:Hr.value.headers,body:Hr.value.rows,notice:k.value.a11y.translations.tableAvailable,caption:k.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),A.value.buttons.annotator?(y(),d(C(It),{key:1,svgRef:C(hn),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Tr.value,isCursorPointer:sn.value,palette:A.value.annotatorPalette,onClose:Er},Ue({_:2},[x(C(Te),t=>({name:t,fn:w(n=>[S(e.$slots,t,_(Ke(C(we)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),Tn.value?(y(),p(`div`,{key:2,ref_key:`noTitle`,ref:Xt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),I.value.title.text?(y(),p(`div`,{key:3,ref_key:`chartTitle`,ref:qt,style:`width:100%;background:transparent;padding-bottom:12px`},[(y(),d(be,{key:`title_${Zt.value}`,config:{title:{cy:`waffle-title`,...I.value.title},subtitle:{cy:`waffle-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):f(``,!0),m(`div`,{id:`legend-top-${E.value}`},null,8,ot),A.value.show&&Ht.value&&(C(mn)||C(fn))?(y(),d(C(Ft),{ref_key:`userOptionsRef`,ref:nn,key:`user_options_${Gt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:C(xn),isImaging:C(Sn),uid:E.value,hasTooltip:A.value.buttons.tooltip&&j.value.show,hasPdf:A.value.buttons.pdf,hasImg:A.value.buttons.img,hasSvg:A.value.buttons.svg,hasXls:A.value.buttons.csv,hasTable:A.value.buttons.table,hasFullscreen:A.value.buttons.fullscreen,hasAltCopy:A.value.buttons.altCopy,isFullscreen:xr.value,isTooltip:z.value.showTooltip,titles:{...A.value.buttonTitles},chartElement:Kt.value,position:A.value.position,hasAnnotator:A.value.buttons.annotator,isAnnotation:Tr.value,callbacks:A.value.callbacks,printScale:A.value.print.scale,tableDialog:k.value.table.useDialog,isCursorPointer:sn.value,onToggleFullscreen:Sr,onGeneratePdf:C(Cn),onGenerateCsv:yr,onGenerateImage:C(Ir),onGenerateSvg:C(Fr),onToggleTable:Cr,onToggleTooltip:wr,onToggleAnnotator:Er,onCopyAlt:Lr,style:v({visibility:C(mn)?C(fn)?`visible`:`hidden`:`visible`})},Ue({_:2},[x(C(Ee)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:w(n=>[S(e.$slots,t,_(Ke(C(De)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,st,[(y(),p(`svg`,{ref_key:`svgRef`,ref:hn,xmlns:C(le),"aria-describedby":`chart-instructions-${E.value}`,class:g({"vue-data-ui-fullscreen--on":xr.value,"vue-data-ui-fulscreen--off":!xr.value,"vue-data-ui-no-transition":!C(L)}),tabindex:`0`,viewBox:`0 0 ${B.value.width<=0?10:B.value.width} ${B.value.height<=0?10:B.value.height}`,style:v(`max-width:100%;overflow:visible;background:transparent;color:${I.value.color}`),onFocus:Rr,onBlur:zr,onKeydown:Br},[Ge(C(Lt)),S(e.$slots,`svg-underlayer`,{svg:{...B.value,isPrintingImg:C(xn)||C(Sn)||C(Nr),isPrintingSvg:C(Pr)}},void 0,!0),m(`defs`,null,[(y(!0),p(l,null,x(K.value,(e,t)=>(y(),d(Ne,{t:`radial`,cx:`50%`,cy:`50%`,r:`50%`,fx:`50%`,fy:`50%`,id:`gradient_${E.value}_${t}`,key:`gradient_${E.value}_${t}`,stops:[[`0%`,C(o)(C(c)(e.color,.05),100-N.value.gradientIntensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128))]),m(`defs`,null,[m(`filter`,{id:`blur_${E.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[...t[4]||=[m(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:2},null,-1),m(`feColorMatrix`,{type:`saturate`,values:`0`},null,-1)]],8,lt)]),k.value.useCustomCells&&K.value.length&&e.$slots.cell?(y(!0),p(l,{key:0},x(q.value,(t,n)=>(y(),p(`foreignObject`,{x:t.x,y:t.y,height:U.value<=0?1e-4:U.value,width:H.value<=0?1e-4:H.value,class:`vue-ui-waffle-custom-cell-foreignObject`},[S(e.$slots,`cell`,qe({ref_for:!0},{cell:{...t,color:K.value[n].color,height:Math.max(0,U.value),width:Math.max(0,H.value),...K.value[n]},isSelected:[null,void 0].includes(D.value)?!0:K.value[n].serieIndex===D.value}),void 0,!0)],8,ut))),256)):f(``,!0),!K.value.length&&!k.value.useCustomCells?(y(),p(`rect`,{key:1,x:12,y:12,height:V.value.height-24,width:V.value.width-24,rx:3,fill:`none`,stroke:`black`},null,8,dt)):K.value.length&&!k.value.useCustomCells?(y(),p(l,{key:2},[e.$slots.pattern?(y(),p(`g`,ft,[(y(!0),p(l,null,x(Mn.value,t=>(y(),p(`defs`,null,[S(e.$slots,`pattern`,qe({ref_for:!0},{seriesIndex:t.absoluteIndex,patternId:`pattern_${E.value}_${t.absoluteIndex}`}),void 0,!0)]))),256))])):f(``,!0),N.value.merged?(y(),p(l,{key:1},[(y(!0),p(l,null,x(gr.value,e=>(y(),p(`path`,{key:`merged-underlayer-${e.serieIndex}`,d:e.d,fill:`white`,"fill-rule":`evenodd`,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linejoin":`round`,filter:sr(e.serieIndex),style:v(cr(e.serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,pt))),128)),(y(!0),p(l,null,x(gr.value,e=>(y(),p(`path`,{key:`merged-serie-${e.serieIndex}`,d:e.d,fill:N.value.useGradient&&N.value.gradientIntensity>0?`url(#gradient_${E.value}_${e.gradientIndex})`:e.color,"fill-rule":`evenodd`,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linejoin":`round`,filter:sr(e.serieIndex),style:v(cr(e.serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,mt))),128)),e.$slots.pattern?(y(),p(`g`,ht,[(y(!0),p(l,null,x(gr.value,e=>(y(),p(`path`,{key:`merged-pattern-${e.serieIndex}`,d:e.d,fill:`url(#pattern_${E.value}_${e.absoluteIndex})`,"fill-rule":`evenodd`,stroke:`none`,filter:sr(e.serieIndex),style:v(cr(e.serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,gt))),128))])):f(``,!0)],64)):(y(),p(l,{key:2},[(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(`rect`,{rx:N.value.rounded?N.value.rounding:0,x:e.x+P.value.spaceBetween/2,y:e.y+P.value.spaceBetween/2,height:U.value<=0?1e-4:U.value,width:H.value<=0?1e-4:H.value,fill:`white`,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,filter:sr(K.value[t].serieIndex),style:v(cr(K.value[t].serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,_t))),256)),(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(`rect`,{rx:N.value.rounded?N.value.rounding:0,x:e.x+P.value.spaceBetween/2,y:e.y+P.value.spaceBetween/2,height:U.value<=0?1e-4:U.value,width:H.value<=0?1e-4:H.value,fill:N.value.useGradient&&N.value.gradientIntensity>0?`url(#gradient_${E.value}_${t})`:K.value[t].color,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,filter:sr(K.value[t].serieIndex),style:v(cr(K.value[t].serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,vt))),256)),e.$slots.pattern?(y(),p(`g`,yt,[(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(`rect`,{rx:N.value.rounded?N.value.rounding:0,x:e.x+P.value.spaceBetween/2,y:e.y+P.value.spaceBetween/2,height:U.value<=0?1e-4:U.value,width:H.value<=0?1e-4:H.value,fill:`url(#pattern_${E.value}_${K.value[t].absoluteIndex})`,stroke:`none`,filter:sr(K.value[t].serieIndex),style:v(cr(K.value[t].serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,bt))),256))])):f(``,!0)],64))],64)):f(``,!0),e.$slots.cellSvg?(y(!0),p(l,{key:3},x(q.value,(t,n)=>(y(),p(`g`,null,[S(e.$slots,`cellSvg`,qe({ref_for:!0},{cell:{...t,color:K.value[n].color,height:Math.max(0,U.value),width:Math.max(0,H.value),...K.value[n]},isSelected:[null,void 0].includes(D.value)?!0:K.value[n].serieIndex===D.value}),void 0,!0)]))),256)):f(``,!0),(y(!0),p(l,null,x(hr.value,(e,t)=>(y(),p(`polygon`,{key:`selected-series-wrap-${t}`,points:e,fill:`none`,stroke:N.value.selection.wrap.stroke,"stroke-width":N.value.selection.wrap.strokeWidth,"stroke-linejoin":N.value.selection.wrap.strokeLinejoin,"pointer-events":`none`},null,8,xt))),128)),(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(l,null,[_r(t,e)?(y(),p(`text`,{key:`datalabel_${t}`,textContent:$e(vr(t,e)),x:e.x+F.value.labels.captions.offsetX+P.value.spaceBetween/2+6,y:e.y+F.value.labels.captions.offsetY+P.value.spaceBetween/2+On.value/2+F.value.labels.captions.fontSize/3,"font-size":F.value.labels.captions.fontSize,fill:C(ce)(K.value[t].color),filter:sr(K.value[t].serieIndex),class:g({"vue-data-ui-transition":C(L)})},null,10,St)):f(``,!0)],64))),256)),N.value.merged&&!k.value.useCustomCells?(y(!0),p(l,{key:4},x(gr.value,e=>(y(),p(`path`,{key:`tooltip-trap-${e.serieIndex}`,d:e.d,fill:`transparent`,"fill-rule":`evenodd`,stroke:`none`,"pointer-events":`fill`,onMouseover:t=>ar(e.rectIndex),onMouseleave:t=>ir(e.rectIndex),onClick:t=>rr(e.rectIndex)},null,40,Ct))),128)):(y(!0),p(l,{key:5},x(q.value,(e,t)=>(y(),p(`rect`,{key:`tooltip-trap-${t}`,x:e.x+P.value.spaceBetween/2,y:e.y+P.value.spaceBetween/2,height:On.value,width:Dn.value,fill:`transparent`,stroke:`none`,onMouseover:e=>ar(t),onMouseleave:e=>ir(t),onClick:e=>rr(t)},null,40,wt))),128)),S(e.$slots,`svg`,{svg:{...B.value,isPrintingImg:C(xn)||C(Sn)||C(Nr),isPrintingSvg:C(Pr)}},void 0,!0)],46,ct)),e.$slots.hint?(y(),p(`div`,Tt,[S(e.$slots,`hint`,_(Ke({hint:k.value.a11y.translations.keyboardNavigation,isVisible:on.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(y(),p(`div`,Et,[S(e.$slots,`watermark`,_(Ke({isPrinting:C(xn)||C(Sn)||C(Nr)||C(Pr)})),void 0,!0)])):f(``,!0),m(`div`,{id:`legend-bottom-${E.value}`},null,8,Dt),en.value&&(M.value.show||e.$slots.legend)?(y(),d(He,{key:6,to:M.value.position===`top`?`#legend-top-${E.value}`:`#legend-bottom-${E.value}`},[m(`div`,{ref_key:`chartLegend`,ref:Jt},[S(e.$slots,`legend`,{legend:X.value},()=>[M.value.show?(y(),d(ze,{key:`legend_${$t.value}`,legendSet:X.value,config:Qn.value,isCursorPointer:sn.value,onClickMarker:t[0]||=({legend:e})=>qn(e.uid)},Ue({item:w(({legend:e})=>[m(`div`,{onClick:t=>e.segregate(),style:v(`opacity:${J.value.includes(e.uid)?.5:1}`)},$e(e.display),13,Ot)]),legendToggle:w(()=>[X.value.length>2&&M.value.selectAllToggle.show&&!C(ln)?(y(),d(Pe,{key:0,backgroundColor:M.value.selectAllToggle.backgroundColor,color:M.value.selectAllToggle.color,fontSize:M.value.fontSize,checked:J.value.length>0,isCursorPointer:sn.value,onToggle:Kn},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0)]),_:2},[e.$slots.pattern?{name:`legend-pattern`,fn:w(({legend:e,index:t})=>[Ge(Ae,{shape:e.shape,radius:30,stroke:`none`,plot:{x:30,y:30},fill:`url(#pattern_${E.value}_${t})`},null,8,[`shape`,`fill`])]),key:`0`}:void 0]),1032,[`legendSet`,`config`,`isCursorPointer`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(y(),p(`div`,{key:7,ref_key:`source`,ref:Yt,dir:`auto`},[S(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),Ge(C(jt),{teleportTo:j.value.teleportTo,show:z.value.showTooltip&&Ut.value&&J.value.length<T.dataset.length,backgroundColor:j.value.backgroundColor,color:j.value.color,borderRadius:j.value.borderRadius,borderColor:j.value.borderColor,borderWidth:j.value.borderWidth,backgroundOpacity:j.value.backgroundOpacity,position:j.value.position,offsetX:j.value.offsetX,offsetY:j.value.offsetY,parent:Kt.value,content:Wt.value,isCustom:j.value.customFormat&&typeof j.value.customFormat==`function`,fontSize:j.value.fontSize,isFullscreen:xr.value,smooth:j.value.smooth,backdropFilter:j.value.backdropFilter,smoothForce:j.value.smoothForce,smoothSnapThreshold:j.value.smoothSnapThreshold,isA11yMode:an.value===`keyboard`,a11yPosition:rn.value},{"tooltip-before":w(()=>[S(e.$slots,`tooltip-before`,_(Ke({...$n.value})),void 0,!0)]),tooltip:w(()=>[S(e.$slots,`tooltip`,_(Ke({...$n.value})),void 0,!0)]),"tooltip-after":w(()=>[S(e.$slots,`tooltip-after`,_(Ke({...$n.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isCustom`,`fontSize`,`isFullscreen`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Ht.value&&A.value.buttons.table?(y(),d(Ze(Or.value.component),qe({key:8},Or.value.props,{ref_key:`tableUnit`,ref:tn,onClose:kr}),Ue({content:w(()=>[(y(),d(C(Nt),{key:`table_${Qt.value}`,colNames:br.value.colNames,head:br.value.head,body:br.value.body,config:br.value.config,title:k.value.table.useDialog?``:Or.value.title,withCloseButton:!k.value.table.useDialog,isCursorPointer:sn.value,onClose:kr},{th:w(({th:e})=>[e===`__SUM__`?(y(),p(`div`,kt,[Ge(C(Mt),{name:`sigma`,stroke:br.value.config.th.color,size:16},null,8,[`stroke`])])):(y(),p(`div`,At,$e(e),1))]),td:w(({td:e})=>[We($e(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[k.value.table.useDialog?{name:`title`,fn:w(()=>[We($e(Or.value.title),1)]),key:`0`}:void 0,k.value.table.useDialog?{name:`actions`,fn:w(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>yr(A.value.callbacks.csv),style:v({cursor:sn.value?`pointer`:`default`})},[Ge(C(Mt),{name:`fileCsv`,stroke:Or.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),S(e.$slots,`skeleton`,{},()=>[C(ln)?(y(),d(me,{key:0})):f(``,!0)],!0)],46,it))}},[[`__scopeId`,`data-v-be71e929`]]);export{rt as n,jt 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,Jt as o,S as s,X as ee,Yt as c,Zt as te,at as ne,i as re,in as ie,n as ae,nt as oe,pt as se,r 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,t as ge}from"./useHints-C-TwxM0Y.js";import{t as _e}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ve}from"./resolveChartConfig-CIhClE5R.js";import{t as ye}from"./chartImage-DPGnEuYM.js";import{n as be}from"./Title-BliHuXfT.js";import{t as xe}from"./useChartExport-BZts4KFb.js";import{n as Se,t as Ce}from"./tableIntegration-CNoJ1CIY.js";import{n as we,t as Te}from"./annotationSlots-BRR85CqJ.js";import{n as Ee,t as De}from"./userOptionsSlots-DYuo-E5m.js";import{t as Oe}from"./usePrinter-DVf3YcG5.js";import{t as ke}from"./useTransitions-ChGGrtrv.js";import{t as Ae}from"./Shape-CRe8woTu.js";import{c as je}from"./canvas-lib-22VpOI4_.js";import{t as Me}from"./useResponsive-CENUxfEL.js";import{t as Ne}from"./DefGrad-DKMq1REY.js";import{t as Pe}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as Fe}from"./A11yDataTable-DWNlWXzs.js";import{t as Ie}from"./useUserOptionState-CXlFnwPv.js";import{t as Le}from"./useChartAccessibility-DOMuYJfm.js";import{t as Re}from"./labelUtils-CdtU-yB_.js";import{t as ze}from"./Legend-DM0ClX3D.js";import{t as Be}from"./usePrefersMotion-XLHwega2.js";import{t as Ve}from"./vue_ui_waffle-BbBLSluB.js";import{Fragment as l,Teleport as He,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as Ue,createTextVNode as We,createVNode as Ge,defineAsyncComponent as h,guardReactiveProps as Ke,mergeProps as qe,nextTick as Je,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onBeforeUnmount as Ye,onMounted as Xe,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as Ze,shallowRef as Qe,toDisplayString as $e,toRefs as et,unref as C,useSlots as tt,watch as nt,withCtx as w}from"vue";var rt=/* @__PURE__ */ e({default:()=>jt}),it=[`id`],at=[`id`],ot=[`id`],st={style:{position:`relative`}},ct=[`xmlns`,`aria-describedby`,`viewBox`],lt=[`id`],ut=[`x`,`y`,`height`,`width`],dt=[`height`,`width`],ft={key:0},pt=[`d`,`stroke`,`stroke-width`,`filter`],mt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],ht={key:0},gt=[`d`,`fill`,`filter`],_t=[`rx`,`x`,`y`,`height`,`width`,`stroke`,`stroke-width`,`filter`],vt=[`rx`,`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`,`filter`],yt={key:0},bt=[`rx`,`x`,`y`,`height`,`width`,`fill`,`filter`],xt=[`points`,`stroke`,`stroke-width`,`stroke-linejoin`],St=[`textContent`,`x`,`y`,`font-size`,`fill`,`filter`],Ct=[`d`,`onMouseover`,`onMouseleave`,`onClick`],wt=[`x`,`y`,`height`,`width`,`onMouseover`,`onMouseleave`,`onClick`],Tt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Et={key:5,class:`vue-data-ui-watermark`},Dt=[`id`],Ot=[`onClick`],kt={key:0},At={key:1},jt=/*#__PURE__*/ _e({__name:`vue-ui-waffle`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`copyAlt`],setup(e,{expose:_e,emit:rt}){let jt=h(()=>import(`./Tooltip-C1q0Qoh7.js`)),Mt=h(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Nt=h(()=>import(`./DataTable-0Vv-aGHD.js`)),Pt=h(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Ft=h(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),It=h(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Lt=h(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),Rt=h(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_waffle:zt}=t(),Bt=Be(),T=e,Vt=tt(),Ht=u({get(){return!!T.dataset&&T.dataset.length},set(e){return e}}),E=b(ee()),Ut=b(!1),Wt=b(``),D=b(null),Gt=b(0),Kt=b(null),qt=b(null),Jt=b(null),Yt=b(null),Xt=b(null),Zt=b(0),Qt=b(0),$t=b(0),en=b(!1),tn=b(null),nn=b(null),O=b(null),rn=b({x:0,y:0}),an=b(`pointer`),on=b(!1),k=b(gn()),A=u(()=>k.value.userOptions),j=u(()=>k.value.style.chart.tooltip),M=u(()=>k.value.style.chart.legend),N=u(()=>k.value.style.chart.layout.rect),P=u(()=>k.value.style.chart.layout.grid),F=u(()=>k.value.style.chart.layout),I=u(()=>k.value.style.chart),{transitionEnabled:L}=ke({config:()=>k.value.transitions,dataset:()=>T.dataset});he({config:()=>k.value,dataset:()=>T.dataset,component:`VueUiWaffle`,rules:[ge.singleSeries,ge.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 sn=u(()=>k.value.userOptions.useCursorPointer),cn=u(()=>ie({defaultConfig:{useCustomCells:!1,userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{labels:{captions:{show:!1}},rect:{stroke:`#999999`}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1}}}},userConfig:k.value.skeletonConfig??{}})),{loading:ln,FINAL_DATASET:un,manualLoading:dn}=pe({...et(T),FINAL_CONFIG:k,prepareConfig:gn,callback:()=>{Promise.resolve().then(async()=>{W.value=jn()})},skeletonDataset:T.config?.skeletonDataset??[{name:``,values:[1],color:`#AAAAAA`},{name:``,values:[1],color:`#BABABA`},{name:``,values:[1],color:`#CACACA`}],skeletonConfig:ie({defaultConfig:k.value,userConfig:cn.value})}),{userOptionsVisible:fn,setUserOptionsVisibility:pn,keepUserOptionState:mn}=Ie({config:k.value}),{svgRef:hn}=Le({config:I.value.title});function gn(){return ve(T.config,zt,Ve)}let _n=te(T.config);nt(()=>T.config,(e,t)=>{let n=te(e),r=n!==_n;_n=n;let i=gn();r?(ln.value||(k.value=i),fn.value=!k.value.userOptions.showOnChartHover,bn(),Zt.value+=1,Qt.value+=1,$t.value+=1,z.value.showTable=k.value.table.show,z.value.showTooltip=j.value.show):(k.value.style.chart.tooltip=i.style.chart.tooltip,z.value.showTooltip=k.value.style.chart.tooltip.show)},{deep:!0});let R=Qe(null),vn=Qe(null),yn=u(()=>k.value.debug);function bn(){if(fe(T.dataset)?(ne({componentName:`VueUiWaffle`,type:`dataset`,debug:yn.value}),Ht.value=!1,dn.value=!0):yn.value&&T.dataset.forEach((e,t)=>{de({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{ne({componentName:`VueUiWaffle`,type:`datasetSerieAttribute`,property:e,index:t})})}),fe(T.dataset)||(dn.value=k.value.loading),k.value.responsive){let e=je(()=>{let{width:e,height:t}=Me({chart:Kt.value,title:I.value.title.text?qt.value:null,legend:M.value.show?Jt.value:null,source:Yt.value,noTitle:Xt.value});requestAnimationFrame(()=>{B.value.width=e,B.value.height=t,V.value.width=e,V.value.height=t})});R.value&&(vn.value&&R.value.unobserve(vn.value),R.value.disconnect()),R.value=new ResizeObserver(e),vn.value=Kt.value.parentNode,R.value.observe(vn.value)}}Xe(()=>{en.value=!0,bn()}),Ye(()=>{R.value&&(vn.value&&R.value.unobserve(vn.value),R.value.disconnect())});let{isPrinting:xn,isImaging:Sn,generatePdf:Cn,generateImage:wn}=Oe({elementId:`vue-ui-waffle_${E.value}`,fileName:I.value.title.text||`vue-ui-waffle`,options:k.value.userOptions.print}),Tn=u(()=>k.value.userOptions.show&&!I.value.title.text),En=u(()=>ue(k.value.customPalette)),z=b({showTable:k.value.table.show,showTooltip:j.value.show});nt(k,()=>{z.value={showTable:k.value.table.show,showTooltip:j.value.show}},{immediate:!0});let B=b({height:512,width:512}),V=b({top:0,left:0,height:512,width:512}),H=u(()=>(V.value.width-P.value.size*P.value.spaceBetween)/P.value.size),U=u(()=>(V.value.height-P.value.size*P.value.spaceBetween)/P.value.size),Dn=u(()=>Math.max(1e-4,V.value.width/P.value.size)),On=u(()=>Math.max(1e-4,V.value.height/P.value.size));function kn(e){let t=P.value.size*P.value.size,n=e.reduce((e,t)=>e+t,0),r=e.map(e=>e/n*t),i=r.map(Math.floor),a=r.map(e=>e%1),o=t-i.reduce((e,t)=>e+t,0);for(;o>0;){let e=a.indexOf(Math.max(...a));i[e]+=1,a[e]=0,--o}return i}let An=b(!1);function jn(){return An.value=un.value.flatMap(e=>e.values.reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0)===0,un.value.map((e,t)=>({...e,color:s(e.color)||En.value[t]||a[t]||a[t%a.length],uid:`serie_${t}`,absoluteIndex:t}))}let Mn=u(()=>jn()),W=b(Mn.value);nt(()=>T.dataset,e=>{Array.isArray(e)&&e.length>0&&(dn.value=!1)},{immediate:!0}),nt(()=>T.dataset,e=>{W.value=jn()},{deep:!0});let Nn=u(()=>kn(W.value.filter((e,t)=>!J.value.includes(e.uid)).map((e,t)=>An.value?1:(e.values||[]).reduce((e,t)=>e+t,0)))),Pn=u(()=>kn(W.value.map((e,t)=>An.value?1:(e.values||[]).reduce((e,t)=>e+t)))),Fn=u(()=>P.value.size**2),G=u(()=>(yn.value&&un.value.forEach((e,t)=>{[null,void 0].includes(e.values)&&ne({componentName:`VueUiWaffle`,type:`datasetSerieAttribute`,property:`values (number[])`,index:t})}),W.value.filter((e,t)=>!J.value.includes(e.uid)).map((e,t)=>{let n=Nn.value[t];return{absoluteIndex:e.absoluteIndex,uid:e.uid,name:e.name,color:e.color,value:(e.values||[]).reduce((e,t)=>e+t,0),absoluteValues:e.values||[],squareCount:n,proportion:n/Fn.value}}))),In=u(()=>W.value.map((e,t)=>{let n=Pn.value[t];return{absoluteIndex:e.absoluteIndex,uid:e.uid,name:e.name,color:e.color,value:(e.values||[]).reduce((e,t)=>e+t,0),absoluteValues:e.values||[],squareCount:n,proportion:n/Fn.value}}));function Ln(){return In.value.map(e=>({name:e.name,color:e.color,value:e.value,squareCount:e.squareCount,proportion:e.proportion}))}let Rn=u(()=>{let e=0;return G.value.map((t,n)=>{let r=e,i=r+t.squareCount,a=[];for(let e=Math.floor(r);e<Math.floor(i);e+=1)a.push(e);return e=i,{...t,start:r,rects:a}})}),K=u(()=>Rn.value.flatMap((e,t)=>e.rects.map((n,r)=>({isFirst:r===0,isLongEnough:n.length>2,name:e.name,color:e.color,value:e.value,serieIndex:t,absoluteStartIndex:r<3,serieId:e.uid,...e}))).map((e,t)=>({...e,isAbsoluteFirst:t%P.value.size===0}))),q=u(()=>{let e=[];for(let t=0;t<P.value.size;t+=1)for(let n=0;n<P.value.size;n+=1)e.push({isStartOfLine:n===0,position:P.value.vertical?t:n,x:(P.value.vertical?t:n)*(H.value+P.value.spaceBetween),y:(P.value.vertical?n:t)*(U.value+P.value.spaceBetween)+V.value.top});return e}),J=b([]),zn=b(!1),Bn=b(Object.create(null)),Vn=b(Object.create(null)),Y=b(0);function Hn(e,t){W.value=W.value.map(n=>n.uid===e?{...n,values:[t]}:n)}function Un(e,t){let n=t.find(t=>t.uid===e);return n?(n.values||[]).reduce((e,t)=>e+t,0):0}function Wn(e){let t=!1;Bn.value[e]&&(cancelAnimationFrame(Bn.value[e]),delete Bn.value[e],t=!0),Vn.value[e]&&(cancelAnimationFrame(Vn.value[e]),delete Vn.value[e],t=!0),t&&(Y.value=Math.max(0,Y.value-1),zn.value=Y.value>0)}function Gn({seriesId:e,fromValue:t,toValue:n,mode:r}){Wn(e),Y.value+=1,zn.value=!0;let i=t;return new Promise(a=>{function o(){if(r===`increase`){if(i>=n){Hn(e,n),--Y.value,Y.value<=0&&(zn.value=!1),delete Bn.value[e],a();return}i+=n*.025,i>n&&(i=n),Hn(e,i),Bn.value[e]=requestAnimationFrame(o)}else{if(i<=t/100){Hn(e,0),--Y.value,Y.value<=0&&(zn.value=!1),delete Vn.value[e],a();return}i/=1.15,Hn(e,i),Vn.value[e]=requestAnimationFrame(o)}}o()})}function Kn(){W.value=Mn.value;let e=J.value.length>0;k.value.useAnimation?e?[...J.value].forEach(e=>{qn(e,!0)}):X.value.map(e=>e.uid).forEach(e=>{qn(e,!0)}):e?J.value=[]:J.value=X.value.map(e=>e.uid)}function qn(e,t=!1){if(An.value&&!t)return;let n=t||J.value.length<X.value.length-1&&X.value.length>1;if(!k.value.useAnimation){J.value.includes(e)?J.value=J.value.filter(t=>t!==e):n&&J.value.push(e);return}let r=Un(e,Mn.value),i=Un(e,W.value);if(i!==0||r!==0){if(J.value.includes(e)){if(J.value=J.value.filter(t=>t!==e),Bt.value){Wn(e),Hn(e,r),or(`selectLegend`,G.value.map(e=>({name:e.name,color:e.color,value:e.value,proportion:e.proportion})));return}Gn({seriesId:e,fromValue:i,toValue:r,mode:`increase`}).then(()=>{or(`selectLegend`,G.value.map(e=>({name:e.name,color:e.color,value:e.value,proportion:e.proportion})))})}else n&&(Bt.value?(Wn(e),J.value.includes(e)||J.value.push(e),Hn(e,0),or(`selectLegend`,G.value.map(e=>({name:e.name,color:e.color,value:e.value,proportion:e.proportion})))):Gn({seriesId:e,fromValue:i,toValue:0,mode:`decrease`}).then(()=>{J.value.includes(e)||J.value.push(e),Hn(e,0),or(`selectLegend`,G.value.map(e=>({name:e.name,color:e.color,value:e.value,proportion:e.proportion})))}))}}function Jn(e){return In.value.length?In.value.find(t=>t.name===e)||(yn.value&&console.warn(`VueUiWaffle - Series name not found "${e}"`),null):(yn.value&&console.warn(`VueUiWaffle - There are no series to show.`),null)}function Yn(e){let t=Jn(e);t!==null&&J.value.includes(t.uid)&&qn(t.uid)}function Xn(e){let t=Jn(e);t!==null&&(J.value.includes(t.uid)||qn(t.uid))}function Zn({val:e,percentage:t,showVal:n,showPercentage:r,config:i}){return Re({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}let X=u(()=>W.value.map((e,t)=>{let n=(e.values||[]).reduce((e,t)=>e+t,0),r=n/W.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0);return{name:e.name,color:e.color||En[t]||a[t]||a[t%a.length],value:n,proportion:r,uid:e.uid,shape:`square`}}).map((e,t)=>{let r=Zn({val:re(F.value.labels.dataLabels.formatter,e.value,n({p:F.value.labels.dataLabels.prefix,v:e.value,s:F.value.labels.dataLabels.suffix,r:M.value.roundingValue}),{datapoint:e,index:t}),percentage:isNaN(e.value/Z.value)?`-`:n({v:e.value/Z.value*100,s:`%`,r:M.value.roundingPercentage}),showVal:M.value.showValue,showPercentage:M.value.showPercentage,config:M.value});return{...e,opacity:J.value.includes(e.uid)?.5:1,segregate:()=>qn(e.uid),isSegregated:J.value.includes(e.uid),display:`${e.name}${M.value.showPercentage||M.value.showValue?`: `:``}${r}`}})),Qn=u(()=>({cy:`waffle-div-legend`,backgroundColor:M.value.backgroundColor,color:M.value.color,fontSize:M.value.fontSize,paddingBottom:12,fontWeight:M.value.bold?`bold`:``})),Z=u(()=>G.value.map(e=>e.value).reduce((e,t)=>e+t,0)),$n=b(null),er=b(null),Q=u(()=>{let e=/* @__PURE__ */ new Map;return K.value.forEach((t,n)=>{e.has(t.serieIndex)?e.get(t.serieIndex).rectIndexes.push(n):e.set(t.serieIndex,{serieIndex:t.serieIndex,absoluteIndex:t.absoluteIndex,serieId:t.serieId,name:t.name,color:t.color,value:t.value,proportion:t.proportion,rectIndexes:[n]})}),Array.from(e.values()).sort((e,t)=>e.serieIndex-t.serieIndex)});function tr(e){return Q.value.find(t=>t.serieIndex===e)||null}function nr(e){let t=tr(e);return!t||!t.rectIndexes.length?null:t.rectIndexes[0]}function rr(e){let t=K.value[e];k.value.events.datapointClick&&k.value.events.datapointClick({datapoint:t,seriesIndex:t.serieIndex})}function ir(e){let t=K.value[e];k.value.events.datapointLeave&&k.value.events.datapointLeave({datapoint:t,seriesIndex:t.serieIndex}),er.value=null,Ut.value=!1,D.value=null,O.value=null,an.value=`pointer`}function ar(e,t=`pointer`){if(J.value.length===T.dataset.length)return;let r=K.value[e];if(!r)return;an.value=t,O.value=r.serieIndex,$n.value={datapoint:r,seriesIndex:r.absoluteIndex,series:W.value,config:k.value},k.value.events.datapointEnter&&er.value!==r.serieIndex&&k.value.events.datapointEnter({datapoint:r,seriesIndex:r.serieIndex}),er.value=r.serieIndex,Ut.value=!0,D.value=r.serieIndex;let a=j.value.customFormat;if(i(a)&&se(()=>a({seriesIndex:r.absoluteIndex,datapoint:r,series:W.value,config:k.value})))Wt.value=a({seriesIndex:r.absoluteIndex,datapoint:r,series:W.value,config:k.value});else{let e=``;e+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${j.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${r.name}</div>`,e+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><rect x="0" y="0" height="60" width="60" stroke="none" rx="1" fill="${r.color}" />${Vt.pattern?`<rect x="0" y="0" height="60" width="60" stroke="none" rx="1" stroke="none" fill="url(#pattern_${E.value}_${r.absoluteIndex})"/>`:``}</svg>`,e+=`<b>${Zn({config:j.value,showVal:j.value.showValue,showPercentage:j.value.showPercentage,val:`<span>${re(F.value.labels.dataLabels.formatter,r.value,n({p:F.value.labels.dataLabels.prefix,v:r.value,s:F.value.labels.dataLabels.suffix,r:j.value.roundingValue}),{datapoint:r,seriesIndex:r.absoluteIndex,series:W.value})}</span>`,percentage:`<span>${n({v:An.value?1/un.value.length*100:r.value/Z.value*100,s:`%`,r:j.value.roundingPercentage})}</span>`})}</b></div>`,Wt.value=e}}let or=rt,$=u(()=>({head:G.value.map(e=>({name:e.name,color:e.color})),body:G.value.map(e=>e.value)}));function sr(e){return k.value.useBlurOnHover&&![null,void 0].includes(D.value)&&D.value!==e?`url(#blur_${E.value})`:``}function cr(e){return[null,void 0].includes(D.value)||D.value===e?{opacity:1}:{opacity:N.value.selection.unselectedOpacity}}function lr(e){return e.length<=3?e:e.filter((t,n)=>{let r=e[(n-1+e.length)%e.length],i=e[(n+1)%e.length],a=r.x===t.x&&t.x===i.x,o=r.y===t.y&&t.y===i.y;return!a&&!o})}function ur(e){if(!e.length)return[];let t=new Set(e.map(({row:e,col:t})=>`${e}:${t}`)),n=[],r=/* @__PURE__ */ new Set,i=[[-1,0],[0,1],[1,0],[0,-1]];e.forEach(e=>{let a=`${e.row}:${e.col}`;if(r.has(a))return;let o=[],s=[e];for(r.add(a);s.length;){let e=s.shift();o.push(e),i.forEach(([n,i])=>{let a=e.row+n,o=e.col+i,ee=`${a}:${o}`;t.has(ee)&&!r.has(ee)&&(r.add(ee),s.push({row:a,col:o}))})}n.push(o)});let a=[];return n.forEach(e=>{let t=new Set(e.map(({row:e,col:t})=>`${e}:${t}`)),n=[];e.forEach(({row:e,col:r})=>{t.has(`${e-1}:${r}`)||n.push({start:{x:r,y:e},end:{x:r+1,y:e}}),t.has(`${e}:${r+1}`)||n.push({start:{x:r+1,y:e},end:{x:r+1,y:e+1}}),t.has(`${e+1}:${r}`)||n.push({start:{x:r+1,y:e+1},end:{x:r,y:e+1}}),t.has(`${e}:${r-1}`)||n.push({start:{x:r,y:e+1},end:{x:r,y:e}})});let r=/* @__PURE__ */ new Map,i=e=>`${e.start.x}:${e.start.y}>${e.end.x}:${e.end.y}`,o=e=>`${e.x}:${e.y}`,s=new Set(n.map(i));for(n.forEach(e=>{let t=o(e.start);r.has(t)||r.set(t,[]),r.get(t).push(e)});s.size;){let e=s.values().next().value,t=n.find(t=>i(t)===e),ee=t.start,c=[ee],te=t;for(;te;){s.delete(i(te));let e=te.end;if(o(e)===o(ee))break;c.push(e),te=(r.get(o(e))||[]).find(e=>s.has(i(e)))}c.length>=4&&a.push(lr(c))}}),a}function dr(e){let t=P.value.size,n=P.value.vertical,r=[];return K.value.forEach((i,a)=>{if(i.serieIndex!==e)return;let o=Math.floor(a/t),s=a%t;r.push({row:n?s:o,col:n?o:s})}),r}function fr(e){let t=Dn.value,n=On.value;return ur(dr(e)).map(e=>e.map(({x:e,y:r})=>({x:e*t,y:V.value.top+r*n})))}function pr(e){return e.map(({x:e,y:t})=>`${e},${t}`).join(` `)}function mr(e){return e.map(e=>{if(!e.length)return``;let[t,...n]=e,r=n.map(({x:e,y:t})=>`L ${e} ${t}`).join(` `);return`M ${t.x} ${t.y} ${r} Z`}).filter(Boolean).join(` `)}let hr=u(()=>!N.value.selection?.wrap?.show||[null,void 0].includes(D.value)?[]:fr(D.value).map(pr)),gr=u(()=>{if(!N.value.merged)return[];let e=/* @__PURE__ */ new Map;return K.value.forEach((t,n)=>{e.has(t.serieIndex)||e.set(t.serieIndex,{serieIndex:t.serieIndex,absoluteIndex:t.absoluteIndex,color:t.color,gradientIndex:n,rectIndex:n})}),Array.from(e.values()).map(e=>({...e,d:mr(fr(e.serieIndex))})).filter(e=>e.d)});function _r(e,t){return F.value.labels.captions.show?K.value.length&&!zn.value&&!P.value.vertical&&(K.value[e].isFirst&&t.position<P.value.size-2||K.value[e].isAbsoluteFirst&&e%P.value.size===0&&K.value[e].absoluteStartIndex):!1}function vr(e,t=null){let r=re(F.value.labels.dataLabels.formatter,K.value[e].value,n({p:F.value.labels.dataLabels.prefix,v:K.value[e].value,s:F.value.labels.dataLabels.suffix,r:F.value.labels.captions.roundingValue}),{datapoint:K.value[e],position:t}),i=n({v:K.value[e].proportion*100,s:`%`,r:F.value.labels.captions.roundingPercentage}),a=(F.value.labels.captions.serieNameAbbreviation?ae({source:K.value[e].name,length:F.value.labels.captions.serieNameMaxAbbreviationSize}):K.value[e].name)+(F.value.labels.captions.showPercentage||F.value.labels.captions.showValue?`:`:``);return`${F.value.labels.captions.showSerieName?a:``} ${Zn({val:r,percentage:i,showVal:F.value.labels.captions.showValue,showPercentage:F.value.labels.captions.showPercentage,config:F.value.labels.dataLabels})}`}function yr(e=null){Je(()=>{let t=$.value.head.map((e,t)=>[[e.name],[$.value.body[t]],[isNaN($.value.body[t]/Z.value)?`-`:$.value.body[t]/Z.value*100]]),n=[[I.value.title.text],[I.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):oe({csvContent:i,title:I.value.title.text||`vue-ui-waffle`})})}let br=u(()=>({head:[`__SUM__`,re(F.value.labels.dataLabels.formatter,Z.value,n({p:F.value.labels.dataLabels.prefix,v:Z.value,s:F.value.labels.dataLabels.suffix,r:k.value.table.td.roundingValue})),`100%`],body:$.value.head.map((e,t)=>[{color:e.color,name:e.name},re(F.value.labels.dataLabels.formatter,$.value.body[t],n({p:F.value.labels.dataLabels.prefix,v:$.value.body[t],s:F.value.labels.dataLabels.suffix,r:k.value.table.td.roundingValue})),isNaN($.value.body[t]/Z.value)?`-`:n({v:$.value.body[t]/Z.value*100,s:`%`,r:k.value.table.td.roundingPercentage})]),config:{th:{backgroundColor:k.value.table.th.backgroundColor,color:k.value.table.th.color,outline:k.value.table.th.outline},td:{backgroundColor:k.value.table.td.backgroundColor,color:k.value.table.td.color,outline:k.value.table.td.outline},shape:`square`,breakpoint:k.value.table.responsiveBreakpoint},colNames:[k.value.table.columnNames.series,k.value.table.columnNames.value,k.value.table.columnNames.percentage]})),xr=b(!1);function Sr(e){xr.value=e,Gt.value+=1}function Cr(){z.value.showTable=!z.value.showTable}function wr(){z.value.showTooltip=!z.value.showTooltip}let Tr=b(!1);function Er(){Tr.value=!Tr.value}let Dr=ye(Kt,()=>I.value.title.text),Or=u(()=>Ce({config:k,style:I,mutableConfig:z,dialog:Rt,accordion:Pt,isFullscreen:xr,parent:Kt,maxWidth:500,isCursorPointer:sn}));nt(()=>z.value.showTable,e=>Se(e,k,tn));function kr(){z.value.showTable=!1,nn.value&&nn.value.setTableIconState(!1)}let Ar=u(()=>X.value.map(e=>({...e,name:e.display}))),jr=u(()=>I.value.backgroundColor),Mr=u(()=>I.value.title),{isCallbackImaging:Nr,isCallbackSvg:Pr,generateSvg:Fr,onGenerateImage:Ir}=xe({svg:hn,title:Mr,legend:M,legendItems:Ar,backgroundColor:jr,getSvgCallback:()=>k.value.userOptions.callbacks.svg,generateImage:wn});async function Lr(){or(`copyAlt`,{config:k.value,dataset:In.value}),k.value.userOptions.callbacks.altCopy?await Promise.resolve(k.value.userOptions.callbacks.altCopy({config:k.value,dataset:In.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Rr(){O.value=null,on.value=!0}function zr(){O.value=null,an.value=`pointer`,Ut.value=!1,D.value=null,er.value=null,on.value=!1}function Br(e){if(!hn.value||Tr.value||document.activeElement!==hn.value||!Q.value.length||J.value.length===T.dataset.length)return;let t=[`ArrowLeft`,`ArrowUp`].includes(e.key),n=[`ArrowRight`,`ArrowDown`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){O.value=null,an.value=`pointer`,Ut.value=!1,D.value=null,er.value=null;return}if(r){if(O.value===null)return;let e=nr(O.value);if(e===null)return;rr(e);return}let a=Q.value.findIndex(e=>e.serieIndex===O.value),o=null;if(o=a===-1?n?Q.value[0]:Q.value[Q.value.length-1]:n?Q.value[(a+1)%Q.value.length]:Q.value[(a-1+Q.value.length)%Q.value.length],!o)return;let s=nr(o.serieIndex);s!==null&&(Vr(o.serieIndex),ar(s,`keyboard`))}function Vr(e){if(!Number.isFinite(e)||!hn.value)return;let t=tr(e);if(!t||!t.rectIndexes.length)return;let n=t.rectIndexes.map(e=>{let t=q.value[e];return t?{x:t.x+P.value.spaceBetween/2+Dn.value/2,y:t.y+P.value.spaceBetween/2+On.value/2}:null}).filter(Boolean);if(!n.length)return;let r=Math.min(...n.map(e=>e.x)),i=Math.max(...n.map(e=>e.x)),a=Math.min(...n.map(e=>e.y)),o=Math.max(...n.map(e=>e.y)),s=(r+i)/2,ee=(a+o)/2,c=hn.value.getBoundingClientRect();rn.value={x:c.left+s/B.value.width*c.width,y:c.top+ee/B.value.height*c.height}}let Hr=u(()=>({headers:br.value?.colNames??[],rows:br.value?.body??[]}));return _e({getData:Ln,getImage:Dr,generatePdf:Cn,generateCsv:yr,generateImage:wn,generateSvg:Fr,hideSeries:Xn,showSeries:Yn,toggleTable:Cr,toggleTooltip:wr,toggleAnnotator:Er,toggleFullscreen:Sr,copyAlt:Lr}),(e,t)=>(y(),p(`div`,{class:g(`vue-data-ui-component vue-ui-waffle ${xr.value?`vue-data-ui-wrapper-fullscreen`:``}`),ref_key:`waffleChart`,ref:Kt,id:`vue-ui-waffle_${E.value}`,style:v(`font-family:${k.value.style.fontFamily};width:100%; text-align:center;background:${I.value.backgroundColor};${k.value.responsive?`height: 100%`:``}`),onMouseenter:t[2]||=()=>C(pn)(!0),onMouseleave:t[3]||=()=>C(pn)(!1)},[m(`div`,{id:`chart-instructions-${E.value}`,class:`sr-only`},[m(`p`,null,$e(k.value.a11y.translations.keyboardNavigation),1)],8,at),Hr.value?.rows?.length?(y(),d(Fe,{key:0,uid:E.value,head:Hr.value.headers,body:Hr.value.rows,notice:k.value.a11y.translations.tableAvailable,caption:k.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),A.value.buttons.annotator?(y(),d(C(It),{key:1,svgRef:C(hn),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Tr.value,isCursorPointer:sn.value,palette:A.value.annotatorPalette,onClose:Er},Ue({_:2},[x(C(Te),t=>({name:t,fn:w(n=>[S(e.$slots,t,_(Ke(C(we)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),Tn.value?(y(),p(`div`,{key:2,ref_key:`noTitle`,ref:Xt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),I.value.title.text?(y(),p(`div`,{key:3,ref_key:`chartTitle`,ref:qt,style:`width:100%;background:transparent;padding-bottom:12px`},[(y(),d(be,{key:`title_${Zt.value}`,config:{title:{cy:`waffle-title`,...I.value.title},subtitle:{cy:`waffle-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):f(``,!0),m(`div`,{id:`legend-top-${E.value}`},null,8,ot),A.value.show&&Ht.value&&(C(mn)||C(fn))?(y(),d(C(Ft),{ref_key:`userOptionsRef`,ref:nn,key:`user_options_${Gt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:C(xn),isImaging:C(Sn),uid:E.value,hasTooltip:A.value.buttons.tooltip&&j.value.show,hasPdf:A.value.buttons.pdf,hasImg:A.value.buttons.img,hasSvg:A.value.buttons.svg,hasXls:A.value.buttons.csv,hasTable:A.value.buttons.table,hasFullscreen:A.value.buttons.fullscreen,hasAltCopy:A.value.buttons.altCopy,isFullscreen:xr.value,isTooltip:z.value.showTooltip,titles:{...A.value.buttonTitles},chartElement:Kt.value,position:A.value.position,hasAnnotator:A.value.buttons.annotator,isAnnotation:Tr.value,callbacks:A.value.callbacks,printScale:A.value.print.scale,tableDialog:k.value.table.useDialog,isCursorPointer:sn.value,onToggleFullscreen:Sr,onGeneratePdf:C(Cn),onGenerateCsv:yr,onGenerateImage:C(Ir),onGenerateSvg:C(Fr),onToggleTable:Cr,onToggleTooltip:wr,onToggleAnnotator:Er,onCopyAlt:Lr,style:v({visibility:C(mn)?C(fn)?`visible`:`hidden`:`visible`})},Ue({_:2},[x(C(Ee)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:w(n=>[S(e.$slots,t,_(Ke(C(De)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,st,[(y(),p(`svg`,{ref_key:`svgRef`,ref:hn,xmlns:C(le),"aria-describedby":`chart-instructions-${E.value}`,class:g({"vue-data-ui-fullscreen--on":xr.value,"vue-data-ui-fulscreen--off":!xr.value,"vue-data-ui-no-transition":!C(L)}),tabindex:`0`,viewBox:`0 0 ${B.value.width<=0?10:B.value.width} ${B.value.height<=0?10:B.value.height}`,style:v(`max-width:100%;overflow:visible;background:transparent;color:${I.value.color}`),onFocus:Rr,onBlur:zr,onKeydown:Br},[Ge(C(Lt)),S(e.$slots,`svg-underlayer`,{svg:{...B.value,isPrintingImg:C(xn)||C(Sn)||C(Nr),isPrintingSvg:C(Pr)}},void 0,!0),m(`defs`,null,[(y(!0),p(l,null,x(K.value,(e,t)=>(y(),d(Ne,{t:`radial`,cx:`50%`,cy:`50%`,r:`50%`,fx:`50%`,fy:`50%`,id:`gradient_${E.value}_${t}`,key:`gradient_${E.value}_${t}`,stops:[[`0%`,C(o)(C(c)(e.color,.05),100-N.value.gradientIntensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128))]),m(`defs`,null,[m(`filter`,{id:`blur_${E.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[...t[4]||=[m(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:2},null,-1),m(`feColorMatrix`,{type:`saturate`,values:`0`},null,-1)]],8,lt)]),k.value.useCustomCells&&K.value.length&&e.$slots.cell?(y(!0),p(l,{key:0},x(q.value,(t,n)=>(y(),p(`foreignObject`,{x:t.x,y:t.y,height:U.value<=0?1e-4:U.value,width:H.value<=0?1e-4:H.value,class:`vue-ui-waffle-custom-cell-foreignObject`},[S(e.$slots,`cell`,qe({ref_for:!0},{cell:{...t,color:K.value[n].color,height:Math.max(0,U.value),width:Math.max(0,H.value),...K.value[n]},isSelected:[null,void 0].includes(D.value)?!0:K.value[n].serieIndex===D.value}),void 0,!0)],8,ut))),256)):f(``,!0),!K.value.length&&!k.value.useCustomCells?(y(),p(`rect`,{key:1,x:12,y:12,height:V.value.height-24,width:V.value.width-24,rx:3,fill:`none`,stroke:`black`},null,8,dt)):K.value.length&&!k.value.useCustomCells?(y(),p(l,{key:2},[e.$slots.pattern?(y(),p(`g`,ft,[(y(!0),p(l,null,x(Mn.value,t=>(y(),p(`defs`,null,[S(e.$slots,`pattern`,qe({ref_for:!0},{seriesIndex:t.absoluteIndex,patternId:`pattern_${E.value}_${t.absoluteIndex}`}),void 0,!0)]))),256))])):f(``,!0),N.value.merged?(y(),p(l,{key:1},[(y(!0),p(l,null,x(gr.value,e=>(y(),p(`path`,{key:`merged-underlayer-${e.serieIndex}`,d:e.d,fill:`white`,"fill-rule":`evenodd`,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linejoin":`round`,filter:sr(e.serieIndex),style:v(cr(e.serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,pt))),128)),(y(!0),p(l,null,x(gr.value,e=>(y(),p(`path`,{key:`merged-serie-${e.serieIndex}`,d:e.d,fill:N.value.useGradient&&N.value.gradientIntensity>0?`url(#gradient_${E.value}_${e.gradientIndex})`:e.color,"fill-rule":`evenodd`,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,"stroke-linejoin":`round`,filter:sr(e.serieIndex),style:v(cr(e.serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,mt))),128)),e.$slots.pattern?(y(),p(`g`,ht,[(y(!0),p(l,null,x(gr.value,e=>(y(),p(`path`,{key:`merged-pattern-${e.serieIndex}`,d:e.d,fill:`url(#pattern_${E.value}_${e.absoluteIndex})`,"fill-rule":`evenodd`,stroke:`none`,filter:sr(e.serieIndex),style:v(cr(e.serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,gt))),128))])):f(``,!0)],64)):(y(),p(l,{key:2},[(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(`rect`,{rx:N.value.rounded?N.value.rounding:0,x:e.x+P.value.spaceBetween/2,y:e.y+P.value.spaceBetween/2,height:U.value<=0?1e-4:U.value,width:H.value<=0?1e-4:H.value,fill:`white`,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,filter:sr(K.value[t].serieIndex),style:v(cr(K.value[t].serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,_t))),256)),(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(`rect`,{rx:N.value.rounded?N.value.rounding:0,x:e.x+P.value.spaceBetween/2,y:e.y+P.value.spaceBetween/2,height:U.value<=0?1e-4:U.value,width:H.value<=0?1e-4:H.value,fill:N.value.useGradient&&N.value.gradientIntensity>0?`url(#gradient_${E.value}_${t})`:K.value[t].color,stroke:N.value.stroke,"stroke-width":N.value.strokeWidth,filter:sr(K.value[t].serieIndex),style:v(cr(K.value[t].serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,vt))),256)),e.$slots.pattern?(y(),p(`g`,yt,[(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(`rect`,{rx:N.value.rounded?N.value.rounding:0,x:e.x+P.value.spaceBetween/2,y:e.y+P.value.spaceBetween/2,height:U.value<=0?1e-4:U.value,width:H.value<=0?1e-4:H.value,fill:`url(#pattern_${E.value}_${K.value[t].absoluteIndex})`,stroke:`none`,filter:sr(K.value[t].serieIndex),style:v(cr(K.value[t].serieIndex)),class:g({"vue-data-ui-transition":C(L)})},null,14,bt))),256))])):f(``,!0)],64))],64)):f(``,!0),e.$slots.cellSvg?(y(!0),p(l,{key:3},x(q.value,(t,n)=>(y(),p(`g`,null,[S(e.$slots,`cellSvg`,qe({ref_for:!0},{cell:{...t,color:K.value[n].color,height:Math.max(0,U.value),width:Math.max(0,H.value),...K.value[n]},isSelected:[null,void 0].includes(D.value)?!0:K.value[n].serieIndex===D.value}),void 0,!0)]))),256)):f(``,!0),(y(!0),p(l,null,x(hr.value,(e,t)=>(y(),p(`polygon`,{key:`selected-series-wrap-${t}`,points:e,fill:`none`,stroke:N.value.selection.wrap.stroke,"stroke-width":N.value.selection.wrap.strokeWidth,"stroke-linejoin":N.value.selection.wrap.strokeLinejoin,"pointer-events":`none`},null,8,xt))),128)),(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(l,null,[_r(t,e)?(y(),p(`text`,{key:`datalabel_${t}`,textContent:$e(vr(t,e)),x:e.x+F.value.labels.captions.offsetX+P.value.spaceBetween/2+6,y:e.y+F.value.labels.captions.offsetY+P.value.spaceBetween/2+On.value/2+F.value.labels.captions.fontSize/3,"font-size":F.value.labels.captions.fontSize,fill:C(ce)(K.value[t].color),filter:sr(K.value[t].serieIndex),class:g({"vue-data-ui-transition":C(L)})},null,10,St)):f(``,!0)],64))),256)),N.value.merged&&!k.value.useCustomCells?(y(!0),p(l,{key:4},x(gr.value,e=>(y(),p(`path`,{key:`tooltip-trap-${e.serieIndex}`,d:e.d,fill:`transparent`,"fill-rule":`evenodd`,stroke:`none`,"pointer-events":`fill`,onMouseover:t=>ar(e.rectIndex),onMouseleave:t=>ir(e.rectIndex),onClick:t=>rr(e.rectIndex)},null,40,Ct))),128)):(y(!0),p(l,{key:5},x(q.value,(e,t)=>(y(),p(`rect`,{key:`tooltip-trap-${t}`,x:e.x+P.value.spaceBetween/2,y:e.y+P.value.spaceBetween/2,height:On.value,width:Dn.value,fill:`transparent`,stroke:`none`,onMouseover:e=>ar(t),onMouseleave:e=>ir(t),onClick:e=>rr(t)},null,40,wt))),128)),S(e.$slots,`svg`,{svg:{...B.value,isPrintingImg:C(xn)||C(Sn)||C(Nr),isPrintingSvg:C(Pr)}},void 0,!0)],46,ct)),e.$slots.hint?(y(),p(`div`,Tt,[S(e.$slots,`hint`,_(Ke({hint:k.value.a11y.translations.keyboardNavigation,isVisible:on.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(y(),p(`div`,Et,[S(e.$slots,`watermark`,_(Ke({isPrinting:C(xn)||C(Sn)||C(Nr)||C(Pr)})),void 0,!0)])):f(``,!0),m(`div`,{id:`legend-bottom-${E.value}`},null,8,Dt),en.value&&(M.value.show||e.$slots.legend)?(y(),d(He,{key:6,to:M.value.position===`top`?`#legend-top-${E.value}`:`#legend-bottom-${E.value}`},[m(`div`,{ref_key:`chartLegend`,ref:Jt},[S(e.$slots,`legend`,{legend:X.value},()=>[M.value.show?(y(),d(ze,{key:`legend_${$t.value}`,legendSet:X.value,config:Qn.value,isCursorPointer:sn.value,onClickMarker:t[0]||=({legend:e})=>qn(e.uid)},Ue({item:w(({legend:e})=>[m(`div`,{onClick:t=>e.segregate(),style:v(`opacity:${J.value.includes(e.uid)?.5:1}`)},$e(e.display),13,Ot)]),legendToggle:w(()=>[X.value.length>2&&M.value.selectAllToggle.show&&!C(ln)?(y(),d(Pe,{key:0,backgroundColor:M.value.selectAllToggle.backgroundColor,color:M.value.selectAllToggle.color,fontSize:M.value.fontSize,checked:J.value.length>0,isCursorPointer:sn.value,onToggle:Kn},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0)]),_:2},[e.$slots.pattern?{name:`legend-pattern`,fn:w(({legend:e,index:t})=>[Ge(Ae,{shape:e.shape,radius:30,stroke:`none`,plot:{x:30,y:30},fill:`url(#pattern_${E.value}_${t})`},null,8,[`shape`,`fill`])]),key:`0`}:void 0]),1032,[`legendSet`,`config`,`isCursorPointer`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(y(),p(`div`,{key:7,ref_key:`source`,ref:Yt,dir:`auto`},[S(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),Ge(C(jt),{teleportTo:j.value.teleportTo,show:z.value.showTooltip&&Ut.value&&J.value.length<T.dataset.length,backgroundColor:j.value.backgroundColor,color:j.value.color,borderRadius:j.value.borderRadius,borderColor:j.value.borderColor,borderWidth:j.value.borderWidth,backgroundOpacity:j.value.backgroundOpacity,position:j.value.position,offsetX:j.value.offsetX,offsetY:j.value.offsetY,parent:Kt.value,content:Wt.value,isCustom:j.value.customFormat&&typeof j.value.customFormat==`function`,fontSize:j.value.fontSize,isFullscreen:xr.value,smooth:j.value.smooth,backdropFilter:j.value.backdropFilter,smoothForce:j.value.smoothForce,smoothSnapThreshold:j.value.smoothSnapThreshold,isA11yMode:an.value===`keyboard`,a11yPosition:rn.value},{"tooltip-before":w(()=>[S(e.$slots,`tooltip-before`,_(Ke({...$n.value})),void 0,!0)]),tooltip:w(()=>[S(e.$slots,`tooltip`,_(Ke({...$n.value})),void 0,!0)]),"tooltip-after":w(()=>[S(e.$slots,`tooltip-after`,_(Ke({...$n.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isCustom`,`fontSize`,`isFullscreen`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Ht.value&&A.value.buttons.table?(y(),d(Ze(Or.value.component),qe({key:8},Or.value.props,{ref_key:`tableUnit`,ref:tn,onClose:kr}),Ue({content:w(()=>[(y(),d(C(Nt),{key:`table_${Qt.value}`,colNames:br.value.colNames,head:br.value.head,body:br.value.body,config:br.value.config,title:k.value.table.useDialog?``:Or.value.title,withCloseButton:!k.value.table.useDialog,isCursorPointer:sn.value,onClose:kr},{th:w(({th:e})=>[e===`__SUM__`?(y(),p(`div`,kt,[Ge(C(Mt),{name:`sigma`,stroke:br.value.config.th.color,size:16},null,8,[`stroke`])])):(y(),p(`div`,At,$e(e),1))]),td:w(({td:e})=>[We($e(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[k.value.table.useDialog?{name:`title`,fn:w(()=>[We($e(Or.value.title),1)]),key:`0`}:void 0,k.value.table.useDialog?{name:`actions`,fn:w(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>yr(A.value.callbacks.csv),style:v({cursor:sn.value?`pointer`:`default`})},[Ge(C(Mt),{name:`fileCsv`,stroke:Or.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),S(e.$slots,`skeleton`,{},()=>[C(ln)?(y(),d(me,{key:0})):f(``,!0)],!0)],46,it))}},[[`__scopeId`,`data-v-be71e929`]]);export{rt as n,jt as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Ft as r,It as i,X as a,Yt as o,at as s,b as c,i as l,in as u,t as d,zt as f}from"./lib-rPeBMZrn.js";import{n as p,t as m}from"./BaseScanner-8NdoBs7B.js";import{n as h,t as g}from"./useHints-C-TwxM0Y.js";import{t as _}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as v}from"./resolveChartConfig-CIhClE5R.js";import{t as y}from"./chartImage-DPGnEuYM.js";import{n as b}from"./Title-BliHuXfT.js";import{t as x}from"./useChartExport-BZts4KFb.js";import{n as ee,t as te}from"./annotationSlots-BRR85CqJ.js";import{n as S,t as ne}from"./userOptionsSlots-DYuo-E5m.js";import{t as re}from"./usePrinter-DVf3YcG5.js";import{c as ie}from"./canvas-lib-22VpOI4_.js";import{t as ae}from"./useResponsive-CENUxfEL.js";import{t as oe}from"./useUserOptionState-CXlFnwPv.js";import{t as se}from"./useChartAccessibility-DOMuYJfm.js";import{t as ce}from"./usePrefersMotion-XLHwega2.js";import{t as le}from"./vue_ui_wheel-C-479bvJ.js";import{Fragment as C,computed as w,createBlock as T,createCommentVNode as E,createElementBlock as D,createElementVNode as ue,createSlots as de,createVNode as fe,defineAsyncComponent as pe,guardReactiveProps as me,normalizeClass as O,normalizeProps as he,normalizeStyle as ge,onBeforeUnmount as _e,onMounted as ve,openBlock as k,ref as A,renderList as j,renderSlot as M,shallowRef as ye,toDisplayString as be,toRefs as xe,unref as N,useCssVars as Se,watch as Ce,withCtx as we}from"vue";var Te=/* @__PURE__ */ e({default:()=>Ke}),Ee=[`id`],De=[`xmlns`,`viewBox`,`aria-labelledby`,`aria-describedby`],Oe=[`id`],ke=[`id`],Ae=[`x`,`y`,`width`,`height`],je=[`d`,`stroke`,`stroke-width`],Me=[`cx`,`cy`,`r`,`stroke`,`stroke-width`],Ne={key:0},Pe=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-linecap`],Fe=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-linecap`],Ie={key:1},Le=[`d`,`fill`,`stroke`,`stroke-width`],Re=[`d`,`fill`,`stroke`,`stroke-width`],ze=[`d`,`fill`,`stroke`,`stroke-width`],Be=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-linecap`],Ve=[`d`,`fill`,`stroke`,`stroke-width`],He=[`aria-label`],Ue=[`x`,`y`,`height`],We=[`x`,`y`,`font-size`,`fill`,`font-weight`,`stroke`,`stroke-width`],Ge={key:4,class:`vue-data-ui-watermark`},Ke=/*#__PURE__*/ _({__name:`vue-ui-wheel`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`copyAlt`],setup(e,{expose:_,emit:Te}){Se(e=>({v230c4a60:zt.value,baeed874:Bt.value,baef134e:Vt.value}));let Ke=pe(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),qe=pe(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Je=pe(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),{vue_ui_wheel:Ye}=t(),P=ce(),F=e,Xe=Te,Ze=w(()=>!!F.dataset&&Object.keys(F.dataset).length),I=A(a()),Qe=A(null),$e=A(0),L=A(null),et=A(null),tt=A(null),nt=A(null),rt=A(0),R=A(dt()),z=w(()=>R.value.userOptions),B=w(()=>R.value.style.chart.layout.wheel.ticks),V=w(()=>R.value.style.chart.layout.wheel),H=w(()=>R.value.style.chart);h({config:()=>R.value,dataset:()=>F.dataset,component:`VueUiWheel`,rules:[g.noHint]});let it=w(()=>R.value.userOptions.useCursorPointer),at=w(()=>u({defaultConfig:{userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,animation:{use:!1},layout:{wheel:{ticks:{activeColor:`#6A6A6A80`,inactiveColor:`#CACACA80`}},innerCircle:{stroke:`#CACACA80`}}}}},userConfig:R.value.skeletonConfig??{}})),{loading:ot,FINAL_DATASET:U}=p({...xe(F),FINAL_CONFIG:R,prepareConfig:dt,skeletonDataset:F.config?.skeletonDataset??{percentage:50},skeletonConfig:u({defaultConfig:R.value,userConfig:at.value})}),{userOptionsVisible:st,setUserOptionsVisibility:ct,keepUserOptionState:lt}=oe({config:R.value}),{svgRef:ut}=se({config:H.value.title});function dt(){return v(F.config,Ye,le)}Ce(()=>F.config,e=>{R.value=dt(),st.value=!R.value.userOptions.showOnChartHover,yt(),rt.value+=1},{deep:!0});let{isPrinting:ft,isImaging:pt,generatePdf:mt,generateImage:ht}=re({elementId:I.value,fileName:H.value.title.text||`vue-ui-wheel`,options:R.value.userOptions.print}),gt=w(()=>R.value.userOptions.show&&!H.value.title.text),W=A({size:360,height:360,width:360}),G=A(H.value.layout.percentage.fontSize),K=w(()=>({radius:Math.min(W.value.width,W.value.height)*.9/2*V.value.radiusRatio,centerX:W.value.width/2,centerY:W.value.height/2}));function _t(e,t=1){let n=29.85;return{x:K.value.centerX+K.value.radius*Math.cos(n+e*Math.PI/180)*t,y:K.value.centerY+K.value.radius*Math.sin(n+e*Math.PI/180)*t}}let q=A(H.value.animation.use&&!P.value?0:U.value.percentage||0);Ce(()=>U.value,e=>{H.value.animation.use&&!P.value?jt(e.percentage):q.value=e.percentage||0},{deep:!0});let J=ye(null),Y=ye(null);ve(()=>{yt()});let vt=w(()=>R.value.debug);function yt(){if(f(F.dataset)&&s({componentName:`VueUiWheel`,type:`dataset`,debug:vt.value}),R.value.responsive){let e=ie(()=>{let{width:e,height:t}=ae({chart:L.value,title:H.value.title.text?et.value:null,source:tt.value,noTitle:nt.value});requestAnimationFrame(()=>{W.value.width=e,W.value.height=t,G.value=H.value.layout.percentage.fontSize/360*Math.min(e,t)})});J.value&&(Y.value&&J.value.unobserve(Y.value),J.value.disconnect()),J.value=new ResizeObserver(e),Y.value=L.value.parentNode,J.value.observe(Y.value)}jt(U.value.percentage||0),H.value.animation.use&&!P.value||(q.value=U.value.percentage||0)}_e(()=>{J.value&&(Y.value&&J.value.unobserve(Y.value),J.value.disconnect())});function bt([e,t,n],r){let i=Math.cos(r),a=Math.sin(r);return[e,t*i-n*a,t*a+n*i]}function xt([e,t,n],r){let i=r/(r-n);return[e*i,t*i,n,i]}function St(e,t){let n=e.replace(`#`,``),r=parseInt(n.substring(0,2),16),i=parseInt(n.substring(2,4),16),a=parseInt(n.substring(4,6),16),o=1-Math.min(1,Math.max(0,B.value.shadeColorRatio3d))*t,s=Math.max(0,Math.min(255,Math.round(r*o))),c=Math.max(0,Math.min(255,Math.round(i*o))),l=Math.max(0,Math.min(255,Math.round(a*o)));return`#${s.toString(16).padStart(2,`0`)}${c.toString(16).padStart(2,`0`)}${l.toString(16).padStart(2,`0`)}`}function Ct({cx:e,cy:t,radius:n,innerRatio:r=.8,count:i=120,startDeg:a=0,axDeg:s=50,f:c=520,baseStroke:l=5,activeColor:u,inactiveColor:d,getActive:f}){let p=s*Math.PI/180,m=n,h=n*r,g=[];for(let n=0;n<i;n+=1){let r=(n/i*360+a)*Math.PI/180,s=e+m*Math.cos(r),_=t+m*Math.sin(r),v=e+h*Math.cos(r),y=t+h*Math.sin(r),b=[s-e,_-t,0],x=[v-e,y-t,0],[ee,te,S]=bt(b,p),[ne,re,ie]=bt(x,p),[ae,oe,,se]=xt([ee,te,S],c),[ce,le,,C]=xt([ne,re,ie],c),w=e+ae,T=t+oe,E=e+ce,D=t+le,ue=(Math.max(S,ie)- -m*Math.sin(p))/(2*m*Math.sin(p)||1),de=!f||f(n),fe=B.value.gradient.show?o(u,n*Q.value/Z.value*(B.value.gradient.shiftHueIntensity/100)):u,pe=St(de?fe:d,ue),me=Math.max(1.25,l*se*(Math.min(W.value.width,W.value.height)/360));g.push({i:n,x1:w,y1:T,x2:E,y2:D,stroke:me,color:pe,z:Math.max(S,ie)})}return g.sort((e,t)=>e.z-t.z),g}let wt=w(()=>{if(!R.value.layout===`3d`)return null;let e=Z.value,t=B.value.gradient.show?o(B.value.activeColor,0):B.value.activeColor,n=B.value.inactiveColor,r=B.value.strokeWidth;return Ct({cx:K.value.centerX,cy:K.value.centerY,radius:K.value.radius,innerRatio:B.value.sizeRatio,count:e,startDeg:-90,axDeg:V.value.tiltAngle3d,f:Math.min(W.value.width,W.value.height)*1.45,baseStroke:r,activeColor:t,inactiveColor:n,getActive:e=>q.value>e*Q.value})});function Tt({cx:e,cy:t,r:n,count:r=180,startDeg:i=-90,axDeg:a=50,f:o}){let s=a*Math.PI/180,c=[],l=0;for(let a=0;a<r;a+=1){let u=(a/r*360+i)*Math.PI/180,[d,f,p]=bt([n*Math.cos(u),n*Math.sin(u),0],s),[m,h,,g]=xt([d,f,p],o);l+=g,c.push([e+m,t+h])}let u=`M ${c[0][0]} ${c[0][1]}`;for(let e=1;e<c.length;e+=1)u+=` L ${c[e][0]} ${c[e][1]}`;u+=` Z`;let d=l/r;return{d:u,avgScale:d,pts:c}}let X=w(()=>{if(R.value.layout!==`3d`)return null;let e=Math.min(W.value.width,W.value.height)*1.45,t=V.value.tiltAngle3d,n=K.value.radius,{pts:r,avgScale:i}=(()=>{let r=n,i=t,{d:a,avgScale:o,pts:s}=Tt({cx:K.value.centerX,cy:K.value.centerY,r,startDeg:-90,axDeg:i,f:e});return{pts:s,avgScale:o}})(),a=1/0,o=1/0,s=-1/0,c=-1/0;for(let[e,t]of r)e<a&&(a=e),t<o&&(o=t),e>s&&(s=e),t>c&&(c=t);let l=B.value.strokeWidth/360*Math.min(W.value.width,W.value.height),u=H.value.layout.innerCircle.strokeWidth||0,d=.5*Math.max(l,u*(i||1)),f=Math.max(0,Number(B.value.depth3d)||0),p=d;return{x:a-p,y:o-f-p,w:s-a+2*p,h:c-(o-f)+2*p}});function Et(e){let t=Math.min(W.value.width,W.value.height)*1.45,{d:n,avgScale:r}=Tt({cx:K.value.centerX,cy:K.value.centerY,r:e,startDeg:-90,axDeg:V.value.tiltAngle3d,f:t}),i=(H.value.layout.innerCircle.strokeWidth||1)*r;return{d:n,stroke:H.value.layout.innerCircle.stroke,strokeWidth:i}}let Dt=w(()=>Et(Math.max(0,K.value.radius*.8*H.value.layout.innerCircle.radiusRatio)));function Ot({cx:e,cy:t,r:n,aRad:r,ax:i,f:a}){let[o,s,c]=bt([n*Math.cos(r),n*Math.sin(r),0],i),[l,u,,d]=xt([o,s,c],a);return{x:e+l,y:t+u,z:c,s:d}}function kt({cx:e,cy:t,radius:n,innerRatio:r=.8,count:i=120,startDeg:a=-87,axDeg:s=45,f:c=600,activeColor:l,inactiveColor:u,getActive:d,Y:f=0}){let p=s*Math.PI/180,m=n,h=n*r,g=2*Math.PI/i,_=[];for(let n=0;n<i;n+=1){let r=a*Math.PI/180+g*n,s=r+g*Math.min(1,B.value.spacingRatio3d),v=Ot({cx:e,cy:t+f,r:m,aRad:r,ax:p,f:c}),y=Ot({cx:e,cy:t+f,r:m,aRad:s,ax:p,f:c}),b=Ot({cx:e,cy:t+f,r:h,aRad:s,ax:p,f:c}),x=Ot({cx:e,cy:t+f,r:h,aRad:r,ax:p,f:c}),ee=(v.z+y.z+x.z+b.z)/4,te=St(!d||d(n)?B.value.gradient.show?o(B.value.activeColor,100/i*n/100*(B.value.gradient.shiftHueIntensity/100)):l:u,(()=>{let e=m*Math.sin(p)||1;return(ee- -e)/(2*e)})()),S=`M ${v.x} ${v.y} L ${y.x} ${y.y} L ${b.x} ${b.y} L ${x.x} ${x.y} Z`;_.push({i:n,d:S,fill:te,z:ee})}return _.sort((e,t)=>e.z-t.z),_}let At=w(()=>{if(R.value.layout!==`3d`)return null;let e=Z.value;return t=>kt({cx:K.value.centerX,cy:K.value.centerY,radius:K.value.radius,innerRatio:B.value.sizeRatio,count:e,startDeg:-90,axDeg:V.value.tiltAngle3d,f:Math.min(W.value.width,W.value.height)*1.45,activeColor:B.value.activeColor,inactiveColor:B.value.inactiveColor,getActive:t=>q.value>100/e*t,Y:t})});function jt(e){let t=H.value.animation.speed,n=Math.abs(e-q.value)/(t*120);function r(){q.value<e?q.value=Math.min(q.value+n,e):q.value>e&&(q.value=Math.max(q.value-n,e)),q.value!==e&&requestAnimationFrame(r)}r()}let Z=w(()=>(vt.value&&B.value.quantity<12&&console.warn(`VueUiWheel - The min number of ticks is 12`),vt.value&&B.value.quantity>200&&console.warn(`VueUiWheel - The max number of ticks is 200`),Math.max(12,Math.min(B.value.quantity,200)))),Q=w(()=>100/Z.value),Mt=w(()=>{let e=[];for(let t=0;t<Z.value;t+=1){let n=q.value>t*Q.value?B.value.activeColor:B.value.inactiveColor,{x:r,y:i}=_t(W.value.size/Z.value*t),{x:a,y:s}=_t(W.value.size/Z.value*t,B.value.sizeRatio);e.push({x1:r,y1:i,x2:a,y2:s,color:B.value.gradient.show?o(n,t*Q.value/Z.value*(B.value.gradient.shiftHueIntensity/100)):n})}return e}),Nt=w(()=>i({series:Mt.value.map(e=>({name:``,value:1,color:e.color}))},K.value.centerX,K.value.centerY,K.value.radius,K.value.radius,1.99999,2,1,360,105.25,K.value.radius*(1-B.value.sizeRatio))),Pt=A(!1);function Ft(e){Pt.value=e,$e.value+=1}let It=A(!1);function Lt(){It.value=!It.value}let Rt=y(L,()=>H.value.title.text),zt=w(()=>B.value.strokeWidth*2),Bt=w(()=>B.value.strokeWidth*2*.75),Vt=w(()=>B.value.strokeWidth),$=w(()=>Math.max(1,Math.min(20,B.value.depth3d))),Ht=w(()=>H.value.backgroundColor),Ut=w(()=>H.value.title),{isCallbackImaging:Wt,isCallbackSvg:Gt,generateSvg:Kt,onGenerateImage:qt}=x({svg:ut,title:Ut,legend:null,legendItems:null,backgroundColor:Ht,stretchTitle:!0,getSvgCallback:()=>R.value.userOptions.callbacks.svg,generateImage:ht});async function Jt(){Xe(`copyAlt`,{config:R.value,dataset:U.value}),R.value.userOptions.callbacks.altCopy?await Promise.resolve(R.value.userOptions.callbacks.altCopy({config:R.value,dataset:U.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let Yt=w(()=>`${I.value}-title`),Xt=w(()=>`${I.value}-desc`),Zt=w(()=>l(H.value.layout.percentage.formatter,c(q.value),n({v:c(q.value),s:`%`,r:H.value.layout.percentage.rounding}))),Qt=w(()=>H.value.title.text||``),$t=w(()=>ot.value?`...`:`${Zt.value}`);return _({getImage:Rt,generatePdf:mt,generateImage:ht,generateSvg:Kt,toggleAnnotator:Lt,toggleFullscreen:Ft,copyAlt:Jt}),(e,t)=>(k(),D(`div`,{class:O([`vue-ui-wheel`,{"vue-data-ui-component":!0,"vue-ui-wheel-3d-wrap":R.value.layout===`3d`}]),ref_key:`wheelChart`,ref:L,id:I.value,style:ge(`font-family:${R.value.style.fontFamily};width:100%; text-align:center;background:${H.value.backgroundColor};${R.value.responsive?`height:100%`:``}`),onMouseenter:t[0]||=()=>N(ct)(!0),onMouseleave:t[1]||=()=>N(ct)(!1)},[z.value.buttons.annotator?(k(),T(N(Ke),{key:0,svgRef:N(ut),backgroundColor:H.value.backgroundColor,color:H.value.color,active:It.value,isCursorPointer:it.value,palette:z.value.annotatorPalette,onClose:Lt},de({_:2},[j(N(te),t=>({name:t,fn:we(n=>[M(e.$slots,t,he(me(N(ee)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):E(``,!0),gt.value?(k(),D(`div`,{key:1,ref_key:`noTitle`,ref:nt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):E(``,!0),H.value.title.text?(k(),D(`div`,{key:2,ref_key:`chartTitle`,ref:et,style:`width:100%;background:transparent;padding-bottom:12px`},[(k(),T(b,{key:`title_${rt.value}`,config:{title:{cy:`wheel-title`,...H.value.title},subtitle:{cy:`wheel-subtitle`,...H.value.title.subtitle}}},null,8,[`config`]))],512)):E(``,!0),z.value.show&&Ze.value&&(N(lt)||N(st))?(k(),T(N(qe),{ref_key:`details`,ref:Qe,key:`user_options_${$e.value}`,backgroundColor:H.value.backgroundColor,color:H.value.color,isPrinting:N(ft),isImaging:N(pt),uid:I.value,hasPdf:z.value.buttons.pdf,hasImg:z.value.buttons.img,hasSvg:z.value.buttons.svg,hasFullscreen:z.value.buttons.fullscreen,hasAltCopy:z.value.buttons.altCopy,hasXls:!1,isFullscreen:Pt.value,position:z.value.position,titles:{...z.value.buttonTitles},hasAnnotator:z.value.buttons.annotator,isAnnotation:It.value,chartElement:L.value,callbacks:z.value.callbacks,printScale:z.value.print.scale,isCursorPointer:it.value,onToggleFullscreen:Ft,onGeneratePdf:N(mt),onGenerateImage:N(qt),onGenerateSvg:N(Kt),onToggleAnnotator:Lt,onCopyAlt:Jt,style:ge({visibility:N(lt)?N(st)?`visible`:`hidden`:`visible`})},de({_:2},[j(N(S)(e.$slots,`menuIcon optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:we(n=>[M(e.$slots,t,he(me(N(ne)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasFullscreen`,`hasAltCopy`,`isFullscreen`,`position`,`titles`,`hasAnnotator`,`isAnnotation`,`chartElement`,`callbacks`,`printScale`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):E(``,!0),(k(),D(`svg`,{ref_key:`svgRef`,ref:ut,xmlns:N(d),class:O({"vue-data-ui-fullscreen--on":Pt.value,"vue-data-ui-fulscreen--off":!Pt.value,"vue-ui-wheel-3d-svg":R.value.layout===`3d`}),viewBox:R.value.layout===`3d`&&!R.value.responsive?`${X.value?.x-10} ${X.value?.y??0} ${X.value?.w+20??Math.max(10,W.value.width)} ${X.value?.h??Math.max(10,W.value.height)}`:`0 0 ${Math.max(10,W.value.width)} ${Math.max(10,W.value.height)}`,style:ge(`max-width:100%;overflow:visible;background:transparent;color:${H.value.color}`),role:`img`,"aria-labelledby":Yt.value,"aria-describedby":Xt.value},[ue(`title`,{id:Yt.value},be(Qt.value),9,Oe),ue(`desc`,{id:Xt.value},be($t.value),9,ke),fe(N(Je)),M(e.$slots,`svg-underlayer`,{svg:{...W.value,isPrintingImg:N(ft)||N(pt)||N(Wt),isPrintingSvg:N(Gt)}},void 0,!0),e.$slots[`chart-background`]?(k(),D(`foreignObject`,{key:0,x:R.value.layout===`3d`&&!R.value.responsive?X.value?.x-10:0,y:R.value.layout===`3d`&&!R.value.responsive?X.value?.y??0:0,width:R.value.layout===`3d`&&!R.value.responsive?X.value?.w+20??Math.max(10,W.value.width):Math.max(10,W.value.width),height:R.value.layout===`3d`&&!R.value.responsive?X.value?.h??Math.max(10,W.value.height):Math.max(10,W.value.height),style:{pointerEvents:`none`}},[M(e.$slots,`chart-background`,{},void 0,!0)],8,Ae)):E(``,!0),R.value.layout===`3d`&&Dt.value?(k(),D(`path`,{key:1,class:`vue-ui-wheel-inner-circle`,d:Dt.value.d,stroke:H.value.layout.innerCircle.stroke,"stroke-width":H.value.layout.innerCircle.strokeWidth,fill:`none`},null,8,je)):H.value.layout.innerCircle.show?(k(),D(`circle`,{key:2,class:`vue-ui-wheel-inner-circle`,cx:K.value.centerX,cy:K.value.centerY,r:Math.max(0,K.value.radius*H.value.layout.innerCircle.radiusRatio*.8),stroke:H.value.layout.innerCircle.stroke,"stroke-width":H.value.layout.innerCircle.strokeWidth,fill:`none`},null,8,Me)):E(``,!0),R.value.layout===`3d`?(k(),D(C,{key:3},[B.value.type===`classic`?(k(),D(`g`,Ne,[(k(!0),D(C,null,j($.value,e=>(k(),D(`g`,null,[(k(!0),D(C,null,j(wt.value||[],t=>(k(),D(`line`,{key:t.i,x1:t.x1,y1:t.y1-e,x2:t.x2,y2:t.y2-e,stroke:N(r)(t.color,.25*e/5),"stroke-width":B.value.strokeWidth/360*Math.min(W.value.width,W.value.height),"stroke-linecap":B.value.rounded?`round`:`butt`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated":H.value.animation.use&&!N(P)&&t.i*Q.value<=q.value})},null,10,Pe))),128))]))),256)),(k(!0),D(C,null,j(wt.value||[],e=>(k(),D(`line`,{key:e.i,x1:e.x1,y1:e.y1-$.value,x2:e.x2,y2:e.y2-$.value,stroke:e.color,"stroke-width":B.value.strokeWidth/360*Math.min(W.value.width,W.value.height),"stroke-linecap":B.value.rounded?`round`:`butt`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated":H.value.animation.use&&!N(P)&&e.i*Q.value<=q.value})},null,10,Fe))),128))])):(k(),D(`g`,Ie,[(k(!0),D(C,null,j($.value,e=>(k(),D(`g`,null,[(k(!0),D(C,null,j(At.value(-e)||[],e=>(k(),D(`path`,{key:e.i,d:e.d,fill:B.value.inactiveColor,stroke:B.value.stroke,"stroke-width":B.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:`vue-ui-wheel-tick`},null,8,Le))),128)),(k(!0),D(C,null,j(At.value(-e)||[],t=>(k(),D(`path`,{key:t.i,d:t.d,fill:N(r)(t.fill,.5*e/$.value),stroke:B.value.stroke,"stroke-width":B.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated-3d":H.value.animation.use&&!N(P)&&t.i*Q.value<=q.value})},null,10,Re))),128))]))),256)),ue(`g`,null,[(k(!0),D(C,null,j(At.value(-$.value)||[],e=>(k(),D(`path`,{key:e.i,d:e.d,fill:e.fill,stroke:B.value.stroke,"stroke-width":B.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated-3d":H.value.animation.use&&!N(P)&&e.i*Q.value<=q.value})},null,10,ze))),128))])]))],64)):(k(),D(C,{key:4},[B.value.type===`classic`?(k(!0),D(C,{key:0},j(Mt.value,(e,t)=>(k(),D(`line`,{x1:e.x1,x2:e.x2,y1:e.y1,y2:e.y2,stroke:e.color,"stroke-width":B.value.strokeWidth/360*Math.min(W.value.width,W.value.height),"stroke-linecap":B.value.rounded?`round`:`butt`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated":H.value.animation.use&&!N(P)&&t*Q.value<=q.value})},null,10,Be))),256)):(k(!0),D(C,{key:1},j(Nt.value,(e,t)=>(k(),D(`path`,{d:e.arcSlice,fill:e.color,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated":H.value.animation.use&&!N(P)&&t*Q.value<=q.value}),stroke:B.value.stroke,"stroke-width":B.value.strokeWidth},null,10,Ve))),256))],64)),H.value.layout.percentage.show?(k(),D(`g`,{key:5,role:`status`,"aria-live":`polite`,"aria-label":N(ot)?`...`:Zt.value},[N(ot)?(k(),D(`rect`,{key:0,x:K.value.centerX-40,y:K.value.centerY-G.value/2,width:80,height:G.value,fill:`#6A6A6A80`,rx:`3`},null,8,Ue)):(k(),D(`text`,{key:1,"aria-hidden":`true`,x:K.value.centerX+H.value.layout.percentage.offsetX,y:K.value.centerY+G.value/3+H.value.layout.percentage.offsetY,"font-size":G.value,fill:B.value.gradient.show?N(o)(B.value.activeColor,q.value/100*(B.value.gradient.shiftHueIntensity/100)):B.value.activeColor,"text-anchor":`middle`,"font-weight":H.value.layout.percentage.bold?`bold`:`normal`,style:{"font-variant-numeric":`tabluar-nums`},stroke:H.value.layout.percentage.stroke,"stroke-width":H.value.layout.percentage.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"paint-order":`stroke fill`,class:O({"vue-ui-wheel-label":R.value.layout===`3d`})},be(Zt.value),11,We))],8,He)):E(``,!0),M(e.$slots,`svg`,{svg:{...W.value,isPrintingImg:N(ft)||N(pt)||N(Wt),isPrintingSvg:N(Gt)}},void 0,!0)],14,De)),e.$slots.watermark?(k(),D(`div`,Ge,[M(e.$slots,`watermark`,he(me({isPrinting:N(ft)||N(pt)||N(Wt)||N(Gt)})),void 0,!0)])):E(``,!0),e.$slots.source?(k(),D(`div`,{key:5,ref_key:`source`,ref:tt,dir:`auto`},[M(e.$slots,`source`,{},void 0,!0)],512)):E(``,!0),M(e.$slots,`skeleton`,{},()=>[N(ot)?(k(),T(m,{key:0})):E(``,!0)],!0)],46,Ee))}},[[`__scopeId`,`data-v-ec0d9e1d`]]);export{Te as n,Ke as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Ft as r,It as i,X as a,Yt as o,at as s,b as c,i as l,in as u,t as d,zt as f}from"./lib-rPeBMZrn.js";import{n as p,t as m}from"./BaseScanner-8NdoBs7B.js";import{n as h,t as g}from"./useHints-C-TwxM0Y.js";import{t as _}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as v}from"./resolveChartConfig-CIhClE5R.js";import{t as y}from"./chartImage-DPGnEuYM.js";import{n as b}from"./Title-BliHuXfT.js";import{t as x}from"./useChartExport-BZts4KFb.js";import{n as ee,t as te}from"./annotationSlots-BRR85CqJ.js";import{n as S,t as ne}from"./userOptionsSlots-DYuo-E5m.js";import{t as re}from"./usePrinter-DVf3YcG5.js";import{c as ie}from"./canvas-lib-22VpOI4_.js";import{t as ae}from"./useResponsive-CENUxfEL.js";import{t as oe}from"./useUserOptionState-CXlFnwPv.js";import{t as se}from"./useChartAccessibility-DOMuYJfm.js";import{t as ce}from"./usePrefersMotion-XLHwega2.js";import{t as le}from"./vue_ui_wheel-C-479bvJ.js";import{Fragment as C,computed as w,createBlock as T,createCommentVNode as E,createElementBlock as D,createElementVNode as ue,createSlots as de,createVNode as fe,defineAsyncComponent as pe,guardReactiveProps as me,normalizeClass as O,normalizeProps as he,normalizeStyle as ge,onBeforeUnmount as _e,onMounted as ve,openBlock as k,ref as A,renderList as j,renderSlot as M,shallowRef as ye,toDisplayString as be,toRefs as xe,unref as N,useCssVars as Se,watch as Ce,withCtx as we}from"vue";var Te=/* @__PURE__ */ e({default:()=>Ke}),Ee=[`id`],De=[`xmlns`,`viewBox`,`aria-labelledby`,`aria-describedby`],Oe=[`id`],ke=[`id`],Ae=[`x`,`y`,`width`,`height`],je=[`d`,`stroke`,`stroke-width`],Me=[`cx`,`cy`,`r`,`stroke`,`stroke-width`],Ne={key:0},Pe=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-linecap`],Fe=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`stroke-linecap`],Ie={key:1},Le=[`d`,`fill`,`stroke`,`stroke-width`],Re=[`d`,`fill`,`stroke`,`stroke-width`],ze=[`d`,`fill`,`stroke`,`stroke-width`],Be=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-linecap`],Ve=[`d`,`fill`,`stroke`,`stroke-width`],He=[`aria-label`],Ue=[`x`,`y`,`height`],We=[`x`,`y`,`font-size`,`fill`,`font-weight`,`stroke`,`stroke-width`],Ge={key:4,class:`vue-data-ui-watermark`},Ke=/*#__PURE__*/ _({__name:`vue-ui-wheel`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`copyAlt`],setup(e,{expose:_,emit:Te}){Se(e=>({v230c4a60:zt.value,baeed874:Bt.value,baef134e:Vt.value}));let Ke=pe(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),qe=pe(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Je=pe(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),{vue_ui_wheel:Ye}=t(),P=ce(),F=e,Xe=Te,Ze=w(()=>!!F.dataset&&Object.keys(F.dataset).length),I=A(a()),Qe=A(null),$e=A(0),L=A(null),et=A(null),tt=A(null),nt=A(null),rt=A(0),R=A(dt()),z=w(()=>R.value.userOptions),B=w(()=>R.value.style.chart.layout.wheel.ticks),V=w(()=>R.value.style.chart.layout.wheel),H=w(()=>R.value.style.chart);h({config:()=>R.value,dataset:()=>F.dataset,component:`VueUiWheel`,rules:[g.noHint]});let it=w(()=>R.value.userOptions.useCursorPointer),at=w(()=>u({defaultConfig:{userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,animation:{use:!1},layout:{wheel:{ticks:{activeColor:`#6A6A6A80`,inactiveColor:`#CACACA80`}},innerCircle:{stroke:`#CACACA80`}}}}},userConfig:R.value.skeletonConfig??{}})),{loading:ot,FINAL_DATASET:U}=p({...xe(F),FINAL_CONFIG:R,prepareConfig:dt,skeletonDataset:F.config?.skeletonDataset??{percentage:50},skeletonConfig:u({defaultConfig:R.value,userConfig:at.value})}),{userOptionsVisible:st,setUserOptionsVisibility:ct,keepUserOptionState:lt}=oe({config:R.value}),{svgRef:ut}=se({config:H.value.title});function dt(){return v(F.config,Ye,le)}Ce(()=>F.config,e=>{R.value=dt(),st.value=!R.value.userOptions.showOnChartHover,yt(),rt.value+=1},{deep:!0});let{isPrinting:ft,isImaging:pt,generatePdf:mt,generateImage:ht}=re({elementId:I.value,fileName:H.value.title.text||`vue-ui-wheel`,options:R.value.userOptions.print}),gt=w(()=>R.value.userOptions.show&&!H.value.title.text),W=A({size:360,height:360,width:360}),G=A(H.value.layout.percentage.fontSize),K=w(()=>({radius:Math.min(W.value.width,W.value.height)*.9/2*V.value.radiusRatio,centerX:W.value.width/2,centerY:W.value.height/2}));function _t(e,t=1){let n=29.85;return{x:K.value.centerX+K.value.radius*Math.cos(n+e*Math.PI/180)*t,y:K.value.centerY+K.value.radius*Math.sin(n+e*Math.PI/180)*t}}let q=A(H.value.animation.use&&!P.value?0:U.value.percentage||0);Ce(()=>U.value,e=>{H.value.animation.use&&!P.value?jt(e.percentage):q.value=e.percentage||0},{deep:!0});let J=ye(null),Y=ye(null);ve(()=>{yt()});let vt=w(()=>R.value.debug);function yt(){if(f(F.dataset)&&s({componentName:`VueUiWheel`,type:`dataset`,debug:vt.value}),R.value.responsive){let e=ie(()=>{let{width:e,height:t}=ae({chart:L.value,title:H.value.title.text?et.value:null,source:tt.value,noTitle:nt.value});requestAnimationFrame(()=>{W.value.width=e,W.value.height=t,G.value=H.value.layout.percentage.fontSize/360*Math.min(e,t)})});J.value&&(Y.value&&J.value.unobserve(Y.value),J.value.disconnect()),J.value=new ResizeObserver(e),Y.value=L.value.parentNode,J.value.observe(Y.value)}jt(U.value.percentage||0),H.value.animation.use&&!P.value||(q.value=U.value.percentage||0)}_e(()=>{J.value&&(Y.value&&J.value.unobserve(Y.value),J.value.disconnect())});function bt([e,t,n],r){let i=Math.cos(r),a=Math.sin(r);return[e,t*i-n*a,t*a+n*i]}function xt([e,t,n],r){let i=r/(r-n);return[e*i,t*i,n,i]}function St(e,t){let n=e.replace(`#`,``),r=parseInt(n.substring(0,2),16),i=parseInt(n.substring(2,4),16),a=parseInt(n.substring(4,6),16),o=1-Math.min(1,Math.max(0,B.value.shadeColorRatio3d))*t,s=Math.max(0,Math.min(255,Math.round(r*o))),c=Math.max(0,Math.min(255,Math.round(i*o))),l=Math.max(0,Math.min(255,Math.round(a*o)));return`#${s.toString(16).padStart(2,`0`)}${c.toString(16).padStart(2,`0`)}${l.toString(16).padStart(2,`0`)}`}function Ct({cx:e,cy:t,radius:n,innerRatio:r=.8,count:i=120,startDeg:a=0,axDeg:s=50,f:c=520,baseStroke:l=5,activeColor:u,inactiveColor:d,getActive:f}){let p=s*Math.PI/180,m=n,h=n*r,g=[];for(let n=0;n<i;n+=1){let r=(n/i*360+a)*Math.PI/180,s=e+m*Math.cos(r),_=t+m*Math.sin(r),v=e+h*Math.cos(r),y=t+h*Math.sin(r),b=[s-e,_-t,0],x=[v-e,y-t,0],[ee,te,S]=bt(b,p),[ne,re,ie]=bt(x,p),[ae,oe,,se]=xt([ee,te,S],c),[ce,le,,C]=xt([ne,re,ie],c),w=e+ae,T=t+oe,E=e+ce,D=t+le,ue=(Math.max(S,ie)- -m*Math.sin(p))/(2*m*Math.sin(p)||1),de=!f||f(n),fe=B.value.gradient.show?o(u,n*Q.value/Z.value*(B.value.gradient.shiftHueIntensity/100)):u,pe=St(de?fe:d,ue),me=Math.max(1.25,l*se*(Math.min(W.value.width,W.value.height)/360));g.push({i:n,x1:w,y1:T,x2:E,y2:D,stroke:me,color:pe,z:Math.max(S,ie)})}return g.sort((e,t)=>e.z-t.z),g}let wt=w(()=>{if(!R.value.layout===`3d`)return null;let e=Z.value,t=B.value.gradient.show?o(B.value.activeColor,0):B.value.activeColor,n=B.value.inactiveColor,r=B.value.strokeWidth;return Ct({cx:K.value.centerX,cy:K.value.centerY,radius:K.value.radius,innerRatio:B.value.sizeRatio,count:e,startDeg:-90,axDeg:V.value.tiltAngle3d,f:Math.min(W.value.width,W.value.height)*1.45,baseStroke:r,activeColor:t,inactiveColor:n,getActive:e=>q.value>e*Q.value})});function Tt({cx:e,cy:t,r:n,count:r=180,startDeg:i=-90,axDeg:a=50,f:o}){let s=a*Math.PI/180,c=[],l=0;for(let a=0;a<r;a+=1){let u=(a/r*360+i)*Math.PI/180,[d,f,p]=bt([n*Math.cos(u),n*Math.sin(u),0],s),[m,h,,g]=xt([d,f,p],o);l+=g,c.push([e+m,t+h])}let u=`M ${c[0][0]} ${c[0][1]}`;for(let e=1;e<c.length;e+=1)u+=` L ${c[e][0]} ${c[e][1]}`;u+=` Z`;let d=l/r;return{d:u,avgScale:d,pts:c}}let X=w(()=>{if(R.value.layout!==`3d`)return null;let e=Math.min(W.value.width,W.value.height)*1.45,t=V.value.tiltAngle3d,n=K.value.radius,{pts:r,avgScale:i}=(()=>{let r=n,i=t,{d:a,avgScale:o,pts:s}=Tt({cx:K.value.centerX,cy:K.value.centerY,r,startDeg:-90,axDeg:i,f:e});return{pts:s,avgScale:o}})(),a=1/0,o=1/0,s=-1/0,c=-1/0;for(let[e,t]of r)e<a&&(a=e),t<o&&(o=t),e>s&&(s=e),t>c&&(c=t);let l=B.value.strokeWidth/360*Math.min(W.value.width,W.value.height),u=H.value.layout.innerCircle.strokeWidth||0,d=.5*Math.max(l,u*(i||1)),f=Math.max(0,Number(B.value.depth3d)||0),p=d;return{x:a-p,y:o-f-p,w:s-a+2*p,h:c-(o-f)+2*p}});function Et(e){let t=Math.min(W.value.width,W.value.height)*1.45,{d:n,avgScale:r}=Tt({cx:K.value.centerX,cy:K.value.centerY,r:e,startDeg:-90,axDeg:V.value.tiltAngle3d,f:t}),i=(H.value.layout.innerCircle.strokeWidth||1)*r;return{d:n,stroke:H.value.layout.innerCircle.stroke,strokeWidth:i}}let Dt=w(()=>Et(Math.max(0,K.value.radius*.8*H.value.layout.innerCircle.radiusRatio)));function Ot({cx:e,cy:t,r:n,aRad:r,ax:i,f:a}){let[o,s,c]=bt([n*Math.cos(r),n*Math.sin(r),0],i),[l,u,,d]=xt([o,s,c],a);return{x:e+l,y:t+u,z:c,s:d}}function kt({cx:e,cy:t,radius:n,innerRatio:r=.8,count:i=120,startDeg:a=-87,axDeg:s=45,f:c=600,activeColor:l,inactiveColor:u,getActive:d,Y:f=0}){let p=s*Math.PI/180,m=n,h=n*r,g=2*Math.PI/i,_=[];for(let n=0;n<i;n+=1){let r=a*Math.PI/180+g*n,s=r+g*Math.min(1,B.value.spacingRatio3d),v=Ot({cx:e,cy:t+f,r:m,aRad:r,ax:p,f:c}),y=Ot({cx:e,cy:t+f,r:m,aRad:s,ax:p,f:c}),b=Ot({cx:e,cy:t+f,r:h,aRad:s,ax:p,f:c}),x=Ot({cx:e,cy:t+f,r:h,aRad:r,ax:p,f:c}),ee=(v.z+y.z+x.z+b.z)/4,te=St(!d||d(n)?B.value.gradient.show?o(B.value.activeColor,100/i*n/100*(B.value.gradient.shiftHueIntensity/100)):l:u,(()=>{let e=m*Math.sin(p)||1;return(ee- -e)/(2*e)})()),S=`M ${v.x} ${v.y} L ${y.x} ${y.y} L ${b.x} ${b.y} L ${x.x} ${x.y} Z`;_.push({i:n,d:S,fill:te,z:ee})}return _.sort((e,t)=>e.z-t.z),_}let At=w(()=>{if(R.value.layout!==`3d`)return null;let e=Z.value;return t=>kt({cx:K.value.centerX,cy:K.value.centerY,radius:K.value.radius,innerRatio:B.value.sizeRatio,count:e,startDeg:-90,axDeg:V.value.tiltAngle3d,f:Math.min(W.value.width,W.value.height)*1.45,activeColor:B.value.activeColor,inactiveColor:B.value.inactiveColor,getActive:t=>q.value>100/e*t,Y:t})});function jt(e){let t=H.value.animation.speed,n=Math.abs(e-q.value)/(t*120);function r(){q.value<e?q.value=Math.min(q.value+n,e):q.value>e&&(q.value=Math.max(q.value-n,e)),q.value!==e&&requestAnimationFrame(r)}r()}let Z=w(()=>(vt.value&&B.value.quantity<12&&console.warn(`VueUiWheel - The min number of ticks is 12`),vt.value&&B.value.quantity>200&&console.warn(`VueUiWheel - The max number of ticks is 200`),Math.max(12,Math.min(B.value.quantity,200)))),Q=w(()=>100/Z.value),Mt=w(()=>{let e=[];for(let t=0;t<Z.value;t+=1){let n=q.value>t*Q.value?B.value.activeColor:B.value.inactiveColor,{x:r,y:i}=_t(W.value.size/Z.value*t),{x:a,y:s}=_t(W.value.size/Z.value*t,B.value.sizeRatio);e.push({x1:r,y1:i,x2:a,y2:s,color:B.value.gradient.show?o(n,t*Q.value/Z.value*(B.value.gradient.shiftHueIntensity/100)):n})}return e}),Nt=w(()=>i({series:Mt.value.map(e=>({name:``,value:1,color:e.color}))},K.value.centerX,K.value.centerY,K.value.radius,K.value.radius,1.99999,2,1,360,105.25,K.value.radius*(1-B.value.sizeRatio))),Pt=A(!1);function Ft(e){Pt.value=e,$e.value+=1}let It=A(!1);function Lt(){It.value=!It.value}let Rt=y(L,()=>H.value.title.text),zt=w(()=>B.value.strokeWidth*2),Bt=w(()=>B.value.strokeWidth*2*.75),Vt=w(()=>B.value.strokeWidth),$=w(()=>Math.max(1,Math.min(20,B.value.depth3d))),Ht=w(()=>H.value.backgroundColor),Ut=w(()=>H.value.title),{isCallbackImaging:Wt,isCallbackSvg:Gt,generateSvg:Kt,onGenerateImage:qt}=x({svg:ut,title:Ut,legend:null,legendItems:null,backgroundColor:Ht,stretchTitle:!0,getSvgCallback:()=>R.value.userOptions.callbacks.svg,generateImage:ht});async function Jt(){Xe(`copyAlt`,{config:R.value,dataset:U.value}),R.value.userOptions.callbacks.altCopy?await Promise.resolve(R.value.userOptions.callbacks.altCopy({config:R.value,dataset:U.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let Yt=w(()=>`${I.value}-title`),Xt=w(()=>`${I.value}-desc`),Zt=w(()=>l(H.value.layout.percentage.formatter,c(q.value),n({v:c(q.value),s:`%`,r:H.value.layout.percentage.rounding}))),Qt=w(()=>H.value.title.text||``),$t=w(()=>ot.value?`...`:`${Zt.value}`);return _({getImage:Rt,generatePdf:mt,generateImage:ht,generateSvg:Kt,toggleAnnotator:Lt,toggleFullscreen:Ft,copyAlt:Jt}),(e,t)=>(k(),D(`div`,{class:O([`vue-ui-wheel`,{"vue-data-ui-component":!0,"vue-ui-wheel-3d-wrap":R.value.layout===`3d`}]),ref_key:`wheelChart`,ref:L,id:I.value,style:ge(`font-family:${R.value.style.fontFamily};width:100%; text-align:center;background:${H.value.backgroundColor};${R.value.responsive?`height:100%`:``}`),onMouseenter:t[0]||=()=>N(ct)(!0),onMouseleave:t[1]||=()=>N(ct)(!1)},[z.value.buttons.annotator?(k(),T(N(Ke),{key:0,svgRef:N(ut),backgroundColor:H.value.backgroundColor,color:H.value.color,active:It.value,isCursorPointer:it.value,palette:z.value.annotatorPalette,onClose:Lt},de({_:2},[j(N(te),t=>({name:t,fn:we(n=>[M(e.$slots,t,he(me(N(ee)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):E(``,!0),gt.value?(k(),D(`div`,{key:1,ref_key:`noTitle`,ref:nt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):E(``,!0),H.value.title.text?(k(),D(`div`,{key:2,ref_key:`chartTitle`,ref:et,style:`width:100%;background:transparent;padding-bottom:12px`},[(k(),T(b,{key:`title_${rt.value}`,config:{title:{cy:`wheel-title`,...H.value.title},subtitle:{cy:`wheel-subtitle`,...H.value.title.subtitle}}},null,8,[`config`]))],512)):E(``,!0),z.value.show&&Ze.value&&(N(lt)||N(st))?(k(),T(N(qe),{ref_key:`details`,ref:Qe,key:`user_options_${$e.value}`,backgroundColor:H.value.backgroundColor,color:H.value.color,isPrinting:N(ft),isImaging:N(pt),uid:I.value,hasPdf:z.value.buttons.pdf,hasImg:z.value.buttons.img,hasSvg:z.value.buttons.svg,hasFullscreen:z.value.buttons.fullscreen,hasAltCopy:z.value.buttons.altCopy,hasXls:!1,isFullscreen:Pt.value,position:z.value.position,titles:{...z.value.buttonTitles},hasAnnotator:z.value.buttons.annotator,isAnnotation:It.value,chartElement:L.value,callbacks:z.value.callbacks,printScale:z.value.print.scale,isCursorPointer:it.value,onToggleFullscreen:Ft,onGeneratePdf:N(mt),onGenerateImage:N(qt),onGenerateSvg:N(Kt),onToggleAnnotator:Lt,onCopyAlt:Jt,style:ge({visibility:N(lt)?N(st)?`visible`:`hidden`:`visible`})},de({_:2},[j(N(S)(e.$slots,`menuIcon optionPdf optionImg optionSvg optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:we(n=>[M(e.$slots,t,he(me(N(ne)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasFullscreen`,`hasAltCopy`,`isFullscreen`,`position`,`titles`,`hasAnnotator`,`isAnnotation`,`chartElement`,`callbacks`,`printScale`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):E(``,!0),(k(),D(`svg`,{ref_key:`svgRef`,ref:ut,xmlns:N(d),class:O({"vue-data-ui-fullscreen--on":Pt.value,"vue-data-ui-fulscreen--off":!Pt.value,"vue-ui-wheel-3d-svg":R.value.layout===`3d`}),viewBox:R.value.layout===`3d`&&!R.value.responsive?`${X.value?.x-10} ${X.value?.y??0} ${X.value?.w+20??Math.max(10,W.value.width)} ${X.value?.h??Math.max(10,W.value.height)}`:`0 0 ${Math.max(10,W.value.width)} ${Math.max(10,W.value.height)}`,style:ge(`max-width:100%;overflow:visible;background:transparent;color:${H.value.color}`),role:`img`,"aria-labelledby":Yt.value,"aria-describedby":Xt.value},[ue(`title`,{id:Yt.value},be(Qt.value),9,Oe),ue(`desc`,{id:Xt.value},be($t.value),9,ke),fe(N(Je)),M(e.$slots,`svg-underlayer`,{svg:{...W.value,isPrintingImg:N(ft)||N(pt)||N(Wt),isPrintingSvg:N(Gt)}},void 0,!0),e.$slots[`chart-background`]?(k(),D(`foreignObject`,{key:0,x:R.value.layout===`3d`&&!R.value.responsive?X.value?.x-10:0,y:R.value.layout===`3d`&&!R.value.responsive?X.value?.y??0:0,width:R.value.layout===`3d`&&!R.value.responsive?X.value?.w+20??Math.max(10,W.value.width):Math.max(10,W.value.width),height:R.value.layout===`3d`&&!R.value.responsive?X.value?.h??Math.max(10,W.value.height):Math.max(10,W.value.height),style:{pointerEvents:`none`}},[M(e.$slots,`chart-background`,{},void 0,!0)],8,Ae)):E(``,!0),R.value.layout===`3d`&&Dt.value?(k(),D(`path`,{key:1,class:`vue-ui-wheel-inner-circle`,d:Dt.value.d,stroke:H.value.layout.innerCircle.stroke,"stroke-width":H.value.layout.innerCircle.strokeWidth,fill:`none`},null,8,je)):H.value.layout.innerCircle.show?(k(),D(`circle`,{key:2,class:`vue-ui-wheel-inner-circle`,cx:K.value.centerX,cy:K.value.centerY,r:Math.max(0,K.value.radius*H.value.layout.innerCircle.radiusRatio*.8),stroke:H.value.layout.innerCircle.stroke,"stroke-width":H.value.layout.innerCircle.strokeWidth,fill:`none`},null,8,Me)):E(``,!0),R.value.layout===`3d`?(k(),D(C,{key:3},[B.value.type===`classic`?(k(),D(`g`,Ne,[(k(!0),D(C,null,j($.value,e=>(k(),D(`g`,null,[(k(!0),D(C,null,j(wt.value||[],t=>(k(),D(`line`,{key:t.i,x1:t.x1,y1:t.y1-e,x2:t.x2,y2:t.y2-e,stroke:N(r)(t.color,.25*e/5),"stroke-width":B.value.strokeWidth/360*Math.min(W.value.width,W.value.height),"stroke-linecap":B.value.rounded?`round`:`butt`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated":H.value.animation.use&&!N(P)&&t.i*Q.value<=q.value})},null,10,Pe))),128))]))),256)),(k(!0),D(C,null,j(wt.value||[],e=>(k(),D(`line`,{key:e.i,x1:e.x1,y1:e.y1-$.value,x2:e.x2,y2:e.y2-$.value,stroke:e.color,"stroke-width":B.value.strokeWidth/360*Math.min(W.value.width,W.value.height),"stroke-linecap":B.value.rounded?`round`:`butt`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated":H.value.animation.use&&!N(P)&&e.i*Q.value<=q.value})},null,10,Fe))),128))])):(k(),D(`g`,Ie,[(k(!0),D(C,null,j($.value,e=>(k(),D(`g`,null,[(k(!0),D(C,null,j(At.value(-e)||[],e=>(k(),D(`path`,{key:e.i,d:e.d,fill:B.value.inactiveColor,stroke:B.value.stroke,"stroke-width":B.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:`vue-ui-wheel-tick`},null,8,Le))),128)),(k(!0),D(C,null,j(At.value(-e)||[],t=>(k(),D(`path`,{key:t.i,d:t.d,fill:N(r)(t.fill,.5*e/$.value),stroke:B.value.stroke,"stroke-width":B.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated-3d":H.value.animation.use&&!N(P)&&t.i*Q.value<=q.value})},null,10,Re))),128))]))),256)),ue(`g`,null,[(k(!0),D(C,null,j(At.value(-$.value)||[],e=>(k(),D(`path`,{key:e.i,d:e.d,fill:e.fill,stroke:B.value.stroke,"stroke-width":B.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated-3d":H.value.animation.use&&!N(P)&&e.i*Q.value<=q.value})},null,10,ze))),128))])]))],64)):(k(),D(C,{key:4},[B.value.type===`classic`?(k(!0),D(C,{key:0},j(Mt.value,(e,t)=>(k(),D(`line`,{x1:e.x1,x2:e.x2,y1:e.y1,y2:e.y2,stroke:e.color,"stroke-width":B.value.strokeWidth/360*Math.min(W.value.width,W.value.height),"stroke-linecap":B.value.rounded?`round`:`butt`,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated":H.value.animation.use&&!N(P)&&t*Q.value<=q.value})},null,10,Be))),256)):(k(!0),D(C,{key:1},j(Nt.value,(e,t)=>(k(),D(`path`,{d:e.arcSlice,fill:e.color,class:O({"vue-ui-wheel-tick":!0,"vue-ui-tick-animated":H.value.animation.use&&!N(P)&&t*Q.value<=q.value}),stroke:B.value.stroke,"stroke-width":B.value.strokeWidth},null,10,Ve))),256))],64)),H.value.layout.percentage.show?(k(),D(`g`,{key:5,role:`status`,"aria-live":`polite`,"aria-label":N(ot)?`...`:Zt.value},[N(ot)?(k(),D(`rect`,{key:0,x:K.value.centerX-40,y:K.value.centerY-G.value/2,width:80,height:G.value,fill:`#6A6A6A80`,rx:`3`},null,8,Ue)):(k(),D(`text`,{key:1,"aria-hidden":`true`,x:K.value.centerX+H.value.layout.percentage.offsetX,y:K.value.centerY+G.value/3+H.value.layout.percentage.offsetY,"font-size":G.value,fill:B.value.gradient.show?N(o)(B.value.activeColor,q.value/100*(B.value.gradient.shiftHueIntensity/100)):B.value.activeColor,"text-anchor":`middle`,"font-weight":H.value.layout.percentage.bold?`bold`:`normal`,style:{"font-variant-numeric":`tabluar-nums`},stroke:H.value.layout.percentage.stroke,"stroke-width":H.value.layout.percentage.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"paint-order":`stroke fill`,class:O({"vue-ui-wheel-label":R.value.layout===`3d`})},be(Zt.value),11,We))],8,He)):E(``,!0),M(e.$slots,`svg`,{svg:{...W.value,isPrintingImg:N(ft)||N(pt)||N(Wt),isPrintingSvg:N(Gt)}},void 0,!0)],14,De)),e.$slots.watermark?(k(),D(`div`,Ge,[M(e.$slots,`watermark`,he(me({isPrinting:N(ft)||N(pt)||N(Wt)||N(Gt)})),void 0,!0)])):E(``,!0),e.$slots.source?(k(),D(`div`,{key:5,ref_key:`source`,ref:tt,dir:`auto`},[M(e.$slots,`source`,{},void 0,!0)],512)):E(``,!0),M(e.$slots,`skeleton`,{},()=>[N(ot)?(k(),T(m,{key:0})):E(``,!0)],!0)],46,Ee))}},[[`__scopeId`,`data-v-ec0d9e1d`]]);export{Te as n,Ke as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Ht as a,S as o,X as s,Z as c,Zt as l,at as u,b as d,in as f,nt as p,t as m,yt as h,zt as g}from"./lib-rPeBMZrn.js";import{n as _,t as v}from"./BaseScanner-8NdoBs7B.js";import{n as y,t as ee}from"./useHints-C-TwxM0Y.js";import{t as te}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as b}from"./resolveChartConfig-CIhClE5R.js";import{t as x}from"./chartImage-DPGnEuYM.js";import{t as S}from"./BaseZoomControls-ByS_7fmI.js";import{n as C}from"./Title-BliHuXfT.js";import{t as w}from"./useChartExport-BZts4KFb.js";import{n as T,t as ne}from"./tableIntegration-CNoJ1CIY.js";import{n as re,t as ie}from"./annotationSlots-BRR85CqJ.js";import{n as E,t as ae}from"./userOptionsSlots-DYuo-E5m.js";import{t as oe}from"./usePrinter-DVf3YcG5.js";import{r as se}from"./canvas-lib-22VpOI4_.js";import{t as ce}from"./useResponsive-CENUxfEL.js";import{t as le}from"./A11yDataTable-DWNlWXzs.js";import{t as ue}from"./useUserOptionState-CXlFnwPv.js";import{t as de}from"./useChartAccessibility-DOMuYJfm.js";import{t as fe}from"./usePanZoom-BdjP5Suc.js";import{t as pe}from"./vue_ui_word_cloud-DBiJtSyL.js";import{Fragment as me,computed as D,createBlock as O,createCommentVNode as k,createElementBlock as A,createElementVNode as he,createSlots as ge,createTextVNode as _e,createVNode as ve,defineAsyncComponent as j,guardReactiveProps as M,mergeProps as ye,nextTick as be,normalizeClass as xe,normalizeProps as N,normalizeStyle as Se,onBeforeUnmount as Ce,onMounted as we,openBlock as P,ref as F,renderList as Te,renderSlot as I,resolveDynamicComponent as Ee,shallowRef as De,toDisplayString as Oe,toRefs as ke,unref as L,watch as Ae,withCtx as R}from"vue";var je={fast:{spiralStep:6,fallbackSpiralStep:2,spiralRadiusStep:2,fallbackSpiralRadiusStep:1,primaryAttempts:1e4,fallbackAttempts:25e3,minimumVisualPadding:2,scaleStep:.9},balanced:{spiralStep:4,fallbackSpiralStep:1,spiralRadiusStep:1.5,fallbackSpiralRadiusStep:1,primaryAttempts:2e4,fallbackAttempts:5e4,minimumVisualPadding:3,scaleStep:.92},precise:{spiralStep:2,fallbackSpiralStep:1,spiralRadiusStep:1,fallbackSpiralRadiusStep:.75,primaryAttempts:5e4,fallbackAttempts:1e5,minimumVisualPadding:4,scaleStep:.95}},Me=`fast`;function Ne(e){return je[e]||je[Me]}var Pe=/* @__PURE__ */ new Map;function Fe(e){let t=String(e),n=Pe.get(t);if(n)return n;let r=Math.PI/180,i=[],a=[];for(let t=0;t<360;t+=e){let e=t*r;i.push(Math.cos(e)),a.push(Math.sin(e))}let o={cosineArray:i,sineArray:a};return Pe.set(t,o),o}function Ie({word:e,fontSize:t,pad:n,canvas:r,ctx:i,svg:a}){let o=a.style&&a.style.bold,s=a.style&&a.style.fontFamily||`Arial, "Noto Sans Arabic", Tahoma, sans-serif`,c=`${o?`bold `:``}${t}px ${s}`,l=String(e.name||``),u=/[\u0600-\u06FF]/.test(l);i.font=c,i.direction=u?`rtl`:`ltr`,i.textAlign=`left`,i.textBaseline=`alphabetic`;let d=i.measureText(l),f=Math.ceil(Math.abs(d.actualBoundingBoxLeft||0)),p=Math.ceil(Math.abs(d.actualBoundingBoxRight||d.width)),m=Math.ceil(d.actualBoundingBoxAscent||t),h=Math.ceil(d.actualBoundingBoxDescent||t*.25),g=Math.max(0,Math.round(n||0))+Math.ceil(t*(u?.22:.12)),_=Math.max(1,f+p+g*2),v=Math.max(1,m+h+g*2);r.width=_,r.height=v,i.font=c,i.direction=u?`rtl`:`ltr`,i.textAlign=`left`,i.textBaseline=`alphabetic`,i.fillStyle=`black`;let y=g+f,ee=g+m;i.fillText(l,y,ee);let te=i.getImageData(0,0,_,v).data,b=[],x=[],S=_,C=v,w=0,T=0,ne=!1;for(let e=0;e<v;e+=1){let t=e*_*4,n=-1,r=!1;for(let i=0;i<_;i+=1)te[t+i*4+3]>1?(b.push([i,e]),ne=!0,i<S&&(S=i),i>w&&(w=i),e<C&&(C=e),e>T&&(T=e),r||(r=!0,n=i)):r&&(x.push([e,n,i-1]),r=!1,n=-1);r&&x.push([e,n,_-1])}return ne||(S=0,C=0,w=0,T=0),{w:_,h:v,wordMask:b,runs:x,minX:S,minY:C,maxX:w,maxY:T}}function Le(e){let t=[];if(!e.length)return t;let n=e[0][1],r=e[0][0],i=r;for(let a=1;a<e.length;a+=1){let o=e[a][0],s=e[a][1];s===n?(o===i+1||(t.push([n,r,i]),r=o),i=o):(t.push([n,r,i]),n=s,r=o,i=o)}return t.push([n,r,i]),t}function Re(e,t){return 4294967295>>>32-(t-e+1)<<e>>>0}function ze(e){return 4294967295<<e>>>0}function Be(e){return 4294967295>>>31-e>>>0}function z({maskBits:e,maskRowStride:t,maskW:n,maskH:r,wx:i,wy:a,runs:o}){for(let s=0;s<o.length;s+=1){let c=o[s][0],l=o[s][1],u=o[s][2],d=a+c;if(d<0||d>=r)return!1;let f=i+l,p=i+u;if(f<0||p>=n)return!1;let m=d*t,h=f>>>5,g=p>>>5,_=f&31,v=p&31;if(h===g){if(e[m+h]&Re(_,v))return!1}else{if(e[m+h]&ze(_))return!1;for(let t=h+1;t<g;t+=1)if(e[m+t])return!1;if(e[m+g]&Be(v))return!1}}return!0}function Ve({maskBits:e,maskRowStride:t,maskW:n,maskH:r,wx:i,wy:a,runs:o}){for(let s=0;s<o.length;s+=1){let c=o[s][0],l=o[s][1],u=o[s][2],d=a+c;if(d<0||d>=r)continue;let f=i+l,p=i+u;if(p<0||f>=n)continue;let m=d*t,h=f>>>5,g=p>>>5,_=f&31,v=p&31;if(h===g){let t=Re(_,v);e[m+h]|=t}else{{let t=ze(_);e[m+h]|=t}for(let t=h+1;t<g;t+=1)e[m+t]=4294967295;{let t=Be(v);e[m+g]|=t}}}}function He({wordMask:e,w:t,h:n,dilation:r}){let i=new Uint8Array(t*n),a=[];for(let n=0;n<e.length;n+=1){let r=e[n][0],o=e[n][1]*t+r;i[o]||(i[o]=1,a.push(o))}for(let e=0;e<a.length;e+=1){let o=a[e],s=o/t|0,c=o-s*t;for(let e=-r;e<=r;e+=1){let a=s+e;if(a<0||a>=n)continue;let o=a*t;for(let n=-r;n<=r;n+=1){if(n===0&&e===0)continue;let r=c+n;r<0||r>=t||(i[o+r]=1)}}}let o=[];for(let e=0;e<i.length;e+=1)if(i[e]){let n=e/t|0,r=e-n*t;o.push([r,n])}return o}function B(e,t){let n=[];for(let r=0;r<t;r+=1){let t=e[r];if(!t||t.length===0)continue;t.sort((e,t)=>e[0]-t[0]);let i=t[0][0],a=t[0][1];for(let e=1;e<t.length;e+=1){let o=t[e][0],s=t[e][1];o<=a+1?s>a&&(a=s):(n.push([r,i,a]),i=o,a=s)}n.push([r,i,a])}return n}function Ue({runs:e,w:t,h:n,dilation:r}){if(!e.length||r<=0)return e;let i=Array(n);for(let a=0;a<e.length;a+=1){let o=e[a],s=o[0],c=Math.max(0,o[1]-r),l=Math.min(t-1,o[2]+r),u=Math.max(0,s-r),d=Math.min(n-1,s+r);for(let e=u;e<=d;e+=1){let t=i[e];t||(t=[],i[e]=t),t.push([c,l])}}return B(i,n)}function V(e,t){let n=e.runs,r=e.w,i=e.h,a=Math.max(1,Math.round(r*t)),o=Math.max(1,Math.round(i*t)),s=Array(o),c=a,l=o,u=0,d=0,f=!1;for(let e=0;e<n.length;e+=1){let r=n[e],i=r[0],a=r[1],p=r[2],m=Math.round(i*t);if(m<0||m>=o)continue;let h=Math.round(a*t),g=Math.round((p+1)*t)-1;if(g<h)continue;let _=s[m];_||(_=[],s[m]=_),_.push([h,g]),f=!0,h<c&&(c=h),g>u&&(u=g),m<l&&(l=m),m>d&&(d=m)}if(!f)return{w:a,h:o,runs:[],minX:0,minY:0,maxX:0,maxY:0};let p=[];for(let e=0;e<o;e+=1){let t=s[e];if(!t||t.length===0)continue;t.sort((e,t)=>e[0]-t[0]);let n=t[0][0],r=t[0][1];for(let i=1;i<t.length;i+=1){let a=t[i][0],o=t[i][1];a<=r+1?o>r&&(r=o):(p.push([e,n,r]),n=a,r=o)}p.push([e,n,r])}return{w:a,h:o,runs:p,minX:c,minY:l,maxX:u,maxY:d}}var We=/* @__PURE__ */ new Map,Ge=/* @__PURE__ */ new Map;function Ke({word:e,fontSize:t,pad:n,svg:r}){let i=r.style&&r.style.bold?1:0,a=n||0;return`${e.name}::${t}::${a}::${i}`}function qe({word:e,fontSize:t,pad:n,canvas:r,ctx:i,svg:a}){let o=Ke({word:e,fontSize:t,pad:n,svg:a}),s=We.get(o);if(s)return{key:o,bitmap:s};let c=Ie({word:e,fontSize:t,pad:n,canvas:r,ctx:i,svg:a});return We.set(o,c),{key:o,bitmap:c}}function Je({bitmapKey:e,wordMask:t,w:n,h:r,dilation:i}){let a=`${e}::d${i}`,o=Ge.get(a);if(o)return o;let s=He({wordMask:t,w:n,h:r,dilation:i}),c={wordMask:s,runs:Le(s)};return Ge.set(a,c),c}function Ye(e,t,n){if(!e.length)return;let r=1/0,i=-1/0,a=1/0,o=-1/0;for(let t=0;t<e.length;t+=1){let n=e[t],s=n.x+n.minX,c=n.x+n.maxX,l=n.y+n.minY,u=n.y+n.maxY;s<r&&(r=s),c>i&&(i=c),l<a&&(a=l),u>o&&(o=u)}if(!isFinite(r)||!isFinite(i)||!isFinite(a)||!isFinite(o))return;let s=Math.max(Math.abs(r),Math.abs(i)),c=Math.max(Math.abs(a),Math.abs(o));if(s===0||c===0)return;let l=.9,u=t*.5*l/s,d=n*.5*l/c,f=Math.min(u,d);if(!(f<=1)){f>4&&(f=4);for(let t=0;t<e.length;t+=1){let n=e[t];n.x*=f,n.y*=f,n.width*=f,n.height*=f,n.fontSize*=f,n.minX*=f,n.maxX*=f,n.minY*=f,n.maxY*=f}}}function Xe(){return typeof performance<`u`&&typeof performance.now==`function`?()=>performance.now():()=>Date.now()}function Ze({value:e,minimumValue:t,maximumValue:n,configuredMinimumFontSize:r,maximumFontSize:i}){if(n===t)return i;let a=(e-t)/(n-t)*(i-r)+r;return Math.max(r,Math.min(i,a))}function Qe({bitmapHeight:e,proximity:t,strictPixelPadding:n,minimumVisualPadding:r}){let i=Math.max(0,Math.round(t||0)),a=Math.ceil(e*.035)+2;return Math.max(i,a,n?3:0,r)}function $e({currentBitmap:e,strictPixelPadding:t,scaleFactor:n,baseBitmap:r,bitmapKey:i,proximity:a,minimumVisualPadding:o}){let s=e.runs,c=e.w,l=e.h,u=e.minX,d=e.minY,f=e.maxX,p=e.maxY;if(!s.length)return{runs:s,bitmapWidth:c,bitmapHeight:l,bitmapMinimumX:u,bitmapMinimumY:d,bitmapMaximumX:f,bitmapMaximumY:p};let m=Qe({bitmapHeight:l,proximity:a,strictPixelPadding:t,minimumVisualPadding:o});return m<=0?{runs:s,bitmapWidth:c,bitmapHeight:l,bitmapMinimumX:u,bitmapMinimumY:d,bitmapMaximumX:f,bitmapMaximumY:p}:n===1&&m===2&&t?{runs:Je({bitmapKey:i,wordMask:r.wordMask,w:r.w,h:r.h,dilation:m}).runs,bitmapWidth:c,bitmapHeight:l,bitmapMinimumX:u,bitmapMinimumY:d,bitmapMaximumX:f,bitmapMaximumY:p}:{runs:Ue({runs:s,w:c,h:l,dilation:m}),bitmapWidth:c,bitmapHeight:l,bitmapMinimumX:u,bitmapMinimumY:d,bitmapMaximumX:f,bitmapMaximumY:p}}async function H({baseBitmap:e,baseFontSize:t,minimumScaleFactor:n,maskBits:r,maskRowStride:i,maskWidth:a,maskHeight:o,centerX:s,centerY:c,maximumRadius:l,scaleStep:u,strictPixelPadding:d,bitmapKey:f,minimumFontSize:p,rawWord:m,cosineArray:h,sineArray:g,radiusStep:_,maximumAttempts:v,maybeYield:y,proximity:ee,minimumVisualPadding:te}){let b=1;for(;b>=n;){let{runs:n,bitmapWidth:x,bitmapHeight:S,bitmapMinimumX:C,bitmapMinimumY:w,bitmapMaximumX:T,bitmapMaximumY:ne}=$e({currentBitmap:b===1?e:V(e,b),strictPixelPadding:d,scaleFactor:b,baseBitmap:e,bitmapKey:f,proximity:ee,minimumVisualPadding:te}),re=0,ie=0;for(;re<l&&ie<v;){for(let e=0;e<h.length;e+=1){ie+=1;let l=Math.round(s+re*h[e]-x/2),u=Math.round(c+re*g[e]-S/2);if(!(l<0||u<0||l+x>a||u+S>o)&&z({maskBits:r,maskRowStride:i,maskW:a,maskH:o,wx:l,wy:u,runs:n})){let{__wcIndex:e,...s}=m,c=Math.max(p,Math.round(t*b)),d={...s,x:l-a/2,y:u-o/2,fontSize:c,width:x,height:S,angle:0,minX:C,minY:w,maxX:T,maxY:ne};return Ve({maskBits:r,maskRowStride:i,maskW:a,maskH:o,wx:l,wy:u,runs:n}),d}}re+=_,ie&1023||await y()}b*=u,await y()}return null}async function et({baseBitmap:e,baseFontSize:t,minimumScaleFactor:n,maskBits:r,maskRowStride:i,maskWidth:a,maskHeight:o,centerX:s,centerY:c,maximumRadius:l,scaleStep:u,strictPixelPadding:d,bitmapKey:f,minimumFontSize:p,rawWord:m,maybeYield:h,proximity:g,qualityPreset:_,primarySpiral:v,fallbackSpiral:y}){return await H({baseBitmap:e,baseFontSize:t,minimumScaleFactor:n,maskBits:r,maskRowStride:i,maskWidth:a,maskHeight:o,centerX:s,centerY:c,maximumRadius:l,scaleStep:u,strictPixelPadding:d,bitmapKey:f,minimumFontSize:p,rawWord:m,cosineArray:v.cosineArray,sineArray:v.sineArray,radiusStep:_.spiralRadiusStep,maximumAttempts:_.primaryAttempts,maybeYield:h,proximity:g,minimumVisualPadding:_.minimumVisualPadding})||await H({baseBitmap:e,baseFontSize:t,minimumScaleFactor:n,maskBits:r,maskRowStride:i,maskWidth:a,maskHeight:o,centerX:s,centerY:c,maximumRadius:l,scaleStep:u,strictPixelPadding:d,bitmapKey:f,minimumFontSize:p,rawWord:m,cosineArray:y.cosineArray,sineArray:y.sineArray,radiusStep:_.fallbackSpiralRadiusStep,maximumAttempts:_.fallbackAttempts,maybeYield:h,proximity:g,minimumVisualPadding:_.minimumVisualPadding})}async function tt({words:e,proximity:t=0,svg:n,strictPixelPadding:r,quality:i=Me,onProgress:a,debugTiming:o=!1}){let s=Xe(),c=s(),l=c;async function u(){s()-l>=12&&(await new Promise(e=>setTimeout(e,0)),l=s())}let d=n.width,f=n.height,p=Math.round(d),m=Math.round(f),h=Ne(i),g=Fe(h.spiralStep),_=Fe(h.fallbackSpiralStep),v=n.minFontSize,y=Math.min(n.maxFontSize,100),ee=e.map(e=>e.value),te=Math.min(...ee),b=Math.max(...ee);if(p<=0||m<=0)return[];let x=p+31>>>5,S=new Uint32Array(x*m),C=document.createElement(`canvas`),w=C.getContext(`2d`,{willReadFrequently:!0});C.width=p,C.height=m;let T=Math.max(p,m),ne=Math.floor(p/2),re=Math.floor(m/2),ie=[...e.map((e,t)=>({...e,__wcIndex:t,id:e.id==null?`${e.name}__${t}`:e.id}))].sort((e,t)=>t.value-e.value),E=[],ae=h.scaleStep;for(let e=0;e<ie.length;e+=1){let i=ie[e],o=E.length,s=Ze({value:i.value,minimumValue:te,maximumValue:b,configuredMinimumFontSize:v,maximumFontSize:y}),c=qe({word:i,fontSize:s,pad:t,canvas:C,ctx:w,svg:n}),l=c.key,d=c.bitmap,f=d.w,ee=d.h;if(f<=0||ee<=0){await u();continue}let oe=await et({baseBitmap:d,baseFontSize:s,minimumScaleFactor:Math.max(1/s,.1),maskBits:S,maskRowStride:x,maskWidth:p,maskHeight:m,centerX:ne,centerY:re,maximumRadius:T,scaleStep:ae,strictPixelPadding:r,bitmapKey:l,minimumFontSize:1,rawWord:i,maybeYield:u,proximity:t,qualityPreset:h,primarySpiral:g,fallbackSpiral:_});if(oe&&(E.push(oe),a&&E.length>o)){let e=E[E.length-1];a({word:e,all:E})}await u()}if(!E.length)return[];Ye(E,p,m);let oe=s()-c;return o&&typeof console<`u`&&console.log&&console.log(`[vue-data-ui][word-cloud] positionWordsAsync:`,`${oe.toFixed(2)} ms for ${e.length} words`),E.sort((e,t)=>t.fontSize-e.fontSize)}var nt=/* @__PURE__ */ e({default:()=>gt}),rt=[`id`,`data-resizing`,`data-relayout`],it=[`id`],at={style:{position:`relative`}},ot=[`aria-describedby`,`xmlns`,`viewBox`],st=[`width`,`height`],ct=[`transform`],lt=[`transform`],ut=[`data-a11y-word-index`,`x`,`y`,`width`,`height`,`aria-label`,`onMouseover`,`onMouseleave`,`onClick`],dt=[`fill`,`font-weight`,`font-size`,`transform`,`stroke`,`stroke-width`],ft={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},pt={key:5,class:`vue-data-ui-watermark`},mt={key:6,"data-dom-to-png-ignore":``,class:`reset-wrapper`},ht={style:{display:`flex`,"align-items":`center`}},gt=/*#__PURE__*/ te({__name:`vue-ui-word-cloud`,props:{config:{type:Object,default(){return{}}},dataset:{type:[Array,String],default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:te,emit:je}){let Me=j(()=>import(`./Tooltip-C1q0Qoh7.js`)),Ne=j(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Pe=j(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Fe=j(()=>import(`./DataTable-0Vv-aGHD.js`)),Ie=j(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Le=j(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Re=j(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),ze=j(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_word_cloud:Be}=t(),z=e,Ve=je,He=D({get(){return!!z.dataset&&z.dataset.length},set(e){return e}}),B=F(s()),Ue=F(0),V=F(null),We=F(null),Ge=F(null),Ke=F(0),qe=F(0),Je=F(!1),Ye=F(null),Xe=F(null),Ze=F(!1),Qe=F(!1),$e=F(null),H=F(null),et=F({x:0,y:0}),nt=F(`pointer`),gt=F(!1),U=F(Ot()),W=D(()=>U.value.userOptions),G=D(()=>U.value.style.chart.tooltip),_t=D(()=>U.value.style.chart.controls),K=D(()=>U.value.style.chart.words),q=D(()=>U.value.style.chart);y({config:()=>U.value,dataset:()=>z.dataset,component:`VueUiWordCloud`,rules:[ee.noHint]});let vt=D(()=>U.value.userOptions.useCursorPointer),yt=D(()=>f({defaultConfig:{userOptions:{show:!1},table:{show:!1},useCssAnimation:!1,animationDelayMs:0,nodeCategories:{},nodeCategoryColors:{},style:{chart:{backgroundColor:`#99999930`,words:{color:`#6A6A6A`,usePalette:!1,selectedStroke:`#CCCCCC`}}}},userConfig:U.value.skeletonConfig??{}})),{loading:bt,FINAL_DATASET:xt,manualLoading:St}=_({...ke(z),FINAL_CONFIG:U,prepareConfig:Ot,callback:()=>{Promise.resolve().then(()=>{Z.value.showTable=U.value.table.show,Z.value.showTooltip=G.value.show,Z.value.showZoom=q.value.zoom.show})},skeletonDataset:z.config?.skeletonDataset??[{name:`Lorem`,value:6},{name:`ipsum`,value:3},{name:`dolor`,value:1},{name:`sit`,value:3},{name:`amet`,value:3},{name:`consectetur`,value:2},{name:`adipiscing`,value:1},{name:`elit`,value:2},{name:`Vivamus`,value:2},{name:`pulvinar`,value:1},{name:`pretium`,value:1},{name:`venenatis`,value:2},{name:`Donec`,value:1},{name:`imperdiet`,value:3},{name:`id`,value:1},{name:`porttitor`,value:2},{name:`tristique`,value:1},{name:`Aenean`,value:2},{name:`ac`,value:5},{name:`commodo`,value:2},{name:`justo`,value:2},{name:`Vestibulum`,value:2},{name:`placerat`,value:1},{name:`molestie`,value:1},{name:`nisl`,value:1},{name:`lacinia`,value:2},{name:`nulla`,value:1},{name:`posuere`,value:2},{name:`quis`,value:3},{name:`ullamcorper`,value:1},{name:`eu`,value:1},{name:`ex`,value:1},{name:`vitae`,value:3},{name:`facilisis`,value:1},{name:`Aliquam`,value:1},{name:`erat`,value:1},{name:`volutpat`,value:1},{name:`Proin`,value:1},{name:`nunc`,value:1},{name:`felis`,value:1},{name:`gravida`,value:3},{name:`sed`,value:1},{name:`orci`,value:1},{name:`Interdum`,value:1},{name:`et`,value:1},{name:`malesuada`,value:1},{name:`fames`,value:1},{name:`ante`,value:1}],skeletonConfig:f({defaultConfig:U.value,userConfig:yt.value})}),Ct=F(wt());function wt(){return typeof xt.value==`string`?c(xt.value):xt.value.map((e,t)=>({...e,value:d(e.value)}))}let{userOptionsVisible:Tt,setUserOptionsVisibility:Et,keepUserOptionState:Dt}=ue({config:U.value}),{svgRef:J}=de({config:q.value.title});function Ot(){return b(z.config,Be,pe)}let kt=F({x:0,y:0});function At(){let e={x:0,y:0,width:Math.max(10,Y.value.width),height:Math.max(10,Y.value.height)};sn(e),kt.value={x:e.x+e.width/2,y:e.y+e.height/2},an()}let jt=se(()=>{Gt()},100),Mt=F(!1);Ae(()=>Mt.value,e=>{e===!1&&(Qe.value=!0,jt(),At())});let Nt=l(z.config);Ae(()=>z.config,(e,t)=>{let n=l(e),r=n!==Nt;Nt=n;let i=Ot();r?(U.value=i,Tt.value=!U.value.userOptions.showOnChartHover,Rt(),Ke.value+=1,qe.value+=1,Z.value.showTable=U.value.table.show,Z.value.showTooltip=G.value.show,Z.value.showZoom=q.value.zoom.show):(U.value.style.chart.tooltip=i.style.chart.tooltip,Z.value.showTooltip=U.value.style.chart.tooltip.show)},{deep:!0});let Y=F({width:q.value.width,height:q.value.height,maxFontSize:K.value.maxFontSize,minFontSize:K.value.minFontSize,bold:K.value.bold}),Pt=se(()=>{let{width:e,height:t}=ce({chart:V.value,title:q.value.title.text?We.value:null,legend:_t.value.show?$e.value?.$el:null,source:Ge.value});requestAnimationFrame(async()=>{Y.value.width=Math.max(10,e),Y.value.height=Math.max(10,t-12),await be(),Mt.value=!1})},100),Ft=()=>{Mt.value=!0,Pt()},X=De(null),It=De(null);we(Rt);let Lt=D(()=>U.value.debug);function Rt(){g(z.dataset)?u({componentName:`VueUiWordCloud`,type:`dataset`,debug:Lt.value}):Ct.value.forEach((e,t)=>{h({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{He.value=!1,u({componentName:`VueUiWordCloud`,type:`datasetSerieAttribute`,property:e,index:t,debug:Lt.value})})}),g(z.dataset)||(St.value=U.value.loading),U.value.responsive&&(X.value&&(It.value&&X.value.unobserve(It.value),X.value.disconnect()),X.value=new ResizeObserver(Ft),It.value=V.value.parentNode,X.value.observe(It.value)),At()}Ce(()=>{X.value&&(It.value&&X.value.unobserve(It.value),X.value.disconnect())});let{isPrinting:zt,isImaging:Bt,generatePdf:Vt,generateImage:Ht}=oe({elementId:`wordCloud_${B.value}`,fileName:q.value.title.text||`vue-ui-word-cloud`,options:U.value.userOptions.print}),Z=F({showTable:U.value.table.show,showTooltip:G.value.show,showZoom:q.value.zoom.show});Ae(U,()=>{Z.value.showTable=U.value.table.show,Z.value.showTooltip=G.value.show,Z.value.showZoom=q.value.zoom.show},{immediate:!0});function Ut(e,t,n=`Arial`){let r=document.createElement(`canvas`).getContext(`2d`);return r.font=`${t}px ${K.value.bold?`bold`:`normal`} ${n}`,{width:r.measureText(e).width+K.value.proximity,height:t}}let Q=F([]),Wt=/* @__PURE__ */ new Map;function Gt(){let e=[...Ct.value].map(e=>e.value),t=Math.max(...e),n=Math.min(...e),r=[...Ct.value].map((e,r)=>{let i=(e.value-n)/(t-n)*(Y.value.maxFontSize-Y.value.minFontSize)+Y.value.minFontSize;i=isNaN(i)?Y.value.minFontSize:i;let s=Ut(e.name,i);return{...e,id:e.id??`${e.name}__${r}`,fontSize:i,width:s.width,height:s.height,color:e.color?o(e.color):K.value.usePalette?U.value.customPalette[r]||U.value.customPalette[r%U.value.customPalette.length]||a[r]||a[r%a.length]:K.value.color}});Q.value.length=0,Wt.clear(),tt({debugTiming:Lt.value,words:r,svg:Y.value,proximity:K.value.proximity,strictPixelPadding:U.value.strictPixelPadding,quality:U.value.quality,onProgress:({all:e})=>{for(let t of e){let e=t.id,n=Wt.get(e);if(n===void 0)n=Q.value.length,Wt.set(e,n),Q.value.push({...t});else{let e=Q.value[n];e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height,e.fontSize=t.fontSize,e.minX=t.minX,e.minY=t.minY,e.maxX=t.maxX,e.maxY=t.maxY}}}}),Q.value.sort((e,t)=>t.fontSize-e.fontSize),Wt.clear(),Q.value.forEach((e,t)=>{Wt.set(e.id,t)}),Ze.value=!0,Qe.value=!1}let Kt=D(()=>({head:Q.value.map(e=>({name:e.name,color:e.color})),body:Q.value.map(e=>e.value)}));function qt(e=null){be(()=>{let t=Kt.value.head.map((e,t)=>[[e.name],[Kt.value.body[t]]]),n=[[q.value.title.text],[q.value.title.subtitle.text],[[``],[U.value.table.columnNames.value]]].concat(t),i=r(n);e?e(i):p({csvContent:i,title:q.value.title.text||`vue-ui-word-cloud`})})}let Jt=D(()=>{let e=[U.value.table.columnNames.series,U.value.table.columnNames.value],t=Kt.value.head.map((e,t)=>{let r=n({p:U.value.table.td.prefix,v:Kt.value.body[t],s:U.value.table.td.suffix,r:U.value.table.td.roundingValue});return[{color:e.color,name:e.name},r]}),r=t.map(e=>e.map((e,t)=>t===0?e.name:e)),i={th:{backgroundColor:U.value.table.th.backgroundColor,color:U.value.table.th.color,outline:U.value.table.th.outline},td:{backgroundColor:U.value.table.td.backgroundColor,color:U.value.table.td.color,outline:U.value.table.td.outline},breakpoint:U.value.table.responsiveBreakpoint};return{colNames:[U.value.table.columnNames.series,U.value.table.columnNames.value],head:e,body:t,a11yBody:r,config:i}}),$=F(!1);function Yt(e){$.value=e,Ue.value+=1}function Xt(){return Q.value}function Zt(){Z.value.showTable=!Z.value.showTable}function Qt(){Z.value.showTooltip=!Z.value.showTooltip}let $t=F(!1);function en(){$t.value=!$t.value}function tn(){Z.value.showZoom=!Z.value.showZoom}let nn=D(()=>!$t.value&&Z.value.showZoom),{viewBox:rn,resetZoom:an,isZoom:on,setInitialViewBox:sn,zoomByFactor:cn,scale:ln}=fe(J,{x:0,y:0,width:Y.value.width<=0?10:Y.value.width,height:Y.value.height<=0?10:Y.value.height},1,nn);Ae(()=>z.dataset,()=>{Ct.value=wt(),U.value.responsive||(Gt(),At())},{immediate:!0});let un=x(V,()=>q.value.title.text),dn=D(()=>ne({config:U,style:q,mutableConfig:Z,dialog:ze,accordion:Pe,isFullscreen:$,parent:V,maxWidth:500,isCursorPointer:vt}));Ae(()=>Z.value.showTable,e=>T(e,U,Ye));function fn(){Z.value.showTable=!1,Xe.value&&Xe.value.setTableIconState(!1)}let pn=D(()=>q.value.backgroundColor),mn=D(()=>q.value.title),{isCallbackImaging:hn,isCallbackSvg:gn,generateSvg:_n,onGenerateImage:vn}=w({svg:J,title:mn,legend:null,legendItems:null,backgroundColor:pn,getSvgCallback:()=>U.value.userOptions.callbacks.svg,generateImage:Ht});function yn(){cn(1.5,!0)}function bn(){cn(1/1.5,!0)}let xn=F(null),Sn=F(!1),Cn=F(``),wn=F(null);function Tn(){xn.value=null,H.value=null,Je.value=!1}function En(e,t){U.value.events.datapointLeave&&U.value.events.datapointLeave({datapoint:e,seriesIndex:t}),(H.value!==t||nt.value!==`keyboard`)&&(xn.value=null,Je.value=!1)}function Dn(e,t){U.value.events.datapointClick&&U.value.events.datapointClick({datapoint:e,seriesIndex:t})}function On(e){if(!J.value||e==null)return;let t=J.value.querySelector(`[data-a11y-word-index="${e}-${B.value}"]`);if(!t)return;let n=t.getBoundingClientRect();et.value={x:n.left+n.width/2,y:n.top+n.height/2}}function kn(e,t,n=`pointer`){if(U.value.events.datapointEnter&&U.value.events.datapointEnter({datapoint:e,seriesIndex:t}),!Z.value.showTooltip)return;nt.value=n,H.value=t,xn.value=e.id,wn.value={datapoint:e,config:U.value,seriesIndex:t};let r=G.value.customFormat;if(Sn.value=!1,i(r))try{let t=r({datapoint:e,config:U.value});typeof t==`string`&&(Cn.value=t,Sn.value=!0)}catch{console.warn(`Custom format cannot be applied.`),Sn.value=!1}if(!Sn.value){let t=`<svg viewBox="0 0 10 10" height="${G.value.fontSize}"><circle cx="5" cy="5" r="5" fill="${e.color}"/></svg><span>${e.name}:</span><b>${(e.value||0).toFixed(G.value.roundingValue)}</b>`;Cn.value=`<div dir="auto" style="display:flex; gap:4px; align-items:center; jsutify-content:center;">${t}</div>`}n===`keyboard`&&be(()=>{On(t)}),Je.value=!0}async function An(){Ve(`copyAlt`,{config:U.value,dataset:Q.value}),U.value.userOptions.callbacks.altCopy?await Promise.resolve(U.value.userOptions.callbacks.altCopy({config:U.value,dataset:Q.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function jn(){H.value=null,gt.value=!0}function Mn(){Tn(),gt.value=!1}function Nn(e){if(!J.value||$t.value||document.activeElement!==J.value||!Q.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){Tn();return}if(r){if(H.value===null)return;let e=Q.value[H.value];if(!e)return;Dn(e,H.value);return}let a=H.value;a===null||a<0||a>=Q.value.length?a=n?0:Q.value.length-1:(a+=n?1:-1,a<0&&(a=Q.value.length-1),a>=Q.value.length&&(a=0));let o=Q.value[a];o&&kn(o,a,`keyboard`)}let Pn=D(()=>({headers:Jt.value?.colNames??[],rows:Jt.value?.a11yBody??[]}));return te({getData:Xt,getImage:un,generateCsv:qt,generatePdf:Vt,generateImage:Ht,generateSvg:_n,resetZoom:an,toggleTable:Zt,toggleTooltip:Qt,toggleAnnotator:en,toggleFullscreen:Yt,toggleZoom:tn,copyAlt:An}),(e,t)=>(P(),A(`div`,{class:`vue-data-ui-component vue-ui-word-cloud`,ref_key:`wordCloudChart`,ref:V,id:`wordCloud_${B.value}`,"data-resizing":Mt.value,"data-relayout":Qe.value,style:Se(`width: 100%; font-family:${U.value.style.fontFamily};background:${q.value.backgroundColor};${U.value.responsive?`height:100%`:``}`),onMouseenter:t[3]||=()=>L(Et)(!0),onMouseleave:t[4]||=()=>{L(Et)(!1),gt.value||Tn()}},[he(`div`,{id:`chart-instructions-${B.value}`,class:`sr-only`},[he(`p`,null,Oe(U.value.a11y.translations.keyboardNavigation),1)],8,it),Pn.value?.rows?.length?(P(),O(le,{key:0,uid:B.value,head:Pn.value.headers,body:Pn.value.rows,notice:U.value.a11y.translations.tableAvailable,caption:U.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):k(``,!0),W.value.buttons.annotator?(P(),O(L(Ie),{key:1,svgRef:L(J),backgroundColor:q.value.backgroundColor,color:q.value.color,active:$t.value,isCursorPointer:vt.value,palette:W.value.annotatorPalette,onClose:en},ge({_:2},[Te(L(ie),t=>({name:t,fn:R(n=>[I(e.$slots,t,N(M(L(re)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):k(``,!0),q.value.title.text?(P(),A(`div`,{key:2,ref_key:`chartTitle`,ref:We,style:`width:100%;background:transparent;padding-bottom:24px`},[(P(),O(C,{key:`title_${Ke.value}`,config:{title:{...q.value.title},subtitle:{...q.value.title.subtitle}}},null,8,[`config`]))],512)):k(``,!0),W.value.show&&He.value&&(L(Dt)||L(Tt))?(P(),O(L(Le),{ref_key:`userOptionsRef`,ref:Xe,key:`user_option_${Ue.value}`,backgroundColor:q.value.backgroundColor,color:q.value.color,isPrinting:L(zt),isImaging:L(Bt),uid:B.value,hasPdf:W.value.buttons.pdf,hasXls:W.value.buttons.csv,hasImg:W.value.buttons.img,hasSvg:W.value.buttons.svg,hasTable:W.value.buttons.table,hasFullscreen:W.value.buttons.fullscreen,hasAltCopy:W.value.buttons.altCopy,isFullscreen:$.value,titles:{...W.value.buttonTitles},chartElement:V.value,position:W.value.position,hasTooltip:G.value.show&&W.value.buttons.tooltip,isTooltip:Z.value.showTooltip,hasAnnotator:W.value.buttons.annotator,isAnnotation:$t.value,callbacks:W.value.callbacks,printScale:W.value.print.scale,tableDialog:U.value.table.useDialog,hasZoom:W.value.buttons.zoom,isZoom:Z.value.showZoom,isCursorPointer:vt.value,onToggleFullscreen:Yt,onGeneratePdf:L(Vt),onGenerateCsv:qt,onGenerateImage:L(vn),onGenerateSvg:L(_n),onToggleTable:Zt,onToggleTooltip:Qt,onToggleAnnotator:en,onToggleZoom:tn,onCopyAlt:An,style:Se({visibility:L(Dt)?L(Tt)?`visible`:`hidden`:`visible`})},ge({_:2},[Te(L(E)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionZoom optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:R(n=>[I(e.$slots,t,N(M(L(ae)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasTooltip.isTooltip.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.hasZoom.isZoom.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):k(``,!0),_t.value.position===`top`&&_t.value.show&&!L(bt)?(P(),O(S,{key:4,ref_key:`zoomControls`,ref:$e,config:U.value,scale:L(ln),isFullscreen:$.value,isCursorPointer:vt.value,onZoomIn:yn,onZoomOut:bn,onResetZoom:t[0]||=e=>L(an)(!0)},null,8,[`config`,`scale`,`isFullscreen`,`isCursorPointer`])):k(``,!0),he(`div`,at,[(P(),A(`svg`,{ref_key:`svgRef`,ref:J,class:xe({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value}),"aria-describedby":`chart-instructions-${B.value}`,xmlns:L(m),viewBox:`${L(rn).x} ${L(rn).y} ${L(rn).width} ${L(rn).height}`,style:`overflow:hidden;background:transparent;display:block`,tabindex:`0`,onFocus:jn,onBlur:Mn,onKeydown:Nn},[ve(L(Re)),I(e.$slots,`svg-underlayer`,{svg:{...Y.value,isPrintingImg:L(zt)||L(Bt)||L(hn),isPrintingSvg:L(gn)}},void 0,!0),e.$slots[`chart-background`]?(P(),A(`foreignObject`,{key:0,x:0,y:0,width:Y.value.width<=0?10:Y.value.width,height:Y.value.height<=0?10:Y.value.height,style:{pointerEvents:`none`}},[I(e.$slots,`chart-background`,{},void 0,!0)],8,st)):k(``,!0),he(`g`,{transform:`translate(${kt.value.x}, ${kt.value.y})`,class:xe({"wc-finalized":Ze.value})},[(P(!0),A(me,null,Te(Q.value,(e,t)=>(P(),A(`g`,{key:e.id,class:`vue-ui-word-cloud-word`,transform:`translate(${e.x}, ${e.y})`},[e.minX===void 0?k(``,!0):(P(),A(`rect`,{key:0,"data-a11y-word-index":`${t}-${B.value}`,x:e.minX,y:e.minY*1.25,width:e.maxX-e.minX,height:e.maxY-e.minY,fill:`transparent`,"pointer-events":`visiblePainted`,"aria-label":`${e.name}: ${(e.value||0).toFixed(G.value.roundingValue)}`,onMouseover:n=>kn(e,t),onMouseleave:n=>En(e,t),onClick:n=>Dn(e,t)},null,40,ut)),he(`text`,{fill:e.color,"font-weight":K.value.bold?`bold`:`normal`,x:0,y:0,"font-size":e.fontSize,transform:`translate(${e.width/2}, ${e.height/2})`,"text-anchor":`middle`,"dominant-baseline":`central`,"paint-order":`stroke fill`,stroke:!xn.value||xn.value===e.id?K.value.selectedStroke:void 0,"stroke-width":e.height*.05,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:Se(`
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Ht as a,S as o,X as s,Z as c,Zt as l,at as u,b as d,in as f,nt as p,t as m,yt as h,zt as g}from"./lib-rPeBMZrn.js";import{n as _,t as v}from"./BaseScanner-8NdoBs7B.js";import{n as y,t as ee}from"./useHints-C-TwxM0Y.js";import{t as te}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as b}from"./resolveChartConfig-CIhClE5R.js";import{t as x}from"./chartImage-DPGnEuYM.js";import{t as S}from"./BaseZoomControls-ByS_7fmI.js";import{n as C}from"./Title-BliHuXfT.js";import{t as w}from"./useChartExport-BZts4KFb.js";import{n as T,t as ne}from"./tableIntegration-CNoJ1CIY.js";import{n as re,t as ie}from"./annotationSlots-BRR85CqJ.js";import{n as E,t as ae}from"./userOptionsSlots-DYuo-E5m.js";import{t as oe}from"./usePrinter-DVf3YcG5.js";import{r as se}from"./canvas-lib-22VpOI4_.js";import{t as ce}from"./useResponsive-CENUxfEL.js";import{t as le}from"./A11yDataTable-DWNlWXzs.js";import{t as ue}from"./useUserOptionState-CXlFnwPv.js";import{t as de}from"./useChartAccessibility-DOMuYJfm.js";import{t as fe}from"./usePanZoom-BdjP5Suc.js";import{t as pe}from"./vue_ui_word_cloud-DBiJtSyL.js";import{Fragment as me,computed as D,createBlock as O,createCommentVNode as k,createElementBlock as A,createElementVNode as he,createSlots as ge,createTextVNode as _e,createVNode as ve,defineAsyncComponent as j,guardReactiveProps as M,mergeProps as ye,nextTick as be,normalizeClass as xe,normalizeProps as N,normalizeStyle as Se,onBeforeUnmount as Ce,onMounted as we,openBlock as P,ref as F,renderList as Te,renderSlot as I,resolveDynamicComponent as Ee,shallowRef as De,toDisplayString as Oe,toRefs as ke,unref as L,watch as Ae,withCtx as R}from"vue";var je={fast:{spiralStep:6,fallbackSpiralStep:2,spiralRadiusStep:2,fallbackSpiralRadiusStep:1,primaryAttempts:1e4,fallbackAttempts:25e3,minimumVisualPadding:2,scaleStep:.9},balanced:{spiralStep:4,fallbackSpiralStep:1,spiralRadiusStep:1.5,fallbackSpiralRadiusStep:1,primaryAttempts:2e4,fallbackAttempts:5e4,minimumVisualPadding:3,scaleStep:.92},precise:{spiralStep:2,fallbackSpiralStep:1,spiralRadiusStep:1,fallbackSpiralRadiusStep:.75,primaryAttempts:5e4,fallbackAttempts:1e5,minimumVisualPadding:4,scaleStep:.95}},Me=`fast`;function Ne(e){return je[e]||je[Me]}var Pe=/* @__PURE__ */ new Map;function Fe(e){let t=String(e),n=Pe.get(t);if(n)return n;let r=Math.PI/180,i=[],a=[];for(let t=0;t<360;t+=e){let e=t*r;i.push(Math.cos(e)),a.push(Math.sin(e))}let o={cosineArray:i,sineArray:a};return Pe.set(t,o),o}function Ie({word:e,fontSize:t,pad:n,canvas:r,ctx:i,svg:a}){let o=a.style&&a.style.bold,s=a.style&&a.style.fontFamily||`Arial, "Noto Sans Arabic", Tahoma, sans-serif`,c=`${o?`bold `:``}${t}px ${s}`,l=String(e.name||``),u=/[\u0600-\u06FF]/.test(l);i.font=c,i.direction=u?`rtl`:`ltr`,i.textAlign=`left`,i.textBaseline=`alphabetic`;let d=i.measureText(l),f=Math.ceil(Math.abs(d.actualBoundingBoxLeft||0)),p=Math.ceil(Math.abs(d.actualBoundingBoxRight||d.width)),m=Math.ceil(d.actualBoundingBoxAscent||t),h=Math.ceil(d.actualBoundingBoxDescent||t*.25),g=Math.max(0,Math.round(n||0))+Math.ceil(t*(u?.22:.12)),_=Math.max(1,f+p+g*2),v=Math.max(1,m+h+g*2);r.width=_,r.height=v,i.font=c,i.direction=u?`rtl`:`ltr`,i.textAlign=`left`,i.textBaseline=`alphabetic`,i.fillStyle=`black`;let y=g+f,ee=g+m;i.fillText(l,y,ee);let te=i.getImageData(0,0,_,v).data,b=[],x=[],S=_,C=v,w=0,T=0,ne=!1;for(let e=0;e<v;e+=1){let t=e*_*4,n=-1,r=!1;for(let i=0;i<_;i+=1)te[t+i*4+3]>1?(b.push([i,e]),ne=!0,i<S&&(S=i),i>w&&(w=i),e<C&&(C=e),e>T&&(T=e),r||(r=!0,n=i)):r&&(x.push([e,n,i-1]),r=!1,n=-1);r&&x.push([e,n,_-1])}return ne||(S=0,C=0,w=0,T=0),{w:_,h:v,wordMask:b,runs:x,minX:S,minY:C,maxX:w,maxY:T}}function Le(e){let t=[];if(!e.length)return t;let n=e[0][1],r=e[0][0],i=r;for(let a=1;a<e.length;a+=1){let o=e[a][0],s=e[a][1];s===n?(o===i+1||(t.push([n,r,i]),r=o),i=o):(t.push([n,r,i]),n=s,r=o,i=o)}return t.push([n,r,i]),t}function Re(e,t){return 4294967295>>>32-(t-e+1)<<e>>>0}function ze(e){return 4294967295<<e>>>0}function Be(e){return 4294967295>>>31-e>>>0}function z({maskBits:e,maskRowStride:t,maskW:n,maskH:r,wx:i,wy:a,runs:o}){for(let s=0;s<o.length;s+=1){let c=o[s][0],l=o[s][1],u=o[s][2],d=a+c;if(d<0||d>=r)return!1;let f=i+l,p=i+u;if(f<0||p>=n)return!1;let m=d*t,h=f>>>5,g=p>>>5,_=f&31,v=p&31;if(h===g){if(e[m+h]&Re(_,v))return!1}else{if(e[m+h]&ze(_))return!1;for(let t=h+1;t<g;t+=1)if(e[m+t])return!1;if(e[m+g]&Be(v))return!1}}return!0}function Ve({maskBits:e,maskRowStride:t,maskW:n,maskH:r,wx:i,wy:a,runs:o}){for(let s=0;s<o.length;s+=1){let c=o[s][0],l=o[s][1],u=o[s][2],d=a+c;if(d<0||d>=r)continue;let f=i+l,p=i+u;if(p<0||f>=n)continue;let m=d*t,h=f>>>5,g=p>>>5,_=f&31,v=p&31;if(h===g){let t=Re(_,v);e[m+h]|=t}else{{let t=ze(_);e[m+h]|=t}for(let t=h+1;t<g;t+=1)e[m+t]=4294967295;{let t=Be(v);e[m+g]|=t}}}}function He({wordMask:e,w:t,h:n,dilation:r}){let i=new Uint8Array(t*n),a=[];for(let n=0;n<e.length;n+=1){let r=e[n][0],o=e[n][1]*t+r;i[o]||(i[o]=1,a.push(o))}for(let e=0;e<a.length;e+=1){let o=a[e],s=o/t|0,c=o-s*t;for(let e=-r;e<=r;e+=1){let a=s+e;if(a<0||a>=n)continue;let o=a*t;for(let n=-r;n<=r;n+=1){if(n===0&&e===0)continue;let r=c+n;r<0||r>=t||(i[o+r]=1)}}}let o=[];for(let e=0;e<i.length;e+=1)if(i[e]){let n=e/t|0,r=e-n*t;o.push([r,n])}return o}function B(e,t){let n=[];for(let r=0;r<t;r+=1){let t=e[r];if(!t||t.length===0)continue;t.sort((e,t)=>e[0]-t[0]);let i=t[0][0],a=t[0][1];for(let e=1;e<t.length;e+=1){let o=t[e][0],s=t[e][1];o<=a+1?s>a&&(a=s):(n.push([r,i,a]),i=o,a=s)}n.push([r,i,a])}return n}function Ue({runs:e,w:t,h:n,dilation:r}){if(!e.length||r<=0)return e;let i=Array(n);for(let a=0;a<e.length;a+=1){let o=e[a],s=o[0],c=Math.max(0,o[1]-r),l=Math.min(t-1,o[2]+r),u=Math.max(0,s-r),d=Math.min(n-1,s+r);for(let e=u;e<=d;e+=1){let t=i[e];t||(t=[],i[e]=t),t.push([c,l])}}return B(i,n)}function V(e,t){let n=e.runs,r=e.w,i=e.h,a=Math.max(1,Math.round(r*t)),o=Math.max(1,Math.round(i*t)),s=Array(o),c=a,l=o,u=0,d=0,f=!1;for(let e=0;e<n.length;e+=1){let r=n[e],i=r[0],a=r[1],p=r[2],m=Math.round(i*t);if(m<0||m>=o)continue;let h=Math.round(a*t),g=Math.round((p+1)*t)-1;if(g<h)continue;let _=s[m];_||(_=[],s[m]=_),_.push([h,g]),f=!0,h<c&&(c=h),g>u&&(u=g),m<l&&(l=m),m>d&&(d=m)}if(!f)return{w:a,h:o,runs:[],minX:0,minY:0,maxX:0,maxY:0};let p=[];for(let e=0;e<o;e+=1){let t=s[e];if(!t||t.length===0)continue;t.sort((e,t)=>e[0]-t[0]);let n=t[0][0],r=t[0][1];for(let i=1;i<t.length;i+=1){let a=t[i][0],o=t[i][1];a<=r+1?o>r&&(r=o):(p.push([e,n,r]),n=a,r=o)}p.push([e,n,r])}return{w:a,h:o,runs:p,minX:c,minY:l,maxX:u,maxY:d}}var We=/* @__PURE__ */ new Map,Ge=/* @__PURE__ */ new Map;function Ke({word:e,fontSize:t,pad:n,svg:r}){let i=r.style&&r.style.bold?1:0,a=n||0;return`${e.name}::${t}::${a}::${i}`}function qe({word:e,fontSize:t,pad:n,canvas:r,ctx:i,svg:a}){let o=Ke({word:e,fontSize:t,pad:n,svg:a}),s=We.get(o);if(s)return{key:o,bitmap:s};let c=Ie({word:e,fontSize:t,pad:n,canvas:r,ctx:i,svg:a});return We.set(o,c),{key:o,bitmap:c}}function Je({bitmapKey:e,wordMask:t,w:n,h:r,dilation:i}){let a=`${e}::d${i}`,o=Ge.get(a);if(o)return o;let s=He({wordMask:t,w:n,h:r,dilation:i}),c={wordMask:s,runs:Le(s)};return Ge.set(a,c),c}function Ye(e,t,n){if(!e.length)return;let r=1/0,i=-1/0,a=1/0,o=-1/0;for(let t=0;t<e.length;t+=1){let n=e[t],s=n.x+n.minX,c=n.x+n.maxX,l=n.y+n.minY,u=n.y+n.maxY;s<r&&(r=s),c>i&&(i=c),l<a&&(a=l),u>o&&(o=u)}if(!isFinite(r)||!isFinite(i)||!isFinite(a)||!isFinite(o))return;let s=Math.max(Math.abs(r),Math.abs(i)),c=Math.max(Math.abs(a),Math.abs(o));if(s===0||c===0)return;let l=.9,u=t*.5*l/s,d=n*.5*l/c,f=Math.min(u,d);if(!(f<=1)){f>4&&(f=4);for(let t=0;t<e.length;t+=1){let n=e[t];n.x*=f,n.y*=f,n.width*=f,n.height*=f,n.fontSize*=f,n.minX*=f,n.maxX*=f,n.minY*=f,n.maxY*=f}}}function Xe(){return typeof performance<`u`&&typeof performance.now==`function`?()=>performance.now():()=>Date.now()}function Ze({value:e,minimumValue:t,maximumValue:n,configuredMinimumFontSize:r,maximumFontSize:i}){if(n===t)return i;let a=(e-t)/(n-t)*(i-r)+r;return Math.max(r,Math.min(i,a))}function Qe({bitmapHeight:e,proximity:t,strictPixelPadding:n,minimumVisualPadding:r}){let i=Math.max(0,Math.round(t||0)),a=Math.ceil(e*.035)+2;return Math.max(i,a,n?3:0,r)}function $e({currentBitmap:e,strictPixelPadding:t,scaleFactor:n,baseBitmap:r,bitmapKey:i,proximity:a,minimumVisualPadding:o}){let s=e.runs,c=e.w,l=e.h,u=e.minX,d=e.minY,f=e.maxX,p=e.maxY;if(!s.length)return{runs:s,bitmapWidth:c,bitmapHeight:l,bitmapMinimumX:u,bitmapMinimumY:d,bitmapMaximumX:f,bitmapMaximumY:p};let m=Qe({bitmapHeight:l,proximity:a,strictPixelPadding:t,minimumVisualPadding:o});return m<=0?{runs:s,bitmapWidth:c,bitmapHeight:l,bitmapMinimumX:u,bitmapMinimumY:d,bitmapMaximumX:f,bitmapMaximumY:p}:n===1&&m===2&&t?{runs:Je({bitmapKey:i,wordMask:r.wordMask,w:r.w,h:r.h,dilation:m}).runs,bitmapWidth:c,bitmapHeight:l,bitmapMinimumX:u,bitmapMinimumY:d,bitmapMaximumX:f,bitmapMaximumY:p}:{runs:Ue({runs:s,w:c,h:l,dilation:m}),bitmapWidth:c,bitmapHeight:l,bitmapMinimumX:u,bitmapMinimumY:d,bitmapMaximumX:f,bitmapMaximumY:p}}async function H({baseBitmap:e,baseFontSize:t,minimumScaleFactor:n,maskBits:r,maskRowStride:i,maskWidth:a,maskHeight:o,centerX:s,centerY:c,maximumRadius:l,scaleStep:u,strictPixelPadding:d,bitmapKey:f,minimumFontSize:p,rawWord:m,cosineArray:h,sineArray:g,radiusStep:_,maximumAttempts:v,maybeYield:y,proximity:ee,minimumVisualPadding:te}){let b=1;for(;b>=n;){let{runs:n,bitmapWidth:x,bitmapHeight:S,bitmapMinimumX:C,bitmapMinimumY:w,bitmapMaximumX:T,bitmapMaximumY:ne}=$e({currentBitmap:b===1?e:V(e,b),strictPixelPadding:d,scaleFactor:b,baseBitmap:e,bitmapKey:f,proximity:ee,minimumVisualPadding:te}),re=0,ie=0;for(;re<l&&ie<v;){for(let e=0;e<h.length;e+=1){ie+=1;let l=Math.round(s+re*h[e]-x/2),u=Math.round(c+re*g[e]-S/2);if(!(l<0||u<0||l+x>a||u+S>o)&&z({maskBits:r,maskRowStride:i,maskW:a,maskH:o,wx:l,wy:u,runs:n})){let{__wcIndex:e,...s}=m,c=Math.max(p,Math.round(t*b)),d={...s,x:l-a/2,y:u-o/2,fontSize:c,width:x,height:S,angle:0,minX:C,minY:w,maxX:T,maxY:ne};return Ve({maskBits:r,maskRowStride:i,maskW:a,maskH:o,wx:l,wy:u,runs:n}),d}}re+=_,ie&1023||await y()}b*=u,await y()}return null}async function et({baseBitmap:e,baseFontSize:t,minimumScaleFactor:n,maskBits:r,maskRowStride:i,maskWidth:a,maskHeight:o,centerX:s,centerY:c,maximumRadius:l,scaleStep:u,strictPixelPadding:d,bitmapKey:f,minimumFontSize:p,rawWord:m,maybeYield:h,proximity:g,qualityPreset:_,primarySpiral:v,fallbackSpiral:y}){return await H({baseBitmap:e,baseFontSize:t,minimumScaleFactor:n,maskBits:r,maskRowStride:i,maskWidth:a,maskHeight:o,centerX:s,centerY:c,maximumRadius:l,scaleStep:u,strictPixelPadding:d,bitmapKey:f,minimumFontSize:p,rawWord:m,cosineArray:v.cosineArray,sineArray:v.sineArray,radiusStep:_.spiralRadiusStep,maximumAttempts:_.primaryAttempts,maybeYield:h,proximity:g,minimumVisualPadding:_.minimumVisualPadding})||await H({baseBitmap:e,baseFontSize:t,minimumScaleFactor:n,maskBits:r,maskRowStride:i,maskWidth:a,maskHeight:o,centerX:s,centerY:c,maximumRadius:l,scaleStep:u,strictPixelPadding:d,bitmapKey:f,minimumFontSize:p,rawWord:m,cosineArray:y.cosineArray,sineArray:y.sineArray,radiusStep:_.fallbackSpiralRadiusStep,maximumAttempts:_.fallbackAttempts,maybeYield:h,proximity:g,minimumVisualPadding:_.minimumVisualPadding})}async function tt({words:e,proximity:t=0,svg:n,strictPixelPadding:r,quality:i=Me,onProgress:a,debugTiming:o=!1}){let s=Xe(),c=s(),l=c;async function u(){s()-l>=12&&(await new Promise(e=>setTimeout(e,0)),l=s())}let d=n.width,f=n.height,p=Math.round(d),m=Math.round(f),h=Ne(i),g=Fe(h.spiralStep),_=Fe(h.fallbackSpiralStep),v=n.minFontSize,y=Math.min(n.maxFontSize,100),ee=e.map(e=>e.value),te=Math.min(...ee),b=Math.max(...ee);if(p<=0||m<=0)return[];let x=p+31>>>5,S=new Uint32Array(x*m),C=document.createElement(`canvas`),w=C.getContext(`2d`,{willReadFrequently:!0});C.width=p,C.height=m;let T=Math.max(p,m),ne=Math.floor(p/2),re=Math.floor(m/2),ie=[...e.map((e,t)=>({...e,__wcIndex:t,id:e.id==null?`${e.name}__${t}`:e.id}))].sort((e,t)=>t.value-e.value),E=[],ae=h.scaleStep;for(let e=0;e<ie.length;e+=1){let i=ie[e],o=E.length,s=Ze({value:i.value,minimumValue:te,maximumValue:b,configuredMinimumFontSize:v,maximumFontSize:y}),c=qe({word:i,fontSize:s,pad:t,canvas:C,ctx:w,svg:n}),l=c.key,d=c.bitmap,f=d.w,ee=d.h;if(f<=0||ee<=0){await u();continue}let oe=await et({baseBitmap:d,baseFontSize:s,minimumScaleFactor:Math.max(1/s,.1),maskBits:S,maskRowStride:x,maskWidth:p,maskHeight:m,centerX:ne,centerY:re,maximumRadius:T,scaleStep:ae,strictPixelPadding:r,bitmapKey:l,minimumFontSize:1,rawWord:i,maybeYield:u,proximity:t,qualityPreset:h,primarySpiral:g,fallbackSpiral:_});if(oe&&(E.push(oe),a&&E.length>o)){let e=E[E.length-1];a({word:e,all:E})}await u()}if(!E.length)return[];Ye(E,p,m);let oe=s()-c;return o&&typeof console<`u`&&console.log&&console.log(`[vue-data-ui][word-cloud] positionWordsAsync:`,`${oe.toFixed(2)} ms for ${e.length} words`),E.sort((e,t)=>t.fontSize-e.fontSize)}var nt=/* @__PURE__ */ e({default:()=>gt}),rt=[`id`,`data-resizing`,`data-relayout`],it=[`id`],at={style:{position:`relative`}},ot=[`aria-describedby`,`xmlns`,`viewBox`],st=[`width`,`height`],ct=[`transform`],lt=[`transform`],ut=[`data-a11y-word-index`,`x`,`y`,`width`,`height`,`aria-label`,`onMouseover`,`onMouseleave`,`onClick`],dt=[`fill`,`font-weight`,`font-size`,`transform`,`stroke`,`stroke-width`],ft={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},pt={key:5,class:`vue-data-ui-watermark`},mt={key:6,"data-dom-to-png-ignore":``,class:`reset-wrapper`},ht={style:{display:`flex`,"align-items":`center`}},gt=/*#__PURE__*/ te({__name:`vue-ui-word-cloud`,props:{config:{type:Object,default(){return{}}},dataset:{type:[Array,String],default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:te,emit:je}){let Me=j(()=>import(`./Tooltip-C1q0Qoh7.js`)),Ne=j(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Pe=j(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Fe=j(()=>import(`./DataTable-0Vv-aGHD.js`)),Ie=j(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Le=j(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Re=j(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),ze=j(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_word_cloud:Be}=t(),z=e,Ve=je,He=D({get(){return!!z.dataset&&z.dataset.length},set(e){return e}}),B=F(s()),Ue=F(0),V=F(null),We=F(null),Ge=F(null),Ke=F(0),qe=F(0),Je=F(!1),Ye=F(null),Xe=F(null),Ze=F(!1),Qe=F(!1),$e=F(null),H=F(null),et=F({x:0,y:0}),nt=F(`pointer`),gt=F(!1),U=F(Ot()),W=D(()=>U.value.userOptions),G=D(()=>U.value.style.chart.tooltip),_t=D(()=>U.value.style.chart.controls),K=D(()=>U.value.style.chart.words),q=D(()=>U.value.style.chart);y({config:()=>U.value,dataset:()=>z.dataset,component:`VueUiWordCloud`,rules:[ee.noHint]});let vt=D(()=>U.value.userOptions.useCursorPointer),yt=D(()=>f({defaultConfig:{userOptions:{show:!1},table:{show:!1},useCssAnimation:!1,animationDelayMs:0,nodeCategories:{},nodeCategoryColors:{},style:{chart:{backgroundColor:`#99999930`,words:{color:`#6A6A6A`,usePalette:!1,selectedStroke:`#CCCCCC`}}}},userConfig:U.value.skeletonConfig??{}})),{loading:bt,FINAL_DATASET:xt,manualLoading:St}=_({...ke(z),FINAL_CONFIG:U,prepareConfig:Ot,callback:()=>{Promise.resolve().then(()=>{Z.value.showTable=U.value.table.show,Z.value.showTooltip=G.value.show,Z.value.showZoom=q.value.zoom.show})},skeletonDataset:z.config?.skeletonDataset??[{name:`Lorem`,value:6},{name:`ipsum`,value:3},{name:`dolor`,value:1},{name:`sit`,value:3},{name:`amet`,value:3},{name:`consectetur`,value:2},{name:`adipiscing`,value:1},{name:`elit`,value:2},{name:`Vivamus`,value:2},{name:`pulvinar`,value:1},{name:`pretium`,value:1},{name:`venenatis`,value:2},{name:`Donec`,value:1},{name:`imperdiet`,value:3},{name:`id`,value:1},{name:`porttitor`,value:2},{name:`tristique`,value:1},{name:`Aenean`,value:2},{name:`ac`,value:5},{name:`commodo`,value:2},{name:`justo`,value:2},{name:`Vestibulum`,value:2},{name:`placerat`,value:1},{name:`molestie`,value:1},{name:`nisl`,value:1},{name:`lacinia`,value:2},{name:`nulla`,value:1},{name:`posuere`,value:2},{name:`quis`,value:3},{name:`ullamcorper`,value:1},{name:`eu`,value:1},{name:`ex`,value:1},{name:`vitae`,value:3},{name:`facilisis`,value:1},{name:`Aliquam`,value:1},{name:`erat`,value:1},{name:`volutpat`,value:1},{name:`Proin`,value:1},{name:`nunc`,value:1},{name:`felis`,value:1},{name:`gravida`,value:3},{name:`sed`,value:1},{name:`orci`,value:1},{name:`Interdum`,value:1},{name:`et`,value:1},{name:`malesuada`,value:1},{name:`fames`,value:1},{name:`ante`,value:1}],skeletonConfig:f({defaultConfig:U.value,userConfig:yt.value})}),Ct=F(wt());function wt(){return typeof xt.value==`string`?c(xt.value):xt.value.map((e,t)=>({...e,value:d(e.value)}))}let{userOptionsVisible:Tt,setUserOptionsVisibility:Et,keepUserOptionState:Dt}=ue({config:U.value}),{svgRef:J}=de({config:q.value.title});function Ot(){return b(z.config,Be,pe)}let kt=F({x:0,y:0});function At(){let e={x:0,y:0,width:Math.max(10,Y.value.width),height:Math.max(10,Y.value.height)};sn(e),kt.value={x:e.x+e.width/2,y:e.y+e.height/2},an()}let jt=se(()=>{Gt()},100),Mt=F(!1);Ae(()=>Mt.value,e=>{e===!1&&(Qe.value=!0,jt(),At())});let Nt=l(z.config);Ae(()=>z.config,(e,t)=>{let n=l(e),r=n!==Nt;Nt=n;let i=Ot();r?(U.value=i,Tt.value=!U.value.userOptions.showOnChartHover,Rt(),Ke.value+=1,qe.value+=1,Z.value.showTable=U.value.table.show,Z.value.showTooltip=G.value.show,Z.value.showZoom=q.value.zoom.show):(U.value.style.chart.tooltip=i.style.chart.tooltip,Z.value.showTooltip=U.value.style.chart.tooltip.show)},{deep:!0});let Y=F({width:q.value.width,height:q.value.height,maxFontSize:K.value.maxFontSize,minFontSize:K.value.minFontSize,bold:K.value.bold}),Pt=se(()=>{let{width:e,height:t}=ce({chart:V.value,title:q.value.title.text?We.value:null,legend:_t.value.show?$e.value?.$el:null,source:Ge.value});requestAnimationFrame(async()=>{Y.value.width=Math.max(10,e),Y.value.height=Math.max(10,t-12),await be(),Mt.value=!1})},100),Ft=()=>{Mt.value=!0,Pt()},X=De(null),It=De(null);we(Rt);let Lt=D(()=>U.value.debug);function Rt(){g(z.dataset)?u({componentName:`VueUiWordCloud`,type:`dataset`,debug:Lt.value}):Ct.value.forEach((e,t)=>{h({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{He.value=!1,u({componentName:`VueUiWordCloud`,type:`datasetSerieAttribute`,property:e,index:t,debug:Lt.value})})}),g(z.dataset)||(St.value=U.value.loading),U.value.responsive&&(X.value&&(It.value&&X.value.unobserve(It.value),X.value.disconnect()),X.value=new ResizeObserver(Ft),It.value=V.value.parentNode,X.value.observe(It.value)),At()}Ce(()=>{X.value&&(It.value&&X.value.unobserve(It.value),X.value.disconnect())});let{isPrinting:zt,isImaging:Bt,generatePdf:Vt,generateImage:Ht}=oe({elementId:`wordCloud_${B.value}`,fileName:q.value.title.text||`vue-ui-word-cloud`,options:U.value.userOptions.print}),Z=F({showTable:U.value.table.show,showTooltip:G.value.show,showZoom:q.value.zoom.show});Ae(U,()=>{Z.value.showTable=U.value.table.show,Z.value.showTooltip=G.value.show,Z.value.showZoom=q.value.zoom.show},{immediate:!0});function Ut(e,t,n=`Arial`){let r=document.createElement(`canvas`).getContext(`2d`);return r.font=`${t}px ${K.value.bold?`bold`:`normal`} ${n}`,{width:r.measureText(e).width+K.value.proximity,height:t}}let Q=F([]),Wt=/* @__PURE__ */ new Map;function Gt(){let e=[...Ct.value].map(e=>e.value),t=Math.max(...e),n=Math.min(...e),r=[...Ct.value].map((e,r)=>{let i=(e.value-n)/(t-n)*(Y.value.maxFontSize-Y.value.minFontSize)+Y.value.minFontSize;i=isNaN(i)?Y.value.minFontSize:i;let s=Ut(e.name,i);return{...e,id:e.id??`${e.name}__${r}`,fontSize:i,width:s.width,height:s.height,color:e.color?o(e.color):K.value.usePalette?U.value.customPalette[r]||U.value.customPalette[r%U.value.customPalette.length]||a[r]||a[r%a.length]:K.value.color}});Q.value.length=0,Wt.clear(),tt({debugTiming:Lt.value,words:r,svg:Y.value,proximity:K.value.proximity,strictPixelPadding:U.value.strictPixelPadding,quality:U.value.quality,onProgress:({all:e})=>{for(let t of e){let e=t.id,n=Wt.get(e);if(n===void 0)n=Q.value.length,Wt.set(e,n),Q.value.push({...t});else{let e=Q.value[n];e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height,e.fontSize=t.fontSize,e.minX=t.minX,e.minY=t.minY,e.maxX=t.maxX,e.maxY=t.maxY}}}}),Q.value.sort((e,t)=>t.fontSize-e.fontSize),Wt.clear(),Q.value.forEach((e,t)=>{Wt.set(e.id,t)}),Ze.value=!0,Qe.value=!1}let Kt=D(()=>({head:Q.value.map(e=>({name:e.name,color:e.color})),body:Q.value.map(e=>e.value)}));function qt(e=null){be(()=>{let t=Kt.value.head.map((e,t)=>[[e.name],[Kt.value.body[t]]]),n=[[q.value.title.text],[q.value.title.subtitle.text],[[``],[U.value.table.columnNames.value]]].concat(t),i=r(n);e?e(i):p({csvContent:i,title:q.value.title.text||`vue-ui-word-cloud`})})}let Jt=D(()=>{let e=[U.value.table.columnNames.series,U.value.table.columnNames.value],t=Kt.value.head.map((e,t)=>{let r=n({p:U.value.table.td.prefix,v:Kt.value.body[t],s:U.value.table.td.suffix,r:U.value.table.td.roundingValue});return[{color:e.color,name:e.name},r]}),r=t.map(e=>e.map((e,t)=>t===0?e.name:e)),i={th:{backgroundColor:U.value.table.th.backgroundColor,color:U.value.table.th.color,outline:U.value.table.th.outline},td:{backgroundColor:U.value.table.td.backgroundColor,color:U.value.table.td.color,outline:U.value.table.td.outline},breakpoint:U.value.table.responsiveBreakpoint};return{colNames:[U.value.table.columnNames.series,U.value.table.columnNames.value],head:e,body:t,a11yBody:r,config:i}}),$=F(!1);function Yt(e){$.value=e,Ue.value+=1}function Xt(){return Q.value}function Zt(){Z.value.showTable=!Z.value.showTable}function Qt(){Z.value.showTooltip=!Z.value.showTooltip}let $t=F(!1);function en(){$t.value=!$t.value}function tn(){Z.value.showZoom=!Z.value.showZoom}let nn=D(()=>!$t.value&&Z.value.showZoom),{viewBox:rn,resetZoom:an,isZoom:on,setInitialViewBox:sn,zoomByFactor:cn,scale:ln}=fe(J,{x:0,y:0,width:Y.value.width<=0?10:Y.value.width,height:Y.value.height<=0?10:Y.value.height},1,nn);Ae(()=>z.dataset,()=>{Ct.value=wt(),U.value.responsive||(Gt(),At())},{immediate:!0});let un=x(V,()=>q.value.title.text),dn=D(()=>ne({config:U,style:q,mutableConfig:Z,dialog:ze,accordion:Pe,isFullscreen:$,parent:V,maxWidth:500,isCursorPointer:vt}));Ae(()=>Z.value.showTable,e=>T(e,U,Ye));function fn(){Z.value.showTable=!1,Xe.value&&Xe.value.setTableIconState(!1)}let pn=D(()=>q.value.backgroundColor),mn=D(()=>q.value.title),{isCallbackImaging:hn,isCallbackSvg:gn,generateSvg:_n,onGenerateImage:vn}=w({svg:J,title:mn,legend:null,legendItems:null,backgroundColor:pn,getSvgCallback:()=>U.value.userOptions.callbacks.svg,generateImage:Ht});function yn(){cn(1.5,!0)}function bn(){cn(1/1.5,!0)}let xn=F(null),Sn=F(!1),Cn=F(``),wn=F(null);function Tn(){xn.value=null,H.value=null,Je.value=!1}function En(e,t){U.value.events.datapointLeave&&U.value.events.datapointLeave({datapoint:e,seriesIndex:t}),(H.value!==t||nt.value!==`keyboard`)&&(xn.value=null,Je.value=!1)}function Dn(e,t){U.value.events.datapointClick&&U.value.events.datapointClick({datapoint:e,seriesIndex:t})}function On(e){if(!J.value||e==null)return;let t=J.value.querySelector(`[data-a11y-word-index="${e}-${B.value}"]`);if(!t)return;let n=t.getBoundingClientRect();et.value={x:n.left+n.width/2,y:n.top+n.height/2}}function kn(e,t,n=`pointer`){if(U.value.events.datapointEnter&&U.value.events.datapointEnter({datapoint:e,seriesIndex:t}),!Z.value.showTooltip)return;nt.value=n,H.value=t,xn.value=e.id,wn.value={datapoint:e,config:U.value,seriesIndex:t};let r=G.value.customFormat;if(Sn.value=!1,i(r))try{let t=r({datapoint:e,config:U.value});typeof t==`string`&&(Cn.value=t,Sn.value=!0)}catch{console.warn(`Custom format cannot be applied.`),Sn.value=!1}if(!Sn.value){let t=`<svg viewBox="0 0 10 10" height="${G.value.fontSize}"><circle cx="5" cy="5" r="5" fill="${e.color}"/></svg><span>${e.name}:</span><b>${(e.value||0).toFixed(G.value.roundingValue)}</b>`;Cn.value=`<div dir="auto" style="display:flex; gap:4px; align-items:center; jsutify-content:center;">${t}</div>`}n===`keyboard`&&be(()=>{On(t)}),Je.value=!0}async function An(){Ve(`copyAlt`,{config:U.value,dataset:Q.value}),U.value.userOptions.callbacks.altCopy?await Promise.resolve(U.value.userOptions.callbacks.altCopy({config:U.value,dataset:Q.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function jn(){H.value=null,gt.value=!0}function Mn(){Tn(),gt.value=!1}function Nn(e){if(!J.value||$t.value||document.activeElement!==J.value||!Q.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){Tn();return}if(r){if(H.value===null)return;let e=Q.value[H.value];if(!e)return;Dn(e,H.value);return}let a=H.value;a===null||a<0||a>=Q.value.length?a=n?0:Q.value.length-1:(a+=n?1:-1,a<0&&(a=Q.value.length-1),a>=Q.value.length&&(a=0));let o=Q.value[a];o&&kn(o,a,`keyboard`)}let Pn=D(()=>({headers:Jt.value?.colNames??[],rows:Jt.value?.a11yBody??[]}));return te({getData:Xt,getImage:un,generateCsv:qt,generatePdf:Vt,generateImage:Ht,generateSvg:_n,resetZoom:an,toggleTable:Zt,toggleTooltip:Qt,toggleAnnotator:en,toggleFullscreen:Yt,toggleZoom:tn,copyAlt:An}),(e,t)=>(P(),A(`div`,{class:`vue-data-ui-component vue-ui-word-cloud`,ref_key:`wordCloudChart`,ref:V,id:`wordCloud_${B.value}`,"data-resizing":Mt.value,"data-relayout":Qe.value,style:Se(`width: 100%; font-family:${U.value.style.fontFamily};background:${q.value.backgroundColor};${U.value.responsive?`height:100%`:``}`),onMouseenter:t[3]||=()=>L(Et)(!0),onMouseleave:t[4]||=()=>{L(Et)(!1),gt.value||Tn()}},[he(`div`,{id:`chart-instructions-${B.value}`,class:`sr-only`},[he(`p`,null,Oe(U.value.a11y.translations.keyboardNavigation),1)],8,it),Pn.value?.rows?.length?(P(),O(le,{key:0,uid:B.value,head:Pn.value.headers,body:Pn.value.rows,notice:U.value.a11y.translations.tableAvailable,caption:U.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):k(``,!0),W.value.buttons.annotator?(P(),O(L(Ie),{key:1,svgRef:L(J),backgroundColor:q.value.backgroundColor,color:q.value.color,active:$t.value,isCursorPointer:vt.value,palette:W.value.annotatorPalette,onClose:en},ge({_:2},[Te(L(ie),t=>({name:t,fn:R(n=>[I(e.$slots,t,N(M(L(re)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):k(``,!0),q.value.title.text?(P(),A(`div`,{key:2,ref_key:`chartTitle`,ref:We,style:`width:100%;background:transparent;padding-bottom:24px`},[(P(),O(C,{key:`title_${Ke.value}`,config:{title:{...q.value.title},subtitle:{...q.value.title.subtitle}}},null,8,[`config`]))],512)):k(``,!0),W.value.show&&He.value&&(L(Dt)||L(Tt))?(P(),O(L(Le),{ref_key:`userOptionsRef`,ref:Xe,key:`user_option_${Ue.value}`,backgroundColor:q.value.backgroundColor,color:q.value.color,isPrinting:L(zt),isImaging:L(Bt),uid:B.value,hasPdf:W.value.buttons.pdf,hasXls:W.value.buttons.csv,hasImg:W.value.buttons.img,hasSvg:W.value.buttons.svg,hasTable:W.value.buttons.table,hasFullscreen:W.value.buttons.fullscreen,hasAltCopy:W.value.buttons.altCopy,isFullscreen:$.value,titles:{...W.value.buttonTitles},chartElement:V.value,position:W.value.position,hasTooltip:G.value.show&&W.value.buttons.tooltip,isTooltip:Z.value.showTooltip,hasAnnotator:W.value.buttons.annotator,isAnnotation:$t.value,callbacks:W.value.callbacks,printScale:W.value.print.scale,tableDialog:U.value.table.useDialog,hasZoom:W.value.buttons.zoom,isZoom:Z.value.showZoom,isCursorPointer:vt.value,onToggleFullscreen:Yt,onGeneratePdf:L(Vt),onGenerateCsv:qt,onGenerateImage:L(vn),onGenerateSvg:L(_n),onToggleTable:Zt,onToggleTooltip:Qt,onToggleAnnotator:en,onToggleZoom:tn,onCopyAlt:An,style:Se({visibility:L(Dt)?L(Tt)?`visible`:`hidden`:`visible`})},ge({_:2},[Te(L(E)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionZoom optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:R(n=>[I(e.$slots,t,N(M(L(ae)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasTooltip.isTooltip.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.hasZoom.isZoom.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):k(``,!0),_t.value.position===`top`&&_t.value.show&&!L(bt)?(P(),O(S,{key:4,ref_key:`zoomControls`,ref:$e,config:U.value,scale:L(ln),isFullscreen:$.value,isCursorPointer:vt.value,onZoomIn:yn,onZoomOut:bn,onResetZoom:t[0]||=e=>L(an)(!0)},null,8,[`config`,`scale`,`isFullscreen`,`isCursorPointer`])):k(``,!0),he(`div`,at,[(P(),A(`svg`,{ref_key:`svgRef`,ref:J,class:xe({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value}),"aria-describedby":`chart-instructions-${B.value}`,xmlns:L(m),viewBox:`${L(rn).x} ${L(rn).y} ${L(rn).width} ${L(rn).height}`,style:`overflow:hidden;background:transparent;display:block`,tabindex:`0`,onFocus:jn,onBlur:Mn,onKeydown:Nn},[ve(L(Re)),I(e.$slots,`svg-underlayer`,{svg:{...Y.value,isPrintingImg:L(zt)||L(Bt)||L(hn),isPrintingSvg:L(gn)}},void 0,!0),e.$slots[`chart-background`]?(P(),A(`foreignObject`,{key:0,x:0,y:0,width:Y.value.width<=0?10:Y.value.width,height:Y.value.height<=0?10:Y.value.height,style:{pointerEvents:`none`}},[I(e.$slots,`chart-background`,{},void 0,!0)],8,st)):k(``,!0),he(`g`,{transform:`translate(${kt.value.x}, ${kt.value.y})`,class:xe({"wc-finalized":Ze.value})},[(P(!0),A(me,null,Te(Q.value,(e,t)=>(P(),A(`g`,{key:e.id,class:`vue-ui-word-cloud-word`,transform:`translate(${e.x}, ${e.y})`},[e.minX===void 0?k(``,!0):(P(),A(`rect`,{key:0,"data-a11y-word-index":`${t}-${B.value}`,x:e.minX,y:e.minY*1.25,width:e.maxX-e.minX,height:e.maxY-e.minY,fill:`transparent`,"pointer-events":`visiblePainted`,"aria-label":`${e.name}: ${(e.value||0).toFixed(G.value.roundingValue)}`,onMouseover:n=>kn(e,t),onMouseleave:n=>En(e,t),onClick:n=>Dn(e,t)},null,40,ut)),he(`text`,{fill:e.color,"font-weight":K.value.bold?`bold`:`normal`,x:0,y:0,"font-size":e.fontSize,transform:`translate(${e.width/2}, ${e.height/2})`,"text-anchor":`middle`,"dominant-baseline":`central`,"paint-order":`stroke fill`,stroke:!xn.value||xn.value===e.id?K.value.selectedStroke:void 0,"stroke-width":e.height*.05,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:Se(`
|
|
2
2
|
pointer-events:none;
|
|
3
3
|
fill-opacity:${!xn.value||xn.value===e.id||!Ze.value?1:K.value.hoverOpacity} !important;
|
|
4
4
|
`)},Oe(e.name),13,dt)],8,lt))),128))],10,ct),I(e.$slots,`svg`,{svg:{...Y.value,isPrintingImg:L(zt)||L(Bt)||L(hn),isPrintingSvg:L(gn)}},void 0,!0)],42,ot)),e.$slots.hint?(P(),A(`div`,ft,[I(e.$slots,`hint`,N(M({hint:U.value.a11y.translations.keyboardNavigation,isVisible:gt.value})),void 0,!0)])):k(``,!0)]),e.$slots.watermark?(P(),A(`div`,pt,[I(e.$slots,`watermark`,N(M({isPrinting:L(zt)||L(Bt)||L(hn)||L(gn)})),void 0,!0)])):k(``,!0),L(on)?(P(),A(`div`,mt,[I(e.$slots,`reset-action`,{reset:L(an)},void 0,!0)])):k(``,!0),_t.value.position===`bottom`&&_t.value.show&&!L(bt)?(P(),O(S,{key:7,ref_key:`zoomControls`,ref:$e,config:U.value,scale:L(ln),isFullscreen:$.value,isCursorPointer:vt.value,onZoomIn:yn,onZoomOut:bn,onResetZoom:t[1]||=e=>L(an)(!0)},null,8,[`config`,`scale`,`isFullscreen`,`isCursorPointer`])):k(``,!0),ve(L(Me),{teleportTo:G.value.teleportTo,show:Z.value.showTooltip&&Je.value,backgroundColor:G.value.backgroundColor,color:G.value.color,fontSize:G.value.fontSize,borderRadius:G.value.borderRadius,borderColor:G.value.borderColor,borderWidth:G.value.borderWidth,backgroundOpacity:G.value.backgroundOpacity,position:G.value.position,offsetX:G.value.offsetX,offsetY:G.value.offsetY,parent:V.value,content:Cn.value,isCustom:Sn.value,isFullscreen:$.value,smooth:G.value.smooth,backdropFilter:G.value.backdropFilter,smoothForce:G.value.smoothForce,smoothSnapThreshold:G.value.smoothSnapThreshold,isA11yMode:nt.value===`keyboard`,a11yPosition:et.value},{"tooltip-before":R(()=>[I(e.$slots,`tooltip-before`,N(M({...wn.value})),void 0,!0)]),tooltip:R(()=>[I(e.$slots,`tooltip`,N(M({...wn.value})),void 0,!0)]),"tooltip-after":R(()=>[I(e.$slots,`tooltip-after`,N(M({...wn.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?(P(),A(`div`,{key:8,ref_key:`source`,ref:Ge,dir:`auto`},[I(e.$slots,`source`,{},void 0,!0)],512)):k(``,!0),He.value&&W.value.buttons.table?(P(),O(Ee(dn.value.component),ye({key:9},dn.value.props,{ref_key:`tableUnit`,ref:Ye,onClose:fn}),ge({content:R(()=>[(P(),O(L(Fe),{key:`table_${qe.value}`,colNames:Jt.value.colNames,head:Jt.value.head,body:Jt.value.body,config:Jt.value.config,title:U.value.table.useDialog?``:dn.value.title,withCloseButton:!U.value.table.useDialog,isCursorPointer:vt.value,onClose:fn},{th:R(({th:e})=>[he(`div`,ht,Oe(e),1)]),td:R(({td:e})=>[_e(Oe(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[U.value.table.useDialog?{name:`title`,fn:R(()=>[_e(Oe(dn.value.title),1)]),key:`0`}:void 0,U.value.table.useDialog?{name:`actions`,fn:R(()=>[he(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[2]||=e=>qt(W.value.callbacks.csv),style:Se({cursor:vt.value?`pointer`:`default`})},[ve(L(Ne),{name:`fileCsv`,stroke:dn.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):k(``,!0),I(e.$slots,`skeleton`,{},()=>[L(bt)?(P(),O(v,{key:0})):k(``,!0)],!0)],44,rt))}},[[`__scopeId`,`data-v-626a8f04`]]);export{nt as n,gt as t};
|