vue-data-ui 3.28.2 → 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/README.md +25 -1
- package/dist/{PackageVersion-BIhjLNBU.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-annotator.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -1
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-mini-loader.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-rating.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-smiley.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-heatmap.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy-canvas.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/geoProjections-CX3Pvo1N.js +1 -0
- package/dist/llms.txt +9 -34
- package/dist/package-CX7pZToh.js +1 -0
- package/dist/pdf-CVdqBWVS.js +1 -0
- package/dist/{render-common-B-s2XJ_I.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/style.css +1 -1
- package/dist/{useHints-BH9r_0Vd.js → useHints-C-TwxM0Y.js} +1 -1
- package/dist/{useObjectBindings-DiMX4HGv.js → useObjectBindings-C15PEyQD.js} +1 -1
- package/dist/{usePrinter-sVoTzet1.js → usePrinter-DVf3YcG5.js} +1 -1
- package/dist/useSvgLabelLayout-42Kats14.js +1 -0
- package/dist/utils.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-CkHFiFp4.js → vue-ui-3d-bar-CJTKyv3A.js} +2 -2
- package/dist/{vue-ui-age-pyramid-vpIjdLg5.js → vue-ui-age-pyramid-6uZzf1w6.js} +1 -1
- package/dist/{vue-ui-annotator-CdCDYzdK.js → vue-ui-annotator-DCJdieNC.js} +3 -3
- package/dist/{vue-ui-bullet-rgxGRR1p.js → vue-ui-bullet-CsJcLhmV.js} +2 -2
- package/dist/{vue-ui-bump-CeDsunDi.js → vue-ui-bump-DXpxBWp_.js} +2 -2
- package/dist/{vue-ui-candlestick-KJHOS5F7.js → vue-ui-candlestick-Bn_RSZ0k.js} +2 -2
- package/dist/{vue-ui-carousel-table-CeI5SIxH.js → vue-ui-carousel-table-ChNykS-r.js} +1 -1
- package/dist/vue-ui-chestnut-DMYQTkxM.js +1 -0
- package/dist/{vue-ui-chord-8rk7304-.js → vue-ui-chord-Pp0U0-zV.js} +2 -2
- package/dist/{vue-ui-circle-pack-BsH09EPG.js → vue-ui-circle-pack-We23fOaF.js} +2 -2
- package/dist/{vue-ui-cursor-Cpov2m58.js → vue-ui-cursor-3-RTIIl-.js} +1 -1
- package/dist/{vue-ui-dag-BHFL2cUA.js → vue-ui-dag-5fVnwEXd.js} +2 -2
- package/dist/{vue-ui-dashboard-BxXdhdNJ.js → vue-ui-dashboard-Dlwnintv.js} +1 -1
- package/dist/{vue-ui-digits-xHOLjA2_.js → vue-ui-digits-ZMK0aBxE.js} +1 -1
- package/dist/{vue-ui-donut-Vbp5Xs2-.js → vue-ui-donut-CmLo1r4-.js} +2 -2
- package/dist/{vue-ui-donut-evolution-BTmztL3Y.js → vue-ui-donut-evolution-CYvo7Cww.js} +2 -2
- package/dist/vue-ui-donut-j1bv0KyD.js +22 -0
- package/dist/{vue-ui-dumbbell-CDcgKS2A.js → vue-ui-dumbbell-DigrSGwq.js} +2 -2
- package/dist/{vue-ui-flow-kVocPE27.js → vue-ui-flow-D9cc9yXD.js} +2 -2
- package/dist/vue-ui-funnel-U88Hs0nL.js +1 -0
- package/dist/{vue-ui-galaxy-hP-9mVlB.js → vue-ui-galaxy-B1Vuz8CA.js} +1 -1
- package/dist/{vue-ui-gauge-BRabsLkh.js → vue-ui-gauge-1MgZSPXt.js} +1 -1
- package/dist/{vue-ui-geo-Dacnp6iw.js → vue-ui-geo-BV8ARcaX.js} +1 -1
- package/dist/{vue-ui-gizmo-Dp3hpHIX.js → vue-ui-gizmo-DtsERB-E.js} +1 -1
- package/dist/{vue-ui-graph-DHU9hUry.js → vue-ui-graph-BVTPTDl5.js} +2 -2
- package/dist/{vue-ui-heatmap-kPnmZgWi.js → vue-ui-heatmap-6YwaVr3F.js} +1 -1
- package/dist/{vue-ui-hill-Ddbup7-b.js → vue-ui-hill-BvrNT8KZ.js} +1 -1
- package/dist/{vue-ui-history-plot-CwO2o-2s.js → vue-ui-history-plot-CJIILQPt.js} +2 -2
- package/dist/{vue-ui-horizontal-bar-CvX77vE4.js → vue-ui-horizontal-bar-Dfo-kTqg.js} +2 -2
- package/dist/{vue-ui-kpi-CCOOwX_Q.js → vue-ui-kpi-DHfExr9d.js} +1 -1
- package/dist/{vue-ui-mini-loader-7gqQI5jy.js → vue-ui-mini-loader-Bbupx66Y.js} +1 -1
- package/dist/vue-ui-molecule-C8e5IeHG.js +1 -0
- package/dist/{vue-ui-mood-radar-GJ-lhgI0.js → vue-ui-mood-radar-DsnT2U65.js} +1 -1
- package/dist/{vue-ui-nested-donuts-CrlPwpg8.js → vue-ui-nested-donuts-JkpqMhuL.js} +2 -2
- package/dist/{vue-ui-onion-CKmyy-Y_.js → vue-ui-onion-CIA2tlff.js} +2 -2
- package/dist/{vue-ui-parallel-coordinate-plot-C0UqWt0M.js → vue-ui-parallel-coordinate-plot-Bcr3B3NI.js} +2 -2
- package/dist/{vue-ui-quadrant-CTGFBNo9.js → vue-ui-quadrant-DKVFawhC.js} +2 -2
- package/dist/{vue-ui-quick-chart-ZBOPZhxA.js → vue-ui-quick-chart-Bk2N8Hmd.js} +2 -2
- package/dist/{vue-ui-radar-B1z3Ux3E.js → vue-ui-radar-CdH-BFKA.js} +1 -1
- package/dist/{vue-ui-rating-CV2b0tjA.js → vue-ui-rating-ChWXrWNJ.js} +1 -1
- package/dist/{vue-ui-relation-circle-DqN5N08e.js → vue-ui-relation-circle-COZpOybS.js} +1 -1
- package/dist/{vue-ui-ridgeline-DcSB5Qef.js → vue-ui-ridgeline-MLknaTUO.js} +2 -2
- package/dist/{vue-ui-rings-CJqAnf-l.js → vue-ui-rings-ARqLCM_P.js} +1 -1
- package/dist/{vue-ui-scatter-THQAeoWs.js → vue-ui-scatter-CX2wsXdE.js} +2 -2
- package/dist/{vue-ui-skeleton-DqmhigQ0.js → vue-ui-skeleton-wyvAru88.js} +1 -1
- package/dist/{vue-ui-smiley-VTdQetY0.js → vue-ui-smiley--VTlUAdp.js} +1 -1
- package/dist/{vue-ui-spark-trend-B2Nf1raK.js → vue-ui-spark-trend-C02PmIq_.js} +1 -1
- package/dist/{vue-ui-sparkbar-CamZ_49V.js → vue-ui-sparkbar-CjD57-Xi.js} +1 -1
- package/dist/{vue-ui-sparkgauge-Ffrp_7VV.js → vue-ui-sparkgauge-8Eia8T2W.js} +1 -1
- package/dist/{vue-ui-sparkhistogram-CLfzi3PO.js → vue-ui-sparkhistogram-C-0f7XCl.js} +1 -1
- package/dist/{vue-ui-sparkline-Y-sljnbS.js → vue-ui-sparkline-BMMrpUPR.js} +1 -1
- package/dist/{vue-ui-sparkstackbar-CYZ-ADO1.js → vue-ui-sparkstackbar-BmgCVCKG.js} +1 -1
- package/dist/{vue-ui-stackbar-CQLYm10x.js → vue-ui-stackbar-G_zZRAa9.js} +2 -2
- package/dist/{vue-ui-stackline-VpvF7MRx.js → vue-ui-stackline-DchZoEAg.js} +2 -2
- package/dist/{vue-ui-strip-plot-B9Ogpw7K.js → vue-ui-strip-plot-DVyPa3sp.js} +2 -2
- package/dist/{vue-ui-table-heatmap-BtziURiu.js → vue-ui-table-heatmap-DzvPQnY9.js} +1 -1
- package/dist/{vue-ui-table-Bi9C3LzP.js → vue-ui-table-qTF_q-Qu.js} +1 -1
- package/dist/{vue-ui-table-sparkline-DEVAL0cR.js → vue-ui-table-sparkline-B2Q-7-GQ.js} +1 -1
- package/dist/{vue-ui-thermometer-ClN4EO0I.js → vue-ui-thermometer-CxNoxslq.js} +1 -1
- package/dist/{vue-ui-timer-nqZxt1vU.js → vue-ui-timer-DRjoRidI.js} +2 -2
- package/dist/{vue-ui-tiremarks-BeJBsgXo.js → vue-ui-tiremarks-BC_YGp3T.js} +1 -1
- package/dist/{vue-ui-treemap-FA-yXwmv.js → vue-ui-treemap-CNM5ohoO.js} +1 -1
- package/dist/{vue-ui-waffle-CO07S6HV.js → vue-ui-waffle-BiJshI4O.js} +1 -1
- package/dist/{vue-ui-wheel-BeaSWB4x.js → vue-ui-wheel-BxR0_iNZ.js} +1 -1
- package/dist/{vue-ui-word-cloud-C1OWGFng.js → vue-ui-word-cloud-CZzC3R1K.js} +2 -2
- package/dist/{vue-ui-world-CUS_mKgl.js → vue-ui-world-CJgt0ESz.js} +2 -2
- package/dist/vue-ui-xy-B6XNUCzQ.js +24 -0
- package/dist/{vue-ui-xy-BigPHE0Q.js → vue-ui-xy-DrKVPSg7.js} +1 -1
- package/dist/{vue-ui-xy-canvas-CeC3gcrW.js → vue-ui-xy-canvas-Do4P4ajB.js} +2 -2
- package/package.json +141 -131
- package/dist/geoProjections-Bvj-eMvq.js +0 -1
- package/dist/package-DwcKiXuI.js +0 -1
- package/dist/pdf-DAicVFxx.js +0 -1
- package/dist/useSvgLabelLayout-D1I8sQUi.js +0 -1
- package/dist/vue-data-ui-BvHCscNE.js +0 -1
- package/dist/vue-ui-chestnut-CiY-2e77.js +0 -1
- package/dist/vue-ui-donut-CR3klUbX.js +0 -22
- package/dist/vue-ui-funnel-CZAdPYqK.js +0 -1
- package/dist/vue-ui-molecule-BPGs9Dom.js +0 -1
- package/dist/vue-ui-xy-6B_K-quN.js +0 -24
|
@@ -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-BH9r_0Vd.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-sVoTzet1.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-BIhjLNBU.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-BH9r_0Vd.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-sVoTzet1.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-BIhjLNBU.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
|
-
`)},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-
|
|
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};
|