vue-data-ui 3.28.3 → 3.28.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PackageVersion-CXT-eAuk.js → PackageVersion-DhptF5oD.js} +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -1
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/package-CX7pZToh.js +1 -0
- package/dist/{render-common-C70bnUVe.js → render-common-DwEiRIJ0.js} +1 -1
- package/dist/ssr/vue-ui-donut.js +1 -1
- package/dist/ssr/vue-ui-xy.js +1 -1
- package/dist/ssr.js +1 -1
- package/dist/vue-data-ui-CORn0LF6.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-ljsy2rX6.js → vue-ui-3d-bar-CJTKyv3A.js} +1 -1
- package/dist/{vue-ui-age-pyramid-a6CK7z3a.js → vue-ui-age-pyramid-6uZzf1w6.js} +1 -1
- package/dist/{vue-ui-bullet-DX4A2Qwo.js → vue-ui-bullet-CsJcLhmV.js} +1 -1
- package/dist/{vue-ui-bump-IvRdB6MD.js → vue-ui-bump-DXpxBWp_.js} +1 -1
- package/dist/{vue-ui-candlestick-BgyUo13S.js → vue-ui-candlestick-Bn_RSZ0k.js} +1 -1
- package/dist/{vue-ui-carousel-table-D01DGfA0.js → vue-ui-carousel-table-ChNykS-r.js} +1 -1
- package/dist/{vue-ui-chestnut-DYrMSzmQ.js → vue-ui-chestnut-DMYQTkxM.js} +1 -1
- package/dist/{vue-ui-chord-CwzQ7QbP.js → vue-ui-chord-Pp0U0-zV.js} +1 -1
- package/dist/{vue-ui-circle-pack-DQHNM9sC.js → vue-ui-circle-pack-We23fOaF.js} +1 -1
- package/dist/{vue-ui-cursor-CTFfbDX8.js → vue-ui-cursor-3-RTIIl-.js} +1 -1
- package/dist/{vue-ui-dag-DF29_9Gg.js → vue-ui-dag-5fVnwEXd.js} +1 -1
- package/dist/{vue-ui-dashboard-D98rMHjI.js → vue-ui-dashboard-Dlwnintv.js} +1 -1
- package/dist/{vue-ui-digits-AoPCgSfP.js → vue-ui-digits-ZMK0aBxE.js} +1 -1
- package/dist/{vue-ui-donut-BYUkblpv.js → vue-ui-donut-CmLo1r4-.js} +1 -1
- package/dist/{vue-ui-donut-evolution-wxHDTKlg.js → vue-ui-donut-evolution-CYvo7Cww.js} +1 -1
- package/dist/vue-ui-donut-j1bv0KyD.js +22 -0
- package/dist/{vue-ui-dumbbell-DR7rjMt0.js → vue-ui-dumbbell-DigrSGwq.js} +1 -1
- package/dist/{vue-ui-flow-DtQlRSK_.js → vue-ui-flow-D9cc9yXD.js} +1 -1
- package/dist/{vue-ui-funnel-BP3chlZy.js → vue-ui-funnel-U88Hs0nL.js} +1 -1
- package/dist/{vue-ui-galaxy-B7ogrJ6f.js → vue-ui-galaxy-B1Vuz8CA.js} +1 -1
- package/dist/{vue-ui-gauge-CrmzNkjT.js → vue-ui-gauge-1MgZSPXt.js} +1 -1
- package/dist/{vue-ui-geo-BbTvWbfX.js → vue-ui-geo-BV8ARcaX.js} +1 -1
- package/dist/{vue-ui-gizmo-C3wgMKwb.js → vue-ui-gizmo-DtsERB-E.js} +1 -1
- package/dist/{vue-ui-graph-CzUVEiO-.js → vue-ui-graph-BVTPTDl5.js} +1 -1
- package/dist/{vue-ui-heatmap-BxR2ccwd.js → vue-ui-heatmap-6YwaVr3F.js} +1 -1
- package/dist/{vue-ui-hill-BDOd7LrC.js → vue-ui-hill-BvrNT8KZ.js} +1 -1
- package/dist/{vue-ui-history-plot-0-vs_CVn.js → vue-ui-history-plot-CJIILQPt.js} +1 -1
- package/dist/{vue-ui-horizontal-bar-C5pNTRKB.js → vue-ui-horizontal-bar-Dfo-kTqg.js} +1 -1
- package/dist/{vue-ui-kpi-Dfhsk0U1.js → vue-ui-kpi-DHfExr9d.js} +1 -1
- package/dist/{vue-ui-molecule-DUX1NUIY.js → vue-ui-molecule-C8e5IeHG.js} +1 -1
- package/dist/{vue-ui-mood-radar-B1N5AwX_.js → vue-ui-mood-radar-DsnT2U65.js} +1 -1
- package/dist/{vue-ui-nested-donuts-CfHH-cU6.js → vue-ui-nested-donuts-JkpqMhuL.js} +1 -1
- package/dist/{vue-ui-onion-DRN-jIvq.js → vue-ui-onion-CIA2tlff.js} +1 -1
- package/dist/{vue-ui-parallel-coordinate-plot-UUPjQABF.js → vue-ui-parallel-coordinate-plot-Bcr3B3NI.js} +1 -1
- package/dist/{vue-ui-quadrant-zmtzn0lM.js → vue-ui-quadrant-DKVFawhC.js} +1 -1
- package/dist/{vue-ui-quick-chart-DgU_IhKY.js → vue-ui-quick-chart-Bk2N8Hmd.js} +1 -1
- package/dist/{vue-ui-radar-BGSoxRaK.js → vue-ui-radar-CdH-BFKA.js} +1 -1
- package/dist/{vue-ui-relation-circle-XUw5UMrt.js → vue-ui-relation-circle-COZpOybS.js} +1 -1
- package/dist/{vue-ui-ridgeline-B5RJcFyA.js → vue-ui-ridgeline-MLknaTUO.js} +1 -1
- package/dist/{vue-ui-rings-BJaCLH2Q.js → vue-ui-rings-ARqLCM_P.js} +1 -1
- package/dist/{vue-ui-scatter-BA0hk_Tf.js → vue-ui-scatter-CX2wsXdE.js} +1 -1
- package/dist/{vue-ui-skeleton-DpzaXPO3.js → vue-ui-skeleton-wyvAru88.js} +1 -1
- package/dist/{vue-ui-spark-trend-DJ63XtgQ.js → vue-ui-spark-trend-C02PmIq_.js} +1 -1
- package/dist/{vue-ui-sparkbar-C5wP9R67.js → vue-ui-sparkbar-CjD57-Xi.js} +1 -1
- package/dist/{vue-ui-sparkgauge-DQcAOGuG.js → vue-ui-sparkgauge-8Eia8T2W.js} +1 -1
- package/dist/{vue-ui-sparkhistogram-BBiCxX6W.js → vue-ui-sparkhistogram-C-0f7XCl.js} +1 -1
- package/dist/{vue-ui-sparkline-B_GkB9V_.js → vue-ui-sparkline-BMMrpUPR.js} +1 -1
- package/dist/{vue-ui-sparkstackbar-DSRXhqhJ.js → vue-ui-sparkstackbar-BmgCVCKG.js} +1 -1
- package/dist/{vue-ui-stackbar-QjOQHbld.js → vue-ui-stackbar-G_zZRAa9.js} +1 -1
- package/dist/{vue-ui-stackline-CoII13bc.js → vue-ui-stackline-DchZoEAg.js} +1 -1
- package/dist/{vue-ui-strip-plot-d3UoFFrf.js → vue-ui-strip-plot-DVyPa3sp.js} +1 -1
- package/dist/{vue-ui-table-CHFjZzW7.js → vue-ui-table-qTF_q-Qu.js} +1 -1
- package/dist/{vue-ui-table-sparkline-BkZ7sn4X.js → vue-ui-table-sparkline-B2Q-7-GQ.js} +1 -1
- package/dist/{vue-ui-thermometer-B--g_Lkt.js → vue-ui-thermometer-CxNoxslq.js} +1 -1
- package/dist/{vue-ui-timer-DmwEWrDh.js → vue-ui-timer-DRjoRidI.js} +1 -1
- package/dist/{vue-ui-tiremarks-160Gx7-3.js → vue-ui-tiremarks-BC_YGp3T.js} +1 -1
- package/dist/{vue-ui-treemap-B-Yjtob0.js → vue-ui-treemap-CNM5ohoO.js} +1 -1
- package/dist/{vue-ui-waffle-BhzLg5ip.js → vue-ui-waffle-BiJshI4O.js} +1 -1
- package/dist/{vue-ui-wheel-DHb4G42X.js → vue-ui-wheel-BxR0_iNZ.js} +1 -1
- package/dist/{vue-ui-word-cloud-BcpreM7A.js → vue-ui-word-cloud-CZzC3R1K.js} +1 -1
- package/dist/{vue-ui-world-BD9acchj.js → vue-ui-world-CJgt0ESz.js} +1 -1
- package/dist/{vue-ui-xy-C-2Phexw.js → vue-ui-xy-B6XNUCzQ.js} +1 -1
- package/dist/{vue-ui-xy-CB3lQs2m.js → vue-ui-xy-DrKVPSg7.js} +1 -1
- package/package.json +1 -1
- package/dist/package-CgIKu3rP.js +0 -1
- package/dist/vue-data-ui-CrOhFey9.js +0 -1
- package/dist/vue-ui-donut-BQGnUso2.js +0 -22
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{D as n,Ht as r,J as i,X as a,in as o}from"./lib-rPeBMZrn.js";import{n as s,t as c}from"./BaseScanner-8NdoBs7B.js";import{n as l,t as u}from"./useHints-C-TwxM0Y.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as f}from"./resolveChartConfig-CIhClE5R.js";import{t as ee}from"./chartImage-DPGnEuYM.js";import{t as te}from"./vue_ui_graph-B1ACwQj7.js";import{t as ne}from"./BaseZoomControls-ByS_7fmI.js";import{n as re}from"./Title-BliHuXfT.js";import{t as ie}from"./useChartExport-BZts4KFb.js";import{t as ae}from"./tableIntegration-CNoJ1CIY.js";import{n as oe,t as se}from"./annotationSlots-BRR85CqJ.js";import{n as ce,t as le}from"./userOptionsSlots-DYuo-E5m.js";import{Fragment as p,TransitionGroup as ue,computed as m,createBlock as de,createCommentVNode as h,createElementBlock as g,createElementVNode as _,createSlots as fe,createTextVNode as pe,createVNode as me,defineAsyncComponent as he,guardReactiveProps as ge,mergeProps as _e,nextTick as ve,normalizeClass as ye,normalizeProps as be,normalizeStyle as xe,onBeforeUnmount as Se,onMounted as Ce,openBlock as v,ref as y,renderList as b,renderSlot as x,resolveDynamicComponent as we,shallowRef as Te,toDisplayString as S,triggerRef as Ee,unref as C,useSlots as De,watch as w,withCtx as T,withKeys as Oe,withModifiers as ke}from"vue";var Ae={nodes:[[`center`,0,0,18],[`west`,-110,-65,15],[`east`,115,-45,16],[`south`,20,115,14],[`w1`,-190,-90,7],[`w2`,-145,-155,9],[`w3`,-65,-140,6],[`w4`,-195,-5,8],[`w5`,-115,25,6],[`e1`,70,-135,8],[`e2`,160,-130,6],[`e3`,205,-55,9],[`e4`,175,35,7],[`e5`,85,40,6],[`s1`,-65,95,8],[`s2`,-50,185,6],[`s3`,40,205,9],[`s4`,115,150,7],[`s5`,100,90,6]].map(([e,t,n,r])=>({id:`skeleton-${e}`,x:t,y:n,radius:r,fixed:!0})),links:[[`center`,`west`],[`center`,`east`],[`center`,`south`],[`west`,`w1`],[`west`,`w2`],[`west`,`w3`],[`west`,`w4`],[`west`,`w5`],[`w1`,`w2`],[`w2`,`w3`],[`w4`,`w5`],[`east`,`e1`],[`east`,`e2`],[`east`,`e3`],[`east`,`e4`],[`east`,`e5`],[`e1`,`e2`],[`e2`,`e3`],[`e4`,`e5`],[`south`,`s1`],[`south`,`s2`],[`south`,`s3`],[`south`,`s4`],[`south`,`s5`],[`s1`,`s2`],[`s2`,`s3`],[`s4`,`s5`],[`w3`,`e1`],[`w5`,`s1`],[`e5`,`s5`]].map(([e,t])=>({source:`skeleton-${e}`,target:`skeleton-${t}`}))},je={animation:{enabled:!1},layout:{iterations:0},viewport:{initialFit:!0},userOptions:{show:!1},table:{show:!1},tooltip:{show:!1},events:{datapointEnter:null,datapointLeave:null,datapointClick:null},interaction:{zoom:{enabled:!1},pan:{enabled:!1},drag:{enabled:!1}},style:{chart:{backgroundColor:`#99999930`,controls:{show:!1},nodes:{colorByGroup:!1,color:`#BABABA`,stroke:`#CCCCCC`,sizeByValue:!1,sizeByDegree:!1,radius:10,gradient:!1,glow:{show:!1},labels:{show:!1}},links:{color:`#CCCCCC`,glow:!1,arrows:{show:!1,showOnHover:!1},pulses:{show:!1,showOnHover:!1}}}}},Me=(e,t)=>Number.isFinite(e)?e:t;function Ne(e,t=/* @__PURE__ */ new Map,n,i=()=>{}){let a=[],o=/* @__PURE__ */ new Map,s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map;for(let n of e?.nodes||[]){if(!n||![`string`,`number`].includes(typeof n.id)||typeof n.id==`number`&&!Number.isFinite(n.id)||o.has(n.id)){i(`Ignored invalid or duplicate node ID`);continue}let e=t.get(n.id),r=a.length,l=r*2.399963229728653,u=20*Math.sqrt(r);c.has(n.group)||c.set(n.group,c.size);let d={...n,raw:n,x:e?.x??Me(n.x,Math.cos(l)*u),y:e?.y??Me(n.y,Math.sin(l)*u),vx:e?.vx||0,vy:e?.vy||0,pinned:!!n.fixed||!!e?.userPinned,userPinned:e?.userPinned,degree:0,index:r,groupIndex:c.get(n.group)};a.push(d),o.set(n.id,d),s.set(n.id,/* @__PURE__ */ new Set)}let l=[],u=/* @__PURE__ */ new Map;for(let t of e?.links||[]){let e=o.get(t?.source),n=o.get(t?.target);if(!e||!n){i(`Ignored link referencing an unknown node`);continue}e.degree+=1,n.degree+=1,s.get(e.id).add(n.id),s.get(n.id).add(e.id);let r=e.index,a=n.index,c=`${Math.min(r,a)}:${Math.max(r,a)}`,d={raw:t,source:e,target:n,index:l.length,strength:Math.min(3,Math.sqrt(Math.max(0,Me(t.value,1)))),lane:0,direction:r<=a?1:-1};u.has(c)||u.set(c,[]),u.get(c).push(d),l.push(d)}for(let e of u.values())e.forEach((t,n)=>{t.lane=n-(e.length-1)/2,t.selfIndex=n});let d=n.customPalette?.length?n.customPalette:r,f=n.style.chart.nodes,ee=a.map(e=>Math.max(0,Me(f.sizeByDegree?e.degree:e.value,0))),te=Math.max(1,...ee);return a.forEach((e,t)=>{e.radius=Math.max(.5,Me(e.raw.radius,(f.sizeByValue||f.sizeByDegree)&&ee[t]>0?f.minRadius+Math.sqrt(ee[t]/te)*(f.maxRadius-f.minRadius):f.radius)),e.groupColor=f.colorByGroup?d[e.groupIndex%d.length]:f.color,e.color=e.raw.color||e.groupColor||f.color}),{nodes:a,links:l,byId:o,adjacency:s}}function Pe(e,t,n,r,i=0){let a={x:t,y:n,size:r,count:e.length,cx:0,cy:0};if(!e.length)return a;for(let t of e)a.cx+=t.x,a.cy+=t.y;if(a.cx/=e.length,a.cy/=e.length,e.length<=1||i>=20)return a.nodes=e,a;let o=r/2,s=[[],[],[],[]];for(let r of e)s[+(r.x>=t+o)+(r.y>=n+o?2:0)].push(r);a.children=[];for(let e=0;e<4;e++)s[e].length&&a.children.push(Pe(s[e],t+e%2*o,n+(e>1?o:0),o,i+1));return a}function Fe(e,t,n=1){let{nodes:r,links:i}=e;if(!r.length)return 0;let a=1/0,o=1/0,s=-1/0,c=-1/0,l=1;for(let e of r)a=Math.min(a,e.x),o=Math.min(o,e.y),s=Math.max(s,e.x),c=Math.max(c,e.y),l=Math.max(l,e.radius);let u=Pe(r,a,o,Math.max(s-a,c-o,1)+1),d=Math.max(0,-t.chargeStrength)*n*t.strength,f=t.theta*t.theta;function ee(e,t){if(!t.count)return;let n=e.x-t.cx,r=e.y-t.cy,i=n*n+r*r+4,a=e.x>=t.x&&e.x<=t.x+t.size&&e.y>=t.y&&e.y<=t.y+t.size;if(!t.nodes&&!a&&t.size*t.size<f*i)e.vx+=n*d*t.count/i,e.vy+=r*d*t.count/i;else if(t.nodes){for(let n of t.nodes)if(n!==e){let t=e.x-n.x||.01,r=e.y-n.y||.01,i=t*t+r*r+4;e.vx+=t*d/i,e.vy+=r*d/i}}else for(let n of t.children)ee(e,n)}let te=/* @__PURE__ */ new Map;if(t.clusterStrength)for(let e of r){let t=te.get(e.group)||{x:0,y:0,count:0};t.x+=e.x,t.y+=e.y,t.count+=1,te.set(e.group,t)}for(let e of r){ee(e,u),e.vx-=e.x*t.centerStrength*n,e.vy-=e.y*t.centerStrength*n;let r=te.get(e.group);r&&(e.vx+=(r.x/r.count-e.x)*t.clusterStrength*n,e.vy+=(r.y/r.count-e.y)*t.clusterStrength*n)}for(let e of i){if(e.source===e.target)continue;let r=e.target.x-e.source.x,i=e.target.y-e.source.y,a=Math.sqrt(r*r+i*i)||1,o=(a-t.linkDistance)*t.linkStrength*e.strength*n*t.strength/2,s=r/a*o,c=i/a*o,l=Math.max(1,e.source.degree),u=Math.max(1,e.target.degree);e.source.vx+=s/l,e.source.vy+=c/l,e.target.vx-=s/u,e.target.vy-=c/u}let ne=l*2+Math.max(0,t.collisionPadding),re=/* @__PURE__ */ new Map;for(let e of r){let n=Math.floor(e.x/ne),r=Math.floor(e.y/ne);for(let i=n-1;i<=n+1;i+=1){let n=re.get(i);if(n)for(let i=r-1;i<=r+1;i+=1){let r=n.get(i);if(r)for(let n of r){let r=e.x-n.x||.01,i=e.y-n.y||.01,a=r*r+i*i,o=e.radius+n.radius+t.collisionPadding;if(a<o*o){let t=Math.sqrt(a),s=(o-t)/t*.5;e.vx+=r*s,e.vy+=i*s,n.vx-=r*s,n.vy-=i*s}}}}let i=re.get(n);i||re.set(n,i=/* @__PURE__ */ new Map);let a=i.get(r);a||i.set(r,a=[]),a.push(e)}let ie=Math.max(0,t.centerStrength*n-.05),ae=1+t.friction*(ie+2*Math.sqrt(ie)),oe=0;for(let e of r)e.pinned?e.vx=e.vy=0:(e.vx=Math.max(-30,Math.min(30,e.vx*t.friction/ae)),e.vy=Math.max(-30,Math.min(30,e.vy*t.friction/ae)),e.x+=e.vx,e.y+=e.vy,oe+=e.vx*e.vx+e.vy*e.vy);return oe/r.length}function Ie(e,t=e=>e){let n=(e,n)=>`${t(e)} ${t(n)}`,{source:r,target:i}=e;if(r===i){let t=r.radius+16+(e.selfIndex||0)*12,i=r.radius/Math.SQRT2;return`M ${n(r.x-i,r.y-i)} C ${n(r.x-t*2,r.y-t*3)} ${n(r.x+t*2,r.y-t*3)} ${n(r.x+i,r.y-i)}`}let a=i.x-r.x,o=i.y-r.y,s=Math.hypot(a,o)||1,c=e.lane*24*e.direction,l=(r.x+i.x)/2-o/s*c,u=(r.y+i.y)/2+a/s*c,d=Math.hypot(l-r.x,u-r.y)||1,f=Math.hypot(i.x-l,i.y-u)||1;return`M ${n(r.x+(l-r.x)/d*r.radius,r.y+(u-r.y)/d*r.radius)} Q ${n(l,u)} ${n(i.x-(i.x-l)/f*i.radius,i.y-(i.y-u)/f*i.radius)}`}var Le=/* @__PURE__ */ new Map,Re=/* @__PURE__ */ new Map,ze=8;function Be(e,t){return JSON.stringify([t,e.nodes.map(e=>[e.x,e.y,e.vx,e.vy,e.radius,e.pinned,e.groupIndex]),e.links.map(e=>[e.source.index,e.target.index,e.strength])])}function E(e,t){e.nodes.forEach((e,n)=>{[e.x,e.y,e.vx,e.vy]=t[n]})}function Ve(e,t,n,{eager:r=!1}={}){let i=Be(e,t),a=Re.get(i);if(a)return Re.delete(i),Re.set(i,a),E(e,a),n(),()=>{};let o=Le.get(i),s,c={graph:e,complete:n};if(!o){let n=e.nodes.map(e=>({...e}));o={graph:{nodes:n,links:e.links.map(e=>({...e,source:n[e.source.index],target:n[e.target.index]}))},config:{...t},listeners:/* @__PURE__ */ new Set,frame:null,iteration:0},Le.set(i,o);let r=()=>{o.frame=null;let e=performance.now(),t=1/0;for(;o.iteration<o.config.iterations&&(t=Fe(o.graph,o.config,Math.max(.015,1-o.iteration/Math.max(1,o.config.iterations))),o.iteration++,!(o.iteration>30&&t<.002||performance.now()-e>=8)););if(o.iteration>=o.config.iterations||o.iteration>30&&t<.002){let e=o.graph.nodes.map(e=>[e.x,e.y,e.vx,e.vy]);Le.delete(i),Re.set(i,e),Re.size>ze&&Re.delete(Re.keys().next().value);let t=[...o.listeners];o.listeners.clear();for(let n of t)E(n.graph,e),n.complete()}else o.frame=requestAnimationFrame(r)};s=r}return o.listeners.add(c),s&&(r?s():o.frame=requestAnimationFrame(s)),()=>{o.listeners.delete(c),!o.listeners.size&&Le.get(i)===o&&(o.frame!==null&&cancelAnimationFrame(o.frame),Le.delete(i))}}function He(e,t,n){return t!==null&&(e.source.id===t||e.target.id===t||!!(n?.has(e.source.id)&&n.has(e.target.id)))}function Ue(e,t,n=null,r=1,i){let a=/* @__PURE__ */ new Map;for(let o of e){let e=t.colorBySource?o.link.source.color:t.color||o.color,s=n!==null&&!He(o.link,n,i),c=t.opacity*(s?r:1),l=JSON.stringify([e,c]);a.has(l)||a.set(l,{key:l,color:e,opacity:c,items:[]}),a.get(l).items.push(o)}return[...a.values()]}function We(e,t,n,r,i=!1){let a=e.length,o=n*100/Math.max(1,r)*(i?-1:1),s=a>0?((t+o/a)%1+1)%1:0,c=s*a,l=e.points;for(let e=1;e<l.length;e++){let t=l[e-1],n=l[e],r=Math.hypot(n.x-t.x,n.y-t.y);if(c<=r&&r>0){let e=c/r;return{progress:s,x:t.x+(n.x-t.x)*e,y:t.y+(n.y-t.y)*e}}c-=r}return{progress:s,...l[l.length-1]}}var D=e=>Math.round(e*100)/100;function Ge(e,t){let n=Ie(e,D),r,i;function a(){let t=n.match(/-?\d*\.?\d+(?:e[+-]?\d+)?/gi).map(Number),r=n.includes(` C `),i=[],a=r?24:e.lane?16:1;for(let e=0;e<=a;e++){let n=e/a,o=1-n;i.push(r?{x:o*o*o*t[0]+3*o*o*n*t[2]+3*o*n*n*t[4]+n*n*n*t[6],y:o*o*o*t[1]+3*o*o*n*t[3]+3*o*n*n*t[5]+n*n*n*t[7]}:{x:o*o*t[0]+2*o*n*t[2]+n*n*t[4],y:o*o*t[1]+2*o*n*t[3]+n*n*t[5]})}return i}let o=e.raw.color||t.color,s=e.raw.width??(t.widthByValue?Math.min(t.maxWidth,t.width*Math.sqrt(Math.max(0,e.raw.value??1))):t.width),c=!!(e.raw.directed||t.arrows.show||t.arrows.showOnHover),l=``;if(c){let e=n.match(/-?\d*\.?\d+(?:e[+-]?\d+)?/gi).map(Number),t=e.at(-2),r=e.at(-1),i=t-e.at(-4),a=r-e.at(-3),o=Math.hypot(i,a)||1,c=i/o,u=a/o,d=6*s,f=t-c*d,ee=r-u*d;l=`M ${D(t)} ${D(r)} L ${D(f-u*d/2)} ${D(ee+c*d/2)} L ${D(f+u*d/2)} ${D(ee-c*d/2)} Z`}return{link:e,d:n,arrowD:l,get points(){return r||=a()},get length(){if(i===void 0){let e=this.points;i=0;for(let t=1;t<e.length;t++)i+=Math.hypot(e[t].x-e[t-1].x,e[t].y-e[t-1].y)}return i},color:o,width:s,directed:c,key:JSON.stringify([o,s,c])}}function Ke(e,t=()=>!0){let n=/* @__PURE__ */ new Map;for(let r of e){if(!t(r.link))continue;let e=n.get(r.key);e||(e={key:r.key,color:r.color,width:r.width,directed:r.directed,paths:[],arrows:[]},n.set(r.key,e)),e.paths.push(r.d),r.arrowD&&e.arrows.push(r.arrowD)}return[...n.values()].map(({paths:e,arrows:t,...n})=>({...n,d:e.join(` `),arrowD:t.join(` `)}))}function qe(e){let{x:t,y:n,radius:r}=e;return`M ${D(t-r)} ${D(n)} a ${D(r)} ${D(r)} 0 1 0 ${D(r*2)} 0 a ${D(r)} ${D(r)} 0 1 0 ${D(-r*2)} 0 Z`}function Je(e,t=()=>!0){let n=/* @__PURE__ */ new Map;for(let r of e)t(r)&&(n.has(r.color)||n.set(r.color,[]),n.get(r.color).push(qe(r)));return[...n].map(([e,t])=>({color:e,d:t.join(` `)}))}function O(e,t,n){let r=n.x-t.x,i=n.y-t.y,a=r*r+i*i,o=a?Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*i)/a)):0;return(e.x-t.x-o*r)**2+(e.y-t.y-o*i)**2}function Ye(e,t,n=48){let r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=0;function o(e,t,n,r){let i=`${t}:${n}`;e.has(i)||e.set(i,[]),e.get(i).push(r)}for(let t of e)for(let e=Math.floor((t.x-t.radius)/n);e<=Math.floor((t.x+t.radius)/n);e++)for(let i=Math.floor((t.y-t.radius)/n);i<=Math.floor((t.y+t.radius)/n);i++)o(r,e,i,t);let s=!1;function c(){for(let e of t){a=Math.max(a,e.width);for(let t=1;t<e.points.length;t++){let r=e.points[t-1],a=e.points[t],s=Math.max(1,Math.ceil(Math.max(Math.abs(a.x-r.x),Math.abs(a.y-r.y))/n)),c={a:r,b:a,item:e},l;for(let e=0;e<=s;e++){let t=Math.floor((r.x+(a.x-r.x)*e/s)/n),u=Math.floor((r.y+(a.y-r.y)*e/s)/n),d=`${t}:${u}`;d!==l&&o(i,t,u,c),l=d}}}s=!0}function l(e,t,r){let i=/* @__PURE__ */ new Set;for(let a=Math.floor((t.x-r)/n);a<=Math.floor((t.x+r)/n);a++)for(let o=Math.floor((t.y-r)/n);o<=Math.floor((t.y+r)/n);o++)for(let t of e.get(`${a}:${o}`)||[])i.add(t);return i}return{nodeAt(e,t=0){let n=null;for(let i of l(r,e,t))(e.x-i.x)**2+(e.y-i.y)**2<=(i.radius+t)**2&&(!n||i.index>n.index)&&(n=i);return n},linkAt(e,t=4){s||c();let n=null,r=1/0;for(let o of l(i,e,t+a/2)){let i=O(e,o.a,o.b);i<=(t+o.item.width/2)**2&&i<r&&(r=i,n=o.item.link)}return n}}}function Xe(e){if(e==null)return``;try{return JSON.stringify(e)}catch{return String(e)}}function Ze(e,t){return{nodes:{head:[t.id,t.label,t.group,t.value,t.connections,t.metadata],body:e.nodes.map(e=>[e.id,{name:e.label??e.id,color:e.color},e.group??``,e.value??``,e.degree,Xe(e.metadata)])},links:{head:[t.source,t.target,t.label,t.value,t.directed,t.metadata],body:e.links.map(e=>[e.raw.source,e.raw.target,e.raw.label??``,e.raw.value??``,!!e.raw.directed,Xe(e.raw.metadata)])}}}function Qe(e,t,r){let i=[[t.text],[t.subtitle?.text||``],[],[r.nodes],e.nodes.head,...e.nodes.body.map(e=>e.map(e=>e&&typeof e==`object`?e.name:e)),[],[r.links],e.links.head,...e.links.body];return n(i.map(e=>e.map(e=>`"${String(e??``).replaceAll(`"`,`""`)}"`)))}var k=/* @__PURE__ */ e({default:()=>qt}),$e=[`id`],et={key:2,class:`vue-ui-graph-title`},tt=[`viewBox`,`aria-label`,`aria-busy`,`aria-describedby`,`tabindex`,`aria-activedescendant`],nt=[`id`],rt=[`id`],it=[`stdDeviation`],at={in:`blur`,result:`halo`},ot=[`slope`],st=[`id`],ct=[`stop-color`],lt=[`stop-color`],ut=[`fill`],dt=[`transform`],ft=[`filter`],pt=[`d`,`stroke`,`stroke-width`,`opacity`],mt=[`d`,`fill`,`opacity`],ht=[`opacity`],gt=[`d`,`stroke`,`stroke-width`],_t=[`d`,`fill`],vt=[`d`,`fill`,`opacity`],yt=[`fill`,`opacity`],bt={key:0,class:`vue-ui-graph-nodes vue-ui-graph-nodes-batched`,"pointer-events":`none`},xt=[`stroke`,`stroke-width`,`filter`],St=[`d`,`fill`,`opacity`],Ct=[`d`,`fill`,`opacity`],wt=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`opacity`],Tt=[`id`,`aria-label`,`aria-pressed`,`aria-describedby`],Et=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`opacity`],Dt=[`cx`,`cy`,`r`,`stroke`],Ot={key:1,class:`vue-ui-graph-nodes`},kt=[`data-node-index`,`id`,`transform`,`opacity`,`aria-label`,`aria-pressed`,`aria-describedby`,`onPointerenter`,`onFocus`,`onPointerdown`,`onClick`,`onKeydown`],At={key:0},jt=[`r`,`fill`,`stroke`,`stroke-width`,`filter`],Mt=[`r`,`fill`],Nt={class:`vue-ui-graph-labels`,"pointer-events":`none`,"aria-hidden":`true`},Pt=[`stroke`,`stroke-width`,`x`,`y`,`font-size`,`fill`,`opacity`,`innerHTML`],Ft={key:4,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},It={key:6,dir:`auto`},Lt={key:7,class:`vue-ui-graph-table-container`},Rt=[`id`],zt={class:`vue-ui-graph-tooltip-row`},Bt={key:0,class:`vue-ui-graph-tooltip-marker`,viewBox:`0 0 14 14`,"aria-hidden":`true`},Vt=[`fill`],Ht={key:0,class:`vue-ui-graph-tooltip-row`},Ut={class:`vue-ui-graph-tooltip-marker`,viewBox:`0 0 14 14`,"aria-hidden":`true`},Wt=[`fill`],Gt={key:1},Kt={key:2,class:`vue-ui-graph-tooltip-metadata`},qt=/*#__PURE__*/ d({__name:`vue-ui-graph`,props:{dataset:{type:Object,default:()=>({nodes:[],links:[]})},config:{type:Object,default:()=>({})}},emits:[`copyAlt`,`selectNode`,`hoverNode`,`zoom`,`zoomReset`,`layoutStart`,`layoutEnd`],setup(e,{expose:n,emit:r}){let d=he(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Me=he(()=>import(`./Tooltip-C1q0Qoh7.js`)),Pe=he(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Ie=he(()=>import(`./DataTable-0Vv-aGHD.js`)),Le=he(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Re=he(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),ze=he(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),Be=e,E=r,D=y(a()),O=y(null),k=y(null),qt=y(!1),A=y(!1),Jt=m(()=>f(Be.config||{},t().vue_ui_graph,te)),j=y(Jt.value);l({config:()=>j.value,dataset:()=>Be.dataset,component:`VueUiGraph`,rules:[u.noHint]});let Yt=m(()=>o({defaultConfig:o({defaultConfig:Jt.value,userConfig:je}),userConfig:Be.config?.skeletonConfig??{}})),{loading:M,FINAL_DATASET:Xt}=s({config:m(()=>Be.config),dataset:m(()=>Be.dataset?.nodes?.length?Be.dataset:{}),skeletonDataset:Be.config?.skeletonDataset??Ae,skeletonConfig:Yt.value,FINAL_CONFIG:j,prepareConfig:()=>Jt.value});w([Jt,Yt,M],()=>{j.value=M.value?Yt.value:Jt.value});let Zt=De(),N=m(()=>j.value.style.chart),Qt=y(!1),P=y(!1),$t=m(()=>M.value||Qt.value||P.value),en=m(()=>j.value.interaction.zoom.enabled&&!$t.value);function tn(){Qt.value=!Qt.value,Qt.value&&(X(),H&&H.type!==`node`&&(gn=H.moved,H=null,W.clear()))}let F=Te({nodes:[],links:[],byId:/* @__PURE__ */ new Map,adjacency:/* @__PURE__ */ new Map}),nn=Te(F.value),I=y(800),L=y(600),R=y({x:400,y:300,k:1}),z=Te({x:400,y:300,k:1,width:800,height:600}),rn=m(()=>R.value.k/z.value.k);function an(){U.value||=(z.value={...R.value,width:I.value,height:L.value},!0)}let B=y(null),on=y(!1),V=y(null),sn=y(null),cn=y(`pointer`),ln=null,un=null,dn,fn,pn=!1,mn=0,hn=!1,gn=!1,H=null,_n=!1,vn=!0,yn=!1,U=y(!1),W=/* @__PURE__ */ new Map,bn=m(()=>B.value??(j.value.interaction.highlight.keepSelection?V.value:null)),xn=m(()=>F.value.adjacency.get(bn.value)||/* @__PURE__ */ new Set),Sn=m(()=>F.value.nodes.length<=j.value.performance.effectThreshold),G=m(()=>!Zt.node&&F.value.nodes.length>j.value.performance.nodeBatchThreshold&&!(Sn.value&&N.value.nodes.gradient)),Cn=m(()=>F.value.links.map(e=>Ge(e,N.value.links))),wn=m(()=>Ke(Cn.value)),Tn=m(()=>{let e=N.value.links.pulses;return A.value?[]:e.showOnHover?B.value===null?[]:Cn.value.filter(({link:e})=>He(e,B.value,j.value.interaction.highlight.neighbors?F.value.adjacency.get(B.value):void 0)):e.show?Cn.value:[]}),En=y(null),Dn=/* @__PURE__ */ new Map,On=/* @__PURE__ */ new Map,kn=null,An=null,jn=m(()=>Ue(Tn.value,N.value.links.pulses,In.value?K.value:null,Ln.value,j.value.interaction.highlight.neighbors?Fn.value:void 0));function Mn(e){let t=/* @__PURE__ */ new Set,n=N.value.links.pulses;for(let r of jn.value){let i=Dn.get(r.key);if(!i)continue;let a=[];for(let i of r.items){let r=i.link.index;t.add(r);let o=We(i,On.get(r)??r*.61803398875%1,e,n.duration,n.reverse);On.set(r,o.progress),a.push(qe({...o,radius:n.radius}))}i.setAttribute(`d`,a.join(` `))}for(let e of On.keys())t.has(e)||On.delete(e)}function Nn(e){kn=null;let t=An===null?0:Math.min(50,e-An);An=e,Mn(t),En.value&&jn.value.length?kn=requestAnimationFrame(Nn):An=null}let Pn=m(()=>G.value?Je(F.value.nodes):[]),K=y(null);w(bn,e=>{e!==null&&(K.value=e)},{immediate:!0});let Fn=m(()=>F.value.adjacency.get(K.value)||/* @__PURE__ */ new Set),In=m(()=>j.value.interaction.highlight.enabled&&bn.value!==null),Ln=m(()=>In.value?j.value.interaction.highlight.dimOpacity:1),Rn=m(()=>K.value===null?[]:Ke(Cn.value,e=>He(e,K.value,j.value.interaction.highlight.neighbors?Fn.value:void 0))),zn=m(()=>{if(!N.value.links.arrows.showOnHover||B.value===null)return[];let e=B.value,t=F.value.adjacency.get(e)||/* @__PURE__ */ new Set;return Ke(Cn.value,n=>He(n,e,j.value.interaction.highlight.neighbors?t:void 0))}),Bn=m(()=>!G.value||K.value===null?[]:Je(F.value.nodes,e=>e.id===K.value||j.value.interaction.highlight.neighbors&&Fn.value.has(e.id)));w([jn,En,()=>N.value.links.pulses.radius],()=>{En.value&&jn.value.length?(Mn(0),kn===null&&(kn=requestAnimationFrame(Nn))):(kn!==null&&cancelAnimationFrame(kn),kn=null,An=null,On.clear())},{flush:`post`});function Vn(e){let t=e*j.value.interaction.highlight.dimOpacity;return In.value?(e-t)/Math.max(1e-6,1-t):0}let Hn=m(()=>F.value.byId.get(V.value)),q=m(()=>F.value.byId.get(B.value)),Un=m(()=>{let e=F.value.nodes.filter((e,t)=>cr(e,t));if(!G.value)return e;let t=Math.max(1,N.value.nodes.labels.maxCount);return e.sort((e,t)=>Number(t.id===bn.value||t.id===V.value)-Number(e.id===bn.value||e.id===V.value)).slice(0,t)}),J=y(null),Wn=y(!1),Gn=null,Kn=null,qn=null,Jn=null;function Yn(e){if(!U.value)return{};let t=Hr(e),n=R.value,r={x:(t.x-n.x)/n.k,y:(t.y-n.y)/n.k};return Kn!==F.value.nodes&&(Gn=Ye(F.value.nodes,[]),Kn=F.value.nodes),{node:Gn.nodeAt(r,2/n.k)}}function Xn(e){if(P.value||H||!U.value)return;_n=!1;let t=e.target?.closest?.(`.vue-ui-graph-node`),n=(!G.value&&t?F.value.nodes[Number(t.dataset.nodeIndex)]:null)||Yn(e).node;n?(J.value=null,B.value===n.id?Gr(e,n):Z(n,e)):B.value!==null&&Z(null)}function Zn(e){P.value||(W.has(e.pointerId)?Jr(e):(Jn=e,qn===null&&(qn=requestAnimationFrame(()=>{qn=null,Xn(Jn),Jn=null}))))}function Qn(){qn!==null&&cancelAnimationFrame(qn),qn=null,Jn=null,H||Z(null)}function $n(e){if(G.value){let t=Yn(e);if(t.node){qr(e,t.node);return}}qr(e)}function er(e){if(P.value)return;if(gn){gn=!1;return}let t=Yn(e);G.value&&t.node?Br(t.node):Xr()}function tr(){if(!vn||P.value||!F.value.nodes.length||_n)return;Wn.value=!0;let e=F.value.byId.get(J.value)||Hn.value||F.value.nodes[0];J.value=e.id,Z(e)}function nr(e){if(P.value)return;if([`ArrowRight`,`ArrowLeft`,`ArrowUp`,`ArrowDown`,`Home`,`End`,`Enter`,` `].includes(e.key)&&(_n=!1,Wn.value=!0),e.key===`Escape`){e.preventDefault(),e.stopPropagation(),J.value=null,Z(null),Vr();return}let t=F.value.nodes;if(!t.length)return;let n=Math.max(0,t.findIndex(e=>e.id===J.value));if([`ArrowRight`,`ArrowDown`,`ArrowLeft`,`ArrowUp`,`Home`,`End`].includes(e.key)){if(e.preventDefault(),e.key===`Home`)n=0;else if(e.key===`End`)n=t.length-1;else{let r=t[n],i=e.key===`ArrowRight`||e.key===`ArrowLeft`,a=e.key===`ArrowRight`||e.key===`ArrowDown`?1:-1,o=1/0,s=null;for(let e of t){let t=e.x-r.x,n=e.y-r.y;if((i?t:n)*a<=0)continue;let c=t*t+n*n;c<o&&(o=c,s=e)}if(!s){let e=1/0,n=1/0;for(let o of t){if(o===r)continue;let t=(i?o.x:o.y)*a,c=Math.abs(i?o.y-r.y:o.x-r.x);(t<e||t===e&&c<n)&&(e=t,n=c,s=o)}}s&&(n=s.index)}J.value=t[n].id,Z(t[n])}else(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),Br(t[n]))}let Y=m(()=>F.value.byId.get(B.value)),rr=m(()=>({datapoint:Y.value?.raw,node:Y.value?.raw,connections:Y.value?.degree,config:j.value})),ir=m(()=>{let e=F.value.byId.get(B.value),t=k.value?.getBoundingClientRect();if(!e||!t)return{x:0,y:0};let n={x:e.x*R.value.k+R.value.x,y:e.y*R.value.k+R.value.y},r=k.value.getScreenCTM?.();return r?{x:r.a*n.x+r.c*n.y+r.e,y:r.b*n.x+r.d*n.y+r.f}:{x:t.left+(e.x*R.value.k+R.value.x)*(t.width/I.value),y:t.top+(e.y*R.value.k+R.value.y)*(t.height/L.value)}}),ar=m(()=>{let e=Y.value;return e?typeof j.value.tooltip.customFormat==`function`?String(j.value.tooltip.customFormat(rr.value)):[e.label??e.id,e.group==null?``:`Group: ${e.group}`,e.value==null?``:`Value: ${e.value}`,`Connections: ${e.degree}`,j.value.tooltip.showMetadata&&e.metadata?Xe(e.metadata):``].filter(Boolean).join(`
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{D as n,Ht as r,J as i,X as a,in as o}from"./lib-rPeBMZrn.js";import{n as s,t as c}from"./BaseScanner-8NdoBs7B.js";import{n as l,t as u}from"./useHints-C-TwxM0Y.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as f}from"./resolveChartConfig-CIhClE5R.js";import{t as ee}from"./chartImage-DPGnEuYM.js";import{t as te}from"./vue_ui_graph-B1ACwQj7.js";import{t as ne}from"./BaseZoomControls-ByS_7fmI.js";import{n as re}from"./Title-BliHuXfT.js";import{t as ie}from"./useChartExport-BZts4KFb.js";import{t as ae}from"./tableIntegration-CNoJ1CIY.js";import{n as oe,t as se}from"./annotationSlots-BRR85CqJ.js";import{n as ce,t as le}from"./userOptionsSlots-DYuo-E5m.js";import{Fragment as p,TransitionGroup as ue,computed as m,createBlock as de,createCommentVNode as h,createElementBlock as g,createElementVNode as _,createSlots as fe,createTextVNode as pe,createVNode as me,defineAsyncComponent as he,guardReactiveProps as ge,mergeProps as _e,nextTick as ve,normalizeClass as ye,normalizeProps as be,normalizeStyle as xe,onBeforeUnmount as Se,onMounted as Ce,openBlock as v,ref as y,renderList as b,renderSlot as x,resolveDynamicComponent as we,shallowRef as Te,toDisplayString as S,triggerRef as Ee,unref as C,useSlots as De,watch as w,withCtx as T,withKeys as Oe,withModifiers as ke}from"vue";var Ae={nodes:[[`center`,0,0,18],[`west`,-110,-65,15],[`east`,115,-45,16],[`south`,20,115,14],[`w1`,-190,-90,7],[`w2`,-145,-155,9],[`w3`,-65,-140,6],[`w4`,-195,-5,8],[`w5`,-115,25,6],[`e1`,70,-135,8],[`e2`,160,-130,6],[`e3`,205,-55,9],[`e4`,175,35,7],[`e5`,85,40,6],[`s1`,-65,95,8],[`s2`,-50,185,6],[`s3`,40,205,9],[`s4`,115,150,7],[`s5`,100,90,6]].map(([e,t,n,r])=>({id:`skeleton-${e}`,x:t,y:n,radius:r,fixed:!0})),links:[[`center`,`west`],[`center`,`east`],[`center`,`south`],[`west`,`w1`],[`west`,`w2`],[`west`,`w3`],[`west`,`w4`],[`west`,`w5`],[`w1`,`w2`],[`w2`,`w3`],[`w4`,`w5`],[`east`,`e1`],[`east`,`e2`],[`east`,`e3`],[`east`,`e4`],[`east`,`e5`],[`e1`,`e2`],[`e2`,`e3`],[`e4`,`e5`],[`south`,`s1`],[`south`,`s2`],[`south`,`s3`],[`south`,`s4`],[`south`,`s5`],[`s1`,`s2`],[`s2`,`s3`],[`s4`,`s5`],[`w3`,`e1`],[`w5`,`s1`],[`e5`,`s5`]].map(([e,t])=>({source:`skeleton-${e}`,target:`skeleton-${t}`}))},je={animation:{enabled:!1},layout:{iterations:0},viewport:{initialFit:!0},userOptions:{show:!1},table:{show:!1},tooltip:{show:!1},events:{datapointEnter:null,datapointLeave:null,datapointClick:null},interaction:{zoom:{enabled:!1},pan:{enabled:!1},drag:{enabled:!1}},style:{chart:{backgroundColor:`#99999930`,controls:{show:!1},nodes:{colorByGroup:!1,color:`#BABABA`,stroke:`#CCCCCC`,sizeByValue:!1,sizeByDegree:!1,radius:10,gradient:!1,glow:{show:!1},labels:{show:!1}},links:{color:`#CCCCCC`,glow:!1,arrows:{show:!1,showOnHover:!1},pulses:{show:!1,showOnHover:!1}}}}},Me=(e,t)=>Number.isFinite(e)?e:t;function Ne(e,t=/* @__PURE__ */ new Map,n,i=()=>{}){let a=[],o=/* @__PURE__ */ new Map,s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map;for(let n of e?.nodes||[]){if(!n||![`string`,`number`].includes(typeof n.id)||typeof n.id==`number`&&!Number.isFinite(n.id)||o.has(n.id)){i(`Ignored invalid or duplicate node ID`);continue}let e=t.get(n.id),r=a.length,l=r*2.399963229728653,u=20*Math.sqrt(r);c.has(n.group)||c.set(n.group,c.size);let d={...n,raw:n,x:e?.x??Me(n.x,Math.cos(l)*u),y:e?.y??Me(n.y,Math.sin(l)*u),vx:e?.vx||0,vy:e?.vy||0,pinned:!!n.fixed||!!e?.userPinned,userPinned:e?.userPinned,degree:0,index:r,groupIndex:c.get(n.group)};a.push(d),o.set(n.id,d),s.set(n.id,/* @__PURE__ */ new Set)}let l=[],u=/* @__PURE__ */ new Map;for(let t of e?.links||[]){let e=o.get(t?.source),n=o.get(t?.target);if(!e||!n){i(`Ignored link referencing an unknown node`);continue}e.degree+=1,n.degree+=1,s.get(e.id).add(n.id),s.get(n.id).add(e.id);let r=e.index,a=n.index,c=`${Math.min(r,a)}:${Math.max(r,a)}`,d={raw:t,source:e,target:n,index:l.length,strength:Math.min(3,Math.sqrt(Math.max(0,Me(t.value,1)))),lane:0,direction:r<=a?1:-1};u.has(c)||u.set(c,[]),u.get(c).push(d),l.push(d)}for(let e of u.values())e.forEach((t,n)=>{t.lane=n-(e.length-1)/2,t.selfIndex=n});let d=n.customPalette?.length?n.customPalette:r,f=n.style.chart.nodes,ee=a.map(e=>Math.max(0,Me(f.sizeByDegree?e.degree:e.value,0))),te=Math.max(1,...ee);return a.forEach((e,t)=>{e.radius=Math.max(.5,Me(e.raw.radius,(f.sizeByValue||f.sizeByDegree)&&ee[t]>0?f.minRadius+Math.sqrt(ee[t]/te)*(f.maxRadius-f.minRadius):f.radius)),e.groupColor=f.colorByGroup?d[e.groupIndex%d.length]:f.color,e.color=e.raw.color||e.groupColor||f.color}),{nodes:a,links:l,byId:o,adjacency:s}}function Pe(e,t,n,r,i=0){let a={x:t,y:n,size:r,count:e.length,cx:0,cy:0};if(!e.length)return a;for(let t of e)a.cx+=t.x,a.cy+=t.y;if(a.cx/=e.length,a.cy/=e.length,e.length<=1||i>=20)return a.nodes=e,a;let o=r/2,s=[[],[],[],[]];for(let r of e)s[+(r.x>=t+o)+(r.y>=n+o?2:0)].push(r);a.children=[];for(let e=0;e<4;e++)s[e].length&&a.children.push(Pe(s[e],t+e%2*o,n+(e>1?o:0),o,i+1));return a}function Fe(e,t,n=1){let{nodes:r,links:i}=e;if(!r.length)return 0;let a=1/0,o=1/0,s=-1/0,c=-1/0,l=1;for(let e of r)a=Math.min(a,e.x),o=Math.min(o,e.y),s=Math.max(s,e.x),c=Math.max(c,e.y),l=Math.max(l,e.radius);let u=Pe(r,a,o,Math.max(s-a,c-o,1)+1),d=Math.max(0,-t.chargeStrength)*n*t.strength,f=t.theta*t.theta;function ee(e,t){if(!t.count)return;let n=e.x-t.cx,r=e.y-t.cy,i=n*n+r*r+4,a=e.x>=t.x&&e.x<=t.x+t.size&&e.y>=t.y&&e.y<=t.y+t.size;if(!t.nodes&&!a&&t.size*t.size<f*i)e.vx+=n*d*t.count/i,e.vy+=r*d*t.count/i;else if(t.nodes){for(let n of t.nodes)if(n!==e){let t=e.x-n.x||.01,r=e.y-n.y||.01,i=t*t+r*r+4;e.vx+=t*d/i,e.vy+=r*d/i}}else for(let n of t.children)ee(e,n)}let te=/* @__PURE__ */ new Map;if(t.clusterStrength)for(let e of r){let t=te.get(e.group)||{x:0,y:0,count:0};t.x+=e.x,t.y+=e.y,t.count+=1,te.set(e.group,t)}for(let e of r){ee(e,u),e.vx-=e.x*t.centerStrength*n,e.vy-=e.y*t.centerStrength*n;let r=te.get(e.group);r&&(e.vx+=(r.x/r.count-e.x)*t.clusterStrength*n,e.vy+=(r.y/r.count-e.y)*t.clusterStrength*n)}for(let e of i){if(e.source===e.target)continue;let r=e.target.x-e.source.x,i=e.target.y-e.source.y,a=Math.sqrt(r*r+i*i)||1,o=(a-t.linkDistance)*t.linkStrength*e.strength*n*t.strength/2,s=r/a*o,c=i/a*o,l=Math.max(1,e.source.degree),u=Math.max(1,e.target.degree);e.source.vx+=s/l,e.source.vy+=c/l,e.target.vx-=s/u,e.target.vy-=c/u}let ne=l*2+Math.max(0,t.collisionPadding),re=/* @__PURE__ */ new Map;for(let e of r){let n=Math.floor(e.x/ne),r=Math.floor(e.y/ne);for(let i=n-1;i<=n+1;i+=1){let n=re.get(i);if(n)for(let i=r-1;i<=r+1;i+=1){let r=n.get(i);if(r)for(let n of r){let r=e.x-n.x||.01,i=e.y-n.y||.01,a=r*r+i*i,o=e.radius+n.radius+t.collisionPadding;if(a<o*o){let t=Math.sqrt(a),s=(o-t)/t*.5;e.vx+=r*s,e.vy+=i*s,n.vx-=r*s,n.vy-=i*s}}}}let i=re.get(n);i||re.set(n,i=/* @__PURE__ */ new Map);let a=i.get(r);a||i.set(r,a=[]),a.push(e)}let ie=Math.max(0,t.centerStrength*n-.05),ae=1+t.friction*(ie+2*Math.sqrt(ie)),oe=0;for(let e of r)e.pinned?e.vx=e.vy=0:(e.vx=Math.max(-30,Math.min(30,e.vx*t.friction/ae)),e.vy=Math.max(-30,Math.min(30,e.vy*t.friction/ae)),e.x+=e.vx,e.y+=e.vy,oe+=e.vx*e.vx+e.vy*e.vy);return oe/r.length}function Ie(e,t=e=>e){let n=(e,n)=>`${t(e)} ${t(n)}`,{source:r,target:i}=e;if(r===i){let t=r.radius+16+(e.selfIndex||0)*12,i=r.radius/Math.SQRT2;return`M ${n(r.x-i,r.y-i)} C ${n(r.x-t*2,r.y-t*3)} ${n(r.x+t*2,r.y-t*3)} ${n(r.x+i,r.y-i)}`}let a=i.x-r.x,o=i.y-r.y,s=Math.hypot(a,o)||1,c=e.lane*24*e.direction,l=(r.x+i.x)/2-o/s*c,u=(r.y+i.y)/2+a/s*c,d=Math.hypot(l-r.x,u-r.y)||1,f=Math.hypot(i.x-l,i.y-u)||1;return`M ${n(r.x+(l-r.x)/d*r.radius,r.y+(u-r.y)/d*r.radius)} Q ${n(l,u)} ${n(i.x-(i.x-l)/f*i.radius,i.y-(i.y-u)/f*i.radius)}`}var Le=/* @__PURE__ */ new Map,Re=/* @__PURE__ */ new Map,ze=8;function Be(e,t){return JSON.stringify([t,e.nodes.map(e=>[e.x,e.y,e.vx,e.vy,e.radius,e.pinned,e.groupIndex]),e.links.map(e=>[e.source.index,e.target.index,e.strength])])}function E(e,t){e.nodes.forEach((e,n)=>{[e.x,e.y,e.vx,e.vy]=t[n]})}function Ve(e,t,n,{eager:r=!1}={}){let i=Be(e,t),a=Re.get(i);if(a)return Re.delete(i),Re.set(i,a),E(e,a),n(),()=>{};let o=Le.get(i),s,c={graph:e,complete:n};if(!o){let n=e.nodes.map(e=>({...e}));o={graph:{nodes:n,links:e.links.map(e=>({...e,source:n[e.source.index],target:n[e.target.index]}))},config:{...t},listeners:/* @__PURE__ */ new Set,frame:null,iteration:0},Le.set(i,o);let r=()=>{o.frame=null;let e=performance.now(),t=1/0;for(;o.iteration<o.config.iterations&&(t=Fe(o.graph,o.config,Math.max(.015,1-o.iteration/Math.max(1,o.config.iterations))),o.iteration++,!(o.iteration>30&&t<.002||performance.now()-e>=8)););if(o.iteration>=o.config.iterations||o.iteration>30&&t<.002){let e=o.graph.nodes.map(e=>[e.x,e.y,e.vx,e.vy]);Le.delete(i),Re.set(i,e),Re.size>ze&&Re.delete(Re.keys().next().value);let t=[...o.listeners];o.listeners.clear();for(let n of t)E(n.graph,e),n.complete()}else o.frame=requestAnimationFrame(r)};s=r}return o.listeners.add(c),s&&(r?s():o.frame=requestAnimationFrame(s)),()=>{o.listeners.delete(c),!o.listeners.size&&Le.get(i)===o&&(o.frame!==null&&cancelAnimationFrame(o.frame),Le.delete(i))}}function He(e,t,n){return t!==null&&(e.source.id===t||e.target.id===t||!!(n?.has(e.source.id)&&n.has(e.target.id)))}function Ue(e,t,n=null,r=1,i){let a=/* @__PURE__ */ new Map;for(let o of e){let e=t.colorBySource?o.link.source.color:t.color||o.color,s=n!==null&&!He(o.link,n,i),c=t.opacity*(s?r:1),l=JSON.stringify([e,c]);a.has(l)||a.set(l,{key:l,color:e,opacity:c,items:[]}),a.get(l).items.push(o)}return[...a.values()]}function We(e,t,n,r,i=!1){let a=e.length,o=n*100/Math.max(1,r)*(i?-1:1),s=a>0?((t+o/a)%1+1)%1:0,c=s*a,l=e.points;for(let e=1;e<l.length;e++){let t=l[e-1],n=l[e],r=Math.hypot(n.x-t.x,n.y-t.y);if(c<=r&&r>0){let e=c/r;return{progress:s,x:t.x+(n.x-t.x)*e,y:t.y+(n.y-t.y)*e}}c-=r}return{progress:s,...l[l.length-1]}}var D=e=>Math.round(e*100)/100;function Ge(e,t){let n=Ie(e,D),r,i;function a(){let t=n.match(/-?\d*\.?\d+(?:e[+-]?\d+)?/gi).map(Number),r=n.includes(` C `),i=[],a=r?24:e.lane?16:1;for(let e=0;e<=a;e++){let n=e/a,o=1-n;i.push(r?{x:o*o*o*t[0]+3*o*o*n*t[2]+3*o*n*n*t[4]+n*n*n*t[6],y:o*o*o*t[1]+3*o*o*n*t[3]+3*o*n*n*t[5]+n*n*n*t[7]}:{x:o*o*t[0]+2*o*n*t[2]+n*n*t[4],y:o*o*t[1]+2*o*n*t[3]+n*n*t[5]})}return i}let o=e.raw.color||t.color,s=e.raw.width??(t.widthByValue?Math.min(t.maxWidth,t.width*Math.sqrt(Math.max(0,e.raw.value??1))):t.width),c=!!(e.raw.directed||t.arrows.show||t.arrows.showOnHover),l=``;if(c){let e=n.match(/-?\d*\.?\d+(?:e[+-]?\d+)?/gi).map(Number),t=e.at(-2),r=e.at(-1),i=t-e.at(-4),a=r-e.at(-3),o=Math.hypot(i,a)||1,c=i/o,u=a/o,d=6*s,f=t-c*d,ee=r-u*d;l=`M ${D(t)} ${D(r)} L ${D(f-u*d/2)} ${D(ee+c*d/2)} L ${D(f+u*d/2)} ${D(ee-c*d/2)} Z`}return{link:e,d:n,arrowD:l,get points(){return r||=a()},get length(){if(i===void 0){let e=this.points;i=0;for(let t=1;t<e.length;t++)i+=Math.hypot(e[t].x-e[t-1].x,e[t].y-e[t-1].y)}return i},color:o,width:s,directed:c,key:JSON.stringify([o,s,c])}}function Ke(e,t=()=>!0){let n=/* @__PURE__ */ new Map;for(let r of e){if(!t(r.link))continue;let e=n.get(r.key);e||(e={key:r.key,color:r.color,width:r.width,directed:r.directed,paths:[],arrows:[]},n.set(r.key,e)),e.paths.push(r.d),r.arrowD&&e.arrows.push(r.arrowD)}return[...n.values()].map(({paths:e,arrows:t,...n})=>({...n,d:e.join(` `),arrowD:t.join(` `)}))}function qe(e){let{x:t,y:n,radius:r}=e;return`M ${D(t-r)} ${D(n)} a ${D(r)} ${D(r)} 0 1 0 ${D(r*2)} 0 a ${D(r)} ${D(r)} 0 1 0 ${D(-r*2)} 0 Z`}function Je(e,t=()=>!0){let n=/* @__PURE__ */ new Map;for(let r of e)t(r)&&(n.has(r.color)||n.set(r.color,[]),n.get(r.color).push(qe(r)));return[...n].map(([e,t])=>({color:e,d:t.join(` `)}))}function O(e,t,n){let r=n.x-t.x,i=n.y-t.y,a=r*r+i*i,o=a?Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*i)/a)):0;return(e.x-t.x-o*r)**2+(e.y-t.y-o*i)**2}function Ye(e,t,n=48){let r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=0;function o(e,t,n,r){let i=`${t}:${n}`;e.has(i)||e.set(i,[]),e.get(i).push(r)}for(let t of e)for(let e=Math.floor((t.x-t.radius)/n);e<=Math.floor((t.x+t.radius)/n);e++)for(let i=Math.floor((t.y-t.radius)/n);i<=Math.floor((t.y+t.radius)/n);i++)o(r,e,i,t);let s=!1;function c(){for(let e of t){a=Math.max(a,e.width);for(let t=1;t<e.points.length;t++){let r=e.points[t-1],a=e.points[t],s=Math.max(1,Math.ceil(Math.max(Math.abs(a.x-r.x),Math.abs(a.y-r.y))/n)),c={a:r,b:a,item:e},l;for(let e=0;e<=s;e++){let t=Math.floor((r.x+(a.x-r.x)*e/s)/n),u=Math.floor((r.y+(a.y-r.y)*e/s)/n),d=`${t}:${u}`;d!==l&&o(i,t,u,c),l=d}}}s=!0}function l(e,t,r){let i=/* @__PURE__ */ new Set;for(let a=Math.floor((t.x-r)/n);a<=Math.floor((t.x+r)/n);a++)for(let o=Math.floor((t.y-r)/n);o<=Math.floor((t.y+r)/n);o++)for(let t of e.get(`${a}:${o}`)||[])i.add(t);return i}return{nodeAt(e,t=0){let n=null;for(let i of l(r,e,t))(e.x-i.x)**2+(e.y-i.y)**2<=(i.radius+t)**2&&(!n||i.index>n.index)&&(n=i);return n},linkAt(e,t=4){s||c();let n=null,r=1/0;for(let o of l(i,e,t+a/2)){let i=O(e,o.a,o.b);i<=(t+o.item.width/2)**2&&i<r&&(r=i,n=o.item.link)}return n}}}function Xe(e){if(e==null)return``;try{return JSON.stringify(e)}catch{return String(e)}}function Ze(e,t){return{nodes:{head:[t.id,t.label,t.group,t.value,t.connections,t.metadata],body:e.nodes.map(e=>[e.id,{name:e.label??e.id,color:e.color},e.group??``,e.value??``,e.degree,Xe(e.metadata)])},links:{head:[t.source,t.target,t.label,t.value,t.directed,t.metadata],body:e.links.map(e=>[e.raw.source,e.raw.target,e.raw.label??``,e.raw.value??``,!!e.raw.directed,Xe(e.raw.metadata)])}}}function Qe(e,t,r){let i=[[t.text],[t.subtitle?.text||``],[],[r.nodes],e.nodes.head,...e.nodes.body.map(e=>e.map(e=>e&&typeof e==`object`?e.name:e)),[],[r.links],e.links.head,...e.links.body];return n(i.map(e=>e.map(e=>`"${String(e??``).replaceAll(`"`,`""`)}"`)))}var k=/* @__PURE__ */ e({default:()=>qt}),$e=[`id`],et={key:2,class:`vue-ui-graph-title`},tt=[`viewBox`,`aria-label`,`aria-busy`,`aria-describedby`,`tabindex`,`aria-activedescendant`],nt=[`id`],rt=[`id`],it=[`stdDeviation`],at={in:`blur`,result:`halo`},ot=[`slope`],st=[`id`],ct=[`stop-color`],lt=[`stop-color`],ut=[`fill`],dt=[`transform`],ft=[`filter`],pt=[`d`,`stroke`,`stroke-width`,`opacity`],mt=[`d`,`fill`,`opacity`],ht=[`opacity`],gt=[`d`,`stroke`,`stroke-width`],_t=[`d`,`fill`],vt=[`d`,`fill`,`opacity`],yt=[`fill`,`opacity`],bt={key:0,class:`vue-ui-graph-nodes vue-ui-graph-nodes-batched`,"pointer-events":`none`},xt=[`stroke`,`stroke-width`,`filter`],St=[`d`,`fill`,`opacity`],Ct=[`d`,`fill`,`opacity`],wt=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`opacity`],Tt=[`id`,`aria-label`,`aria-pressed`,`aria-describedby`],Et=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`opacity`],Dt=[`cx`,`cy`,`r`,`stroke`],Ot={key:1,class:`vue-ui-graph-nodes`},kt=[`data-node-index`,`id`,`transform`,`opacity`,`aria-label`,`aria-pressed`,`aria-describedby`,`onPointerenter`,`onFocus`,`onPointerdown`,`onClick`,`onKeydown`],At={key:0},jt=[`r`,`fill`,`stroke`,`stroke-width`,`filter`],Mt=[`r`,`fill`],Nt={class:`vue-ui-graph-labels`,"pointer-events":`none`,"aria-hidden":`true`},Pt=[`stroke`,`stroke-width`,`x`,`y`,`font-size`,`fill`,`opacity`,`innerHTML`],Ft={key:4,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},It={key:6,dir:`auto`},Lt={key:7,class:`vue-ui-graph-table-container`},Rt=[`id`],zt={class:`vue-ui-graph-tooltip-row`},Bt={key:0,class:`vue-ui-graph-tooltip-marker`,viewBox:`0 0 14 14`,"aria-hidden":`true`},Vt=[`fill`],Ht={key:0,class:`vue-ui-graph-tooltip-row`},Ut={class:`vue-ui-graph-tooltip-marker`,viewBox:`0 0 14 14`,"aria-hidden":`true`},Wt=[`fill`],Gt={key:1},Kt={key:2,class:`vue-ui-graph-tooltip-metadata`},qt=/*#__PURE__*/ d({__name:`vue-ui-graph`,props:{dataset:{type:Object,default:()=>({nodes:[],links:[]})},config:{type:Object,default:()=>({})}},emits:[`copyAlt`,`selectNode`,`hoverNode`,`zoom`,`zoomReset`,`layoutStart`,`layoutEnd`],setup(e,{expose:n,emit:r}){let d=he(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Me=he(()=>import(`./Tooltip-C1q0Qoh7.js`)),Pe=he(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Ie=he(()=>import(`./DataTable-0Vv-aGHD.js`)),Le=he(()=>import(`./vue-ui-accordion-S3nRtTU-.js`).then(e=>e.n)),Re=he(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),ze=he(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),Be=e,E=r,D=y(a()),O=y(null),k=y(null),qt=y(!1),A=y(!1),Jt=m(()=>f(Be.config||{},t().vue_ui_graph,te)),j=y(Jt.value);l({config:()=>j.value,dataset:()=>Be.dataset,component:`VueUiGraph`,rules:[u.noHint]});let Yt=m(()=>o({defaultConfig:o({defaultConfig:Jt.value,userConfig:je}),userConfig:Be.config?.skeletonConfig??{}})),{loading:M,FINAL_DATASET:Xt}=s({config:m(()=>Be.config),dataset:m(()=>Be.dataset?.nodes?.length?Be.dataset:{}),skeletonDataset:Be.config?.skeletonDataset??Ae,skeletonConfig:Yt.value,FINAL_CONFIG:j,prepareConfig:()=>Jt.value});w([Jt,Yt,M],()=>{j.value=M.value?Yt.value:Jt.value});let Zt=De(),N=m(()=>j.value.style.chart),Qt=y(!1),P=y(!1),$t=m(()=>M.value||Qt.value||P.value),en=m(()=>j.value.interaction.zoom.enabled&&!$t.value);function tn(){Qt.value=!Qt.value,Qt.value&&(X(),H&&H.type!==`node`&&(gn=H.moved,H=null,W.clear()))}let F=Te({nodes:[],links:[],byId:/* @__PURE__ */ new Map,adjacency:/* @__PURE__ */ new Map}),nn=Te(F.value),I=y(800),L=y(600),R=y({x:400,y:300,k:1}),z=Te({x:400,y:300,k:1,width:800,height:600}),rn=m(()=>R.value.k/z.value.k);function an(){U.value||=(z.value={...R.value,width:I.value,height:L.value},!0)}let B=y(null),on=y(!1),V=y(null),sn=y(null),cn=y(`pointer`),ln=null,un=null,dn,fn,pn=!1,mn=0,hn=!1,gn=!1,H=null,_n=!1,vn=!0,yn=!1,U=y(!1),W=/* @__PURE__ */ new Map,bn=m(()=>B.value??(j.value.interaction.highlight.keepSelection?V.value:null)),xn=m(()=>F.value.adjacency.get(bn.value)||/* @__PURE__ */ new Set),Sn=m(()=>F.value.nodes.length<=j.value.performance.effectThreshold),G=m(()=>!Zt.node&&F.value.nodes.length>j.value.performance.nodeBatchThreshold&&!(Sn.value&&N.value.nodes.gradient)),Cn=m(()=>F.value.links.map(e=>Ge(e,N.value.links))),wn=m(()=>Ke(Cn.value)),Tn=m(()=>{let e=N.value.links.pulses;return A.value?[]:e.showOnHover?B.value===null?[]:Cn.value.filter(({link:e})=>He(e,B.value,j.value.interaction.highlight.neighbors?F.value.adjacency.get(B.value):void 0)):e.show?Cn.value:[]}),En=y(null),Dn=/* @__PURE__ */ new Map,On=/* @__PURE__ */ new Map,kn=null,An=null,jn=m(()=>Ue(Tn.value,N.value.links.pulses,In.value?K.value:null,Ln.value,j.value.interaction.highlight.neighbors?Fn.value:void 0));function Mn(e){let t=/* @__PURE__ */ new Set,n=N.value.links.pulses;for(let r of jn.value){let i=Dn.get(r.key);if(!i)continue;let a=[];for(let i of r.items){let r=i.link.index;t.add(r);let o=We(i,On.get(r)??r*.61803398875%1,e,n.duration,n.reverse);On.set(r,o.progress),a.push(qe({...o,radius:n.radius}))}i.setAttribute(`d`,a.join(` `))}for(let e of On.keys())t.has(e)||On.delete(e)}function Nn(e){kn=null;let t=An===null?0:Math.min(50,e-An);An=e,Mn(t),En.value&&jn.value.length?kn=requestAnimationFrame(Nn):An=null}let Pn=m(()=>G.value?Je(F.value.nodes):[]),K=y(null);w(bn,e=>{e!==null&&(K.value=e)},{immediate:!0});let Fn=m(()=>F.value.adjacency.get(K.value)||/* @__PURE__ */ new Set),In=m(()=>j.value.interaction.highlight.enabled&&bn.value!==null),Ln=m(()=>In.value?j.value.interaction.highlight.dimOpacity:1),Rn=m(()=>K.value===null?[]:Ke(Cn.value,e=>He(e,K.value,j.value.interaction.highlight.neighbors?Fn.value:void 0))),zn=m(()=>{if(!N.value.links.arrows.showOnHover||B.value===null)return[];let e=B.value,t=F.value.adjacency.get(e)||/* @__PURE__ */ new Set;return Ke(Cn.value,n=>He(n,e,j.value.interaction.highlight.neighbors?t:void 0))}),Bn=m(()=>!G.value||K.value===null?[]:Je(F.value.nodes,e=>e.id===K.value||j.value.interaction.highlight.neighbors&&Fn.value.has(e.id)));w([jn,En,()=>N.value.links.pulses.radius],()=>{En.value&&jn.value.length?(Mn(0),kn===null&&(kn=requestAnimationFrame(Nn))):(kn!==null&&cancelAnimationFrame(kn),kn=null,An=null,On.clear())},{flush:`post`});function Vn(e){let t=e*j.value.interaction.highlight.dimOpacity;return In.value?(e-t)/Math.max(1e-6,1-t):0}let Hn=m(()=>F.value.byId.get(V.value)),q=m(()=>F.value.byId.get(B.value)),Un=m(()=>{let e=F.value.nodes.filter((e,t)=>cr(e,t));if(!G.value)return e;let t=Math.max(1,N.value.nodes.labels.maxCount);return e.sort((e,t)=>Number(t.id===bn.value||t.id===V.value)-Number(e.id===bn.value||e.id===V.value)).slice(0,t)}),J=y(null),Wn=y(!1),Gn=null,Kn=null,qn=null,Jn=null;function Yn(e){if(!U.value)return{};let t=Hr(e),n=R.value,r={x:(t.x-n.x)/n.k,y:(t.y-n.y)/n.k};return Kn!==F.value.nodes&&(Gn=Ye(F.value.nodes,[]),Kn=F.value.nodes),{node:Gn.nodeAt(r,2/n.k)}}function Xn(e){if(P.value||H||!U.value)return;_n=!1;let t=e.target?.closest?.(`.vue-ui-graph-node`),n=(!G.value&&t?F.value.nodes[Number(t.dataset.nodeIndex)]:null)||Yn(e).node;n?(J.value=null,B.value===n.id?Gr(e,n):Z(n,e)):B.value!==null&&Z(null)}function Zn(e){P.value||(W.has(e.pointerId)?Jr(e):(Jn=e,qn===null&&(qn=requestAnimationFrame(()=>{qn=null,Xn(Jn),Jn=null}))))}function Qn(){qn!==null&&cancelAnimationFrame(qn),qn=null,Jn=null,H||Z(null)}function $n(e){if(G.value){let t=Yn(e);if(t.node){qr(e,t.node);return}}qr(e)}function er(e){if(P.value)return;if(gn){gn=!1;return}let t=Yn(e);G.value&&t.node?Br(t.node):Xr()}function tr(){if(!vn||P.value||!F.value.nodes.length||_n)return;Wn.value=!0;let e=F.value.byId.get(J.value)||Hn.value||F.value.nodes[0];J.value=e.id,Z(e)}function nr(e){if(P.value)return;if([`ArrowRight`,`ArrowLeft`,`ArrowUp`,`ArrowDown`,`Home`,`End`,`Enter`,` `].includes(e.key)&&(_n=!1,Wn.value=!0),e.key===`Escape`){e.preventDefault(),e.stopPropagation(),J.value=null,Z(null),Vr();return}let t=F.value.nodes;if(!t.length)return;let n=Math.max(0,t.findIndex(e=>e.id===J.value));if([`ArrowRight`,`ArrowDown`,`ArrowLeft`,`ArrowUp`,`Home`,`End`].includes(e.key)){if(e.preventDefault(),e.key===`Home`)n=0;else if(e.key===`End`)n=t.length-1;else{let r=t[n],i=e.key===`ArrowRight`||e.key===`ArrowLeft`,a=e.key===`ArrowRight`||e.key===`ArrowDown`?1:-1,o=1/0,s=null;for(let e of t){let t=e.x-r.x,n=e.y-r.y;if((i?t:n)*a<=0)continue;let c=t*t+n*n;c<o&&(o=c,s=e)}if(!s){let e=1/0,n=1/0;for(let o of t){if(o===r)continue;let t=(i?o.x:o.y)*a,c=Math.abs(i?o.y-r.y:o.x-r.x);(t<e||t===e&&c<n)&&(e=t,n=c,s=o)}}s&&(n=s.index)}J.value=t[n].id,Z(t[n])}else(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),Br(t[n]))}let Y=m(()=>F.value.byId.get(B.value)),rr=m(()=>({datapoint:Y.value?.raw,node:Y.value?.raw,connections:Y.value?.degree,config:j.value})),ir=m(()=>{let e=F.value.byId.get(B.value),t=k.value?.getBoundingClientRect();if(!e||!t)return{x:0,y:0};let n={x:e.x*R.value.k+R.value.x,y:e.y*R.value.k+R.value.y},r=k.value.getScreenCTM?.();return r?{x:r.a*n.x+r.c*n.y+r.e,y:r.b*n.x+r.d*n.y+r.f}:{x:t.left+(e.x*R.value.k+R.value.x)*(t.width/I.value),y:t.top+(e.y*R.value.k+R.value.y)*(t.height/L.value)}}),ar=m(()=>{let e=Y.value;return e?typeof j.value.tooltip.customFormat==`function`?String(j.value.tooltip.customFormat(rr.value)):[e.label??e.id,e.group==null?``:`Group: ${e.group}`,e.value==null?``:`Value: ${e.value}`,`Connections: ${e.degree}`,j.value.tooltip.showMetadata&&e.metadata?Xe(e.metadata):``].filter(Boolean).join(`
|
|
2
2
|
`):``});function or(e){return bn.value===null||e===bn.value||j.value.interaction.highlight.neighbors&&xn.value.has(e)}function sr(e){return j.value.interaction.highlight.enabled&&!or(e)?j.value.interaction.highlight.dimOpacity:1}function cr(e,t){let n=N.value.nodes.labels;return!n.show||R.value.k<n.minZoom?!1:n.selectedOnly?e.id===V.value:e.id===bn.value||bn.value!==null&&xn.value.has(e.id)?!0:!n.hoverOnly&&!n.selectedOnly&&t%Math.max(1,Math.ceil(F.value.nodes.length/Math.max(1,n.maxCount)))===0}function lr(e){let{labels:t,hover:n,selected:r,strokeWidth:i}=N.value.nodes,a=Math.max(5,i/2,n.strokeWidth/2,r.strokeWidth/2),o=e.radius+a+t.strokeWidth/2+t.fontSize*.6,s=(ur(e).split(`
|
|
3
3
|
`).length-1)*t.fontSize;return(t.position===`top`?-o-s:o)+t.offsetY}function ur(e){let t=N.value.nodes.labels.maxLength;return String(e.label??e.id).replace(/\r\n?/g,`
|
|
4
4
|
`).split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Qt as a,Tt as o,X as s,at as c,b as l,i as u,in as d,nt as f,on as p,pt as ee,r as te,t as ne,yt as re,zt as ie}from"./lib-rPeBMZrn.js";import{n as ae,t as oe}from"./BaseScanner-8NdoBs7B.js";import{n as se,t as ce}from"./useHints-C-TwxM0Y.js";import{t as le}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ue}from"./useNestedProp-DnGoh-XS.js";import{t as de}from"./useThemeCheck-BKNRbGeC.js";import{t as fe}from"./img-D4RQwASc.js";import{n as pe}from"./Title-BliHuXfT.js";import{t as me}from"./useChartExport-BZts4KFb.js";import{t as he}from"./tableIntegration-CNoJ1CIY.js";import{n as ge,t as _e}from"./annotationSlots-BRR85CqJ.js";import{n as ve,t as ye}from"./userOptionsSlots-DYuo-E5m.js";import{t as be}from"./useTimeLabels-Das5O74F.js";import{t as xe}from"./usePrinter-DVf3YcG5.js";import{t as Se}from"./useSvgLabelLayout-42Kats14.js";import{t as Ce}from"./useTimeLabelCollider-BTybMUFi.js";import{t as we}from"./useResponsive-CENUxfEL.js";import{t as Te}from"./vue-ui-accordion-S3nRtTU-.js";import{t as Ee}from"./A11yDataTable-DWNlWXzs.js";import{t as De}from"./useUserOptionState-CXlFnwPv.js";import{t as Oe}from"./useChartAccessibility-DOMuYJfm.js";import{t as ke}from"./useTableResponsive-uSz_qZOB.js";import{t as Ae}from"./vue_ui_heatmap-kh5NMmwf.js";import{Fragment as m,computed as h,createBlock as je,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createSlots as Me,createTextVNode as Ne,createVNode as Pe,defineAsyncComponent as Fe,guardReactiveProps as y,mergeProps as Ie,nextTick as Le,normalizeClass as Re,normalizeProps as b,normalizeStyle as x,onBeforeUnmount as ze,onMounted as Be,openBlock as S,reactive as Ve,ref as C,renderList as w,renderSlot as T,resolveDynamicComponent as He,shallowRef as Ue,toDisplayString as E,toRefs as We,unref as D,useCssVars as Ge,vShow as Ke,watch as qe,watchEffect as Je,withCtx as O,withDirectives as Ye,withKeys as Xe}from"vue";var Ze={mounted(e,t){Qe(e,t.value)},updated(e,t){Qe(e,t.value)}};function Qe(e,{cellWidth:t,cellHeight:n,maxFontSize:r,minFontSize:i,index:a,reportRotation:o,reportHide:s,rotateAll:c,hideAll:l}){e.removeAttribute(`transform`),e.removeAttribute(`visibility`);let u=!1,d=!1;e.setAttribute(`font-size`,r);let f=e.getComputedTextLength();if(f<=t)o(a,!1),s(a,!1);else{let n=Math.floor(r*t/f);n>=i?(e.setAttribute(`font-size`,n),o(a,!1),s(a,!1)):(o(a,!0),s(a,!1),u=!0)}if(c&&(u=!0),u){e.setAttribute(`font-size`,r);let t=e.getBBox(),o=t.x+t.width/2,c=t.y+t.height/2;e.setAttribute(`transform`,`rotate(-90 ${o} ${c})`);let l=e.getBBox().width;if(l<=n)s(a,!1);else{let t=Math.floor(r*n/l);t>=i?(e.setAttribute(`font-size`,t),s(a,!1)):(d=!0,s(a,!0))}}(l||d)&&e.setAttribute(`visibility`,`hidden`)}var $e=/* @__PURE__ */ e({default:()=>jt}),et=[`id`],tt=[`id`],nt=[`xmlns`,`aria-describedby`,`viewBox`],rt=[`x`,`y`,`width`,`height`],it=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`],at=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`],ot=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`],st=[`data-a11y-cell-id`,`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`,`aria-label`,`onMouseover`,`onMouseout`,`onClick`],ct=[`font-size`,`font-weight`,`fill`,`x`,`y`],lt=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`],ut=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`],dt=[`font-size`,`fill`,`x`,`y`,`font-weight`],ft=[`font-size`,`fill`,`x`,`y`,`font-weight`],pt=[`text-anchor`,`font-size`,`fill`,`font-weight`,`transform`],mt=[`text-anchor`,`font-size`,`fill`,`font-weight`,`transform`],ht={key:6},gt=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`],_t={key:7},vt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],yt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],bt={class:`vue-ui-heatmap-legend-gauge-right`},xt=[`data-value`],St={class:`vue-ui-heatmap-gauge-indicator-value`},Ct={key:1,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},wt={key:5,class:`vue-data-ui-watermark`},Tt={class:`vue-ui-data-table`},Et={key:0},Dt=[`data-cell`],Ot={style:{display:`flex`,"align-items":`center`,gap:`5px`,"justify-content":`flex-end`,width:`100%`,"padding-right":`3px`}},kt=[`data-cell`],At={style:{display:`flex`,"align-items":`center`,gap:`5px`,"justify-content":`flex-end`,width:`100%`,"padding-right":`3px`}},jt=/*#__PURE__*/ le({__name:`vue-ui-heatmap`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`copyAlt`],setup(e,{expose:le,emit:Qe}){Ge(e=>({v82e8e2ac:e.tdo}));let $e=Fe(()=>import(`./Tooltip-C1q0Qoh7.js`)),jt=Fe(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Mt=Fe(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Nt=Fe(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Pt=Fe(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),Ft=Fe(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_heatmap:It}=t(),{isThemeValid:Lt,warnInvalidTheme:Rt}=de(),k=e,zt=Qe,Bt=h({get(){return!!k.dataset&&k.dataset.length},set(e){return e}}),Vt=C(s()),A=C(null),Ht=C(!1),Ut=C(``),Wt=C(void 0),j=C(null),Gt=C(0),Kt=C(null),qt=C(0),Jt=C(null),Yt=C(null),Xt=C(null),Zt=C(null),Qt=C(null),$t=C(null),en=C(null),tn=C(null),nn=C(null),rn=C(null),an=C(null),on=C(null),sn=Ue(null),M=C(null),cn=C(null),ln=C({x:0,y:0}),un=C(`pointer`),dn=C(!1),N=C(xn()),P=h(()=>N.value.style.layout.cells),F=h(()=>N.value.style.layout.dataLabels),I=h(()=>N.value.style.layout);se({config:()=>N.value,dataset:()=>k.dataset,component:`VueUiHeatmap`,rules:[ce.emptyArray,ce.noHint]});let fn=h(()=>N.value.userOptions.useCursorPointer);function pn(){let e=Array(7).fill(`_`),t=[],n=e.length;for(let r=0;r<n;r+=1){let n=[];for(let e=0;e<14;e+=1)n.push(r+e*2);t.push({name:`${e[r]}`,values:n})}return t}let mn=h(()=>d({defaultConfig:{table:{show:!1},userOptions:{show:!1},style:{backgroundColor:`#99999930`,layout:{cells:{colors:{hot:`#999999`,cold:`#CACACA`},columnTotal:{value:{show:!1}},rowTotal:{value:{show:!1}},value:{show:!1}},dataLabels:{xAxis:{show:!1},yAxis:{show:!1}}}}},userConfig:N.value.skeletonConfig??{}})),{loading:hn,FINAL_DATASET:L,manualLoading:gn}=ae({...We(k),FINAL_CONFIG:N,prepareConfig:xn,callback:()=>{Promise.resolve().then(async()=>{await Le(),A.value&&p(A.value,{delta:.1,delay:250})})},skeletonDataset:k.config?.skeletonDataset??pn(),skeletonConfig:d({defaultConfig:N.value,userConfig:mn.value})}),{userOptionsVisible:_n,setUserOptionsVisibility:vn,keepUserOptionState:yn}=De({config:N.value}),{svgRef:R}=Oe({config:N.value.style.title});function bn(e){vn(e)}function xn(){let e=ue({userConfig:k.config,defaultConfig:It}),t={},n=e.theme;if(n){if(!Lt.value(e))Rt(e),t=e;else{let r=ue({userConfig:Ae[n]||k.config,defaultConfig:e});t={...ue({userConfig:k.config,defaultConfig:r})}}}else t=e;return t}let Sn=a(k.config);qe(()=>k.config,(e,t)=>{let n=a(e),r=n!==Sn;Sn=n;let i=xn();r?(hn.value||(N.value=i),_n.value=!N.value.userOptions.showOnChartHover,Mn(),qt.value+=1,z.value.showTable=N.value.table.show,z.value.showTooltip=N.value.style.tooltip.show,N.value.responsive||(Nn.value=I.value.width,Pn.value=I.value.height)):(N.value.style.tooltip=i.style.tooltip,z.value.showTooltip=N.value.style.tooltip.show)},{deep:!0}),qe(()=>k.dataset,e=>{Array.isArray(e)&&e.length>0&&(gn.value=!1),Mn()},{deep:!0});let{isPrinting:Cn,isImaging:wn,generatePdf:Tn,generateImage:En}=xe({elementId:`heatmap__${Vt.value}`,fileName:N.value.style.title.text||`vue-ui-heatmap`,options:N.value.userOptions.print}),Dn=h(()=>N.value.userOptions.show&&!N.value.style.title.text),z=C({showTable:N.value.table.show,showTooltip:N.value.style.tooltip.show});qe(N,()=>{z.value={showTable:N.value.table.show,showTooltip:N.value.style.tooltip.show}},{immediate:!0});let On=h(()=>N.value.table.responsiveBreakpoint),B=C(null),kn=C(!1),An=0,jn=h(()=>N.value.debug);function Mn(){ie(k.dataset)&&(c({componentName:`VueUiHeatmap`,type:`dataset`,debug:jn.value}),Bt.value=!1,gn.value=!0),ie(k.dataset)||(gn.value=N.value.loading),N.value.responsive&&(B.value&&(sn.value&&B.value.unobserve(sn.value),B.value.disconnect()),B.value=new ResizeObserver(()=>{let{width:e,height:t}=we({chart:A.value,title:N.value.style.title.text?Zt.value:null,source:on.value,noTitle:Qt.value});cancelAnimationFrame(An),An=requestAnimationFrame(()=>{Nn.value=e,Pn.value=t,kn.value=!0})}),sn.value=A.value.parentNode,B.value.observe(sn.value))}ze(()=>{cancelAnimationFrame(An),B.value&&(sn.value&&B.value.unobserve(sn.value),B.value.disconnect())}),Be(()=>{Mn()});let V=h(()=>Math.max(...L.value.flatMap(e=>(e.values||[]).length))),Nn=C(I.value.width),Pn=C(I.value.height),H=h(()=>({width:Math.max(10,Nn.value),height:Math.max(10,Pn.value)})),{metrics:Fn,ready:In,update:Ln}=Se({svgRef:R,canMeasure:()=>(!N.value.responsive||kn.value)&&(!(F.value.xAxis.show||P.value.columnTotal.value.show)||Gn.value)&&(!F.value.yAxis.show||Wn.value),initialMetrics:{topLabelsHeight:0,leftLabelsWidth:0,xAxisSumLabelsHeight:0},measure:e=>({topLabelsHeight:e(nn.value).height,leftLabelsWidth:e(en.value).width,xAxisSumLabelsHeight:e(rn.value).height})}),Rn=h(()=>Fn.value.topLabelsHeight),zn=h(()=>Fn.value.leftLabelsWidth),Bn=h(()=>Fn.value.xAxisSumLabelsHeight),U=h(()=>Math.min(H.value.height,H.value.width)/1e3*P.value.spacing),W=h(()=>{let e=0;N.value.style.legend.show&&(e=N.value.style.legend.width);let t=I.value.padding,n=F.value.xAxis.fontSize/3,r=F.value.xAxis.fontSize/2,i=H.value.height-t.top-t.bottom-Rn.value-n,a=H.value.width/60,o={x:U.value*V.value,y:U.value*((L.value||[]).length+1)},s=H.value.width-t.left-t.right-o.x-a*2-2-e-zn.value,c=i-a-o.y-Bn.value-r-P.value.columnTotal.value.offsetY,l={width:Math.max(3,s/V.value),height:Math.max(3,c/(L.value.length??1))};return{top:t.top+Rn.value+a+n,topLabelsHeight:Rn.value,sumCellXHeight:a,height:c,left:t.left+zn.value+a/2,right:t.right-e,bottom:H.value.height-t.bottom-Bn.value,width:s,cellSize:l}}),Vn=h(()=>Math.max(...L.value.flatMap(e=>e.values))),Hn=h(()=>Math.min(...L.value.flatMap(e=>e.values))),G=h(()=>P.value.scaleMax===null?Vn.value:P.value.scaleMax),K=h(()=>P.value.scaleMin===null?Hn.value:P.value.scaleMin),q=h(()=>{let e=L.value.flatMap(e=>e.values);return e.reduce((e,t)=>e+t,0)/e.length}),Un=C([]),Wn=C(!1),Gn=C(!1),Kn=C([]),qn=0;Je(()=>{let e=++qn;(async()=>{let t=F.value.yAxis,n=await be({values:t.values.length?t.values:L.value.map(e=>e.name),maxDatapoints:L.value.length,formatter:t.datetimeFormatter,start:0,end:L.value.length});e===qn&&(Un.value=n,Wn.value=!0)})()});let Jn=0;Je(()=>{let e=++Jn;(async()=>{let t=F.value.xAxis,n=await be({values:t.values,maxDatapoints:V.value,formatter:t.datetimeFormatter,start:0,end:V.value});e===Jn&&(Kn.value=n,Gn.value=!0)})()});function J(e,t,n){if(t===n)return P.value.colors.hot;let r=Math.min(Math.max(e,t),n);return o(P.value.colors.cold,P.value.colors.hot,t,n,r)}function Yn(e){if([void 0,null].includes(e))return 0;let t=K.value,n=G.value;if(t===n)return 0;let r=(e-t)/(n-t);return(1-Math.min(Math.max(r,0),1))*100}let Y=h(()=>{let e=Un.value.map(e=>e.text),t=Kn.value.map(e=>e.text),n=P.value.scaleMin!==null||P.value.scaleMax!==null,r=L.value.map(e=>e.values.reduce((e,t)=>e+t,0)),i=L.value.map(e=>Math.max(1,e.values.length)),a=Math.max(...r),o=Math.min(...r),s=[],c=[];for(let e=0;e<V.value;e+=1){let t=0,n=0;L.value.forEach(r=>{e<r.values.length&&(t+=r.values[e]||0,n+=1)}),s.push(t),c.push(Math.max(1,n))}let l=Math.max(...s),u=Math.min(...s);return{yTotals:r.map((e,t)=>{let r=isNaN(e/a)?0:e/a,s=i[t],c=K.value*s,l=G.value*s;return{total:e,proportion:r,color:n?J(e,c,l):J(e,o,a)}}),xTotals:s.map((e,t)=>{let r=isNaN(e/l)?0:e/l,i=c[t],a=K.value*i,o=G.value*i;return{total:e,proportion:r,color:n?J(e,a,o):J(e,u,l)}}),yLabels:e,xLabels:t.slice(0,V.value)}}),X=h(()=>(L.value.forEach((e,t)=>{re({datasetObject:e,requiredAttributes:[`values`]}).forEach(e=>{c({componentName:`VueUiHeatmap`,type:`datasetSerieAttribute`,property:`values`,index:t,debug:jn.value})})}),L.value.map((e,t)=>({...e,temperatures:(e.values||[]).map((e,n)=>e>=q.value?{side:`up`,color:J(e,K.value,G.value),ratio:Math.abs(Math.abs(e-q.value)/Math.abs(Vn.value-q.value))>1?1:Math.abs(Math.abs(e-q.value)/Math.abs(Vn.value-q.value)),value:e,yAxisName:Y.value.yLabels[t],xAxisName:Y.value.xLabels[n],id:`vue-data-ui-heatmap-cell-${s()}`}:{side:`down`,ratio:Math.abs(1-Math.abs(e)/Math.abs(q.value))>1?1:Math.abs(1-Math.abs(e)/Math.abs(q.value)),color:J(e,K.value,G.value),value:e,yAxisName:Y.value.yLabels[t],xAxisName:Y.value.xLabels[n],id:`vue-data-ui-heatmap-cell-${s()}`})})))),Xn=h(()=>X.value.flatMap((e,t)=>e.temperatures.map((e,n)=>{let r=W.value.left+W.value.cellSize.width*n,i=W.value.top+W.value.cellSize.height*t;return{datapoint:e,rowIndex:t,columnIndex:n,x:r+U.value/2+W.value.sumCellXHeight,y:i+U.value/2,width:W.value.cellSize.width-U.value,height:W.value.cellSize.height-U.value,labelX:r+W.value.cellSize.width/2+W.value.sumCellXHeight,labelY:i+W.value.cellSize.height/2+P.value.value.fontSize/3,selectionX:r,selectionY:i}}))),Zn=h(()=>L.value.length),Qn=Ve(Array(Zn.value*V.value||1).fill(!1)),$n=h(()=>Qn.some(e=>e));function er(e,t){Qn[e]=t}let tr=Ve(Array(Zn.value*V.value||1).fill(!1)),nr=h(()=>tr.some(e=>e));function rr(e,t){tr[e]=t}let Z=C(null),ir=C(null);function ar(){Ht.value=!1,Wt.value=void 0,Z.value=null,j.value=null,M.value=null,cn.value=null}function or(e){if(!R.value||!e)return;let t=R.value.querySelector(`[data-a11y-cell-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();ln.value={x:n.left+n.width/2,y:n.top+n.height/2}}function sr(e,t,r,a,o=`pointer`,s=null){let c=W.value.cellSize.width-U.value,l={...e,x:r+c,y:a,width:W.value.cellSize.width-U.value,height:W.value.cellSize.height-U.value};if(N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:l,seriesIndex:t}),!z.value.showTooltip)return;un.value=o,M.value=s,cn.value=e.id,j.value={x:r,y:a};let{value:d,yAxisName:f,xAxisName:p,id:te}=e;Wt.value=te,Z.value=d,ir.value={datapoint:e,seriesIndex:t,series:X.value,config:N.value},Ht.value=!0;let ne=``,re=N.value.style.tooltip.customFormat;i(re)&&ee(()=>re({datapoint:e,seriesIndex:t,series:X.value,config:N.value}))?Ut.value=re({datapoint:e,seriesIndex:t,series:X.value,config:N.value}):(ne+=`<div>${f} ${p?f?` - ${p}`:`${p}`:``}</div>`,ne+=`<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${N.value.style.tooltip.borderColor};font-weight:bold;display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:center"><span style="color:${J(d,K.value,G.value)}">⬤</span><span>${isNaN(d)?`-`:u(P.value.value.formatter,d,n({p:F.value.prefix,v:d,s:F.value.suffix,r:N.value.style.tooltip.roundingValue}),{datapoint:e,seriesIndex:t})}</span></div>`,Ut.value=`<div style="font-size:${N.value.style.tooltip.fontSize}px">${ne}</div>`),o===`keyboard`&&Le(()=>{or(e.id)})}function cr({datapoint:e,seriesIndex:t}){N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:t}),(cn.value!==e.id||un.value!==`keyboard`)&&(Ht.value=!1,Wt.value=void 0,Z.value=null,j.value=null)}function lr(e){return u(P.value.value.formatter,Y.value.yTotals[e].total,n({p:F.value.prefix,v:Y.value.yTotals[e].total,s:F.value.suffix,r:P.value.value.roundingValue}),{datapoint:Y.value.yTotals[e],rowIndex:e})}function ur(e){return u(P.value.value.formatter,Y.value.xTotals[e].total,n({p:F.value.prefix,v:Y.value.xTotals[e].total,s:F.value.suffix,r:P.value.value.roundingValue}),{datapoint:Y.value.xTotals[e],colIndex:e})}h(()=>({head:L.value.map(e=>({name:e.name})),body:L.value.map(e=>e.values)}));function dr(e=null){Le(()=>{let t=[``,...L.value.map((e,t)=>e.name)],n=[];for(let e=0;e<Y.value.xLabels.length;e+=1){let t=[Y.value.xLabels[e]];for(let n=0;n<L.value.length;n+=1)t.push([L.value[n].values[e]]);n.push(t)}let i=[[N.value.style.title.text],[N.value.style.title.subtitle.text],[[``],[``],[``]],t].concat(n),a=r(i);e?e(a):f({csvContent:a,title:N.value.style.title.text||`vue-ui-heatmap`})})}let Q=C(!1);function fr(e){Q.value=e,Gt.value+=1}function pr(){z.value.showTable=!z.value.showTable}function mr(){z.value.showTooltip=!z.value.showTooltip}let hr=C(!1);function gr(){hr.value=!hr.value}function _r(e,t){N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:t}),zt(`selectDatapoint`,e)}function vr(){return X.value}async function yr({scale:e=2}={}){if(!A.value)return;let{width:t,height:n}=A.value.getBoundingClientRect(),r=t/n,{imageUri:i,base64:a}=await fe({domElement:A.value,base64:!0,img:!0,scale:e});return{imageUri:i,base64:a,title:N.value.style.title.text,width:t,height:n,aspectRatio:r}}let br=h(()=>({start:0,end:V.value})),xr=h(()=>Y.value.xLabels);Ce({timeLabelsEls:nn,timeLabels:xr,slicer:br,configRef:N,rotationPath:[`style`,`layout`,`dataLabels`,`xAxis`,`rotation`],autoRotatePath:[`style`,`layout`,`dataLabels`,`xAxis`,`autoRotate`,`enable`],isAutoSize:!1,targetClass:`.vue-ui-heatmap-col-name`,rotation:F.value.xAxis.autoRotate.angle,width:Nn,height:Pn}),Ce({timeLabelsEls:rn,timeLabels:xr,slicer:br,configRef:N,rotationPath:[`style`,`layout`,`cells`,`columnTotal`,`value`,`rotation`],autoRotatePath:[`style`,`layout`,`cells`,`columnTotal`,`value`,`autoRotate`,`enable`],isAutoSize:!1,targetClass:`.vue-ui-heatmap-col-total`,rotation:P.value.columnTotal.value.autoRotate.angle,width:Nn,height:Pn});let Sr=h(()=>he({config:N,style:{value:N.value.style},mutableConfig:z,dialog:Ft,accordion:Te,isFullscreen:Q,parent:A,maxWidth:800,isCursorPointer:fn}));qe(()=>z.value.showTable,async e=>{N.value.table.show||(e&&N.value.table.useDialog&&Yt.value?(await Le(),Yt.value.open()):`close`in Yt.value&&Yt.value.close())});let{isResponsive:Cr}=ke(Kt,On);function wr(){z.value.showTable=!1,Xt.value&&Xt.value.setTableIconState(!1)}let Tr=h(()=>N.value.style.backgroundColor),Er=h(()=>N.value.style.title),{isCallbackImaging:Dr,isCallbackSvg:Or,generateSvg:kr,onGenerateImage:Ar}=me({svg:R,title:Er,legend:null,legendItems:null,backgroundColor:Tr,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:En});async function jr(){zt(`copyAlt`,{config:N.value,dataset:X.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:X.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Mr(e,t){let n=X.value[e];if(!n)return null;let r=n.temperatures[t];return r?{cell:r,rowIndex:e,columnIndex:t}:null}function Nr(e,t){let n=0;for(let t=0;t<e;t+=1)n+=X.value[t]?.temperatures?.length||0;return n+t}function Pr(){M.value=null,cn.value=null,dn.value=!0}function Fr(){ar(),dn.value=!1}function Ir(e){if(!R.value||hr.value||document.activeElement!==R.value||!$.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`ArrowUp`,i=e.key===`ArrowDown`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){ar();return}if(a){if(M.value===null)return;let e=$.value[M.value];if(!e)return;_r(e.cell,e.rowIndex);return}let s=M.value===null?null:$.value[M.value];if(!s){let e=Wt.value?$.value.findIndex(e=>e.cell.id===Wt.value):null;if(e!==null&&e>=0&&e<$.value.length){let a=$.value[e];if(!a)return;let o=a.rowIndex,s=a.columnIndex;n?s+=1:t?--s:i?o+=1:r&&--o;let c=Rr.value.rowCount;if(c<=0)return;o<0&&(o=c-1),o>=c&&(o=0);let l=X.value[o];if(!l||!l.temperatures.length)return;let u=l.temperatures.length;s<0&&(s=u-1),s>=u&&(s=0);let d=Mr(o,s);if(!d)return;let f=Nr(o,s),p=W.value.left+W.value.cellSize.width*d.columnIndex,ee=W.value.top+W.value.cellSize.height*d.rowIndex;sr(d.cell,d.rowIndex,p,ee,`keyboard`,f);return}let a=$.value[0];if(!a)return;let o=W.value.left+W.value.cellSize.width*a.columnIndex,s=W.value.top+W.value.cellSize.height*a.rowIndex;sr(a.cell,a.rowIndex,o,s,`keyboard`,0);return}let c=s.rowIndex,l=s.columnIndex;n?l+=1:t?--l:i?c+=1:r&&--c;let u=Rr.value.rowCount;if(u<=0)return;c<0&&(c=u-1),c>=u&&(c=0);let d=X.value[c];if(!d||!d.temperatures.length)return;let f=d.temperatures.length;l<0&&(l=f-1),l>=f&&(l=0);let p=Mr(c,l);if(!p)return;let ee=Nr(c,l),te=W.value.left+W.value.cellSize.width*p.columnIndex,ne=W.value.top+W.value.cellSize.height*p.rowIndex;sr(p.cell,p.rowIndex,te,ne,`keyboard`,ee)}let Lr=h(()=>({headers:[N.value.table.colNames.xAxis,...L.value.map(e=>e.name)],rows:Y.value.xLabels.map((e,t)=>[e,...L.value.map(e=>{let r=e.values?.[t];return isNaN(r)?`-`:n({p:F.value.prefix,v:r,s:F.value.suffix,r:N.value.table.td.roundingValue})})])})),Rr=h(()=>({rowCount:X.value.length,columnCount:Math.max(0,...X.value.map(e=>e.temperatures.length))})),$=h(()=>X.value.flatMap((e,t)=>e.temperatures.map((e,n)=>({cell:e,rowIndex:t,columnIndex:n}))));return le({getData:vr,getImage:yr,generatePdf:Tn,generateCsv:dr,generateImage:En,generateSvg:kr,toggleTable:pr,toggleTooltip:mr,toggleAnnotator:gr,toggleFullscreen:fr,copyAlt:jr}),qe(()=>[H.value,F.value,P.value,N.value.style.fontFamily,k.dataset,Kn.value,Un.value,Gn.value,Wn.value,kn.value,nn.value,en.value,rn.value],Ln,{flush:`post`,deep:!0}),(t,r)=>(S(),_(`div`,{ref_key:`heatmapChart`,ref:A,class:Re(`vue-data-ui-component vue-ui-heatmap ${Q.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:x(`font-family:${N.value.style.fontFamily};width:100%;${N.value.responsive?`height: 100%;`:``} text-align:center;background:${N.value.style.backgroundColor}`),id:`heatmap__${Vt.value}`,onMouseenter:r[1]||=()=>bn(!0),onMouseleave:r[2]||=()=>{bn(!1),dn.value||ar()}},[v(`div`,{id:`chart-instructions-${Vt.value}`,class:`sr-only`},[v(`p`,null,E(N.value.a11y.translations.keyboardNavigation),1)],8,tt),Lr.value?.rows?.length?(S(),je(Ee,{key:0,uid:Vt.value,head:Lr.value.headers,body:Lr.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):g(``,!0),N.value.userOptions.buttons.annotator?(S(),je(D(Mt),{key:1,svgRef:D(R),backgroundColor:N.value.style.backgroundColor,color:N.value.style.color,active:hr.value,isCursorPointer:fn.value,palette:N.value.userOptions.annotatorPalette,onClose:gr},Me({_:2},[w(D(_e),e=>({name:e,fn:O(n=>[T(t.$slots,e,b(y(D(ge)(e,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):g(``,!0),Dn.value?(S(),_(`div`,{key:2,ref_key:`noTitle`,ref:Qt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):g(``,!0),N.value.style.title.text?(S(),_(`div`,{key:3,ref_key:`chartTitle`,ref:Zt,style:`width:100%;background:transparent`},[(S(),je(pe,{key:`title_${qt.value}`,config:{title:{cy:`heatmap-div-title`,...N.value.style.title},subtitle:{cy:`heatmap-div-subtitle`,...N.value.style.title.subtitle}}},null,8,[`config`]))],512)):g(``,!0),N.value.userOptions.show&&Bt.value&&(D(yn)||D(_n))?(S(),je(D(Nt),{ref_key:`userOptionsRef`,ref:Xt,key:`user_options_${Gt.value}`,backgroundColor:N.value.style.backgroundColor,color:N.value.style.color,isImaging:D(wn),isPrinting:D(Cn),uid:Vt.value,hasTooltip:N.value.userOptions.buttons.tooltip&&N.value.style.tooltip.show,hasPdf:N.value.userOptions.buttons.pdf,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasXls:N.value.userOptions.buttons.csv,hasTable:N.value.userOptions.buttons.table,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:Q.value,isTooltip:z.value.showTooltip,titles:{...N.value.userOptions.buttonTitles},chartElement:A.value,position:N.value.userOptions.position,hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:hr.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:fn.value,onToggleFullscreen:fr,onGeneratePdf:D(Tn),onGenerateCsv:dr,onGenerateImage:D(Ar),onGenerateSvg:D(kr),onToggleTable:pr,onToggleTooltip:mr,onToggleAnnotator:gr,onCopyAlt:jr,style:x({visibility:D(yn)?D(_n)?`visible`:`hidden`:`visible`})},Me({_:2},[w(D(ve)(t.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),e=>({name:e,fn:O(n=>[T(t.$slots,e,b(y(D(ye)(e,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):g(``,!0),v(`div`,{class:Re({"vue-ui-heatmap-chart-wrapper":!0,"vue-ui-heatmap-chart-wrapper-legend-right":N.value.style.legend.show})},[(S(),_(`svg`,{ref_key:`svgRef`,ref:R,xmlns:D(ne),"aria-describedby":`chart-instructions-${Vt.value}`,class:Re({"vue-data-ui-fullscreen--on":Q.value,"vue-data-ui-fulscreen--off":!Q.value}),viewBox:`0 0 ${H.value.width} ${H.value.height}`,width:`100%`,style:x(`overflow: visible; background:transparent;color:${N.value.style.color};visibility:${D(In)?`visible`:`hidden`}`),"aria-live":`polite`,role:`img`,preserveAspectRatio:`xMidYMid`,tabindex:`0`,onFocus:Pr,onBlur:Fr,onKeydown:Ir},[Pe(D(Pt)),T(t.$slots,`svg-underlayer`,{svg:{...H.value,drawingArea:W.value,cells:Xn.value,isPrintingImg:D(Cn)||D(wn)||D(Dr),isPrintingSvg:D(Or)}},void 0,!0),t.$slots[`chart-background`]?(S(),_(`foreignObject`,{key:0,x:W.value.left,y:W.value.top,width:W.value.width,height:W.value.height,style:{pointerEvents:`none`}},[T(t.$slots,`chart-background`,{},void 0,!0)],8,rt)):g(``,!0),P.value.columnTotal.color.show?(S(),_(`g`,{key:1,ref_key:`xAxisSumRects`,ref:an},[(S(!0),_(m,null,w(Y.value.xTotals,(e,t)=>(S(),_(`rect`,{x:W.value.left+W.value.cellSize.width*t+U.value/2+W.value.sumCellXHeight,y:W.value.top-W.value.sumCellXHeight+U.value*(H.value.height/H.value.width),height:W.value.sumCellXHeight,width:W.value.cellSize.width-U.value,fill:P.value.colors.underlayer,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,it))),256)),(S(!0),_(m,null,w(Y.value.xTotals,(e,t)=>(S(),_(`rect`,{x:W.value.left+W.value.cellSize.width*t+U.value/2+W.value.sumCellXHeight,y:W.value.top-W.value.sumCellXHeight+U.value*(H.value.height/H.value.width),height:W.value.sumCellXHeight,width:W.value.cellSize.width-U.value,fill:e.color,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,at))),256))],512)):g(``,!0),v(`g`,{ref_key:`datapoints`,ref:Jt},[(S(!0),_(m,null,w(Xn.value,e=>(S(),_(`g`,null,[v(`rect`,{x:e.x,y:e.y,width:e.width,height:e.height,fill:P.value.colors.underlayer,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,ot),v(`rect`,{"data-a11y-cell-id":e.datapoint.id,x:e.x,y:e.y,width:e.width,height:e.height,fill:e.datapoint.color,stroke:N.value.style.backgroundColor,"stroke-width":U.value,"aria-label":`${e.datapoint.yAxisName}${e.datapoint.xAxisName?` - ${e.datapoint.xAxisName}`:``}: ${isNaN(e.datapoint.value)?`-`:e.datapoint.value}`,onMouseover:t=>sr(e.datapoint,e.rowIndex,e.selectionX,e.selectionY,`pointer`,Nr(e.rowIndex,e.columnIndex)),onMouseout:()=>cr({datapoint:e.datapoint,seriesIndex:e.rowIndex}),onClick:()=>_r(e.datapoint,e.rowIndex)},null,40,st),P.value.value.show?Ye((S(),_(`text`,{key:0,"text-anchor":`middle`,"font-size":P.value.value.fontSize,"font-weight":P.value.value.bold?`bold`:`normal`,fill:D(te)(e.datapoint.color),x:e.labelX,y:e.labelY,style:{pointerEvents:`none`,userSelect:`none`}},[Ne(E(D(u)(P.value.value.formatter,e.datapoint.value,D(n)({p:F.value.prefix,v:e.datapoint.value,s:F.value.suffix,r:P.value.value.roundingValue}),{datapoint:e.datapoint})),1)],8,ct)),[[D(Ze),{cellWidth:e.width,cellHeight:e.height,maxFontSize:P.value.value.fontSize,minFontSize:10,index:e.rowIndex*V.value+e.columnIndex,reportHide:rr,reportRotation:er,hideAll:nr.value,rotateAll:$n.value}]]):g(``,!0)]))),256))],512),P.value.rowTotal.color.show?(S(),_(`g`,{key:2,ref_key:`yAxisSumRects`,ref:tn},[(S(!0),_(m,null,w(X.value,(e,t)=>(S(),_(m,null,[v(`rect`,{x:W.value.left,y:W.value.top+W.value.cellSize.height*t,width:W.value.sumCellXHeight,height:W.value.cellSize.height-U.value,fill:P.value.colors.underlayer,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,lt),v(`rect`,{x:W.value.left,y:W.value.top+W.value.cellSize.height*t+U.value/2,width:W.value.sumCellXHeight,height:W.value.cellSize.height-U.value,fill:Y.value.yTotals[t].color,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,ut)],64))),256))],512)):g(``,!0),F.value.yAxis.show?(S(),_(`g`,{key:3,ref_key:`yAxisLabels`,ref:en},[(S(!0),_(m,null,w(X.value,(e,t)=>(S(),_(m,null,[v(`text`,{class:`vue-ui-heatmap-row-name`,"font-size":F.value.yAxis.fontSize,fill:F.value.yAxis.color,x:zn.value+F.value.yAxis.offsetX,y:W.value.top+W.value.cellSize.height*t+W.value.cellSize.height/2+F.value.yAxis.fontSize/3+F.value.yAxis.offsetY-(P.value.rowTotal.value.show?F.value.yAxis.fontSize/1.5:0),"text-anchor":`end`,"font-weight":F.value.yAxis.bold?`bold`:`normal`},E(Y.value.yLabels[t]),9,dt),P.value.rowTotal.value.show?(S(),_(`text`,{key:0,class:`vue-ui-heatmap-row-total`,"font-size":F.value.yAxis.fontSize,fill:F.value.yAxis.color,x:zn.value,y:W.value.top+W.value.cellSize.height*t+W.value.cellSize.height/2+F.value.yAxis.fontSize+F.value.yAxis.offsetY,"text-anchor":`end`,"font-weight":F.value.yAxis.bold?`bold`:`normal`},E(lr(t)),9,ft)):g(``,!0)],64))),256))],512)):g(``,!0),F.value.xAxis.show?(S(),_(`g`,{key:4,ref_key:`xAxisLabels`,ref:nn},[(S(!0),_(m,null,w(Y.value.xLabels,(e,t)=>(S(),_(m,null,[!F.value.xAxis.showOnlyAtModulo||F.value.xAxis.showOnlyAtModulo&&t%F.value.xAxis.showOnlyAtModulo===0?(S(),_(`text`,{key:0,class:`vue-ui-heatmap-col-name`,"text-anchor":F.value.xAxis.rotation===0?`middle`:F.value.xAxis.rotation<0?`start`:`end`,"font-size":F.value.xAxis.fontSize,fill:F.value.xAxis.color,"font-weight":F.value.xAxis.bold?`bold`:`normal`,transform:`translate(${W.value.left+W.value.cellSize.width/2+W.value.width/Y.value.xLabels.length*t+F.value.xAxis.offsetX+W.value.sumCellXHeight}, ${W.value.topLabelsHeight+F.value.xAxis.offsetY}), rotate(${F.value.xAxis.rotation})`},E(e),9,pt)):g(``,!0)],64))),256))],512)):g(``,!0),P.value.columnTotal.value.show?(S(),_(`g`,{key:5,ref_key:`xAxisSums`,ref:rn},[(S(!0),_(m,null,w(Y.value.xLabels,(e,t)=>(S(),_(`text`,{class:`vue-ui-heatmap-col-total`,"text-anchor":P.value.columnTotal.value.rotation===0?`middle`:P.value.columnTotal.value.rotation<0?`end`:`start`,"font-size":F.value.xAxis.fontSize,fill:F.value.xAxis.color,"font-weight":F.value.xAxis.bold?`bold`:`normal`,transform:`translate(${W.value.left+W.value.cellSize.width/2+W.value.width/Y.value.xLabels.length*t+F.value.xAxis.offsetX+P.value.columnTotal.value.offsetX+W.value.sumCellXHeight}, ${W.value.bottom+F.value.xAxis.fontSize/2}), rotate(${P.value.columnTotal.value.rotation})`},E(ur(t)),9,mt))),256))],512)):g(``,!0),j.value?(S(),_(`g`,ht,[v(`rect`,{style:{"pointer-events":`none`},x:j.value.x-P.value.selected.border/2+U.value+W.value.sumCellXHeight,y:j.value.y-P.value.selected.border/2+U.value,width:W.value.cellSize.width-U.value+P.value.selected.border-U.value,height:W.value.cellSize.height-U.value+P.value.selected.border-U.value,fill:`transparent`,stroke:P.value.selected.color,"stroke-width":P.value.selected.border,rx:1},null,8,gt)])):g(``,!0),I.value.crosshairs.show&&j.value?(S(),_(`g`,_t,[v(`line`,{x1:W.value.left+W.value.sumCellXHeight,x2:j.value.x+W.value.sumCellXHeight,y1:j.value.y+(W.value.cellSize.height-U.value)/2,y2:j.value.y+(W.value.cellSize.height-U.value)/2,stroke:I.value.crosshairs.stroke,"stroke-width":I.value.crosshairs.strokeWidth,"stroke-dasharray":I.value.crosshairs.strokeDasharray,"stroke-linecap":`round`},null,8,vt),v(`line`,{x1:j.value.x+W.value.sumCellXHeight+(W.value.cellSize.width-U.value)/2,x2:j.value.x+W.value.sumCellXHeight+(W.value.cellSize.width-U.value)/2,y1:j.value.y,y2:W.value.top,stroke:I.value.crosshairs.stroke,"stroke-width":I.value.crosshairs.strokeWidth,"stroke-dasharray":I.value.crosshairs.strokeDasharray,"stroke-linecap":`round`},null,8,yt)])):g(``,!0),T(t.$slots,`svg`,{svg:{...H.value,drawingArea:W.value,cells:Xn.value,isPrintingImg:D(Cn)||D(wn)||D(Dr),isPrintingSvg:D(Or)}},void 0,!0)],46,nt)),N.value.style.legend.show?(S(),_(`div`,{key:0,ref_key:`legendRight`,ref:$t,class:`vue-ui-heatmap-legend-right`,style:x({"--legend-width":N.value.style.legend.width+`px`})},[D(hn)?g(``,!0):(S(),_(`div`,{key:0,class:`vue-ui-heatmap-legend-label-max`,style:x({fontSize:N.value.style.legend.fontSize+`px`,color:N.value.style.legend.color})},E(D(u)(P.value.value.formatter,D(l)(G.value),D(n)({p:F.value.prefix,v:D(l)(G.value),s:F.value.suffix,r:N.value.style.legend.roundingValue}))),5)),v(`div`,bt,[v(`div`,{class:`vue-ui-heatmap-gauge`,style:x({background:`linear-gradient(to bottom, ${P.value.colors.hot}, ${P.value.colors.cold})`})},[Ye(v(`div`,{class:`vue-ui-heatmap-gauge-indicator`,"data-value":D(u)(P.value.value.formatter,D(l)(Z.value),D(n)({p:F.value.prefix,v:D(l)(Z.value),s:F.value.suffix,r:N.value.style.legend.roundingValue})),style:x({position:`absolute`,width:`100%`,height:`2px`,background:[void 0,null].includes(Z.value)?`transparent`:D(te)(ir.value.datapoint.color),top:`${Yn(Z.value)}%`,transition:`all 0.2s ease-in-out`,"--background-color":N.value.style.backgroundColor,"--gauge-arrow-color":D(te)(N.value.style.backgroundColor),"--gauge-arrow-text-color":D(te)(N.value.style.backgroundColor),"--gauge-arrow-value":Z.value,"--gauge-arrow-font-size":N.value.style.legend.fontSize+`px`})},[v(`div`,St,E(D(u)(P.value.value.formatter,D(l)(Z.value),D(n)({p:F.value.prefix,v:D(l)(Z.value),s:F.value.suffix,r:N.value.style.legend.roundingValue}))),1)],12,xt),[[Ke,![void 0,null].includes(Z.value)]])],4)]),D(hn)?g(``,!0):(S(),_(`div`,{key:1,class:`vue-ui-heatmap-legend-label-min`,style:x({fontSize:N.value.style.legend.fontSize+`px`,color:N.value.style.legend.color})},E(D(u)(P.value.value.formatter,D(l)(K.value),D(n)({p:F.value.prefix,v:D(l)(K.value),s:F.value.suffix,r:N.value.style.legend.roundingValue}))),5))],4)):g(``,!0),t.$slots.hint?(S(),_(`div`,Ct,[T(t.$slots,`hint`,b(y({hint:N.value.a11y.translations.keyboardNavigation,isVisible:dn.value})),void 0,!0)])):g(``,!0)],2),t.$slots.watermark?(S(),_(`div`,wt,[T(t.$slots,`watermark`,b(y({isPrinting:D(Cn)||D(wn)||D(Dr)||D(Or)})),void 0,!0)])):g(``,!0),t.$slots.source?(S(),_(`div`,{key:6,ref_key:`source`,ref:on,dir:`auto`},[T(t.$slots,`source`,{},void 0,!0)],512)):g(``,!0),Pe(D($e),{teleportTo:N.value.style.tooltip.teleportTo,show:z.value.showTooltip&&Ht.value,backgroundColor:N.value.style.tooltip.backgroundColor,color:N.value.style.tooltip.color,borderRadius:N.value.style.tooltip.borderRadius,borderColor:N.value.style.tooltip.borderColor,borderWidth:N.value.style.tooltip.borderWidth,fontSize:N.value.style.tooltip.fontSize,backgroundOpacity:N.value.style.tooltip.backgroundOpacity,position:N.value.style.tooltip.position,offsetX:N.value.style.tooltip.offsetX,offsetY:N.value.style.tooltip.offsetY,parent:A.value,content:Ut.value,isFullscreen:Q.value,isCustom:N.value.style.tooltip.customFormat&&typeof N.value.style.tooltip.customFormat==`function`,smooth:N.value.style.tooltip.smooth,backdropFilter:N.value.style.tooltip.backdropFilter,smoothForce:N.value.style.tooltip.smoothForce,smoothSnapThreshold:N.value.style.tooltip.smoothSnapThreshold,isA11yMode:un.value===`keyboard`,a11yPosition:ln.value},{"tooltip-before":O(()=>[T(t.$slots,`tooltip-before`,b(y({...ir.value})),void 0,!0)]),tooltip:O(()=>[T(t.$slots,`tooltip`,b(y({...ir.value})),void 0,!0)]),"tooltip-after":O(()=>[T(t.$slots,`tooltip-after`,b(y({...ir.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Bt.value&&N.value.userOptions.buttons.table?(S(),je(He(Sr.value.component),Ie({key:7},Sr.value.props,{ref_key:`tableUnit`,ref:Yt,onClose:wr}),Me({content:O(()=>[v(`div`,{ref_key:`tableContainer`,ref:Kt,class:`vue-ui-heatmap-table atom-data-table`,style:x(`${N.value.table.useDialog?``:`max-height: 300px; margin-top: 24px;`}`)},[v(`div`,{style:x(`width:100%;overflow-x:auto;position:relative;${N.value.table.useDialog?``:`padding-top:36px`};`),class:Re({"vue-ui-responsive":D(Cr)})},[N.value.table.useDialog?g(``,!0):(S(),_(`div`,{key:0,role:`button`,tabindex:`0`,style:x(`width:32px; position: absolute; top: 0; left:4px; padding: 0 0px; display: flex; align-items:center;justify-content:center;height: 36px; width: 32px; cursor:pointer; background:${N.value.table.th.backgroundColor};`),onClick:wr,onKeypress:Xe(wr,[`enter`])},[Pe(D(jt),{name:`close`,stroke:N.value.table.th.color,"stroke-width":2},null,8,[`stroke`])],36)),v(`table`,Tt,[N.value.table.useDialog?g(``,!0):(S(),_(`caption`,{key:0,style:x(`backgroundColor:${N.value.table.th.backgroundColor};color:${N.value.table.th.color};outline:${N.value.table.th.outline}`)},[Ne(E(N.value.style.title.text)+` `,1),N.value.style.title.subtitle.text?(S(),_(`span`,Et,E(N.value.style.title.subtitle.text),1)):g(``,!0)],4)),v(`thead`,null,[v(`tr`,{role:`row`,style:x(`background:${N.value.table.th.backgroundColor};color:${N.value.table.th.color}`)},[v(`th`,{style:x(`outline:${N.value.table.th.outline};padding-right:6px`)},null,4),(S(!0),_(m,null,w(e.dataset,(e,t)=>(S(),_(`th`,{align:`right`,style:x(`outline:${N.value.table.th.outline};padding-right:6px`)},E(e.name),5))),256))],4)]),v(`tbody`,null,[(S(!0),_(m,null,w(Y.value.xLabels,(t,r)=>(S(),_(`tr`,{role:`row`,class:Re({"vue-ui-data-table__tbody__row":!0,"vue-ui-data-table__tbody__row-even":r%2==0,"vue-ui-data-table__tbody__row-odd":r%2!=0}),style:x(`background:${N.value.table.td.backgroundColor};color:${N.value.table.td.color}`)},[v(`td`,{"data-cell":N.value.table.colNames.xAxis,class:`vue-ui-data-table__tbody__td`,style:x(`outline:${N.value.table.td.outline}`)},[v(`div`,Ot,E(t),1)],12,Dt),(S(!0),_(m,null,w(e.dataset,(t,i)=>(S(),_(`td`,{class:`vue-ui-data-table__tbody__td`,"data-cell":e.dataset[i].name,style:x(`outline:${N.value.table.td.outline}`)},[v(`div`,At,E(isNaN(t.values[r])?`-`:D(n)({p:F.value.prefix,v:t.values[r],s:F.value.suffix,r:N.value.table.td.roundingValue})),1)],12,kt))),256))],6))),256))])])],6)],4)]),_:2},[N.value.table.useDialog?{name:`title`,fn:O(()=>[Ne(E(Sr.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:O(()=>[v(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:r[0]||=e=>dr(N.value.userOptions.callbacks.csv),style:x({cursor:fn.value?`pointer`:`default`})},[Pe(D(jt),{name:`fileCsv`,stroke:Sr.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):g(``,!0),T(t.$slots,`skeleton`,{},()=>[D(hn)?(S(),je(oe,{key:0})):g(``,!0)],!0)],46,et))}},[[`__scopeId`,`data-v-32c9a6c8`]]);export{$e as n,jt as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Dt as i,Qt as a,Tt as o,X as s,at as c,b as l,i as u,in as d,nt as f,on as p,pt as ee,r as te,t as ne,yt as re,zt as ie}from"./lib-rPeBMZrn.js";import{n as ae,t as oe}from"./BaseScanner-8NdoBs7B.js";import{n as se,t as ce}from"./useHints-C-TwxM0Y.js";import{t as le}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ue}from"./useNestedProp-DnGoh-XS.js";import{t as de}from"./useThemeCheck-BKNRbGeC.js";import{t as fe}from"./img-D4RQwASc.js";import{n as pe}from"./Title-BliHuXfT.js";import{t as me}from"./useChartExport-BZts4KFb.js";import{t as he}from"./tableIntegration-CNoJ1CIY.js";import{n as ge,t as _e}from"./annotationSlots-BRR85CqJ.js";import{n as ve,t as ye}from"./userOptionsSlots-DYuo-E5m.js";import{t as be}from"./useTimeLabels-Das5O74F.js";import{t as xe}from"./usePrinter-DVf3YcG5.js";import{t as Se}from"./useSvgLabelLayout-42Kats14.js";import{t as Ce}from"./useTimeLabelCollider-BTybMUFi.js";import{t as we}from"./useResponsive-CENUxfEL.js";import{t as Te}from"./vue-ui-accordion-S3nRtTU-.js";import{t as Ee}from"./A11yDataTable-DWNlWXzs.js";import{t as De}from"./useUserOptionState-CXlFnwPv.js";import{t as Oe}from"./useChartAccessibility-DOMuYJfm.js";import{t as ke}from"./useTableResponsive-uSz_qZOB.js";import{t as Ae}from"./vue_ui_heatmap-kh5NMmwf.js";import{Fragment as m,computed as h,createBlock as je,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createSlots as Me,createTextVNode as Ne,createVNode as Pe,defineAsyncComponent as Fe,guardReactiveProps as y,mergeProps as Ie,nextTick as Le,normalizeClass as Re,normalizeProps as b,normalizeStyle as x,onBeforeUnmount as ze,onMounted as Be,openBlock as S,reactive as Ve,ref as C,renderList as w,renderSlot as T,resolveDynamicComponent as He,shallowRef as Ue,toDisplayString as E,toRefs as We,unref as D,useCssVars as Ge,vShow as Ke,watch as qe,watchEffect as Je,withCtx as O,withDirectives as Ye,withKeys as Xe}from"vue";var Ze={mounted(e,t){Qe(e,t.value)},updated(e,t){Qe(e,t.value)}};function Qe(e,{cellWidth:t,cellHeight:n,maxFontSize:r,minFontSize:i,index:a,reportRotation:o,reportHide:s,rotateAll:c,hideAll:l}){e.removeAttribute(`transform`),e.removeAttribute(`visibility`);let u=!1,d=!1;e.setAttribute(`font-size`,r);let f=e.getComputedTextLength();if(f<=t)o(a,!1),s(a,!1);else{let n=Math.floor(r*t/f);n>=i?(e.setAttribute(`font-size`,n),o(a,!1),s(a,!1)):(o(a,!0),s(a,!1),u=!0)}if(c&&(u=!0),u){e.setAttribute(`font-size`,r);let t=e.getBBox(),o=t.x+t.width/2,c=t.y+t.height/2;e.setAttribute(`transform`,`rotate(-90 ${o} ${c})`);let l=e.getBBox().width;if(l<=n)s(a,!1);else{let t=Math.floor(r*n/l);t>=i?(e.setAttribute(`font-size`,t),s(a,!1)):(d=!0,s(a,!0))}}(l||d)&&e.setAttribute(`visibility`,`hidden`)}var $e=/* @__PURE__ */ e({default:()=>jt}),et=[`id`],tt=[`id`],nt=[`xmlns`,`aria-describedby`,`viewBox`],rt=[`x`,`y`,`width`,`height`],it=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`],at=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`],ot=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`],st=[`data-a11y-cell-id`,`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`,`aria-label`,`onMouseover`,`onMouseout`,`onClick`],ct=[`font-size`,`font-weight`,`fill`,`x`,`y`],lt=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`],ut=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`],dt=[`font-size`,`fill`,`x`,`y`,`font-weight`],ft=[`font-size`,`fill`,`x`,`y`,`font-weight`],pt=[`text-anchor`,`font-size`,`fill`,`font-weight`,`transform`],mt=[`text-anchor`,`font-size`,`fill`,`font-weight`,`transform`],ht={key:6},gt=[`x`,`y`,`width`,`height`,`stroke`,`stroke-width`],_t={key:7},vt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],yt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],bt={class:`vue-ui-heatmap-legend-gauge-right`},xt=[`data-value`],St={class:`vue-ui-heatmap-gauge-indicator-value`},Ct={key:1,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},wt={key:5,class:`vue-data-ui-watermark`},Tt={class:`vue-ui-data-table`},Et={key:0},Dt=[`data-cell`],Ot={style:{display:`flex`,"align-items":`center`,gap:`5px`,"justify-content":`flex-end`,width:`100%`,"padding-right":`3px`}},kt=[`data-cell`],At={style:{display:`flex`,"align-items":`center`,gap:`5px`,"justify-content":`flex-end`,width:`100%`,"padding-right":`3px`}},jt=/*#__PURE__*/ le({__name:`vue-ui-heatmap`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`copyAlt`],setup(e,{expose:le,emit:Qe}){Ge(e=>({v82e8e2ac:e.tdo}));let $e=Fe(()=>import(`./Tooltip-C1q0Qoh7.js`)),jt=Fe(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),Mt=Fe(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Nt=Fe(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Pt=Fe(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),Ft=Fe(()=>import(`./BaseDraggableDialog-DHgIPVmz.js`).then(e=>e.n)),{vue_ui_heatmap:It}=t(),{isThemeValid:Lt,warnInvalidTheme:Rt}=de(),k=e,zt=Qe,Bt=h({get(){return!!k.dataset&&k.dataset.length},set(e){return e}}),Vt=C(s()),A=C(null),Ht=C(!1),Ut=C(``),Wt=C(void 0),j=C(null),Gt=C(0),Kt=C(null),qt=C(0),Jt=C(null),Yt=C(null),Xt=C(null),Zt=C(null),Qt=C(null),$t=C(null),en=C(null),tn=C(null),nn=C(null),rn=C(null),an=C(null),on=C(null),sn=Ue(null),M=C(null),cn=C(null),ln=C({x:0,y:0}),un=C(`pointer`),dn=C(!1),N=C(xn()),P=h(()=>N.value.style.layout.cells),F=h(()=>N.value.style.layout.dataLabels),I=h(()=>N.value.style.layout);se({config:()=>N.value,dataset:()=>k.dataset,component:`VueUiHeatmap`,rules:[ce.emptyArray,ce.noHint]});let fn=h(()=>N.value.userOptions.useCursorPointer);function pn(){let e=Array(7).fill(`_`),t=[],n=e.length;for(let r=0;r<n;r+=1){let n=[];for(let e=0;e<14;e+=1)n.push(r+e*2);t.push({name:`${e[r]}`,values:n})}return t}let mn=h(()=>d({defaultConfig:{table:{show:!1},userOptions:{show:!1},style:{backgroundColor:`#99999930`,layout:{cells:{colors:{hot:`#999999`,cold:`#CACACA`},columnTotal:{value:{show:!1}},rowTotal:{value:{show:!1}},value:{show:!1}},dataLabels:{xAxis:{show:!1},yAxis:{show:!1}}}}},userConfig:N.value.skeletonConfig??{}})),{loading:hn,FINAL_DATASET:L,manualLoading:gn}=ae({...We(k),FINAL_CONFIG:N,prepareConfig:xn,callback:()=>{Promise.resolve().then(async()=>{await Le(),A.value&&p(A.value,{delta:.1,delay:250})})},skeletonDataset:k.config?.skeletonDataset??pn(),skeletonConfig:d({defaultConfig:N.value,userConfig:mn.value})}),{userOptionsVisible:_n,setUserOptionsVisibility:vn,keepUserOptionState:yn}=De({config:N.value}),{svgRef:R}=Oe({config:N.value.style.title});function bn(e){vn(e)}function xn(){let e=ue({userConfig:k.config,defaultConfig:It}),t={},n=e.theme;if(n){if(!Lt.value(e))Rt(e),t=e;else{let r=ue({userConfig:Ae[n]||k.config,defaultConfig:e});t={...ue({userConfig:k.config,defaultConfig:r})}}}else t=e;return t}let Sn=a(k.config);qe(()=>k.config,(e,t)=>{let n=a(e),r=n!==Sn;Sn=n;let i=xn();r?(hn.value||(N.value=i),_n.value=!N.value.userOptions.showOnChartHover,Mn(),qt.value+=1,z.value.showTable=N.value.table.show,z.value.showTooltip=N.value.style.tooltip.show,N.value.responsive||(Nn.value=I.value.width,Pn.value=I.value.height)):(N.value.style.tooltip=i.style.tooltip,z.value.showTooltip=N.value.style.tooltip.show)},{deep:!0}),qe(()=>k.dataset,e=>{Array.isArray(e)&&e.length>0&&(gn.value=!1),Mn()},{deep:!0});let{isPrinting:Cn,isImaging:wn,generatePdf:Tn,generateImage:En}=xe({elementId:`heatmap__${Vt.value}`,fileName:N.value.style.title.text||`vue-ui-heatmap`,options:N.value.userOptions.print}),Dn=h(()=>N.value.userOptions.show&&!N.value.style.title.text),z=C({showTable:N.value.table.show,showTooltip:N.value.style.tooltip.show});qe(N,()=>{z.value={showTable:N.value.table.show,showTooltip:N.value.style.tooltip.show}},{immediate:!0});let On=h(()=>N.value.table.responsiveBreakpoint),B=C(null),kn=C(!1),An=0,jn=h(()=>N.value.debug);function Mn(){ie(k.dataset)&&(c({componentName:`VueUiHeatmap`,type:`dataset`,debug:jn.value}),Bt.value=!1,gn.value=!0),ie(k.dataset)||(gn.value=N.value.loading),N.value.responsive&&(B.value&&(sn.value&&B.value.unobserve(sn.value),B.value.disconnect()),B.value=new ResizeObserver(()=>{let{width:e,height:t}=we({chart:A.value,title:N.value.style.title.text?Zt.value:null,source:on.value,noTitle:Qt.value});cancelAnimationFrame(An),An=requestAnimationFrame(()=>{Nn.value=e,Pn.value=t,kn.value=!0})}),sn.value=A.value.parentNode,B.value.observe(sn.value))}ze(()=>{cancelAnimationFrame(An),B.value&&(sn.value&&B.value.unobserve(sn.value),B.value.disconnect())}),Be(()=>{Mn()});let V=h(()=>Math.max(...L.value.flatMap(e=>(e.values||[]).length))),Nn=C(I.value.width),Pn=C(I.value.height),H=h(()=>({width:Math.max(10,Nn.value),height:Math.max(10,Pn.value)})),{metrics:Fn,ready:In,update:Ln}=Se({svgRef:R,canMeasure:()=>(!N.value.responsive||kn.value)&&(!(F.value.xAxis.show||P.value.columnTotal.value.show)||Gn.value)&&(!F.value.yAxis.show||Wn.value),initialMetrics:{topLabelsHeight:0,leftLabelsWidth:0,xAxisSumLabelsHeight:0},measure:e=>({topLabelsHeight:e(nn.value).height,leftLabelsWidth:e(en.value).width,xAxisSumLabelsHeight:e(rn.value).height})}),Rn=h(()=>Fn.value.topLabelsHeight),zn=h(()=>Fn.value.leftLabelsWidth),Bn=h(()=>Fn.value.xAxisSumLabelsHeight),U=h(()=>Math.min(H.value.height,H.value.width)/1e3*P.value.spacing),W=h(()=>{let e=0;N.value.style.legend.show&&(e=N.value.style.legend.width);let t=I.value.padding,n=F.value.xAxis.fontSize/3,r=F.value.xAxis.fontSize/2,i=H.value.height-t.top-t.bottom-Rn.value-n,a=H.value.width/60,o={x:U.value*V.value,y:U.value*((L.value||[]).length+1)},s=H.value.width-t.left-t.right-o.x-a*2-2-e-zn.value,c=i-a-o.y-Bn.value-r-P.value.columnTotal.value.offsetY,l={width:Math.max(3,s/V.value),height:Math.max(3,c/(L.value.length??1))};return{top:t.top+Rn.value+a+n,topLabelsHeight:Rn.value,sumCellXHeight:a,height:c,left:t.left+zn.value+a/2,right:t.right-e,bottom:H.value.height-t.bottom-Bn.value,width:s,cellSize:l}}),Vn=h(()=>Math.max(...L.value.flatMap(e=>e.values))),Hn=h(()=>Math.min(...L.value.flatMap(e=>e.values))),G=h(()=>P.value.scaleMax===null?Vn.value:P.value.scaleMax),K=h(()=>P.value.scaleMin===null?Hn.value:P.value.scaleMin),q=h(()=>{let e=L.value.flatMap(e=>e.values);return e.reduce((e,t)=>e+t,0)/e.length}),Un=C([]),Wn=C(!1),Gn=C(!1),Kn=C([]),qn=0;Je(()=>{let e=++qn;(async()=>{let t=F.value.yAxis,n=await be({values:t.values.length?t.values:L.value.map(e=>e.name),maxDatapoints:L.value.length,formatter:t.datetimeFormatter,start:0,end:L.value.length});e===qn&&(Un.value=n,Wn.value=!0)})()});let Jn=0;Je(()=>{let e=++Jn;(async()=>{let t=F.value.xAxis,n=await be({values:t.values,maxDatapoints:V.value,formatter:t.datetimeFormatter,start:0,end:V.value});e===Jn&&(Kn.value=n,Gn.value=!0)})()});function J(e,t,n){if(t===n)return P.value.colors.hot;let r=Math.min(Math.max(e,t),n);return o(P.value.colors.cold,P.value.colors.hot,t,n,r)}function Yn(e){if([void 0,null].includes(e))return 0;let t=K.value,n=G.value;if(t===n)return 0;let r=(e-t)/(n-t);return(1-Math.min(Math.max(r,0),1))*100}let Y=h(()=>{let e=Un.value.map(e=>e.text),t=Kn.value.map(e=>e.text),n=P.value.scaleMin!==null||P.value.scaleMax!==null,r=L.value.map(e=>e.values.reduce((e,t)=>e+t,0)),i=L.value.map(e=>Math.max(1,e.values.length)),a=Math.max(...r),o=Math.min(...r),s=[],c=[];for(let e=0;e<V.value;e+=1){let t=0,n=0;L.value.forEach(r=>{e<r.values.length&&(t+=r.values[e]||0,n+=1)}),s.push(t),c.push(Math.max(1,n))}let l=Math.max(...s),u=Math.min(...s);return{yTotals:r.map((e,t)=>{let r=isNaN(e/a)?0:e/a,s=i[t],c=K.value*s,l=G.value*s;return{total:e,proportion:r,color:n?J(e,c,l):J(e,o,a)}}),xTotals:s.map((e,t)=>{let r=isNaN(e/l)?0:e/l,i=c[t],a=K.value*i,o=G.value*i;return{total:e,proportion:r,color:n?J(e,a,o):J(e,u,l)}}),yLabels:e,xLabels:t.slice(0,V.value)}}),X=h(()=>(L.value.forEach((e,t)=>{re({datasetObject:e,requiredAttributes:[`values`]}).forEach(e=>{c({componentName:`VueUiHeatmap`,type:`datasetSerieAttribute`,property:`values`,index:t,debug:jn.value})})}),L.value.map((e,t)=>({...e,temperatures:(e.values||[]).map((e,n)=>e>=q.value?{side:`up`,color:J(e,K.value,G.value),ratio:Math.abs(Math.abs(e-q.value)/Math.abs(Vn.value-q.value))>1?1:Math.abs(Math.abs(e-q.value)/Math.abs(Vn.value-q.value)),value:e,yAxisName:Y.value.yLabels[t],xAxisName:Y.value.xLabels[n],id:`vue-data-ui-heatmap-cell-${s()}`}:{side:`down`,ratio:Math.abs(1-Math.abs(e)/Math.abs(q.value))>1?1:Math.abs(1-Math.abs(e)/Math.abs(q.value)),color:J(e,K.value,G.value),value:e,yAxisName:Y.value.yLabels[t],xAxisName:Y.value.xLabels[n],id:`vue-data-ui-heatmap-cell-${s()}`})})))),Xn=h(()=>X.value.flatMap((e,t)=>e.temperatures.map((e,n)=>{let r=W.value.left+W.value.cellSize.width*n,i=W.value.top+W.value.cellSize.height*t;return{datapoint:e,rowIndex:t,columnIndex:n,x:r+U.value/2+W.value.sumCellXHeight,y:i+U.value/2,width:W.value.cellSize.width-U.value,height:W.value.cellSize.height-U.value,labelX:r+W.value.cellSize.width/2+W.value.sumCellXHeight,labelY:i+W.value.cellSize.height/2+P.value.value.fontSize/3,selectionX:r,selectionY:i}}))),Zn=h(()=>L.value.length),Qn=Ve(Array(Zn.value*V.value||1).fill(!1)),$n=h(()=>Qn.some(e=>e));function er(e,t){Qn[e]=t}let tr=Ve(Array(Zn.value*V.value||1).fill(!1)),nr=h(()=>tr.some(e=>e));function rr(e,t){tr[e]=t}let Z=C(null),ir=C(null);function ar(){Ht.value=!1,Wt.value=void 0,Z.value=null,j.value=null,M.value=null,cn.value=null}function or(e){if(!R.value||!e)return;let t=R.value.querySelector(`[data-a11y-cell-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();ln.value={x:n.left+n.width/2,y:n.top+n.height/2}}function sr(e,t,r,a,o=`pointer`,s=null){let c=W.value.cellSize.width-U.value,l={...e,x:r+c,y:a,width:W.value.cellSize.width-U.value,height:W.value.cellSize.height-U.value};if(N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:l,seriesIndex:t}),!z.value.showTooltip)return;un.value=o,M.value=s,cn.value=e.id,j.value={x:r,y:a};let{value:d,yAxisName:f,xAxisName:p,id:te}=e;Wt.value=te,Z.value=d,ir.value={datapoint:e,seriesIndex:t,series:X.value,config:N.value},Ht.value=!0;let ne=``,re=N.value.style.tooltip.customFormat;i(re)&&ee(()=>re({datapoint:e,seriesIndex:t,series:X.value,config:N.value}))?Ut.value=re({datapoint:e,seriesIndex:t,series:X.value,config:N.value}):(ne+=`<div>${f} ${p?f?` - ${p}`:`${p}`:``}</div>`,ne+=`<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${N.value.style.tooltip.borderColor};font-weight:bold;display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:center"><span style="color:${J(d,K.value,G.value)}">⬤</span><span>${isNaN(d)?`-`:u(P.value.value.formatter,d,n({p:F.value.prefix,v:d,s:F.value.suffix,r:N.value.style.tooltip.roundingValue}),{datapoint:e,seriesIndex:t})}</span></div>`,Ut.value=`<div style="font-size:${N.value.style.tooltip.fontSize}px">${ne}</div>`),o===`keyboard`&&Le(()=>{or(e.id)})}function cr({datapoint:e,seriesIndex:t}){N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:t}),(cn.value!==e.id||un.value!==`keyboard`)&&(Ht.value=!1,Wt.value=void 0,Z.value=null,j.value=null)}function lr(e){return u(P.value.value.formatter,Y.value.yTotals[e].total,n({p:F.value.prefix,v:Y.value.yTotals[e].total,s:F.value.suffix,r:P.value.value.roundingValue}),{datapoint:Y.value.yTotals[e],rowIndex:e})}function ur(e){return u(P.value.value.formatter,Y.value.xTotals[e].total,n({p:F.value.prefix,v:Y.value.xTotals[e].total,s:F.value.suffix,r:P.value.value.roundingValue}),{datapoint:Y.value.xTotals[e],colIndex:e})}h(()=>({head:L.value.map(e=>({name:e.name})),body:L.value.map(e=>e.values)}));function dr(e=null){Le(()=>{let t=[``,...L.value.map((e,t)=>e.name)],n=[];for(let e=0;e<Y.value.xLabels.length;e+=1){let t=[Y.value.xLabels[e]];for(let n=0;n<L.value.length;n+=1)t.push([L.value[n].values[e]]);n.push(t)}let i=[[N.value.style.title.text],[N.value.style.title.subtitle.text],[[``],[``],[``]],t].concat(n),a=r(i);e?e(a):f({csvContent:a,title:N.value.style.title.text||`vue-ui-heatmap`})})}let Q=C(!1);function fr(e){Q.value=e,Gt.value+=1}function pr(){z.value.showTable=!z.value.showTable}function mr(){z.value.showTooltip=!z.value.showTooltip}let hr=C(!1);function gr(){hr.value=!hr.value}function _r(e,t){N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:t}),zt(`selectDatapoint`,e)}function vr(){return X.value}async function yr({scale:e=2}={}){if(!A.value)return;let{width:t,height:n}=A.value.getBoundingClientRect(),r=t/n,{imageUri:i,base64:a}=await fe({domElement:A.value,base64:!0,img:!0,scale:e});return{imageUri:i,base64:a,title:N.value.style.title.text,width:t,height:n,aspectRatio:r}}let br=h(()=>({start:0,end:V.value})),xr=h(()=>Y.value.xLabels);Ce({timeLabelsEls:nn,timeLabels:xr,slicer:br,configRef:N,rotationPath:[`style`,`layout`,`dataLabels`,`xAxis`,`rotation`],autoRotatePath:[`style`,`layout`,`dataLabels`,`xAxis`,`autoRotate`,`enable`],isAutoSize:!1,targetClass:`.vue-ui-heatmap-col-name`,rotation:F.value.xAxis.autoRotate.angle,width:Nn,height:Pn}),Ce({timeLabelsEls:rn,timeLabels:xr,slicer:br,configRef:N,rotationPath:[`style`,`layout`,`cells`,`columnTotal`,`value`,`rotation`],autoRotatePath:[`style`,`layout`,`cells`,`columnTotal`,`value`,`autoRotate`,`enable`],isAutoSize:!1,targetClass:`.vue-ui-heatmap-col-total`,rotation:P.value.columnTotal.value.autoRotate.angle,width:Nn,height:Pn});let Sr=h(()=>he({config:N,style:{value:N.value.style},mutableConfig:z,dialog:Ft,accordion:Te,isFullscreen:Q,parent:A,maxWidth:800,isCursorPointer:fn}));qe(()=>z.value.showTable,async e=>{N.value.table.show||(e&&N.value.table.useDialog&&Yt.value?(await Le(),Yt.value.open()):`close`in Yt.value&&Yt.value.close())});let{isResponsive:Cr}=ke(Kt,On);function wr(){z.value.showTable=!1,Xt.value&&Xt.value.setTableIconState(!1)}let Tr=h(()=>N.value.style.backgroundColor),Er=h(()=>N.value.style.title),{isCallbackImaging:Dr,isCallbackSvg:Or,generateSvg:kr,onGenerateImage:Ar}=me({svg:R,title:Er,legend:null,legendItems:null,backgroundColor:Tr,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:En});async function jr(){zt(`copyAlt`,{config:N.value,dataset:X.value}),N.value.userOptions.callbacks.altCopy?await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:X.value})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}function Mr(e,t){let n=X.value[e];if(!n)return null;let r=n.temperatures[t];return r?{cell:r,rowIndex:e,columnIndex:t}:null}function Nr(e,t){let n=0;for(let t=0;t<e;t+=1)n+=X.value[t]?.temperatures?.length||0;return n+t}function Pr(){M.value=null,cn.value=null,dn.value=!0}function Fr(){ar(),dn.value=!1}function Ir(e){if(!R.value||hr.value||document.activeElement!==R.value||!$.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`ArrowUp`,i=e.key===`ArrowDown`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){ar();return}if(a){if(M.value===null)return;let e=$.value[M.value];if(!e)return;_r(e.cell,e.rowIndex);return}let s=M.value===null?null:$.value[M.value];if(!s){let e=Wt.value?$.value.findIndex(e=>e.cell.id===Wt.value):null;if(e!==null&&e>=0&&e<$.value.length){let a=$.value[e];if(!a)return;let o=a.rowIndex,s=a.columnIndex;n?s+=1:t?--s:i?o+=1:r&&--o;let c=Rr.value.rowCount;if(c<=0)return;o<0&&(o=c-1),o>=c&&(o=0);let l=X.value[o];if(!l||!l.temperatures.length)return;let u=l.temperatures.length;s<0&&(s=u-1),s>=u&&(s=0);let d=Mr(o,s);if(!d)return;let f=Nr(o,s),p=W.value.left+W.value.cellSize.width*d.columnIndex,ee=W.value.top+W.value.cellSize.height*d.rowIndex;sr(d.cell,d.rowIndex,p,ee,`keyboard`,f);return}let a=$.value[0];if(!a)return;let o=W.value.left+W.value.cellSize.width*a.columnIndex,s=W.value.top+W.value.cellSize.height*a.rowIndex;sr(a.cell,a.rowIndex,o,s,`keyboard`,0);return}let c=s.rowIndex,l=s.columnIndex;n?l+=1:t?--l:i?c+=1:r&&--c;let u=Rr.value.rowCount;if(u<=0)return;c<0&&(c=u-1),c>=u&&(c=0);let d=X.value[c];if(!d||!d.temperatures.length)return;let f=d.temperatures.length;l<0&&(l=f-1),l>=f&&(l=0);let p=Mr(c,l);if(!p)return;let ee=Nr(c,l),te=W.value.left+W.value.cellSize.width*p.columnIndex,ne=W.value.top+W.value.cellSize.height*p.rowIndex;sr(p.cell,p.rowIndex,te,ne,`keyboard`,ee)}let Lr=h(()=>({headers:[N.value.table.colNames.xAxis,...L.value.map(e=>e.name)],rows:Y.value.xLabels.map((e,t)=>[e,...L.value.map(e=>{let r=e.values?.[t];return isNaN(r)?`-`:n({p:F.value.prefix,v:r,s:F.value.suffix,r:N.value.table.td.roundingValue})})])})),Rr=h(()=>({rowCount:X.value.length,columnCount:Math.max(0,...X.value.map(e=>e.temperatures.length))})),$=h(()=>X.value.flatMap((e,t)=>e.temperatures.map((e,n)=>({cell:e,rowIndex:t,columnIndex:n}))));return le({getData:vr,getImage:yr,generatePdf:Tn,generateCsv:dr,generateImage:En,generateSvg:kr,toggleTable:pr,toggleTooltip:mr,toggleAnnotator:gr,toggleFullscreen:fr,copyAlt:jr}),qe(()=>[H.value,F.value,P.value,N.value.style.fontFamily,k.dataset,Kn.value,Un.value,Gn.value,Wn.value,kn.value,nn.value,en.value,rn.value],Ln,{flush:`post`,deep:!0}),(t,r)=>(S(),_(`div`,{ref_key:`heatmapChart`,ref:A,class:Re(`vue-data-ui-component vue-ui-heatmap ${Q.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:x(`font-family:${N.value.style.fontFamily};width:100%;${N.value.responsive?`height: 100%;`:``} text-align:center;background:${N.value.style.backgroundColor}`),id:`heatmap__${Vt.value}`,onMouseenter:r[1]||=()=>bn(!0),onMouseleave:r[2]||=()=>{bn(!1),dn.value||ar()}},[v(`div`,{id:`chart-instructions-${Vt.value}`,class:`sr-only`},[v(`p`,null,E(N.value.a11y.translations.keyboardNavigation),1)],8,tt),Lr.value?.rows?.length?(S(),je(Ee,{key:0,uid:Vt.value,head:Lr.value.headers,body:Lr.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):g(``,!0),N.value.userOptions.buttons.annotator?(S(),je(D(Mt),{key:1,svgRef:D(R),backgroundColor:N.value.style.backgroundColor,color:N.value.style.color,active:hr.value,isCursorPointer:fn.value,palette:N.value.userOptions.annotatorPalette,onClose:gr},Me({_:2},[w(D(_e),e=>({name:e,fn:O(n=>[T(t.$slots,e,b(y(D(ge)(e,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):g(``,!0),Dn.value?(S(),_(`div`,{key:2,ref_key:`noTitle`,ref:Qt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):g(``,!0),N.value.style.title.text?(S(),_(`div`,{key:3,ref_key:`chartTitle`,ref:Zt,style:`width:100%;background:transparent`},[(S(),je(pe,{key:`title_${qt.value}`,config:{title:{cy:`heatmap-div-title`,...N.value.style.title},subtitle:{cy:`heatmap-div-subtitle`,...N.value.style.title.subtitle}}},null,8,[`config`]))],512)):g(``,!0),N.value.userOptions.show&&Bt.value&&(D(yn)||D(_n))?(S(),je(D(Nt),{ref_key:`userOptionsRef`,ref:Xt,key:`user_options_${Gt.value}`,backgroundColor:N.value.style.backgroundColor,color:N.value.style.color,isImaging:D(wn),isPrinting:D(Cn),uid:Vt.value,hasTooltip:N.value.userOptions.buttons.tooltip&&N.value.style.tooltip.show,hasPdf:N.value.userOptions.buttons.pdf,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasXls:N.value.userOptions.buttons.csv,hasTable:N.value.userOptions.buttons.table,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isFullscreen:Q.value,isTooltip:z.value.showTooltip,titles:{...N.value.userOptions.buttonTitles},chartElement:A.value,position:N.value.userOptions.position,hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:hr.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:fn.value,onToggleFullscreen:fr,onGeneratePdf:D(Tn),onGenerateCsv:dr,onGenerateImage:D(Ar),onGenerateSvg:D(kr),onToggleTable:pr,onToggleTooltip:mr,onToggleAnnotator:gr,onCopyAlt:jr,style:x({visibility:D(yn)?D(_n)?`visible`:`hidden`:`visible`})},Me({_:2},[w(D(ve)(t.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),e=>({name:e,fn:O(n=>[T(t.$slots,e,b(y(D(ye)(e,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):g(``,!0),v(`div`,{class:Re({"vue-ui-heatmap-chart-wrapper":!0,"vue-ui-heatmap-chart-wrapper-legend-right":N.value.style.legend.show})},[(S(),_(`svg`,{ref_key:`svgRef`,ref:R,xmlns:D(ne),"aria-describedby":`chart-instructions-${Vt.value}`,class:Re({"vue-data-ui-fullscreen--on":Q.value,"vue-data-ui-fulscreen--off":!Q.value}),viewBox:`0 0 ${H.value.width} ${H.value.height}`,width:`100%`,style:x(`overflow: visible; background:transparent;color:${N.value.style.color};visibility:${D(In)?`visible`:`hidden`}`),"aria-live":`polite`,role:`img`,preserveAspectRatio:`xMidYMid`,tabindex:`0`,onFocus:Pr,onBlur:Fr,onKeydown:Ir},[Pe(D(Pt)),T(t.$slots,`svg-underlayer`,{svg:{...H.value,drawingArea:W.value,cells:Xn.value,isPrintingImg:D(Cn)||D(wn)||D(Dr),isPrintingSvg:D(Or)}},void 0,!0),t.$slots[`chart-background`]?(S(),_(`foreignObject`,{key:0,x:W.value.left,y:W.value.top,width:W.value.width,height:W.value.height,style:{pointerEvents:`none`}},[T(t.$slots,`chart-background`,{},void 0,!0)],8,rt)):g(``,!0),P.value.columnTotal.color.show?(S(),_(`g`,{key:1,ref_key:`xAxisSumRects`,ref:an},[(S(!0),_(m,null,w(Y.value.xTotals,(e,t)=>(S(),_(`rect`,{x:W.value.left+W.value.cellSize.width*t+U.value/2+W.value.sumCellXHeight,y:W.value.top-W.value.sumCellXHeight+U.value*(H.value.height/H.value.width),height:W.value.sumCellXHeight,width:W.value.cellSize.width-U.value,fill:P.value.colors.underlayer,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,it))),256)),(S(!0),_(m,null,w(Y.value.xTotals,(e,t)=>(S(),_(`rect`,{x:W.value.left+W.value.cellSize.width*t+U.value/2+W.value.sumCellXHeight,y:W.value.top-W.value.sumCellXHeight+U.value*(H.value.height/H.value.width),height:W.value.sumCellXHeight,width:W.value.cellSize.width-U.value,fill:e.color,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,at))),256))],512)):g(``,!0),v(`g`,{ref_key:`datapoints`,ref:Jt},[(S(!0),_(m,null,w(Xn.value,e=>(S(),_(`g`,null,[v(`rect`,{x:e.x,y:e.y,width:e.width,height:e.height,fill:P.value.colors.underlayer,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,ot),v(`rect`,{"data-a11y-cell-id":e.datapoint.id,x:e.x,y:e.y,width:e.width,height:e.height,fill:e.datapoint.color,stroke:N.value.style.backgroundColor,"stroke-width":U.value,"aria-label":`${e.datapoint.yAxisName}${e.datapoint.xAxisName?` - ${e.datapoint.xAxisName}`:``}: ${isNaN(e.datapoint.value)?`-`:e.datapoint.value}`,onMouseover:t=>sr(e.datapoint,e.rowIndex,e.selectionX,e.selectionY,`pointer`,Nr(e.rowIndex,e.columnIndex)),onMouseout:()=>cr({datapoint:e.datapoint,seriesIndex:e.rowIndex}),onClick:()=>_r(e.datapoint,e.rowIndex)},null,40,st),P.value.value.show?Ye((S(),_(`text`,{key:0,"text-anchor":`middle`,"font-size":P.value.value.fontSize,"font-weight":P.value.value.bold?`bold`:`normal`,fill:D(te)(e.datapoint.color),x:e.labelX,y:e.labelY,style:{pointerEvents:`none`,userSelect:`none`}},[Ne(E(D(u)(P.value.value.formatter,e.datapoint.value,D(n)({p:F.value.prefix,v:e.datapoint.value,s:F.value.suffix,r:P.value.value.roundingValue}),{datapoint:e.datapoint})),1)],8,ct)),[[D(Ze),{cellWidth:e.width,cellHeight:e.height,maxFontSize:P.value.value.fontSize,minFontSize:10,index:e.rowIndex*V.value+e.columnIndex,reportHide:rr,reportRotation:er,hideAll:nr.value,rotateAll:$n.value}]]):g(``,!0)]))),256))],512),P.value.rowTotal.color.show?(S(),_(`g`,{key:2,ref_key:`yAxisSumRects`,ref:tn},[(S(!0),_(m,null,w(X.value,(e,t)=>(S(),_(m,null,[v(`rect`,{x:W.value.left,y:W.value.top+W.value.cellSize.height*t,width:W.value.sumCellXHeight,height:W.value.cellSize.height-U.value,fill:P.value.colors.underlayer,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,lt),v(`rect`,{x:W.value.left,y:W.value.top+W.value.cellSize.height*t+U.value/2,width:W.value.sumCellXHeight,height:W.value.cellSize.height-U.value,fill:Y.value.yTotals[t].color,stroke:N.value.style.backgroundColor,"stroke-width":U.value},null,8,ut)],64))),256))],512)):g(``,!0),F.value.yAxis.show?(S(),_(`g`,{key:3,ref_key:`yAxisLabels`,ref:en},[(S(!0),_(m,null,w(X.value,(e,t)=>(S(),_(m,null,[v(`text`,{class:`vue-ui-heatmap-row-name`,"font-size":F.value.yAxis.fontSize,fill:F.value.yAxis.color,x:zn.value+F.value.yAxis.offsetX,y:W.value.top+W.value.cellSize.height*t+W.value.cellSize.height/2+F.value.yAxis.fontSize/3+F.value.yAxis.offsetY-(P.value.rowTotal.value.show?F.value.yAxis.fontSize/1.5:0),"text-anchor":`end`,"font-weight":F.value.yAxis.bold?`bold`:`normal`},E(Y.value.yLabels[t]),9,dt),P.value.rowTotal.value.show?(S(),_(`text`,{key:0,class:`vue-ui-heatmap-row-total`,"font-size":F.value.yAxis.fontSize,fill:F.value.yAxis.color,x:zn.value,y:W.value.top+W.value.cellSize.height*t+W.value.cellSize.height/2+F.value.yAxis.fontSize+F.value.yAxis.offsetY,"text-anchor":`end`,"font-weight":F.value.yAxis.bold?`bold`:`normal`},E(lr(t)),9,ft)):g(``,!0)],64))),256))],512)):g(``,!0),F.value.xAxis.show?(S(),_(`g`,{key:4,ref_key:`xAxisLabels`,ref:nn},[(S(!0),_(m,null,w(Y.value.xLabels,(e,t)=>(S(),_(m,null,[!F.value.xAxis.showOnlyAtModulo||F.value.xAxis.showOnlyAtModulo&&t%F.value.xAxis.showOnlyAtModulo===0?(S(),_(`text`,{key:0,class:`vue-ui-heatmap-col-name`,"text-anchor":F.value.xAxis.rotation===0?`middle`:F.value.xAxis.rotation<0?`start`:`end`,"font-size":F.value.xAxis.fontSize,fill:F.value.xAxis.color,"font-weight":F.value.xAxis.bold?`bold`:`normal`,transform:`translate(${W.value.left+W.value.cellSize.width/2+W.value.width/Y.value.xLabels.length*t+F.value.xAxis.offsetX+W.value.sumCellXHeight}, ${W.value.topLabelsHeight+F.value.xAxis.offsetY}), rotate(${F.value.xAxis.rotation})`},E(e),9,pt)):g(``,!0)],64))),256))],512)):g(``,!0),P.value.columnTotal.value.show?(S(),_(`g`,{key:5,ref_key:`xAxisSums`,ref:rn},[(S(!0),_(m,null,w(Y.value.xLabels,(e,t)=>(S(),_(`text`,{class:`vue-ui-heatmap-col-total`,"text-anchor":P.value.columnTotal.value.rotation===0?`middle`:P.value.columnTotal.value.rotation<0?`end`:`start`,"font-size":F.value.xAxis.fontSize,fill:F.value.xAxis.color,"font-weight":F.value.xAxis.bold?`bold`:`normal`,transform:`translate(${W.value.left+W.value.cellSize.width/2+W.value.width/Y.value.xLabels.length*t+F.value.xAxis.offsetX+P.value.columnTotal.value.offsetX+W.value.sumCellXHeight}, ${W.value.bottom+F.value.xAxis.fontSize/2}), rotate(${P.value.columnTotal.value.rotation})`},E(ur(t)),9,mt))),256))],512)):g(``,!0),j.value?(S(),_(`g`,ht,[v(`rect`,{style:{"pointer-events":`none`},x:j.value.x-P.value.selected.border/2+U.value+W.value.sumCellXHeight,y:j.value.y-P.value.selected.border/2+U.value,width:W.value.cellSize.width-U.value+P.value.selected.border-U.value,height:W.value.cellSize.height-U.value+P.value.selected.border-U.value,fill:`transparent`,stroke:P.value.selected.color,"stroke-width":P.value.selected.border,rx:1},null,8,gt)])):g(``,!0),I.value.crosshairs.show&&j.value?(S(),_(`g`,_t,[v(`line`,{x1:W.value.left+W.value.sumCellXHeight,x2:j.value.x+W.value.sumCellXHeight,y1:j.value.y+(W.value.cellSize.height-U.value)/2,y2:j.value.y+(W.value.cellSize.height-U.value)/2,stroke:I.value.crosshairs.stroke,"stroke-width":I.value.crosshairs.strokeWidth,"stroke-dasharray":I.value.crosshairs.strokeDasharray,"stroke-linecap":`round`},null,8,vt),v(`line`,{x1:j.value.x+W.value.sumCellXHeight+(W.value.cellSize.width-U.value)/2,x2:j.value.x+W.value.sumCellXHeight+(W.value.cellSize.width-U.value)/2,y1:j.value.y,y2:W.value.top,stroke:I.value.crosshairs.stroke,"stroke-width":I.value.crosshairs.strokeWidth,"stroke-dasharray":I.value.crosshairs.strokeDasharray,"stroke-linecap":`round`},null,8,yt)])):g(``,!0),T(t.$slots,`svg`,{svg:{...H.value,drawingArea:W.value,cells:Xn.value,isPrintingImg:D(Cn)||D(wn)||D(Dr),isPrintingSvg:D(Or)}},void 0,!0)],46,nt)),N.value.style.legend.show?(S(),_(`div`,{key:0,ref_key:`legendRight`,ref:$t,class:`vue-ui-heatmap-legend-right`,style:x({"--legend-width":N.value.style.legend.width+`px`})},[D(hn)?g(``,!0):(S(),_(`div`,{key:0,class:`vue-ui-heatmap-legend-label-max`,style:x({fontSize:N.value.style.legend.fontSize+`px`,color:N.value.style.legend.color})},E(D(u)(P.value.value.formatter,D(l)(G.value),D(n)({p:F.value.prefix,v:D(l)(G.value),s:F.value.suffix,r:N.value.style.legend.roundingValue}))),5)),v(`div`,bt,[v(`div`,{class:`vue-ui-heatmap-gauge`,style:x({background:`linear-gradient(to bottom, ${P.value.colors.hot}, ${P.value.colors.cold})`})},[Ye(v(`div`,{class:`vue-ui-heatmap-gauge-indicator`,"data-value":D(u)(P.value.value.formatter,D(l)(Z.value),D(n)({p:F.value.prefix,v:D(l)(Z.value),s:F.value.suffix,r:N.value.style.legend.roundingValue})),style:x({position:`absolute`,width:`100%`,height:`2px`,background:[void 0,null].includes(Z.value)?`transparent`:D(te)(ir.value.datapoint.color),top:`${Yn(Z.value)}%`,transition:`all 0.2s ease-in-out`,"--background-color":N.value.style.backgroundColor,"--gauge-arrow-color":D(te)(N.value.style.backgroundColor),"--gauge-arrow-text-color":D(te)(N.value.style.backgroundColor),"--gauge-arrow-value":Z.value,"--gauge-arrow-font-size":N.value.style.legend.fontSize+`px`})},[v(`div`,St,E(D(u)(P.value.value.formatter,D(l)(Z.value),D(n)({p:F.value.prefix,v:D(l)(Z.value),s:F.value.suffix,r:N.value.style.legend.roundingValue}))),1)],12,xt),[[Ke,![void 0,null].includes(Z.value)]])],4)]),D(hn)?g(``,!0):(S(),_(`div`,{key:1,class:`vue-ui-heatmap-legend-label-min`,style:x({fontSize:N.value.style.legend.fontSize+`px`,color:N.value.style.legend.color})},E(D(u)(P.value.value.formatter,D(l)(K.value),D(n)({p:F.value.prefix,v:D(l)(K.value),s:F.value.suffix,r:N.value.style.legend.roundingValue}))),5))],4)):g(``,!0),t.$slots.hint?(S(),_(`div`,Ct,[T(t.$slots,`hint`,b(y({hint:N.value.a11y.translations.keyboardNavigation,isVisible:dn.value})),void 0,!0)])):g(``,!0)],2),t.$slots.watermark?(S(),_(`div`,wt,[T(t.$slots,`watermark`,b(y({isPrinting:D(Cn)||D(wn)||D(Dr)||D(Or)})),void 0,!0)])):g(``,!0),t.$slots.source?(S(),_(`div`,{key:6,ref_key:`source`,ref:on,dir:`auto`},[T(t.$slots,`source`,{},void 0,!0)],512)):g(``,!0),Pe(D($e),{teleportTo:N.value.style.tooltip.teleportTo,show:z.value.showTooltip&&Ht.value,backgroundColor:N.value.style.tooltip.backgroundColor,color:N.value.style.tooltip.color,borderRadius:N.value.style.tooltip.borderRadius,borderColor:N.value.style.tooltip.borderColor,borderWidth:N.value.style.tooltip.borderWidth,fontSize:N.value.style.tooltip.fontSize,backgroundOpacity:N.value.style.tooltip.backgroundOpacity,position:N.value.style.tooltip.position,offsetX:N.value.style.tooltip.offsetX,offsetY:N.value.style.tooltip.offsetY,parent:A.value,content:Ut.value,isFullscreen:Q.value,isCustom:N.value.style.tooltip.customFormat&&typeof N.value.style.tooltip.customFormat==`function`,smooth:N.value.style.tooltip.smooth,backdropFilter:N.value.style.tooltip.backdropFilter,smoothForce:N.value.style.tooltip.smoothForce,smoothSnapThreshold:N.value.style.tooltip.smoothSnapThreshold,isA11yMode:un.value===`keyboard`,a11yPosition:ln.value},{"tooltip-before":O(()=>[T(t.$slots,`tooltip-before`,b(y({...ir.value})),void 0,!0)]),tooltip:O(()=>[T(t.$slots,`tooltip`,b(y({...ir.value})),void 0,!0)]),"tooltip-after":O(()=>[T(t.$slots,`tooltip-after`,b(y({...ir.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Bt.value&&N.value.userOptions.buttons.table?(S(),je(He(Sr.value.component),Ie({key:7},Sr.value.props,{ref_key:`tableUnit`,ref:Yt,onClose:wr}),Me({content:O(()=>[v(`div`,{ref_key:`tableContainer`,ref:Kt,class:`vue-ui-heatmap-table atom-data-table`,style:x(`${N.value.table.useDialog?``:`max-height: 300px; margin-top: 24px;`}`)},[v(`div`,{style:x(`width:100%;overflow-x:auto;position:relative;${N.value.table.useDialog?``:`padding-top:36px`};`),class:Re({"vue-ui-responsive":D(Cr)})},[N.value.table.useDialog?g(``,!0):(S(),_(`div`,{key:0,role:`button`,tabindex:`0`,style:x(`width:32px; position: absolute; top: 0; left:4px; padding: 0 0px; display: flex; align-items:center;justify-content:center;height: 36px; width: 32px; cursor:pointer; background:${N.value.table.th.backgroundColor};`),onClick:wr,onKeypress:Xe(wr,[`enter`])},[Pe(D(jt),{name:`close`,stroke:N.value.table.th.color,"stroke-width":2},null,8,[`stroke`])],36)),v(`table`,Tt,[N.value.table.useDialog?g(``,!0):(S(),_(`caption`,{key:0,style:x(`backgroundColor:${N.value.table.th.backgroundColor};color:${N.value.table.th.color};outline:${N.value.table.th.outline}`)},[Ne(E(N.value.style.title.text)+` `,1),N.value.style.title.subtitle.text?(S(),_(`span`,Et,E(N.value.style.title.subtitle.text),1)):g(``,!0)],4)),v(`thead`,null,[v(`tr`,{role:`row`,style:x(`background:${N.value.table.th.backgroundColor};color:${N.value.table.th.color}`)},[v(`th`,{style:x(`outline:${N.value.table.th.outline};padding-right:6px`)},null,4),(S(!0),_(m,null,w(e.dataset,(e,t)=>(S(),_(`th`,{align:`right`,style:x(`outline:${N.value.table.th.outline};padding-right:6px`)},E(e.name),5))),256))],4)]),v(`tbody`,null,[(S(!0),_(m,null,w(Y.value.xLabels,(t,r)=>(S(),_(`tr`,{role:`row`,class:Re({"vue-ui-data-table__tbody__row":!0,"vue-ui-data-table__tbody__row-even":r%2==0,"vue-ui-data-table__tbody__row-odd":r%2!=0}),style:x(`background:${N.value.table.td.backgroundColor};color:${N.value.table.td.color}`)},[v(`td`,{"data-cell":N.value.table.colNames.xAxis,class:`vue-ui-data-table__tbody__td`,style:x(`outline:${N.value.table.td.outline}`)},[v(`div`,Ot,E(t),1)],12,Dt),(S(!0),_(m,null,w(e.dataset,(t,i)=>(S(),_(`td`,{class:`vue-ui-data-table__tbody__td`,"data-cell":e.dataset[i].name,style:x(`outline:${N.value.table.td.outline}`)},[v(`div`,At,E(isNaN(t.values[r])?`-`:D(n)({p:F.value.prefix,v:t.values[r],s:F.value.suffix,r:N.value.table.td.roundingValue})),1)],12,kt))),256))],6))),256))])])],6)],4)]),_:2},[N.value.table.useDialog?{name:`title`,fn:O(()=>[Ne(E(Sr.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:O(()=>[v(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:r[0]||=e=>dr(N.value.userOptions.callbacks.csv),style:x({cursor:fn.value?`pointer`:`default`})},[Pe(D(jt),{name:`fileCsv`,stroke:Sr.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):g(``,!0),T(t.$slots,`skeleton`,{},()=>[D(hn)?(S(),je(oe,{key:0})):g(``,!0)],!0)],46,et))}},[[`__scopeId`,`data-v-32c9a6c8`]]);export{$e as n,jt as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Ht as i,X as a,a as o,i as s,nn as c,nt as l,r as u,x as d}from"./lib-rPeBMZrn.js";import{n as f,t as p}from"./useHints-C-TwxM0Y.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as h}from"./useNestedProp-DnGoh-XS.js";import{t as ee}from"./useThemeCheck-BKNRbGeC.js";import{t as te}from"./chartImage-DPGnEuYM.js";import{n as ne}from"./Title-BliHuXfT.js";import{t as re}from"./useChartExport-BZts4KFb.js";import{n as ie,t as ae}from"./annotationSlots-BRR85CqJ.js";import{n as oe,t as se}from"./userOptionsSlots-DYuo-E5m.js";import{t as ce}from"./usePrinter-DVf3YcG5.js";import{t as le}from"./useTransitions-ChGGrtrv.js";import{t as ue}from"./useUserOptionState-CXlFnwPv.js";import{t as de}from"./vue_ui_hill-DQi4pQCG.js";import{Fragment as g,computed as _,createBlock as fe,createCommentVNode as v,createElementBlock as y,createElementVNode as b,createSlots as pe,createVNode as me,defineAsyncComponent as he,guardReactiveProps as ge,nextTick as _e,normalizeClass as ve,normalizeProps as ye,normalizeStyle as x,onBeforeUnmount as be,onMounted as xe,openBlock as S,ref as C,renderList as w,renderSlot as T,shallowRef as Se,toDisplayString as E,unref as D,useTemplateRef as Ce,watch as we,withCtx as Te,withKeys as Ee,withModifiers as O}from"vue";var De=/* @__PURE__ */ e({default:()=>xt}),Oe=[`id`,`data-editing`],ke={key:0,ref:`chartTitle`,style:`width:100%;background:transparent;padding-bottom:24px`},Ae={key:3,class:`vue-ui-hill__toolbar`,"data-dom-to-png-ignore":``},je=[`viewBox`],Me=[`width`,`height`],Ne=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Pe=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Fe=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Ie={key:0,"pointer-events":`none`},Le=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Re=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],ze=[`transform`,`font-size`,`fill`,`stroke`],Be=[`transform`,`data-datapoint-index`,`data-datapoint-id`,`tabindex`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`onFocus`,`onBlur`,`onKeydown`,`onPointerenter`,`onPointerleave`,`onClick`],Ve=[`r`,`onPointerdown`],He=[`r`,`fill`,`stroke`,`stroke-width`],Ue=[`stroke`,`stroke-width`],We=[`d`],Ge=[`x`,`y`,`text-anchor`,`fill`,`font-size`,`font-weight`,`stroke`,`stroke-width`],Ke=[`transform`,`tabindex`,`aria-label`,`aria-expanded`,`onClick`,`onFocus`,`onKeydown`],qe={key:0,class:`vue-ui-hill__stack-overflow-collapse-ghosts`,"pointer-events":`none`,"aria-hidden":`true`},Je=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ye=[`from`,`dur`],Xe=[`from`,`dur`],Ze=[`from`,`to`,`dur`],Qe=[`dur`],$e=[`r`],et=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`],tt=[`stroke`,`stroke-width`],nt=[`d`],rt=[`y`,`fill`,`font-size`,`font-weight`,`stroke`],it=[`x`,`y`,`fill`,`font-size`,`font-weight`,`letter-spacing`],at=[`x`,`y`,`fill`,`font-size`,`font-weight`,`letter-spacing`],ot=[`x`,`y`,`rx`,`width`,`height`,`fill`],st=[`id`],ct=[`x`,`y`,`width`,`height`,`rx`,`ry`],lt=[`clip-path`],ut=[`width`,`x`,`y`,`fill`,`height`,`onPointerenter`,`onPointerleave`],dt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],ft=[`x`,`y`,`width`,`height`,`rx`,`ry`,`stroke`,`stroke-width`],pt=[`x`,`y`,`fill`,`font-size`],mt=[`aria-label`,`onKeydown`],ht={key:0,class:`vue-ui-hill__stack-overflow-menu-title`},gt=[`disabled`,`aria-label`,`onClick`],_t={class:`vue-ui-hill__stack-overflow-menu-label`},vt={class:`vue-ui-hill__stack-overflow-menu-value`},yt={key:6,class:`vue-data-ui-watermark`},bt={key:7,class:`vue-ui-hill__loading`,"data-dom-to-png-ignore":``},xt=/*#__PURE__*/ m({__name:`vue-ui-hill`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`edit`,`save`,`cancel`,`copyAlt`,`change`,`dragStart`,`dragEnd`,`datapointEnter`,`datapointLeave`,`selectDatapoint`],setup(e,{expose:m,emit:De}){let xt=he(()=>import(`./HillActions-qz6J_uK7.js`)),St=he(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Ct=he(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),wt=he(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Tt=he(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),{vue_ui_hill:Et}=t(),{isThemeValid:Dt,warnInvalidTheme:Ot}=ee(),kt=e,At=C(a()),k=Se(null),jt=Ce(`hillChartRef`),A=Ce(`svgRef`),Mt=Ce(`overflowMenuRef`),Nt=Ce(`userOptionsRef`),Pt=C(0),Ft=De;function It(){let e=h({userConfig:kt.config,defaultConfig:Et}),t={},n=e.theme;if(!n)t=e;else if(!Dt.value(e))Ot(e),t=e;else{let r=h({userConfig:de[n]||kt.config,defaultConfig:e});t={...h({userConfig:kt.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:c[n]||$t}}return t}let j=C(It()),M=_(()=>j.value.style.chart.layout.plots),N=_(()=>j.value.style.chart);f({config:()=>j.value,dataset:()=>kt.dataset,component:`VueUiHill`,rules:[p.emptyArray,p.noHint]});let{transitionEnabled:P}=le({config:()=>j.value.transitions,dataset:()=>kt.dataset}),{userOptionsVisible:Lt,setUserOptionsVisibility:Rt,keepUserOptionState:zt}=ue({config:j.value});function Bt(){Rt(!0)}function Vt(){Rt(!1),Qn.value=null,Q.value=null,Zn.value=null}let{isPrinting:Ht,isImaging:Ut,generatePdf:Wt,generateImage:Gt}=ce({elementId:`hill_${At.value}`,fileName:N.value.title.text||`vue-ui-hill`,options:j.value.userOptions.print}),Kt=_(()=>j.value.userOptions.useCursorPointer),qt=C(0),Jt=C(!1);function Yt(e){Jt.value=e,qt.value+=1}let Xt=C(!1);function Zt(){Xt.value=!Xt.value}let Qt=_(()=>j.value.userOptions.position===`left`?`right`:`left`);we(()=>kt.config,()=>{k.value=null,j.value=It(),qt.value+=1,F.value!==j.value.editing&&(F.value=j.value.editing&&!j.value.readonly)},{deep:!0});let $t=_(()=>{let e=j.value.customPalette;return Array.isArray(e)&&e.length?e:i});function en(e){let t=Number(e);return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function tn(e){if(e<=0)return`todo`;if(e>=1)return`done`;let t=.5,n=Math.min(t,Math.max(0,Number(j.value.interaction.peakTolerance)||0)),r=t-n,i=t+n;return e>=r&&e<=i?`top`:e<t?`left`:`right`}function nn(e,t){let n=e&&typeof e==`object`?e:{},r=`Item ${t+1}`,i=String(n.name??n.label??r),a=en(n.position??n.value??0);return{...n,id:String(n.id??`${i}-${t}`),name:i,label:String(n.label??i),position:a,color:n.color||$t.value[t%$t.value.length],muted:!!n.muted,disabled:!!n.disabled,status:tn(e.position),labelSide:[`left`,`right`,`auto`].includes(n.labelSide)?n.labelSide:`auto`,__index:t}}let rn=_(()=>Array.isArray(kt.dataset)?kt.dataset.map(nn):[]);function an(e){return e.map(e=>({...e}))}function on(e){let{__index:t,...n}=e;return Object.prototype.hasOwnProperty.call(n,`value`)&&(n.value=n.position),n}function sn(e=I.value){return e.map(on)}let cn=_(()=>j.value.editing&&!j.value.readonly),F=C(cn.value),I=C(an(rn.value)),L=C(null);we(rn,e=>{F.value||(k.value=null,I.value=an(e))},{deep:!0});let R=_(()=>!j.value.readonly);we(R,e=>{e||(L.value=null,k.value=null,F.value=!1,I.value=an(rn.value))});function z(e,t){Ft(e,t);let n=j.value.events?.[e];typeof n==`function`&&n(t)}let B=_(()=>N.value),ln=_(()=>B.value.layout),V=_(()=>ln.value.hill),H=_(()=>ln.value.plots),U=_(()=>ln.value.labels.item),W=_(()=>ln.value.labels.phases),G=_(()=>B.value.toolbar),K=_(()=>ln.value.stackbar),q=_(()=>{let e=H.value.stacking?.overflow||{},t=Math.max(0,Number(H.value.radius)||0);return{show:e.show!==!1,marker:{radius:Math.max(4,Number(e.marker?.radius)||t),fill:e.marker.fill,stroke:e.marker?.stroke||H.value.stroke,strokeWidth:e.marker.strokeWidth,color:e.marker.labelColor,fontSize:e.marker.fontSize,bold:e.marker?.bold!==!1,offsetY:e.marker.labelOffsetY},hysteresis:t*1.5,transitionDuration:P.value?e.transitionDuration:0,menu:{width:Math.max(160,Number(e.menu?.width)||220),maxHeight:Math.max(96,Number(e.menu?.maxHeight)||220),backgroundColor:e.menu?.backgroundColor||B.value.backgroundColor,color:e.menu?.color||B.value.color,borderColor:e.menu?.borderColor||H.value.stroke,borderRadius:Math.max(0,Number(e.menu?.borderRadius)||6)}}});function un(e,t,n=1){let r=Number(e);return Number.isFinite(r)?Math.min(n,Math.max(0,r)):t}let J=_(()=>{let e=V.value.geometry||{},t=Math.max(0,Number(B.value.width)||0),n=Math.max(0,Number(B.value.height)||0),r=un(e.horizontalPaddingRatio,.02,.49),i=un(e.topPaddingRatio,.12,.49),a=un(e.bottomPaddingRatio,.2,.49),o=un(e.curvature,.65),s=t*r,c=t/2,l=t*(1-r),u=n*i,d=n*(1-a),f=c-s,p=l-c,m=s+f*o,h=c+p*(1-o);return{startX:s,centerX:c,endX:l,baseY:d,peakY:u,width:f+p,left:[{x:s,y:d},{x:m,y:d},{x:m,y:u},{x:c,y:u}],right:[{x:c,y:u},{x:h,y:u},{x:h,y:d},{x:l,y:d}]}}),dn=_(()=>{let{left:e,right:t}=J.value;return[`M${e[0].x} ${e[0].y}`,`C${e[1].x} ${e[1].y} ${e[2].x} ${e[2].y} ${e[3].x} ${e[3].y}`,`C${t[1].x} ${t[1].y} ${t[2].x} ${t[2].y} ${t[3].x} ${t[3].y}`].join(` `)});function fn(e,t,n,r,i){let a=1-i;return a**3*e+3*a**2*i*t+3*a*i**2*n+i**3*r}function pn(e,t,n,r,i){let a=1-i;return 3*a**2*(t-e)+6*a*i*(n-t)+3*i**2*(r-n)}function mn(e){let t=en(e),{startX:n,centerX:r,endX:i,left:a,right:o}=J.value,s=n+(t-0)/1*(i-n),c=s<=r?a:o,l=0,u=1;for(let e=0;e<28;e+=1){let e=(l+u)/2;fn(c[0].x,c[1].x,c[2].x,c[3].x,e)<s?l=e:u=e}let d=(l+u)/2,f=fn(c[0].y,c[1].y,c[2].y,c[3].y,d),p=pn(c[0].x,c[1].x,c[2].x,c[3].x,d),m=pn(c[0].y,c[1].y,c[2].y,c[3].y,d),h=Math.hypot(p,m)||1;return{x:s,y:f,normalX:m/h,normalY:-p/h}}function hn(e){let t=Number(H.value.stacking.overlapThresholdRatio);return e*(2-(Number.isFinite(t)?Math.min(2,Math.max(0,t)):.5))}function gn(e,t){let n=/* @__PURE__ */ new Map,r=H.value.stacking;if(e.forEach(e=>{n.set(e.id,{position:e.position,index:0,size:1,stackId:`stack:${e.id}`})}),!r.show||e.length<2||t<=0)return n;let i=hn(t),a=e.map((e,t)=>({datapoint:e,index:t,point:mn(e.position)})).sort((e,t)=>e.point.x-t.point.x||e.datapoint.position-t.datapoint.position||e.index-t.index),o=0;for(;o<a.length;){let e=[a[o]],t=o+1;for(;t<a.length;){let n=e[e.length-1],r=a[t];if(Math.hypot(r.point.x-n.point.x,r.point.y-n.point.y)>=i)break;e.push(r),t+=1}if(e.length>1){let t=e[0].datapoint.position,r=`stack:${e.map(({datapoint:e})=>e.id).sort().join(`|`)}`;e.forEach(({datapoint:i},a)=>{n.set(i.id,{position:t,index:a,size:e.length,stackId:r})})}o=t}return n}function _n(e){let t=e+Math.max(0,Number(H.value.strokeWidth)||0)/2,n=H.value.stacking.gap??e/2;return t*2+n}let vn=C(null),Y=C(null),X=C(null),yn=C(null),bn=C(null),xn=/* @__PURE__ */ new Set,Sn=null,Cn=null,Z=null;function wn(e){let t=Math.max(0,Number(H.value.strokeWidth)||0),n=H.value.shadow.show?Math.max(0,Number(H.value.shadow.blur)||0)+Math.max(0,-(Number(H.value.shadow.offsetY)||0)):0;return e+t/2+n}function Tn(e,t,n){if(t<=1)return e-wn(n);let r=_n(n);return e-(t-1)*r-wn(n)}function En(e,t,n,r){if(n<=1)return xn.delete(e),!1;let i=Tn(t,n,r),a=xn.has(e),o=q.value.hysteresis,s=a?i<o:i<0;return s?xn.add(e):xn.delete(e),s}let Dn=_(()=>{let e=Math.max(0,Number(H.value.radius)||0),t=_n(e),n=gn(I.value,e),r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=[],o=/* @__PURE__ */ new Set,s=L.value?.id??null;q.value.show||xn.clear(),I.value.forEach(e=>{let t=n.get(e.id)||{position:e.position,index:0,size:1,stackId:`stack:${e.id}`};r.has(t.stackId)||r.set(t.stackId,[]),r.get(t.stackId).push({datapoint:e,stack:t})});let c=new Set(r.keys());return xn.forEach(e=>{c.has(e)||xn.delete(e)}),r.forEach((n,r)=>{let c=[...n].sort((e,t)=>e.stack.index-t.stack.index||e.datapoint.__index-t.datapoint.__index),l=c.reduce((e,t)=>e+(Number(t.datapoint.position)||0),0)/c.length,u=mn(l);if(!(q.value.show&&En(r,u.y,c.length,e))){c.forEach(e=>{i.set(e.datapoint.id,{hidden:!1,displayIndex:e.stack.index,stackId:r,stackSize:c.length,promotedFromOverflow:!1,renderPosition:e.stack.position})});return}c.forEach(({datapoint:e})=>{o.add(e.id)});let d=s?c.find(({datapoint:e})=>e.id===s):null,f=c.find(({datapoint:e})=>e.id===vn.value),p=d||f||null,m=p?c.filter(({datapoint:e})=>e.id!==p.datapoint.id):c,h=Y.value,ee=!(!f||h?.datapointId!==f.datapoint.id||h.moved),te=m.length?ee?l:m.reduce((e,t)=>e+(Number(t.datapoint.position)||0),0)/m.length:l,ne=mn(te);c.forEach(e=>{let t=p?.datapoint.id===e.datapoint.id,n=t&&f?.datapoint.id===e.datapoint.id;i.set(e.datapoint.id,{hidden:!t,displayIndex:+!!t,stackId:r,stackSize:c.length,promotedFromOverflow:n,renderPosition:te})}),m.length&&a.push({stackId:r,anchorPosition:te,x:ne.x,y:ne.y,hiddenCount:m.length,hiddenDatapoints:m.map(({datapoint:e})=>e),memberIds:c.map(({datapoint:e})=>e.id),collapseDatapoints:m.map(({datapoint:e,stack:n})=>{let r=mn(n.position);return{id:e.id,color:e.color,relativeX:r.x-ne.x,relativeY:r.y-n.index*t-ne.y}})})}),{layoutMap:n,displayMap:i,markers:a,overflowMemberIds:o}});function On(e){let t=An.value.filter(e=>!e.isStackOverflowHidden),n=t.find(t=>t.id===e),r=new Map(t.filter(t=>t.id!==e).map(e=>[e.id,{x:e.x,y:e.y}]));if(!n||!H.value.stacking.show)return r;let i=t.filter(e=>Math.abs(e.x-n.x)<.001).sort((e,t)=>t.y-e.y||e.datasetIndex-t.datasetIndex);if(i.length<2)return r;let a=_n(Math.max(0,Number(H.value.radius)||0)),o=Math.max(...i.map(e=>e.y));return i.filter(t=>t.id!==e).forEach((e,t)=>{r.set(e.id,{x:n.x,y:o-t*a})}),r}function kn(){return new Map(An.value.filter(e=>!e.isStackOverflowHidden).map(e=>[e.id,{x:e.x,y:e.y}]))}let An=_(()=>{let e=Math.max(0,Number(H.value.radius)||0),{layoutMap:t,displayMap:n,markers:r}=Dn.value,i=_n(e),a=L.value,o=a?.stationaryLayout,s=o instanceof Map?o:k.value instanceof Map?k.value:null,c=null;if(a&&o instanceof Map&&H.value.stacking.show&&e>0){let t=I.value.find(e=>e.id===a.id);if(t){let n=r.find(e=>e.memberIds.includes(t.id));if(n)c={x:n.x,y:n.y-i};else{let n=mn(t.position),r=hn(e),s=I.value.filter(e=>e.id!==a.id&&o.has(e.id)).map(e=>{let t=mn(e.position);return{datapoint:e,distance:Math.hypot(t.x-n.x,t.y-n.y)}}).filter(({distance:e})=>e<r).sort((e,t)=>e.distance-t.distance)[0];if(s){let e=o.get(s.datapoint.id),t=[...o.values()].filter(t=>Math.abs(t.x-e.x)<.001),n=Math.min(e.y,...t.map(e=>e.y));c={x:e.x,y:n-i}}else c=n}}}return I.value.map((e,r)=>{let o=t.get(e.id)||{position:e.position,index:0,size:1,stackId:`stack:${e.id}`},l=n.get(e.id)||{hidden:!1,displayIndex:o.index,stackId:o.stackId,stackSize:o.size,renderPosition:o.position},u=mn(l.renderPosition??o.position),f=e.id!==a?.id&&!l.promotedFromOverflow&&s instanceof Map?s.get(e.id):null,p=e.id===a?.id&&c?c:f||{x:u.x,y:u.y-l.displayIndex*i},m=e.labelSide===`auto`?null:e.labelSide,h=d(U.value.autoSideThreshold,.5,1),ee=m||(e.position>h?`left`:`right`),te=Math.abs(Number(U.value.offsetX)||0)+H.value.radius+U.value.fontSize/2;return{...e,datasetIndex:r,x:p.x,y:p.y,stackId:l.stackId,stackSize:l.stackSize,stackDisplayIndex:l.displayIndex,isStackOverflowHidden:l.hidden,isPromotedFromStackOverflow:l.promotedFromOverflow,labelSide:ee,labelX:ee===`left`?-te:te,textAnchor:ee===`left`?`end`:`start`}})});function jn(e){return I.value.find(t=>t.id===e)}function Mn(e,t){let n=en(t),r;I.value=I.value.map(t=>t.id===e?(r={...t,position:n},r):t),r&&(_r(r.id,r.position),z(`change`,{datapoint:on(r),dataset:sn()}))}function Nn(e){let t=A.value;if(!t)return null;let n=t.getScreenCTM();if(!n)return null;let r=t.createSVGPoint();r.x=e,r.y=0;let i=r.matrixTransform(n.inverse()),{startX:a,endX:o}=J.value;return en(0+(i.x-a)/(o-a)*1)}function Pn(){R.value&&(X.value=null,vn.value=null,Y.value=null,bn.value=null,ur(),k.value=null,I.value=an(rn.value),F.value=!0,z(`edit`,sn()))}function Fn(){let e=sn();X.value=null,vn.value=null,Y.value=null,bn.value=null,ur(),L.value=null,F.value=!1,z(`save`,e)}function In(){X.value=null,vn.value=null,Y.value=null,bn.value=null,ur(),L.value=null,k.value=null,I.value=an(rn.value),F.value=!1,z(`cancel`,sn())}function Ln(e,t){if(!R.value||!F.value||t.disabled)return;X.value=null;let n=e.currentTarget.closest(`.vue-ui-hill__datapoint`);n&&typeof n.focus==`function`&&(n.focus(),Q.value=t.id),e.preventDefault();let r=On(t.id),i=Y.value?.datapointId===t.id&&!Y.value?.moved;if(L.value={id:t.id,pointerId:e.pointerId,stationaryLayout:r,startClientX:e.clientX,hasMoved:!1,deferPositionUpdate:i},A.value?.setPointerCapture(e.pointerId),!i){let n=Nn(e.clientX);n!==null&&Mn(t.id,n)}let a=jn(t.id);a&&z(`dragStart`,on(a))}function Rn(e){if(!L.value||L.value.pointerId!==e.pointerId)return;e.preventDefault();let t=Math.abs(e.clientX-L.value.startClientX);if(L.value.deferPositionUpdate&&!L.value.hasMoved&&t<3)return;L.value.hasMoved||(L.value={...L.value,hasMoved:!0});let n=Nn(e.clientX);n!==null&&Mn(L.value.id,n)}function zn(e){let t=L.value;if(!t||t.pointerId!==e.pointerId)return;A.value?.hasPointerCapture(e.pointerId)&&A.value.releasePointerCapture(e.pointerId);let n=e.type===`pointerup`&&!t.hasMoved,r=jn(t.id);k.value=kn(),L.value=null,r&&(n&&z(`selectDatapoint`,Hn(r)),z(`dragEnd`,on(r)))}function Bn(e,t){if(!R.value||!F.value||t.disabled)return;let n=Math.max(0,Number(j.value.interaction.keyboardStep)||0),r=null;switch(e.key){case`ArrowLeft`:case`ArrowDown`:r=t.position-n;break;case`ArrowRight`:case`ArrowUp`:r=t.position+n;break;case`Home`:r=0;break;case`End`:r=1;break;default:return}e.preventDefault();let i=e.currentTarget;Q.value=t.id,L.value={id:t.id,pointerId:null,stationaryLayout:On(t.id)},Mn(t.id,r),k.value=kn(),L.value=null,_e(()=>{i?.isConnected&&i.focus({preventScroll:!0})})}function Vn(e){let t=.5,n=Math.max(0,Number(j.value.interaction.peakTolerance)||0);return Math.abs(e-t)<=n?j.value.a11y.translations.topOfHill:e<t?W.value.left.text:W.value.right.text}function Hn(e){return{datapoint:on(e),index:e.__index}}function Un(e){Q.value=null,Qn.value=e.id,![0,1].includes(e.position)&&Q.value!==e.id&&tr(e),z(`datapointEnter`,Hn(e))}function Wn(e){Qn.value===e.id&&(Qn.value=null),Zn.value===e.id&&Q.value!==e.id&&L.value?.id!==e.id&&(Zn.value=null),z(`datapointLeave`,Hn(e))}function Gn(e){F.value&&R.value||z(`selectDatapoint`,Hn(e))}let Kn=_(()=>{let e=B.value;return{width:`100%`,maxWidth:`100%`,color:e.color,backgroundColor:e.backgroundColor,fontFamily:j.value.style.fontFamily,"--vue-ui-hill-button-hover-border":G.value.buttons.hoverBorderColor,"--vue-ui-hill-button-active-offset":`${G.value.buttons.activeTranslateY}px`}}),qn=_(()=>({color:G.value.status.color,fontSize:`${G.value.status.fontSize}px`,fontWeight:G.value.status.bold?`bold`:`normal`,lineHeight:G.value.status.lineHeight}));_(()=>({color:B.value.title.color,fontSize:`${B.value.title.fontSize}px`,fontWeight:B.value.title.bold?`bold`:`normal`,textAlign:B.value.title.textAlign})),_(()=>({color:B.value.title.subtitle.color,fontSize:`${B.value.title.subtitle.fontSize}px`,fontWeight:B.value.title.subtitle.bold?`bold`:`normal`}));let Jn=_(()=>{let e=Math.max(0,Number(B.value.height)||0);return Math.min(e,J.value.baseY+e)+W.value.offsetY});function Yn(e){return W.value[e].text}function Xn(e){return e.position===0||e.position===1}let Zn=C(null),Qn=C(null),Q=C(null);function $n(e){Q.value=e.id}function er(e){Q.value===e.id&&(Q.value=null),Zn.value===e.id&&Qn.value!==e.id&&L.value?.id!==e.id&&(Zn.value=null)}function tr(e){e?.id&&(Zn.value=e.id)}let nr=_(()=>{let e=[],t=[],n=null;return An.value.forEach(r=>{r.isStackOverflowHidden||(r.id===Zn.value?n=r:Xn(r)?e.push(r):t.push(r))}),[...e,...t,...n?[n]:[]]}),rr=_(()=>Dn.value.markers),$=_(()=>rr.value.find(e=>e.stackId===X.value)||null),ir=_(()=>{let e=Math.max(160,Number(q.value.menu.width)||220),t=Math.max(80,Number(q.value.menu.maxHeight)||220);return{visibility:yn.value?`visible`:`hidden`,width:`max-content`,minWidth:`${e}px`,maxWidth:`calc(100% - 16px)`,maxHeight:`${t}px`,backgroundColor:q.value.menu.backgroundColor,color:q.value.menu.color,borderColor:q.value.menu.borderColor,borderRadius:`${q.value.menu.borderRadius}px`}});function ar(e,t){let n=A.value,r=jt.value;if(!n||!r)return null;let i=n.getScreenCTM();if(!i)return null;let a=n.createSVGPoint();a.x=e,a.y=t;let o=a.matrixTransform(i),s=r.getBoundingClientRect();return{x:o.x-s.left,y:o.y-s.top}}function or(){let e=$.value,t=Mt.value,n=jt.value;if(!e||!t||!n){yn.value=null;return}let r=ar(e.x,e.y),i=ar(e.x,e.y+q.value.marker.radius);if(!r||!i){yn.value=null;return}let a=n.getBoundingClientRect(),o=t.offsetWidth,s=t.offsetHeight,c=Math.abs(i.y-r.y),l=Math.max(0,a.width-16),u=Math.min(o,l),d=r.x;if(u>=l)d=a.width/2;else{let e=u/2;d=Math.min(a.width-8-e,Math.max(8+e,r.x))}let f=r.y+c+8,p=r.y-c-8-s,m=f+s<=a.height-8,h=p>=8,ee=f;!m&&h?ee=p:m||(ee=Math.min(Math.max(8,f),Math.max(8,a.height-s-8))),yn.value={left:`${d}px`,top:`${ee}px`,transform:`translateX(-50%)`,visibility:`visible`}}function sr(){typeof window<`u`&&(Z!==null&&window.cancelAnimationFrame(Z),Z=window.requestAnimationFrame(()=>{Z=null,or()}))}we(rr,e=>{X.value&&!e.some(e=>e.stackId===X.value)&&lr()}),we(()=>{let e=$.value;return e?[e.stackId,e.x,e.y,e.hiddenDatapoints.length,e.hiddenDatapoints.map(e=>`${e.id}:${e.label}:${e.position}`).join(`|`),q.value.marker.radius,q.value.menu.width,q.value.menu.maxHeight,q.value.menu.backgroundColor,q.value.menu.color,q.value.menu.borderColor,q.value.menu.borderRadius,Jt.value]:null},e=>{e?_e(sr):yn.value=null},{flush:`post`}),we(Mt,(e,t)=>{t&&Cn&&Cn.unobserve(t),e&&Cn&&(Cn.observe(e),_e(sr))},{flush:`post`}),we(()=>{let e=vn.value;return!e||Dn.value.overflowMemberIds.has(e)},e=>{e||(vn.value=null,Y.value=null)});function cr(e){e&&(X.value===e.stackId?sr():(yn.value=null,X.value=e.stackId,_e(sr)))}function lr(){X.value=null,yn.value=null,typeof window<`u`&&Z!==null&&(window.cancelAnimationFrame(Z),Z=null)}function ur(){Sn!==null&&(clearTimeout(Sn),Sn=null)}function dr(){let e=Y.value;e&&!e.moved&&(ur(),bn.value=e.stackId,vn.value=null,Y.value=null,lr(),Sn=setTimeout(()=>{bn.value=null,Sn=null},q.value.transitionDuration+80))}function fr(e){if(!(e instanceof Element))return{isMenu:!1,isMarker:!1,isSelectedDatapoint:!1};let t=Y.value,n=e.closest(`[data-datapoint-id]`);return{isMenu:!!e.closest(`[data-stack-overflow-menu]`),isMarker:!!e.closest(`[data-stack-overflow-marker]`),isSelectedDatapoint:!!(t&&n?.getAttribute(`data-datapoint-id`)===t.datapointId)}}function pr(e){let t=fr(e.target);X.value&&!t.isMenu&&!t.isMarker&&lr(),!Y.value||Y.value.moved||t.isMenu||t.isMarker||t.isSelectedDatapoint||dr()}function mr(e){let t=An.value.find(t=>t.id===e);if(!t||t.isStackOverflowHidden)return;let n=A.value?.querySelector(`[data-datapoint-index="${t.__index}"]`);n&&typeof n.focus==`function`&&n.focus({preventScroll:!0})}function hr(e){if(!e||e.disabled||j.value.readonly)return;let t=$.value?.stackId;t&&(ur(),bn.value=null,vn.value=e.id,Y.value={datapointId:e.id,stackId:t,initialPosition:e.position,moved:!1},lr(),_e(()=>{mr(e.id);let t=An.value.find(t=>t.id===e.id);t&&z(`selectDatapoint`,Hn(t))}))}function gr(){let e=Math.max(1,Number(J.value.width)||1);return Math.max(1e-6,1/e*2)}function _r(e,t){let n=Y.value;n&&n.datapointId===e&&!n.moved&&Math.abs(t-n.initialPosition)>=gr()&&(Y.value={...n,moved:!0})}xe(()=>{document.addEventListener(`pointerdown`,pr),window.addEventListener(`resize`,sr,{passive:!0}),typeof ResizeObserver<`u`&&(Cn=new ResizeObserver(()=>{$.value&&sr()}),jt.value&&Cn.observe(jt.value),A.value&&Cn.observe(A.value))}),be(()=>{document.removeEventListener(`pointerdown`,pr),window.removeEventListener(`resize`,sr),Cn?.disconnect(),Cn=null,Z!==null&&(window.cancelAnimationFrame(Z),Z=null),ur()});function vr(e){return L.value?L.value.id===e.id:Qn.value===e.id||Q.value===e.id}function yr(e){return s(M.value.dragMarker.positionIndicator.value.formatter,e.position,n({p:``,v:e.position*100,s:`%`,r:M.value.dragMarker.positionIndicator.value.rounding}))}let br=_(()=>N.value.backgroundColor),xr=_(()=>N.value.legend),Sr=_(()=>N.value.title),{isCallbackImaging:Cr,isCallbackSvg:wr,generateSvg:Tr,onGenerateImage:Er}=re({svg:A,title:Sr,legend:xr,legendItems:null,backgroundColor:br,getSvgCallback:()=>j.value.userOptions.callbacks.svg,generateImage:Gt});function Dr(e=null){_e(()=>{let t=sn().map(e=>[[e.name],[e.position],[yr(e)],[Vn(e.position)]]),n=[[N.value.title.text],[N.value.title.subtitle.text],[[`Name`],[`Position`],[`Percentage`],[`Phase`]]].concat(t),i=r(n);e?e(i):l({csvContent:i,title:N.value.title.text||`vue-ui-hill`})})}let Or=_(()=>N.value.layout.stackbar.show),kr=_(()=>{let e=An.value.length;An.value.reduce((e,t)=>e+(t?.position??0),0);let t=0,n=An.value.every(e=>e.position===1);return An.value.toSorted((e,t)=>{if(n)return e.__index-t.__index;let r=(e?.position??0)-(t?.position??0);return r===0?e.__index-t.__index:r}).map(n=>{let r=n?.position??0,i=e>0?r/e:0,a={...n,proportion:i,proportionStart:t};return t+=i,a})}),Ar=_(()=>Math.min(1,Math.max(0,kr.value.reduce((e,t)=>e+t.proportion,0)))),jr=_(()=>Ar.value*100),Mr=_(()=>J.value.left[0].x+J.value.width*Ar.value),Nr=_(()=>B.value.height+32+K.value.paddingTop);function Pr(){return s(K.value.label.formatter,jr.value,n({p:``,v:jr.value,s:`%`,r:0}))}let Fr=_(()=>`${At.value}-stackbar-clip`);async function Ir(){let e=sn();Ft(`copyAlt`,{config:j.value,dataset:e}),j.value.userOptions.callbacks.altCopy?await Promise.resolve(j.value.userOptions.callbacks.altCopy({config:j.value,dataset:e})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let Lr=te(jt,()=>N.value.title.text);function Rr(){return sn()}return m({isEditing:F,beginEditing:Pn,save:Fn,cancel:In,getData:Rr,copyAlt:Ir,toggleFullscreen:Yt,toggleAnnotator:Zt,generateImage:Gt,generateSvg:Tr,generatePdf:Wt,generateCsv:Dr,getImage:Lr}),(e,t)=>(S(),y(`div`,{ref_key:`hillChartRef`,ref:jt,class:ve(`vue-data-ui-component vue-ui-hill`),style:x(Kn.value),id:`hill_${At.value}`,onMouseenter:Bt,onMouseleave:Vt,"data-editing":F.value},[N.value.title.text?(S(),y(`div`,ke,[(S(),fe(ne,{key:`title_${Pt.value}`,config:{title:{cy:`hill-div-title`,...N.value.title},subtitle:{cy:`hill-div-subtitle`,...N.value.title.subtitle}}},null,8,[`config`]))],512)):v(``,!0),j.value.userOptions.buttons.annotator&&A.value?(S(),fe(D(wt),{key:1,color:N.value.color,backgroundColor:N.value.backgroundColor,active:Xt.value,svgRef:A.value,isCursorPointer:Kt.value,palette:j.value.userOptions.annotatorPalette,onClose:Zt},pe({_:2},[w(D(ae),t=>({name:t,fn:Te(n=>[T(e.$slots,t,ye(ge(D(ie)(t,n))),void 0,!0)])}))]),1032,[`color`,`backgroundColor`,`active`,`svgRef`,`isCursorPointer`,`palette`])):v(``,!0),G.value.show?(S(),fe(D(xt),{key:2,"is-editing":F.value,"is-editable":R.value,"is-fullscreen":Jt.value,position:Qt.value,color:N.value.color,"background-color":N.value.backgroundColor,translations:G.value.buttons.translations,"is-cursor-pointer":Kt.value,onUpdate:Pn,onCancel:In,onSave:Fn},{"hill-edit":Te(()=>[T(e.$slots,`hill-edit`,{},void 0,!0)]),"hill-cancel":Te(()=>[T(e.$slots,`hill-cancel`,{},void 0,!0)]),"hill-save":Te(()=>[T(e.$slots,`hill-save`,{},void 0,!0)]),_:3},8,[`is-editing`,`is-editable`,`is-fullscreen`,`position`,`color`,`background-color`,`translations`,`is-cursor-pointer`])):v(``,!0),G.value.show?(S(),y(`div`,Ae,[b(`p`,{class:`vue-ui-hill__status`,style:x(qn.value),"aria-live":`polite`},E(F.value?G.value.status.editInstruction:G.value.status.lastUpdated),5)])):v(``,!0),j.value.userOptions.show&&(D(zt)||D(Lt))?(S(),fe(D(St),{ref_key:`userOptionsRef`,ref:Nt,key:`uo_${qt.value}`,backgroundColor:N.value.backgroundColor,color:N.value.color,isPrinting:D(Ht),isImaging:D(Ut),uid:At.value,hasTooltip:!1,hasPdf:j.value.userOptions.buttons.pdf,hasImg:j.value.userOptions.buttons.img,hasSvg:j.value.userOptions.buttons.svg,hasXls:j.value.userOptions.buttons.csv,hasTable:j.value.userOptions.buttons.table,hasLabel:j.value.userOptions.buttons.labels,hasFullscreen:j.value.userOptions.buttons.fullscreen,hasAltCopy:j.value.userOptions.buttons.altCopy,chartElement:jt.value,position:j.value.userOptions.position,callbacks:j.value.userOptions.callbacks,titles:{...j.value.userOptions.buttonTitles},hasAnnotator:j.value.userOptions.buttons.annotator,isAnnotation:Xt.value,printScale:j.value.userOptions.print.scale,isCursorPointer:Kt.value,onToggleFullscreen:Yt,onGeneratePdf:D(Wt),onGenerateCsv:Dr,onGenerateImage:D(Er),onGenerateSvg:D(Tr),onToggleAnnotator:Zt,onCopyAlt:Ir,style:x({visibility:D(zt)?D(Lt)?`visible`:`hidden`:`visible`})},pe({_:2},[w(D(oe)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Te(n=>[T(e.$slots,t,ye(ge(D(se)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasXls`,`hasTable`,`hasLabel`,`hasFullscreen`,`hasAltCopy`,`chartElement`,`position`,`callbacks`,`titles`,`hasAnnotator`,`isAnnotation`,`printScale`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):v(``,!0),(S(),y(`svg`,{ref_key:`svgRef`,ref:A,style:x({background:`transparent`,color:N.value.color,fontFamily:j.value.style.fontFamily}),class:ve({"vue-data-ui-no-transition":!D(P)}),viewBox:`0 0 ${B.value.width} ${B.value.height+(Or.value?32+K.value.paddingTop+K.value.paddingBottom+K.value.height:0)}`,role:`group`,"aria-live":`polite`,preserveAspectRatio:`xMidYMid meet`,onPointermove:Rn,onPointerup:zn,onPointercancel:zn},[me(D(Ct)),T(e.$slots,`svg-underlayer`,{svg:{drawingArea:J.value,isEditing:F.value,datapoints:nr.value,isPrintingImg:D(Ht)||D(Ut)||D(Cr),isPrintingSvg:D(wr)}},void 0,!0),e.$slots[`chart-background`]?(S(),y(`foreignObject`,{key:0,x:0,y:0,width:Math.max(.1,B.value.width),height:Math.max(.1,B.value.height+(Or.value?32+K.value.paddingTop+K.value.paddingBottom+K.value.height:0)),style:{pointerEvents:`none`}},[T(e.$slots,`chart-background`,{},void 0,!0)],8,Me)):v(``,!0),V.value.baseline.show?(S(),y(`line`,{key:1,x1:J.value.startX,x2:J.value.endX,y1:J.value.baseY,y2:J.value.baseY,stroke:V.value.baseline.stroke,"stroke-width":V.value.baseline.strokeWidth,"stroke-dasharray":V.value.baseline.strokeDasharray,"vector-effect":`non-scaling-stroke`},null,8,Ne)):v(``,!0),V.value.midline.show?(S(),y(`line`,{key:2,x1:J.value.centerX,x2:J.value.centerX,y1:J.value.peakY,y2:J.value.baseY,stroke:V.value.midline.stroke,"stroke-width":V.value.midline.strokeWidth,"stroke-dasharray":V.value.midline.strokeDasharray,"vector-effect":`non-scaling-stroke`},null,8,Pe)):v(``,!0),b(`path`,{d:dn.value,fill:`none`,stroke:V.value.curve.stroke,"stroke-width":V.value.curve.strokeWidth,"stroke-dasharray":V.value.curve.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`},null,8,Fe),M.value.dragMarker.positionIndicator.show?(S(!0),y(g,{key:3},w(nr.value,e=>(S(),y(`g`,{key:`position-indicator-${e.id}`},[vr(e)&&H.value.dragMarker.show?(S(),y(`g`,Ie,[b(`path`,{d:`M${e.x},${e.y} ${e.x},${J.value.baseY}`,stroke:M.value.dragMarker.positionIndicator.useSerieColor?e.color:M.value.dragMarker.positionIndicator.color,"stroke-width":M.value.dragMarker.positionIndicator.strokeWidth,"stroke-dasharray":M.value.dragMarker.positionIndicator.strokeDasharray,"stroke-linecap":`round`,"vector-effect":`non-scaling-stroke`,class:ve({"vue-data-ui-transition":D(P)&&L.value?.id!==e.id})},null,10,Le),M.value.dragMarker.positionIndicator.circle.show?(S(),y(`circle`,{key:0,cx:e.x,cy:J.value.baseY,r:M.value.dragMarker.positionIndicator.circle.radius,fill:M.value.dragMarker.positionIndicator.useSerieColor?e.color:M.value.dragMarker.positionIndicator.color,stroke:M.value.dragMarker.positionIndicator.circle.stroke,"stroke-width":M.value.dragMarker.positionIndicator.circle.strokeWidth,"vector-effect":`non-scaling-stroke`,"paint-order":`stroke fill`,class:ve({"vue-data-ui-transition":D(P)&&L.value?.id!==e.id})},null,10,Re)):v(``,!0),M.value.dragMarker.positionIndicator.value.show?(S(),y(`text`,{key:1,"paint-order":`stroke fill`,"vector-effect":`non-scaling-stroke`,"text-anchor":`middle`,transform:`translate(${e.x}, ${J.value.baseY+M.value.radius+M.value.dragMarker.positionIndicator.value.offsetY+M.value.dragMarker.positionIndicator.value.fontSize})`,"font-size":M.value.dragMarker.positionIndicator.value.fontSize,fill:M.value.dragMarker.positionIndicator.value.useSerieColor?e.color:M.value.dragMarker.positionIndicator.value.color,stroke:N.value.backgroundColor,"stroke-width":`1`,class:ve({"vue-data-ui-transition":D(P)&&L.value?.id!==e.id})},E(yr(e)),11,ze)):v(``,!0)])):v(``,!0)]))),128)):v(``,!0),(S(!0),y(g,null,w(nr.value,e=>(S(),y(`g`,{key:e.id,"data-cy-datapoint":``,class:ve({"vue-ui-hill__datapoint":!0,"vue-data-ui-transition":D(P)&&L.value?.id!==e.id,"vue-ui-hill__datapoint--promoted":D(P)&&e.isPromotedFromStackOverflow}),style:x({opacity:[0,1].includes(e.position)||e?.muted?H.value.mutedOpacity:e?.disabled?H.value.disabledOpacity:1}),transform:`translate(${e.x} ${e.y})`,"data-datapoint-index":e.__index,"data-datapoint-id":e.id,role:`slider`,tabindex:F.value&&R.value&&!e.disabled?0:-1,"aria-orientation":`horizontal`,"aria-valuemin":`0`,"aria-valuemax":`100`,"aria-valuenow":yr(e),"aria-valuetext":`${e.label}: ${Vn(e.position)}, ${yr(e)}`,"aria-label":e.label,onFocus:t=>$n(e),onBlur:t=>er(e),onKeydown:t=>Bn(t,e),onPointerenter:t=>Un(e),onPointerleave:t=>Wn(e),onClick:t=>Gn(e)},[b(`circle`,{r:H.value.hitRadius,fill:`transparent`,class:ve({"vue-ui-hill__hit-area--active":F.value&&R.value&&!e.disabled,"vue-ui-hill__hit-area--dragging":L.value?.id===e.id}),onPointerdown:t=>Ln(t,e)},null,42,Ve),b(`circle`,{class:`vue-ui-hill-circle`,r:H.value.radius,fill:e.color,stroke:H.value.stroke,"stroke-width":H.value.strokeWidth,style:x({filter:H.value.shadow.show?`drop-shadow(${H.value.shadow.offsetX}px ${H.value.shadow.offsetY}px ${H.value.shadow.blur}px ${H.value.shadow.color})`:`none`}),"vector-effect":`non-scaling-stroke`,"pointer-events":`none`},null,12,He),F.value&&(L.value?.id===e.id&&H.value.dragMarker.show||vr(e))&&!e?.disabled?(S(),y(`g`,{key:0,fill:`none`,stroke:D(u)(e.color),"stroke-width":H.value.dragMarker.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`,"vector-effect":`non-scaling-stroke`,"aria-hidden":`true`},[b(`path`,{d:H.value.dragMarker.crossPath},null,8,We)],8,Ue)):v(``,!0),U.value.show?(S(),y(`text`,{key:1,x:e.labelX,y:U.value.offsetY,"text-anchor":e.textAnchor,fill:U.value.useSerieColor?e.color:U.value.color,"font-size":U.value.fontSize,"font-weight":U.value.bold?`bold`:`normal`,"paint-order":`stroke fill`,stroke:U.value.stroke,"stroke-width":U.value.strokeWidth,"stroke-linejoin":`round`,"stroke-linecap":`round`,"pointer-events":`none`,style:{"user-select":`none`},"dominant-baseline":`central`},E(D(o)(e.label,U.value.ellipsisThresholdChars)),9,Ge)):v(``,!0)],46,Be))),128)),(S(!0),y(g,null,w(rr.value,e=>(S(),y(`g`,{key:`stack-overflow-${e.stackId}`,class:ve([`vue-ui-hill__stack-overflow-marker`,{"vue-ui-hill__stack-overflow-marker--animated":D(P),"vue-ui-hill__stack-overflow-marker--restored":bn.value===e.stackId}]),style:x({"--vue-ui-hill-overflow-marker-duration":`${q.value.transitionDuration*.7}ms`,"--vue-ui-hill-overflow-marker-delay":`${q.value.transitionDuration*.3}ms`,"--vue-ui-hill-overflow-label-duration":`${q.value.transitionDuration*.55}ms`,"--vue-ui-hill-overflow-label-delay":`${q.value.transitionDuration*.45}ms`,cursor:Kt.value&&!j.value.readonly?`pointer`:`default`}),transform:`translate(${e.x} ${e.y})`,"data-stack-overflow-marker":``,role:`button`,tabindex:F.value&&R.value?0:-1,"aria-label":`${e.hiddenCount} stacked datapoints. Activate to choose one.`,"aria-expanded":X.value===e.stackId,onPointerdown:t[0]||=O(()=>{},[`stop`]),onClick:O(t=>cr(e),[`stop`]),onFocus:t=>cr(e),onKeydown:[Ee(O(t=>cr(e),[`prevent`,`stop`]),[`enter`]),Ee(O(t=>cr(e),[`prevent`,`stop`]),[`space`]),Ee(O(lr,[`prevent`,`stop`]),[`esc`])]},[D(P)&&bn.value!==e.stackId?(S(),y(`g`,qe,[(S(!0),y(g,null,w(e.collapseDatapoints,t=>(S(),y(`circle`,{key:`overflow-ghost-${e.stackId}-${t.id}`,cx:t.relativeX,cy:t.relativeY,r:H.value.radius,fill:t.color,stroke:H.value.stroke,"stroke-width":H.value.strokeWidth,opacity:`0.8`,"vector-effect":`non-scaling-stroke`},[b(`animate`,{attributeName:`cx`,from:t.relativeX,to:`0`,dur:`${q.value.transitionDuration}ms`,fill:`freeze`,calcMode:`spline`,keyTimes:`0;1`,keySplines:`0.22 1 0.36 1`},null,8,Ye),b(`animate`,{attributeName:`cy`,from:t.relativeY,to:`0`,dur:`${q.value.transitionDuration}ms`,fill:`freeze`,calcMode:`spline`,keyTimes:`0;1`,keySplines:`0.22 1 0.36 1`},null,8,Xe),b(`animate`,{attributeName:`r`,from:H.value.radius,to:q.value.marker.radius*.7,dur:`${q.value.transitionDuration}ms`,fill:`freeze`},null,8,Ze),b(`animate`,{attributeName:`opacity`,from:`0.8`,to:`0`,dur:`${q.value.transitionDuration*.85}ms`,fill:`freeze`},null,8,Qe)],8,Je))),128))])):v(``,!0),b(`circle`,{r:Math.max(H.value.hitRadius,q.value.marker.radius),fill:`transparent`,"pointer-events":`all`},null,8,$e),b(`rect`,{class:`vue-ui-hill__stack-overflow-marker-rect`,x:-q.value.marker.radius,y:-q.value.marker.radius,width:q.value.marker.radius*2,height:q.value.marker.radius*2,fill:q.value.marker.fill,stroke:q.value.marker.stroke,"stroke-width":q.value.marker.strokeWidth,"vector-effect":`non-scaling-stroke`,"pointer-events":`none`},null,8,et),b(`g`,{class:`vue-ui-hill__stack-overflow-focus-cross`,fill:`none`,stroke:D(u)(V.value.curve.stroke),"stroke-width":H.value.dragMarker.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`,"vector-effect":`non-scaling-stroke`,"aria-hidden":`true`},[b(`path`,{d:H.value.dragMarker.crossPath},null,8,nt)],8,tt),$.value?v(``,!0):(S(),y(`text`,{key:1,class:`vue-ui-hill__stack-overflow-marker-label`,"text-anchor":`middle`,y:q.value.marker.radius+q.value.marker.offsetY+q.value.marker.fontSize,fill:q.value.marker.color,"font-size":q.value.marker.fontSize,"font-weight":q.value.marker.bold?`bold`:`normal`,"pointer-events":`none`,style:{"user-select":`none`},"paint-order":`stroke fill`,"vector-effect":`non-scaling-stroke`,stroke:N.value.backgroundColor,"stroke-width":`3`},` +`+E(e.hiddenCount),9,rt))],46,Ke))),128)),W.value.show?(S(),y(g,{key:4},[b(`text`,{x:(J.value.startX+J.value.centerX)/2,y:Jn.value,"text-anchor":`middle`,fill:W.value.color,"font-size":W.value.fontSize,"font-weight":W.value.bold?`bold`:`normal`,"letter-spacing":W.value.letterSpacing},E(Yn(`left`)),9,it),b(`text`,{x:(J.value.centerX+J.value.endX)/2,y:Jn.value,"text-anchor":`middle`,fill:W.value.color,"font-size":W.value.fontSize,"font-weight":W.value.bold?`bold`:`normal`,"letter-spacing":W.value.letterSpacing},E(Yn(`right`)),9,at)],64)):v(``,!0),Or.value?(S(),y(g,{key:5},[b(`rect`,{x:J.value.left[0].x,y:Nr.value,rx:K.value.height/2,width:J.value.width,height:K.value.height,fill:K.value.gutterColor},null,8,ot),b(`defs`,null,[b(`clipPath`,{id:Fr.value},[b(`rect`,{x:J.value.left[0].x,y:Nr.value,width:J.value.width*Ar.value,height:K.value.height,rx:Math.min(K.value.height/2,J.value.width*Ar.value/2),ry:Math.min(K.value.height/2,J.value.width*Ar.value/2)},null,8,ct)],8,st)]),b(`g`,{"clip-path":`url(#${Fr.value})`},[(S(!0),y(g,null,w(kr.value,e=>(S(),y(`rect`,{key:`bar_fill_${e.id}`,width:J.value.width*e.proportion,x:J.value.left[0].x+J.value.width*e.proportionStart,y:B.value.height+32+K.value.paddingTop,fill:e.color,height:K.value.height,onPointerenter:t=>Un(e),onPointerleave:t=>Wn(e)},null,40,ut))),128))],8,lt),(S(!0),y(g,null,w(kr.value.slice(1),e=>(S(),y(`line`,{key:`bar_separator_${e.id}`,x1:J.value.left[0].x+J.value.width*e.proportionStart,x2:J.value.left[0].x+J.value.width*e.proportionStart,y1:B.value.height+32+K.value.paddingTop,y2:B.value.height+32+K.value.paddingTop+K.value.height,stroke:K.value.stroke,"stroke-width":K.value.strokeWidth,"vector-effect":`non-scaling-stroke`},null,8,dt))),128)),b(`rect`,{x:J.value.left[0].x,y:B.value.height+32+K.value.paddingTop,width:J.value.width*Ar.value,height:K.value.height,rx:Math.min(K.value.height/2,J.value.width*Ar.value/2),ry:Math.min(K.value.height/2,J.value.width*Ar.value/2),fill:`none`,stroke:K.value.stroke,"stroke-width":K.value.strokeWidth,"vector-effect":`non-scaling-stroke`},null,8,ft),K.value.label.show&&Ar.value>0?(S(),y(`text`,{key:0,x:Mr.value,y:Nr.value-6,fill:K.value.label.color,"font-size":K.value.label.fontSize,"text-anchor":`end`,"dominant-baseline":`auto`,"pointer-events":`none`,style:{"user-select":`none`}},E(Pr()),9,pt)):v(``,!0)],64)):v(``,!0),T(e.$slots,`svg`,{svg:{drawingArea:J.value,isEditing:F.value,datapoints:nr.value,isPrintingImg:D(Ht)||D(Ut)||D(Cr),isPrintingSvg:D(wr)}},void 0,!0)],46,je)),$.value?(S(),y(`div`,{ref_key:`overflowMenuRef`,ref:Mt,key:`stack-overflow-menu-${$.value.stackId}`,class:`vue-ui-hill__stack-overflow-menu`,"data-stack-overflow-menu":``,"data-dom-to-png-ignore":``,style:x([ir.value,yn.value]),role:`listbox`,"aria-label":`Choose one of ${$.value.hiddenCount} stacked datapoints`,onPointerdown:t[1]||=O(()=>{},[`stop`]),onClick:t[2]||=O(()=>{},[`stop`]),onKeydown:Ee(O(lr,[`prevent`,`stop`]),[`esc`])},[M.value.stacking.overflow.menu.title?(S(),y(`div`,ht,E(M.value.stacking.overflow.menu.title),1)):v(``,!0),(S(!0),y(g,null,w($.value.hiddenDatapoints,e=>(S(),y(`button`,{key:`hidden-${e.id}`,type:`button`,class:ve([`vue-ui-hill__stack-overflow-menu-item`,{readonly:j.value.readonly}]),role:`option`,disabled:e.disabled,"aria-label":`${e.label}, ${yr(e)}`,onClick:O(t=>hr(e),[`stop`]),style:x({cursor:Kt.value&&!j.value.readonly?`pointer`:`default`})},[b(`span`,{class:`vue-ui-hill__stack-overflow-menu-swatch`,style:x({backgroundColor:e.color}),"aria-hidden":`true`},null,4),b(`span`,_t,E(D(o)(e.label,U.value.ellipsisThresholdChars)),1),b(`span`,vt,E(yr(e)),1)],14,gt))),128))],44,mt)):v(``,!0),T(e.$slots,`analysis`,{data:{...kr.value}},void 0,!0),e.$slots.watermark?(S(),y(`div`,yt,[T(e.$slots,`watermark`,ye(ge({isPrinting:D(Ht)||D(Ut)||D(Cr)||D(wr)})),void 0,!0)])):v(``,!0),j.value.loading?(S(),y(`div`,bt,[j.value.loading?T(e.$slots,`loading`,{},()=>[me(D(Tt),{name:`spinner2`,stroke:N.value.color,"is-spin":!0},null,8,[`stroke`])],!0,0):v(``,!0)])):v(``,!0)],44,Oe))}},[[`__scopeId`,`data-v-9112c932`]]);export{De as n,xt as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,D as r,Ht as i,X as a,a as o,i as s,nn as c,nt as l,r as u,x as d}from"./lib-rPeBMZrn.js";import{n as f,t as p}from"./useHints-C-TwxM0Y.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as h}from"./useNestedProp-DnGoh-XS.js";import{t as ee}from"./useThemeCheck-BKNRbGeC.js";import{t as te}from"./chartImage-DPGnEuYM.js";import{n as ne}from"./Title-BliHuXfT.js";import{t as re}from"./useChartExport-BZts4KFb.js";import{n as ie,t as ae}from"./annotationSlots-BRR85CqJ.js";import{n as oe,t as se}from"./userOptionsSlots-DYuo-E5m.js";import{t as ce}from"./usePrinter-DVf3YcG5.js";import{t as le}from"./useTransitions-ChGGrtrv.js";import{t as ue}from"./useUserOptionState-CXlFnwPv.js";import{t as de}from"./vue_ui_hill-DQi4pQCG.js";import{Fragment as g,computed as _,createBlock as fe,createCommentVNode as v,createElementBlock as y,createElementVNode as b,createSlots as pe,createVNode as me,defineAsyncComponent as he,guardReactiveProps as ge,nextTick as _e,normalizeClass as ve,normalizeProps as ye,normalizeStyle as x,onBeforeUnmount as be,onMounted as xe,openBlock as S,ref as C,renderList as w,renderSlot as T,shallowRef as Se,toDisplayString as E,unref as D,useTemplateRef as Ce,watch as we,withCtx as Te,withKeys as Ee,withModifiers as O}from"vue";var De=/* @__PURE__ */ e({default:()=>xt}),Oe=[`id`,`data-editing`],ke={key:0,ref:`chartTitle`,style:`width:100%;background:transparent;padding-bottom:24px`},Ae={key:3,class:`vue-ui-hill__toolbar`,"data-dom-to-png-ignore":``},je=[`viewBox`],Me=[`width`,`height`],Ne=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Pe=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Fe=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Ie={key:0,"pointer-events":`none`},Le=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Re=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],ze=[`transform`,`font-size`,`fill`,`stroke`],Be=[`transform`,`data-datapoint-index`,`data-datapoint-id`,`tabindex`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`onFocus`,`onBlur`,`onKeydown`,`onPointerenter`,`onPointerleave`,`onClick`],Ve=[`r`,`onPointerdown`],He=[`r`,`fill`,`stroke`,`stroke-width`],Ue=[`stroke`,`stroke-width`],We=[`d`],Ge=[`x`,`y`,`text-anchor`,`fill`,`font-size`,`font-weight`,`stroke`,`stroke-width`],Ke=[`transform`,`tabindex`,`aria-label`,`aria-expanded`,`onClick`,`onFocus`,`onKeydown`],qe={key:0,class:`vue-ui-hill__stack-overflow-collapse-ghosts`,"pointer-events":`none`,"aria-hidden":`true`},Je=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ye=[`from`,`dur`],Xe=[`from`,`dur`],Ze=[`from`,`to`,`dur`],Qe=[`dur`],$e=[`r`],et=[`x`,`y`,`width`,`height`,`fill`,`stroke`,`stroke-width`],tt=[`stroke`,`stroke-width`],nt=[`d`],rt=[`y`,`fill`,`font-size`,`font-weight`,`stroke`],it=[`x`,`y`,`fill`,`font-size`,`font-weight`,`letter-spacing`],at=[`x`,`y`,`fill`,`font-size`,`font-weight`,`letter-spacing`],ot=[`x`,`y`,`rx`,`width`,`height`,`fill`],st=[`id`],ct=[`x`,`y`,`width`,`height`,`rx`,`ry`],lt=[`clip-path`],ut=[`width`,`x`,`y`,`fill`,`height`,`onPointerenter`,`onPointerleave`],dt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],ft=[`x`,`y`,`width`,`height`,`rx`,`ry`,`stroke`,`stroke-width`],pt=[`x`,`y`,`fill`,`font-size`],mt=[`aria-label`,`onKeydown`],ht={key:0,class:`vue-ui-hill__stack-overflow-menu-title`},gt=[`disabled`,`aria-label`,`onClick`],_t={class:`vue-ui-hill__stack-overflow-menu-label`},vt={class:`vue-ui-hill__stack-overflow-menu-value`},yt={key:6,class:`vue-data-ui-watermark`},bt={key:7,class:`vue-ui-hill__loading`,"data-dom-to-png-ignore":``},xt=/*#__PURE__*/ m({__name:`vue-ui-hill`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`edit`,`save`,`cancel`,`copyAlt`,`change`,`dragStart`,`dragEnd`,`datapointEnter`,`datapointLeave`,`selectDatapoint`],setup(e,{expose:m,emit:De}){let xt=he(()=>import(`./HillActions-qz6J_uK7.js`)),St=he(()=>import(`./UserOptions-uWHV_zPB.js`).then(e=>e.n)),Ct=he(()=>import(`./PackageVersion-DhptF5oD.js`).then(e=>e.t)),wt=he(()=>import(`./PenAndPaper-BGEp-TUm.js`).then(e=>e.t)),Tt=he(()=>import(`./BaseIcon-Cm-IJ179.js`).then(e=>e.n)),{vue_ui_hill:Et}=t(),{isThemeValid:Dt,warnInvalidTheme:Ot}=ee(),kt=e,At=C(a()),k=Se(null),jt=Ce(`hillChartRef`),A=Ce(`svgRef`),Mt=Ce(`overflowMenuRef`),Nt=Ce(`userOptionsRef`),Pt=C(0),Ft=De;function It(){let e=h({userConfig:kt.config,defaultConfig:Et}),t={},n=e.theme;if(!n)t=e;else if(!Dt.value(e))Ot(e),t=e;else{let r=h({userConfig:de[n]||kt.config,defaultConfig:e});t={...h({userConfig:kt.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:c[n]||$t}}return t}let j=C(It()),M=_(()=>j.value.style.chart.layout.plots),N=_(()=>j.value.style.chart);f({config:()=>j.value,dataset:()=>kt.dataset,component:`VueUiHill`,rules:[p.emptyArray,p.noHint]});let{transitionEnabled:P}=le({config:()=>j.value.transitions,dataset:()=>kt.dataset}),{userOptionsVisible:Lt,setUserOptionsVisibility:Rt,keepUserOptionState:zt}=ue({config:j.value});function Bt(){Rt(!0)}function Vt(){Rt(!1),Qn.value=null,Q.value=null,Zn.value=null}let{isPrinting:Ht,isImaging:Ut,generatePdf:Wt,generateImage:Gt}=ce({elementId:`hill_${At.value}`,fileName:N.value.title.text||`vue-ui-hill`,options:j.value.userOptions.print}),Kt=_(()=>j.value.userOptions.useCursorPointer),qt=C(0),Jt=C(!1);function Yt(e){Jt.value=e,qt.value+=1}let Xt=C(!1);function Zt(){Xt.value=!Xt.value}let Qt=_(()=>j.value.userOptions.position===`left`?`right`:`left`);we(()=>kt.config,()=>{k.value=null,j.value=It(),qt.value+=1,F.value!==j.value.editing&&(F.value=j.value.editing&&!j.value.readonly)},{deep:!0});let $t=_(()=>{let e=j.value.customPalette;return Array.isArray(e)&&e.length?e:i});function en(e){let t=Number(e);return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function tn(e){if(e<=0)return`todo`;if(e>=1)return`done`;let t=.5,n=Math.min(t,Math.max(0,Number(j.value.interaction.peakTolerance)||0)),r=t-n,i=t+n;return e>=r&&e<=i?`top`:e<t?`left`:`right`}function nn(e,t){let n=e&&typeof e==`object`?e:{},r=`Item ${t+1}`,i=String(n.name??n.label??r),a=en(n.position??n.value??0);return{...n,id:String(n.id??`${i}-${t}`),name:i,label:String(n.label??i),position:a,color:n.color||$t.value[t%$t.value.length],muted:!!n.muted,disabled:!!n.disabled,status:tn(e.position),labelSide:[`left`,`right`,`auto`].includes(n.labelSide)?n.labelSide:`auto`,__index:t}}let rn=_(()=>Array.isArray(kt.dataset)?kt.dataset.map(nn):[]);function an(e){return e.map(e=>({...e}))}function on(e){let{__index:t,...n}=e;return Object.prototype.hasOwnProperty.call(n,`value`)&&(n.value=n.position),n}function sn(e=I.value){return e.map(on)}let cn=_(()=>j.value.editing&&!j.value.readonly),F=C(cn.value),I=C(an(rn.value)),L=C(null);we(rn,e=>{F.value||(k.value=null,I.value=an(e))},{deep:!0});let R=_(()=>!j.value.readonly);we(R,e=>{e||(L.value=null,k.value=null,F.value=!1,I.value=an(rn.value))});function z(e,t){Ft(e,t);let n=j.value.events?.[e];typeof n==`function`&&n(t)}let B=_(()=>N.value),ln=_(()=>B.value.layout),V=_(()=>ln.value.hill),H=_(()=>ln.value.plots),U=_(()=>ln.value.labels.item),W=_(()=>ln.value.labels.phases),G=_(()=>B.value.toolbar),K=_(()=>ln.value.stackbar),q=_(()=>{let e=H.value.stacking?.overflow||{},t=Math.max(0,Number(H.value.radius)||0);return{show:e.show!==!1,marker:{radius:Math.max(4,Number(e.marker?.radius)||t),fill:e.marker.fill,stroke:e.marker?.stroke||H.value.stroke,strokeWidth:e.marker.strokeWidth,color:e.marker.labelColor,fontSize:e.marker.fontSize,bold:e.marker?.bold!==!1,offsetY:e.marker.labelOffsetY},hysteresis:t*1.5,transitionDuration:P.value?e.transitionDuration:0,menu:{width:Math.max(160,Number(e.menu?.width)||220),maxHeight:Math.max(96,Number(e.menu?.maxHeight)||220),backgroundColor:e.menu?.backgroundColor||B.value.backgroundColor,color:e.menu?.color||B.value.color,borderColor:e.menu?.borderColor||H.value.stroke,borderRadius:Math.max(0,Number(e.menu?.borderRadius)||6)}}});function un(e,t,n=1){let r=Number(e);return Number.isFinite(r)?Math.min(n,Math.max(0,r)):t}let J=_(()=>{let e=V.value.geometry||{},t=Math.max(0,Number(B.value.width)||0),n=Math.max(0,Number(B.value.height)||0),r=un(e.horizontalPaddingRatio,.02,.49),i=un(e.topPaddingRatio,.12,.49),a=un(e.bottomPaddingRatio,.2,.49),o=un(e.curvature,.65),s=t*r,c=t/2,l=t*(1-r),u=n*i,d=n*(1-a),f=c-s,p=l-c,m=s+f*o,h=c+p*(1-o);return{startX:s,centerX:c,endX:l,baseY:d,peakY:u,width:f+p,left:[{x:s,y:d},{x:m,y:d},{x:m,y:u},{x:c,y:u}],right:[{x:c,y:u},{x:h,y:u},{x:h,y:d},{x:l,y:d}]}}),dn=_(()=>{let{left:e,right:t}=J.value;return[`M${e[0].x} ${e[0].y}`,`C${e[1].x} ${e[1].y} ${e[2].x} ${e[2].y} ${e[3].x} ${e[3].y}`,`C${t[1].x} ${t[1].y} ${t[2].x} ${t[2].y} ${t[3].x} ${t[3].y}`].join(` `)});function fn(e,t,n,r,i){let a=1-i;return a**3*e+3*a**2*i*t+3*a*i**2*n+i**3*r}function pn(e,t,n,r,i){let a=1-i;return 3*a**2*(t-e)+6*a*i*(n-t)+3*i**2*(r-n)}function mn(e){let t=en(e),{startX:n,centerX:r,endX:i,left:a,right:o}=J.value,s=n+(t-0)/1*(i-n),c=s<=r?a:o,l=0,u=1;for(let e=0;e<28;e+=1){let e=(l+u)/2;fn(c[0].x,c[1].x,c[2].x,c[3].x,e)<s?l=e:u=e}let d=(l+u)/2,f=fn(c[0].y,c[1].y,c[2].y,c[3].y,d),p=pn(c[0].x,c[1].x,c[2].x,c[3].x,d),m=pn(c[0].y,c[1].y,c[2].y,c[3].y,d),h=Math.hypot(p,m)||1;return{x:s,y:f,normalX:m/h,normalY:-p/h}}function hn(e){let t=Number(H.value.stacking.overlapThresholdRatio);return e*(2-(Number.isFinite(t)?Math.min(2,Math.max(0,t)):.5))}function gn(e,t){let n=/* @__PURE__ */ new Map,r=H.value.stacking;if(e.forEach(e=>{n.set(e.id,{position:e.position,index:0,size:1,stackId:`stack:${e.id}`})}),!r.show||e.length<2||t<=0)return n;let i=hn(t),a=e.map((e,t)=>({datapoint:e,index:t,point:mn(e.position)})).sort((e,t)=>e.point.x-t.point.x||e.datapoint.position-t.datapoint.position||e.index-t.index),o=0;for(;o<a.length;){let e=[a[o]],t=o+1;for(;t<a.length;){let n=e[e.length-1],r=a[t];if(Math.hypot(r.point.x-n.point.x,r.point.y-n.point.y)>=i)break;e.push(r),t+=1}if(e.length>1){let t=e[0].datapoint.position,r=`stack:${e.map(({datapoint:e})=>e.id).sort().join(`|`)}`;e.forEach(({datapoint:i},a)=>{n.set(i.id,{position:t,index:a,size:e.length,stackId:r})})}o=t}return n}function _n(e){let t=e+Math.max(0,Number(H.value.strokeWidth)||0)/2,n=H.value.stacking.gap??e/2;return t*2+n}let vn=C(null),Y=C(null),X=C(null),yn=C(null),bn=C(null),xn=/* @__PURE__ */ new Set,Sn=null,Cn=null,Z=null;function wn(e){let t=Math.max(0,Number(H.value.strokeWidth)||0),n=H.value.shadow.show?Math.max(0,Number(H.value.shadow.blur)||0)+Math.max(0,-(Number(H.value.shadow.offsetY)||0)):0;return e+t/2+n}function Tn(e,t,n){if(t<=1)return e-wn(n);let r=_n(n);return e-(t-1)*r-wn(n)}function En(e,t,n,r){if(n<=1)return xn.delete(e),!1;let i=Tn(t,n,r),a=xn.has(e),o=q.value.hysteresis,s=a?i<o:i<0;return s?xn.add(e):xn.delete(e),s}let Dn=_(()=>{let e=Math.max(0,Number(H.value.radius)||0),t=_n(e),n=gn(I.value,e),r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=[],o=/* @__PURE__ */ new Set,s=L.value?.id??null;q.value.show||xn.clear(),I.value.forEach(e=>{let t=n.get(e.id)||{position:e.position,index:0,size:1,stackId:`stack:${e.id}`};r.has(t.stackId)||r.set(t.stackId,[]),r.get(t.stackId).push({datapoint:e,stack:t})});let c=new Set(r.keys());return xn.forEach(e=>{c.has(e)||xn.delete(e)}),r.forEach((n,r)=>{let c=[...n].sort((e,t)=>e.stack.index-t.stack.index||e.datapoint.__index-t.datapoint.__index),l=c.reduce((e,t)=>e+(Number(t.datapoint.position)||0),0)/c.length,u=mn(l);if(!(q.value.show&&En(r,u.y,c.length,e))){c.forEach(e=>{i.set(e.datapoint.id,{hidden:!1,displayIndex:e.stack.index,stackId:r,stackSize:c.length,promotedFromOverflow:!1,renderPosition:e.stack.position})});return}c.forEach(({datapoint:e})=>{o.add(e.id)});let d=s?c.find(({datapoint:e})=>e.id===s):null,f=c.find(({datapoint:e})=>e.id===vn.value),p=d||f||null,m=p?c.filter(({datapoint:e})=>e.id!==p.datapoint.id):c,h=Y.value,ee=!(!f||h?.datapointId!==f.datapoint.id||h.moved),te=m.length?ee?l:m.reduce((e,t)=>e+(Number(t.datapoint.position)||0),0)/m.length:l,ne=mn(te);c.forEach(e=>{let t=p?.datapoint.id===e.datapoint.id,n=t&&f?.datapoint.id===e.datapoint.id;i.set(e.datapoint.id,{hidden:!t,displayIndex:+!!t,stackId:r,stackSize:c.length,promotedFromOverflow:n,renderPosition:te})}),m.length&&a.push({stackId:r,anchorPosition:te,x:ne.x,y:ne.y,hiddenCount:m.length,hiddenDatapoints:m.map(({datapoint:e})=>e),memberIds:c.map(({datapoint:e})=>e.id),collapseDatapoints:m.map(({datapoint:e,stack:n})=>{let r=mn(n.position);return{id:e.id,color:e.color,relativeX:r.x-ne.x,relativeY:r.y-n.index*t-ne.y}})})}),{layoutMap:n,displayMap:i,markers:a,overflowMemberIds:o}});function On(e){let t=An.value.filter(e=>!e.isStackOverflowHidden),n=t.find(t=>t.id===e),r=new Map(t.filter(t=>t.id!==e).map(e=>[e.id,{x:e.x,y:e.y}]));if(!n||!H.value.stacking.show)return r;let i=t.filter(e=>Math.abs(e.x-n.x)<.001).sort((e,t)=>t.y-e.y||e.datasetIndex-t.datasetIndex);if(i.length<2)return r;let a=_n(Math.max(0,Number(H.value.radius)||0)),o=Math.max(...i.map(e=>e.y));return i.filter(t=>t.id!==e).forEach((e,t)=>{r.set(e.id,{x:n.x,y:o-t*a})}),r}function kn(){return new Map(An.value.filter(e=>!e.isStackOverflowHidden).map(e=>[e.id,{x:e.x,y:e.y}]))}let An=_(()=>{let e=Math.max(0,Number(H.value.radius)||0),{layoutMap:t,displayMap:n,markers:r}=Dn.value,i=_n(e),a=L.value,o=a?.stationaryLayout,s=o instanceof Map?o:k.value instanceof Map?k.value:null,c=null;if(a&&o instanceof Map&&H.value.stacking.show&&e>0){let t=I.value.find(e=>e.id===a.id);if(t){let n=r.find(e=>e.memberIds.includes(t.id));if(n)c={x:n.x,y:n.y-i};else{let n=mn(t.position),r=hn(e),s=I.value.filter(e=>e.id!==a.id&&o.has(e.id)).map(e=>{let t=mn(e.position);return{datapoint:e,distance:Math.hypot(t.x-n.x,t.y-n.y)}}).filter(({distance:e})=>e<r).sort((e,t)=>e.distance-t.distance)[0];if(s){let e=o.get(s.datapoint.id),t=[...o.values()].filter(t=>Math.abs(t.x-e.x)<.001),n=Math.min(e.y,...t.map(e=>e.y));c={x:e.x,y:n-i}}else c=n}}}return I.value.map((e,r)=>{let o=t.get(e.id)||{position:e.position,index:0,size:1,stackId:`stack:${e.id}`},l=n.get(e.id)||{hidden:!1,displayIndex:o.index,stackId:o.stackId,stackSize:o.size,renderPosition:o.position},u=mn(l.renderPosition??o.position),f=e.id!==a?.id&&!l.promotedFromOverflow&&s instanceof Map?s.get(e.id):null,p=e.id===a?.id&&c?c:f||{x:u.x,y:u.y-l.displayIndex*i},m=e.labelSide===`auto`?null:e.labelSide,h=d(U.value.autoSideThreshold,.5,1),ee=m||(e.position>h?`left`:`right`),te=Math.abs(Number(U.value.offsetX)||0)+H.value.radius+U.value.fontSize/2;return{...e,datasetIndex:r,x:p.x,y:p.y,stackId:l.stackId,stackSize:l.stackSize,stackDisplayIndex:l.displayIndex,isStackOverflowHidden:l.hidden,isPromotedFromStackOverflow:l.promotedFromOverflow,labelSide:ee,labelX:ee===`left`?-te:te,textAnchor:ee===`left`?`end`:`start`}})});function jn(e){return I.value.find(t=>t.id===e)}function Mn(e,t){let n=en(t),r;I.value=I.value.map(t=>t.id===e?(r={...t,position:n},r):t),r&&(_r(r.id,r.position),z(`change`,{datapoint:on(r),dataset:sn()}))}function Nn(e){let t=A.value;if(!t)return null;let n=t.getScreenCTM();if(!n)return null;let r=t.createSVGPoint();r.x=e,r.y=0;let i=r.matrixTransform(n.inverse()),{startX:a,endX:o}=J.value;return en(0+(i.x-a)/(o-a)*1)}function Pn(){R.value&&(X.value=null,vn.value=null,Y.value=null,bn.value=null,ur(),k.value=null,I.value=an(rn.value),F.value=!0,z(`edit`,sn()))}function Fn(){let e=sn();X.value=null,vn.value=null,Y.value=null,bn.value=null,ur(),L.value=null,F.value=!1,z(`save`,e)}function In(){X.value=null,vn.value=null,Y.value=null,bn.value=null,ur(),L.value=null,k.value=null,I.value=an(rn.value),F.value=!1,z(`cancel`,sn())}function Ln(e,t){if(!R.value||!F.value||t.disabled)return;X.value=null;let n=e.currentTarget.closest(`.vue-ui-hill__datapoint`);n&&typeof n.focus==`function`&&(n.focus(),Q.value=t.id),e.preventDefault();let r=On(t.id),i=Y.value?.datapointId===t.id&&!Y.value?.moved;if(L.value={id:t.id,pointerId:e.pointerId,stationaryLayout:r,startClientX:e.clientX,hasMoved:!1,deferPositionUpdate:i},A.value?.setPointerCapture(e.pointerId),!i){let n=Nn(e.clientX);n!==null&&Mn(t.id,n)}let a=jn(t.id);a&&z(`dragStart`,on(a))}function Rn(e){if(!L.value||L.value.pointerId!==e.pointerId)return;e.preventDefault();let t=Math.abs(e.clientX-L.value.startClientX);if(L.value.deferPositionUpdate&&!L.value.hasMoved&&t<3)return;L.value.hasMoved||(L.value={...L.value,hasMoved:!0});let n=Nn(e.clientX);n!==null&&Mn(L.value.id,n)}function zn(e){let t=L.value;if(!t||t.pointerId!==e.pointerId)return;A.value?.hasPointerCapture(e.pointerId)&&A.value.releasePointerCapture(e.pointerId);let n=e.type===`pointerup`&&!t.hasMoved,r=jn(t.id);k.value=kn(),L.value=null,r&&(n&&z(`selectDatapoint`,Hn(r)),z(`dragEnd`,on(r)))}function Bn(e,t){if(!R.value||!F.value||t.disabled)return;let n=Math.max(0,Number(j.value.interaction.keyboardStep)||0),r=null;switch(e.key){case`ArrowLeft`:case`ArrowDown`:r=t.position-n;break;case`ArrowRight`:case`ArrowUp`:r=t.position+n;break;case`Home`:r=0;break;case`End`:r=1;break;default:return}e.preventDefault();let i=e.currentTarget;Q.value=t.id,L.value={id:t.id,pointerId:null,stationaryLayout:On(t.id)},Mn(t.id,r),k.value=kn(),L.value=null,_e(()=>{i?.isConnected&&i.focus({preventScroll:!0})})}function Vn(e){let t=.5,n=Math.max(0,Number(j.value.interaction.peakTolerance)||0);return Math.abs(e-t)<=n?j.value.a11y.translations.topOfHill:e<t?W.value.left.text:W.value.right.text}function Hn(e){return{datapoint:on(e),index:e.__index}}function Un(e){Q.value=null,Qn.value=e.id,![0,1].includes(e.position)&&Q.value!==e.id&&tr(e),z(`datapointEnter`,Hn(e))}function Wn(e){Qn.value===e.id&&(Qn.value=null),Zn.value===e.id&&Q.value!==e.id&&L.value?.id!==e.id&&(Zn.value=null),z(`datapointLeave`,Hn(e))}function Gn(e){F.value&&R.value||z(`selectDatapoint`,Hn(e))}let Kn=_(()=>{let e=B.value;return{width:`100%`,maxWidth:`100%`,color:e.color,backgroundColor:e.backgroundColor,fontFamily:j.value.style.fontFamily,"--vue-ui-hill-button-hover-border":G.value.buttons.hoverBorderColor,"--vue-ui-hill-button-active-offset":`${G.value.buttons.activeTranslateY}px`}}),qn=_(()=>({color:G.value.status.color,fontSize:`${G.value.status.fontSize}px`,fontWeight:G.value.status.bold?`bold`:`normal`,lineHeight:G.value.status.lineHeight}));_(()=>({color:B.value.title.color,fontSize:`${B.value.title.fontSize}px`,fontWeight:B.value.title.bold?`bold`:`normal`,textAlign:B.value.title.textAlign})),_(()=>({color:B.value.title.subtitle.color,fontSize:`${B.value.title.subtitle.fontSize}px`,fontWeight:B.value.title.subtitle.bold?`bold`:`normal`}));let Jn=_(()=>{let e=Math.max(0,Number(B.value.height)||0);return Math.min(e,J.value.baseY+e)+W.value.offsetY});function Yn(e){return W.value[e].text}function Xn(e){return e.position===0||e.position===1}let Zn=C(null),Qn=C(null),Q=C(null);function $n(e){Q.value=e.id}function er(e){Q.value===e.id&&(Q.value=null),Zn.value===e.id&&Qn.value!==e.id&&L.value?.id!==e.id&&(Zn.value=null)}function tr(e){e?.id&&(Zn.value=e.id)}let nr=_(()=>{let e=[],t=[],n=null;return An.value.forEach(r=>{r.isStackOverflowHidden||(r.id===Zn.value?n=r:Xn(r)?e.push(r):t.push(r))}),[...e,...t,...n?[n]:[]]}),rr=_(()=>Dn.value.markers),$=_(()=>rr.value.find(e=>e.stackId===X.value)||null),ir=_(()=>{let e=Math.max(160,Number(q.value.menu.width)||220),t=Math.max(80,Number(q.value.menu.maxHeight)||220);return{visibility:yn.value?`visible`:`hidden`,width:`max-content`,minWidth:`${e}px`,maxWidth:`calc(100% - 16px)`,maxHeight:`${t}px`,backgroundColor:q.value.menu.backgroundColor,color:q.value.menu.color,borderColor:q.value.menu.borderColor,borderRadius:`${q.value.menu.borderRadius}px`}});function ar(e,t){let n=A.value,r=jt.value;if(!n||!r)return null;let i=n.getScreenCTM();if(!i)return null;let a=n.createSVGPoint();a.x=e,a.y=t;let o=a.matrixTransform(i),s=r.getBoundingClientRect();return{x:o.x-s.left,y:o.y-s.top}}function or(){let e=$.value,t=Mt.value,n=jt.value;if(!e||!t||!n){yn.value=null;return}let r=ar(e.x,e.y),i=ar(e.x,e.y+q.value.marker.radius);if(!r||!i){yn.value=null;return}let a=n.getBoundingClientRect(),o=t.offsetWidth,s=t.offsetHeight,c=Math.abs(i.y-r.y),l=Math.max(0,a.width-16),u=Math.min(o,l),d=r.x;if(u>=l)d=a.width/2;else{let e=u/2;d=Math.min(a.width-8-e,Math.max(8+e,r.x))}let f=r.y+c+8,p=r.y-c-8-s,m=f+s<=a.height-8,h=p>=8,ee=f;!m&&h?ee=p:m||(ee=Math.min(Math.max(8,f),Math.max(8,a.height-s-8))),yn.value={left:`${d}px`,top:`${ee}px`,transform:`translateX(-50%)`,visibility:`visible`}}function sr(){typeof window<`u`&&(Z!==null&&window.cancelAnimationFrame(Z),Z=window.requestAnimationFrame(()=>{Z=null,or()}))}we(rr,e=>{X.value&&!e.some(e=>e.stackId===X.value)&&lr()}),we(()=>{let e=$.value;return e?[e.stackId,e.x,e.y,e.hiddenDatapoints.length,e.hiddenDatapoints.map(e=>`${e.id}:${e.label}:${e.position}`).join(`|`),q.value.marker.radius,q.value.menu.width,q.value.menu.maxHeight,q.value.menu.backgroundColor,q.value.menu.color,q.value.menu.borderColor,q.value.menu.borderRadius,Jt.value]:null},e=>{e?_e(sr):yn.value=null},{flush:`post`}),we(Mt,(e,t)=>{t&&Cn&&Cn.unobserve(t),e&&Cn&&(Cn.observe(e),_e(sr))},{flush:`post`}),we(()=>{let e=vn.value;return!e||Dn.value.overflowMemberIds.has(e)},e=>{e||(vn.value=null,Y.value=null)});function cr(e){e&&(X.value===e.stackId?sr():(yn.value=null,X.value=e.stackId,_e(sr)))}function lr(){X.value=null,yn.value=null,typeof window<`u`&&Z!==null&&(window.cancelAnimationFrame(Z),Z=null)}function ur(){Sn!==null&&(clearTimeout(Sn),Sn=null)}function dr(){let e=Y.value;e&&!e.moved&&(ur(),bn.value=e.stackId,vn.value=null,Y.value=null,lr(),Sn=setTimeout(()=>{bn.value=null,Sn=null},q.value.transitionDuration+80))}function fr(e){if(!(e instanceof Element))return{isMenu:!1,isMarker:!1,isSelectedDatapoint:!1};let t=Y.value,n=e.closest(`[data-datapoint-id]`);return{isMenu:!!e.closest(`[data-stack-overflow-menu]`),isMarker:!!e.closest(`[data-stack-overflow-marker]`),isSelectedDatapoint:!!(t&&n?.getAttribute(`data-datapoint-id`)===t.datapointId)}}function pr(e){let t=fr(e.target);X.value&&!t.isMenu&&!t.isMarker&&lr(),!Y.value||Y.value.moved||t.isMenu||t.isMarker||t.isSelectedDatapoint||dr()}function mr(e){let t=An.value.find(t=>t.id===e);if(!t||t.isStackOverflowHidden)return;let n=A.value?.querySelector(`[data-datapoint-index="${t.__index}"]`);n&&typeof n.focus==`function`&&n.focus({preventScroll:!0})}function hr(e){if(!e||e.disabled||j.value.readonly)return;let t=$.value?.stackId;t&&(ur(),bn.value=null,vn.value=e.id,Y.value={datapointId:e.id,stackId:t,initialPosition:e.position,moved:!1},lr(),_e(()=>{mr(e.id);let t=An.value.find(t=>t.id===e.id);t&&z(`selectDatapoint`,Hn(t))}))}function gr(){let e=Math.max(1,Number(J.value.width)||1);return Math.max(1e-6,1/e*2)}function _r(e,t){let n=Y.value;n&&n.datapointId===e&&!n.moved&&Math.abs(t-n.initialPosition)>=gr()&&(Y.value={...n,moved:!0})}xe(()=>{document.addEventListener(`pointerdown`,pr),window.addEventListener(`resize`,sr,{passive:!0}),typeof ResizeObserver<`u`&&(Cn=new ResizeObserver(()=>{$.value&&sr()}),jt.value&&Cn.observe(jt.value),A.value&&Cn.observe(A.value))}),be(()=>{document.removeEventListener(`pointerdown`,pr),window.removeEventListener(`resize`,sr),Cn?.disconnect(),Cn=null,Z!==null&&(window.cancelAnimationFrame(Z),Z=null),ur()});function vr(e){return L.value?L.value.id===e.id:Qn.value===e.id||Q.value===e.id}function yr(e){return s(M.value.dragMarker.positionIndicator.value.formatter,e.position,n({p:``,v:e.position*100,s:`%`,r:M.value.dragMarker.positionIndicator.value.rounding}))}let br=_(()=>N.value.backgroundColor),xr=_(()=>N.value.legend),Sr=_(()=>N.value.title),{isCallbackImaging:Cr,isCallbackSvg:wr,generateSvg:Tr,onGenerateImage:Er}=re({svg:A,title:Sr,legend:xr,legendItems:null,backgroundColor:br,getSvgCallback:()=>j.value.userOptions.callbacks.svg,generateImage:Gt});function Dr(e=null){_e(()=>{let t=sn().map(e=>[[e.name],[e.position],[yr(e)],[Vn(e.position)]]),n=[[N.value.title.text],[N.value.title.subtitle.text],[[`Name`],[`Position`],[`Percentage`],[`Phase`]]].concat(t),i=r(n);e?e(i):l({csvContent:i,title:N.value.title.text||`vue-ui-hill`})})}let Or=_(()=>N.value.layout.stackbar.show),kr=_(()=>{let e=An.value.length;An.value.reduce((e,t)=>e+(t?.position??0),0);let t=0,n=An.value.every(e=>e.position===1);return An.value.toSorted((e,t)=>{if(n)return e.__index-t.__index;let r=(e?.position??0)-(t?.position??0);return r===0?e.__index-t.__index:r}).map(n=>{let r=n?.position??0,i=e>0?r/e:0,a={...n,proportion:i,proportionStart:t};return t+=i,a})}),Ar=_(()=>Math.min(1,Math.max(0,kr.value.reduce((e,t)=>e+t.proportion,0)))),jr=_(()=>Ar.value*100),Mr=_(()=>J.value.left[0].x+J.value.width*Ar.value),Nr=_(()=>B.value.height+32+K.value.paddingTop);function Pr(){return s(K.value.label.formatter,jr.value,n({p:``,v:jr.value,s:`%`,r:0}))}let Fr=_(()=>`${At.value}-stackbar-clip`);async function Ir(){let e=sn();Ft(`copyAlt`,{config:j.value,dataset:e}),j.value.userOptions.callbacks.altCopy?await Promise.resolve(j.value.userOptions.callbacks.altCopy({config:j.value,dataset:e})):console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.")}let Lr=te(jt,()=>N.value.title.text);function Rr(){return sn()}return m({isEditing:F,beginEditing:Pn,save:Fn,cancel:In,getData:Rr,copyAlt:Ir,toggleFullscreen:Yt,toggleAnnotator:Zt,generateImage:Gt,generateSvg:Tr,generatePdf:Wt,generateCsv:Dr,getImage:Lr}),(e,t)=>(S(),y(`div`,{ref_key:`hillChartRef`,ref:jt,class:ve(`vue-data-ui-component vue-ui-hill`),style:x(Kn.value),id:`hill_${At.value}`,onMouseenter:Bt,onMouseleave:Vt,"data-editing":F.value},[N.value.title.text?(S(),y(`div`,ke,[(S(),fe(ne,{key:`title_${Pt.value}`,config:{title:{cy:`hill-div-title`,...N.value.title},subtitle:{cy:`hill-div-subtitle`,...N.value.title.subtitle}}},null,8,[`config`]))],512)):v(``,!0),j.value.userOptions.buttons.annotator&&A.value?(S(),fe(D(wt),{key:1,color:N.value.color,backgroundColor:N.value.backgroundColor,active:Xt.value,svgRef:A.value,isCursorPointer:Kt.value,palette:j.value.userOptions.annotatorPalette,onClose:Zt},pe({_:2},[w(D(ae),t=>({name:t,fn:Te(n=>[T(e.$slots,t,ye(ge(D(ie)(t,n))),void 0,!0)])}))]),1032,[`color`,`backgroundColor`,`active`,`svgRef`,`isCursorPointer`,`palette`])):v(``,!0),G.value.show?(S(),fe(D(xt),{key:2,"is-editing":F.value,"is-editable":R.value,"is-fullscreen":Jt.value,position:Qt.value,color:N.value.color,"background-color":N.value.backgroundColor,translations:G.value.buttons.translations,"is-cursor-pointer":Kt.value,onUpdate:Pn,onCancel:In,onSave:Fn},{"hill-edit":Te(()=>[T(e.$slots,`hill-edit`,{},void 0,!0)]),"hill-cancel":Te(()=>[T(e.$slots,`hill-cancel`,{},void 0,!0)]),"hill-save":Te(()=>[T(e.$slots,`hill-save`,{},void 0,!0)]),_:3},8,[`is-editing`,`is-editable`,`is-fullscreen`,`position`,`color`,`background-color`,`translations`,`is-cursor-pointer`])):v(``,!0),G.value.show?(S(),y(`div`,Ae,[b(`p`,{class:`vue-ui-hill__status`,style:x(qn.value),"aria-live":`polite`},E(F.value?G.value.status.editInstruction:G.value.status.lastUpdated),5)])):v(``,!0),j.value.userOptions.show&&(D(zt)||D(Lt))?(S(),fe(D(St),{ref_key:`userOptionsRef`,ref:Nt,key:`uo_${qt.value}`,backgroundColor:N.value.backgroundColor,color:N.value.color,isPrinting:D(Ht),isImaging:D(Ut),uid:At.value,hasTooltip:!1,hasPdf:j.value.userOptions.buttons.pdf,hasImg:j.value.userOptions.buttons.img,hasSvg:j.value.userOptions.buttons.svg,hasXls:j.value.userOptions.buttons.csv,hasTable:j.value.userOptions.buttons.table,hasLabel:j.value.userOptions.buttons.labels,hasFullscreen:j.value.userOptions.buttons.fullscreen,hasAltCopy:j.value.userOptions.buttons.altCopy,chartElement:jt.value,position:j.value.userOptions.position,callbacks:j.value.userOptions.callbacks,titles:{...j.value.userOptions.buttonTitles},hasAnnotator:j.value.userOptions.buttons.annotator,isAnnotation:Xt.value,printScale:j.value.userOptions.print.scale,isCursorPointer:Kt.value,onToggleFullscreen:Yt,onGeneratePdf:D(Wt),onGenerateCsv:Dr,onGenerateImage:D(Er),onGenerateSvg:D(Tr),onToggleAnnotator:Zt,onCopyAlt:Ir,style:x({visibility:D(zt)?D(Lt)?`visible`:`hidden`:`visible`})},pe({_:2},[w(D(oe)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:Te(n=>[T(e.$slots,t,ye(ge(D(se)(t,n))),void 0,!0)])}))]),1032,[`backgroundColor`,`color`,`isPrinting`,`isImaging`,`uid`,`hasPdf`,`hasImg`,`hasSvg`,`hasXls`,`hasTable`,`hasLabel`,`hasFullscreen`,`hasAltCopy`,`chartElement`,`position`,`callbacks`,`titles`,`hasAnnotator`,`isAnnotation`,`printScale`,`isCursorPointer`,`onGeneratePdf`,`onGenerateImage`,`onGenerateSvg`,`style`])):v(``,!0),(S(),y(`svg`,{ref_key:`svgRef`,ref:A,style:x({background:`transparent`,color:N.value.color,fontFamily:j.value.style.fontFamily}),class:ve({"vue-data-ui-no-transition":!D(P)}),viewBox:`0 0 ${B.value.width} ${B.value.height+(Or.value?32+K.value.paddingTop+K.value.paddingBottom+K.value.height:0)}`,role:`group`,"aria-live":`polite`,preserveAspectRatio:`xMidYMid meet`,onPointermove:Rn,onPointerup:zn,onPointercancel:zn},[me(D(Ct)),T(e.$slots,`svg-underlayer`,{svg:{drawingArea:J.value,isEditing:F.value,datapoints:nr.value,isPrintingImg:D(Ht)||D(Ut)||D(Cr),isPrintingSvg:D(wr)}},void 0,!0),e.$slots[`chart-background`]?(S(),y(`foreignObject`,{key:0,x:0,y:0,width:Math.max(.1,B.value.width),height:Math.max(.1,B.value.height+(Or.value?32+K.value.paddingTop+K.value.paddingBottom+K.value.height:0)),style:{pointerEvents:`none`}},[T(e.$slots,`chart-background`,{},void 0,!0)],8,Me)):v(``,!0),V.value.baseline.show?(S(),y(`line`,{key:1,x1:J.value.startX,x2:J.value.endX,y1:J.value.baseY,y2:J.value.baseY,stroke:V.value.baseline.stroke,"stroke-width":V.value.baseline.strokeWidth,"stroke-dasharray":V.value.baseline.strokeDasharray,"vector-effect":`non-scaling-stroke`},null,8,Ne)):v(``,!0),V.value.midline.show?(S(),y(`line`,{key:2,x1:J.value.centerX,x2:J.value.centerX,y1:J.value.peakY,y2:J.value.baseY,stroke:V.value.midline.stroke,"stroke-width":V.value.midline.strokeWidth,"stroke-dasharray":V.value.midline.strokeDasharray,"vector-effect":`non-scaling-stroke`},null,8,Pe)):v(``,!0),b(`path`,{d:dn.value,fill:`none`,stroke:V.value.curve.stroke,"stroke-width":V.value.curve.strokeWidth,"stroke-dasharray":V.value.curve.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`},null,8,Fe),M.value.dragMarker.positionIndicator.show?(S(!0),y(g,{key:3},w(nr.value,e=>(S(),y(`g`,{key:`position-indicator-${e.id}`},[vr(e)&&H.value.dragMarker.show?(S(),y(`g`,Ie,[b(`path`,{d:`M${e.x},${e.y} ${e.x},${J.value.baseY}`,stroke:M.value.dragMarker.positionIndicator.useSerieColor?e.color:M.value.dragMarker.positionIndicator.color,"stroke-width":M.value.dragMarker.positionIndicator.strokeWidth,"stroke-dasharray":M.value.dragMarker.positionIndicator.strokeDasharray,"stroke-linecap":`round`,"vector-effect":`non-scaling-stroke`,class:ve({"vue-data-ui-transition":D(P)&&L.value?.id!==e.id})},null,10,Le),M.value.dragMarker.positionIndicator.circle.show?(S(),y(`circle`,{key:0,cx:e.x,cy:J.value.baseY,r:M.value.dragMarker.positionIndicator.circle.radius,fill:M.value.dragMarker.positionIndicator.useSerieColor?e.color:M.value.dragMarker.positionIndicator.color,stroke:M.value.dragMarker.positionIndicator.circle.stroke,"stroke-width":M.value.dragMarker.positionIndicator.circle.strokeWidth,"vector-effect":`non-scaling-stroke`,"paint-order":`stroke fill`,class:ve({"vue-data-ui-transition":D(P)&&L.value?.id!==e.id})},null,10,Re)):v(``,!0),M.value.dragMarker.positionIndicator.value.show?(S(),y(`text`,{key:1,"paint-order":`stroke fill`,"vector-effect":`non-scaling-stroke`,"text-anchor":`middle`,transform:`translate(${e.x}, ${J.value.baseY+M.value.radius+M.value.dragMarker.positionIndicator.value.offsetY+M.value.dragMarker.positionIndicator.value.fontSize})`,"font-size":M.value.dragMarker.positionIndicator.value.fontSize,fill:M.value.dragMarker.positionIndicator.value.useSerieColor?e.color:M.value.dragMarker.positionIndicator.value.color,stroke:N.value.backgroundColor,"stroke-width":`1`,class:ve({"vue-data-ui-transition":D(P)&&L.value?.id!==e.id})},E(yr(e)),11,ze)):v(``,!0)])):v(``,!0)]))),128)):v(``,!0),(S(!0),y(g,null,w(nr.value,e=>(S(),y(`g`,{key:e.id,"data-cy-datapoint":``,class:ve({"vue-ui-hill__datapoint":!0,"vue-data-ui-transition":D(P)&&L.value?.id!==e.id,"vue-ui-hill__datapoint--promoted":D(P)&&e.isPromotedFromStackOverflow}),style:x({opacity:[0,1].includes(e.position)||e?.muted?H.value.mutedOpacity:e?.disabled?H.value.disabledOpacity:1}),transform:`translate(${e.x} ${e.y})`,"data-datapoint-index":e.__index,"data-datapoint-id":e.id,role:`slider`,tabindex:F.value&&R.value&&!e.disabled?0:-1,"aria-orientation":`horizontal`,"aria-valuemin":`0`,"aria-valuemax":`100`,"aria-valuenow":yr(e),"aria-valuetext":`${e.label}: ${Vn(e.position)}, ${yr(e)}`,"aria-label":e.label,onFocus:t=>$n(e),onBlur:t=>er(e),onKeydown:t=>Bn(t,e),onPointerenter:t=>Un(e),onPointerleave:t=>Wn(e),onClick:t=>Gn(e)},[b(`circle`,{r:H.value.hitRadius,fill:`transparent`,class:ve({"vue-ui-hill__hit-area--active":F.value&&R.value&&!e.disabled,"vue-ui-hill__hit-area--dragging":L.value?.id===e.id}),onPointerdown:t=>Ln(t,e)},null,42,Ve),b(`circle`,{class:`vue-ui-hill-circle`,r:H.value.radius,fill:e.color,stroke:H.value.stroke,"stroke-width":H.value.strokeWidth,style:x({filter:H.value.shadow.show?`drop-shadow(${H.value.shadow.offsetX}px ${H.value.shadow.offsetY}px ${H.value.shadow.blur}px ${H.value.shadow.color})`:`none`}),"vector-effect":`non-scaling-stroke`,"pointer-events":`none`},null,12,He),F.value&&(L.value?.id===e.id&&H.value.dragMarker.show||vr(e))&&!e?.disabled?(S(),y(`g`,{key:0,fill:`none`,stroke:D(u)(e.color),"stroke-width":H.value.dragMarker.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`,"vector-effect":`non-scaling-stroke`,"aria-hidden":`true`},[b(`path`,{d:H.value.dragMarker.crossPath},null,8,We)],8,Ue)):v(``,!0),U.value.show?(S(),y(`text`,{key:1,x:e.labelX,y:U.value.offsetY,"text-anchor":e.textAnchor,fill:U.value.useSerieColor?e.color:U.value.color,"font-size":U.value.fontSize,"font-weight":U.value.bold?`bold`:`normal`,"paint-order":`stroke fill`,stroke:U.value.stroke,"stroke-width":U.value.strokeWidth,"stroke-linejoin":`round`,"stroke-linecap":`round`,"pointer-events":`none`,style:{"user-select":`none`},"dominant-baseline":`central`},E(D(o)(e.label,U.value.ellipsisThresholdChars)),9,Ge)):v(``,!0)],46,Be))),128)),(S(!0),y(g,null,w(rr.value,e=>(S(),y(`g`,{key:`stack-overflow-${e.stackId}`,class:ve([`vue-ui-hill__stack-overflow-marker`,{"vue-ui-hill__stack-overflow-marker--animated":D(P),"vue-ui-hill__stack-overflow-marker--restored":bn.value===e.stackId}]),style:x({"--vue-ui-hill-overflow-marker-duration":`${q.value.transitionDuration*.7}ms`,"--vue-ui-hill-overflow-marker-delay":`${q.value.transitionDuration*.3}ms`,"--vue-ui-hill-overflow-label-duration":`${q.value.transitionDuration*.55}ms`,"--vue-ui-hill-overflow-label-delay":`${q.value.transitionDuration*.45}ms`,cursor:Kt.value&&!j.value.readonly?`pointer`:`default`}),transform:`translate(${e.x} ${e.y})`,"data-stack-overflow-marker":``,role:`button`,tabindex:F.value&&R.value?0:-1,"aria-label":`${e.hiddenCount} stacked datapoints. Activate to choose one.`,"aria-expanded":X.value===e.stackId,onPointerdown:t[0]||=O(()=>{},[`stop`]),onClick:O(t=>cr(e),[`stop`]),onFocus:t=>cr(e),onKeydown:[Ee(O(t=>cr(e),[`prevent`,`stop`]),[`enter`]),Ee(O(t=>cr(e),[`prevent`,`stop`]),[`space`]),Ee(O(lr,[`prevent`,`stop`]),[`esc`])]},[D(P)&&bn.value!==e.stackId?(S(),y(`g`,qe,[(S(!0),y(g,null,w(e.collapseDatapoints,t=>(S(),y(`circle`,{key:`overflow-ghost-${e.stackId}-${t.id}`,cx:t.relativeX,cy:t.relativeY,r:H.value.radius,fill:t.color,stroke:H.value.stroke,"stroke-width":H.value.strokeWidth,opacity:`0.8`,"vector-effect":`non-scaling-stroke`},[b(`animate`,{attributeName:`cx`,from:t.relativeX,to:`0`,dur:`${q.value.transitionDuration}ms`,fill:`freeze`,calcMode:`spline`,keyTimes:`0;1`,keySplines:`0.22 1 0.36 1`},null,8,Ye),b(`animate`,{attributeName:`cy`,from:t.relativeY,to:`0`,dur:`${q.value.transitionDuration}ms`,fill:`freeze`,calcMode:`spline`,keyTimes:`0;1`,keySplines:`0.22 1 0.36 1`},null,8,Xe),b(`animate`,{attributeName:`r`,from:H.value.radius,to:q.value.marker.radius*.7,dur:`${q.value.transitionDuration}ms`,fill:`freeze`},null,8,Ze),b(`animate`,{attributeName:`opacity`,from:`0.8`,to:`0`,dur:`${q.value.transitionDuration*.85}ms`,fill:`freeze`},null,8,Qe)],8,Je))),128))])):v(``,!0),b(`circle`,{r:Math.max(H.value.hitRadius,q.value.marker.radius),fill:`transparent`,"pointer-events":`all`},null,8,$e),b(`rect`,{class:`vue-ui-hill__stack-overflow-marker-rect`,x:-q.value.marker.radius,y:-q.value.marker.radius,width:q.value.marker.radius*2,height:q.value.marker.radius*2,fill:q.value.marker.fill,stroke:q.value.marker.stroke,"stroke-width":q.value.marker.strokeWidth,"vector-effect":`non-scaling-stroke`,"pointer-events":`none`},null,8,et),b(`g`,{class:`vue-ui-hill__stack-overflow-focus-cross`,fill:`none`,stroke:D(u)(V.value.curve.stroke),"stroke-width":H.value.dragMarker.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`,"vector-effect":`non-scaling-stroke`,"aria-hidden":`true`},[b(`path`,{d:H.value.dragMarker.crossPath},null,8,nt)],8,tt),$.value?v(``,!0):(S(),y(`text`,{key:1,class:`vue-ui-hill__stack-overflow-marker-label`,"text-anchor":`middle`,y:q.value.marker.radius+q.value.marker.offsetY+q.value.marker.fontSize,fill:q.value.marker.color,"font-size":q.value.marker.fontSize,"font-weight":q.value.marker.bold?`bold`:`normal`,"pointer-events":`none`,style:{"user-select":`none`},"paint-order":`stroke fill`,"vector-effect":`non-scaling-stroke`,stroke:N.value.backgroundColor,"stroke-width":`3`},` +`+E(e.hiddenCount),9,rt))],46,Ke))),128)),W.value.show?(S(),y(g,{key:4},[b(`text`,{x:(J.value.startX+J.value.centerX)/2,y:Jn.value,"text-anchor":`middle`,fill:W.value.color,"font-size":W.value.fontSize,"font-weight":W.value.bold?`bold`:`normal`,"letter-spacing":W.value.letterSpacing},E(Yn(`left`)),9,it),b(`text`,{x:(J.value.centerX+J.value.endX)/2,y:Jn.value,"text-anchor":`middle`,fill:W.value.color,"font-size":W.value.fontSize,"font-weight":W.value.bold?`bold`:`normal`,"letter-spacing":W.value.letterSpacing},E(Yn(`right`)),9,at)],64)):v(``,!0),Or.value?(S(),y(g,{key:5},[b(`rect`,{x:J.value.left[0].x,y:Nr.value,rx:K.value.height/2,width:J.value.width,height:K.value.height,fill:K.value.gutterColor},null,8,ot),b(`defs`,null,[b(`clipPath`,{id:Fr.value},[b(`rect`,{x:J.value.left[0].x,y:Nr.value,width:J.value.width*Ar.value,height:K.value.height,rx:Math.min(K.value.height/2,J.value.width*Ar.value/2),ry:Math.min(K.value.height/2,J.value.width*Ar.value/2)},null,8,ct)],8,st)]),b(`g`,{"clip-path":`url(#${Fr.value})`},[(S(!0),y(g,null,w(kr.value,e=>(S(),y(`rect`,{key:`bar_fill_${e.id}`,width:J.value.width*e.proportion,x:J.value.left[0].x+J.value.width*e.proportionStart,y:B.value.height+32+K.value.paddingTop,fill:e.color,height:K.value.height,onPointerenter:t=>Un(e),onPointerleave:t=>Wn(e)},null,40,ut))),128))],8,lt),(S(!0),y(g,null,w(kr.value.slice(1),e=>(S(),y(`line`,{key:`bar_separator_${e.id}`,x1:J.value.left[0].x+J.value.width*e.proportionStart,x2:J.value.left[0].x+J.value.width*e.proportionStart,y1:B.value.height+32+K.value.paddingTop,y2:B.value.height+32+K.value.paddingTop+K.value.height,stroke:K.value.stroke,"stroke-width":K.value.strokeWidth,"vector-effect":`non-scaling-stroke`},null,8,dt))),128)),b(`rect`,{x:J.value.left[0].x,y:B.value.height+32+K.value.paddingTop,width:J.value.width*Ar.value,height:K.value.height,rx:Math.min(K.value.height/2,J.value.width*Ar.value/2),ry:Math.min(K.value.height/2,J.value.width*Ar.value/2),fill:`none`,stroke:K.value.stroke,"stroke-width":K.value.strokeWidth,"vector-effect":`non-scaling-stroke`},null,8,ft),K.value.label.show&&Ar.value>0?(S(),y(`text`,{key:0,x:Mr.value,y:Nr.value-6,fill:K.value.label.color,"font-size":K.value.label.fontSize,"text-anchor":`end`,"dominant-baseline":`auto`,"pointer-events":`none`,style:{"user-select":`none`}},E(Pr()),9,pt)):v(``,!0)],64)):v(``,!0),T(e.$slots,`svg`,{svg:{drawingArea:J.value,isEditing:F.value,datapoints:nr.value,isPrintingImg:D(Ht)||D(Ut)||D(Cr),isPrintingSvg:D(wr)}},void 0,!0)],46,je)),$.value?(S(),y(`div`,{ref_key:`overflowMenuRef`,ref:Mt,key:`stack-overflow-menu-${$.value.stackId}`,class:`vue-ui-hill__stack-overflow-menu`,"data-stack-overflow-menu":``,"data-dom-to-png-ignore":``,style:x([ir.value,yn.value]),role:`listbox`,"aria-label":`Choose one of ${$.value.hiddenCount} stacked datapoints`,onPointerdown:t[1]||=O(()=>{},[`stop`]),onClick:t[2]||=O(()=>{},[`stop`]),onKeydown:Ee(O(lr,[`prevent`,`stop`]),[`esc`])},[M.value.stacking.overflow.menu.title?(S(),y(`div`,ht,E(M.value.stacking.overflow.menu.title),1)):v(``,!0),(S(!0),y(g,null,w($.value.hiddenDatapoints,e=>(S(),y(`button`,{key:`hidden-${e.id}`,type:`button`,class:ve([`vue-ui-hill__stack-overflow-menu-item`,{readonly:j.value.readonly}]),role:`option`,disabled:e.disabled,"aria-label":`${e.label}, ${yr(e)}`,onClick:O(t=>hr(e),[`stop`]),style:x({cursor:Kt.value&&!j.value.readonly?`pointer`:`default`})},[b(`span`,{class:`vue-ui-hill__stack-overflow-menu-swatch`,style:x({backgroundColor:e.color}),"aria-hidden":`true`},null,4),b(`span`,_t,E(D(o)(e.label,U.value.ellipsisThresholdChars)),1),b(`span`,vt,E(yr(e)),1)],14,gt))),128))],44,mt)):v(``,!0),T(e.$slots,`analysis`,{data:{...kr.value}},void 0,!0),e.$slots.watermark?(S(),y(`div`,yt,[T(e.$slots,`watermark`,ye(ge({isPrinting:D(Ht)||D(Ut)||D(Cr)||D(wr)})),void 0,!0)])):v(``,!0),j.value.loading?(S(),y(`div`,bt,[j.value.loading?T(e.$slots,`loading`,{},()=>[me(D(Tt),{name:`spinner2`,stroke:N.value.color,"is-spin":!0},null,8,[`stroke`])],!0,0):v(``,!0)])):v(``,!0)],44,Oe))}},[[`__scopeId`,`data-v-9112c932`]]);export{De as n,xt as t};
|