vue-data-ui 3.28.2 → 3.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -1
- package/dist/{PackageVersion-BIhjLNBU.js → PackageVersion-CXT-eAuk.js} +1 -1
- package/dist/components/vue-ui-3d-bar.js +1 -1
- package/dist/components/vue-ui-age-pyramid.js +1 -1
- package/dist/components/vue-ui-annotator.js +1 -1
- package/dist/components/vue-ui-bullet.js +1 -1
- package/dist/components/vue-ui-bump.js +1 -1
- package/dist/components/vue-ui-candlestick.js +1 -1
- package/dist/components/vue-ui-carousel-table.js +1 -1
- package/dist/components/vue-ui-chestnut.js +1 -1
- package/dist/components/vue-ui-chord.js +1 -1
- package/dist/components/vue-ui-circle-pack.js +1 -1
- package/dist/components/vue-ui-cursor.js +1 -1
- package/dist/components/vue-ui-dag.js +1 -1
- package/dist/components/vue-ui-dashboard.js +1 -1
- package/dist/components/vue-ui-digits.js +1 -1
- package/dist/components/vue-ui-donut-evolution.js +1 -1
- package/dist/components/vue-ui-donut.js +1 -1
- package/dist/components/vue-ui-dumbbell.js +1 -1
- package/dist/components/vue-ui-flow.js +1 -1
- package/dist/components/vue-ui-funnel.js +1 -1
- package/dist/components/vue-ui-galaxy.js +1 -1
- package/dist/components/vue-ui-gauge.js +1 -1
- package/dist/components/vue-ui-geo.js +1 -1
- package/dist/components/vue-ui-gizmo.js +1 -1
- package/dist/components/vue-ui-graph.js +1 -1
- package/dist/components/vue-ui-heatmap.js +1 -1
- package/dist/components/vue-ui-hill.js +1 -1
- package/dist/components/vue-ui-history-plot.js +1 -1
- package/dist/components/vue-ui-horizontal-bar.js +1 -1
- package/dist/components/vue-ui-kpi.js +1 -1
- package/dist/components/vue-ui-mini-loader.js +1 -1
- package/dist/components/vue-ui-molecule.js +1 -1
- package/dist/components/vue-ui-mood-radar.js +1 -1
- package/dist/components/vue-ui-nested-donuts.js +1 -1
- package/dist/components/vue-ui-onion.js +1 -1
- package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
- package/dist/components/vue-ui-quadrant.js +1 -1
- package/dist/components/vue-ui-quick-chart.js +1 -1
- package/dist/components/vue-ui-radar.js +1 -1
- package/dist/components/vue-ui-rating.js +1 -1
- package/dist/components/vue-ui-relation-circle.js +1 -1
- package/dist/components/vue-ui-ridgeline.js +1 -1
- package/dist/components/vue-ui-rings.js +1 -1
- package/dist/components/vue-ui-scatter.js +1 -1
- package/dist/components/vue-ui-skeleton.js +1 -1
- package/dist/components/vue-ui-smiley.js +1 -1
- package/dist/components/vue-ui-spark-trend.js +1 -1
- package/dist/components/vue-ui-sparkbar.js +1 -1
- package/dist/components/vue-ui-sparkgauge.js +1 -1
- package/dist/components/vue-ui-sparkhistogram.js +1 -1
- package/dist/components/vue-ui-sparkline.js +1 -1
- package/dist/components/vue-ui-sparkstackbar.js +1 -1
- package/dist/components/vue-ui-stackbar.js +1 -1
- package/dist/components/vue-ui-stackline.js +1 -1
- package/dist/components/vue-ui-strip-plot.js +1 -1
- package/dist/components/vue-ui-table-heatmap.js +1 -1
- package/dist/components/vue-ui-table-sparkline.js +1 -1
- package/dist/components/vue-ui-table.js +1 -1
- package/dist/components/vue-ui-thermometer.js +1 -1
- package/dist/components/vue-ui-timer.js +1 -1
- package/dist/components/vue-ui-tiremarks.js +1 -1
- package/dist/components/vue-ui-treemap.js +1 -1
- package/dist/components/vue-ui-vertical-bar.js +1 -1
- package/dist/components/vue-ui-waffle.js +1 -1
- package/dist/components/vue-ui-wheel.js +1 -1
- package/dist/components/vue-ui-word-cloud.js +1 -1
- package/dist/components/vue-ui-world.js +1 -1
- package/dist/components/vue-ui-xy-canvas.js +1 -1
- package/dist/components/vue-ui-xy.js +1 -1
- package/dist/geoProjections-CX3Pvo1N.js +1 -0
- package/dist/llms.txt +9 -34
- package/dist/package-CgIKu3rP.js +1 -0
- package/dist/pdf-CVdqBWVS.js +1 -0
- package/dist/{render-common-B-s2XJ_I.js → render-common-C70bnUVe.js} +1 -1
- package/dist/ssr/vue-ui-donut.js +1 -1
- package/dist/ssr/vue-ui-xy.js +1 -1
- package/dist/ssr.js +1 -1
- package/dist/style.css +1 -1
- package/dist/{useHints-BH9r_0Vd.js → useHints-C-TwxM0Y.js} +1 -1
- package/dist/{useObjectBindings-DiMX4HGv.js → useObjectBindings-C15PEyQD.js} +1 -1
- package/dist/{usePrinter-sVoTzet1.js → usePrinter-DVf3YcG5.js} +1 -1
- package/dist/useSvgLabelLayout-42Kats14.js +1 -0
- package/dist/utils.js +1 -1
- package/dist/vue-data-ui-CrOhFey9.js +1 -0
- package/dist/vue-data-ui.js +1 -1
- package/dist/{vue-ui-3d-bar-CkHFiFp4.js → vue-ui-3d-bar-ljsy2rX6.js} +2 -2
- package/dist/{vue-ui-age-pyramid-vpIjdLg5.js → vue-ui-age-pyramid-a6CK7z3a.js} +1 -1
- package/dist/{vue-ui-annotator-CdCDYzdK.js → vue-ui-annotator-DCJdieNC.js} +3 -3
- package/dist/{vue-ui-bullet-rgxGRR1p.js → vue-ui-bullet-DX4A2Qwo.js} +2 -2
- package/dist/{vue-ui-bump-CeDsunDi.js → vue-ui-bump-IvRdB6MD.js} +2 -2
- package/dist/{vue-ui-candlestick-KJHOS5F7.js → vue-ui-candlestick-BgyUo13S.js} +2 -2
- package/dist/{vue-ui-carousel-table-CeI5SIxH.js → vue-ui-carousel-table-D01DGfA0.js} +1 -1
- package/dist/vue-ui-chestnut-DYrMSzmQ.js +1 -0
- package/dist/{vue-ui-chord-8rk7304-.js → vue-ui-chord-CwzQ7QbP.js} +2 -2
- package/dist/{vue-ui-circle-pack-BsH09EPG.js → vue-ui-circle-pack-DQHNM9sC.js} +2 -2
- package/dist/{vue-ui-cursor-Cpov2m58.js → vue-ui-cursor-CTFfbDX8.js} +1 -1
- package/dist/{vue-ui-dag-BHFL2cUA.js → vue-ui-dag-DF29_9Gg.js} +2 -2
- package/dist/{vue-ui-dashboard-BxXdhdNJ.js → vue-ui-dashboard-D98rMHjI.js} +1 -1
- package/dist/{vue-ui-digits-xHOLjA2_.js → vue-ui-digits-AoPCgSfP.js} +1 -1
- package/dist/{vue-ui-donut-CR3klUbX.js → vue-ui-donut-BQGnUso2.js} +1 -1
- package/dist/{vue-ui-donut-Vbp5Xs2-.js → vue-ui-donut-BYUkblpv.js} +2 -2
- package/dist/{vue-ui-donut-evolution-BTmztL3Y.js → vue-ui-donut-evolution-wxHDTKlg.js} +2 -2
- package/dist/{vue-ui-dumbbell-CDcgKS2A.js → vue-ui-dumbbell-DR7rjMt0.js} +2 -2
- package/dist/{vue-ui-flow-kVocPE27.js → vue-ui-flow-DtQlRSK_.js} +2 -2
- package/dist/vue-ui-funnel-BP3chlZy.js +1 -0
- package/dist/{vue-ui-galaxy-hP-9mVlB.js → vue-ui-galaxy-B7ogrJ6f.js} +1 -1
- package/dist/{vue-ui-gauge-BRabsLkh.js → vue-ui-gauge-CrmzNkjT.js} +1 -1
- package/dist/{vue-ui-geo-Dacnp6iw.js → vue-ui-geo-BbTvWbfX.js} +1 -1
- package/dist/{vue-ui-gizmo-Dp3hpHIX.js → vue-ui-gizmo-C3wgMKwb.js} +1 -1
- package/dist/{vue-ui-graph-DHU9hUry.js → vue-ui-graph-CzUVEiO-.js} +2 -2
- package/dist/{vue-ui-heatmap-kPnmZgWi.js → vue-ui-heatmap-BxR2ccwd.js} +1 -1
- package/dist/{vue-ui-hill-Ddbup7-b.js → vue-ui-hill-BDOd7LrC.js} +1 -1
- package/dist/{vue-ui-history-plot-CwO2o-2s.js → vue-ui-history-plot-0-vs_CVn.js} +2 -2
- package/dist/{vue-ui-horizontal-bar-CvX77vE4.js → vue-ui-horizontal-bar-C5pNTRKB.js} +2 -2
- package/dist/{vue-ui-kpi-CCOOwX_Q.js → vue-ui-kpi-Dfhsk0U1.js} +1 -1
- package/dist/{vue-ui-mini-loader-7gqQI5jy.js → vue-ui-mini-loader-Bbupx66Y.js} +1 -1
- package/dist/vue-ui-molecule-DUX1NUIY.js +1 -0
- package/dist/{vue-ui-mood-radar-GJ-lhgI0.js → vue-ui-mood-radar-B1N5AwX_.js} +1 -1
- package/dist/{vue-ui-nested-donuts-CrlPwpg8.js → vue-ui-nested-donuts-CfHH-cU6.js} +2 -2
- package/dist/{vue-ui-onion-CKmyy-Y_.js → vue-ui-onion-DRN-jIvq.js} +2 -2
- package/dist/{vue-ui-parallel-coordinate-plot-C0UqWt0M.js → vue-ui-parallel-coordinate-plot-UUPjQABF.js} +2 -2
- package/dist/{vue-ui-quadrant-CTGFBNo9.js → vue-ui-quadrant-zmtzn0lM.js} +2 -2
- package/dist/{vue-ui-quick-chart-ZBOPZhxA.js → vue-ui-quick-chart-DgU_IhKY.js} +2 -2
- package/dist/{vue-ui-radar-B1z3Ux3E.js → vue-ui-radar-BGSoxRaK.js} +1 -1
- package/dist/{vue-ui-rating-CV2b0tjA.js → vue-ui-rating-ChWXrWNJ.js} +1 -1
- package/dist/{vue-ui-relation-circle-DqN5N08e.js → vue-ui-relation-circle-XUw5UMrt.js} +1 -1
- package/dist/{vue-ui-ridgeline-DcSB5Qef.js → vue-ui-ridgeline-B5RJcFyA.js} +2 -2
- package/dist/{vue-ui-rings-CJqAnf-l.js → vue-ui-rings-BJaCLH2Q.js} +1 -1
- package/dist/{vue-ui-scatter-THQAeoWs.js → vue-ui-scatter-BA0hk_Tf.js} +2 -2
- package/dist/{vue-ui-skeleton-DqmhigQ0.js → vue-ui-skeleton-DpzaXPO3.js} +1 -1
- package/dist/{vue-ui-smiley-VTdQetY0.js → vue-ui-smiley--VTlUAdp.js} +1 -1
- package/dist/{vue-ui-spark-trend-B2Nf1raK.js → vue-ui-spark-trend-DJ63XtgQ.js} +1 -1
- package/dist/{vue-ui-sparkbar-CamZ_49V.js → vue-ui-sparkbar-C5wP9R67.js} +1 -1
- package/dist/{vue-ui-sparkgauge-Ffrp_7VV.js → vue-ui-sparkgauge-DQcAOGuG.js} +1 -1
- package/dist/{vue-ui-sparkhistogram-CLfzi3PO.js → vue-ui-sparkhistogram-BBiCxX6W.js} +1 -1
- package/dist/{vue-ui-sparkline-Y-sljnbS.js → vue-ui-sparkline-B_GkB9V_.js} +1 -1
- package/dist/{vue-ui-sparkstackbar-CYZ-ADO1.js → vue-ui-sparkstackbar-DSRXhqhJ.js} +1 -1
- package/dist/{vue-ui-stackbar-CQLYm10x.js → vue-ui-stackbar-QjOQHbld.js} +2 -2
- package/dist/{vue-ui-stackline-VpvF7MRx.js → vue-ui-stackline-CoII13bc.js} +2 -2
- package/dist/{vue-ui-strip-plot-B9Ogpw7K.js → vue-ui-strip-plot-d3UoFFrf.js} +2 -2
- package/dist/{vue-ui-table-Bi9C3LzP.js → vue-ui-table-CHFjZzW7.js} +1 -1
- package/dist/{vue-ui-table-heatmap-BtziURiu.js → vue-ui-table-heatmap-DzvPQnY9.js} +1 -1
- package/dist/{vue-ui-table-sparkline-DEVAL0cR.js → vue-ui-table-sparkline-BkZ7sn4X.js} +1 -1
- package/dist/{vue-ui-thermometer-ClN4EO0I.js → vue-ui-thermometer-B--g_Lkt.js} +1 -1
- package/dist/{vue-ui-timer-nqZxt1vU.js → vue-ui-timer-DmwEWrDh.js} +2 -2
- package/dist/{vue-ui-tiremarks-BeJBsgXo.js → vue-ui-tiremarks-160Gx7-3.js} +1 -1
- package/dist/{vue-ui-treemap-FA-yXwmv.js → vue-ui-treemap-B-Yjtob0.js} +1 -1
- package/dist/{vue-ui-waffle-CO07S6HV.js → vue-ui-waffle-BhzLg5ip.js} +1 -1
- package/dist/{vue-ui-wheel-BeaSWB4x.js → vue-ui-wheel-DHb4G42X.js} +1 -1
- package/dist/{vue-ui-word-cloud-C1OWGFng.js → vue-ui-word-cloud-BcpreM7A.js} +2 -2
- package/dist/{vue-ui-world-CUS_mKgl.js → vue-ui-world-BD9acchj.js} +2 -2
- package/dist/vue-ui-xy-C-2Phexw.js +24 -0
- package/dist/{vue-ui-xy-BigPHE0Q.js → vue-ui-xy-CB3lQs2m.js} +1 -1
- package/dist/{vue-ui-xy-canvas-CeC3gcrW.js → vue-ui-xy-canvas-Do4P4ajB.js} +2 -2
- package/package.json +141 -131
- package/dist/geoProjections-Bvj-eMvq.js +0 -1
- package/dist/package-DwcKiXuI.js +0 -1
- package/dist/pdf-DAicVFxx.js +0 -1
- package/dist/useSvgLabelLayout-D1I8sQUi.js +0 -1
- package/dist/vue-data-ui-BvHCscNE.js +0 -1
- package/dist/vue-ui-chestnut-CiY-2e77.js +0 -1
- package/dist/vue-ui-funnel-CZAdPYqK.js +0 -1
- package/dist/vue-ui-molecule-BPGs9Dom.js +0 -1
- package/dist/vue-ui-xy-6B_K-quN.js +0 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Yt as r,at as i,i as a,t as o,zt as s}from"./lib-rPeBMZrn.js";import{n as c,t as l}from"./useHints-BH9r_0Vd.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as d}from"./useNestedProp-DnGoh-XS.js";import{t as f}from"./DefGrad-DKMq1REY.js";import{Fragment as p,computed as m,createCommentVNode as h,createElementBlock as g,createElementVNode as _,createTextVNode as v,createVNode as y,normalizeClass as b,normalizeStyle as x,onMounted as S,openBlock as C,ref as w,renderList as T,renderSlot as E,toDisplayString as D,unref as O,useSlots as k,watch as A,withCtx as j,withKeys as M}from"vue";var N=[`xmlns`,`stroke`],P=[`stroke`],F=[`xmlns`,`viewBox`,`stroke`],I=[`viewBox`,`stroke`],L=/*#__PURE__*/ u({__name:`BaseSmilingUnit`,props:{config:{type:Object},unit:{type:Number},currentRating:{type:Number},getActiveColor:{type:Function},calcShapeFill:{type:Function},isReadonly:{type:Boolean},hasBreakdown:{type:Boolean},hoveredValue:{type:Number},isCursorPointer:{type:Boolean}},emits:[`rate`,`mouseenter`,`mouseleave`],setup(e,{emit:t}){let n=e,i=t;return(t,a)=>(C(),g(`div`,{tabindex:`0`,class:b({"vue-ui-smiley-rated":!e.config.readonly&&e.currentRating===e.unit}),style:x({cursor:e.config.readonly?`default`:n.isCursorPointer?`pointer`:`default`,height:e.config.style.itemSize+`px`,aspectRatio:`1/1`,position:`relative`}),onMouseenter:a[0]||=e=>i(`mouseenter`),onMouseleave:a[1]||=e=>i(`mouseleave`),onClick:a[2]||=t=>i(`rate`,e.unit),onKeyup:a[3]||=M(t=>i(`rate`,e.unit),[`enter`])},[e.config.style.tooltip.show&&e.hasBreakdown&&e.isReadonly?(C(),g(`div`,{key:0,class:`vue-ui-rating-tooltip`,style:x({border:`1px solid ${e.config.style.tooltip.borderColor}`,position:`absolute`,top:`${e.config.style.tooltip.offsetY-48}px`,left:`50%`,transform:`translateX(-50%)`,width:`fit-content`,textAlign:`center`,background:e.config.style.tooltip.backgroundColor,display:e.hoveredValue===e.unit-1?`block`:`none`,padding:`2px 12px`,borderRadius:e.config.style.tooltip.borderRadius+`px`,boxShadow:e.config.style.tooltip.boxShadow})},[_(`div`,{style:x({width:`100%`,display:`flex`,flexDirection:`row`,gap:`6px`,position:`relative`,textAlign:`center`,color:e.config.style.tooltip.color})},[_(`span`,{style:x(`font-size:${e.config.style.tooltip.fontSize}px`)},D(e.unit)+`:`,5),_(`span`,{style:x(`font-weight:${e.config.style.tooltip.bold?`bold`:`normal`};font-size:${e.config.style.tooltip.fontSize}px`)},[E(t.$slots,`rating`,{},void 0,!0)],4),_(`div`,{style:x(`font-family:Arial !important;position:absolute;top:calc(100% - 4px);left:50%;transform:translateX(-50%);color:${e.config.style.tooltip.borderColor}`)},` ▼ `,4)],4)],4)):h(``,!0),e.config.style.icons.filled?(C(),g(`svg`,{key:1,xmlns:O(o),style:{transition:`all 0.1s ease-in-out`,position:`absolute`,top:`0`,left:`0`},height:`100%`,viewBox:`0 0 24 24`,"stroke-width":`1.5`,stroke:e.getActiveColor(e.unit-1),fill:`none`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[_(`defs`,null,[y(f,{t:`radial`,id:`vueUiSmiley${e.unit-1}`,stops:[[`0%`,O(r)(e.config.style.colors.active[e.unit-1],.05),1],[`100%`,e.config.style.colors.active[e.unit-1],1]]},null,8,[`id`,`stops`])]),E(t.$slots,`path-icon-filled`,{},void 0,!0)],8,N)):(C(),g(`svg`,{key:2,style:{position:`absolute`,top:`0`,left:`0`,transition:`all 0.1s ease-in-out`},height:`100%`,viewBox:`0 0 24 24`,"stroke-width":`1.5`,stroke:e.getActiveColor(e.unit-1),fill:`none`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[E(t.$slots,`path-icon`,{},void 0,!0)],8,P)),e.config.style.icons.filled&&e.isReadonly?(C(),g(`svg`,{key:3,xmlns:O(o),style:{transition:`all 0.1s ease-in-out`,position:`absolute`,top:`0`,left:`0`},height:`100%`,viewBox:`0 0 ${e.calcShapeFill(e.unit-1)} 24`,"stroke-width":`1.5`,stroke:e.config.style.colors.activeReadonly[e.unit-1],fill:`none`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[_(`defs`,null,[y(f,{t:`radial`,id:`vueUiSmiley${e.unit-1}`,stops:[[`0%`,O(r)(e.config.style.colors.activeReadonly[e.unit-1],.05),1],[`100%`,e.config.style.colors.activeReadonly[e.unit-1],1]]},null,8,[`id`,`stops`])]),E(t.$slots,`path-icon-filled-readonly`,{},void 0,!0)],8,F)):h(``,!0),!e.config.style.icons.filled&&e.isReadonly?(C(),g(`svg`,{key:4,style:{position:`absolute`,top:`0`,left:`0`,transition:`all 0.1s ease-in-out`},height:`100%`,viewBox:`0 0 ${e.calcShapeFill(e.unit-1)} 24`,"stroke-width":`1.5`,stroke:e.config.style.colors.activeReadonly[e.unit-1],fill:`none`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[E(t.$slots,`path-icon-readonly`,{},void 0,!0)],8,I)):h(``,!0)],38))}},[[`__scopeId`,`data-v-9734e83c`]]),R=/* @__PURE__ */ e({default:()=>W}),z={key:0,class:`vue-ui-rating-title`,style:{width:`100%`}},B=[`d`,`fill`],V=[`d`],H=[`d`,`fill`],U=[`d`],W={__name:`vue-ui-smiley`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`rate`],setup(e,{expose:r,emit:o}){let{vue_ui_smiley:u}=t(),f=e,b=k(),E=o,O=w(null),M=w(W()),N=m(()=>M.value.style.rating),P=m(()=>M.value.style),F=m(()=>M.value.debug);S(()=>{b[`chart-background`]&&F.value&&console.warn(`VueUiSmiley does not support the #chart-background slot.`)});function I(){(!Object.hasOwn(f.dataset,`rating`)||s(f.dataset))&&i({componentName:`VueUiSmiley`,type:`datasetAttribute`,property:`rating`,debug:F.value})}S(I),c({config:()=>M.value,dataset:()=>[],component:`VueUiSmiley`,rules:[l.noHint]});let R=m(()=>M.value.useCursorPointer);function W(){return d({userConfig:f.config,defaultConfig:u})}A(()=>f.config,e=>{M.value=W(),J.value=M.value.readonly,I()},{deep:!0});let G=m(()=>{let e=f.dataset.rating;return e&&typeof e==`object`&&!Array.isArray(e)?X(e):e??null}),K=m(()=>typeof f.dataset.rating==`object`&&!Array.isArray(f.dataset.rating)),q=w(G.value);A(G,e=>{q.value=e});let J=w(M.value.readonly),Y=[{key:`smiley_0`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zm-5 9.86a4.5 4.5 0 00-3.214 1.35 1 1 0 101.428 1.4 2.5 2.5 0 013.572 0 1 1 0 001.428-1.4A4.5 4.5 0 0012 13.2zM9.01 9l-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9.5 15.25a3.5 3.5 0 015 0`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zm-5 9.86a4.5 4.5 0 00-3.214 1.35 1 1 0 101.428 1.4 2.5 2.5 0 013.572 0 1 1 0 001.428-1.4A4.5 4.5 0 0012 13.2zM9.01 9l-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9.5 15.25a3.5 3.5 0 015 0`},{key:`smiley_1`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM15 14H9l-.117.007a1 1 0 000 1.986L9 16h6l.117-.007a1 1 0 000-1.986L15 14zm-5.99-5-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9 15h6`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM15 14H9l-.117.007a1 1 0 000 1.986L9 16h6l.117-.007a1 1 0 000-1.986L15 14zm-5.99-5-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9 15h6`},{key:`smiley_2`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM9.01 9l-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM9.01 9l-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01`},{key:`smiley_3`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zm-1.8 10.946a1 1 0 00-1.414.014 2.5 2.5 0 01-3.572 0 1 1 0 00-1.428 1.4 4.5 4.5 0 006.428 0 1 1 0 00-.014-1.414zM9.01 9l-.127.007A1 1 0 009 11l.127-.007A1 1 0 009.01 9zm6 0-.127.007A1 1 0 0015 11l.127-.007A1 1 0 0015.01 9z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9.5 15a3.5 3.5 0 005 0`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zm-1.8 10.946a1 1 0 00-1.414.014 2.5 2.5 0 01-3.572 0 1 1 0 00-1.428 1.4 4.5 4.5 0 006.428 0 1 1 0 00-.014-1.414zM9.01 9l-.127.007A1 1 0 009 11l.127-.007A1 1 0 009.01 9zm6 0-.127.007A1 1 0 0015 11l.127-.007A1 1 0 0015.01 9z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9.5 15a3.5 3.5 0 005 0`},{key:`smiley_4`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM15 13H9a1 1 0 00-1 1v.05a3.975 3.975 0 003.777 3.97l.227.005a4.026 4.026 0 003.99-3.79l.006-.206A1 1 0 0015 13zm-5.99-5-.127.007A1 1 0 009 10l.127-.007A1 1 0 009.01 8zm6 0-.127.007A1 1 0 0015 10l.127-.007A1 1 0 0015.01 8z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12M9 9h.01M15 9h.01M8 13a4 4 0 108 0H8`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM15 13H9a1 1 0 00-1 1v.05a3.975 3.975 0 003.777 3.97l.227.005a4.026 4.026 0 003.99-3.79l.006-.206A1 1 0 0015 13zm-5.99-5-.127.007A1 1 0 009 10l.127-.007A1 1 0 009.01 8zm6 0-.127.007A1 1 0 0015 10l.127-.007A1 1 0 0015.01 8z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12M9 9h.01M15 9h.01M8 13a4 4 0 108 0H8`}];function X(e){if(e==null)return null;let t=0,n=0;for(let r in e){let i=Number(r),a=e[r];Number.isFinite(i)&&(t+=i*a,n+=a)}return n===0?0:t/n}function Z(e){let t=q.value-e;switch(!0){case t<0:return 0;case t>1:return 24;default:return t*24}}function Q(e){return M.value.readonly?P.value.colors.inactive[e]:q.value===e+1||O.value!==null&&O.value===e?P.value.icons.useGradient&&P.value.icons.filled?`url(#vueUiSmiley${e})`:P.value.colors.active[e]:P.value.colors.inactive[e]}let $=m(()=>({value:e,tooltip:t=!1})=>a(t?P.value.tooltip.formatter:N.value.formatter,e,n({v:e,r:t?P.value.tooltip.roundingValue:N.value.roundingValue}),M.value));function ee(e){J.value||(q.value=e,E(`rate`,e))}function te(){return q.value}function ne(e=!0){J.value=e}return r({getData:te,toggleReadonly:ne}),(e,t)=>(C(),g(`div`,{class:`vue-data-ui-component vue-ui-smiley`,style:x(`background:${P.value.backgroundColor};font-family:${P.value.fontFamily};width:100%;`),onMouseleave:t[1]||=e=>O.value=void 0},[P.value.title.text?(C(),g(`div`,z,[_(`div`,{style:x(`color:${P.value.title.color};font-weight:${P.value.title.bold?`bold`:`normal`};text-align:${P.value.title.textAlign};margin-bottom:${P.value.title.offsetY}px;font-size:${P.value.title.fontSize}px`)},D(P.value.title.text),5),P.value.title.subtitle.text?(C(),g(`div`,{key:0,style:x(`color:${P.value.title.subtitle.color};font-size:${P.value.title.subtitle.fontSize}px;text-align:${P.value.title.textAlign};margin-bottom:${P.value.title.subtitle.offsetY}px;font-weight:${P.value.title.subtitle.bold?`bold`:`normal`}`)},D(P.value.title.subtitle.text),5)):h(``,!0)])):h(``,!0),N.value.show&&N.value.position===`top`?(C(),g(`div`,{key:1,style:x(`width:100%;text-align:center;margin-bottom:${N.value.offsetY}px;font-size:${N.value.fontSize}px;font-weight:${N.value.bold?`bold`:`normal`};margin-left:${N.value.offsetX}px`)},D($.value({value:q.value})),5)):h(``,!0),_(`div`,{class:`vue-ui-smiley-wrapper`,style:x(`overflow:visible;height:${P.value.itemSize}px;width:fit-content;margin:0 auto;display:flex;align-items:center;justify-content:center;`)},[N.value.show&&N.value.position===`left`?(C(),g(`div`,{key:0,style:x(`width:fit-content;text-align:center;margin-bottom:${N.value.offsetY}px;font-size:${N.value.fontSize}px;font-weight:${N.value.bold?`bold`:`normal`};padding-right:${N.value.offsetX}px`)},D($.value({value:q.value})),5)):h(``,!0),(C(),g(p,null,T(Y,(e,n)=>y(L,{key:e.key,config:M.value,unit:n+1,currentRating:q.value,isReadonly:J.value,hasBreakdown:K.value,hoveredValue:O.value,getActiveColor:Q,calcShapeFill:Z,isCursorPointer:R.value,onMouseenter:e=>O.value=n,onMouseleave:t[0]||=e=>O.value=null,onRate:e=>ee(n+1)},{rating:j(()=>[v(D($.value({value:f.dataset.rating[String(n+1)],tooltip:!0})),1)]),"path-icon-filled":j(()=>[_(`path`,{d:e.pathIconFilled,"stroke-width":`0`,fill:Q(n)},null,8,B)]),"path-icon":j(()=>[_(`path`,{d:e.pathIcon},null,8,V)]),"path-icon-filled-readonly":j(()=>[_(`path`,{d:e.pathIconFilledReadonly,"stroke-width":`0`,fill:P.value.icons.useGradient?`url(#vueUiSmiley${n})`:P.value.colors.activeReadonly[n]},null,8,H)]),"path-icon-readonly":j(()=>[_(`path`,{d:e.pathIconReadonly},null,8,U)]),_:2},1032,[`config`,`unit`,`currentRating`,`isReadonly`,`hasBreakdown`,`hoveredValue`,`isCursorPointer`,`onMouseenter`,`onRate`])),64)),N.value.show&&N.value.position===`right`?(C(),g(`div`,{key:1,style:x(`width:fit-content;text-align:center;margin-bottom:${N.value.offsetY}px;font-size:${N.value.fontSize}px;font-weight:${N.value.bold?`bold`:`normal`};padding-left:${N.value.offsetX}px`)},D($.value({value:q.value})),5)):h(``,!0)],4),N.value.show&&N.value.position===`bottom`?(C(),g(`div`,{key:2,style:x(`width:100%;text-align:center;margin-top:${N.value.offsetY}px;font-size:${N.value.fontSize}px;font-weight:${N.value.bold?`bold`:`normal`};margin-left:${N.value.offsetX}px`)},D($.value({value:q.value})),5)):h(``,!0)],36))}};export{R as n,W as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Yt as r,at as i,i as a,t as o,zt as s}from"./lib-rPeBMZrn.js";import{n as c,t as l}from"./useHints-C-TwxM0Y.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as d}from"./useNestedProp-DnGoh-XS.js";import{t as f}from"./DefGrad-DKMq1REY.js";import{Fragment as p,computed as m,createCommentVNode as h,createElementBlock as g,createElementVNode as _,createTextVNode as v,createVNode as y,normalizeClass as b,normalizeStyle as x,onMounted as S,openBlock as C,ref as w,renderList as T,renderSlot as E,toDisplayString as D,unref as O,useSlots as k,watch as A,withCtx as j,withKeys as M}from"vue";var N=[`xmlns`,`stroke`],P=[`stroke`],F=[`xmlns`,`viewBox`,`stroke`],I=[`viewBox`,`stroke`],L=/*#__PURE__*/ u({__name:`BaseSmilingUnit`,props:{config:{type:Object},unit:{type:Number},currentRating:{type:Number},getActiveColor:{type:Function},calcShapeFill:{type:Function},isReadonly:{type:Boolean},hasBreakdown:{type:Boolean},hoveredValue:{type:Number},isCursorPointer:{type:Boolean}},emits:[`rate`,`mouseenter`,`mouseleave`],setup(e,{emit:t}){let n=e,i=t;return(t,a)=>(C(),g(`div`,{tabindex:`0`,class:b({"vue-ui-smiley-rated":!e.config.readonly&&e.currentRating===e.unit}),style:x({cursor:e.config.readonly?`default`:n.isCursorPointer?`pointer`:`default`,height:e.config.style.itemSize+`px`,aspectRatio:`1/1`,position:`relative`}),onMouseenter:a[0]||=e=>i(`mouseenter`),onMouseleave:a[1]||=e=>i(`mouseleave`),onClick:a[2]||=t=>i(`rate`,e.unit),onKeyup:a[3]||=M(t=>i(`rate`,e.unit),[`enter`])},[e.config.style.tooltip.show&&e.hasBreakdown&&e.isReadonly?(C(),g(`div`,{key:0,class:`vue-ui-rating-tooltip`,style:x({border:`1px solid ${e.config.style.tooltip.borderColor}`,position:`absolute`,top:`${e.config.style.tooltip.offsetY-48}px`,left:`50%`,transform:`translateX(-50%)`,width:`fit-content`,textAlign:`center`,background:e.config.style.tooltip.backgroundColor,display:e.hoveredValue===e.unit-1?`block`:`none`,padding:`2px 12px`,borderRadius:e.config.style.tooltip.borderRadius+`px`,boxShadow:e.config.style.tooltip.boxShadow})},[_(`div`,{style:x({width:`100%`,display:`flex`,flexDirection:`row`,gap:`6px`,position:`relative`,textAlign:`center`,color:e.config.style.tooltip.color})},[_(`span`,{style:x(`font-size:${e.config.style.tooltip.fontSize}px`)},D(e.unit)+`:`,5),_(`span`,{style:x(`font-weight:${e.config.style.tooltip.bold?`bold`:`normal`};font-size:${e.config.style.tooltip.fontSize}px`)},[E(t.$slots,`rating`,{},void 0,!0)],4),_(`div`,{style:x(`font-family:Arial !important;position:absolute;top:calc(100% - 4px);left:50%;transform:translateX(-50%);color:${e.config.style.tooltip.borderColor}`)},` ▼ `,4)],4)],4)):h(``,!0),e.config.style.icons.filled?(C(),g(`svg`,{key:1,xmlns:O(o),style:{transition:`all 0.1s ease-in-out`,position:`absolute`,top:`0`,left:`0`},height:`100%`,viewBox:`0 0 24 24`,"stroke-width":`1.5`,stroke:e.getActiveColor(e.unit-1),fill:`none`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[_(`defs`,null,[y(f,{t:`radial`,id:`vueUiSmiley${e.unit-1}`,stops:[[`0%`,O(r)(e.config.style.colors.active[e.unit-1],.05),1],[`100%`,e.config.style.colors.active[e.unit-1],1]]},null,8,[`id`,`stops`])]),E(t.$slots,`path-icon-filled`,{},void 0,!0)],8,N)):(C(),g(`svg`,{key:2,style:{position:`absolute`,top:`0`,left:`0`,transition:`all 0.1s ease-in-out`},height:`100%`,viewBox:`0 0 24 24`,"stroke-width":`1.5`,stroke:e.getActiveColor(e.unit-1),fill:`none`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[E(t.$slots,`path-icon`,{},void 0,!0)],8,P)),e.config.style.icons.filled&&e.isReadonly?(C(),g(`svg`,{key:3,xmlns:O(o),style:{transition:`all 0.1s ease-in-out`,position:`absolute`,top:`0`,left:`0`},height:`100%`,viewBox:`0 0 ${e.calcShapeFill(e.unit-1)} 24`,"stroke-width":`1.5`,stroke:e.config.style.colors.activeReadonly[e.unit-1],fill:`none`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[_(`defs`,null,[y(f,{t:`radial`,id:`vueUiSmiley${e.unit-1}`,stops:[[`0%`,O(r)(e.config.style.colors.activeReadonly[e.unit-1],.05),1],[`100%`,e.config.style.colors.activeReadonly[e.unit-1],1]]},null,8,[`id`,`stops`])]),E(t.$slots,`path-icon-filled-readonly`,{},void 0,!0)],8,F)):h(``,!0),!e.config.style.icons.filled&&e.isReadonly?(C(),g(`svg`,{key:4,style:{position:`absolute`,top:`0`,left:`0`,transition:`all 0.1s ease-in-out`},height:`100%`,viewBox:`0 0 ${e.calcShapeFill(e.unit-1)} 24`,"stroke-width":`1.5`,stroke:e.config.style.colors.activeReadonly[e.unit-1],fill:`none`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[E(t.$slots,`path-icon-readonly`,{},void 0,!0)],8,I)):h(``,!0)],38))}},[[`__scopeId`,`data-v-9734e83c`]]),R=/* @__PURE__ */ e({default:()=>W}),z={key:0,class:`vue-ui-rating-title`,style:{width:`100%`}},B=[`d`,`fill`],V=[`d`],H=[`d`,`fill`],U=[`d`],W={__name:`vue-ui-smiley`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`rate`],setup(e,{expose:r,emit:o}){let{vue_ui_smiley:u}=t(),f=e,b=k(),E=o,O=w(null),M=w(W()),N=m(()=>M.value.style.rating),P=m(()=>M.value.style),F=m(()=>M.value.debug);S(()=>{b[`chart-background`]&&F.value&&console.warn(`VueUiSmiley does not support the #chart-background slot.`)});function I(){(!Object.hasOwn(f.dataset,`rating`)||s(f.dataset))&&i({componentName:`VueUiSmiley`,type:`datasetAttribute`,property:`rating`,debug:F.value})}S(I),c({config:()=>M.value,dataset:()=>[],component:`VueUiSmiley`,rules:[l.noHint]});let R=m(()=>M.value.useCursorPointer);function W(){return d({userConfig:f.config,defaultConfig:u})}A(()=>f.config,e=>{M.value=W(),J.value=M.value.readonly,I()},{deep:!0});let G=m(()=>{let e=f.dataset.rating;return e&&typeof e==`object`&&!Array.isArray(e)?X(e):e??null}),K=m(()=>typeof f.dataset.rating==`object`&&!Array.isArray(f.dataset.rating)),q=w(G.value);A(G,e=>{q.value=e});let J=w(M.value.readonly),Y=[{key:`smiley_0`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zm-5 9.86a4.5 4.5 0 00-3.214 1.35 1 1 0 101.428 1.4 2.5 2.5 0 013.572 0 1 1 0 001.428-1.4A4.5 4.5 0 0012 13.2zM9.01 9l-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9.5 15.25a3.5 3.5 0 015 0`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zm-5 9.86a4.5 4.5 0 00-3.214 1.35 1 1 0 101.428 1.4 2.5 2.5 0 013.572 0 1 1 0 001.428-1.4A4.5 4.5 0 0012 13.2zM9.01 9l-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9.5 15.25a3.5 3.5 0 015 0`},{key:`smiley_1`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM15 14H9l-.117.007a1 1 0 000 1.986L9 16h6l.117-.007a1 1 0 000-1.986L15 14zm-5.99-5-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9 15h6`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM15 14H9l-.117.007a1 1 0 000 1.986L9 16h6l.117-.007a1 1 0 000-1.986L15 14zm-5.99-5-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9 15h6`},{key:`smiley_2`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM9.01 9l-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM9.01 9l-.127.007a1 1 0 000 1.986L9 11l.127-.007a1 1 0 000-1.986L9.01 9zm6 0-.127.007a1 1 0 000 1.986L15 11l.127-.007a1 1 0 000-1.986L15.01 9z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01`},{key:`smiley_3`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zm-1.8 10.946a1 1 0 00-1.414.014 2.5 2.5 0 01-3.572 0 1 1 0 00-1.428 1.4 4.5 4.5 0 006.428 0 1 1 0 00-.014-1.414zM9.01 9l-.127.007A1 1 0 009 11l.127-.007A1 1 0 009.01 9zm6 0-.127.007A1 1 0 0015 11l.127-.007A1 1 0 0015.01 9z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9.5 15a3.5 3.5 0 005 0`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zm-1.8 10.946a1 1 0 00-1.414.014 2.5 2.5 0 01-3.572 0 1 1 0 00-1.428 1.4 4.5 4.5 0 006.428 0 1 1 0 00-.014-1.414zM9.01 9l-.127.007A1 1 0 009 11l.127-.007A1 1 0 009.01 9zm6 0-.127.007A1 1 0 0015 11l.127-.007A1 1 0 0015.01 9z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12m6-2h.01M15 10h.01M9.5 15a3.5 3.5 0 005 0`},{key:`smiley_4`,pathIconFilled:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM15 13H9a1 1 0 00-1 1v.05a3.975 3.975 0 003.777 3.97l.227.005a4.026 4.026 0 003.99-3.79l.006-.206A1 1 0 0015 13zm-5.99-5-.127.007A1 1 0 009 10l.127-.007A1 1 0 009.01 8zm6 0-.127.007A1 1 0 0015 10l.127-.007A1 1 0 0015.01 8z`,pathIcon:`M3 12a9 9 0 1018 0A9 9 0 103 12M9 9h.01M15 9h.01M8 13a4 4 0 108 0H8`,pathIconFilledReadonly:`M17 3.34A10 10 0 112.005 12.324L2 12l.005-.324A10 10 0 0117 3.34zM15 13H9a1 1 0 00-1 1v.05a3.975 3.975 0 003.777 3.97l.227.005a4.026 4.026 0 003.99-3.79l.006-.206A1 1 0 0015 13zm-5.99-5-.127.007A1 1 0 009 10l.127-.007A1 1 0 009.01 8zm6 0-.127.007A1 1 0 0015 10l.127-.007A1 1 0 0015.01 8z`,pathIconReadonly:`M3 12a9 9 0 1018 0A9 9 0 103 12M9 9h.01M15 9h.01M8 13a4 4 0 108 0H8`}];function X(e){if(e==null)return null;let t=0,n=0;for(let r in e){let i=Number(r),a=e[r];Number.isFinite(i)&&(t+=i*a,n+=a)}return n===0?0:t/n}function Z(e){let t=q.value-e;switch(!0){case t<0:return 0;case t>1:return 24;default:return t*24}}function Q(e){return M.value.readonly?P.value.colors.inactive[e]:q.value===e+1||O.value!==null&&O.value===e?P.value.icons.useGradient&&P.value.icons.filled?`url(#vueUiSmiley${e})`:P.value.colors.active[e]:P.value.colors.inactive[e]}let $=m(()=>({value:e,tooltip:t=!1})=>a(t?P.value.tooltip.formatter:N.value.formatter,e,n({v:e,r:t?P.value.tooltip.roundingValue:N.value.roundingValue}),M.value));function ee(e){J.value||(q.value=e,E(`rate`,e))}function te(){return q.value}function ne(e=!0){J.value=e}return r({getData:te,toggleReadonly:ne}),(e,t)=>(C(),g(`div`,{class:`vue-data-ui-component vue-ui-smiley`,style:x(`background:${P.value.backgroundColor};font-family:${P.value.fontFamily};width:100%;`),onMouseleave:t[1]||=e=>O.value=void 0},[P.value.title.text?(C(),g(`div`,z,[_(`div`,{style:x(`color:${P.value.title.color};font-weight:${P.value.title.bold?`bold`:`normal`};text-align:${P.value.title.textAlign};margin-bottom:${P.value.title.offsetY}px;font-size:${P.value.title.fontSize}px`)},D(P.value.title.text),5),P.value.title.subtitle.text?(C(),g(`div`,{key:0,style:x(`color:${P.value.title.subtitle.color};font-size:${P.value.title.subtitle.fontSize}px;text-align:${P.value.title.textAlign};margin-bottom:${P.value.title.subtitle.offsetY}px;font-weight:${P.value.title.subtitle.bold?`bold`:`normal`}`)},D(P.value.title.subtitle.text),5)):h(``,!0)])):h(``,!0),N.value.show&&N.value.position===`top`?(C(),g(`div`,{key:1,style:x(`width:100%;text-align:center;margin-bottom:${N.value.offsetY}px;font-size:${N.value.fontSize}px;font-weight:${N.value.bold?`bold`:`normal`};margin-left:${N.value.offsetX}px`)},D($.value({value:q.value})),5)):h(``,!0),_(`div`,{class:`vue-ui-smiley-wrapper`,style:x(`overflow:visible;height:${P.value.itemSize}px;width:fit-content;margin:0 auto;display:flex;align-items:center;justify-content:center;`)},[N.value.show&&N.value.position===`left`?(C(),g(`div`,{key:0,style:x(`width:fit-content;text-align:center;margin-bottom:${N.value.offsetY}px;font-size:${N.value.fontSize}px;font-weight:${N.value.bold?`bold`:`normal`};padding-right:${N.value.offsetX}px`)},D($.value({value:q.value})),5)):h(``,!0),(C(),g(p,null,T(Y,(e,n)=>y(L,{key:e.key,config:M.value,unit:n+1,currentRating:q.value,isReadonly:J.value,hasBreakdown:K.value,hoveredValue:O.value,getActiveColor:Q,calcShapeFill:Z,isCursorPointer:R.value,onMouseenter:e=>O.value=n,onMouseleave:t[0]||=e=>O.value=null,onRate:e=>ee(n+1)},{rating:j(()=>[v(D($.value({value:f.dataset.rating[String(n+1)],tooltip:!0})),1)]),"path-icon-filled":j(()=>[_(`path`,{d:e.pathIconFilled,"stroke-width":`0`,fill:Q(n)},null,8,B)]),"path-icon":j(()=>[_(`path`,{d:e.pathIcon},null,8,V)]),"path-icon-filled-readonly":j(()=>[_(`path`,{d:e.pathIconFilledReadonly,"stroke-width":`0`,fill:P.value.icons.useGradient?`url(#vueUiSmiley${n})`:P.value.colors.activeReadonly[n]},null,8,H)]),"path-icon-readonly":j(()=>[_(`path`,{d:e.pathIconReadonly},null,8,U)]),_:2},1032,[`config`,`unit`,`currentRating`,`isReadonly`,`hasBreakdown`,`hoveredValue`,`isCursorPointer`,`onMouseenter`,`onRate`])),64)),N.value.show&&N.value.position===`right`?(C(),g(`div`,{key:1,style:x(`width:fit-content;text-align:center;margin-bottom:${N.value.offsetY}px;font-size:${N.value.fontSize}px;font-weight:${N.value.bold?`bold`:`normal`};padding-left:${N.value.offsetX}px`)},D($.value({value:q.value})),5)):h(``,!0)],4),N.value.show&&N.value.position===`bottom`?(C(),g(`div`,{key:2,style:x(`width:100%;text-align:center;margin-top:${N.value.offsetY}px;font-size:${N.value.fontSize}px;font-weight:${N.value.bold?`bold`:`normal`};margin-left:${N.value.offsetX}px`)},D($.value({value:q.value})),5)):h(``,!0)],36))}};export{R as n,W as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Jt as r,Mt as i,P as a,X as ee,at as te,b as o,g as ne,i as re,in as ie,t as ae,zt as s}from"./lib-rPeBMZrn.js";import{n as oe,t as se}from"./BaseScanner-8NdoBs7B.js";import{n as ce,t as le}from"./useHints-BH9r_0Vd.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ue}from"./resolveChartConfig-CIhClE5R.js";import{c as de}from"./canvas-lib-22VpOI4_.js";import{t as fe}from"./useResponsive-CENUxfEL.js";import{t as pe}from"./DefGrad-DKMq1REY.js";import{t as me}from"./usePrefersMotion-XLHwega2.js";import{t as he}from"./useFitSvgText-C1QC4P5G.js";import{t as ge}from"./vue_ui_spark_trend-BOM3zo64.js";import{computed as l,createBlock as _e,createCommentVNode as u,createElementBlock as d,createElementVNode as ve,createVNode as ye,defineAsyncComponent as be,nextTick as xe,normalizeStyle as Se,onMounted as Ce,openBlock as f,ref as p,renderSlot as m,toDisplayString as h,toRefs as we,unref as g,watch as _}from"vue";var Te=/* @__PURE__ */ e({default:()=>v}),Ee=[`id`,`aria-describedby`],De=[`id`],Oe=[`xmlns`,`viewBox`],ke=[`width`,`height`],Ae={key:1},je=[`d`,`fill`],Me=[`d`,`fill`],Ne=[`d`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`],Pe=[`d`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`],Fe=[`d`],Ie=[`fill`,`d`],Le=[`x`,`y`,`width`,`height`],Re=[`x`,`y`,`fill`,`font-size`,`font-weight`],ze=[`stroke`,`cx`,`cy`,`fill`],Be=[`x`,`y`,`font-size`,`fill`,`font-weight`],v=/*#__PURE__*/ c({__name:`vue-ui-spark-trend`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},setup(e){let c=be(()=>import(`./PackageVersion-BIhjLNBU.js`).then(e=>e.t)),{vue_ui_spark_trend:Te}=t(),v=me(),y=e,b=p(null),Ve=p(null),x=p(null),S=p(null),C=p(null),w=p(!1),T=p(null),E=p(ee()),D=p(I()),O=l(()=>D.value.style.dataLabel),k=l(()=>D.value.style.trendLabel),A=l(()=>D.value.style.line),j=l(()=>D.value.style.area),M=l(()=>D.value.style);ce({config:()=>D.value,dataset:()=>y.dataset,component:`VueUiSparkTrend`,rules:[le.emptyArray,{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.`]}]});let He=l(()=>ie({defaultConfig:{style:{animation:{show:!1},backgroundColor:`#99999930`,line:{stroke:`#6A6A6A`,useColorTrend:!1},dataLabel:{show:!1,useColorTrend:!1,color:`#6A6A6A`}}},userConfig:D.value.skeletonConfig??{}})),{loading:N,FINAL_DATASET:P,manualLoading:F}=oe({...we(y),FINAL_CONFIG:D,prepareConfig:I,skeletonDataset:y.config?.skeletonDataset??[1,2,3,5,8,13,21,34,55,89,144,233],skeletonConfig:ie({defaultConfig:D.value,userConfig:He.value})});function I(){return ue(y.config,Te,ge)}let L=l(()=>i({data:P.value,threshold:D.value.downsample.threshold}));_(()=>y.config,e=>{D.value=I(),H.value=M.value.width,U.value=M.value.height,V()},{deep:!0});function R(e){return e.map(e=>o(e))}let z=p(i({data:P.value,threshold:D.value.downsample.threshold}).map(e=>M.value.animation.show&&!v.value||[void 0,1/0,-1/0,null,NaN].includes(e)?null:e));_(L,e=>{T.value&&=(cancelAnimationFrame(T.value),null),M.value.animation.show&&!v.value?z.value=Array(e.length).fill(null):z.value=e.map(e=>![void 0,1/0,-1/0,null].includes(e)&&!Number.isNaN(e)?e:null),B(),xe(()=>$(`.vue-ui-sparktrend-progress-label`,6))},{deep:!0,immediate:!0}),_(()=>JSON.stringify(y.dataset),()=>{T.value&&=(cancelAnimationFrame(T.value),null),F.value=s(y.dataset);let e=L.value;z.value=M.value.animation.show&&!v.value?Array(e.length).fill(null):e.map(e=>Number.isFinite(e)?e:null),B(),xe(()=>$(`.vue-ui-sparktrend-progress-label`,6))},{deep:!1,immediate:!0});function B(){let e=1e3/M.value.animation.animationFrames,t=performance.now();if(!N.value&&M.value.animation.show&&!v.value&&M.value.animation.animationFrames&&P.value.length>1){z.value=[];let n=0;function r(){w.value=!0;let i=performance.now(),a=i-t;a>e?(t=i-a%e,n<L.value.length?(z.value.push(L.value[n]),n+=1,T.value=requestAnimationFrame(r)):(cancelAnimationFrame(T.value),z.value=R(L.value),w.value=!1,$(`.vue-ui-sparktrend-progress-label`,6))):T.value=requestAnimationFrame(r)}r()}}Ce(()=>{V()});let Ue=l(()=>D.value.debug);function V(){if(s(y.dataset)&&(te({componentName:`VueUiSparkTrend`,type:`dataset`,debug:Ue.value}),F.value=!0),s(y.dataset)||(F.value=!1),D.value.responsive){let e=de(()=>{let{width:e,height:t}=fe({chart:b.value,source:x.value});requestAnimationFrame(()=>{H.value=e,U.value=t})});S.value&&(C.value&&S.value.unobserve(C.value),S.value.disconnect()),S.value=new ResizeObserver(e),C.value=b.value.parentNode,S.value.observe(C.value)}B(),$(`.vue-ui-sparktrend-progress-label`,6)}let H=p(M.value.width),U=p(M.value.height),W=l(()=>({height:U.value,width:H.value})),G=l(()=>({top:M.value.padding.top,left:M.value.padding.left,right:W.value.width-M.value.padding.right,bottom:W.value.height-M.value.padding.bottom,height:W.value.height-(M.value.padding.top+M.value.padding.bottom)-(O.value.show?O.value.fontSize:0),width:W.value.width-(M.value.padding.left+M.value.padding.right)})),K=l(()=>{let e=R(L.value).filter(Number.isFinite);if(!e.length)return{max:0,min:0};let t=e[0],n=e[0];for(let r=1;r<e.length;r++){let i=e[r];i>t&&(t=i),i<n&&(n=i)}return{max:t,min:n}}),We=l(()=>{let e=L.value,t=e.length?e[e.length-1]:`x`;return[E.value,e.length,Number.isFinite(t)?t:`x`,D.value.downsample.threshold,A.value.smooth?`s`:`l`].join(`-`)}),q=l(()=>{let e=K.value.min>=0?0:K.value.min;return Math.abs(e)}),Ge=l(()=>K.value.max+q.value);function Ke(e){return e/Ge.value}let qe=l(()=>L.value.length),J=l(()=>z.value.map((e,t)=>{let n=isNaN(e)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(e)?0:e||0;return{value:o(e),absoluteValue:o(n),plotValue:o(n+q.value),toMax:Ke(n+q.value),x:G.value.left+o(t*(G.value.width/(qe.value-1)))-M.value.padding.right,y:G.value.bottom-o(G.value.height*Ke(n+q.value))}})),Y=l(()=>{let e=R(L.value);return k.value.trendType===`global`?ne(e):k.value.trendType===`n-1`&&e.length>1?(e.at(-1)/e.at(-2)-1)*100:k.value.trendType===`lastToFirst`?(e.at(-1)/e[0]-1)*100:0}),X=l(()=>w.value||Y.value===0?`neutral`:Y.value>0?`positive`:`negative`),Z=l(()=>M.value.arrow.colors[X.value]),Je=l(()=>{let e={x:J.value[0].x,y:W.value.height-6},t={x:J.value[J.value.length-1].x,y:W.value.height-6},n=[];return J.value.forEach(e=>{n.push(`${e.x},${e.y} `)}),[e.x,e.y,...n,t.x,t.y].toString()}),Ye=l(()=>{let e=[];return J.value.forEach(t=>{e.push(`${t.x},${t.y} `)}),`M ${e.toString()}`}),Q=l(()=>U.value/2-k.value.fontSize),Xe=l(()=>G.value.left*.8),{fitText:$}=he({svgRef:Ve,unitWidth:Xe,fontSize:k.value.fontSize}),Ze=l(()=>{if(N.value||w.value)return`Trend chart loading`;let e=J.value?.at(-1),t=e?.value,r=n({p:Y.value>0?`+`:``,v:Y.value,s:`%`,r:k.value.rounding}),i=t==null?`not available`:re(O.value.formatter,t,n({p:O.value.prefix,v:t,s:O.value.suffix,r:O.value.rounding}),{datapoint:e});return`Progression ${X.value===`positive`?`up ${r}`:X.value===`negative`?`down ${r}`:`stable at ${r}`}. Last value ${i}.`}),Qe=l(()=>`sparktrend-a11y-${E.value}`);return(e,t)=>(f(),d(`div`,{ref_key:`sparkTrendChart`,ref:b,class:`vue-data-ui-component vue-ui-spark-trend`,id:E.value,style:Se(`width:100%;font-family:${M.value.fontFamily};background:${M.value.backgroundColor}`),role:`img`,"aria-describedby":Qe.value},[ve(`p`,{id:Qe.value,class:`sr-only`,"aria-live":`polite`},h(Ze.value),9,De),(f(),d(`svg`,{key:We.value,ref_key:`svgRef`,ref:Ve,xmlns:g(ae),viewBox:`0 0 ${W.value.width} ${W.value.height}`,style:`width:100%;background:transparent;overflow:visible`,"aria-hidden":`true`},[ye(g(c)),e.$slots[`chart-background`]?(f(),d(`foreignObject`,{key:0,x:0,y:0,width:W.value.width<=0?10:W.value.width,height:W.value.height<=0?10:W.value.height,style:{pointerEvents:`none`}},[m(e.$slots,`chart-background`,{},void 0,!0)],8,ke)):u(``,!0),ve(`defs`,null,[ye(pe,{t:`linear`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,id:`pill_gradient_${E.value}`,stops:[[`0%`,g(r)(A.value.useColorTrend?Z.value:A.value.stroke,j.value.opacity),1],[`100%`,M.value.backgroundColor,1]]},null,8,[`id`,`stops`])]),j.value.show&&J.value[0]?(f(),d(`g`,Ae,[A.value.smooth?(f(),d(`path`,{key:0,d:`M ${J.value[0].x},${G.value.bottom} ${g(a)(J.value)} L ${J.value.at(-1).x},${G.value.bottom} Z`,fill:j.value.useGradient?`url(#pill_gradient_${E.value})`:g(r)(A.value.useColorTrend?Z.value:A.value.stroke,j.value.opacity),stroke:`none`},null,8,je)):(f(),d(`path`,{key:1,d:`M${Je.value}Z`,fill:j.value.useGradient?`url(#pill_gradient_${E.value})`:g(r)(A.value.useColorTrend?Z.value:A.value.stroke,j.value.opacity),stroke:`none`},null,8,Me))])):u(``,!0),A.value.smooth&&J.value.length?(f(),d(`path`,{key:2,d:`M ${g(a)(J.value)}`,stroke:A.value.useColorTrend?Z.value:A.value.stroke,fill:`none`,"stroke-width":A.value.strokeWidth,"stroke-linecap":A.value.strokeLinecap,"stroke-linejoin":A.value.strokeLinejoin},null,8,Ne)):u(``,!0),!A.value.smooth&&J.value.length?(f(),d(`path`,{key:3,d:Ye.value,stroke:A.value.useColorTrend?Z.value:A.value.stroke,fill:`none`,"stroke-width":A.value.strokeWidth,"stroke-linecap":A.value.strokeLinecap,"stroke-linejoin":A.value.strokeLinejoin},null,8,Pe)):u(``,!0),g(N)?(f(),d(`path`,{key:4,fill:`#6A6A6A`,d:`M ${G.value.left/2+6}, ${Q.value+7} ${G.value.left/2-7}, ${Q.value} ${G.value.left/2-7}, ${Q.value+14} Z`},null,8,Fe)):(f(),d(`path`,{key:5,fill:Z.value,d:X.value===`positive`?`M ${G.value.left/2}, ${Q.value} ${G.value.left/2-7}, ${Q.value+12} ${G.value.left/2+7}, ${Q.value+12} Z`:X.value===`negative`?`M ${G.value.left/2}, ${Q.value+12} ${G.value.left/2-7}, ${Q.value} ${G.value.left/2+7}, ${Q.value} Z`:`M ${G.value.left/2+6}, ${Q.value+7} ${G.value.left/2-7}, ${Q.value} ${G.value.left/2-7}, ${Q.value+14} Z`},null,8,Ie)),g(N)?(f(),d(`rect`,{key:6,x:G.value.left/2-k.value.fontSize-2,y:U.value/2+k.value.fontSize-2,width:k.value.fontSize*2,height:k.value.fontSize,fill:`#6A6A6A80`,rx:`3`},null,8,Le)):u(``,!0),!w.value&&!g(N)?(f(),d(`text`,{key:7,class:`vue-ui-sparktrend-progress-label`,x:G.value.left/2,y:U.value/2+k.value.fontSize*2,"text-anchor":`middle`,fill:k.value.useColorTrend?Z.value:k.value.color,"font-size":k.value.fontSize,"font-weight":k.value.bold?`bold`:`normal`},h(g(n)({p:Y.value>0?`+`:``,v:Y.value,s:`%`,r:k.value.rounding})),9,Re)):u(``,!0),J.value.length&&J.value.at(-1).x!==void 0?(f(),d(`circle`,{key:8,stroke:M.value.backgroundColor,"stroke-width":2,cx:J.value.at(-1).x,cy:J.value.at(-1).y,r:4,fill:g(N)?`#6A6A6A`:Z.value},null,8,ze)):u(``,!0),J.value.length&&J.value.at(-1).x!==void 0&&O.value.show?(f(),d(`text`,{key:9,"text-anchor":`middle`,x:J.value.at(-1).x,y:J.value.at(-1).y-O.value.fontSize/1.5,"font-size":O.value.fontSize,fill:O.value.useColorTrend?Z.value:O.value.color,"font-weight":O.value.bold?`bold`:`normal`},h(g(re)(O.value.formatter,J.value.at(-1).value,g(n)({p:O.value.prefix,v:J.value.at(-1).value,s:O.value.suffix,r:O.value.rounding}),{datapoint:J.value.at(-1)})),9,Be)):u(``,!0)],8,Oe)),e.$slots.source?(f(),d(`div`,{key:0,ref_key:`source`,ref:x,dir:`auto`},[m(e.$slots,`source`,{},void 0,!0)],512)):u(``,!0),m(e.$slots,`skeleton`,{},()=>[g(N)?(f(),_e(se,{key:0})):u(``,!0)],!0)],12,Ee))}},[[`__scopeId`,`data-v-814f1b0f`]]);export{Te as n,v as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Jt as r,Mt as i,P as a,X as ee,at as te,b as o,g as ne,i as re,in as ie,t as ae,zt as s}from"./lib-rPeBMZrn.js";import{n as oe,t as se}from"./BaseScanner-8NdoBs7B.js";import{n as ce,t as le}from"./useHints-C-TwxM0Y.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ue}from"./resolveChartConfig-CIhClE5R.js";import{c as de}from"./canvas-lib-22VpOI4_.js";import{t as fe}from"./useResponsive-CENUxfEL.js";import{t as pe}from"./DefGrad-DKMq1REY.js";import{t as me}from"./usePrefersMotion-XLHwega2.js";import{t as he}from"./useFitSvgText-C1QC4P5G.js";import{t as ge}from"./vue_ui_spark_trend-BOM3zo64.js";import{computed as l,createBlock as _e,createCommentVNode as u,createElementBlock as d,createElementVNode as ve,createVNode as ye,defineAsyncComponent as be,nextTick as xe,normalizeStyle as Se,onMounted as Ce,openBlock as f,ref as p,renderSlot as m,toDisplayString as h,toRefs as we,unref as g,watch as _}from"vue";var Te=/* @__PURE__ */ e({default:()=>v}),Ee=[`id`,`aria-describedby`],De=[`id`],Oe=[`xmlns`,`viewBox`],ke=[`width`,`height`],Ae={key:1},je=[`d`,`fill`],Me=[`d`,`fill`],Ne=[`d`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`],Pe=[`d`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`],Fe=[`d`],Ie=[`fill`,`d`],Le=[`x`,`y`,`width`,`height`],Re=[`x`,`y`,`fill`,`font-size`,`font-weight`],ze=[`stroke`,`cx`,`cy`,`fill`],Be=[`x`,`y`,`font-size`,`fill`,`font-weight`],v=/*#__PURE__*/ c({__name:`vue-ui-spark-trend`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},setup(e){let c=be(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),{vue_ui_spark_trend:Te}=t(),v=me(),y=e,b=p(null),Ve=p(null),x=p(null),S=p(null),C=p(null),w=p(!1),T=p(null),E=p(ee()),D=p(I()),O=l(()=>D.value.style.dataLabel),k=l(()=>D.value.style.trendLabel),A=l(()=>D.value.style.line),j=l(()=>D.value.style.area),M=l(()=>D.value.style);ce({config:()=>D.value,dataset:()=>y.dataset,component:`VueUiSparkTrend`,rules:[le.emptyArray,{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.`]}]});let He=l(()=>ie({defaultConfig:{style:{animation:{show:!1},backgroundColor:`#99999930`,line:{stroke:`#6A6A6A`,useColorTrend:!1},dataLabel:{show:!1,useColorTrend:!1,color:`#6A6A6A`}}},userConfig:D.value.skeletonConfig??{}})),{loading:N,FINAL_DATASET:P,manualLoading:F}=oe({...we(y),FINAL_CONFIG:D,prepareConfig:I,skeletonDataset:y.config?.skeletonDataset??[1,2,3,5,8,13,21,34,55,89,144,233],skeletonConfig:ie({defaultConfig:D.value,userConfig:He.value})});function I(){return ue(y.config,Te,ge)}let L=l(()=>i({data:P.value,threshold:D.value.downsample.threshold}));_(()=>y.config,e=>{D.value=I(),H.value=M.value.width,U.value=M.value.height,V()},{deep:!0});function R(e){return e.map(e=>o(e))}let z=p(i({data:P.value,threshold:D.value.downsample.threshold}).map(e=>M.value.animation.show&&!v.value||[void 0,1/0,-1/0,null,NaN].includes(e)?null:e));_(L,e=>{T.value&&=(cancelAnimationFrame(T.value),null),M.value.animation.show&&!v.value?z.value=Array(e.length).fill(null):z.value=e.map(e=>![void 0,1/0,-1/0,null].includes(e)&&!Number.isNaN(e)?e:null),B(),xe(()=>$(`.vue-ui-sparktrend-progress-label`,6))},{deep:!0,immediate:!0}),_(()=>JSON.stringify(y.dataset),()=>{T.value&&=(cancelAnimationFrame(T.value),null),F.value=s(y.dataset);let e=L.value;z.value=M.value.animation.show&&!v.value?Array(e.length).fill(null):e.map(e=>Number.isFinite(e)?e:null),B(),xe(()=>$(`.vue-ui-sparktrend-progress-label`,6))},{deep:!1,immediate:!0});function B(){let e=1e3/M.value.animation.animationFrames,t=performance.now();if(!N.value&&M.value.animation.show&&!v.value&&M.value.animation.animationFrames&&P.value.length>1){z.value=[];let n=0;function r(){w.value=!0;let i=performance.now(),a=i-t;a>e?(t=i-a%e,n<L.value.length?(z.value.push(L.value[n]),n+=1,T.value=requestAnimationFrame(r)):(cancelAnimationFrame(T.value),z.value=R(L.value),w.value=!1,$(`.vue-ui-sparktrend-progress-label`,6))):T.value=requestAnimationFrame(r)}r()}}Ce(()=>{V()});let Ue=l(()=>D.value.debug);function V(){if(s(y.dataset)&&(te({componentName:`VueUiSparkTrend`,type:`dataset`,debug:Ue.value}),F.value=!0),s(y.dataset)||(F.value=!1),D.value.responsive){let e=de(()=>{let{width:e,height:t}=fe({chart:b.value,source:x.value});requestAnimationFrame(()=>{H.value=e,U.value=t})});S.value&&(C.value&&S.value.unobserve(C.value),S.value.disconnect()),S.value=new ResizeObserver(e),C.value=b.value.parentNode,S.value.observe(C.value)}B(),$(`.vue-ui-sparktrend-progress-label`,6)}let H=p(M.value.width),U=p(M.value.height),W=l(()=>({height:U.value,width:H.value})),G=l(()=>({top:M.value.padding.top,left:M.value.padding.left,right:W.value.width-M.value.padding.right,bottom:W.value.height-M.value.padding.bottom,height:W.value.height-(M.value.padding.top+M.value.padding.bottom)-(O.value.show?O.value.fontSize:0),width:W.value.width-(M.value.padding.left+M.value.padding.right)})),K=l(()=>{let e=R(L.value).filter(Number.isFinite);if(!e.length)return{max:0,min:0};let t=e[0],n=e[0];for(let r=1;r<e.length;r++){let i=e[r];i>t&&(t=i),i<n&&(n=i)}return{max:t,min:n}}),We=l(()=>{let e=L.value,t=e.length?e[e.length-1]:`x`;return[E.value,e.length,Number.isFinite(t)?t:`x`,D.value.downsample.threshold,A.value.smooth?`s`:`l`].join(`-`)}),q=l(()=>{let e=K.value.min>=0?0:K.value.min;return Math.abs(e)}),Ge=l(()=>K.value.max+q.value);function Ke(e){return e/Ge.value}let qe=l(()=>L.value.length),J=l(()=>z.value.map((e,t)=>{let n=isNaN(e)||[void 0,null,`NaN`,NaN,1/0,-1/0].includes(e)?0:e||0;return{value:o(e),absoluteValue:o(n),plotValue:o(n+q.value),toMax:Ke(n+q.value),x:G.value.left+o(t*(G.value.width/(qe.value-1)))-M.value.padding.right,y:G.value.bottom-o(G.value.height*Ke(n+q.value))}})),Y=l(()=>{let e=R(L.value);return k.value.trendType===`global`?ne(e):k.value.trendType===`n-1`&&e.length>1?(e.at(-1)/e.at(-2)-1)*100:k.value.trendType===`lastToFirst`?(e.at(-1)/e[0]-1)*100:0}),X=l(()=>w.value||Y.value===0?`neutral`:Y.value>0?`positive`:`negative`),Z=l(()=>M.value.arrow.colors[X.value]),Je=l(()=>{let e={x:J.value[0].x,y:W.value.height-6},t={x:J.value[J.value.length-1].x,y:W.value.height-6},n=[];return J.value.forEach(e=>{n.push(`${e.x},${e.y} `)}),[e.x,e.y,...n,t.x,t.y].toString()}),Ye=l(()=>{let e=[];return J.value.forEach(t=>{e.push(`${t.x},${t.y} `)}),`M ${e.toString()}`}),Q=l(()=>U.value/2-k.value.fontSize),Xe=l(()=>G.value.left*.8),{fitText:$}=he({svgRef:Ve,unitWidth:Xe,fontSize:k.value.fontSize}),Ze=l(()=>{if(N.value||w.value)return`Trend chart loading`;let e=J.value?.at(-1),t=e?.value,r=n({p:Y.value>0?`+`:``,v:Y.value,s:`%`,r:k.value.rounding}),i=t==null?`not available`:re(O.value.formatter,t,n({p:O.value.prefix,v:t,s:O.value.suffix,r:O.value.rounding}),{datapoint:e});return`Progression ${X.value===`positive`?`up ${r}`:X.value===`negative`?`down ${r}`:`stable at ${r}`}. Last value ${i}.`}),Qe=l(()=>`sparktrend-a11y-${E.value}`);return(e,t)=>(f(),d(`div`,{ref_key:`sparkTrendChart`,ref:b,class:`vue-data-ui-component vue-ui-spark-trend`,id:E.value,style:Se(`width:100%;font-family:${M.value.fontFamily};background:${M.value.backgroundColor}`),role:`img`,"aria-describedby":Qe.value},[ve(`p`,{id:Qe.value,class:`sr-only`,"aria-live":`polite`},h(Ze.value),9,De),(f(),d(`svg`,{key:We.value,ref_key:`svgRef`,ref:Ve,xmlns:g(ae),viewBox:`0 0 ${W.value.width} ${W.value.height}`,style:`width:100%;background:transparent;overflow:visible`,"aria-hidden":`true`},[ye(g(c)),e.$slots[`chart-background`]?(f(),d(`foreignObject`,{key:0,x:0,y:0,width:W.value.width<=0?10:W.value.width,height:W.value.height<=0?10:W.value.height,style:{pointerEvents:`none`}},[m(e.$slots,`chart-background`,{},void 0,!0)],8,ke)):u(``,!0),ve(`defs`,null,[ye(pe,{t:`linear`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,id:`pill_gradient_${E.value}`,stops:[[`0%`,g(r)(A.value.useColorTrend?Z.value:A.value.stroke,j.value.opacity),1],[`100%`,M.value.backgroundColor,1]]},null,8,[`id`,`stops`])]),j.value.show&&J.value[0]?(f(),d(`g`,Ae,[A.value.smooth?(f(),d(`path`,{key:0,d:`M ${J.value[0].x},${G.value.bottom} ${g(a)(J.value)} L ${J.value.at(-1).x},${G.value.bottom} Z`,fill:j.value.useGradient?`url(#pill_gradient_${E.value})`:g(r)(A.value.useColorTrend?Z.value:A.value.stroke,j.value.opacity),stroke:`none`},null,8,je)):(f(),d(`path`,{key:1,d:`M${Je.value}Z`,fill:j.value.useGradient?`url(#pill_gradient_${E.value})`:g(r)(A.value.useColorTrend?Z.value:A.value.stroke,j.value.opacity),stroke:`none`},null,8,Me))])):u(``,!0),A.value.smooth&&J.value.length?(f(),d(`path`,{key:2,d:`M ${g(a)(J.value)}`,stroke:A.value.useColorTrend?Z.value:A.value.stroke,fill:`none`,"stroke-width":A.value.strokeWidth,"stroke-linecap":A.value.strokeLinecap,"stroke-linejoin":A.value.strokeLinejoin},null,8,Ne)):u(``,!0),!A.value.smooth&&J.value.length?(f(),d(`path`,{key:3,d:Ye.value,stroke:A.value.useColorTrend?Z.value:A.value.stroke,fill:`none`,"stroke-width":A.value.strokeWidth,"stroke-linecap":A.value.strokeLinecap,"stroke-linejoin":A.value.strokeLinejoin},null,8,Pe)):u(``,!0),g(N)?(f(),d(`path`,{key:4,fill:`#6A6A6A`,d:`M ${G.value.left/2+6}, ${Q.value+7} ${G.value.left/2-7}, ${Q.value} ${G.value.left/2-7}, ${Q.value+14} Z`},null,8,Fe)):(f(),d(`path`,{key:5,fill:Z.value,d:X.value===`positive`?`M ${G.value.left/2}, ${Q.value} ${G.value.left/2-7}, ${Q.value+12} ${G.value.left/2+7}, ${Q.value+12} Z`:X.value===`negative`?`M ${G.value.left/2}, ${Q.value+12} ${G.value.left/2-7}, ${Q.value} ${G.value.left/2+7}, ${Q.value} Z`:`M ${G.value.left/2+6}, ${Q.value+7} ${G.value.left/2-7}, ${Q.value} ${G.value.left/2-7}, ${Q.value+14} Z`},null,8,Ie)),g(N)?(f(),d(`rect`,{key:6,x:G.value.left/2-k.value.fontSize-2,y:U.value/2+k.value.fontSize-2,width:k.value.fontSize*2,height:k.value.fontSize,fill:`#6A6A6A80`,rx:`3`},null,8,Le)):u(``,!0),!w.value&&!g(N)?(f(),d(`text`,{key:7,class:`vue-ui-sparktrend-progress-label`,x:G.value.left/2,y:U.value/2+k.value.fontSize*2,"text-anchor":`middle`,fill:k.value.useColorTrend?Z.value:k.value.color,"font-size":k.value.fontSize,"font-weight":k.value.bold?`bold`:`normal`},h(g(n)({p:Y.value>0?`+`:``,v:Y.value,s:`%`,r:k.value.rounding})),9,Re)):u(``,!0),J.value.length&&J.value.at(-1).x!==void 0?(f(),d(`circle`,{key:8,stroke:M.value.backgroundColor,"stroke-width":2,cx:J.value.at(-1).x,cy:J.value.at(-1).y,r:4,fill:g(N)?`#6A6A6A`:Z.value},null,8,ze)):u(``,!0),J.value.length&&J.value.at(-1).x!==void 0&&O.value.show?(f(),d(`text`,{key:9,"text-anchor":`middle`,x:J.value.at(-1).x,y:J.value.at(-1).y-O.value.fontSize/1.5,"font-size":O.value.fontSize,fill:O.value.useColorTrend?Z.value:O.value.color,"font-weight":O.value.bold?`bold`:`normal`},h(g(re)(O.value.formatter,J.value.at(-1).value,g(n)({p:O.value.prefix,v:J.value.at(-1).value,s:O.value.suffix,r:O.value.rounding}),{datapoint:J.value.at(-1)})),9,Be)):u(``,!0)],8,Oe)),e.$slots.source?(f(),d(`div`,{key:0,ref_key:`source`,ref:x,dir:`auto`},[m(e.$slots,`source`,{},void 0,!0)],512)):u(``,!0),m(e.$slots,`skeleton`,{},()=>[g(N)?(f(),_e(se,{key:0})):u(``,!0)],!0)],12,Ee))}},[[`__scopeId`,`data-v-814f1b0f`]]);export{Te as n,v as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Ht as r,Jt as i,S as a,X as ee,Yt as te,at as o,i as s,in as c,t as ne,w as re,yt as ie,zt as ae}from"./lib-rPeBMZrn.js";import{n as oe,t as se}from"./BaseScanner-8NdoBs7B.js";import{n as ce,t as le}from"./useHints-
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Ht as r,Jt as i,S as a,X as ee,Yt as te,at as o,i as s,in as c,t as ne,w as re,yt as ie,zt as ae}from"./lib-rPeBMZrn.js";import{n as oe,t as se}from"./BaseScanner-8NdoBs7B.js";import{n as ce,t as le}from"./useHints-C-TwxM0Y.js";import{n as ue}from"./resolveChartConfig-CIhClE5R.js";import{t as de}from"./DefGrad-DKMq1REY.js";import{t as l}from"./usePrefersMotion-XLHwega2.js";import{t as u}from"./vue_ui_sparkbar-Bpx7QrFq.js";import{Fragment as d,computed as f,createBlock as fe,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createVNode as g,defineAsyncComponent as pe,guardReactiveProps as me,mergeProps as he,nextTick as ge,normalizeProps as _e,normalizeStyle as _,onMounted as v,openBlock as y,ref as b,renderList as ve,renderSlot as x,toDisplayString as S,toRefs as ye,unref as C,useSlots as w,watch as T}from"vue";var E=/* @__PURE__ */ e({default:()=>P}),D=[`onClick`,`onMouseenter`,`onMouseleave`],O={key:1,class:`vue-ui-sparkbar-datapoint-value`},k=[`xmlns`,`viewBox`],A=[`height`,`width`,`fill`,`rx`],j=[`height`,`width`,`fill`,`rx`],M=[`height`,`width`,`fill`,`rx`],N={key:2,ref:`source`,dir:`auto`},P={__name:`vue-ui-sparkbar`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},backgroundOpacity:{type:Number,default:null}},emits:[`selectDatapoint`],setup(e,{emit:E}){let P=pe(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),{vue_ui_sparkbar:be}=t(),F=l(),I=e,xe=w(),L=b(ee()),R=b(G()),z=f(()=>R.value.style.bar),B=f(()=>R.value.style.labels),V=f(()=>R.value.style),H=f(()=>R.value.debug);v(()=>{xe[`chart-background`]&&H.value&&console.warn(`VueUiSparkbar does not support the #chart-background slot.`)}),ce({config:()=>R.value,dataset:()=>I.dataset,component:`VueUiSparkbar`,rules:[le.noHint]});let Se=f(()=>c({defaultConfig:{style:{backgroundColor:`#99999930`,animation:{show:!1},layout:{independant:!0},gutter:{backgroundColor:`#6A6A6A`,opacity:50},bar:{gradient:{underlayerColor:`#6A6A6A`}}}},userConfig:R.value.skeletonConfig??{}})),{loading:U,FINAL_DATASET:W,manualLoading:Ce}=oe({...ye(I),FINAL_CONFIG:R,prepareConfig:G,skeletonDataset:I.config?.skeletonDataset??[{name:`_`,value:21,target:25,color:`#808080`},{name:`_`,value:13,target:25,color:`#ADADAD`},{name:`_`,value:8,target:25,color:`#DBDBDB`}],skeletonConfig:c({defaultConfig:R.value,userConfig:Se.value})});function G(){return ue(I.config,be,u)}T(()=>I.config,e=>{R.value=G()},{deep:!0});let we=f(()=>re(R.value.customPalette)),K=b(W.value.map(e=>({...e,value:V.value.animation.show?0:e.value||0,formatter:e.formatter||null}))),q=b(null);v(async()=>{ae(I.dataset)&&o({componentName:`VueUiSparkbar`,type:`dataset`,debug:H.value}),J()});function J(){if(V.value.animation.show&&!F.value){let e=V.value.animation.animationFrames,t=W.value.map((t,n)=>t.value/e),n=W.value.map(e=>e.value||0).reduce((e,t)=>e+t,0),r=0;function i(){r+=n/e,r<n?(K.value=K.value.map((e,n)=>({...e,value:e.value+=t[n]})),q.value=requestAnimationFrame(i)):K.value=W.value.map(e=>({...e,value:e.value||0,formatter:e.formatter||null}))}i()}}T(()=>W.value,async e=>{cancelAnimationFrame(q.value),K.value=W.value.map(e=>({...e,value:V.value.animation.show&&!F.value?0:e.value||0,formatter:e.formatter||null})),ge(J)},{deep:!0});let Y=b({width:500,height:16}),Te=f(()=>Math.max(...W.value.map(e=>e.value))),Ee=f(()=>(H.value&&W.value.forEach((e,t)=>{ie({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{o({componentName:`VueUiSparkbar`,type:`datasetSerieAttribute`,property:e,index:t})})}),K.value.map((e,t)=>({...e,value:e.value||0,color:a(e.color)||we.value[t]||r[t]||r[t%r.length]}))));function X(e){return e/Te.value}function Z(e){return V.value.layout.independant?e.target?e.value/e.target:V.value.layout.percentage?e.value>100?1:e.value/100:V.value.layout.target===0?1:e.value/V.value.layout.target:X(e.value)}function Q(e){return V.value.layout.independant&&e.target||V.value.layout.target}let De=E;function Oe(e,t){De(`selectDatapoint`,{datapoint:e,index:t}),R.value.events.datapointClick&&R.value.events.datapointClick({datapoint:e,seriesIndex:t})}function ke(e,t){R.value.events.datapointEnter&&R.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function Ae(e,t){R.value.events.datapointLeave&&R.value.events.datapointLeave({datapoint:e,seriesIndex:t})}let $=f(()=>z.value.borderRadius==null?Y.value.height/2:Math.min(Y.value.height/2,z.value.borderRadius));return(e,t)=>(y(),m(`div`,{class:`vue-data-ui-component vue-ui-sparkbar`,style:_({width:`100%`,position:`relative`,fontFamily:V.value.fontFamily,background:I.backgroundOpacity===null?V.value.backgroundColor:C(i)(V.value.backgroundColor,I.backgroundOpacity)})},[e.$slots.title?x(e.$slots,`title`,_e(me({title:{...e.title,title:V.value.title.text,subtitle:V.value.title.subtitle.text}})),void 0,void 0,0):p(``,!0),!e.$slots.title&&V.value.title.text?(y(),m(`div`,{key:1,class:`vue-ui-sparkbar-title-container`,style:_({background:V.value.title.backgroundColor,margin:V.value.title.margin,textAlign:V.value.title.textAlign})},[h(`div`,{class:`vue-ui-sparkbar-title`,style:_({fontSize:V.value.title.fontSize+`px`,color:V.value.title.color,fontWeight:V.value.title.bold?`bold`:`normal`})},S(V.value.title.text),5),V.value.title.subtitle.text?(y(),m(`div`,{key:0,class:`vue-ui-sparkbar-subtitle`,style:_({fontSize:V.value.title.subtitle.fontSize+`px`,color:V.value.title.subtitle.color,fontWeight:V.value.title.subtitle.bold?`bold`:`normal`})},S(V.value.title.subtitle.text),5)):p(``,!0)],4)):p(``,!0),(y(!0),m(d,null,ve(Ee.value,(t,r)=>(y(),m(`div`,{style:_(`display:flex !important;${[`left`,`right`].includes(B.value.name.position)?`flex-direction: ${B.value.name.position===`right`?`row-reverse`:`row`} !important`:`flex-direction:column !important`};gap:${V.value.gap}px !important;align-items:center;${C(W).length>0&&r!==C(W).length-1?`margin-bottom:6px`:``}`),onClick:e=>Oe(t,r),onMouseenter:e=>ke(t,r),onMouseleave:e=>Ae(t,r)},[C(U)?p(``,!0):x(e.$slots,`data-label`,he({ref_for:!0},{bar:{...t,target:Q(t),valueLabel:C(s)(t.formatter,t.value,C(n)({p:t.prefix||``,v:t.value,s:t.suffix||``,r:t.rounding||0}),{datapoint:t,seriesIndex:r}),targetLabel:C(s)(t.formatter,Q(t),C(n)({p:t.prefix||``,v:Q(t),s:t.suffix||``,r:t.rounding||0}),{datapoint:t,seriesIndex:r})}}),void 0,void 0,0),!e.$slots[`data-label`]||C(U)?(y(),m(`div`,{key:1,style:_({display:`flex`,justifyContent:[`right`,`top-right`].includes(B.value.name.position)?`flex-end`:[`top-center`].includes(B.value.name.position)?`center`:`flex-start`,alignItems:`center`,width:B.value.name.width,color:B.value.name.color,fontSize:B.value.fontSize+`px`,fontWeight:B.value.name.bold?`bold`:`normal`,flexWrap:`wrap`})},[C(U)?(y(),m(`div`,{key:0,class:`vue-ui-sparkbar-skeleton-name`,style:_({width:`60px`,height:B.value.fontSize+`px`,borderRadius:B.value.fontSize/4+`px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginTop:`5px`})},[h(`div`,{style:_({height:`100%`,width:`40px`,borderRadius:B.value.fontSize/4+`px`,backgroundColor:`#6A6A6A80`})},null,4),h(`div`,{style:_({height:`100%`,width:`15px`,borderRadius:B.value.fontSize/4+`px`,backgroundColor:`#6A6A6A80`})},null,4)],4)):(y(),m(d,{key:1},[h(`span`,null,S(t.name),1),B.value.value.show?(y(),m(`span`,{key:0,style:_(`font-weight:${B.value.value.bold?`bold`:`normal`}`),class:`vue-ui-sparkbar-datapoint-name`},`: `+S(C(s)(t.formatter,t.value,C(n)({p:t.prefix||``,v:t.value,s:t.suffix||``,r:t.rounding||0}),{datapoint:t,seriesIndex:r})),5)):p(``,!0),V.value.layout.showTargetValue?(y(),m(`span`,O,S(` `+V.value.layout.targetValueText)+` `+S(C(s)(t.formatter,Q(t),C(n)({p:t.prefix||``,v:Q(t),s:t.suffix||``,r:t.rounding||0}),{datapoint:t,seriesIndex:r})),1)):p(``,!0)],64))],4)):p(``,!0),(y(),m(`svg`,{role:`img`,xmlns:C(ne),viewBox:`0 0 ${Y.value.width} ${Y.value.height}`,width:`100%`},[g(C(P)),h(`defs`,null,[g(de,{t:`linear`,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`,id:`sparkbar_gradient_${r}_${L.value}`,stops:[[`0%`,C(i)(C(te)(t.color,.03),100-z.value.gradient.intensity),1],[`100%`,t.color,1]]},null,8,[`id`,`stops`])]),h(`rect`,{height:Y.value.height,width:Y.value.width,x:0,y:0,fill:C(i)(V.value.gutter.backgroundColor,V.value.gutter.opacity),rx:$.value},null,8,A),h(`rect`,{height:Y.value.height,width:Y.value.width*Z(t),x:0,y:0,fill:z.value.gradient.underlayerColor,rx:$.value},null,8,j),h(`rect`,{height:Y.value.height,width:Y.value.width*Z(t),x:0,y:0,fill:z.value.gradient.show?`url(#sparkbar_gradient_${r}_${L.value})`:t.color,rx:$.value},null,8,M)],8,k))],44,D))),256)),e.$slots.source?(y(),m(`div`,N,[x(e.$slots,`source`)],512)):p(``,!0),C(U)?(y(),fe(se,{key:3})):p(``,!0)],4))}};export{E as n,P as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Tt as r,X as i,at as a,b as o,i as s,in as c,t as l,yt as u,zt as ee}from"./lib-rPeBMZrn.js";import{n as te,t as ne}from"./BaseScanner-8NdoBs7B.js";import{n as re,t as ie}from"./useHints-
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-6jO1fkp5.js";import{$ as n,Tt as r,X as i,at as a,b as o,i as s,in as c,t as l,yt as u,zt as ee}from"./lib-rPeBMZrn.js";import{n as te,t as ne}from"./BaseScanner-8NdoBs7B.js";import{n as re,t as ie}from"./useHints-C-TwxM0Y.js";import{t as ae}from"./resolveChartConfig-CIhClE5R.js";import{t as oe}from"./DefGrad-DKMq1REY.js";import{t as se}from"./useChartAccessibility-DOMuYJfm.js";import{t as ce}from"./usePrefersMotion-XLHwega2.js";import{t as le}from"./vue_ui_sparkgauge-D2Hk6bvS.js";import{computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createVNode as g,defineAsyncComponent as ue,normalizeClass as de,normalizeStyle as _,onBeforeUnmount as fe,onMounted as v,openBlock as y,ref as b,renderSlot as x,toDisplayString as S,toRefs as pe,unref as C,watch as w}from"vue";var T=/* @__PURE__ */ e({default:()=>j}),E=[`xmlns`,`viewBox`],me=[`width`,`height`],he=[`d`,`stroke`,`stroke-linecap`],D=[`d`,`stroke`,`stroke-linecap`,`stroke-dashoffset`],O=[`x`,`y`,`width`,`height`],k=[`x`,`y`,`font-size`,`fill`,`font-weight`],A={key:2,ref:`source`,dir:`auto`},j={__name:`vue-ui-sparkgauge`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},setup(e){let T=ue(()=>import(`./PackageVersion-CXT-eAuk.js`).then(e=>e.t)),{vue_ui_sparkgauge:j}=t(),M=ce(),N=b(null),P=e,F=b(i()),I=b(W()),L=d(()=>I.value.style.dataLabel),R=d(()=>I.value.style);re({config:()=>I.value,dataset:()=>P.dataset,component:`VueUiSparkgauge`,rules:[ie.noHint]});let z=d(()=>R.value.animation.show&&!M.value),ge=d(()=>c({defaultConfig:{style:{animation:{show:!1},background:`#99999930`,colors:{min:`#CACACA`,max:`#6A6A6A`},track:{autoColor:!0},gutter:{color:`#6A6A6A80`}}},userConfig:I.value.skeletonConfig??{}})),{loading:B,FINAL_DATASET:V}=te({...pe(P),FINAL_CONFIG:I,prepareConfig:W,skeletonDataset:P.config?.skeletonDataset??{value:0,min:-1,max:1,title:``},skeletonConfig:c({defaultConfig:I.value,userConfig:ge.value})}),H=d(()=>{let e=V.value.min??0,t=V.value.max??0;return{min:e,max:t,diff:t-e}}),U=d(()=>H.value.diff/R.value.animation.speedMs),{svgRef:_e}=se({config:{text:P.dataset?.title||``}});function W(){return ae(P.config,j,le)}v(()=>{K()});let G=d(()=>I.value.debug);function K(){ee(P.dataset)?a({componentName:`VueUiSparkgauge`,type:`dataset`,debug:G.value}):u({datasetObject:P.dataset,requiredAttributes:[`value`,`min`,`max`]}).forEach(e=>{a({componentName:`VueUiSparkgauge`,type:`datasetAttribute`,property:e,debug:G.value})})}w(()=>P.config,()=>{I.value=W(),J.value=z.value?H.value.min:V.value.value,K()},{deep:!0});let q=d(()=>({height:R.value.height,width:128,base:R.value.basePosition})),J=b(z.value?H.value.min:V.value.value);w([()=>V.value.value,z],([e,t])=>{Y(e||0,t)},{immediate:!0});let ve=d(()=>J.value>H.value.max?H.value.max:J.value<H.value.min?H.value.min:J.value);v(()=>{Y(V.value.value||0)});function Y(e,t=z.value){if(N.value&&=(cancelAnimationFrame(N.value),null),!t){J.value=e;return}function n(){J.value<e?J.value=Math.min(J.value+U.value,e):J.value>e&&(J.value=Math.max(J.value-U.value,e)),J.value===e?N.value=null:N.value=requestAnimationFrame(n)}n()}let X=d(()=>V.value.title??``),Z=d(()=>{let e=H.value.diff;if(!isFinite(e)||e===0)return 0;let t=H.value.min,n=ve.value;return n>=0?(n-t)/e:(Math.abs(t)-Math.abs(n))/e}),Q=d(()=>r(R.value.colors.min,R.value.colors.max,H.value.min,H.value.max,J.value)),$=d(()=>L.value.autoColor?Q.value:L.value.color),ye=d(()=>R.value.track.autoColor?Q.value:R.value.track.color);return fe(()=>{N.value&&cancelAnimationFrame(N.value)}),(e,t)=>(y(),m(`div`,{class:`vue-data-ui-component vue-ui-sparkgauge`,style:_(`font-family:${R.value.fontFamily};width: 100%; background:${R.value.background}`)},[R.value.title.show&&X.value&&R.value.title.position===`top`?(y(),m(`div`,{key:0,class:`vue-data-ui-sparkgauge-label`,style:_(`font-size:${R.value.title.fontSize}px;text-align:${R.value.title.textAlign};font-weight:${R.value.title.bold?`bold`:`normal`};color:${R.value.title.color}`)},S(X.value),5)):p(``,!0),(y(),m(`svg`,{ref_key:`svgRef`,ref:_e,xmlns:C(l),viewBox:`0 0 ${q.value.width} ${q.value.height}`,style:`overflow: visible; background:transparent; width:100%;`},[g(C(T)),e.$slots[`chart-background`]&&!C(B)?(y(),m(`foreignObject`,{key:0,x:0,y:0,width:q.value.width,height:q.value.height,style:{pointerEvents:`none`}},[x(e.$slots,`chart-background`)],8,me)):p(``,!0),h(`defs`,null,[g(oe,{t:`linear`,id:`gradient_${F.value}`,x1:`-10%`,y1:`100%`,x2:`110%`,y2:`100%`,stops:[[`0%`,R.value.colors.min,1],[`100%`,R.value.colors.max,1]]},null,8,[`id`,`stops`])]),h(`path`,{d:`M10 ${q.value.base} A 1 1 0 1 1 118 ${q.value.base}`,stroke:R.value.gutter.color,"stroke-width":8,"stroke-linecap":R.value.gutter.strokeLinecap,fill:`none`},null,8,he),Z.value===0?p(``,!0):(y(),m(`path`,{key:1,d:`M10 ${q.value.base} A 1 1 0 1 1 118 ${q.value.base}`,stroke:R.value.colors.showGradient?`url(#gradient_${F.value})`:ye.value,"stroke-width":8,"stroke-linecap":R.value.track.strokeLinecap,fill:`none`,"stroke-dasharray":169.5,"stroke-dashoffset":169.5-169.5*Z.value,class:de({"vue-ui-sparkgauge-track":R.value.animation.show}),style:_(R.value.animation.show?`animation: vue-ui-sparkgauge-animation ${R.value.animation.speedMs}ms ease-in;`:``)},null,14,D)),C(B)?(y(),m(`rect`,{key:2,x:q.value.width/2-L.value.fontSize/2,y:q.value.base+6+L.value.offsetY-L.value.fontSize,width:L.value.fontSize,height:L.value.fontSize,fill:`#6A6A6A50`,rx:3},null,8,O)):(y(),m(`text`,{key:3,"text-anchor":`middle`,x:q.value.width/2,y:q.value.base+6+L.value.offsetY,"font-size":L.value.fontSize,fill:$.value,"font-weight":L.value.bold?`bold`:`normal`},S(C(s)(L.value.formatter,C(o)(J.value),C(n)({p:L.value.prefix,v:C(o)(J.value),s:L.value.suffix,r:L.value.rounding}),{datapoint:C(o)(J.value),color:$.value})),9,k))],8,E)),R.value.title.show&&X.value&&R.value.title.position===`bottom`?(y(),m(`div`,{key:1,class:`vue-data-ui-sparkgauge-label`,style:_(`font-size:${R.value.title.fontSize}px;text-align:${R.value.title.textAlign};font-weight:${R.value.title.bold?`bold`:`normal`};font-weight:${R.value.title.bold?`bold`:`normal`};color:${R.value.title.color}`)},S(X.value),5)):p(``,!0),e.$slots.source?(y(),m(`div`,A,[x(e.$slots,`source`)],512)):p(``,!0),x(e.$slots,`skeleton`,{},()=>[C(B)?(y(),f(ne,{key:0})):p(``,!0)])],4))}};export{T as n,j as t};
|
|
@@ -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-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
|
+
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-C-TwxM0Y.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-CXT-eAuk.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-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
|
+
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-C-TwxM0Y.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-CXT-eAuk.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-114e8926`]]);export{St as n,G as t};
|