vue-data-ui 3.28.1 → 3.28.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PackageVersion-C4ZM3Vf7.js → PackageVersion-BIhjLNBU.js} +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -1
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/package-DwcKiXuI.js +1 -0
- package/dist/{render-common-CJz0wn0I.js → render-common-B-s2XJ_I.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.d.ts +2 -0
- package/dist/style.d.css.ts +2 -0
- package/dist/vue-data-ui-BvHCscNE.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-CW8ahywt.js → vue-ui-3d-bar-CkHFiFp4.js} +1 -1
- package/dist/{vue-ui-age-pyramid-CxMwKICA.js → vue-ui-age-pyramid-vpIjdLg5.js} +1 -1
- package/dist/{vue-ui-bullet-ClnewIWQ.js → vue-ui-bullet-rgxGRR1p.js} +1 -1
- package/dist/{vue-ui-bump-C6FuNDUg.js → vue-ui-bump-CeDsunDi.js} +1 -1
- package/dist/{vue-ui-candlestick-CyewIjJk.js → vue-ui-candlestick-KJHOS5F7.js} +1 -1
- package/dist/{vue-ui-carousel-table-D0dD4kai.js → vue-ui-carousel-table-CeI5SIxH.js} +1 -1
- package/dist/{vue-ui-chestnut-nS1vjCqH.js → vue-ui-chestnut-CiY-2e77.js} +1 -1
- package/dist/{vue-ui-chord-B963Q_26.js → vue-ui-chord-8rk7304-.js} +1 -1
- package/dist/{vue-ui-circle-pack-DEY9X3jA.js → vue-ui-circle-pack-BsH09EPG.js} +1 -1
- package/dist/{vue-ui-cursor-CNv12HQG.js → vue-ui-cursor-Cpov2m58.js} +1 -1
- package/dist/{vue-ui-dag-s3-TMmid.js → vue-ui-dag-BHFL2cUA.js} +1 -1
- package/dist/{vue-ui-dashboard-B5zrGAvS.js → vue-ui-dashboard-BxXdhdNJ.js} +1 -1
- package/dist/{vue-ui-digits-DXQwmTUx.js → vue-ui-digits-xHOLjA2_.js} +1 -1
- package/dist/{vue-ui-donut-DHfOfLBF.js → vue-ui-donut-CR3klUbX.js} +1 -1
- package/dist/{vue-ui-donut-CDryub1L.js → vue-ui-donut-Vbp5Xs2-.js} +1 -1
- package/dist/{vue-ui-donut-evolution-C5pHSrza.js → vue-ui-donut-evolution-BTmztL3Y.js} +1 -1
- package/dist/{vue-ui-dumbbell-CQbGR7yM.js → vue-ui-dumbbell-CDcgKS2A.js} +1 -1
- package/dist/{vue-ui-flow-B16Mj6MW.js → vue-ui-flow-kVocPE27.js} +1 -1
- package/dist/{vue-ui-funnel-Dh-xi_Qi.js → vue-ui-funnel-CZAdPYqK.js} +1 -1
- package/dist/{vue-ui-galaxy-U_ZIP5vm.js → vue-ui-galaxy-hP-9mVlB.js} +1 -1
- package/dist/{vue-ui-gauge-Dr4zsf6D.js → vue-ui-gauge-BRabsLkh.js} +1 -1
- package/dist/{vue-ui-geo-DFebja0s.js → vue-ui-geo-Dacnp6iw.js} +1 -1
- package/dist/{vue-ui-gizmo-CssVcz-O.js → vue-ui-gizmo-Dp3hpHIX.js} +1 -1
- package/dist/{vue-ui-graph-BB_97Qz7.js → vue-ui-graph-DHU9hUry.js} +1 -1
- package/dist/{vue-ui-heatmap-DEBbVnrg.js → vue-ui-heatmap-kPnmZgWi.js} +1 -1
- package/dist/{vue-ui-hill-C1sHz3TI.js → vue-ui-hill-Ddbup7-b.js} +1 -1
- package/dist/{vue-ui-history-plot-CsBTJXR3.js → vue-ui-history-plot-CwO2o-2s.js} +1 -1
- package/dist/{vue-ui-horizontal-bar-D0kfcpEW.js → vue-ui-horizontal-bar-CvX77vE4.js} +1 -1
- package/dist/{vue-ui-kpi-CltKSYUI.js → vue-ui-kpi-CCOOwX_Q.js} +1 -1
- package/dist/{vue-ui-molecule-DtoyWWTf.js → vue-ui-molecule-BPGs9Dom.js} +1 -1
- package/dist/{vue-ui-mood-radar-ClOxfeH8.js → vue-ui-mood-radar-GJ-lhgI0.js} +1 -1
- package/dist/{vue-ui-nested-donuts-CULAXTg1.js → vue-ui-nested-donuts-CrlPwpg8.js} +1 -1
- package/dist/{vue-ui-onion-D7zu861i.js → vue-ui-onion-CKmyy-Y_.js} +1 -1
- package/dist/{vue-ui-parallel-coordinate-plot-Cjbc-WUG.js → vue-ui-parallel-coordinate-plot-C0UqWt0M.js} +1 -1
- package/dist/{vue-ui-quadrant-DWAb_t6r.js → vue-ui-quadrant-CTGFBNo9.js} +1 -1
- package/dist/{vue-ui-quick-chart-oDZwgVo8.js → vue-ui-quick-chart-ZBOPZhxA.js} +1 -1
- package/dist/{vue-ui-radar-BWG_N0xO.js → vue-ui-radar-B1z3Ux3E.js} +1 -1
- package/dist/{vue-ui-relation-circle-BCRiS2n6.js → vue-ui-relation-circle-DqN5N08e.js} +1 -1
- package/dist/{vue-ui-ridgeline-VYcGUP_p.js → vue-ui-ridgeline-DcSB5Qef.js} +1 -1
- package/dist/{vue-ui-rings-Dl0AjrRj.js → vue-ui-rings-CJqAnf-l.js} +1 -1
- package/dist/{vue-ui-scatter-DTa48HvG.js → vue-ui-scatter-THQAeoWs.js} +1 -1
- package/dist/{vue-ui-skeleton-C5mGG8hR.js → vue-ui-skeleton-DqmhigQ0.js} +1 -1
- package/dist/{vue-ui-spark-trend--frxeJ8f.js → vue-ui-spark-trend-B2Nf1raK.js} +1 -1
- package/dist/{vue-ui-sparkbar-BS5v3HMo.js → vue-ui-sparkbar-CamZ_49V.js} +1 -1
- package/dist/{vue-ui-sparkgauge-B1TGfXvR.js → vue-ui-sparkgauge-Ffrp_7VV.js} +1 -1
- package/dist/{vue-ui-sparkhistogram-Cs97AL6h.js → vue-ui-sparkhistogram-CLfzi3PO.js} +1 -1
- package/dist/{vue-ui-sparkline-Bp9J6x7z.js → vue-ui-sparkline-Y-sljnbS.js} +1 -1
- package/dist/{vue-ui-sparkstackbar-BVuuRD10.js → vue-ui-sparkstackbar-CYZ-ADO1.js} +1 -1
- package/dist/{vue-ui-stackbar-CRuXn3XI.js → vue-ui-stackbar-CQLYm10x.js} +1 -1
- package/dist/{vue-ui-stackline-Besmr9vq.js → vue-ui-stackline-VpvF7MRx.js} +1 -1
- package/dist/{vue-ui-strip-plot-D-aRJkR7.js → vue-ui-strip-plot-B9Ogpw7K.js} +1 -1
- package/dist/{vue-ui-table-D_UdQwV3.js → vue-ui-table-Bi9C3LzP.js} +1 -1
- package/dist/{vue-ui-table-sparkline-BdNo8fW_.js → vue-ui-table-sparkline-DEVAL0cR.js} +1 -1
- package/dist/{vue-ui-thermometer-TFg1SGY7.js → vue-ui-thermometer-ClN4EO0I.js} +1 -1
- package/dist/{vue-ui-timer-BdPksC26.js → vue-ui-timer-nqZxt1vU.js} +1 -1
- package/dist/{vue-ui-tiremarks-HWuO-eyj.js → vue-ui-tiremarks-BeJBsgXo.js} +1 -1
- package/dist/{vue-ui-treemap-IegiAqaX.js → vue-ui-treemap-FA-yXwmv.js} +1 -1
- package/dist/{vue-ui-waffle-BEyGfPks.js → vue-ui-waffle-CO07S6HV.js} +1 -1
- package/dist/{vue-ui-wheel-k8GNPGET.js → vue-ui-wheel-BeaSWB4x.js} +1 -1
- package/dist/{vue-ui-word-cloud-D9_15Ve7.js → vue-ui-word-cloud-C1OWGFng.js} +1 -1
- package/dist/{vue-ui-world-rCp5Vb7u.js → vue-ui-world-CUS_mKgl.js} +1 -1
- package/dist/{vue-ui-xy-CFgFg11v.js → vue-ui-xy-6B_K-quN.js} +1 -1
- package/dist/{vue-ui-xy-42AXepcQ.js → vue-ui-xy-BigPHE0Q.js} +1 -1
- package/package.json +6 -2
- package/dist/package-DGRUegc-.js +0 -1
- package/dist/vue-data-ui-CxiWUtNw.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Jt as r,X as i,Yt as a,at as o,i as s,in as c,t as l,yt as ee,zt as u}from"./lib-rPeBMZrn.js";import{n as d,t as f}from"./BaseScanner-8NdoBs7B.js";import{n as te,t as ne}from"./useHints-BH9r_0Vd.js";import{t as re}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ie}from"./resolveChartConfig-CIhClE5R.js";import{t as ae}from"./Shape-CRe8woTu.js";import{c as oe}from"./canvas-lib-22VpOI4_.js";import{t as se}from"./useResponsive-CENUxfEL.js";import{t as p}from"./DefGrad-DKMq1REY.js";import{t as ce}from"./A11yDataTable-DWNlWXzs.js";import{t as le}from"./useChartAccessibility-DOMuYJfm.js";import{t as ue}from"./useFitSvgText-C1QC4P5G.js";import{t as de}from"./vue_ui_sparkhistogram-ChwOkoMb.js";import{Fragment as m,computed as h,createBlock as g,createCommentVNode as _,createElementBlock as v,createElementVNode as y,createTextVNode as fe,createVNode as pe,defineAsyncComponent as me,guardReactiveProps as he,nextTick as ge,normalizeClass as _e,normalizeProps as ve,normalizeStyle as b,onMounted as ye,openBlock as x,ref as S,renderList as C,renderSlot as w,toDisplayString as T,toRefs as be,unref as E,useCssVars as xe,watch as Se}from"vue";var D=/* @__PURE__ */ e({default:()=>O}),Ce=[`id`],we={key:0},Te={key:1},Ee={style:{position:`relative`}},De=[`xmlns`,`viewBox`,`aria-describedby`],Oe=[`width`,`height`],ke=[`height`,`width`,`fill`,`x`,`stroke`,`stroke-width`,`rx`,`stroke-dasharray`],Ae={key:1},je=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`,`rx`],Me={key:2},Ne=[`x`,`y`,`font-size`,`font-weight`,`fill`],Pe=[`x`,`y`,`font-size`,`fill`],Fe=[`x`,`y`,`font-size`,`fill`],Ie=[`height`,`width`,`x`,`onMouseover`,`onMouseleave`,`onClick`],Le={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},O=/*#__PURE__*/ re({__name:`vue-ui-sparkhistogram`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`],setup(e,{emit:re}){xe(e=>({v57deebda:Xe.value}));let D=me(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),{vue_ui_sparkhistogram:O}=t(),k=e,A=S(i()),j=S(null),M=S(null),N=S(null),P=S(null),F=S(null),I=S(!1),L=S(null),R=S(`pointer`),z=S(q()),B=h(()=>z.value.style.labels),V=h(()=>z.value.style.bars),H=h(()=>z.value.style);te({config:()=>z.value,dataset:()=>k.dataset,component:`VueUiSparkHistogram`,rules:[ne.singleSeries,{test:e=>e.length>31,message:[`👀 The number of datapoints is > 31. For a more readable chart, consider:`,``,`▶️ Using VueUiXy with a line series`]}]});let Re=h(()=>c({defaultConfig:{style:{animation:{show:!1},backgroundColor:`#99999930`}},userConfig:z.value.skeletonConfig??{}})),{loading:ze,FINAL_DATASET:U,manualLoading:Be}=d({...be(k),FINAL_CONFIG:z,prepareConfig:q,skeletonDataset:k.config?.skeletonDataset??[{value:1,intensity:.2,color:`#CACACA`},{value:2,intensity:.3,color:`#CACACA`},{value:3,intensity:.5,color:`#CACACA`},{value:5,intensity:.7,color:`#CACACA`},{value:8,intensity:.9,color:`#CACACA`},{value:13,intensity:.95,color:`#CACACA`},{value:21,intensity:1,color:`#CACACA`},{value:13,intensity:.95,color:`#CACACA`},{value:8,intensity:.9,color:`#CACACA`},{value:5,intensity:.7,color:`#CACACA`},{value:3,intensity:.5,color:`#CACACA`},{value:2,intensity:.3,color:`#CACACA`},{value:1,intensity:.2,color:`#CACACA`}],skeletonConfig:c({defaultConfig:z.value,userConfig:Re.value})}),W=S(H.value.layout.width),G=S(H.value.layout.height),{svgRef:K}=le({config:H.value.title});function q(){return ie(k.config,O,de)}ye(()=>{He()});let Ve=h(()=>z.value.debug);function He(){if(u(k.dataset)?o({componentName:`VueUiSparkHistogram`,type:`dataset`,debug:Ve.value}):Ve.value&&k.dataset.forEach((e,t)=>{ee({datasetObject:e,requiredAttributes:[`value`]}).forEach(e=>{o({componentName:`VueUiSparkHistogram`,type:`datasetSerieAttribute`,property:e,index:t})})}),z.value.responsive){let e=oe(()=>{let{width:e,height:t}=se({chart:N.value,title:H.value.title.text?M.value:null,source:j.value}),n=B.value.timeLabel.show?B.value.timeLabel.fontSize*2:0,r=B.value.valueLabel.show?B.value.valueLabel.fontSize*2:0;requestAnimationFrame(()=>{W.value=Math.max(10,e),G.value=Math.max(10,t-12-n-r)})});P.value&&(F.value&&P.value.unobserve(F.value),P.value.disconnect()),P.value=new ResizeObserver(e),F.value=N.value.parentNode,P.value.observe(F.value)}}Se(()=>k.config,e=>{z.value=q(),He()},{deep:!0});let J=h(()=>{let e=B.value.timeLabel.show?B.value.timeLabel.fontSize*2:0,t=B.value.valueLabel.show?B.value.valueLabel.fontSize*2:0,n=G.value+e+t,r=W.value,i=H.value.layout.padding.top,a=n-H.value.layout.padding.bottom,o=H.value.layout.padding.left,s=r-H.value.layout.padding.right;return{bottom:a,centerY:i+(n-i-H.value.layout.padding.bottom)/2,drawingHeight:n-H.value.layout.padding.top-H.value.layout.padding.bottom-e-t,drawingWidth:r-H.value.layout.padding.left-H.value.layout.padding.right,height:n,left:o,right:s,top:i,width:r}}),Ue=h(()=>Math.max(...U.value.map(e=>Math.abs(e.value||0))));function We(e){return Math.abs(e)/Ue.value}let Y=h(()=>U.value.map((e,t)=>{let n=We(e.value||0),i=J.value.drawingHeight*n,a=J.value.drawingWidth/U.value.length,o=a*(V.value.gap/100),s=a-o,c=J.value.centerY-i/2,l=J.value.left+(o/2+t*a),ee=J.value.left+t*a,u=e.intensity===void 0?100:Math.round(e.intensity*100),d=e.color?e.color:e.value>=0?r(V.value.colors.positive,u):r(V.value.colors.negative,u),f=e.color?e.color:e.value>=0?V.value.colors.positive:V.value.colors.negative,te=e.color?`url(#gradient_datapoint_${t}_${A.value})`:e.value>=0?`url(#gradient_positive_${t}_${A.value})`:`url(#gradient_negative_${t}_${A.value})`,ne=l+s/2;return{...e,color:d,gradient:te,height:i,intensity:u,proportion:n,stroke:f,textAnchor:ne,trapX:ee,unitWidth:a,width:s,x:l,y:c}}));function Ge(e,t){return s(B.value.value.formatter,e.value,n({p:B.value.value.prefix,v:e.value,s:B.value.value.suffix,r:B.value.value.rounding}),{datapoint:e,seriesIndex:t})}let X=S(null),Ke=re;function Z(e,t){Ke(`selectDatapoint`,{datapoint:e,index:t}),z.value.events.datapointClick&&z.value.events.datapointClick({datapoint:e,seriesIndex:t})}function qe(e,t){R.value=`pointer`,L.value=t,X.value=t,z.value.events.datapointEnter&&z.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function Je(e,t){R.value!==`keyboard`&&(X.value=null,L.value=null,z.value.events.datapointLeave&&z.value.events.datapointLeave({datapoint:e,seriesIndex:t}))}function Ye(){R.value!==`keyboard`&&(X.value=null,L.value=null)}let Xe=h(()=>`${H.value.animation.speedMs}ms`),Ze=h(()=>J.value.drawingWidth/U.value.length*.9),{fitText:Q}=ue({svgRef:K,unitWidth:Ze});ye(async()=>{await ge(),Q(`.vue-ui-sparkhistogram-top-label`,B.value.value.minFontSize),Q(`.vue-ui-sparkhistogram-bottom-label`,B.value.valueLabel.minFontSize),Q(`.vue-ui-sparkhistogram-time-label`,B.value.timeLabel.minFontSize)}),Se([W,G,()=>U.value],async()=>{await ge(),Q(`.vue-ui-sparkhistogram-top-label`,B.value.value.minFontSize),Q(`.vue-ui-sparkhistogram-bottom-label`,B.value.valueLabel.minFontSize),Q(`.vue-ui-sparkhistogram-time-label`,B.value.timeLabel.minFontSize)});function Qe(){I.value=!0}function $e(){I.value=!1,L.value=null,R.value=`pointer`,X.value=null}function et(e){if(!K.value||document.activeElement!==K.value||!Y.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){L.value=null,X.value=null,R.value=`pointer`;return}if(r){if(X.value===null)return;let e=Y.value[X.value];if(!e)return;Z(e,X.value);return}R.value=`keyboard`;let a=L.value;a===null||a<0||a>=Y.value.length?a=n?0:Y.value.length-1:n?(a+=1,a>=Y.value.length&&(a=0)):t&&(--a,a<0&&(a=Y.value.length-1)),L.value=a,X.value=a;let o=Y.value[a];z.value.events.datapointEnter&&z.value.events.datapointEnter({datapoint:o,seriesIndex:a})}let $=h(()=>({headers:[z.value.a11y?.translations?.series??`Series`,z.value.a11y?.translations?.time??`Time`,z.value.a11y?.translations?.value??`Value`,z.value.a11y?.translations?.valueLabel??`Label`],rows:Y.value.map((e,t)=>[t+1,e.timeLabel??``,e.value??``,e.valueLabel??``])}));return(e,t)=>(x(),v(`div`,{class:`vue-data-ui-component vue-ui-spark-histogram`,ref_key:`histogramChart`,ref:N,style:b(`width:100%;background:${H.value.backgroundColor};font-family:${H.value.fontFamily}`),onMouseleave:Ye},[y(`div`,{id:`chart-instructions-${A.value}`,class:`sr-only`},[y(`p`,null,T(z.value.a11y.translations.keyboardNavigation),1)],8,Ce),$.value?.rows?.length?(x(),g(ce,{key:0,uid:A.value,head:$.value.headers,body:$.value.rows,notice:z.value.a11y.translations.tableAvailable,caption:z.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):_(``,!0),H.value.title.text?(x(),v(`div`,{key:1,ref_key:`chartTitle`,ref:M,style:b(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${H.value.title.margin};padding: 0 6px;text-align:${H.value.title.textAlign}`)},[y(`div`,{style:b(`font-size:${H.value.title.fontSize}px;color:${H.value.title.color};font-weight:${H.value.title.bold?`bold`:`normal`}`)},[fe(T(H.value.title.text)+` `,1),X.value===null?_(``,!0):(x(),v(`span`,we,`- `+T(Y.value[X.value].timeLabel||``)+` `+T(E(s)(B.value.value.formatter,Y.value[X.value].value,E(n)({p:B.value.value.prefix,v:Y.value[X.value].value,s:B.value.value.suffix,r:B.value.value.rounding}),{datapoint:Y.value[X.value],seriesIndex:X.value})),1)),![void 0,null].includes(X.value)&&![null,void 0].includes(Y.value[X.value].valueLabel)?(x(),v(`span`,Te,T(` (${Y.value[X.value].valueLabel||0})`),1)):_(``,!0)],4),H.value.title.subtitle.text?(x(),v(`div`,{key:0,style:b(`font-size:${H.value.title.subtitle.fontSize}px;color:${H.value.title.subtitle.color};font-weight:${H.value.title.subtitle.bold?`bold`:`normal`}`)},T(H.value.title.subtitle.text),5)):_(``,!0)],4)):_(``,!0),y(`div`,Ee,[(x(),v(`svg`,{ref_key:`svgRef`,ref:K,xmlns:E(l),viewBox:`0 0 ${J.value.width} ${J.value.height}`,style:{overflow:`visible`},"aria-describedby":`chart-instructions-${A.value}`,tabindex:`0`,onFocus:Qe,onBlur:$e,onKeydown:et},[pe(E(D)),e.$slots[`chart-background`]?(x(),v(`foreignObject`,{key:0,x:0,y:0,width:J.value.width,height:J.value.height,style:{pointerEvents:`none`}},[w(e.$slots,`chart-background`,{},void 0,!0)],8,Oe)):_(``,!0),y(`defs`,null,[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(p,{t:`radial`,id:`gradient_positive_${t}_${A.value}`,key:`gradient_positive_${t}_${A.value}`,cy:`50%`,cx:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,E(r)(E(a)(V.value.colors.positive,.05),e.intensity),1],[`100%`,E(r)(V.value.colors.positive,e.intensity),1]]},null,8,[`id`,`stops`]))),128)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(p,{t:`radial`,id:`gradient_negative_${t}_${A.value}`,key:`gradient_negative_${t}_${A.value}`,cy:`50%`,cx:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,E(r)(E(a)(V.value.colors.negative,.05),e.intensity),1],[`100%`,E(r)(V.value.colors.negative,e.intensity),1]]},null,8,[`id`,`stops`]))),128)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(p,{t:`radial`,id:`gradient_datapoint_${t}_${A.value}`,key:`gradient_datapoint_${t}_${A.value}`,cy:`50%`,cx:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,E(r)(E(a)(e.color,.05),e.intensity),1],[`100%`,E(r)(e.color,e.intensity),1]]},null,8,[`id`,`stops`]))),128))]),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[X.value!==null&&X.value===t?(x(),v(`rect`,{key:0,height:J.value.height,width:e.unitWidth,fill:H.value.selector.fill,x:e.trapX,y:0,stroke:H.value.selector.stroke,"stroke-width":H.value.selector.strokeWidth,rx:H.value.selector.borderRadius,"stroke-dasharray":H.value.selector.strokeDasharray},null,8,ke)):_(``,!0)]))),256)),!V.value.shape||V.value.shape===`square`?(x(),v(`g`,Ae,[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`rect`,{x:e.x,y:e.y,height:e.height,width:e.width,fill:V.value.colors.gradient.show?e.gradient:e.color,stroke:e.stroke,"stroke-width":V.value.strokeWidth,rx:`${V.value.borderRadius*e.proportion/12}%`,class:_e({"vue-ui-sparkhistogram-shape":H.value.animation.show})},null,10,je))),256))])):(x(),v(`g`,Me,[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(ae,{plot:{x:e.x+e.width/2,y:e.y+e.height/2},color:V.value.colors.gradient.show?e.gradient:e.color,shape:V.value.shape,radius:Math.min(e.height*.4,e.width*.4),class:_e({"vue-ui-sparkhistogram-shape":H.value.animation.show})},null,8,[`plot`,`color`,`shape`,`radius`,`class`]))),256))])),E(ze)?_(``,!0):(x(),v(m,{key:3},[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[B.value.value.show?(x(),v(`text`,{key:0,class:`vue-ui-sparkhistogram-top-label`,"text-anchor":`middle`,x:e.textAnchor,y:e.y-B.value.value.fontSize/3+B.value.value.offsetY,"font-size":B.value.value.fontSize,"font-weight":B.value.value.bold?`bold`:`normal`,fill:B.value.value.color},T(Ge(e,t)),9,Ne)):_(``,!0)]))),256)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[e.valueLabel&&B.value.valueLabel.show?(x(),v(`text`,{key:0,class:`vue-ui-sparkhistogram-bottom-label`,x:e.textAnchor,y:e.y+e.height+B.value.valueLabel.fontSize,"font-size":B.value.valueLabel.fontSize,"text-anchor":`middle`,fill:B.value.valueLabel.color},T(e.valueLabel),9,Pe)):_(``,!0)]))),256)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[e.timeLabel&&B.value.timeLabel.show?(x(),v(`text`,{key:0,class:`vue-ui-sparkhistogram-time-label`,x:e.textAnchor,y:J.value.height,"font-size":B.value.timeLabel.fontSize,fill:B.value.timeLabel.color,"text-anchor":`middle`},T(e.timeLabel),9,Fe)):_(``,!0)]))),256))],64)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[y(`rect`,{height:J.value.height,width:e.unitWidth,fill:`transparent`,x:e.trapX,y:0,onMouseover:n=>qe(e,t),onMouseleave:n=>Je(e,t),onClick:()=>Z(e,t)},null,40,Ie)]))),256))],40,De)),e.$slots.hint?(x(),v(`div`,Le,[w(e.$slots,`hint`,ve(he({hint:z.value.a11y.translations.keyboardNavigation,isVisible:I.value})),void 0,!0)])):_(``,!0)]),e.$slots.source?(x(),v(`div`,{key:2,ref_key:`source`,ref:j,dir:`auto`},[w(e.$slots,`source`,{},void 0,!0)],512)):_(``,!0),w(e.$slots,`skeleton`,{},()=>[E(ze)?(x(),g(f,{key:0})):_(``,!0)],!0)],36))}},[[`__scopeId`,`data-v-e5a32af0`]]);export{D as n,O as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Jt as r,X as i,Yt as a,at as o,i as s,in as c,t as l,yt as ee,zt as u}from"./lib-rPeBMZrn.js";import{n as d,t as f}from"./BaseScanner-8NdoBs7B.js";import{n as te,t as ne}from"./useHints-BH9r_0Vd.js";import{t as re}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ie}from"./resolveChartConfig-CIhClE5R.js";import{t as ae}from"./Shape-CRe8woTu.js";import{c as oe}from"./canvas-lib-22VpOI4_.js";import{t as se}from"./useResponsive-CENUxfEL.js";import{t as p}from"./DefGrad-DKMq1REY.js";import{t as ce}from"./A11yDataTable-DWNlWXzs.js";import{t as le}from"./useChartAccessibility-DOMuYJfm.js";import{t as ue}from"./useFitSvgText-C1QC4P5G.js";import{t as de}from"./vue_ui_sparkhistogram-ChwOkoMb.js";import{Fragment as m,computed as h,createBlock as g,createCommentVNode as _,createElementBlock as v,createElementVNode as y,createTextVNode as fe,createVNode as pe,defineAsyncComponent as me,guardReactiveProps as he,nextTick as ge,normalizeClass as _e,normalizeProps as ve,normalizeStyle as b,onMounted as ye,openBlock as x,ref as S,renderList as C,renderSlot as w,toDisplayString as T,toRefs as be,unref as E,useCssVars as xe,watch as Se}from"vue";var D=/* @__PURE__ */ e({default:()=>O}),Ce=[`id`],we={key:0},Te={key:1},Ee={style:{position:`relative`}},De=[`xmlns`,`viewBox`,`aria-describedby`],Oe=[`width`,`height`],ke=[`height`,`width`,`fill`,`x`,`stroke`,`stroke-width`,`rx`,`stroke-dasharray`],Ae={key:1},je=[`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`,`rx`],Me={key:2},Ne=[`x`,`y`,`font-size`,`font-weight`,`fill`],Pe=[`x`,`y`,`font-size`,`fill`],Fe=[`x`,`y`,`font-size`,`fill`],Ie=[`height`,`width`,`x`,`onMouseover`,`onMouseleave`,`onClick`],Le={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},O=/*#__PURE__*/ re({__name:`vue-ui-sparkhistogram`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`],setup(e,{emit:re}){xe(e=>({v57deebda:Xe.value}));let D=me(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),{vue_ui_sparkhistogram:O}=t(),k=e,A=S(i()),j=S(null),M=S(null),N=S(null),P=S(null),F=S(null),I=S(!1),L=S(null),R=S(`pointer`),z=S(q()),B=h(()=>z.value.style.labels),V=h(()=>z.value.style.bars),H=h(()=>z.value.style);te({config:()=>z.value,dataset:()=>k.dataset,component:`VueUiSparkHistogram`,rules:[ne.singleSeries,{test:e=>e.length>31,message:[`👀 The number of datapoints is > 31. For a more readable chart, consider:`,``,`▶️ Using VueUiXy with a line series`]}]});let Re=h(()=>c({defaultConfig:{style:{animation:{show:!1},backgroundColor:`#99999930`}},userConfig:z.value.skeletonConfig??{}})),{loading:ze,FINAL_DATASET:U,manualLoading:Be}=d({...be(k),FINAL_CONFIG:z,prepareConfig:q,skeletonDataset:k.config?.skeletonDataset??[{value:1,intensity:.2,color:`#CACACA`},{value:2,intensity:.3,color:`#CACACA`},{value:3,intensity:.5,color:`#CACACA`},{value:5,intensity:.7,color:`#CACACA`},{value:8,intensity:.9,color:`#CACACA`},{value:13,intensity:.95,color:`#CACACA`},{value:21,intensity:1,color:`#CACACA`},{value:13,intensity:.95,color:`#CACACA`},{value:8,intensity:.9,color:`#CACACA`},{value:5,intensity:.7,color:`#CACACA`},{value:3,intensity:.5,color:`#CACACA`},{value:2,intensity:.3,color:`#CACACA`},{value:1,intensity:.2,color:`#CACACA`}],skeletonConfig:c({defaultConfig:z.value,userConfig:Re.value})}),W=S(H.value.layout.width),G=S(H.value.layout.height),{svgRef:K}=le({config:H.value.title});function q(){return ie(k.config,O,de)}ye(()=>{He()});let Ve=h(()=>z.value.debug);function He(){if(u(k.dataset)?o({componentName:`VueUiSparkHistogram`,type:`dataset`,debug:Ve.value}):Ve.value&&k.dataset.forEach((e,t)=>{ee({datasetObject:e,requiredAttributes:[`value`]}).forEach(e=>{o({componentName:`VueUiSparkHistogram`,type:`datasetSerieAttribute`,property:e,index:t})})}),z.value.responsive){let e=oe(()=>{let{width:e,height:t}=se({chart:N.value,title:H.value.title.text?M.value:null,source:j.value}),n=B.value.timeLabel.show?B.value.timeLabel.fontSize*2:0,r=B.value.valueLabel.show?B.value.valueLabel.fontSize*2:0;requestAnimationFrame(()=>{W.value=Math.max(10,e),G.value=Math.max(10,t-12-n-r)})});P.value&&(F.value&&P.value.unobserve(F.value),P.value.disconnect()),P.value=new ResizeObserver(e),F.value=N.value.parentNode,P.value.observe(F.value)}}Se(()=>k.config,e=>{z.value=q(),He()},{deep:!0});let J=h(()=>{let e=B.value.timeLabel.show?B.value.timeLabel.fontSize*2:0,t=B.value.valueLabel.show?B.value.valueLabel.fontSize*2:0,n=G.value+e+t,r=W.value,i=H.value.layout.padding.top,a=n-H.value.layout.padding.bottom,o=H.value.layout.padding.left,s=r-H.value.layout.padding.right;return{bottom:a,centerY:i+(n-i-H.value.layout.padding.bottom)/2,drawingHeight:n-H.value.layout.padding.top-H.value.layout.padding.bottom-e-t,drawingWidth:r-H.value.layout.padding.left-H.value.layout.padding.right,height:n,left:o,right:s,top:i,width:r}}),Ue=h(()=>Math.max(...U.value.map(e=>Math.abs(e.value||0))));function We(e){return Math.abs(e)/Ue.value}let Y=h(()=>U.value.map((e,t)=>{let n=We(e.value||0),i=J.value.drawingHeight*n,a=J.value.drawingWidth/U.value.length,o=a*(V.value.gap/100),s=a-o,c=J.value.centerY-i/2,l=J.value.left+(o/2+t*a),ee=J.value.left+t*a,u=e.intensity===void 0?100:Math.round(e.intensity*100),d=e.color?e.color:e.value>=0?r(V.value.colors.positive,u):r(V.value.colors.negative,u),f=e.color?e.color:e.value>=0?V.value.colors.positive:V.value.colors.negative,te=e.color?`url(#gradient_datapoint_${t}_${A.value})`:e.value>=0?`url(#gradient_positive_${t}_${A.value})`:`url(#gradient_negative_${t}_${A.value})`,ne=l+s/2;return{...e,color:d,gradient:te,height:i,intensity:u,proportion:n,stroke:f,textAnchor:ne,trapX:ee,unitWidth:a,width:s,x:l,y:c}}));function Ge(e,t){return s(B.value.value.formatter,e.value,n({p:B.value.value.prefix,v:e.value,s:B.value.value.suffix,r:B.value.value.rounding}),{datapoint:e,seriesIndex:t})}let X=S(null),Ke=re;function Z(e,t){Ke(`selectDatapoint`,{datapoint:e,index:t}),z.value.events.datapointClick&&z.value.events.datapointClick({datapoint:e,seriesIndex:t})}function qe(e,t){R.value=`pointer`,L.value=t,X.value=t,z.value.events.datapointEnter&&z.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function Je(e,t){R.value!==`keyboard`&&(X.value=null,L.value=null,z.value.events.datapointLeave&&z.value.events.datapointLeave({datapoint:e,seriesIndex:t}))}function Ye(){R.value!==`keyboard`&&(X.value=null,L.value=null)}let Xe=h(()=>`${H.value.animation.speedMs}ms`),Ze=h(()=>J.value.drawingWidth/U.value.length*.9),{fitText:Q}=ue({svgRef:K,unitWidth:Ze});ye(async()=>{await ge(),Q(`.vue-ui-sparkhistogram-top-label`,B.value.value.minFontSize),Q(`.vue-ui-sparkhistogram-bottom-label`,B.value.valueLabel.minFontSize),Q(`.vue-ui-sparkhistogram-time-label`,B.value.timeLabel.minFontSize)}),Se([W,G,()=>U.value],async()=>{await ge(),Q(`.vue-ui-sparkhistogram-top-label`,B.value.value.minFontSize),Q(`.vue-ui-sparkhistogram-bottom-label`,B.value.valueLabel.minFontSize),Q(`.vue-ui-sparkhistogram-time-label`,B.value.timeLabel.minFontSize)});function Qe(){I.value=!0}function $e(){I.value=!1,L.value=null,R.value=`pointer`,X.value=null}function et(e){if(!K.value||document.activeElement!==K.value||!Y.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){L.value=null,X.value=null,R.value=`pointer`;return}if(r){if(X.value===null)return;let e=Y.value[X.value];if(!e)return;Z(e,X.value);return}R.value=`keyboard`;let a=L.value;a===null||a<0||a>=Y.value.length?a=n?0:Y.value.length-1:n?(a+=1,a>=Y.value.length&&(a=0)):t&&(--a,a<0&&(a=Y.value.length-1)),L.value=a,X.value=a;let o=Y.value[a];z.value.events.datapointEnter&&z.value.events.datapointEnter({datapoint:o,seriesIndex:a})}let $=h(()=>({headers:[z.value.a11y?.translations?.series??`Series`,z.value.a11y?.translations?.time??`Time`,z.value.a11y?.translations?.value??`Value`,z.value.a11y?.translations?.valueLabel??`Label`],rows:Y.value.map((e,t)=>[t+1,e.timeLabel??``,e.value??``,e.valueLabel??``])}));return(e,t)=>(x(),v(`div`,{class:`vue-data-ui-component vue-ui-spark-histogram`,ref_key:`histogramChart`,ref:N,style:b(`width:100%;background:${H.value.backgroundColor};font-family:${H.value.fontFamily}`),onMouseleave:Ye},[y(`div`,{id:`chart-instructions-${A.value}`,class:`sr-only`},[y(`p`,null,T(z.value.a11y.translations.keyboardNavigation),1)],8,Ce),$.value?.rows?.length?(x(),g(ce,{key:0,uid:A.value,head:$.value.headers,body:$.value.rows,notice:z.value.a11y.translations.tableAvailable,caption:z.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):_(``,!0),H.value.title.text?(x(),v(`div`,{key:1,ref_key:`chartTitle`,ref:M,style:b(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${H.value.title.margin};padding: 0 6px;text-align:${H.value.title.textAlign}`)},[y(`div`,{style:b(`font-size:${H.value.title.fontSize}px;color:${H.value.title.color};font-weight:${H.value.title.bold?`bold`:`normal`}`)},[fe(T(H.value.title.text)+` `,1),X.value===null?_(``,!0):(x(),v(`span`,we,`- `+T(Y.value[X.value].timeLabel||``)+` `+T(E(s)(B.value.value.formatter,Y.value[X.value].value,E(n)({p:B.value.value.prefix,v:Y.value[X.value].value,s:B.value.value.suffix,r:B.value.value.rounding}),{datapoint:Y.value[X.value],seriesIndex:X.value})),1)),![void 0,null].includes(X.value)&&![null,void 0].includes(Y.value[X.value].valueLabel)?(x(),v(`span`,Te,T(` (${Y.value[X.value].valueLabel||0})`),1)):_(``,!0)],4),H.value.title.subtitle.text?(x(),v(`div`,{key:0,style:b(`font-size:${H.value.title.subtitle.fontSize}px;color:${H.value.title.subtitle.color};font-weight:${H.value.title.subtitle.bold?`bold`:`normal`}`)},T(H.value.title.subtitle.text),5)):_(``,!0)],4)):_(``,!0),y(`div`,Ee,[(x(),v(`svg`,{ref_key:`svgRef`,ref:K,xmlns:E(l),viewBox:`0 0 ${J.value.width} ${J.value.height}`,style:{overflow:`visible`},"aria-describedby":`chart-instructions-${A.value}`,tabindex:`0`,onFocus:Qe,onBlur:$e,onKeydown:et},[pe(E(D)),e.$slots[`chart-background`]?(x(),v(`foreignObject`,{key:0,x:0,y:0,width:J.value.width,height:J.value.height,style:{pointerEvents:`none`}},[w(e.$slots,`chart-background`,{},void 0,!0)],8,Oe)):_(``,!0),y(`defs`,null,[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(p,{t:`radial`,id:`gradient_positive_${t}_${A.value}`,key:`gradient_positive_${t}_${A.value}`,cy:`50%`,cx:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,E(r)(E(a)(V.value.colors.positive,.05),e.intensity),1],[`100%`,E(r)(V.value.colors.positive,e.intensity),1]]},null,8,[`id`,`stops`]))),128)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(p,{t:`radial`,id:`gradient_negative_${t}_${A.value}`,key:`gradient_negative_${t}_${A.value}`,cy:`50%`,cx:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,E(r)(E(a)(V.value.colors.negative,.05),e.intensity),1],[`100%`,E(r)(V.value.colors.negative,e.intensity),1]]},null,8,[`id`,`stops`]))),128)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(p,{t:`radial`,id:`gradient_datapoint_${t}_${A.value}`,key:`gradient_datapoint_${t}_${A.value}`,cy:`50%`,cx:`50%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,E(r)(E(a)(e.color,.05),e.intensity),1],[`100%`,E(r)(e.color,e.intensity),1]]},null,8,[`id`,`stops`]))),128))]),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[X.value!==null&&X.value===t?(x(),v(`rect`,{key:0,height:J.value.height,width:e.unitWidth,fill:H.value.selector.fill,x:e.trapX,y:0,stroke:H.value.selector.stroke,"stroke-width":H.value.selector.strokeWidth,rx:H.value.selector.borderRadius,"stroke-dasharray":H.value.selector.strokeDasharray},null,8,ke)):_(``,!0)]))),256)),!V.value.shape||V.value.shape===`square`?(x(),v(`g`,Ae,[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`rect`,{x:e.x,y:e.y,height:e.height,width:e.width,fill:V.value.colors.gradient.show?e.gradient:e.color,stroke:e.stroke,"stroke-width":V.value.strokeWidth,rx:`${V.value.borderRadius*e.proportion/12}%`,class:_e({"vue-ui-sparkhistogram-shape":H.value.animation.show})},null,10,je))),256))])):(x(),v(`g`,Me,[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),g(ae,{plot:{x:e.x+e.width/2,y:e.y+e.height/2},color:V.value.colors.gradient.show?e.gradient:e.color,shape:V.value.shape,radius:Math.min(e.height*.4,e.width*.4),class:_e({"vue-ui-sparkhistogram-shape":H.value.animation.show})},null,8,[`plot`,`color`,`shape`,`radius`,`class`]))),256))])),E(ze)?_(``,!0):(x(),v(m,{key:3},[(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[B.value.value.show?(x(),v(`text`,{key:0,class:`vue-ui-sparkhistogram-top-label`,"text-anchor":`middle`,x:e.textAnchor,y:e.y-B.value.value.fontSize/3+B.value.value.offsetY,"font-size":B.value.value.fontSize,"font-weight":B.value.value.bold?`bold`:`normal`,fill:B.value.value.color},T(Ge(e,t)),9,Ne)):_(``,!0)]))),256)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[e.valueLabel&&B.value.valueLabel.show?(x(),v(`text`,{key:0,class:`vue-ui-sparkhistogram-bottom-label`,x:e.textAnchor,y:e.y+e.height+B.value.valueLabel.fontSize,"font-size":B.value.valueLabel.fontSize,"text-anchor":`middle`,fill:B.value.valueLabel.color},T(e.valueLabel),9,Pe)):_(``,!0)]))),256)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[e.timeLabel&&B.value.timeLabel.show?(x(),v(`text`,{key:0,class:`vue-ui-sparkhistogram-time-label`,x:e.textAnchor,y:J.value.height,"font-size":B.value.timeLabel.fontSize,fill:B.value.timeLabel.color,"text-anchor":`middle`},T(e.timeLabel),9,Fe)):_(``,!0)]))),256))],64)),(x(!0),v(m,null,C(Y.value,(e,t)=>(x(),v(`g`,null,[y(`rect`,{height:J.value.height,width:e.unitWidth,fill:`transparent`,x:e.trapX,y:0,onMouseover:n=>qe(e,t),onMouseleave:n=>Je(e,t),onClick:()=>Z(e,t)},null,40,Ie)]))),256))],40,De)),e.$slots.hint?(x(),v(`div`,Le,[w(e.$slots,`hint`,ve(he({hint:z.value.a11y.translations.keyboardNavigation,isVisible:I.value})),void 0,!0)])):_(``,!0)]),e.$slots.source?(x(),v(`div`,{key:2,ref_key:`source`,ref:j,dir:`auto`},[w(e.$slots,`source`,{},void 0,!0)],512)):_(``,!0),w(e.$slots,`skeleton`,{},()=>[E(ze)?(x(),g(f,{key:0})):_(``,!0)],!0)],36))}},[[`__scopeId`,`data-v-e5a32af0`]]);export{D as n,O as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,A as r,Et as i,G as a,I as o,Jt as s,K as c,L as l,N as u,Nt as d,P as f,R as p,S as ee,U as te,W as ne,X as re,Yt as ie,at as ae,d as oe,dt as se,i as ce,in as le,k as ue,lt as de,m as fe,qt as pe,t as me,yt as he,zt as m}from"./lib-rPeBMZrn.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-BH9r_0Vd.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DnGoh-XS.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./useTimeLabels-Das5O74F.js";import{c as we}from"./canvas-lib-22VpOI4_.js";import{t as Te}from"./useResponsive-CENUxfEL.js";import{t as Ee}from"./DefGrad-DKMq1REY.js";import{t as De}from"./A11yDataTable-DWNlWXzs.js";import{t as Oe}from"./useChartAccessibility-DOMuYJfm.js";import{t as ke}from"./usePrefersMotion-XLHwega2.js";import{t as Ae}from"./vue_ui_sparkline-CvL_e9L8.js";import{Fragment as h,computed as g,createBlock as je,createCommentVNode as _,createElementBlock as v,createElementVNode as y,createTextVNode as Me,createVNode as Ne,defineAsyncComponent as Pe,guardReactiveProps as Fe,nextTick as b,normalizeClass as Ie,normalizeProps as Le,normalizeStyle as Re,onBeforeUnmount as ze,onMounted as Be,openBlock as x,ref as S,renderList as C,renderSlot as Ve,shallowRef as He,toDisplayString as Ue,toRefs as We,unref as w,watch as T,watchEffect as Ge,withCtx as Ke}from"vue";var qe={key:0,style:{"pointer-events":`none`}},Je=[`r`,`fill`,`filter`],Ye=[`begin`,`dur`,`repeatCount`,`fill`,`calcMode`,`keySplines`,`keyTimes`,`keyPoints`],Xe=[`href`],Ze=[`dur`,`repeatCount`,`fill`,`values`],Qe=[`r`,`fill`],$e=[`begin`,`dur`,`repeatCount`,`calcMode`,`keySplines`,`keyTimes`,`keyPoints`],E=[`href`],et=[`dur`,`repeatCount`],tt={__name:`SparklinePulse`,props:{uid:{type:String,required:!0},svgRef:{type:Object,default:null},pulsePathId:{type:String,required:!0},pulsePathLength:{type:Number,required:!0},pulseDur:{type:String,required:!0},pulseBegin:{type:String,required:!0},pulseRepeatCount:{type:String,required:!0},pulseFillMode:{type:String,default:void 0},pulseKeyPoints:{type:String,required:!0},pulseMotion:{type:Object,required:!0},pulse:{type:Object,required:!0},pulseTrail:{type:Object,required:!0},pulseTrailLength:{type:Number,required:!0},prefersReducedMotion:{type:Boolean,required:!0},loading:{type:Boolean,required:!0},isBar:{type:Boolean,required:!0}},setup(e){let t=e,n=g(()=>Math.min(t.pulseTrailLength,45)),r=g(()=>!!t.pulse?.show&&!t.isBar&&!t.prefersReducedMotion&&!t.loading&&Number(t.pulsePathLength)>0);function i(){let e=t.svgRef?.value;e&&(typeof e.pauseAnimations==`function`&&e.pauseAnimations(),typeof e.setCurrentTime==`function`&&e.setCurrentTime(0),typeof e.unpauseAnimations==`function`&&e.unpauseAnimations())}function a(e,t){if(typeof e!=`string`)return e;let n=e.trim().match(/^([\d.]+)\s*(ms|s)$/);if(!n)return e;let r=Number(n[1]),i=n[2];return Number.isNaN(r)?e:`${r+t}${i}`}function o(e){return(n.value-e)/n.value*t.pulse.radius}function s(e){let r=t.pulse.trail.opacity,i=(n.value-e)/n.value,a=e===0?1:i*r;return`0;${a};${a};0`}return T(()=>t.loading,async e=>{e||await b(),i()}),T(()=>t.pulsePathId,async()=>{await b(),i()}),ze(()=>{i()}),(t,i)=>r.value?(x(),v(`g`,qe,[(x(!0),v(h,null,C(n.value,(t,n)=>(x(),v(h,null,[n%3==0?(x(),v(`circle`,{key:`sparkline_dot_${n}_${e.pulsePathId}`,r:o(n),fill:e.pulse.color,filter:`url(#sparkline_pulse_glow_${e.uid})`,opacity:`0`},[y(`animateMotion`,{begin:a(e.pulseBegin,n*10),dur:e.pulseDur,repeatCount:e.pulseRepeatCount,fill:e.pulseFillMode,calcMode:e.pulseMotion.calcMode,keySplines:e.pulseMotion.keySplines||void 0,keyTimes:e.pulseMotion.keyTimes||void 0,keyPoints:e.pulseKeyPoints,rotate:`auto`},[y(`mpath`,{href:`#${e.pulsePathId}`},null,8,Xe)],8,Ye),y(`animate`,{attributeName:`opacity`,dur:e.pulseDur,repeatCount:e.pulseRepeatCount,fill:e.pulseFillMode,values:s(n),keyTimes:`0;0.1;0.9;1`},null,8,Ze)],8,Je)):_(``,!0)],64))),256)),(x(),v(`circle`,{key:`sparkline_halo_${e.pulsePathId}`,r:Math.max(e.pulse.radius*1.3),fill:e.pulse.color,opacity:`0`},[y(`animateMotion`,{begin:e.pulseBegin,dur:e.pulseDur,repeatCount:e.pulseRepeatCount,calcMode:e.pulseMotion.calcMode,keySplines:e.pulseMotion.keySplines||void 0,keyTimes:e.pulseMotion.keyTimes||void 0,keyPoints:e.pulseKeyPoints,rotate:`auto`},[y(`mpath`,{href:`#${e.pulsePathId}`},null,8,E)],8,$e),y(`animate`,{attributeName:`opacity`,values:`0;0.35;0.35;0`,keyTimes:`0;0.15;0.85;1`,dur:e.pulseDur,repeatCount:e.pulseRepeatCount},null,8,et)],8,Qe))])):_(``,!0)}},D={canvas:null,ctx:null};function nt(){if(typeof document>`u`)throw Error(`color-utils: document is not available (browser-only).`);if(!D.canvas){let e=document.createElement(`canvas`);e.width=1,e.height=1;let t=e.getContext(`2d`,{willReadFrequently:!0});if(!t)throw Error(`color-utils: unable to get 2D canvas context.`);D.canvas=e,D.ctx=t}return D.ctx}function rt(e){return e<0?0:e>255?255:Math.round(e)}function it(e){return e<0?0:e>1?1:e}function O(e,t=null){if(typeof e!=`string`||e.trim().length===0)throw Error(`colorToRgba: inputColor must be a non-empty string.`);let n=e.trim();if(n.toLowerCase()===`transparent`)return{red:0,green:0,blue:0,alpha:0};let r=A(n,t),i=nt();i.clearRect(0,0,1,1),i.fillStyle=`#000`;let a=i.fillStyle;if(i.fillStyle=r,i.fillStyle===a&&!j(r))throw Error(`colorToRgba: unsupported or invalid color "${e}".`);i.fillRect(0,0,1,1);let o=i.getImageData(0,0,1,1).data;return{red:o[0],green:o[1],blue:o[2],alpha:o[3]/255}}function k(e,t=null){if(!Array.isArray(e)||e.length===0)throw Error(`colorsToRgba: colors must be a non-empty array.`);let n=Array(e.length);for(let r=0;r<e.length;r+=1)n[r]=O(e[r],t);return n}function A(e,t=null){return e!==`currentColor`||typeof window>`u`||!t?e:window.getComputedStyle(t).color||e}function j(e){let t=e.trim().toLowerCase();return t===`black`||t===`#000`||t===`#000000`||t===`rgb(0, 0, 0)`||t===`rgba(0, 0, 0, 1)`||t===`rgba(0, 0, 0, 0)`}function M(e){let t=it(e/255);return t<=.04045?t/12.92:((t+.055)/1.055)**2.4}function N(e){let t=it(e),n;return n=t<=.0031308?t*12.92:1.055*t**(1/2.4)-.055,rt(n*255)}function at(e,t,n,r){let i=it(n);if(r===`linearRGB`){let n=M(e.red),r=M(e.green),a=M(e.blue),o=M(t.red),s=M(t.green),c=M(t.blue),l=n+(o-n)*i,u=r+(s-r)*i,d=a+(c-a)*i;return{red:N(l),green:N(u),blue:N(d),alpha:e.alpha+(t.alpha-e.alpha)*i}}return{red:e.red+(t.red-e.red)*i,green:e.green+(t.green-e.green)*i,blue:e.blue+(t.blue-e.blue)*i,alpha:e.alpha+(t.alpha-e.alpha)*i}}function P(e,t,n){let r=e;return r<t&&(r=t),r>n&&(r=n),r}function F(e,t){let n=10**t;return Math.round(e*n)/n}function I(e){return Number.isFinite(e)?e.toString():`0`}function L(e){let t=P(e,0,255).toString(16);return t.length===1?`0`+t:t}function R(e){if(typeof e!=`string`)return;let t=Number.parseFloat(e);return Number.isFinite(t)?t:void 0}function ot(e,t,n,r=!0){let i=n-t;if(i===0)return 0;let a=(e-t)/i;return r?P(a,0,1):a}var st=`http://www.w3.org/2000/svg`;function z(e){if(typeof document>`u`)throw Error(`SvgPathGradientAsync: document is not available (browser-only implementation).`);let t=document.createElementNS(st,`svg`);t.setAttribute(`width`,`0`),t.setAttribute(`height`,`0`),t.setAttribute(`viewBox`,`0 0 0 0`),t.style.position=`absolute`,t.style.left=`-10000px`,t.style.top=`-10000px`,t.style.visibility=`hidden`,t.style.pointerEvents=`none`;let n=document.createElementNS(st,`path`);return e===`M `&&(e=`M 0,0`),n.setAttribute(`d`,e),t.appendChild(n),document.body.appendChild(t),{svgElement:t,pathElement:n}}function B(e){if(e)try{e.svgElement?.remove?.()}catch{}}function ct(e,t,n){if(typeof n==`number`&&n>0)return n;let r=t*.75;r<.5&&(r=.5),r>8&&(r=8);let i=e/2;return r>i&&i>0&&(r=i),r<=0&&(r=1),r}function V(e,t,n){if(typeof t==`number`&&t>=1)return Math.floor(t);let r=Math.ceil(e/(typeof n==`number`&&n>0?n:2));return r<1?1:r}function lt(e,t,n,r,i,a){let o=n-t,s=Math.ceil(o/r)+1;s<2&&(s=2),s>a&&(s=a);let c=s>1?o/(s-1):0,l=e.getPointAtLength(t),u=`M ${I(F(l.x,i))} ${I(F(l.y,i))}`;for(let n=1;n<s;n+=1){let r=t+n*c,a=e.getPointAtLength(r);u+=` L ${I(F(a.x,i))} ${I(F(a.y,i))}`}return u}function H(e,t,n,r,i,a){let o=n-t,s=Math.ceil(o/r)+1;s<2&&(s=2),s>a&&(s=a);let c=s>1?o/(s-1):0,l=e.getPointAtLength(t),u=l.x,d=l.x,f=l.y,p=l.y,ee=`M ${I(F(l.x,i))} ${I(F(l.y,i))}`;for(let n=1;n<s;n+=1){let r=t+n*c,a=e.getPointAtLength(r);a.x<u&&(u=a.x),a.x>d&&(d=a.x),a.y<f&&(f=a.y),a.y>p&&(p=a.y),ee+=` L ${I(F(a.x,i))} ${I(F(a.y,i))}`}return{pathData:ee,bounds:{minX:u,maxX:d,minY:f,maxY:p}}}function ut(e){if(e.length===1)return[{position:0,rgba:e[0]}];let t=Array(e.length),n=e.length-1;for(let r=0;r<e.length;r+=1)t[r]={position:r/n,rgba:e[r]};return t}function dt(e,t,n,r){let i=P(t,0,1),a=r;for(a<0&&(a=0),a>e.length-2&&(a=e.length-2);a>0&&i<e[a].position;)--a;for(;a<e.length-2&&i>e[a+1].position;)a+=1;let o=e[a],s=e[a+1],c=s.position-o.position,l=c>0?(i-o.position)/c:0;return ht(ft(o.rgba,s.rgba,l,n))}function ft(e,t,n,r){let i=P(n,0,1);if(r===`linearRGB`){let n=pt(e.red),r=pt(e.green),a=pt(e.blue),o=pt(t.red),s=pt(t.green),c=pt(t.blue),l=n+(o-n)*i,u=r+(s-r)*i,d=a+(c-a)*i;return{red:mt(l),green:mt(u),blue:mt(d),alpha:e.alpha+(t.alpha-e.alpha)*i}}return{red:e.red+(t.red-e.red)*i,green:e.green+(t.green-e.green)*i,blue:e.blue+(t.blue-e.blue)*i,alpha:e.alpha+(t.alpha-e.alpha)*i}}function pt(e){let t=P(e/255,0,1);return t<=.04045?t/12.92:((t+.055)/1.055)**2.4}function mt(e){let t=P(e,0,1),n;return n=t<=.0031308?t*12.92:1.055*t**(1/2.4)-.055,P(Math.round(n*255),0,255)}function ht(e){let t=P(e.alpha,0,1),n=P(Math.round(e.red),0,255),r=P(Math.round(e.green),0,255),i=P(Math.round(e.blue),0,255);return t>=1?`#${L(n)}${L(r)}${L(i)}`:`rgba(${n}, ${r}, ${i}, ${F(t,4).toString()})`}function gt(e){let t=`fill="${U(e.fill??`none`)}"`,n=Object.keys(e);for(let r=0;r<n.length;r+=1){let i=n[r];if(i===`stroke`||i===`d`)continue;let a=e[i];t+=` ${i}="${U(a)}"`}return t}function _t(e,t,n){return`<path d="${U(e)}" stroke="${U(t)}" ${n} />`}function vt(e){let t=[],n=e.segmentAttributeMap.fill??`none`;t.push(`fill="${U(n)}"`),t.push(`stroke="${U(e.stroke)}"`);for(let n of Object.keys(e.segmentAttributeMap)){if(n===`stroke`||n===`d`)continue;let r=e.segmentAttributeMap[n];t.push(`${n}="${U(r)}"`)}return`<path d="${U(e.pathData)}" ${t.join(` `)} />`}function yt(e,t){let n=[];for(let e of Object.keys(t))n.push(`${e}="${U(t[e])}"`);return`<g data-svg-path-gradient="true"${n.length?` `+n.join(` `):``}>${e.join(``)}</g>`}function U(e){return String(e).replaceAll(`&`,`&`).replaceAll(`"`,`"`).replaceAll(`<`,`<`).replaceAll(`>`,`>`)}function bt(e,t=null,n={}){return new Promise((r,i)=>{let a=null;try{if(!e||typeof e!=`string`)throw Error(`SvgPathGradientAsync: pathData must be a non-empty string.`);let i=n.temperatureMode??null;if(i===null&&(!Array.isArray(t)||t.length===0))throw Error(`SvgPathGradientAsync: colors must be a non-empty array when temperatureMode is not enabled.`);if((n.returnMode??`string`)!==`string`)throw Error(`SvgPathGradientAsync: only returnMode="string" is supported for the async version.`);let o=typeof n.decimalPlaces==`number`?n.decimalPlaces:3,s=typeof n.flattenTolerance==`number`&&n.flattenTolerance>0?n.flattenTolerance:.25,c=n.attrs?{...n.attrs}:{},l=n.groupAttrs?{...n.groupAttrs}:{},u=R(c[`stroke-width`]),d=typeof n.strokeWidth==`number`&&n.strokeWidth>0?n.strokeWidth:typeof u==`number`&&u>0?u:1;a=z(e);let f=a.pathElement,p=f.getTotalLength(),ee=i===null?k(t,n.colorReferenceElement):[];if(i===null&&(!(p>0)||ee.length===1)){let t=yt([vt({pathData:e,stroke:ht(ee[0]),segmentAttributeMap:c})],l);B(a),r(t);return}let te=n.colorSpace??`linearRGB`;if(i!==null){let e=n.temperatureColors;if(!Array.isArray(e)||e.length!==2)throw Error(`SvgPathGradientAsync: temperatureColors must be a tuple of exactly 2 colors when temperatureMode is enabled.`)}let ne=i===null?null:k(n.temperatureColors,n.colorReferenceElement),re=i===null?(()=>{let e=ut(ee),t=Array(e.length);for(let n=0;n<e.length;n+=1)t[n]={position:e[n].position,rgba:e[n].rgba};return t})():[],ie=ct(p,d,n.maxSegmentLength),ae=V(p,n.segments,ie),oe=p/ae,se=typeof n.overlap==`number`&&n.overlap>=0?n.overlap:d*.5,ce=oe*.45;se>ce&&(se=ce);let le=typeof n.samplePointLimitPerSegment==`number`&&n.samplePointLimitPerSegment>10?n.samplePointLimitPerSegment:250,ue=gt(c),de=[],fe=i===null?null:[],pe=i===null?null:[],me=0,he=i===null?re.length-2:0,m=0,ge=()=>{let e=performance.now(),t=typeof n.frameBudgetMs==`number`?n.frameBudgetMs:8;for(;m<ae&&performance.now()-e<t;){let e=m*oe,t=(m+1)*oe,n=e,r=t;if(m!==0&&(n=e-se),m!==ae-1&&(r=t+se),n=P(n,0,p),r=P(r,0,p),r>n){if(i!==null){let e=H(f,n,r,s,o,le);fe.push(e.pathData),pe.push(e.bounds)}else{let e=(n+r)*.5/p;for(;me<he&&e>re[me+1].position;)me+=1;let t=dt(re,e,te,me),i=lt(f,n,r,s,o,le);de.push(_t(i,t,ue))}}m+=1}if(m<ae){requestAnimationFrame(ge);return}if(i!==null){let e=1/0,t=-1/0;for(let n=0;n<pe.length;n+=1){let r=pe[n],a=i===`vertical`?r.minY:r.minX,o=i===`vertical`?r.maxY:r.maxX;a<e&&(e=a),o>t&&(t=o)}let n=ne[0],r=ne[1];de.length=0;for(let a=0;a<pe.length;a+=1){let o=pe[a],s=ot(((i===`vertical`?o.minY:o.minX)+(i===`vertical`?o.maxY:o.maxX))*.5,e,t,!0),c=ht(i===`vertical`?at(n,r,s,te):at(r,n,s,te)),l=fe[a];de.push(_t(l,c,ue))}}let c=yt(de,l);B(a),r(c)};requestAnimationFrame(ge)}catch(e){B(a),i(e)}})}var W=[`innerHTML`],xt={__name:`SparklineGradientPath`,props:{svgPathData:{type:String,required:!0},enabled:{type:Boolean,required:!0},strokeWidth:{type:Number,required:!0},highColor:{type:String,required:!0},lowColor:{type:String,required:!0},segments:{type:Number,required:!0}},setup(e){let t=e,n=S(``),r=0;return T(()=>[t.enabled,t.svgPathData,t.strokeWidth,t.highColor,t.lowColor,t.segments],async([e])=>{let i=++r;if(!e){n.value=``;return}let a=await bt(t.svgPathData,null,{segments:t.segments,temperatureMode:`vertical`,temperatureColors:[t.highColor,t.lowColor],attrs:{"stroke-width":t.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},groupAttrs:{class:`vue-ui-sparkline-gradient`}});i===r&&(n.value=a)},{immediate:!0}),(e,t)=>(x(),v(`g`,{innerHTML:n.value},null,8,W))}},St=/* @__PURE__ */ e({default:()=>G}),Ct=[`id`],wt=[`id`],Tt={style:{position:`relative`}},Et=[`xmlns`,`viewBox`,`aria-describedby`],Dt=[`width`,`height`],Ot=[`id`],kt=[`id`,`y1`,`y2`],At=[`stop-color`,`offset`],jt=[`id`],Mt=[`x`,`y`,`width`,`height`],Nt=[`clip-path`],Pt={key:0},Ft=[`data-cy`,`d`,`fill`],It=[`id`,`d`,`stroke-width`],Lt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Rt=[`d`,`stroke`,`stroke-width`],zt=[`id`,`d`,`stroke-width`],Bt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Vt=[`d`,`stroke`,`stroke-width`],Ht=[`x`,`y`,`width`,`height`,`fill`,`rx`],Ut=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-dasharray`,`stroke-width`],Wt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Gt=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Kt=[`x`,`y`,`font-size`,`font-weight`,`fill`],qt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],Jt=[`x`,`y`,`height`,`width`,`onMouseenter`,`onMouseleave`,`onClick`],Yt=[`title`,`aria-label`],Xt={viewBox:`0 0 24 24`,width:`13`,height:`13`,"aria-hidden":`true`,focusable:`false`},Zt=[`stroke`],Qt={key:1,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},$t=280,G=/*#__PURE__*/ be({__name:`vue-ui-sparkline`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},showInfo:{type:Boolean,default:!0},selectedIndex:{type:Number,default:void 0},heightRatio:{type:Number,default:1},forcedPadding:{type:Number,default:30},zoomState:{type:Object,default:null}},emits:[`hoverIndex`,`selectDatapoint`,`zoom`,`zoomReset`,`update:zoomState`],setup(e,{expose:be,emit:qe}){let Je=Pe(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),Ye=Pe(()=>import(`./SparkTooltip-Ch06CV71.js`)),{vue_ui_sparkline:Xe}=t(),{isThemeValid:Ze,warnInvalidTheme:Qe}=Se(),$e=ke(),E=e,et=g(()=>Array.isArray(E.dataset)&&E.dataset.length>0),D=S(re()),nt=S(null),rt=S(null),it=S(null),O=S(null),k=S(null),A=S(void 0),j=S(void 0),M=S(lt()),N=g(()=>M.value.style.tooltip),at=g(()=>M.value.style.bar),P=g(()=>M.value.style.line),F=g(()=>M.value.style.area),I=g(()=>M.value.style.dataLabel),L=g(()=>M.value.style),R=g(()=>M.value.style.zoom);ve({config:()=>M.value,dataset:()=>E.dataset,component:`VueUiSparkline`,rules:[ye.emptyArray,{test:e=>e.length>500,message:[`👀 The dataset has > 500 datapoints. Consider if you really need this level of detail.`,``,`▶️ Use larger time scales, or aggregated values`]},{test:e=>e.length>1095,message:[`👀 The dataset has > 1095 datapoints. Above this threshold, the dataset is computed through an LTTB algorithm, to preserve the shape of the data without increasing the number of datapoints.`,``,`▶️ If you need this level of detail, you can change config.downsample.threshold and set a higher value. Note that performance will be impacted.`]}]});function ot(e){return E.config?.skeletonDataset&&Array.isArray(E.config.skeletonDataset)?E.config.skeletonDataset.map(e=>({period:`-`,value:e})):de(e).map(e=>({period:`-`,value:e}))}let st=g(()=>le({defaultConfig:{gradientPath:{show:!1},temperatureColors:{show:!1},style:{backgroundColor:`#99999930`,scaleMin:0,scaleMax:null,animation:{show:!1},line:{color:`#AAAAAA`,pulse:{show:!1},dashIndices:[]},bar:{color:`#AAAAAA`},area:{color:`#CACACA`},zeroLine:{color:`#6A6A6A`},dataLabel:{show:!1},tooltip:{show:!1}}},userConfig:M.value.skeletonConfig??{}})),{loading:z,FINAL_DATASET:B,manualLoading:ct}=ge({...We(E),FINAL_CONFIG:M,prepareConfig:lt,callback:()=>{Promise.resolve().then(async()=>{await b(),En()})},skeletonDataset:ot(12),skeletonConfig:le({defaultConfig:M.value,userConfig:st.value})}),{svgRef:V}=Oe({config:L.value.title});function lt(){let e=xe({userConfig:E.config,defaultConfig:Xe}),t={},n=e.theme;if(n){if(!Ze.value(e))Qe(e),t=e;else{let r=xe({userConfig:Ae[n]||E.config,defaultConfig:e});t={...xe({userConfig:E.config,defaultConfig:r})}}}else t=e;return t}let H=g(()=>M.value?.style?.line.pulse||{}),ut=g(()=>`${Math.max(200,Number(H.value.durationMs)||4e3)/1e3}s`),dt=S(0),ft=g(()=>H.value?.begin||`0ms`),pt=S(`0;1`),mt=g(()=>H.value?.loop===!1?`1`:`indefinite`),ht=g(()=>H.value?.loop===!1?`freeze`:void 0),gt=g(()=>H.value.trail.show&&U.value.lengthPx||1),_t=g(()=>!!H.value?.show&&!Z.value&&!$e.value&&!z.value&&(X.value?.length||0)>1);function vt(){if(!_t.value){dt.value=0;return}let e=V.value;if(!e)return;let t=`#${On.value}`,n=e.querySelector?.(t);if(n&&typeof n.getTotalLength==`function`){let e=n.getTotalLength();Number.isFinite(e)&&e>0&&(dt.value=e)}else requestAnimationFrame(()=>{let n=e.querySelector?.(t);if(n&&typeof n.getTotalLength==`function`){let e=n.getTotalLength();Number.isFinite(e)&&e>0&&(dt.value=e)}})}let yt=g(()=>{let e=H.value?.easing||`ease-in-out`,t={ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]};return e===`linear`?{calcMode:`linear`,keySplines:null,keyTimes:`0;1`}:e===`steps`?{calcMode:`discrete`,keySplines:null,keyTimes:`0;1`}:{calcMode:`spline`,keySplines:(e===`cubic-bezier`?Array.isArray(H.value?.cubicBezier)&&H.value.cubicBezier.length===4?H.value.cubicBezier:[.4,0,.2,1]:t[e]||t[`ease-in-out`]).join(` `),keyTimes:`0;1`}}),U=g(()=>{let e=H.value?.trail||{},t=P.value.strokeWidth||1;return{show:e.show!==!1,lengthPx:e.length,width:Math.max(1,Number(e.strokeWidth)||t*2.2),opacity:Math.min(1,Math.max(0,Number(e.opacity)??.6)),fadeIn:.5,fadeOut:.2}}),bt=S({start:0,end:null}),W=S(!1),St=S(!1),G=S(!1),en=S(`matrix(1, 0, 0, 1, 0, 0)`),tn=S(!1),nn=0,rn=0,an=0,on=0,sn=S(null),cn=S(null),ln=S(!1),un=S({time:0,x:0,y:0,pointerType:null}),dn=g(()=>{let e=B.value.length;if(!e)return{start:0,end:-1};let t=Math.min(Math.max(0,bt.value.start||0),e-1);return{start:t,end:Math.min(Math.max(t,bt.value.end==null?e-1:bt.value.end),e-1)}}),fn=g(()=>{let e=B.value.length;return e?dn.value.start>0||dn.value.end<e-1:!1}),pn=g(()=>{let{start:e,end:t}=dn.value;return t<e?[]:B.value.slice(e,t+1).map((t,n)=>({...t,__sourceIndex:e+n}))}),mn=g(()=>d({data:pn.value,threshold:M.value.downsample.threshold}));g(()=>{if(!M.value.temperatureColors.show)return!1;let e=pn.value.map(({value:e})=>e).filter(e=>Number.isFinite(e));return new Set(e).size<=1}),T(()=>E.config,e=>{z.value||(M.value=lt()),Mn(),q.value.chartWidth=L.value.chartWidth},{deep:!0}),T(()=>E.dataset,e=>{Array.isArray(e)&&e.length>0&&(ct.value=!1),Xn(),Wn(),un.value={time:0,x:0,y:0,pointerType:null},bt.value={start:0,end:null},Yn(),K.value=d({data:pn.value.map(e=>({...e,value:[void 0].includes(e.value)?null:e.value})),threshold:M.value.downsample.threshold});let t=Nn();J(`update:zoomState`,t),J(`zoomReset`,t)},{deep:!0});let K=S(hn());function hn(){return d({data:pn.value.map(e=>L.value.animation.show&&B.value.length>1?{...e,value:null}:{...e,value:[void 0].includes(e.value)?null:e.value}),threshold:M.value.downsample.threshold})}let gn=He(null),_n=He(null),vn=S(!1),yn=S(0),bn=S([]),xn=S(``),Sn=!1,Cn=g(()=>{let e=(mn.value||[]).map(e=>`${e.period}::${Number.isFinite(e.value)?e.value:0}`).join(`|`),t=M.value?.style?.animation||{},n=!!M.value?.gradientPath?.show&&!M.value.temperatureColors.show;return`${e}#${!!t.show}#${t.animationFrames||0}#${n}`});function wn(){Sn=!0,Tn()}function Tn(){yn.value&&=(cancelAnimationFrame(yn.value),0),bn.value.forEach(e=>clearTimeout(e)),bn.value=[],vn.value=!1}function En(){let e=M.value?.style?.animation||{},t=mn.value||[],n=Cn.value,r=!!M.value.gradientPath.show&&!M.value.temperatureColors.show;if(n&&n===xn.value&&(vn.value||K.value.length===t.length))return;if(Tn(),r||!e.show||z.value||t.length<=1||$e.value){K.value=t,xn.value=n;return}vn.value=!0,xn.value=n,K.value=[];let i=Math.max(1,Number(e.animationFrames)||1),a=Math.max(1,Math.floor(i/t.length)),o=0,s=()=>{if(n!==Cn.value)Tn();else if(o<t.length){K.value.push(t[o]);let e=setTimeout(()=>{yn.value=requestAnimationFrame(s)},a);bn.value.push(e),o+=1}else K.value=t,Tn()};yn.value=requestAnimationFrame(s)}T(Cn,()=>{Sn?(Sn=!1,Tn(),K.value=mn.value||[],xn.value=Cn.value):En()}),Be(()=>{Mn(),En()}),ze(()=>{Tn(),Wn()});let Dn=S(0);T(()=>z.value,async e=>{e||(await b(),Dn.value+=1)}),T(()=>vn.value,async e=>{e||z.value||(await b(),Dn.value+=1)});let On=g(()=>`sparkline_line_path_${D.value}`),kn=S(!0);async function An(){kn.value=!1,await b(),kn.value=!0,await b(),vt()}let jn=g(()=>M.value.debug);function Mn(){if(m(E.dataset)?(ae({componentName:`VueUiSparkline`,type:`dataset`,debug:jn.value}),ct.value=!0):jn.value&&E.dataset.forEach((e,t)=>{he({datasetObject:e,requiredAttributes:[`period`,`value`]}).forEach(e=>{ae({componentName:`VueUiSparkline`,type:`datasetSerieAttribute`,property:e,index:t})})}),m(E.dataset)||(ct.value=M.value.loading),M.value.responsive){let e=we(()=>{let{width:e,height:t}=Te({chart:nt.value,title:L.value.title.show&&E.showInfo?rt.value:null,source:it.value});requestAnimationFrame(()=>{q.value.width=e,q.value.height=t,q.value.chartWidth=L.value.chartWidth/500*e,q.value.padding=E.forcedPadding/500*e})});gn.value&&(_n.value&&gn.value.unobserve(_n.value),gn.value.disconnect()),gn.value=new ResizeObserver(e),_n.value=nt.value.parentNode,gn.value.observe(_n.value)}}ze(()=>{gn.value&&(_n.value&&gn.value.unobserve(_n.value),gn.value.disconnect())});let q=S({height:80*E.heightRatio,width:500,chartWidth:L.value.chartWidth,padding:E.forcedPadding}),J=qe;function Nn(){if(!B.value.length)return{start:0,end:0};let{start:e,end:t}=dn.value;return{start:e,end:t+1}}function Pn(e,t=Nn()){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function Fn(e){let t=Pn(e);if(!t)return null;let n=B.value.length;if(!n)return{start:0,end:0};let r=Math.max(0,Math.min(Math.trunc(t.start),n-1));return{start:r,end:Math.max(r+1,Math.min(Math.trunc(t.end),n))}}function In(e,{skipAnimation:t=!0,transition:n=!1}={}){let r=Fn(e);if(!r)return null;let i=Nn();if(r.start!==i.start||r.end!==i.end){Xn(),un.value={time:0,x:0,y:0,pointerType:null};let e={start:r.start,end:r.end>r.start?r.end-1:r.start};n?Gn(e):(t&&wn(),bt.value=e),Yn()}return Nn()}function Ln(e){let t=In(e,{transition:!0});t&&J(`update:zoomState`,t)}T([()=>E.zoomState,()=>B.value.length],([e,t])=>{!e||t<=0||In(e,{transition:!0})},{deep:!0,immediate:!0});let Y=g(()=>{let{top:e,right:t,bottom:n,left:r}=L.value.padding;return{top:e,left:r,right:q.value.width-t,bottom:q.value.height-n,start:E.showInfo&&I.value.show&&I.value.position===`left`?q.value.width-q.value.chartWidth+r:q.value.padding+r,width:E.showInfo&&I.value.show?q.value.chartWidth-r-t:q.value.width-q.value.padding-r-t,height:q.value.height-e-n}});function Rn(e){let t=B.value.length;if(!t)return{start:0,end:-1};let n=Math.max(0,Math.min(Math.trunc(Number(e?.start)||0),t-1)),r=e?.end===null||e?.end===void 0?t-1:Math.trunc(Number(e.end));return{start:n,end:Math.max(n,Math.min(Number.isFinite(r)?r:n,t-1))}}function zn(e){let t=(e||[]).map(e=>{let t=e?.value;return isNaN(t)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(t)?0:t||0}),n=L.value.scaleMin,r=L.value.scaleMax,i=[null,void 0].includes(n)?t.length?Math.min(...t):0:n,a=[null,void 0].includes(r)?t.length?Math.max(...t):0:r,o=Math.abs(i>=0?0:i),s=a+o;return{absoluteMin:Number.isFinite(o)?o:0,absoluteMax:Number.isFinite(s)?s:0}}function Bn(e,t){let n=t.absoluteMax===0?0:(e+t.absoluteMin)/t.absoluteMax;return Y.value.bottom-Y.value.height*n}function Vn(e,t,n,r){let i=Math.max(1,e.end-e.start),a=Math.max(1,t.end-t.start),o=Y.value.start,s=Y.value.width,c=i/a,l=o+s*(e.start-t.start)/a-c*o,u=Bn(0,n),d=Bn(0,r),f=1;n.absoluteMax>0&&r.absoluteMax>0&&(f=n.absoluteMax/r.absoluteMax);let p=d-f*u;return`matrix(${c}, 0, 0, ${f}, ${l}, ${p})`}function Hn(e){if(!G.value||!e)return;let t=en.value.match(/^matrix\(([-+\d.eE]+),\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*([-+\d.eE]+),\s*([-+\d.eE]+),\s*([-+\d.eE]+)\)$/);if(!t)return;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=Number(t[4]);if([n,r,i,a].every(Number.isFinite))return{transform:`matrix(1, 0, 0, 1, ${(n-1)*e.x+i}, ${(r-1)*e.y+a})`,transformOrigin:`0 0`,transformBox:`view-box`,transition:tn.value?`transform ${$t}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:`transform`}}function Un(e){if(!G.value||!e)return;let t=en.value.match(/^matrix\(([-+\d.eE]+),\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*([-+\d.eE]+),\s*[-+\d.eE]+\)$/);if(!t)return;let n=Number(t[1]),r=Number(t[2]);if([n,r].every(Number.isFinite))return{transform:`matrix(1, 0, 0, 1, ${(n-1)*e.x+r}, 0)`,transformOrigin:`0 0`,transformBox:`view-box`,transition:tn.value?`transform ${$t}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:`transform`}}function Wn({resetTransform:e=!0}={}){on+=1,nn&&=(cancelAnimationFrame(nn),0),rn&&=(cancelAnimationFrame(rn),0),an&&=(clearTimeout(an),0),tn.value=!1,G.value=!1,e&&(en.value=`matrix(1, 0, 0, 1, 0, 0)`)}async function Gn(e){let t=Rn(e),n={...dn.value};if(t.start===n.start&&t.end===n.end)return;Wn();let r=vn.value;r&&(Tn(),K.value=mn.value||[]);let i=zn(K.value);wn(),bt.value={start:t.start,end:t.end};let a=mn.value||[];if(r||!V.value||z.value||$e.value||n.end<n.start||t.end<t.start||a.length<=1){K.value=a,xn.value=Cn.value,en.value=`matrix(1, 0, 0, 1, 0, 0)`;return}let o=Vn(t,n,zn(a),i),s=++on;G.value=!0,tn.value=!1,en.value=o,K.value=a,xn.value=Cn.value,await b(),s===on&&(nn=requestAnimationFrame(()=>{nn=0,rn=requestAnimationFrame(()=>{rn=0,s===on&&(tn.value=!0,en.value=`matrix(1, 0, 0, 1, 0, 0)`,an=setTimeout(async()=>{an=0,s===on&&(tn.value=!1,G.value=!1,await An())},$t))})}))}let Kn=g(()=>!W.value||sn.value==null||cn.value==null?null:{x:Math.min(sn.value,cn.value),width:Math.abs(cn.value-sn.value),y:0,height:q.value.height});function qn(e){let t=V.value;if(!t)return null;let n=t.getScreenCTM?.();if(n&&typeof t.createSVGPoint==`function`){let r=t.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r.matrixTransform(n.inverse()).x}let r=t.getBoundingClientRect?.();return r?.width?(e.clientX-r.left)/r.width*q.value.width:null}function Jn(e){return Math.min(Math.max(e,Y.value.start),Y.value.start+Y.value.width)}function Yn(){j.value=A.value,A.value=void 0,k.value=null,O.value=null,J(`hoverIndex`,{index:void 0})}function Xn(e){e?.pointerId!=null&&V.value?.hasPointerCapture?.(e.pointerId)&&V.value.releasePointerCapture(e.pointerId),W.value=!1,sn.value=null,cn.value=null}function Zn(e){(fn.value||W.value)&&(Xn(e),un.value={time:0,x:0,y:0,pointerType:null},Gn({start:0,end:Math.max(0,B.value.length-1)}),Yn(),J(`update:zoomState`,Nn()),J(`zoomReset`))}function Qn(e){(e.button===void 0||e.button===0)&&(e.preventDefault(),e.stopPropagation(),Zn())}function $n(e){e.detail===0&&Zn()}function er(e){if(!R.value.show)return;if(!fn.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=un.value,i=n===`touch`?450:350,a=n===`touch`?28:10,o=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=i&&o<=a?(ln.value=!0,Zn(e),setTimeout(()=>{ln.value=!1},0),!0):(un.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function tr(e=V.value){St.value=!0,e?.classList?.add(`vue-ui-sparkline-pointer-focus`)}function nr(){St.value=!1,V.value?.classList?.remove(`vue-ui-sparkline-pointer-focus`)}function rr(e){if(e.button!==void 0&&e.button!==0||(tr(e.currentTarget),!R.value.show)||z.value||pn.value.length<2)return;let t=qn(e);if(t==null)return;let n=Y.value.start,r=n+Y.value.width;t<n||t>r||(V.value?.focus?.({preventScroll:!0}),W.value=!0,sn.value=Jn(t),cn.value=Jn(t))}function ir(e){if(!R.value.show||!W.value)return;let t=qn(e);t!=null&&(cn.value=Jn(t),sn.value!=null&&Math.abs(cn.value-sn.value)>=2&&!V.value?.hasPointerCapture?.(e.pointerId)&&V.value?.setPointerCapture?.(e.pointerId))}function ar(e){if(!R.value.show||!W.value)return;let t=qn(e);t!=null&&(cn.value=Jn(t));let n=sn.value,r=cn.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,Y.value.width*.01)){if(er(e))return;Xn(e);return}let i=Math.min(n,r),a=Math.max(n,r),o=Math.max(1,Y.value.width),s=pn.value.length,c=(i-Y.value.start)/o,l=(a-Y.value.start)/o,u=Math.max(0,Math.min(s-1,Math.floor(c*(s-1)))),d=Math.max(u,Math.min(s-1,Math.ceil(l*(s-1))));if(d<=u){Xn(e);return}let f=dn.value.start+u,p=dn.value.start+d;Gn({start:f,end:p}),un.value={time:0,x:0,y:0,pointerType:null},Yn(),J(`zoom`,{start:f,end:p}),J(`update:zoomState`,{start:f,end:p+1}),ln.value=!0,setTimeout(()=>{ln.value=!1},0),Xn(e)}let or=g(()=>[null,void 0].includes(L.value.scaleMin)?Math.min(...K.value.map(e=>isNaN(e.value)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(e.value)?0:e.value||0)):L.value.scaleMin),sr=g(()=>[null,void 0].includes(L.value.scaleMax)?Math.max(...K.value.map(e=>isNaN(e.value)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(e.value)?0:e.value||0)):L.value.scaleMax),cr=g(()=>{let e=or.value>=0?0:or.value;return Math.abs(e)}),lr=g(()=>sr.value+cr.value),ur=g(()=>Y.value.bottom-Y.value.height*dr(cr.value));function dr(e){return isNaN(e/lr.value)?0:e/lr.value}let fr=g(()=>K.value.length-1||1),pr=S([]),mr=0;Ge(()=>{let e=++mr;(async()=>{let t=await Ce({values:mn.value.map(e=>e.period),maxDatapoints:mn.value.length,formatter:I.value.datetimeFormatter,start:0,end:mn.value.length});e===mr&&(pr.value=t)})()});let X=g(()=>{let e=K.value.length,t=Y.value.width/fr.value,n=Math.max(0,Y.value.start),r=Math.min(q.value.width,Y.value.right,Y.value.start+Y.value.width),i=Math.max(0,r-n),a=e>0?i/e:0;return K.value.map((e,r)=>{let i=isNaN(e.value)||[void 0,`NaN`,NaN,1/0,-1/0].includes(e.value)?0:e.value,o=n+r*a,s=Z.value?a:t,c=Z.value?o+a/2:Y.value.start+r*t;return{value:e.value,absoluteValue:i,period:pr.value&&pr.value[r]&&pr.value[r].text?pr.value[r].text:e.period,plotValue:i+cr.value,toMax:dr(i+cr.value),sourceIndex:e.__sourceIndex??r,x:c,barX:o,y:Y.value.bottom-Y.value.height*dr(i+cr.value),id:`plot_${D.value}_${r}`,color:Z.value?at.value.color:F.value.useGradient?ie(P.value.color,.05*(1-r/fr.value)):P.value.color,width:s}})}),hr=g(()=>{if(E.selectedIndex!==void 0&&E.selectedIndex!==null&&E.selectedIndex>=0&&E.selectedIndex<B.value.length){let e=X.value.findIndex(e=>e.sourceIndex===E.selectedIndex);return e>=0?e:null}return k.value!==void 0&&k.value!==null&&k.value>=0&&k.value<X.value.length?k.value:null});function gr(e,t){return Number.isFinite(e?.sourceIndex)?e.sourceIndex:t}function _r(e,t){let n=gr(e,t);M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:e,seriesIndex:n}),k.value=t,O.value=t,A.value=e,j.value||=e,J(`hoverIndex`,{index:n})}function vr(e,t){let n=gr(e,t);M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:e,seriesIndex:n}),j.value=A.value,A.value=void 0,k.value=null,O.value=null,J(`hoverIndex`,{index:void 0})}let yr=g(()=>{if(et.value){let e=X.value.map(e=>e.absoluteValue),t=e.reduce((e,t)=>e+t,0);return{latest:X.value[X.value.length-1]?X.value[X.value.length-1].absoluteValue:0,sum:t,average:t/X.value.length,median:fe(e),trend:oe(X.value.map(({x:e,y:t,absoluteValue:n})=>({x:e,y:t,value:n}))).trend}}return{latest:null,sum:null,average:null,median:null,trend:null}}),br=g(()=>et.value?I.value.valueType===`latest`?yr.value.latest:I.value.valueType===`sum`?yr.value.sum:I.value.valueType===`average`?yr.value.average:0:0),Z=g(()=>M.value.type&&M.value.type===`bar`);function xr(e,t){if(ln.value)return;let n=gr(e,t);M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:e,seriesIndex:n}),J(`selectDatapoint`,{datapoint:e,index:n})}let Q=g(()=>P.value.cutNullValues);function Sr(e){return![null,void 0,`NaN`,NaN,1/0,-1/0].includes(e)}function Cr(e,t){let n=e[t-1],r=e[t+1],i=!!n&&!!r&&n.value==null&&r.value==null||!n&&!!r&&r.value==null||!!n&&!r&&n.value==null;return Sr(e[t]?.value)&&i&&Q.value}function wr(e,t){return A.value&&e.id===A.value.id||hr.value===t||B.value.length===1}function Tr(e,t){return Z.value||!Sr(e?.value)?!1:L.value.plot.show&&wr(e,t)||Cr(X.value,t)}function Er(e,t){return Math.max(1,wr(e,t)?L.value.plot.radius:L.value.plot.radius*.7)}function Dr(e,t){return wr(e,t)?L.value.plot.stroke:L.value.backgroundColor}let Or=g(()=>Q.value?X.value:X.value.filter(e=>e.value!==null)),kr=g(()=>Array.isArray(P.value.dashIndices)?P.value.dashIndices.map(e=>Math.trunc(Number(e))).filter(Number.isFinite):[]),Ar=g(()=>new Set(kr.value));function jr(e,t){let n=e?.sourceIndex,r=t?.sourceIndex;if(!Number.isFinite(n)||!Number.isFinite(r))return!1;let i=Math.min(n,r),a=Math.max(n,r);for(let e of kr.value)if(e>=i&&e<=a)return!0;return!1}function Mr(e){let t=/* @__PURE__ */ new Set;for(let n=1;n<e.length;n+=1)jr(e[n-1],e[n])&&t.add(n-1);return t}function Nr(e){let t=/* @__PURE__ */ new Set;if(Q.value||!P.value.nullDashes?.show)return t;for(let n=1;n<e.length;n+=1){let r=e[n-1]?.sourceIndex,i=e[n]?.sourceIndex;Number.isFinite(r)&&Number.isFinite(i)&&Math.abs(i-r)>1&&t.add(n-1)}return t}let Pr=g(()=>Q.value?/* @__PURE__ */ new Set:Mr(Or.value)),Fr=g(()=>Nr(Or.value)),Ir=g(()=>/* @__PURE__ */ new Set([...Pr.value,...Fr.value])),Lr=g(()=>Q.value?X.value.reduce((e,t,n)=>(Ar.value.has(t.sourceIndex)&&e.push(n),e),[]):[]),Rr=g(()=>Q.value?Lr.value.length>0:Ir.value.size>0),zr=g(()=>X.value.filter(e=>e.value!==null)),Br=g(()=>zr.value.length>1),Vr=g(()=>Z.value||!Br.value?``:Q.value?o(X.value):f(Or.value)),Hr=g(()=>Z.value||!Br.value?``:Q.value?ne(X.value):te(Or.value)),Ur=g(()=>Z.value||!Rr.value||!Br.value?[]:Q.value?l(X.value,Lr.value):p(Or.value,Ir.value)),Wr=g(()=>Z.value||!Rr.value||!Br.value?[]:Q.value?a(X.value,Lr.value):c(Or.value,Ir.value)),Gr=g(()=>Z.value||!F.value.show||!Br.value?[]:P.value.smooth?u(Or.value,Y.value.bottom,Q.value).filter(Boolean):(Q.value?r(X.value,Y.value.bottom):ue(Or.value,Y.value.bottom)).split(`;`).filter(Boolean).map(e=>`M${e}Z`)),Kr=g(()=>Z.value||!M.value.gradientPath.show||M.value.temperatureColors.show?``:`M ${(P.value.smooth?Vr.value:Hr.value)||`0,0`}`),qr=g(()=>{if(!M.value.temperatureColors.show)return null;let e=M.value.temperatureColors.colors;return!Array.isArray(e)||!e.length?null:e.map(e=>ee(e))}),$=g(()=>{if(!M.value.temperatureColors.show)return null;let e=M.value.temperatureColors.colors;return!Array.isArray(e)||!e.length?null:e.map(e=>ee(e))});function Jr(e){if(!Number.isFinite(e?.y))return 0;let t=Y.value.height||1,n=(e.y-Y.value.top)/t;return Math.min(1,Math.max(0,n))}function Yr(e){let t=qr.value;return!Array.isArray(t)||!t.length?e.color:i({colors:t,ratio:Jr(e)})}T(()=>[_t.value,On.value,X.value.length,q.value.width,q.value.height,M.value?.style?.line?.smooth],async()=>{await b(),vt()},{immediate:!0}),Be(async()=>{await b(),vt()}),T(()=>z.value,async e=>{e||await An()}),T(()=>vn.value,async e=>{e||z.value||await An()}),T([()=>E.selectedIndex,()=>X.value],([e],[t])=>{if(e==null){if(t!=null){k.value=null,O.value=null,A.value=void 0;return}let e=A.value?.sourceIndex;if(e==null)return;let n=X.value.findIndex(t=>t.sourceIndex===e);if(n<0){k.value=null,O.value=null,A.value=void 0;return}k.value=n,O.value=n,A.value=X.value[n];return}if(e<0||e>=B.value.length)return;let n=X.value.findIndex(t=>t.sourceIndex===e);if(n<0){k.value=null,O.value=null,A.value=void 0;return}let r=X.value[n];r&&(k.value=n,O.value=n,A.value=r)});let Xr=S(!1);function Zr(){let e=hr.value;if(e!==null&&e>=0&&e<X.value.length){let t=X.value[e];if(t){O.value=e,A.value=t,k.value=e,Xr.value=!0;return}}O.value=null,!A.value&&X.value.length&&_r(X.value.at(-1),X.value.length-1),Xr.value=!0}function Qr(){nr(),j.value=A.value,(E.selectedIndex===void 0||E.selectedIndex===null)&&(O.value=null,A.value=void 0,k.value=null,J(`hoverIndex`,{index:void 0})),Xr.value=!1}be({resetZoom:Zn,setZoomState:Ln});function $r(e){if(!V.value||document.activeElement!==V.value)return;if(nr(),j.value=A.value,e.key===`Escape`){(fn.value||W.value)&&(e.preventDefault(),e.stopPropagation(),Zn());return}let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`;if(!t&&!n)return;let r=X.value.length;if(!r)return;e.preventDefault(),e.stopPropagation();let i=O.value,a=i!==null&&i>=0&&i<r,o=A.value?X.value.findIndex(e=>e.id===A.value.id):-1;a?n?(i+=1,i>=r&&(i=0)):t&&(--i,i<0&&(i=r-1)):o!==null&&o>=0&&o<r?(i=n?o+1:o-1,i>=r&&(i=0),i<0&&(i=r-1)):i=n?0:r-1;let s=X.value[i];s&&(O.value=i,_r(s,i))}let ei=g(()=>({headers:[M.value.translations.period,M.value.translations.value],rows:X.value.map(e=>[e.period,e.absoluteValue])}));return(t,r)=>(x(),v(`div`,{ref_key:`sparklineChart`,ref:nt,class:`vue-data-ui-component vue-ui-sparkline`,id:D.value,style:Re(`width:100%;font-family:${L.value.fontFamily};`)},[y(`p`,{id:`chart-instructions-${D.value}`,class:`sr-only`},Ue(M.value.a11y.translations.keyboardNavigation),9,wt),ei.value?.rows?.length?(x(),je(De,{key:0,uid:D.value,head:ei.value.headers,body:ei.value.rows,notice:M.value.a11y.translations.tableAvailable,caption:M.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):_(``,!0),Ve(t.$slots,`before`,Le(Fe({selected:A.value,latest:yr.value.latest,sum:yr.value.sum,average:yr.value.average,median:yr.value.median,trend:yr.value.trend})),void 0,!0),L.value.title.show&&e.showInfo?(x(),v(`div`,{key:1,ref_key:`chartTitle`,ref:rt,class:`vue-ui-sparkline-title`,style:Re(`display:flex;align-items:center;width:100%;color:${L.value.title.color};background:${L.value.backgroundColor};justify-content:${L.value.title.textAlign===`left`?`flex-start`:L.value.title.textAlign===`right`?`flex-end`:`center`};height:${L.value.title.fontSize*2}px;font-size:${L.value.title.fontSize}px;font-weight:${L.value.title.bold?`bold`:`normal`};`)},[y(`span`,{style:Re(`padding:${L.value.title.textAlign===`left`?`0 0 0 12px`:L.value.title.textAlign===`right`?`0 12px 0 0`:`0`}`)},Ue(A.value?A.value.period:L.value.title.text),5)],4)):_(``,!0),y(`div`,Tt,[(x(),v(`svg`,{ref_key:`svgRef`,ref:V,class:Ie({"vue-ui-sparkline-pointer-focus":St.value}),xmlns:w(me),viewBox:`0 0 ${q.value.width} ${q.value.height}`,style:Re({background:L.value.backgroundColor,overflow:`visible`,direction:`ltr`,cursor:R.value.show?W.value?`col-resize`:`crosshair`:`default`,touchAction:`pan-y`,userSelect:`none`}),tabindex:`0`,"aria-describedby":`chart-instructions-${D.value}`,"aria-keyshortcuts":`Escape`,onMouseleave:r[0]||=e=>j.value=void 0,onFocus:Zr,onBlur:Qr,onKeydown:$r,onPointerdown:rr,onPointermove:ir,onPointerup:ar,onPointercancel:Xn},[Ne(w(Je)),Ve(t.$slots,`svg-underlayer`,{svg:{...q.value,drawingArea:Y.value,timeLabels:pr.value,series:X.value,hoveredIndex:O.value,isZoomed:fn.value,zoomRange:dn.value}},void 0,!0),t.$slots[`chart-background`]?(x(),v(`foreignObject`,{key:0,x:0,y:0,width:q.value.width<=0?10:q.value.width,height:q.value.height<=0?10:q.value.height,style:{pointerEvents:`none`}},[Ve(t.$slots,`chart-background`,{},void 0,!0)],8,Dt)):_(``,!0),y(`defs`,null,[Ne(Ee,{t:`linear`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`,id:`sparkline_gradient_${D.value}`,stops:[[`0%`,w(s)(w(ie)(F.value.color,.05),F.value.opacity),1],[`100%`,w(s)(F.value.color,F.value.opacity),1]]},null,8,[`id`,`stops`]),Ne(Ee,{t:`linear`,x2:`0%`,y2:`100%`,id:`sparkline_bar_gradient_pos_${D.value}`,stops:[[`0%`,at.value.color,1],[`100%`,w(ie)(at.value.color,.05),1]]},null,8,[`id`,`stops`]),Ne(Ee,{t:`linear`,x2:`0%`,y2:`100%`,id:`sparkline_bar_gradient_neg_${D.value}`,stops:[[`0%`,w(ie)(at.value.color,.05),1],[`100%`,at.value.color,1]]},null,8,[`id`,`stops`]),y(`filter`,{id:`sparkline_pulse_glow_${D.value}`,filterUnits:`userSpaceOnUse`,x:`-50`,y:`-50`,width:`100`,height:`100`},[...r[1]||=[y(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:`3`,result:`blur`},null,-1),y(`feMerge`,null,[y(`feMergeNode`,{in:`blur`}),y(`feMergeNode`,{in:`SourceGraphic`})],-1)]],8,Ot),M.value.temperatureColors.show&&$.value?(x(),v(`linearGradient`,{key:0,id:`temperature_grad_sparkline_${D.value}`,gradientUnits:`userSpaceOnUse`,x1:`0`,x2:`0`,y1:Y.value.top,y2:Y.value.bottom},[(x(!0),v(h,null,C($.value,(e,t)=>(x(),v(`stop`,{key:`temperature_grad_stop_${t}_${D.value}`,"stop-color":e,offset:$.value.length===1?`0%`:w(pe)(t,$.value.length)},null,8,At))),128))],8,kt)):_(``,!0),y(`clipPath`,{id:`sparkline_zoom_clip_${D.value}`},[y(`rect`,{x:Y.value.start-4,y:Y.value.top-8,width:Y.value.width+8,height:Y.value.height+16},null,8,Mt)],8,jt)]),y(`g`,{"clip-path":G.value?`url(#sparkline_zoom_clip_${D.value})`:void 0},[y(`g`,{style:Re({transform:en.value,transformOrigin:`0 0`,transformBox:`view-box`,transition:tn.value?`transform ${$t}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:G.value?`transform`:void 0})},[F.value.show&&!Z.value&&Gr.value.length?(x(),v(`g`,Pt,[(x(!0),v(h,null,C(Gr.value,(e,t)=>(x(),v(`path`,{key:`sparkline_area_${t}_${D.value}`,class:`vue-ui-sparkline-area`,"data-cy":P.value.smooth?`sparkline-smooth-area`:`sparkline-angle-area`,d:e,fill:F.value.useGradient?`url(#sparkline_gradient_${D.value})`:w(s)(F.value.color,F.value.opacity),"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Ft))),128))])):_(``,!0),P.value.smooth&&!Z.value?(x(),v(h,{key:1},[y(`path`,{id:On.value,d:`M ${Vr.value||`0,0`}`,fill:`none`,stroke:`transparent`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,It),Rr.value?(x(!0),v(h,{key:0},C(Ur.value,e=>(x(),v(`path`,{key:e.path,class:`vue-ui-sparkline-path`,d:`M ${e.path}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-dasharray":e.dashed?P.value.dashArray:0},null,8,Lt))),128)):(x(),v(`path`,{key:1,class:`vue-ui-sparkline-path`,d:`M ${Vr.value||`0,0`}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Rt))],64)):_(``,!0),!P.value.smooth&&!Z.value?(x(),v(h,{key:2},[y(`path`,{id:On.value,d:`M ${Hr.value||`0,0`}`,fill:`none`,stroke:`transparent`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,zt),Rr.value?(x(!0),v(h,{key:0},C(Wr.value,e=>(x(),v(`path`,{key:e.path,class:`vue-ui-sparkline-path`,d:`M ${e.path}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-dasharray":e.dashed?P.value.dashArray*2:0},null,8,Bt))),128)):(x(),v(`path`,{key:1,class:`vue-ui-sparkline-path`,d:`M ${Hr.value||`0,0`}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Vt))],64)):_(``,!0),Kr.value&&!$.value?(x(),je(xt,{key:3,svgPathData:Kr.value,enabled:M.value.gradientPath.show&&!Z.value&&!$.value,strokeWidth:P.value.strokeWidth,highColor:M.value.gradientPath.colors.high,lowColor:M.value.gradientPath.colors.low,segments:M.value.gradientPath.segments},null,8,[`svgPathData`,`enabled`,`strokeWidth`,`highColor`,`lowColor`,`segments`])):_(``,!0),kn.value&&_t.value?(x(),je(tt,{key:4,uid:D.value,svgRef:w(V),pulsePathId:On.value,pulsePathLength:dt.value,pulseDur:ut.value,pulseBegin:ft.value,pulseRepeatCount:mt.value,pulseFillMode:ht.value,pulseKeyPoints:pt.value,pulseMotion:yt.value,pulse:H.value,pulseTrail:U.value,pulseTrailLength:gt.value,prefersReducedMotion:w($e),loading:w(z),isBar:Z.value},null,8,[`uid`,`svgRef`,`pulsePathId`,`pulsePathLength`,`pulseDur`,`pulseBegin`,`pulseRepeatCount`,`pulseFillMode`,`pulseKeyPoints`,`pulseMotion`,`pulse`,`pulseTrail`,`pulseTrailLength`,`prefersReducedMotion`,`loading`,`isBar`])):_(``,!0),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`g`,null,[Z.value?(x(),v(`rect`,{key:0,x:e.barX,y:isNaN(e.absoluteValue>0?e.y:ur.value)?0:e.absoluteValue>0?e.y:ur.value,width:e.width,height:isNaN(Math.abs(e.y-ur.value))?0:Math.abs(e.y-ur.value),fill:e.absoluteValue>0?`url(#sparkline_bar_gradient_pos_${D.value})`:`url(#sparkline_bar_gradient_neg_${D.value})`,rx:at.value.borderRadius},null,8,Ht)):_(``,!0)]))),256)),or.value<0?(x(),v(`line`,{key:5,x1:Y.value.start,x2:Y.value.start+Y.value.width,y1:w(se)(ur.value,Y.value.bottom),y2:w(se)(ur.value,Y.value.bottom),stroke:L.value.zeroLine.color,"stroke-dasharray":L.value.zeroLine.strokeWidth*2,"stroke-width":L.value.zeroLine.strokeWidth,"stroke-linecap":`round`},null,8,Ut)):_(``,!0)],4),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`g`,{key:`sparkline_indicator_${e.id}`,style:Re(Un(e))},[L.value.verticalIndicator.show&&(A.value&&e.id===A.value.id||hr.value===t)?(x(),v(`line`,{key:0,x1:e.x,x2:e.x,y1:Y.value.top-6,y2:Y.value.bottom,stroke:L.value.verticalIndicator.color||e.color,"stroke-width":L.value.verticalIndicator.strokeWidth,"stroke-linecap":`round`,"stroke-dasharray":L.value.verticalIndicator.strokeDasharray||0},null,8,Wt)):_(``,!0)],4))),128)),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`g`,{key:`sparkline_plot_${e.id}`,style:Re(Hn(e))},[Tr(e,t)?(x(),v(`circle`,{key:0,cx:e.x,cy:e.y,r:Er(e,t),fill:Yr(e),stroke:Dr(e,t),"stroke-width":L.value.plot.strokeWidth},null,8,Gt)):_(``,!0)],4))),128))],8,Nt),e.showInfo&&I.value.show?(x(),v(`text`,{key:1,x:I.value.position===`left`?12+I.value.offsetX:Y.value.width+12+I.value.offsetX,y:q.value.height/2+I.value.fontSize/2.5+I.value.offsetY,"font-size":I.value.fontSize,"font-weight":I.value.bold?`bold`:`normal`,fill:I.value.color},Ue(A.value?w(ce)(I.value.formatter,A.value.absoluteValue,w(n)({p:I.value.prefix,v:A.value.absoluteValue,s:I.value.suffix,r:I.value.roundingValue}),{datapoint:A.value}):w(ce)(I.value.formatter,br.value,w(n)({p:I.value.prefix,v:br.value,s:I.value.suffix,r:I.value.roundingValue}))),9,Kt)):_(``,!0),Kn.value?(x(),v(`rect`,{key:2,x:Kn.value.x,y:Kn.value.y,width:Kn.value.width,height:Kn.value.height,fill:R.value.selection.fill,"fill-opacity":R.value.selection.fillOpacity,stroke:R.value.selection.stroke,"stroke-opacity":R.value.selection.strokeOpacity,"stroke-width":R.value.selection.strokeWidth,"stroke-dasharray":R.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,qt)):_(``,!0),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`rect`,{x:Z.value?e.barX:e.x-(Y.value.width/(fr.value+1)>q.value.padding?q.value.padding:Y.value.width/(fr.value+1))/2,y:Y.value.top-6,height:Y.value.height+6,width:Z.value?e.width:Y.value.width/(fr.value+1)>q.value.padding?q.value.padding:Y.value.width/(fr.value+1),fill:`transparent`,onMouseenter:()=>_r(e,t),onMouseleave:()=>vr(e,t),onClick:()=>xr(e,t)},null,40,Jt))),256)),Ve(t.$slots,`svg`,{svg:{...q.value,drawingArea:Y.value,timeLabels:pr.value,series:X.value,hoveredIndex:O.value,isZoomed:fn.value,zoomRange:dn.value}},void 0,!0)],46,Et)),fn.value&&R.value.resetButton.show?(x(),v(`button`,{key:0,type:`button`,class:`vue-ui-sparkline-reset-zoom`,title:R.value.resetButton.title,"aria-label":R.value.resetButton.ariaLabel,style:Re({cursor:M.value.useCursorPointer?`pointer`:`default`}),onPointerdown:Qn,onClick:$n},[(x(),v(`svg`,Xt,[y(`path`,{d:`M2 10a1 1 0 0 0 15 0c0-5-5-8-10-6l3-3M7 4l3 3`,stroke:R.value.resetButton.color,fill:`none`,"stroke-width":`2.5`,"stroke-linecap":`round`},null,8,Zt)]))],44,Yt)):_(``,!0),t.$slots.hint?(x(),v(`div`,Qt,[Ve(t.$slots,`hint`,Le(Fe({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Xr.value})),void 0,!0)])):_(``,!0)]),A.value&&N.value.show?(x(),je(w(Ye),{key:2,x:A.value.x,y:A.value.y,prevX:j.value.x,prevY:j.value.y,offsetY:L.value.plot.radius*3+N.value.offsetY,svgRef:w(V),background:N.value.backgroundColor,color:N.value.color,fontSize:N.value.fontSize,borderWidth:N.value.borderWidth,borderColor:N.value.borderColor,borderRadius:N.value.borderRadius,backgroundOpacity:N.value.backgroundOpacity},{default:Ke(()=>[Ve(t.$slots,`tooltip`,Le(Fe({...A.value})),()=>[Me(Ue(A.value.period)+`: `+Ue(w(ce)(I.value.formatter,A.value.absoluteValue,w(n)({p:I.value.prefix,v:A.value.absoluteValue,s:I.value.suffix,r:I.value.roundingValue}),{datapoint:A.value})),1)],!0)]),_:3},8,[`x`,`y`,`prevX`,`prevY`,`offsetY`,`svgRef`,`background`,`color`,`fontSize`,`borderWidth`,`borderColor`,`borderRadius`,`backgroundOpacity`])):_(``,!0),t.$slots.source?(x(),v(`div`,{key:3,ref_key:`source`,ref:it,dir:`auto`},[Ve(t.$slots,`source`,{},void 0,!0)],512)):_(``,!0),Ve(t.$slots,`skeleton`,{},()=>[w(z)?(x(),je(_e,{key:0})):_(``,!0)],!0)],12,Ct))}},[[`__scopeId`,`data-v-35de3664`]]);export{St as n,G as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,A as r,Et as i,G as a,I as o,Jt as s,K as c,L as l,N as u,Nt as d,P as f,R as p,S as ee,U as te,W as ne,X as re,Yt as ie,at as ae,d as oe,dt as se,i as ce,in as le,k as ue,lt as de,m as fe,qt as pe,t as me,yt as he,zt as m}from"./lib-rPeBMZrn.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-BH9r_0Vd.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DnGoh-XS.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./useTimeLabels-Das5O74F.js";import{c as we}from"./canvas-lib-22VpOI4_.js";import{t as Te}from"./useResponsive-CENUxfEL.js";import{t as Ee}from"./DefGrad-DKMq1REY.js";import{t as De}from"./A11yDataTable-DWNlWXzs.js";import{t as Oe}from"./useChartAccessibility-DOMuYJfm.js";import{t as ke}from"./usePrefersMotion-XLHwega2.js";import{t as Ae}from"./vue_ui_sparkline-CvL_e9L8.js";import{Fragment as h,computed as g,createBlock as je,createCommentVNode as _,createElementBlock as v,createElementVNode as y,createTextVNode as Me,createVNode as Ne,defineAsyncComponent as Pe,guardReactiveProps as Fe,nextTick as b,normalizeClass as Ie,normalizeProps as Le,normalizeStyle as Re,onBeforeUnmount as ze,onMounted as Be,openBlock as x,ref as S,renderList as C,renderSlot as Ve,shallowRef as He,toDisplayString as Ue,toRefs as We,unref as w,watch as T,watchEffect as Ge,withCtx as Ke}from"vue";var qe={key:0,style:{"pointer-events":`none`}},Je=[`r`,`fill`,`filter`],Ye=[`begin`,`dur`,`repeatCount`,`fill`,`calcMode`,`keySplines`,`keyTimes`,`keyPoints`],Xe=[`href`],Ze=[`dur`,`repeatCount`,`fill`,`values`],Qe=[`r`,`fill`],$e=[`begin`,`dur`,`repeatCount`,`calcMode`,`keySplines`,`keyTimes`,`keyPoints`],E=[`href`],et=[`dur`,`repeatCount`],tt={__name:`SparklinePulse`,props:{uid:{type:String,required:!0},svgRef:{type:Object,default:null},pulsePathId:{type:String,required:!0},pulsePathLength:{type:Number,required:!0},pulseDur:{type:String,required:!0},pulseBegin:{type:String,required:!0},pulseRepeatCount:{type:String,required:!0},pulseFillMode:{type:String,default:void 0},pulseKeyPoints:{type:String,required:!0},pulseMotion:{type:Object,required:!0},pulse:{type:Object,required:!0},pulseTrail:{type:Object,required:!0},pulseTrailLength:{type:Number,required:!0},prefersReducedMotion:{type:Boolean,required:!0},loading:{type:Boolean,required:!0},isBar:{type:Boolean,required:!0}},setup(e){let t=e,n=g(()=>Math.min(t.pulseTrailLength,45)),r=g(()=>!!t.pulse?.show&&!t.isBar&&!t.prefersReducedMotion&&!t.loading&&Number(t.pulsePathLength)>0);function i(){let e=t.svgRef?.value;e&&(typeof e.pauseAnimations==`function`&&e.pauseAnimations(),typeof e.setCurrentTime==`function`&&e.setCurrentTime(0),typeof e.unpauseAnimations==`function`&&e.unpauseAnimations())}function a(e,t){if(typeof e!=`string`)return e;let n=e.trim().match(/^([\d.]+)\s*(ms|s)$/);if(!n)return e;let r=Number(n[1]),i=n[2];return Number.isNaN(r)?e:`${r+t}${i}`}function o(e){return(n.value-e)/n.value*t.pulse.radius}function s(e){let r=t.pulse.trail.opacity,i=(n.value-e)/n.value,a=e===0?1:i*r;return`0;${a};${a};0`}return T(()=>t.loading,async e=>{e||await b(),i()}),T(()=>t.pulsePathId,async()=>{await b(),i()}),ze(()=>{i()}),(t,i)=>r.value?(x(),v(`g`,qe,[(x(!0),v(h,null,C(n.value,(t,n)=>(x(),v(h,null,[n%3==0?(x(),v(`circle`,{key:`sparkline_dot_${n}_${e.pulsePathId}`,r:o(n),fill:e.pulse.color,filter:`url(#sparkline_pulse_glow_${e.uid})`,opacity:`0`},[y(`animateMotion`,{begin:a(e.pulseBegin,n*10),dur:e.pulseDur,repeatCount:e.pulseRepeatCount,fill:e.pulseFillMode,calcMode:e.pulseMotion.calcMode,keySplines:e.pulseMotion.keySplines||void 0,keyTimes:e.pulseMotion.keyTimes||void 0,keyPoints:e.pulseKeyPoints,rotate:`auto`},[y(`mpath`,{href:`#${e.pulsePathId}`},null,8,Xe)],8,Ye),y(`animate`,{attributeName:`opacity`,dur:e.pulseDur,repeatCount:e.pulseRepeatCount,fill:e.pulseFillMode,values:s(n),keyTimes:`0;0.1;0.9;1`},null,8,Ze)],8,Je)):_(``,!0)],64))),256)),(x(),v(`circle`,{key:`sparkline_halo_${e.pulsePathId}`,r:Math.max(e.pulse.radius*1.3),fill:e.pulse.color,opacity:`0`},[y(`animateMotion`,{begin:e.pulseBegin,dur:e.pulseDur,repeatCount:e.pulseRepeatCount,calcMode:e.pulseMotion.calcMode,keySplines:e.pulseMotion.keySplines||void 0,keyTimes:e.pulseMotion.keyTimes||void 0,keyPoints:e.pulseKeyPoints,rotate:`auto`},[y(`mpath`,{href:`#${e.pulsePathId}`},null,8,E)],8,$e),y(`animate`,{attributeName:`opacity`,values:`0;0.35;0.35;0`,keyTimes:`0;0.15;0.85;1`,dur:e.pulseDur,repeatCount:e.pulseRepeatCount},null,8,et)],8,Qe))])):_(``,!0)}},D={canvas:null,ctx:null};function nt(){if(typeof document>`u`)throw Error(`color-utils: document is not available (browser-only).`);if(!D.canvas){let e=document.createElement(`canvas`);e.width=1,e.height=1;let t=e.getContext(`2d`,{willReadFrequently:!0});if(!t)throw Error(`color-utils: unable to get 2D canvas context.`);D.canvas=e,D.ctx=t}return D.ctx}function rt(e){return e<0?0:e>255?255:Math.round(e)}function it(e){return e<0?0:e>1?1:e}function O(e,t=null){if(typeof e!=`string`||e.trim().length===0)throw Error(`colorToRgba: inputColor must be a non-empty string.`);let n=e.trim();if(n.toLowerCase()===`transparent`)return{red:0,green:0,blue:0,alpha:0};let r=A(n,t),i=nt();i.clearRect(0,0,1,1),i.fillStyle=`#000`;let a=i.fillStyle;if(i.fillStyle=r,i.fillStyle===a&&!j(r))throw Error(`colorToRgba: unsupported or invalid color "${e}".`);i.fillRect(0,0,1,1);let o=i.getImageData(0,0,1,1).data;return{red:o[0],green:o[1],blue:o[2],alpha:o[3]/255}}function k(e,t=null){if(!Array.isArray(e)||e.length===0)throw Error(`colorsToRgba: colors must be a non-empty array.`);let n=Array(e.length);for(let r=0;r<e.length;r+=1)n[r]=O(e[r],t);return n}function A(e,t=null){return e!==`currentColor`||typeof window>`u`||!t?e:window.getComputedStyle(t).color||e}function j(e){let t=e.trim().toLowerCase();return t===`black`||t===`#000`||t===`#000000`||t===`rgb(0, 0, 0)`||t===`rgba(0, 0, 0, 1)`||t===`rgba(0, 0, 0, 0)`}function M(e){let t=it(e/255);return t<=.04045?t/12.92:((t+.055)/1.055)**2.4}function N(e){let t=it(e),n;return n=t<=.0031308?t*12.92:1.055*t**(1/2.4)-.055,rt(n*255)}function at(e,t,n,r){let i=it(n);if(r===`linearRGB`){let n=M(e.red),r=M(e.green),a=M(e.blue),o=M(t.red),s=M(t.green),c=M(t.blue),l=n+(o-n)*i,u=r+(s-r)*i,d=a+(c-a)*i;return{red:N(l),green:N(u),blue:N(d),alpha:e.alpha+(t.alpha-e.alpha)*i}}return{red:e.red+(t.red-e.red)*i,green:e.green+(t.green-e.green)*i,blue:e.blue+(t.blue-e.blue)*i,alpha:e.alpha+(t.alpha-e.alpha)*i}}function P(e,t,n){let r=e;return r<t&&(r=t),r>n&&(r=n),r}function F(e,t){let n=10**t;return Math.round(e*n)/n}function I(e){return Number.isFinite(e)?e.toString():`0`}function L(e){let t=P(e,0,255).toString(16);return t.length===1?`0`+t:t}function R(e){if(typeof e!=`string`)return;let t=Number.parseFloat(e);return Number.isFinite(t)?t:void 0}function ot(e,t,n,r=!0){let i=n-t;if(i===0)return 0;let a=(e-t)/i;return r?P(a,0,1):a}var st=`http://www.w3.org/2000/svg`;function z(e){if(typeof document>`u`)throw Error(`SvgPathGradientAsync: document is not available (browser-only implementation).`);let t=document.createElementNS(st,`svg`);t.setAttribute(`width`,`0`),t.setAttribute(`height`,`0`),t.setAttribute(`viewBox`,`0 0 0 0`),t.style.position=`absolute`,t.style.left=`-10000px`,t.style.top=`-10000px`,t.style.visibility=`hidden`,t.style.pointerEvents=`none`;let n=document.createElementNS(st,`path`);return e===`M `&&(e=`M 0,0`),n.setAttribute(`d`,e),t.appendChild(n),document.body.appendChild(t),{svgElement:t,pathElement:n}}function B(e){if(e)try{e.svgElement?.remove?.()}catch{}}function ct(e,t,n){if(typeof n==`number`&&n>0)return n;let r=t*.75;r<.5&&(r=.5),r>8&&(r=8);let i=e/2;return r>i&&i>0&&(r=i),r<=0&&(r=1),r}function V(e,t,n){if(typeof t==`number`&&t>=1)return Math.floor(t);let r=Math.ceil(e/(typeof n==`number`&&n>0?n:2));return r<1?1:r}function lt(e,t,n,r,i,a){let o=n-t,s=Math.ceil(o/r)+1;s<2&&(s=2),s>a&&(s=a);let c=s>1?o/(s-1):0,l=e.getPointAtLength(t),u=`M ${I(F(l.x,i))} ${I(F(l.y,i))}`;for(let n=1;n<s;n+=1){let r=t+n*c,a=e.getPointAtLength(r);u+=` L ${I(F(a.x,i))} ${I(F(a.y,i))}`}return u}function H(e,t,n,r,i,a){let o=n-t,s=Math.ceil(o/r)+1;s<2&&(s=2),s>a&&(s=a);let c=s>1?o/(s-1):0,l=e.getPointAtLength(t),u=l.x,d=l.x,f=l.y,p=l.y,ee=`M ${I(F(l.x,i))} ${I(F(l.y,i))}`;for(let n=1;n<s;n+=1){let r=t+n*c,a=e.getPointAtLength(r);a.x<u&&(u=a.x),a.x>d&&(d=a.x),a.y<f&&(f=a.y),a.y>p&&(p=a.y),ee+=` L ${I(F(a.x,i))} ${I(F(a.y,i))}`}return{pathData:ee,bounds:{minX:u,maxX:d,minY:f,maxY:p}}}function ut(e){if(e.length===1)return[{position:0,rgba:e[0]}];let t=Array(e.length),n=e.length-1;for(let r=0;r<e.length;r+=1)t[r]={position:r/n,rgba:e[r]};return t}function dt(e,t,n,r){let i=P(t,0,1),a=r;for(a<0&&(a=0),a>e.length-2&&(a=e.length-2);a>0&&i<e[a].position;)--a;for(;a<e.length-2&&i>e[a+1].position;)a+=1;let o=e[a],s=e[a+1],c=s.position-o.position,l=c>0?(i-o.position)/c:0;return ht(ft(o.rgba,s.rgba,l,n))}function ft(e,t,n,r){let i=P(n,0,1);if(r===`linearRGB`){let n=pt(e.red),r=pt(e.green),a=pt(e.blue),o=pt(t.red),s=pt(t.green),c=pt(t.blue),l=n+(o-n)*i,u=r+(s-r)*i,d=a+(c-a)*i;return{red:mt(l),green:mt(u),blue:mt(d),alpha:e.alpha+(t.alpha-e.alpha)*i}}return{red:e.red+(t.red-e.red)*i,green:e.green+(t.green-e.green)*i,blue:e.blue+(t.blue-e.blue)*i,alpha:e.alpha+(t.alpha-e.alpha)*i}}function pt(e){let t=P(e/255,0,1);return t<=.04045?t/12.92:((t+.055)/1.055)**2.4}function mt(e){let t=P(e,0,1),n;return n=t<=.0031308?t*12.92:1.055*t**(1/2.4)-.055,P(Math.round(n*255),0,255)}function ht(e){let t=P(e.alpha,0,1),n=P(Math.round(e.red),0,255),r=P(Math.round(e.green),0,255),i=P(Math.round(e.blue),0,255);return t>=1?`#${L(n)}${L(r)}${L(i)}`:`rgba(${n}, ${r}, ${i}, ${F(t,4).toString()})`}function gt(e){let t=`fill="${U(e.fill??`none`)}"`,n=Object.keys(e);for(let r=0;r<n.length;r+=1){let i=n[r];if(i===`stroke`||i===`d`)continue;let a=e[i];t+=` ${i}="${U(a)}"`}return t}function _t(e,t,n){return`<path d="${U(e)}" stroke="${U(t)}" ${n} />`}function vt(e){let t=[],n=e.segmentAttributeMap.fill??`none`;t.push(`fill="${U(n)}"`),t.push(`stroke="${U(e.stroke)}"`);for(let n of Object.keys(e.segmentAttributeMap)){if(n===`stroke`||n===`d`)continue;let r=e.segmentAttributeMap[n];t.push(`${n}="${U(r)}"`)}return`<path d="${U(e.pathData)}" ${t.join(` `)} />`}function yt(e,t){let n=[];for(let e of Object.keys(t))n.push(`${e}="${U(t[e])}"`);return`<g data-svg-path-gradient="true"${n.length?` `+n.join(` `):``}>${e.join(``)}</g>`}function U(e){return String(e).replaceAll(`&`,`&`).replaceAll(`"`,`"`).replaceAll(`<`,`<`).replaceAll(`>`,`>`)}function bt(e,t=null,n={}){return new Promise((r,i)=>{let a=null;try{if(!e||typeof e!=`string`)throw Error(`SvgPathGradientAsync: pathData must be a non-empty string.`);let i=n.temperatureMode??null;if(i===null&&(!Array.isArray(t)||t.length===0))throw Error(`SvgPathGradientAsync: colors must be a non-empty array when temperatureMode is not enabled.`);if((n.returnMode??`string`)!==`string`)throw Error(`SvgPathGradientAsync: only returnMode="string" is supported for the async version.`);let o=typeof n.decimalPlaces==`number`?n.decimalPlaces:3,s=typeof n.flattenTolerance==`number`&&n.flattenTolerance>0?n.flattenTolerance:.25,c=n.attrs?{...n.attrs}:{},l=n.groupAttrs?{...n.groupAttrs}:{},u=R(c[`stroke-width`]),d=typeof n.strokeWidth==`number`&&n.strokeWidth>0?n.strokeWidth:typeof u==`number`&&u>0?u:1;a=z(e);let f=a.pathElement,p=f.getTotalLength(),ee=i===null?k(t,n.colorReferenceElement):[];if(i===null&&(!(p>0)||ee.length===1)){let t=yt([vt({pathData:e,stroke:ht(ee[0]),segmentAttributeMap:c})],l);B(a),r(t);return}let te=n.colorSpace??`linearRGB`;if(i!==null){let e=n.temperatureColors;if(!Array.isArray(e)||e.length!==2)throw Error(`SvgPathGradientAsync: temperatureColors must be a tuple of exactly 2 colors when temperatureMode is enabled.`)}let ne=i===null?null:k(n.temperatureColors,n.colorReferenceElement),re=i===null?(()=>{let e=ut(ee),t=Array(e.length);for(let n=0;n<e.length;n+=1)t[n]={position:e[n].position,rgba:e[n].rgba};return t})():[],ie=ct(p,d,n.maxSegmentLength),ae=V(p,n.segments,ie),oe=p/ae,se=typeof n.overlap==`number`&&n.overlap>=0?n.overlap:d*.5,ce=oe*.45;se>ce&&(se=ce);let le=typeof n.samplePointLimitPerSegment==`number`&&n.samplePointLimitPerSegment>10?n.samplePointLimitPerSegment:250,ue=gt(c),de=[],fe=i===null?null:[],pe=i===null?null:[],me=0,he=i===null?re.length-2:0,m=0,ge=()=>{let e=performance.now(),t=typeof n.frameBudgetMs==`number`?n.frameBudgetMs:8;for(;m<ae&&performance.now()-e<t;){let e=m*oe,t=(m+1)*oe,n=e,r=t;if(m!==0&&(n=e-se),m!==ae-1&&(r=t+se),n=P(n,0,p),r=P(r,0,p),r>n){if(i!==null){let e=H(f,n,r,s,o,le);fe.push(e.pathData),pe.push(e.bounds)}else{let e=(n+r)*.5/p;for(;me<he&&e>re[me+1].position;)me+=1;let t=dt(re,e,te,me),i=lt(f,n,r,s,o,le);de.push(_t(i,t,ue))}}m+=1}if(m<ae){requestAnimationFrame(ge);return}if(i!==null){let e=1/0,t=-1/0;for(let n=0;n<pe.length;n+=1){let r=pe[n],a=i===`vertical`?r.minY:r.minX,o=i===`vertical`?r.maxY:r.maxX;a<e&&(e=a),o>t&&(t=o)}let n=ne[0],r=ne[1];de.length=0;for(let a=0;a<pe.length;a+=1){let o=pe[a],s=ot(((i===`vertical`?o.minY:o.minX)+(i===`vertical`?o.maxY:o.maxX))*.5,e,t,!0),c=ht(i===`vertical`?at(n,r,s,te):at(r,n,s,te)),l=fe[a];de.push(_t(l,c,ue))}}let c=yt(de,l);B(a),r(c)};requestAnimationFrame(ge)}catch(e){B(a),i(e)}})}var W=[`innerHTML`],xt={__name:`SparklineGradientPath`,props:{svgPathData:{type:String,required:!0},enabled:{type:Boolean,required:!0},strokeWidth:{type:Number,required:!0},highColor:{type:String,required:!0},lowColor:{type:String,required:!0},segments:{type:Number,required:!0}},setup(e){let t=e,n=S(``),r=0;return T(()=>[t.enabled,t.svgPathData,t.strokeWidth,t.highColor,t.lowColor,t.segments],async([e])=>{let i=++r;if(!e){n.value=``;return}let a=await bt(t.svgPathData,null,{segments:t.segments,temperatureMode:`vertical`,temperatureColors:[t.highColor,t.lowColor],attrs:{"stroke-width":t.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},groupAttrs:{class:`vue-ui-sparkline-gradient`}});i===r&&(n.value=a)},{immediate:!0}),(e,t)=>(x(),v(`g`,{innerHTML:n.value},null,8,W))}},St=/* @__PURE__ */ e({default:()=>G}),Ct=[`id`],wt=[`id`],Tt={style:{position:`relative`}},Et=[`xmlns`,`viewBox`,`aria-describedby`],Dt=[`width`,`height`],Ot=[`id`],kt=[`id`,`y1`,`y2`],At=[`stop-color`,`offset`],jt=[`id`],Mt=[`x`,`y`,`width`,`height`],Nt=[`clip-path`],Pt={key:0},Ft=[`data-cy`,`d`,`fill`],It=[`id`,`d`,`stroke-width`],Lt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Rt=[`d`,`stroke`,`stroke-width`],zt=[`id`,`d`,`stroke-width`],Bt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],Vt=[`d`,`stroke`,`stroke-width`],Ht=[`x`,`y`,`width`,`height`,`fill`,`rx`],Ut=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-dasharray`,`stroke-width`],Wt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],Gt=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Kt=[`x`,`y`,`font-size`,`font-weight`,`fill`],qt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],Jt=[`x`,`y`,`height`,`width`,`onMouseenter`,`onMouseleave`,`onClick`],Yt=[`title`,`aria-label`],Xt={viewBox:`0 0 24 24`,width:`13`,height:`13`,"aria-hidden":`true`,focusable:`false`},Zt=[`stroke`],Qt={key:1,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},$t=280,G=/*#__PURE__*/ be({__name:`vue-ui-sparkline`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},showInfo:{type:Boolean,default:!0},selectedIndex:{type:Number,default:void 0},heightRatio:{type:Number,default:1},forcedPadding:{type:Number,default:30},zoomState:{type:Object,default:null}},emits:[`hoverIndex`,`selectDatapoint`,`zoom`,`zoomReset`,`update:zoomState`],setup(e,{expose:be,emit:qe}){let Je=Pe(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),Ye=Pe(()=>import(`./SparkTooltip-Ch06CV71.js`)),{vue_ui_sparkline:Xe}=t(),{isThemeValid:Ze,warnInvalidTheme:Qe}=Se(),$e=ke(),E=e,et=g(()=>Array.isArray(E.dataset)&&E.dataset.length>0),D=S(re()),nt=S(null),rt=S(null),it=S(null),O=S(null),k=S(null),A=S(void 0),j=S(void 0),M=S(lt()),N=g(()=>M.value.style.tooltip),at=g(()=>M.value.style.bar),P=g(()=>M.value.style.line),F=g(()=>M.value.style.area),I=g(()=>M.value.style.dataLabel),L=g(()=>M.value.style),R=g(()=>M.value.style.zoom);ve({config:()=>M.value,dataset:()=>E.dataset,component:`VueUiSparkline`,rules:[ye.emptyArray,{test:e=>e.length>500,message:[`👀 The dataset has > 500 datapoints. Consider if you really need this level of detail.`,``,`▶️ Use larger time scales, or aggregated values`]},{test:e=>e.length>1095,message:[`👀 The dataset has > 1095 datapoints. Above this threshold, the dataset is computed through an LTTB algorithm, to preserve the shape of the data without increasing the number of datapoints.`,``,`▶️ If you need this level of detail, you can change config.downsample.threshold and set a higher value. Note that performance will be impacted.`]}]});function ot(e){return E.config?.skeletonDataset&&Array.isArray(E.config.skeletonDataset)?E.config.skeletonDataset.map(e=>({period:`-`,value:e})):de(e).map(e=>({period:`-`,value:e}))}let st=g(()=>le({defaultConfig:{gradientPath:{show:!1},temperatureColors:{show:!1},style:{backgroundColor:`#99999930`,scaleMin:0,scaleMax:null,animation:{show:!1},line:{color:`#AAAAAA`,pulse:{show:!1},dashIndices:[]},bar:{color:`#AAAAAA`},area:{color:`#CACACA`},zeroLine:{color:`#6A6A6A`},dataLabel:{show:!1},tooltip:{show:!1}}},userConfig:M.value.skeletonConfig??{}})),{loading:z,FINAL_DATASET:B,manualLoading:ct}=ge({...We(E),FINAL_CONFIG:M,prepareConfig:lt,callback:()=>{Promise.resolve().then(async()=>{await b(),En()})},skeletonDataset:ot(12),skeletonConfig:le({defaultConfig:M.value,userConfig:st.value})}),{svgRef:V}=Oe({config:L.value.title});function lt(){let e=xe({userConfig:E.config,defaultConfig:Xe}),t={},n=e.theme;if(n){if(!Ze.value(e))Qe(e),t=e;else{let r=xe({userConfig:Ae[n]||E.config,defaultConfig:e});t={...xe({userConfig:E.config,defaultConfig:r})}}}else t=e;return t}let H=g(()=>M.value?.style?.line.pulse||{}),ut=g(()=>`${Math.max(200,Number(H.value.durationMs)||4e3)/1e3}s`),dt=S(0),ft=g(()=>H.value?.begin||`0ms`),pt=S(`0;1`),mt=g(()=>H.value?.loop===!1?`1`:`indefinite`),ht=g(()=>H.value?.loop===!1?`freeze`:void 0),gt=g(()=>H.value.trail.show&&U.value.lengthPx||1),_t=g(()=>!!H.value?.show&&!Z.value&&!$e.value&&!z.value&&(X.value?.length||0)>1);function vt(){if(!_t.value){dt.value=0;return}let e=V.value;if(!e)return;let t=`#${On.value}`,n=e.querySelector?.(t);if(n&&typeof n.getTotalLength==`function`){let e=n.getTotalLength();Number.isFinite(e)&&e>0&&(dt.value=e)}else requestAnimationFrame(()=>{let n=e.querySelector?.(t);if(n&&typeof n.getTotalLength==`function`){let e=n.getTotalLength();Number.isFinite(e)&&e>0&&(dt.value=e)}})}let yt=g(()=>{let e=H.value?.easing||`ease-in-out`,t={ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]};return e===`linear`?{calcMode:`linear`,keySplines:null,keyTimes:`0;1`}:e===`steps`?{calcMode:`discrete`,keySplines:null,keyTimes:`0;1`}:{calcMode:`spline`,keySplines:(e===`cubic-bezier`?Array.isArray(H.value?.cubicBezier)&&H.value.cubicBezier.length===4?H.value.cubicBezier:[.4,0,.2,1]:t[e]||t[`ease-in-out`]).join(` `),keyTimes:`0;1`}}),U=g(()=>{let e=H.value?.trail||{},t=P.value.strokeWidth||1;return{show:e.show!==!1,lengthPx:e.length,width:Math.max(1,Number(e.strokeWidth)||t*2.2),opacity:Math.min(1,Math.max(0,Number(e.opacity)??.6)),fadeIn:.5,fadeOut:.2}}),bt=S({start:0,end:null}),W=S(!1),St=S(!1),G=S(!1),en=S(`matrix(1, 0, 0, 1, 0, 0)`),tn=S(!1),nn=0,rn=0,an=0,on=0,sn=S(null),cn=S(null),ln=S(!1),un=S({time:0,x:0,y:0,pointerType:null}),dn=g(()=>{let e=B.value.length;if(!e)return{start:0,end:-1};let t=Math.min(Math.max(0,bt.value.start||0),e-1);return{start:t,end:Math.min(Math.max(t,bt.value.end==null?e-1:bt.value.end),e-1)}}),fn=g(()=>{let e=B.value.length;return e?dn.value.start>0||dn.value.end<e-1:!1}),pn=g(()=>{let{start:e,end:t}=dn.value;return t<e?[]:B.value.slice(e,t+1).map((t,n)=>({...t,__sourceIndex:e+n}))}),mn=g(()=>d({data:pn.value,threshold:M.value.downsample.threshold}));g(()=>{if(!M.value.temperatureColors.show)return!1;let e=pn.value.map(({value:e})=>e).filter(e=>Number.isFinite(e));return new Set(e).size<=1}),T(()=>E.config,e=>{z.value||(M.value=lt()),Mn(),q.value.chartWidth=L.value.chartWidth},{deep:!0}),T(()=>E.dataset,e=>{Array.isArray(e)&&e.length>0&&(ct.value=!1),Xn(),Wn(),un.value={time:0,x:0,y:0,pointerType:null},bt.value={start:0,end:null},Yn(),K.value=d({data:pn.value.map(e=>({...e,value:[void 0].includes(e.value)?null:e.value})),threshold:M.value.downsample.threshold});let t=Nn();J(`update:zoomState`,t),J(`zoomReset`,t)},{deep:!0});let K=S(hn());function hn(){return d({data:pn.value.map(e=>L.value.animation.show&&B.value.length>1?{...e,value:null}:{...e,value:[void 0].includes(e.value)?null:e.value}),threshold:M.value.downsample.threshold})}let gn=He(null),_n=He(null),vn=S(!1),yn=S(0),bn=S([]),xn=S(``),Sn=!1,Cn=g(()=>{let e=(mn.value||[]).map(e=>`${e.period}::${Number.isFinite(e.value)?e.value:0}`).join(`|`),t=M.value?.style?.animation||{},n=!!M.value?.gradientPath?.show&&!M.value.temperatureColors.show;return`${e}#${!!t.show}#${t.animationFrames||0}#${n}`});function wn(){Sn=!0,Tn()}function Tn(){yn.value&&=(cancelAnimationFrame(yn.value),0),bn.value.forEach(e=>clearTimeout(e)),bn.value=[],vn.value=!1}function En(){let e=M.value?.style?.animation||{},t=mn.value||[],n=Cn.value,r=!!M.value.gradientPath.show&&!M.value.temperatureColors.show;if(n&&n===xn.value&&(vn.value||K.value.length===t.length))return;if(Tn(),r||!e.show||z.value||t.length<=1||$e.value){K.value=t,xn.value=n;return}vn.value=!0,xn.value=n,K.value=[];let i=Math.max(1,Number(e.animationFrames)||1),a=Math.max(1,Math.floor(i/t.length)),o=0,s=()=>{if(n!==Cn.value)Tn();else if(o<t.length){K.value.push(t[o]);let e=setTimeout(()=>{yn.value=requestAnimationFrame(s)},a);bn.value.push(e),o+=1}else K.value=t,Tn()};yn.value=requestAnimationFrame(s)}T(Cn,()=>{Sn?(Sn=!1,Tn(),K.value=mn.value||[],xn.value=Cn.value):En()}),Be(()=>{Mn(),En()}),ze(()=>{Tn(),Wn()});let Dn=S(0);T(()=>z.value,async e=>{e||(await b(),Dn.value+=1)}),T(()=>vn.value,async e=>{e||z.value||(await b(),Dn.value+=1)});let On=g(()=>`sparkline_line_path_${D.value}`),kn=S(!0);async function An(){kn.value=!1,await b(),kn.value=!0,await b(),vt()}let jn=g(()=>M.value.debug);function Mn(){if(m(E.dataset)?(ae({componentName:`VueUiSparkline`,type:`dataset`,debug:jn.value}),ct.value=!0):jn.value&&E.dataset.forEach((e,t)=>{he({datasetObject:e,requiredAttributes:[`period`,`value`]}).forEach(e=>{ae({componentName:`VueUiSparkline`,type:`datasetSerieAttribute`,property:e,index:t})})}),m(E.dataset)||(ct.value=M.value.loading),M.value.responsive){let e=we(()=>{let{width:e,height:t}=Te({chart:nt.value,title:L.value.title.show&&E.showInfo?rt.value:null,source:it.value});requestAnimationFrame(()=>{q.value.width=e,q.value.height=t,q.value.chartWidth=L.value.chartWidth/500*e,q.value.padding=E.forcedPadding/500*e})});gn.value&&(_n.value&&gn.value.unobserve(_n.value),gn.value.disconnect()),gn.value=new ResizeObserver(e),_n.value=nt.value.parentNode,gn.value.observe(_n.value)}}ze(()=>{gn.value&&(_n.value&&gn.value.unobserve(_n.value),gn.value.disconnect())});let q=S({height:80*E.heightRatio,width:500,chartWidth:L.value.chartWidth,padding:E.forcedPadding}),J=qe;function Nn(){if(!B.value.length)return{start:0,end:0};let{start:e,end:t}=dn.value;return{start:e,end:t+1}}function Pn(e,t=Nn()){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function Fn(e){let t=Pn(e);if(!t)return null;let n=B.value.length;if(!n)return{start:0,end:0};let r=Math.max(0,Math.min(Math.trunc(t.start),n-1));return{start:r,end:Math.max(r+1,Math.min(Math.trunc(t.end),n))}}function In(e,{skipAnimation:t=!0,transition:n=!1}={}){let r=Fn(e);if(!r)return null;let i=Nn();if(r.start!==i.start||r.end!==i.end){Xn(),un.value={time:0,x:0,y:0,pointerType:null};let e={start:r.start,end:r.end>r.start?r.end-1:r.start};n?Gn(e):(t&&wn(),bt.value=e),Yn()}return Nn()}function Ln(e){let t=In(e,{transition:!0});t&&J(`update:zoomState`,t)}T([()=>E.zoomState,()=>B.value.length],([e,t])=>{!e||t<=0||In(e,{transition:!0})},{deep:!0,immediate:!0});let Y=g(()=>{let{top:e,right:t,bottom:n,left:r}=L.value.padding;return{top:e,left:r,right:q.value.width-t,bottom:q.value.height-n,start:E.showInfo&&I.value.show&&I.value.position===`left`?q.value.width-q.value.chartWidth+r:q.value.padding+r,width:E.showInfo&&I.value.show?q.value.chartWidth-r-t:q.value.width-q.value.padding-r-t,height:q.value.height-e-n}});function Rn(e){let t=B.value.length;if(!t)return{start:0,end:-1};let n=Math.max(0,Math.min(Math.trunc(Number(e?.start)||0),t-1)),r=e?.end===null||e?.end===void 0?t-1:Math.trunc(Number(e.end));return{start:n,end:Math.max(n,Math.min(Number.isFinite(r)?r:n,t-1))}}function zn(e){let t=(e||[]).map(e=>{let t=e?.value;return isNaN(t)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(t)?0:t||0}),n=L.value.scaleMin,r=L.value.scaleMax,i=[null,void 0].includes(n)?t.length?Math.min(...t):0:n,a=[null,void 0].includes(r)?t.length?Math.max(...t):0:r,o=Math.abs(i>=0?0:i),s=a+o;return{absoluteMin:Number.isFinite(o)?o:0,absoluteMax:Number.isFinite(s)?s:0}}function Bn(e,t){let n=t.absoluteMax===0?0:(e+t.absoluteMin)/t.absoluteMax;return Y.value.bottom-Y.value.height*n}function Vn(e,t,n,r){let i=Math.max(1,e.end-e.start),a=Math.max(1,t.end-t.start),o=Y.value.start,s=Y.value.width,c=i/a,l=o+s*(e.start-t.start)/a-c*o,u=Bn(0,n),d=Bn(0,r),f=1;n.absoluteMax>0&&r.absoluteMax>0&&(f=n.absoluteMax/r.absoluteMax);let p=d-f*u;return`matrix(${c}, 0, 0, ${f}, ${l}, ${p})`}function Hn(e){if(!G.value||!e)return;let t=en.value.match(/^matrix\(([-+\d.eE]+),\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*([-+\d.eE]+),\s*([-+\d.eE]+),\s*([-+\d.eE]+)\)$/);if(!t)return;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=Number(t[4]);if([n,r,i,a].every(Number.isFinite))return{transform:`matrix(1, 0, 0, 1, ${(n-1)*e.x+i}, ${(r-1)*e.y+a})`,transformOrigin:`0 0`,transformBox:`view-box`,transition:tn.value?`transform ${$t}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:`transform`}}function Un(e){if(!G.value||!e)return;let t=en.value.match(/^matrix\(([-+\d.eE]+),\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*[-+\d.eE]+,\s*([-+\d.eE]+),\s*[-+\d.eE]+\)$/);if(!t)return;let n=Number(t[1]),r=Number(t[2]);if([n,r].every(Number.isFinite))return{transform:`matrix(1, 0, 0, 1, ${(n-1)*e.x+r}, 0)`,transformOrigin:`0 0`,transformBox:`view-box`,transition:tn.value?`transform ${$t}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:`transform`}}function Wn({resetTransform:e=!0}={}){on+=1,nn&&=(cancelAnimationFrame(nn),0),rn&&=(cancelAnimationFrame(rn),0),an&&=(clearTimeout(an),0),tn.value=!1,G.value=!1,e&&(en.value=`matrix(1, 0, 0, 1, 0, 0)`)}async function Gn(e){let t=Rn(e),n={...dn.value};if(t.start===n.start&&t.end===n.end)return;Wn();let r=vn.value;r&&(Tn(),K.value=mn.value||[]);let i=zn(K.value);wn(),bt.value={start:t.start,end:t.end};let a=mn.value||[];if(r||!V.value||z.value||$e.value||n.end<n.start||t.end<t.start||a.length<=1){K.value=a,xn.value=Cn.value,en.value=`matrix(1, 0, 0, 1, 0, 0)`;return}let o=Vn(t,n,zn(a),i),s=++on;G.value=!0,tn.value=!1,en.value=o,K.value=a,xn.value=Cn.value,await b(),s===on&&(nn=requestAnimationFrame(()=>{nn=0,rn=requestAnimationFrame(()=>{rn=0,s===on&&(tn.value=!0,en.value=`matrix(1, 0, 0, 1, 0, 0)`,an=setTimeout(async()=>{an=0,s===on&&(tn.value=!1,G.value=!1,await An())},$t))})}))}let Kn=g(()=>!W.value||sn.value==null||cn.value==null?null:{x:Math.min(sn.value,cn.value),width:Math.abs(cn.value-sn.value),y:0,height:q.value.height});function qn(e){let t=V.value;if(!t)return null;let n=t.getScreenCTM?.();if(n&&typeof t.createSVGPoint==`function`){let r=t.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r.matrixTransform(n.inverse()).x}let r=t.getBoundingClientRect?.();return r?.width?(e.clientX-r.left)/r.width*q.value.width:null}function Jn(e){return Math.min(Math.max(e,Y.value.start),Y.value.start+Y.value.width)}function Yn(){j.value=A.value,A.value=void 0,k.value=null,O.value=null,J(`hoverIndex`,{index:void 0})}function Xn(e){e?.pointerId!=null&&V.value?.hasPointerCapture?.(e.pointerId)&&V.value.releasePointerCapture(e.pointerId),W.value=!1,sn.value=null,cn.value=null}function Zn(e){(fn.value||W.value)&&(Xn(e),un.value={time:0,x:0,y:0,pointerType:null},Gn({start:0,end:Math.max(0,B.value.length-1)}),Yn(),J(`update:zoomState`,Nn()),J(`zoomReset`))}function Qn(e){(e.button===void 0||e.button===0)&&(e.preventDefault(),e.stopPropagation(),Zn())}function $n(e){e.detail===0&&Zn()}function er(e){if(!R.value.show)return;if(!fn.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=un.value,i=n===`touch`?450:350,a=n===`touch`?28:10,o=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=i&&o<=a?(ln.value=!0,Zn(e),setTimeout(()=>{ln.value=!1},0),!0):(un.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function tr(e=V.value){St.value=!0,e?.classList?.add(`vue-ui-sparkline-pointer-focus`)}function nr(){St.value=!1,V.value?.classList?.remove(`vue-ui-sparkline-pointer-focus`)}function rr(e){if(e.button!==void 0&&e.button!==0||(tr(e.currentTarget),!R.value.show)||z.value||pn.value.length<2)return;let t=qn(e);if(t==null)return;let n=Y.value.start,r=n+Y.value.width;t<n||t>r||(V.value?.focus?.({preventScroll:!0}),W.value=!0,sn.value=Jn(t),cn.value=Jn(t))}function ir(e){if(!R.value.show||!W.value)return;let t=qn(e);t!=null&&(cn.value=Jn(t),sn.value!=null&&Math.abs(cn.value-sn.value)>=2&&!V.value?.hasPointerCapture?.(e.pointerId)&&V.value?.setPointerCapture?.(e.pointerId))}function ar(e){if(!R.value.show||!W.value)return;let t=qn(e);t!=null&&(cn.value=Jn(t));let n=sn.value,r=cn.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,Y.value.width*.01)){if(er(e))return;Xn(e);return}let i=Math.min(n,r),a=Math.max(n,r),o=Math.max(1,Y.value.width),s=pn.value.length,c=(i-Y.value.start)/o,l=(a-Y.value.start)/o,u=Math.max(0,Math.min(s-1,Math.floor(c*(s-1)))),d=Math.max(u,Math.min(s-1,Math.ceil(l*(s-1))));if(d<=u){Xn(e);return}let f=dn.value.start+u,p=dn.value.start+d;Gn({start:f,end:p}),un.value={time:0,x:0,y:0,pointerType:null},Yn(),J(`zoom`,{start:f,end:p}),J(`update:zoomState`,{start:f,end:p+1}),ln.value=!0,setTimeout(()=>{ln.value=!1},0),Xn(e)}let or=g(()=>[null,void 0].includes(L.value.scaleMin)?Math.min(...K.value.map(e=>isNaN(e.value)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(e.value)?0:e.value||0)):L.value.scaleMin),sr=g(()=>[null,void 0].includes(L.value.scaleMax)?Math.max(...K.value.map(e=>isNaN(e.value)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(e.value)?0:e.value||0)):L.value.scaleMax),cr=g(()=>{let e=or.value>=0?0:or.value;return Math.abs(e)}),lr=g(()=>sr.value+cr.value),ur=g(()=>Y.value.bottom-Y.value.height*dr(cr.value));function dr(e){return isNaN(e/lr.value)?0:e/lr.value}let fr=g(()=>K.value.length-1||1),pr=S([]),mr=0;Ge(()=>{let e=++mr;(async()=>{let t=await Ce({values:mn.value.map(e=>e.period),maxDatapoints:mn.value.length,formatter:I.value.datetimeFormatter,start:0,end:mn.value.length});e===mr&&(pr.value=t)})()});let X=g(()=>{let e=K.value.length,t=Y.value.width/fr.value,n=Math.max(0,Y.value.start),r=Math.min(q.value.width,Y.value.right,Y.value.start+Y.value.width),i=Math.max(0,r-n),a=e>0?i/e:0;return K.value.map((e,r)=>{let i=isNaN(e.value)||[void 0,`NaN`,NaN,1/0,-1/0].includes(e.value)?0:e.value,o=n+r*a,s=Z.value?a:t,c=Z.value?o+a/2:Y.value.start+r*t;return{value:e.value,absoluteValue:i,period:pr.value&&pr.value[r]&&pr.value[r].text?pr.value[r].text:e.period,plotValue:i+cr.value,toMax:dr(i+cr.value),sourceIndex:e.__sourceIndex??r,x:c,barX:o,y:Y.value.bottom-Y.value.height*dr(i+cr.value),id:`plot_${D.value}_${r}`,color:Z.value?at.value.color:F.value.useGradient?ie(P.value.color,.05*(1-r/fr.value)):P.value.color,width:s}})}),hr=g(()=>{if(E.selectedIndex!==void 0&&E.selectedIndex!==null&&E.selectedIndex>=0&&E.selectedIndex<B.value.length){let e=X.value.findIndex(e=>e.sourceIndex===E.selectedIndex);return e>=0?e:null}return k.value!==void 0&&k.value!==null&&k.value>=0&&k.value<X.value.length?k.value:null});function gr(e,t){return Number.isFinite(e?.sourceIndex)?e.sourceIndex:t}function _r(e,t){let n=gr(e,t);M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:e,seriesIndex:n}),k.value=t,O.value=t,A.value=e,j.value||=e,J(`hoverIndex`,{index:n})}function vr(e,t){let n=gr(e,t);M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:e,seriesIndex:n}),j.value=A.value,A.value=void 0,k.value=null,O.value=null,J(`hoverIndex`,{index:void 0})}let yr=g(()=>{if(et.value){let e=X.value.map(e=>e.absoluteValue),t=e.reduce((e,t)=>e+t,0);return{latest:X.value[X.value.length-1]?X.value[X.value.length-1].absoluteValue:0,sum:t,average:t/X.value.length,median:fe(e),trend:oe(X.value.map(({x:e,y:t,absoluteValue:n})=>({x:e,y:t,value:n}))).trend}}return{latest:null,sum:null,average:null,median:null,trend:null}}),br=g(()=>et.value?I.value.valueType===`latest`?yr.value.latest:I.value.valueType===`sum`?yr.value.sum:I.value.valueType===`average`?yr.value.average:0:0),Z=g(()=>M.value.type&&M.value.type===`bar`);function xr(e,t){if(ln.value)return;let n=gr(e,t);M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:e,seriesIndex:n}),J(`selectDatapoint`,{datapoint:e,index:n})}let Q=g(()=>P.value.cutNullValues);function Sr(e){return![null,void 0,`NaN`,NaN,1/0,-1/0].includes(e)}function Cr(e,t){let n=e[t-1],r=e[t+1],i=!!n&&!!r&&n.value==null&&r.value==null||!n&&!!r&&r.value==null||!!n&&!r&&n.value==null;return Sr(e[t]?.value)&&i&&Q.value}function wr(e,t){return A.value&&e.id===A.value.id||hr.value===t||B.value.length===1}function Tr(e,t){return Z.value||!Sr(e?.value)?!1:L.value.plot.show&&wr(e,t)||Cr(X.value,t)}function Er(e,t){return Math.max(1,wr(e,t)?L.value.plot.radius:L.value.plot.radius*.7)}function Dr(e,t){return wr(e,t)?L.value.plot.stroke:L.value.backgroundColor}let Or=g(()=>Q.value?X.value:X.value.filter(e=>e.value!==null)),kr=g(()=>Array.isArray(P.value.dashIndices)?P.value.dashIndices.map(e=>Math.trunc(Number(e))).filter(Number.isFinite):[]),Ar=g(()=>new Set(kr.value));function jr(e,t){let n=e?.sourceIndex,r=t?.sourceIndex;if(!Number.isFinite(n)||!Number.isFinite(r))return!1;let i=Math.min(n,r),a=Math.max(n,r);for(let e of kr.value)if(e>=i&&e<=a)return!0;return!1}function Mr(e){let t=/* @__PURE__ */ new Set;for(let n=1;n<e.length;n+=1)jr(e[n-1],e[n])&&t.add(n-1);return t}function Nr(e){let t=/* @__PURE__ */ new Set;if(Q.value||!P.value.nullDashes?.show)return t;for(let n=1;n<e.length;n+=1){let r=e[n-1]?.sourceIndex,i=e[n]?.sourceIndex;Number.isFinite(r)&&Number.isFinite(i)&&Math.abs(i-r)>1&&t.add(n-1)}return t}let Pr=g(()=>Q.value?/* @__PURE__ */ new Set:Mr(Or.value)),Fr=g(()=>Nr(Or.value)),Ir=g(()=>/* @__PURE__ */ new Set([...Pr.value,...Fr.value])),Lr=g(()=>Q.value?X.value.reduce((e,t,n)=>(Ar.value.has(t.sourceIndex)&&e.push(n),e),[]):[]),Rr=g(()=>Q.value?Lr.value.length>0:Ir.value.size>0),zr=g(()=>X.value.filter(e=>e.value!==null)),Br=g(()=>zr.value.length>1),Vr=g(()=>Z.value||!Br.value?``:Q.value?o(X.value):f(Or.value)),Hr=g(()=>Z.value||!Br.value?``:Q.value?ne(X.value):te(Or.value)),Ur=g(()=>Z.value||!Rr.value||!Br.value?[]:Q.value?l(X.value,Lr.value):p(Or.value,Ir.value)),Wr=g(()=>Z.value||!Rr.value||!Br.value?[]:Q.value?a(X.value,Lr.value):c(Or.value,Ir.value)),Gr=g(()=>Z.value||!F.value.show||!Br.value?[]:P.value.smooth?u(Or.value,Y.value.bottom,Q.value).filter(Boolean):(Q.value?r(X.value,Y.value.bottom):ue(Or.value,Y.value.bottom)).split(`;`).filter(Boolean).map(e=>`M${e}Z`)),Kr=g(()=>Z.value||!M.value.gradientPath.show||M.value.temperatureColors.show?``:`M ${(P.value.smooth?Vr.value:Hr.value)||`0,0`}`),qr=g(()=>{if(!M.value.temperatureColors.show)return null;let e=M.value.temperatureColors.colors;return!Array.isArray(e)||!e.length?null:e.map(e=>ee(e))}),$=g(()=>{if(!M.value.temperatureColors.show)return null;let e=M.value.temperatureColors.colors;return!Array.isArray(e)||!e.length?null:e.map(e=>ee(e))});function Jr(e){if(!Number.isFinite(e?.y))return 0;let t=Y.value.height||1,n=(e.y-Y.value.top)/t;return Math.min(1,Math.max(0,n))}function Yr(e){let t=qr.value;return!Array.isArray(t)||!t.length?e.color:i({colors:t,ratio:Jr(e)})}T(()=>[_t.value,On.value,X.value.length,q.value.width,q.value.height,M.value?.style?.line?.smooth],async()=>{await b(),vt()},{immediate:!0}),Be(async()=>{await b(),vt()}),T(()=>z.value,async e=>{e||await An()}),T(()=>vn.value,async e=>{e||z.value||await An()}),T([()=>E.selectedIndex,()=>X.value],([e],[t])=>{if(e==null){if(t!=null){k.value=null,O.value=null,A.value=void 0;return}let e=A.value?.sourceIndex;if(e==null)return;let n=X.value.findIndex(t=>t.sourceIndex===e);if(n<0){k.value=null,O.value=null,A.value=void 0;return}k.value=n,O.value=n,A.value=X.value[n];return}if(e<0||e>=B.value.length)return;let n=X.value.findIndex(t=>t.sourceIndex===e);if(n<0){k.value=null,O.value=null,A.value=void 0;return}let r=X.value[n];r&&(k.value=n,O.value=n,A.value=r)});let Xr=S(!1);function Zr(){let e=hr.value;if(e!==null&&e>=0&&e<X.value.length){let t=X.value[e];if(t){O.value=e,A.value=t,k.value=e,Xr.value=!0;return}}O.value=null,!A.value&&X.value.length&&_r(X.value.at(-1),X.value.length-1),Xr.value=!0}function Qr(){nr(),j.value=A.value,(E.selectedIndex===void 0||E.selectedIndex===null)&&(O.value=null,A.value=void 0,k.value=null,J(`hoverIndex`,{index:void 0})),Xr.value=!1}be({resetZoom:Zn,setZoomState:Ln});function $r(e){if(!V.value||document.activeElement!==V.value)return;if(nr(),j.value=A.value,e.key===`Escape`){(fn.value||W.value)&&(e.preventDefault(),e.stopPropagation(),Zn());return}let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`;if(!t&&!n)return;let r=X.value.length;if(!r)return;e.preventDefault(),e.stopPropagation();let i=O.value,a=i!==null&&i>=0&&i<r,o=A.value?X.value.findIndex(e=>e.id===A.value.id):-1;a?n?(i+=1,i>=r&&(i=0)):t&&(--i,i<0&&(i=r-1)):o!==null&&o>=0&&o<r?(i=n?o+1:o-1,i>=r&&(i=0),i<0&&(i=r-1)):i=n?0:r-1;let s=X.value[i];s&&(O.value=i,_r(s,i))}let ei=g(()=>({headers:[M.value.translations.period,M.value.translations.value],rows:X.value.map(e=>[e.period,e.absoluteValue])}));return(t,r)=>(x(),v(`div`,{ref_key:`sparklineChart`,ref:nt,class:`vue-data-ui-component vue-ui-sparkline`,id:D.value,style:Re(`width:100%;font-family:${L.value.fontFamily};`)},[y(`p`,{id:`chart-instructions-${D.value}`,class:`sr-only`},Ue(M.value.a11y.translations.keyboardNavigation),9,wt),ei.value?.rows?.length?(x(),je(De,{key:0,uid:D.value,head:ei.value.headers,body:ei.value.rows,notice:M.value.a11y.translations.tableAvailable,caption:M.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):_(``,!0),Ve(t.$slots,`before`,Le(Fe({selected:A.value,latest:yr.value.latest,sum:yr.value.sum,average:yr.value.average,median:yr.value.median,trend:yr.value.trend})),void 0,!0),L.value.title.show&&e.showInfo?(x(),v(`div`,{key:1,ref_key:`chartTitle`,ref:rt,class:`vue-ui-sparkline-title`,style:Re(`display:flex;align-items:center;width:100%;color:${L.value.title.color};background:${L.value.backgroundColor};justify-content:${L.value.title.textAlign===`left`?`flex-start`:L.value.title.textAlign===`right`?`flex-end`:`center`};height:${L.value.title.fontSize*2}px;font-size:${L.value.title.fontSize}px;font-weight:${L.value.title.bold?`bold`:`normal`};`)},[y(`span`,{style:Re(`padding:${L.value.title.textAlign===`left`?`0 0 0 12px`:L.value.title.textAlign===`right`?`0 12px 0 0`:`0`}`)},Ue(A.value?A.value.period:L.value.title.text),5)],4)):_(``,!0),y(`div`,Tt,[(x(),v(`svg`,{ref_key:`svgRef`,ref:V,class:Ie({"vue-ui-sparkline-pointer-focus":St.value}),xmlns:w(me),viewBox:`0 0 ${q.value.width} ${q.value.height}`,style:Re({background:L.value.backgroundColor,overflow:`visible`,direction:`ltr`,cursor:R.value.show?W.value?`col-resize`:`crosshair`:`default`,touchAction:`pan-y`,userSelect:`none`}),tabindex:`0`,"aria-describedby":`chart-instructions-${D.value}`,"aria-keyshortcuts":`Escape`,onMouseleave:r[0]||=e=>j.value=void 0,onFocus:Zr,onBlur:Qr,onKeydown:$r,onPointerdown:rr,onPointermove:ir,onPointerup:ar,onPointercancel:Xn},[Ne(w(Je)),Ve(t.$slots,`svg-underlayer`,{svg:{...q.value,drawingArea:Y.value,timeLabels:pr.value,series:X.value,hoveredIndex:O.value,isZoomed:fn.value,zoomRange:dn.value}},void 0,!0),t.$slots[`chart-background`]?(x(),v(`foreignObject`,{key:0,x:0,y:0,width:q.value.width<=0?10:q.value.width,height:q.value.height<=0?10:q.value.height,style:{pointerEvents:`none`}},[Ve(t.$slots,`chart-background`,{},void 0,!0)],8,Dt)):_(``,!0),y(`defs`,null,[Ne(Ee,{t:`linear`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`,id:`sparkline_gradient_${D.value}`,stops:[[`0%`,w(s)(w(ie)(F.value.color,.05),F.value.opacity),1],[`100%`,w(s)(F.value.color,F.value.opacity),1]]},null,8,[`id`,`stops`]),Ne(Ee,{t:`linear`,x2:`0%`,y2:`100%`,id:`sparkline_bar_gradient_pos_${D.value}`,stops:[[`0%`,at.value.color,1],[`100%`,w(ie)(at.value.color,.05),1]]},null,8,[`id`,`stops`]),Ne(Ee,{t:`linear`,x2:`0%`,y2:`100%`,id:`sparkline_bar_gradient_neg_${D.value}`,stops:[[`0%`,w(ie)(at.value.color,.05),1],[`100%`,at.value.color,1]]},null,8,[`id`,`stops`]),y(`filter`,{id:`sparkline_pulse_glow_${D.value}`,filterUnits:`userSpaceOnUse`,x:`-50`,y:`-50`,width:`100`,height:`100`},[...r[1]||=[y(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:`3`,result:`blur`},null,-1),y(`feMerge`,null,[y(`feMergeNode`,{in:`blur`}),y(`feMergeNode`,{in:`SourceGraphic`})],-1)]],8,Ot),M.value.temperatureColors.show&&$.value?(x(),v(`linearGradient`,{key:0,id:`temperature_grad_sparkline_${D.value}`,gradientUnits:`userSpaceOnUse`,x1:`0`,x2:`0`,y1:Y.value.top,y2:Y.value.bottom},[(x(!0),v(h,null,C($.value,(e,t)=>(x(),v(`stop`,{key:`temperature_grad_stop_${t}_${D.value}`,"stop-color":e,offset:$.value.length===1?`0%`:w(pe)(t,$.value.length)},null,8,At))),128))],8,kt)):_(``,!0),y(`clipPath`,{id:`sparkline_zoom_clip_${D.value}`},[y(`rect`,{x:Y.value.start-4,y:Y.value.top-8,width:Y.value.width+8,height:Y.value.height+16},null,8,Mt)],8,jt)]),y(`g`,{"clip-path":G.value?`url(#sparkline_zoom_clip_${D.value})`:void 0},[y(`g`,{style:Re({transform:en.value,transformOrigin:`0 0`,transformBox:`view-box`,transition:tn.value?`transform ${$t}ms cubic-bezier(0.4, 0, 0.2, 1)`:`none`,willChange:G.value?`transform`:void 0})},[F.value.show&&!Z.value&&Gr.value.length?(x(),v(`g`,Pt,[(x(!0),v(h,null,C(Gr.value,(e,t)=>(x(),v(`path`,{key:`sparkline_area_${t}_${D.value}`,class:`vue-ui-sparkline-area`,"data-cy":P.value.smooth?`sparkline-smooth-area`:`sparkline-angle-area`,d:e,fill:F.value.useGradient?`url(#sparkline_gradient_${D.value})`:w(s)(F.value.color,F.value.opacity),"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Ft))),128))])):_(``,!0),P.value.smooth&&!Z.value?(x(),v(h,{key:1},[y(`path`,{id:On.value,d:`M ${Vr.value||`0,0`}`,fill:`none`,stroke:`transparent`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,It),Rr.value?(x(!0),v(h,{key:0},C(Ur.value,e=>(x(),v(`path`,{key:e.path,class:`vue-ui-sparkline-path`,d:`M ${e.path}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-dasharray":e.dashed?P.value.dashArray:0},null,8,Lt))),128)):(x(),v(`path`,{key:1,class:`vue-ui-sparkline-path`,d:`M ${Vr.value||`0,0`}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Rt))],64)):_(``,!0),!P.value.smooth&&!Z.value?(x(),v(h,{key:2},[y(`path`,{id:On.value,d:`M ${Hr.value||`0,0`}`,fill:`none`,stroke:`transparent`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,zt),Rr.value?(x(!0),v(h,{key:0},C(Wr.value,e=>(x(),v(`path`,{key:e.path,class:`vue-ui-sparkline-path`,d:`M ${e.path}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-dasharray":e.dashed?P.value.dashArray*2:0},null,8,Bt))),128)):(x(),v(`path`,{key:1,class:`vue-ui-sparkline-path`,d:`M ${Hr.value||`0,0`}`,stroke:$.value?`url(#temperature_grad_sparkline_${D.value})`:P.value.color,fill:`none`,"stroke-width":P.value.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,Vt))],64)):_(``,!0),Kr.value&&!$.value?(x(),je(xt,{key:3,svgPathData:Kr.value,enabled:M.value.gradientPath.show&&!Z.value&&!$.value,strokeWidth:P.value.strokeWidth,highColor:M.value.gradientPath.colors.high,lowColor:M.value.gradientPath.colors.low,segments:M.value.gradientPath.segments},null,8,[`svgPathData`,`enabled`,`strokeWidth`,`highColor`,`lowColor`,`segments`])):_(``,!0),kn.value&&_t.value?(x(),je(tt,{key:4,uid:D.value,svgRef:w(V),pulsePathId:On.value,pulsePathLength:dt.value,pulseDur:ut.value,pulseBegin:ft.value,pulseRepeatCount:mt.value,pulseFillMode:ht.value,pulseKeyPoints:pt.value,pulseMotion:yt.value,pulse:H.value,pulseTrail:U.value,pulseTrailLength:gt.value,prefersReducedMotion:w($e),loading:w(z),isBar:Z.value},null,8,[`uid`,`svgRef`,`pulsePathId`,`pulsePathLength`,`pulseDur`,`pulseBegin`,`pulseRepeatCount`,`pulseFillMode`,`pulseKeyPoints`,`pulseMotion`,`pulse`,`pulseTrail`,`pulseTrailLength`,`prefersReducedMotion`,`loading`,`isBar`])):_(``,!0),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`g`,null,[Z.value?(x(),v(`rect`,{key:0,x:e.barX,y:isNaN(e.absoluteValue>0?e.y:ur.value)?0:e.absoluteValue>0?e.y:ur.value,width:e.width,height:isNaN(Math.abs(e.y-ur.value))?0:Math.abs(e.y-ur.value),fill:e.absoluteValue>0?`url(#sparkline_bar_gradient_pos_${D.value})`:`url(#sparkline_bar_gradient_neg_${D.value})`,rx:at.value.borderRadius},null,8,Ht)):_(``,!0)]))),256)),or.value<0?(x(),v(`line`,{key:5,x1:Y.value.start,x2:Y.value.start+Y.value.width,y1:w(se)(ur.value,Y.value.bottom),y2:w(se)(ur.value,Y.value.bottom),stroke:L.value.zeroLine.color,"stroke-dasharray":L.value.zeroLine.strokeWidth*2,"stroke-width":L.value.zeroLine.strokeWidth,"stroke-linecap":`round`},null,8,Ut)):_(``,!0)],4),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`g`,{key:`sparkline_indicator_${e.id}`,style:Re(Un(e))},[L.value.verticalIndicator.show&&(A.value&&e.id===A.value.id||hr.value===t)?(x(),v(`line`,{key:0,x1:e.x,x2:e.x,y1:Y.value.top-6,y2:Y.value.bottom,stroke:L.value.verticalIndicator.color||e.color,"stroke-width":L.value.verticalIndicator.strokeWidth,"stroke-linecap":`round`,"stroke-dasharray":L.value.verticalIndicator.strokeDasharray||0},null,8,Wt)):_(``,!0)],4))),128)),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`g`,{key:`sparkline_plot_${e.id}`,style:Re(Hn(e))},[Tr(e,t)?(x(),v(`circle`,{key:0,cx:e.x,cy:e.y,r:Er(e,t),fill:Yr(e),stroke:Dr(e,t),"stroke-width":L.value.plot.strokeWidth},null,8,Gt)):_(``,!0)],4))),128))],8,Nt),e.showInfo&&I.value.show?(x(),v(`text`,{key:1,x:I.value.position===`left`?12+I.value.offsetX:Y.value.width+12+I.value.offsetX,y:q.value.height/2+I.value.fontSize/2.5+I.value.offsetY,"font-size":I.value.fontSize,"font-weight":I.value.bold?`bold`:`normal`,fill:I.value.color},Ue(A.value?w(ce)(I.value.formatter,A.value.absoluteValue,w(n)({p:I.value.prefix,v:A.value.absoluteValue,s:I.value.suffix,r:I.value.roundingValue}),{datapoint:A.value}):w(ce)(I.value.formatter,br.value,w(n)({p:I.value.prefix,v:br.value,s:I.value.suffix,r:I.value.roundingValue}))),9,Kt)):_(``,!0),Kn.value?(x(),v(`rect`,{key:2,x:Kn.value.x,y:Kn.value.y,width:Kn.value.width,height:Kn.value.height,fill:R.value.selection.fill,"fill-opacity":R.value.selection.fillOpacity,stroke:R.value.selection.stroke,"stroke-opacity":R.value.selection.strokeOpacity,"stroke-width":R.value.selection.strokeWidth,"stroke-dasharray":R.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,qt)):_(``,!0),(x(!0),v(h,null,C(X.value,(e,t)=>(x(),v(`rect`,{x:Z.value?e.barX:e.x-(Y.value.width/(fr.value+1)>q.value.padding?q.value.padding:Y.value.width/(fr.value+1))/2,y:Y.value.top-6,height:Y.value.height+6,width:Z.value?e.width:Y.value.width/(fr.value+1)>q.value.padding?q.value.padding:Y.value.width/(fr.value+1),fill:`transparent`,onMouseenter:()=>_r(e,t),onMouseleave:()=>vr(e,t),onClick:()=>xr(e,t)},null,40,Jt))),256)),Ve(t.$slots,`svg`,{svg:{...q.value,drawingArea:Y.value,timeLabels:pr.value,series:X.value,hoveredIndex:O.value,isZoomed:fn.value,zoomRange:dn.value}},void 0,!0)],46,Et)),fn.value&&R.value.resetButton.show?(x(),v(`button`,{key:0,type:`button`,class:`vue-ui-sparkline-reset-zoom`,title:R.value.resetButton.title,"aria-label":R.value.resetButton.ariaLabel,style:Re({cursor:M.value.useCursorPointer?`pointer`:`default`}),onPointerdown:Qn,onClick:$n},[(x(),v(`svg`,Xt,[y(`path`,{d:`M2 10a1 1 0 0 0 15 0c0-5-5-8-10-6l3-3M7 4l3 3`,stroke:R.value.resetButton.color,fill:`none`,"stroke-width":`2.5`,"stroke-linecap":`round`},null,8,Zt)]))],44,Yt)):_(``,!0),t.$slots.hint?(x(),v(`div`,Qt,[Ve(t.$slots,`hint`,Le(Fe({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Xr.value})),void 0,!0)])):_(``,!0)]),A.value&&N.value.show?(x(),je(w(Ye),{key:2,x:A.value.x,y:A.value.y,prevX:j.value.x,prevY:j.value.y,offsetY:L.value.plot.radius*3+N.value.offsetY,svgRef:w(V),background:N.value.backgroundColor,color:N.value.color,fontSize:N.value.fontSize,borderWidth:N.value.borderWidth,borderColor:N.value.borderColor,borderRadius:N.value.borderRadius,backgroundOpacity:N.value.backgroundOpacity},{default:Ke(()=>[Ve(t.$slots,`tooltip`,Le(Fe({...A.value})),()=>[Me(Ue(A.value.period)+`: `+Ue(w(ce)(I.value.formatter,A.value.absoluteValue,w(n)({p:I.value.prefix,v:A.value.absoluteValue,s:I.value.suffix,r:I.value.roundingValue}),{datapoint:A.value})),1)],!0)]),_:3},8,[`x`,`y`,`prevX`,`prevY`,`offsetY`,`svgRef`,`background`,`color`,`fontSize`,`borderWidth`,`borderColor`,`borderRadius`,`backgroundOpacity`])):_(``,!0),t.$slots.source?(x(),v(`div`,{key:3,ref_key:`source`,ref:it,dir:`auto`},[Ve(t.$slots,`source`,{},void 0,!0)],512)):_(``,!0),Ve(t.$slots,`skeleton`,{},()=>[w(z)?(x(),je(_e,{key:0})):_(``,!0)],!0)],12,Ct))}},[[`__scopeId`,`data-v-35de3664`]]);export{St as n,G as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Dt as r,Ht as i,Jt as a,Qt as o,S as s,X as c,Yt as ee,at as te,i as ne,in as re,t as ie,w as ae,yt as oe,zt as se}from"./lib-rPeBMZrn.js";import{n as ce,t as le}from"./BaseScanner-8NdoBs7B.js";import{n as ue,t as de}from"./useHints-BH9r_0Vd.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as pe}from"./resolveChartConfig-CIhClE5R.js";import{t as me}from"./DefGrad-DKMq1REY.js";import{t as he}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as ge}from"./A11yDataTable-DWNlWXzs.js";import{t as _e}from"./useChartAccessibility-DOMuYJfm.js";import{t as ve}from"./usePrefersMotion-XLHwega2.js";import{t as ye}from"./vue_ui_sparkstackbar-Chtog7hC.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createVNode as be,defineAsyncComponent as xe,guardReactiveProps as h,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onMounted as Se,openBlock as y,ref as b,renderList as x,renderSlot as S,toDisplayString as C,toRefs as Ce,unref as w,useSlots as we,watch as Te,withCtx as T}from"vue";var Ee=/* @__PURE__ */ e({default:()=>Ke}),De=[`id`],Oe={style:{position:`relative`}},ke=[`xmlns`,`viewBox`,`aria-describedby`],Ae=[`id`],je=[`width`,`height`,`rx`],Me=[`clip-path`],Ne=[`x`,`width`,`height`,`fill`],Pe=[`x`,`width`,`height`,`fill`],Fe=[`x`,`height`,`fill`],Ie=[`x`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`],Le=[`width`,`height`,`rx`,`stroke`],Re=[`width`,`height`,`rx`],ze={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Be=[`aria-pressed`,`aria-label`,`onClick`,`onFocus`,`onKeydown`],Ve={style:{display:`flex`,"flex-direction":`row`,"align-items":`center`,gap:`4px`,"justify-content":`center`}},He=[`height`,`width`],Ue=[`rx`,`fill`],We=[`rx`,`fill`],Ge={key:3,ref:`source`,dir:`auto`},Ke=/*#__PURE__*/ fe({__name:`vue-ui-sparkstackbar`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`selectLegend`],setup(e,{expose:fe,emit:Ee}){let Ke=xe(()=>import(`./PackageVersion-C4ZM3Vf7.js`).then(e=>e.t)),qe=xe(()=>import(`./Tooltip-C1q0Qoh7.js`)),{vue_ui_sparkstackbar:Je}=t(),Ye=ve(),Xe=we(),E=e,Ze=b(null),D=b(c()),O=b(!1),Qe=b(``),k=b(null),A=b(!1),j=b(null),$e=b({x:0,y:0}),M=b(`pointer`),et=b(!1),N=b(null),tt=b([]),P=b(at()),F=u(()=>P.value.style.bar),I=u(()=>P.value.style.legend),L=u(()=>P.value.style.tooltip),R=u(()=>P.value.style),nt=u(()=>P.value.debug);Se(()=>{Xe[`chart-background`]&&nt.value&&console.warn(`VueUiSparkStackbar does not support the #chart-background slot.`)}),ue({config:()=>P.value,dataset:()=>E.dataset,component:`VueUiSparkStackbar`,rules:[de.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let rt=u(()=>P.value.useCursorPointer),it=u(()=>re({defaultConfig:{style:{backgroundColor:`#99999930`,animation:{show:!1},bar:{gradient:{inderlayerColor:`#6A6A6A`}},title:{backgroundColor:`transparent`}}},userConfig:P.value.skeletonConfig??{}})),{loading:z,FINAL_DATASET:B}=ce({...Ce(E),FINAL_CONFIG:P,prepareConfig:at,skeletonDataset:E.config?.skeletonDataset??[{name:`_`,value:8,color:`#808080`},{name:`_`,value:5,color:`#ADADAD`},{name:`_`,value:3,color:`#DBDBDB`}],skeletonConfig:re({defaultConfig:P.value,userConfig:it.value})}),{svgRef:V}=_e({config:R.value.title});function at(){return pe(E.config,Je,ye)}let ot=o(E.config);Te(()=>E.config,(e,t)=>{let n=o(e),r=n!==ot;ot=n;let i=at();r?(P.value=i,ct()):P.value.style.tooltip=i.style.tooltip},{deep:!0}),Te(()=>B.value,e=>{U.value=B.value.map((e,t)=>({...e,color:e.color?s(e.color):H.value[t]||i[t]||i[t%i.length]})),st()},{deep:!0});let H=u(()=>ae(P.value.customPalette)),U=b(B.value.map((e,t)=>({...e,value:R.value.animation.show?0:e.value||0,color:e.color?s(e.color):H.value[t]||i[t]||i[t%i.length]}))),W=b(!0);function st(){if(!R.value.animation.show||Ye.value){W.value=!1;return}let e=R.value.animation.animationFrames,t=B.value.map(e=>e.value||0),n=t.map(t=>t/e),r=t.reduce((e,t)=>e+t,0),a=0;W.value=!0,U.value=B.value.map((e,t)=>({...e,value:0,color:e.color?s(e.color):H.value[t]||i[t]||i[t%i.length]}));function o(){a+=r/e,a<r?(U.value=U.value.map((e,r)=>({...e,value:Math.min(e.value+n[r],t[r]),color:e.color?s(e.color):H.value[r]||i[r]||i[r%i.length]})),requestAnimationFrame(o)):(W.value=!1,U.value=B.value.map((e,n)=>({...e,value:t[n],color:e.color?s(e.color):H.value[n]||i[n]||i[n%i.length],id:c()})))}o()}Se(()=>{ct()});function ct(){se(E.dataset)?te({componentName:`VueUiSparkStackbar`,type:`dataset`,debug:nt.value}):nt.value&&E.dataset.forEach((e,t)=>{oe({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{te({componentName:`VueUiSparkStackbar`,type:`datasetSerieAttribute`,property:e,index:t})})}),st()}let G=b({width:500,height:16}),K=b([]),lt=u(()=>B.value.map(e=>e.value||0).filter((e,t)=>!K.value.includes(t)).reduce((e,t)=>e+t,0)),q=u(()=>U.value.map((e,t)=>{let r=e.value||0,a=r/lt.value,o=isNaN(a)?0:a,c=o*G.value.width;return{...e,color:s(B.value[t]?.color?B.value[t]?.color:H.value[t]||i[t]||i[t%i.length]),value:r,proportion:o,width:c,seriesIndex:t,proportionLabel:n({v:o*100,s:`%`,r:I.value.percentage.rounding})}})),J=u(()=>q.value.filter((e,t)=>!K.value.includes(t)));function ut(){O.value=!1,N.value=null,j.value=null,M.value=`pointer`}function dt(){ut(),K.value.length?K.value=[]:q.value.forEach((e,t)=>{K.value.push(t)}),gt(`selectLegend`,J.value)}function Y(e){ut(),K.value.includes(e)?K.value=K.value.filter(t=>t!==e):K.value.length<U.value.length-1&&K.value.push(e),gt(`selectLegend`,J.value)}function ft(e){return q.value.length?q.value.find(t=>t.name===e)||(P.value.debug&&console.warn(`VueUiSparkStackbar - Series name not found "${e}"`),null):(P.value.debug&&console.warn(`VueUiSparkStackbar - There are no series to show.`),null)}function pt(e){let t=ft(e);t!==null&&K.value.includes(t.id)&&Y(t.seriesIndex)}function mt(e){let t=ft(e);t!==null&&(K.value.includes(t.id)||Y(t.seriesIndex))}let X=u(()=>{let e=0,t=[];for(let n=0;n<J.value.length;n+=1)t.push({...J.value[n],start:e}),e+=J.value[n].width;return t}),ht=u(()=>{let e=X.value.reduce((e,t)=>e+t.width,0);return Math.min(Math.max(e,0),G.value.width)}),gt=Ee;function Z(e,t,n=!1){gt(`selectDatapoint`,{datapoint:e,index:t}),P.value.events.datapointClick&&!n&&P.value.events.datapointClick({datapoint:e,seriesIndex:e.seriesIndex})}function _t({datapoint:e,seriesIndex:t}){O.value=!1,N.value=null,j.value=null,M.value=`pointer`,P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex})}function vt({datapoint:e,seriesIndex:t,triggerMode:i=`pointer`}){if(A.value=!1,P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:e.seriesIndex}),!L.value.show)return;M.value=i,k.value={datapoint:e,seriesIndex:t,config:P.value,series:q.value},O.value=!0,N.value=e.seriesIndex;let o=L.value.customFormat;if(r(o))try{let t=o({seriesIndex:e.seriesIndex,datapoint:e,series:q.value,config:P.value});typeof t==`string`&&(Qe.value=t,A.value=!0)}catch{console.warn(`Custom format cannot be applied.`),A.value=!1}if(!A.value){let r=``,i=F.value.gradient.show,o=`tooltip_grad_${t}_${D.value}`,s=a(ee(e.color,.05),100-F.value.gradient.intensity),c=i?`<rect x="0" y="0" width="10" height="10" rx="${Q.value}" fill="${F.value.gradient.underlayerColor}"/>`:``,te=i?`<defs><radialGradient id="${o}"><stop offset="0%" stop-color="${s}"/><stop offset="100%" stop-color="${e.color}"/></radialGradient></defs>`:``;r+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${L.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,r+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 10 10" height="14" width="14">${te}${c}<rect x="0" y="0" width="10" height="10" rx="${Q.value}" fill="${i?`url(#${o})`:e.color}"/></svg>`,r+=`<b>${e.proportionLabel}</b>`,r+=`<span>(${ne(I.value.value.formatter,e.value,n({p:I.value.value.prefix,v:e.value,s:I.value.value.suffix,r:I.value.value.rounding}),{datapoint:e,seriesIndex:t})})</span>`,Qe.value=`<div>${r}</div>`}}let yt=u(()=>{let e=F.value.borderRadius==null?G.value.height/2:F.value.borderRadius;return Math.min(Math.max(e,0),G.value.height/2)}),Q=u(()=>{let e=G.value.height/2;return e===0?5:yt.value/e*5});function $(e){let t=tt.value[e];t&&typeof t.focus==`function`&&t.focus()}function bt(e){if(!Number.isFinite(e)||!V.value)return;let t=X.value[e];if(!t)return;let n=V.value.getBoundingClientRect(),r=t.start+t.width/2,i=G.value.height/2;$e.value={x:n.left+r/G.value.width*n.width,y:n.top+i/G.value.height*n.height}}function xt(){j.value=null,et.value=!0}function St(){j.value=null,M.value=`pointer`,O.value=!1,N.value=null,et.value=!1}function Ct(e){if(!V.value||document.activeElement!==V.value||!X.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`,a=e.key===`Home`,o=e.key===`End`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),i){j.value=null,M.value=`pointer`,O.value=!1,N.value=null;return}if(r){if(j.value===null)return;let e=X.value[j.value];if(!e)return;Z(e,e.seriesIndex);return}let s=j.value;a?s=0:o?s=X.value.length-1:s===null||s<0||s>=X.value.length?s=n?0:X.value.length-1:n?(s+=1,s>=X.value.length&&(s=0)):t&&(--s,s<0&&(s=X.value.length-1));let c=X.value[s];c&&(j.value=s,bt(s),vt({datapoint:c,seriesIndex:c.seriesIndex,triggerMode:`keyboard`}))}function wt(e){O.value=!1,j.value=null,M.value=`pointer`,N.value=e.seriesIndex}function Tt(){j.value=null,M.value=`pointer`,O.value=!1,N.value=null}function Et(e,t,n){let r=e.key===`Enter`||e.key===` `,i=e.key===`ArrowLeft`||e.key===`ArrowUp`,a=e.key===`ArrowRight`||e.key===`ArrowDown`,o=e.key===`Home`,s=e.key===`End`,c=e.key===`Escape`;(r||i||a||o||s||c)&&(e.preventDefault(),e.stopPropagation(),c?Tt():r?(Y(n),Z(t,n,!0)):o?$(0):s?$(q.value.length-1):i?$(n<=0?q.value.length-1:n-1):a&&$(n>=q.value.length-1?0:n+1))}let Dt=u(()=>({headers:[P.value.a11y.translations.series,P.value.a11y.translations.percentage,P.value.a11y.translations.value],rows:q.value.map((e,t)=>[e.name,K.value.includes(t)?` - `:e.proportionLabel,ne(I.value.value.formatter,e.value,n({p:I.value.value.prefix,v:e.value,s:I.value.value.suffix,r:I.value.value.rounding}),{datapoint:e,seriesIndex:t})])}));return fe({hideSeries:mt,showSeries:pt}),(e,t)=>(y(),p(`div`,{class:`vue-data-ui-component vue-ui-spark-stackbar`,ref_key:`sparkstackbarChart`,ref:Ze,style:v(`width:100%; background:${R.value.backgroundColor}`)},[m(`div`,{id:`chart-instructions-${D.value}`,class:`sr-only`},[m(`p`,null,C(P.value.a11y.translations.keyboardNavigation),1)],8,De),Dt.value?.rows?.length?(y(),d(ge,{key:0,uid:D.value,head:Dt.value.headers,body:Dt.value.rows,notice:P.value.a11y.translations.tableAvailable,caption:P.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),R.value.title.text?(y(),p(`div`,{key:1,style:v(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${R.value.title.margin};padding: 0 6px;text-align:${R.value.title.textAlign}`)},[m(`div`,{class:`atom-title`,style:v(`font-size:${R.value.title.fontSize}px;color:${R.value.title.color};font-weight:${R.value.title.bold?`bold`:`normal`}`)},C(R.value.title.text),5),R.value.title.subtitle.text?(y(),p(`div`,{key:0,class:`atom-subtitle`,style:v(`font-size:${R.value.title.subtitle.fontSize}px;color:${R.value.title.subtitle.color};font-weight:${R.value.title.subtitle.bold?`bold`:`normal`}`)},C(R.value.title.subtitle.text),5)):f(``,!0)],4)):f(``,!0),m(`div`,Oe,[(y(),p(`svg`,{ref_key:`svgRef`,ref:V,xmlns:w(ie),width:`100%`,viewBox:`0 0 ${G.value.width} ${G.value.height}`,"aria-describedby":`chart-instructions-${D.value}`,tabindex:`0`,onFocus:xt,onBlur:St,onKeydown:Ct},[be(w(Ke)),m(`defs`,null,[(y(!0),p(l,null,x(X.value,(e,t)=>(y(),d(me,{t:`linear`,id:`stack_gradient_${t}_${D.value}`,key:`stack_gradient_${t}`,gradientTransform:`rotate(90)`,stops:[[`0%`,e.color,1],[`50%`,w(a)(w(ee)(e.color,.05),100-F.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128)),m(`clipPath`,{id:`stackPill_${D.value}`},[m(`rect`,{x:`0`,y:`0`,width:ht.value,height:G.value.height,rx:yt.value,class:g({animated:!W.value&&!w(z)})},null,10,je)],8,Ae)]),lt.value>0?(y(),p(l,{key:0},[m(`g`,{"clip-path":`url(#stackPill_${D.value})`},[(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`rect`,{key:`stack_underlayer_${t}`,x:e.start,y:0,width:e.width,height:G.value.height,fill:F.value.gradient.underlayerColor,class:g({animated:!W.value&&!w(z)}),style:v({opacity:O.value&&N.value!==null&&L.value.show?N.value===e.seriesIndex?1:.5:1})},null,14,Ne))),128)),(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`rect`,{key:`stack_${t}`,x:e.start,y:0,width:e.width,height:G.value.height,fill:F.value.gradient.show?`url(#stack_gradient_${t}_${D.value})`:e.color,class:g({animated:!W.value&&!w(z)}),style:v({opacity:O.value&&N.value!==null&&L.value.show?N.value===e.seriesIndex?1:.5:1})},null,14,Pe))),128)),(y(!0),p(l,null,x(X.value.slice(1),(e,t)=>(y(),p(`rect`,{key:`stack_separator_${t}`,x:e.start-.5,y:`0`,width:`1`,height:G.value.height,fill:R.value.backgroundColor,"pointer-events":`none`,class:g({animated:!W.value&&!w(z)})},null,10,Fe))),128)),(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`rect`,{key:`stack_trap_${t}`,x:e.start,y:0,width:e.width,height:G.value.height,fill:`transparent`,stroke:`none`,class:g({animated:!W.value&&!w(z)}),onClick:()=>Z(e,t),onMouseenter:()=>vt({datapoint:e,seriesIndex:e.seriesIndex}),onMouseleave:t=>_t({datapoint:e,seriesIndex:e.seriesIndex})},null,42,Ie))),128))],8,Me),m(`rect`,{x:`0.5`,y:`0.5`,width:G.value.width-1,height:G.value.height-1,rx:Math.max(0,yt.value-.5),fill:`none`,stroke:R.value.backgroundColor,"stroke-width":`1`,"pointer-events":`none`},null,8,Le)],64)):(y(),p(`rect`,{key:1,x:2,y:1,width:G.value.width-4,height:G.value.height-2,stroke:`#CCCCCC`,"stroke-width":`2`,fill:`transparent`,rx:(G.value.height-4)/2},null,8,Re))],40,ke)),e.$slots.hint?(y(),p(`div`,ze,[S(e.$slots,`hint`,_(h({hint:P.value.a11y.translations.keyboardNavigation,isVisible:et.value})),void 0,!0)])):f(``,!0)]),I.value.show?(y(),p(`div`,{key:2,style:v(`background:transparent;margin:0 auto;margin:${I.value.margin};justify-content:${I.value.textAlign===`left`?`flex-start`:I.value.textAlign===`right`?`flex-end`:`center`}`),class:`vue-ui-sparkstackbar-legend`,"aria-label":`legend`,role:`toolbar`},[I.value.selectAllToggle.show&&q.value.length>2&&!w(z)?(y(),d(he,{key:0,backgroundColor:I.value.selectAllToggle.backgroundColor,color:I.value.selectAllToggle.color,fontSize:I.value.fontSize,checked:K.value.length>0,isCursorPointer:rt.value,onToggle:dt},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0),(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(`div`,{role:`button`,tabindex:`0`,"aria-pressed":K.value.includes(t),"aria-label":`${e.name}, ${K.value.includes(t)?`hidden`:`visible`}, ${e.proportionLabel}`,style:v(`font-size:${I.value.fontSize}px;cursor:${rt.value?`pointer`:`default`}`),class:g({"vue-ui-sparkstackbar-legend-item":!0,"vue-ui-sparkstackbar-legend-item-unselected":K.value.includes(t)}),onClick:n=>{Y(t),Z(e,t,!0)},onFocus:t=>wt(e),onBlur:Tt,onKeydown:n=>Et(n,e,t)},[m(`div`,Ve,[(y(),p(`svg`,{height:`${I.value.fontSize}px`,width:`${I.value.fontSize}px`,viewBox:`0 0 10 10`},[m(`defs`,null,[be(me,{t:`radial`,id:`legend_grad_${t}-${D.value}`,stops:[[`0%`,w(z)?`#FFFFFF`:w(a)(w(ee)(e.color,.05),100-F.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`])]),F.value.gradient.show?(y(),p(`rect`,{key:0,x:`0`,y:`0`,width:`10`,height:`10`,rx:Q.value,fill:F.value.gradient.underlayerColor},null,8,Ue)):f(``,!0),m(`rect`,{x:`0`,y:`0`,width:`10`,height:`10`,rx:Q.value,fill:F.value.gradient.show?`url(#legend_grad_${t}-${D.value})`:e.color},null,8,We)],8,He)),w(z)?f(``,!0):(y(),p(l,{key:0},[m(`span`,{style:v(`color:${I.value.name.color}; font-weight:${I.value.name.bold?`bold`:`normal`}`)},C(e.name),5),W.value?f(``,!0):(y(),p(l,{key:0},[I.value.percentage.show?(y(),p(`span`,{key:0,style:v(`font-weight:${I.value.percentage.bold?`bold`:`normal`};color:${I.value.percentage.color}`)},C(K.value.includes(t)?` - `:e.proportionLabel),5)):f(``,!0),I.value.value.show?(y(),p(`span`,{key:1,style:v(`font-weight:${I.value.value.bold?`bold`:`normal`};color:${I.value.value.color}`)},` (`+C(w(ne)(I.value.value.formatter,e.value,w(n)({p:I.value.value.prefix,v:e.value,s:I.value.value.suffix,r:I.value.value.rounding}),{datapoint:e,seriesIndex:t}))+`) `,5)):f(``,!0)],64))],64))])],46,Be))),256))],4)):f(``,!0),be(w(qe),{teleportTo:L.value.teleportTo,show:O.value&&L.value.show,parent:Ze.value,backgroundColor:L.value.backgroundColor,color:L.value.color,fontSize:L.value.fontSize,borderRadius:L.value.borderRadius,borderColor:L.value.borderColor,borderWidth:L.value.borderWidth,backgroundOpacity:L.value.backgroundOpacity,position:L.value.position,content:Qe.value,isCustom:A.value,offsetX:L.value.offsetX,offsetY:-124+L.value.offsetY,blockShiftY:!0,smooth:L.value.smooth,backdropFilter:L.value.backdropFilter,smoothForce:L.value.smoothForce,smoothSnapThreshold:L.value.smoothSnapThreshold,isA11yMode:M.value===`keyboard`,a11yPosition:$e.value},{"tooltip-before":T(()=>[S(e.$slots,`tooltip-before`,_(h({...k.value})),void 0,!0)]),tooltip:T(()=>[S(e.$slots,`tooltip`,_(h({...k.value})),void 0,!0)]),"tooltip-after":T(()=>[S(e.$slots,`tooltip-after`,_(h({...k.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`parent`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`content`,`isCustom`,`offsetX`,`offsetY`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),e.$slots.source?(y(),p(`div`,Ge,[S(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),S(e.$slots,`skeleton`,{},()=>[w(z)?(y(),d(le,{key:0})):f(``,!0)],!0)],4))}},[[`__scopeId`,`data-v-c969a2ef`]]);export{Ee as n,Ke as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Dt as r,Ht as i,Jt as a,Qt as o,S as s,X as c,Yt as ee,at as te,i as ne,in as re,t as ie,w as ae,yt as oe,zt as se}from"./lib-rPeBMZrn.js";import{n as ce,t as le}from"./BaseScanner-8NdoBs7B.js";import{n as ue,t as de}from"./useHints-BH9r_0Vd.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as pe}from"./resolveChartConfig-CIhClE5R.js";import{t as me}from"./DefGrad-DKMq1REY.js";import{t as he}from"./BaseLegendToggle-Q3TiW9u1.js";import{t as ge}from"./A11yDataTable-DWNlWXzs.js";import{t as _e}from"./useChartAccessibility-DOMuYJfm.js";import{t as ve}from"./usePrefersMotion-XLHwega2.js";import{t as ye}from"./vue_ui_sparkstackbar-Chtog7hC.js";import{Fragment as l,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createVNode as be,defineAsyncComponent as xe,guardReactiveProps as h,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onMounted as Se,openBlock as y,ref as b,renderList as x,renderSlot as S,toDisplayString as C,toRefs as Ce,unref as w,useSlots as we,watch as Te,withCtx as T}from"vue";var Ee=/* @__PURE__ */ e({default:()=>Ke}),De=[`id`],Oe={style:{position:`relative`}},ke=[`xmlns`,`viewBox`,`aria-describedby`],Ae=[`id`],je=[`width`,`height`,`rx`],Me=[`clip-path`],Ne=[`x`,`width`,`height`,`fill`],Pe=[`x`,`width`,`height`,`fill`],Fe=[`x`,`height`,`fill`],Ie=[`x`,`width`,`height`,`onClick`,`onMouseenter`,`onMouseleave`],Le=[`width`,`height`,`rx`,`stroke`],Re=[`width`,`height`,`rx`],ze={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Be=[`aria-pressed`,`aria-label`,`onClick`,`onFocus`,`onKeydown`],Ve={style:{display:`flex`,"flex-direction":`row`,"align-items":`center`,gap:`4px`,"justify-content":`center`}},He=[`height`,`width`],Ue=[`rx`,`fill`],We=[`rx`,`fill`],Ge={key:3,ref:`source`,dir:`auto`},Ke=/*#__PURE__*/ fe({__name:`vue-ui-sparkstackbar`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`selectLegend`],setup(e,{expose:fe,emit:Ee}){let Ke=xe(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),qe=xe(()=>import(`./Tooltip-C1q0Qoh7.js`)),{vue_ui_sparkstackbar:Je}=t(),Ye=ve(),Xe=we(),E=e,Ze=b(null),D=b(c()),O=b(!1),Qe=b(``),k=b(null),A=b(!1),j=b(null),$e=b({x:0,y:0}),M=b(`pointer`),et=b(!1),N=b(null),tt=b([]),P=b(at()),F=u(()=>P.value.style.bar),I=u(()=>P.value.style.legend),L=u(()=>P.value.style.tooltip),R=u(()=>P.value.style),nt=u(()=>P.value.debug);Se(()=>{Xe[`chart-background`]&&nt.value&&console.warn(`VueUiSparkStackbar does not support the #chart-background slot.`)}),ue({config:()=>P.value,dataset:()=>E.dataset,component:`VueUiSparkStackbar`,rules:[de.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let rt=u(()=>P.value.useCursorPointer),it=u(()=>re({defaultConfig:{style:{backgroundColor:`#99999930`,animation:{show:!1},bar:{gradient:{inderlayerColor:`#6A6A6A`}},title:{backgroundColor:`transparent`}}},userConfig:P.value.skeletonConfig??{}})),{loading:z,FINAL_DATASET:B}=ce({...Ce(E),FINAL_CONFIG:P,prepareConfig:at,skeletonDataset:E.config?.skeletonDataset??[{name:`_`,value:8,color:`#808080`},{name:`_`,value:5,color:`#ADADAD`},{name:`_`,value:3,color:`#DBDBDB`}],skeletonConfig:re({defaultConfig:P.value,userConfig:it.value})}),{svgRef:V}=_e({config:R.value.title});function at(){return pe(E.config,Je,ye)}let ot=o(E.config);Te(()=>E.config,(e,t)=>{let n=o(e),r=n!==ot;ot=n;let i=at();r?(P.value=i,ct()):P.value.style.tooltip=i.style.tooltip},{deep:!0}),Te(()=>B.value,e=>{U.value=B.value.map((e,t)=>({...e,color:e.color?s(e.color):H.value[t]||i[t]||i[t%i.length]})),st()},{deep:!0});let H=u(()=>ae(P.value.customPalette)),U=b(B.value.map((e,t)=>({...e,value:R.value.animation.show?0:e.value||0,color:e.color?s(e.color):H.value[t]||i[t]||i[t%i.length]}))),W=b(!0);function st(){if(!R.value.animation.show||Ye.value){W.value=!1;return}let e=R.value.animation.animationFrames,t=B.value.map(e=>e.value||0),n=t.map(t=>t/e),r=t.reduce((e,t)=>e+t,0),a=0;W.value=!0,U.value=B.value.map((e,t)=>({...e,value:0,color:e.color?s(e.color):H.value[t]||i[t]||i[t%i.length]}));function o(){a+=r/e,a<r?(U.value=U.value.map((e,r)=>({...e,value:Math.min(e.value+n[r],t[r]),color:e.color?s(e.color):H.value[r]||i[r]||i[r%i.length]})),requestAnimationFrame(o)):(W.value=!1,U.value=B.value.map((e,n)=>({...e,value:t[n],color:e.color?s(e.color):H.value[n]||i[n]||i[n%i.length],id:c()})))}o()}Se(()=>{ct()});function ct(){se(E.dataset)?te({componentName:`VueUiSparkStackbar`,type:`dataset`,debug:nt.value}):nt.value&&E.dataset.forEach((e,t)=>{oe({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{te({componentName:`VueUiSparkStackbar`,type:`datasetSerieAttribute`,property:e,index:t})})}),st()}let G=b({width:500,height:16}),K=b([]),lt=u(()=>B.value.map(e=>e.value||0).filter((e,t)=>!K.value.includes(t)).reduce((e,t)=>e+t,0)),q=u(()=>U.value.map((e,t)=>{let r=e.value||0,a=r/lt.value,o=isNaN(a)?0:a,c=o*G.value.width;return{...e,color:s(B.value[t]?.color?B.value[t]?.color:H.value[t]||i[t]||i[t%i.length]),value:r,proportion:o,width:c,seriesIndex:t,proportionLabel:n({v:o*100,s:`%`,r:I.value.percentage.rounding})}})),J=u(()=>q.value.filter((e,t)=>!K.value.includes(t)));function ut(){O.value=!1,N.value=null,j.value=null,M.value=`pointer`}function dt(){ut(),K.value.length?K.value=[]:q.value.forEach((e,t)=>{K.value.push(t)}),gt(`selectLegend`,J.value)}function Y(e){ut(),K.value.includes(e)?K.value=K.value.filter(t=>t!==e):K.value.length<U.value.length-1&&K.value.push(e),gt(`selectLegend`,J.value)}function ft(e){return q.value.length?q.value.find(t=>t.name===e)||(P.value.debug&&console.warn(`VueUiSparkStackbar - Series name not found "${e}"`),null):(P.value.debug&&console.warn(`VueUiSparkStackbar - There are no series to show.`),null)}function pt(e){let t=ft(e);t!==null&&K.value.includes(t.id)&&Y(t.seriesIndex)}function mt(e){let t=ft(e);t!==null&&(K.value.includes(t.id)||Y(t.seriesIndex))}let X=u(()=>{let e=0,t=[];for(let n=0;n<J.value.length;n+=1)t.push({...J.value[n],start:e}),e+=J.value[n].width;return t}),ht=u(()=>{let e=X.value.reduce((e,t)=>e+t.width,0);return Math.min(Math.max(e,0),G.value.width)}),gt=Ee;function Z(e,t,n=!1){gt(`selectDatapoint`,{datapoint:e,index:t}),P.value.events.datapointClick&&!n&&P.value.events.datapointClick({datapoint:e,seriesIndex:e.seriesIndex})}function _t({datapoint:e,seriesIndex:t}){O.value=!1,N.value=null,j.value=null,M.value=`pointer`,P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex})}function vt({datapoint:e,seriesIndex:t,triggerMode:i=`pointer`}){if(A.value=!1,P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:e.seriesIndex}),!L.value.show)return;M.value=i,k.value={datapoint:e,seriesIndex:t,config:P.value,series:q.value},O.value=!0,N.value=e.seriesIndex;let o=L.value.customFormat;if(r(o))try{let t=o({seriesIndex:e.seriesIndex,datapoint:e,series:q.value,config:P.value});typeof t==`string`&&(Qe.value=t,A.value=!0)}catch{console.warn(`Custom format cannot be applied.`),A.value=!1}if(!A.value){let r=``,i=F.value.gradient.show,o=`tooltip_grad_${t}_${D.value}`,s=a(ee(e.color,.05),100-F.value.gradient.intensity),c=i?`<rect x="0" y="0" width="10" height="10" rx="${Q.value}" fill="${F.value.gradient.underlayerColor}"/>`:``,te=i?`<defs><radialGradient id="${o}"><stop offset="0%" stop-color="${s}"/><stop offset="100%" stop-color="${e.color}"/></radialGradient></defs>`:``;r+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${L.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,r+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 10 10" height="14" width="14">${te}${c}<rect x="0" y="0" width="10" height="10" rx="${Q.value}" fill="${i?`url(#${o})`:e.color}"/></svg>`,r+=`<b>${e.proportionLabel}</b>`,r+=`<span>(${ne(I.value.value.formatter,e.value,n({p:I.value.value.prefix,v:e.value,s:I.value.value.suffix,r:I.value.value.rounding}),{datapoint:e,seriesIndex:t})})</span>`,Qe.value=`<div>${r}</div>`}}let yt=u(()=>{let e=F.value.borderRadius==null?G.value.height/2:F.value.borderRadius;return Math.min(Math.max(e,0),G.value.height/2)}),Q=u(()=>{let e=G.value.height/2;return e===0?5:yt.value/e*5});function $(e){let t=tt.value[e];t&&typeof t.focus==`function`&&t.focus()}function bt(e){if(!Number.isFinite(e)||!V.value)return;let t=X.value[e];if(!t)return;let n=V.value.getBoundingClientRect(),r=t.start+t.width/2,i=G.value.height/2;$e.value={x:n.left+r/G.value.width*n.width,y:n.top+i/G.value.height*n.height}}function xt(){j.value=null,et.value=!0}function St(){j.value=null,M.value=`pointer`,O.value=!1,N.value=null,et.value=!1}function Ct(e){if(!V.value||document.activeElement!==V.value||!X.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`,a=e.key===`Home`,o=e.key===`End`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),i){j.value=null,M.value=`pointer`,O.value=!1,N.value=null;return}if(r){if(j.value===null)return;let e=X.value[j.value];if(!e)return;Z(e,e.seriesIndex);return}let s=j.value;a?s=0:o?s=X.value.length-1:s===null||s<0||s>=X.value.length?s=n?0:X.value.length-1:n?(s+=1,s>=X.value.length&&(s=0)):t&&(--s,s<0&&(s=X.value.length-1));let c=X.value[s];c&&(j.value=s,bt(s),vt({datapoint:c,seriesIndex:c.seriesIndex,triggerMode:`keyboard`}))}function wt(e){O.value=!1,j.value=null,M.value=`pointer`,N.value=e.seriesIndex}function Tt(){j.value=null,M.value=`pointer`,O.value=!1,N.value=null}function Et(e,t,n){let r=e.key===`Enter`||e.key===` `,i=e.key===`ArrowLeft`||e.key===`ArrowUp`,a=e.key===`ArrowRight`||e.key===`ArrowDown`,o=e.key===`Home`,s=e.key===`End`,c=e.key===`Escape`;(r||i||a||o||s||c)&&(e.preventDefault(),e.stopPropagation(),c?Tt():r?(Y(n),Z(t,n,!0)):o?$(0):s?$(q.value.length-1):i?$(n<=0?q.value.length-1:n-1):a&&$(n>=q.value.length-1?0:n+1))}let Dt=u(()=>({headers:[P.value.a11y.translations.series,P.value.a11y.translations.percentage,P.value.a11y.translations.value],rows:q.value.map((e,t)=>[e.name,K.value.includes(t)?` - `:e.proportionLabel,ne(I.value.value.formatter,e.value,n({p:I.value.value.prefix,v:e.value,s:I.value.value.suffix,r:I.value.value.rounding}),{datapoint:e,seriesIndex:t})])}));return fe({hideSeries:mt,showSeries:pt}),(e,t)=>(y(),p(`div`,{class:`vue-data-ui-component vue-ui-spark-stackbar`,ref_key:`sparkstackbarChart`,ref:Ze,style:v(`width:100%; background:${R.value.backgroundColor}`)},[m(`div`,{id:`chart-instructions-${D.value}`,class:`sr-only`},[m(`p`,null,C(P.value.a11y.translations.keyboardNavigation),1)],8,De),Dt.value?.rows?.length?(y(),d(ge,{key:0,uid:D.value,head:Dt.value.headers,body:Dt.value.rows,notice:P.value.a11y.translations.tableAvailable,caption:P.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),R.value.title.text?(y(),p(`div`,{key:1,style:v(`width:calc(100% - 12px);background:transparent;margin:0 auto;margin:${R.value.title.margin};padding: 0 6px;text-align:${R.value.title.textAlign}`)},[m(`div`,{class:`atom-title`,style:v(`font-size:${R.value.title.fontSize}px;color:${R.value.title.color};font-weight:${R.value.title.bold?`bold`:`normal`}`)},C(R.value.title.text),5),R.value.title.subtitle.text?(y(),p(`div`,{key:0,class:`atom-subtitle`,style:v(`font-size:${R.value.title.subtitle.fontSize}px;color:${R.value.title.subtitle.color};font-weight:${R.value.title.subtitle.bold?`bold`:`normal`}`)},C(R.value.title.subtitle.text),5)):f(``,!0)],4)):f(``,!0),m(`div`,Oe,[(y(),p(`svg`,{ref_key:`svgRef`,ref:V,xmlns:w(ie),width:`100%`,viewBox:`0 0 ${G.value.width} ${G.value.height}`,"aria-describedby":`chart-instructions-${D.value}`,tabindex:`0`,onFocus:xt,onBlur:St,onKeydown:Ct},[be(w(Ke)),m(`defs`,null,[(y(!0),p(l,null,x(X.value,(e,t)=>(y(),d(me,{t:`linear`,id:`stack_gradient_${t}_${D.value}`,key:`stack_gradient_${t}`,gradientTransform:`rotate(90)`,stops:[[`0%`,e.color,1],[`50%`,w(a)(w(ee)(e.color,.05),100-F.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`]))),128)),m(`clipPath`,{id:`stackPill_${D.value}`},[m(`rect`,{x:`0`,y:`0`,width:ht.value,height:G.value.height,rx:yt.value,class:g({animated:!W.value&&!w(z)})},null,10,je)],8,Ae)]),lt.value>0?(y(),p(l,{key:0},[m(`g`,{"clip-path":`url(#stackPill_${D.value})`},[(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`rect`,{key:`stack_underlayer_${t}`,x:e.start,y:0,width:e.width,height:G.value.height,fill:F.value.gradient.underlayerColor,class:g({animated:!W.value&&!w(z)}),style:v({opacity:O.value&&N.value!==null&&L.value.show?N.value===e.seriesIndex?1:.5:1})},null,14,Ne))),128)),(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`rect`,{key:`stack_${t}`,x:e.start,y:0,width:e.width,height:G.value.height,fill:F.value.gradient.show?`url(#stack_gradient_${t}_${D.value})`:e.color,class:g({animated:!W.value&&!w(z)}),style:v({opacity:O.value&&N.value!==null&&L.value.show?N.value===e.seriesIndex?1:.5:1})},null,14,Pe))),128)),(y(!0),p(l,null,x(X.value.slice(1),(e,t)=>(y(),p(`rect`,{key:`stack_separator_${t}`,x:e.start-.5,y:`0`,width:`1`,height:G.value.height,fill:R.value.backgroundColor,"pointer-events":`none`,class:g({animated:!W.value&&!w(z)})},null,10,Fe))),128)),(y(!0),p(l,null,x(X.value,(e,t)=>(y(),p(`rect`,{key:`stack_trap_${t}`,x:e.start,y:0,width:e.width,height:G.value.height,fill:`transparent`,stroke:`none`,class:g({animated:!W.value&&!w(z)}),onClick:()=>Z(e,t),onMouseenter:()=>vt({datapoint:e,seriesIndex:e.seriesIndex}),onMouseleave:t=>_t({datapoint:e,seriesIndex:e.seriesIndex})},null,42,Ie))),128))],8,Me),m(`rect`,{x:`0.5`,y:`0.5`,width:G.value.width-1,height:G.value.height-1,rx:Math.max(0,yt.value-.5),fill:`none`,stroke:R.value.backgroundColor,"stroke-width":`1`,"pointer-events":`none`},null,8,Le)],64)):(y(),p(`rect`,{key:1,x:2,y:1,width:G.value.width-4,height:G.value.height-2,stroke:`#CCCCCC`,"stroke-width":`2`,fill:`transparent`,rx:(G.value.height-4)/2},null,8,Re))],40,ke)),e.$slots.hint?(y(),p(`div`,ze,[S(e.$slots,`hint`,_(h({hint:P.value.a11y.translations.keyboardNavigation,isVisible:et.value})),void 0,!0)])):f(``,!0)]),I.value.show?(y(),p(`div`,{key:2,style:v(`background:transparent;margin:0 auto;margin:${I.value.margin};justify-content:${I.value.textAlign===`left`?`flex-start`:I.value.textAlign===`right`?`flex-end`:`center`}`),class:`vue-ui-sparkstackbar-legend`,"aria-label":`legend`,role:`toolbar`},[I.value.selectAllToggle.show&&q.value.length>2&&!w(z)?(y(),d(he,{key:0,backgroundColor:I.value.selectAllToggle.backgroundColor,color:I.value.selectAllToggle.color,fontSize:I.value.fontSize,checked:K.value.length>0,isCursorPointer:rt.value,onToggle:dt},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0),(y(!0),p(l,null,x(q.value,(e,t)=>(y(),p(`div`,{role:`button`,tabindex:`0`,"aria-pressed":K.value.includes(t),"aria-label":`${e.name}, ${K.value.includes(t)?`hidden`:`visible`}, ${e.proportionLabel}`,style:v(`font-size:${I.value.fontSize}px;cursor:${rt.value?`pointer`:`default`}`),class:g({"vue-ui-sparkstackbar-legend-item":!0,"vue-ui-sparkstackbar-legend-item-unselected":K.value.includes(t)}),onClick:n=>{Y(t),Z(e,t,!0)},onFocus:t=>wt(e),onBlur:Tt,onKeydown:n=>Et(n,e,t)},[m(`div`,Ve,[(y(),p(`svg`,{height:`${I.value.fontSize}px`,width:`${I.value.fontSize}px`,viewBox:`0 0 10 10`},[m(`defs`,null,[be(me,{t:`radial`,id:`legend_grad_${t}-${D.value}`,stops:[[`0%`,w(z)?`#FFFFFF`:w(a)(w(ee)(e.color,.05),100-F.value.gradient.intensity),1],[`100%`,e.color,1]]},null,8,[`id`,`stops`])]),F.value.gradient.show?(y(),p(`rect`,{key:0,x:`0`,y:`0`,width:`10`,height:`10`,rx:Q.value,fill:F.value.gradient.underlayerColor},null,8,Ue)):f(``,!0),m(`rect`,{x:`0`,y:`0`,width:`10`,height:`10`,rx:Q.value,fill:F.value.gradient.show?`url(#legend_grad_${t}-${D.value})`:e.color},null,8,We)],8,He)),w(z)?f(``,!0):(y(),p(l,{key:0},[m(`span`,{style:v(`color:${I.value.name.color}; font-weight:${I.value.name.bold?`bold`:`normal`}`)},C(e.name),5),W.value?f(``,!0):(y(),p(l,{key:0},[I.value.percentage.show?(y(),p(`span`,{key:0,style:v(`font-weight:${I.value.percentage.bold?`bold`:`normal`};color:${I.value.percentage.color}`)},C(K.value.includes(t)?` - `:e.proportionLabel),5)):f(``,!0),I.value.value.show?(y(),p(`span`,{key:1,style:v(`font-weight:${I.value.value.bold?`bold`:`normal`};color:${I.value.value.color}`)},` (`+C(w(ne)(I.value.value.formatter,e.value,w(n)({p:I.value.value.prefix,v:e.value,s:I.value.value.suffix,r:I.value.value.rounding}),{datapoint:e,seriesIndex:t}))+`) `,5)):f(``,!0)],64))],64))])],46,Be))),256))],4)):f(``,!0),be(w(qe),{teleportTo:L.value.teleportTo,show:O.value&&L.value.show,parent:Ze.value,backgroundColor:L.value.backgroundColor,color:L.value.color,fontSize:L.value.fontSize,borderRadius:L.value.borderRadius,borderColor:L.value.borderColor,borderWidth:L.value.borderWidth,backgroundOpacity:L.value.backgroundOpacity,position:L.value.position,content:Qe.value,isCustom:A.value,offsetX:L.value.offsetX,offsetY:-124+L.value.offsetY,blockShiftY:!0,smooth:L.value.smooth,backdropFilter:L.value.backdropFilter,smoothForce:L.value.smoothForce,smoothSnapThreshold:L.value.smoothSnapThreshold,isA11yMode:M.value===`keyboard`,a11yPosition:$e.value},{"tooltip-before":T(()=>[S(e.$slots,`tooltip-before`,_(h({...k.value})),void 0,!0)]),tooltip:T(()=>[S(e.$slots,`tooltip`,_(h({...k.value})),void 0,!0)]),"tooltip-after":T(()=>[S(e.$slots,`tooltip-after`,_(h({...k.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`parent`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`content`,`isCustom`,`offsetX`,`offsetY`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),e.$slots.source?(y(),p(`div`,Ge,[S(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),S(e.$slots,`skeleton`,{},()=>[w(z)?(y(),d(le,{key:0})):f(``,!0)],!0)],4))}},[[`__scopeId`,`data-v-c969a2ef`]]);export{Ee as n,Ke as t};
|