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