import{d as V,aw as O,G as M,c2 as j,o as h,e as f,b as S,a as $,_ as E,l as _,t as w,p as z,k as C,c as I,D as H,E as B,ag as L,s as k,c7 as x,c8 as W,c9 as F,ca as A,cb as T,v as P,J as R,cc as U,cd as G}from"./EJiqiqZX.js";import{_ as J}from"./b6minSIt.js";const q={class:"relative"},K={key:0,class:"absolute o_top-0 0_start-0 o_p-2 text-xs text-right o_z-10"},Q={key:1},X={class:"o_overflow-hidden size-5 flex items-center justify-center"},Y={key:0,class:"p-px border-t border-neutral-200"},Z=V({__name:"ChartCard",props:{chartData:{default:()=>({chartType:"",series:[]})},chartOptions:{default:()=>({})},inset:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},chartHeight:{default:"300px"}},setup(s){const n=s,l={chart:{style:{direction:"rtl"}},xAxis:{reversed:!0},yAxis:{opposite:!0},legend:{style:{direction:"rtl"}},labels:{style:{direction:"rtl"},useHtml:!0,align:"left"}},{isRTLLanguage:b}=O(),y=k(()=>n.chartData?n.chartData.series.every(i=>i.data.length===0):!1),p=k(()=>{if(y.value)return{};if(!n.chartData)return{};if(!b.value)return x(n.chartOptions,n.chartData);const i=x(l,n.chartOptions);return x(i,n.chartData)}),r=M(),e=k(()=>r.value==="dark");return(i,u)=>{const m=E,c=j("highcharts"),o=J;return h(),f("div",{class:H([s.inset?"":"bg-uiBg"])},[S("div",q,[s.pending?(h(),f("div",K,[$(m,{name:"svg-spinners:90-ring-with-bg",class:"size-3"}),_(" "+w(i.$t("refreshingData")),1)])):z("",!0),C(y)?(h(),f("div",{key:2,class:"flex items-baseline text-sm text-gray-500 o_p-6",style:B({height:s.chartHeight})},[$(o,{color:"info",title:i.$t("chartInfo.noDataAvailable"),description:i.$t("chartInfo.noDataAvailableDescription"),variant:"subtle",icon:"material-symbols:insert-chart-rounded"},null,8,["title","description"])],4)):(h(),f("div",Q,[s.chartData?(h(),I(c,{key:0,options:C(p),class:H([C(e)?"invert-90":""])},null,8,["options","class"])):(h(),f("div",{key:1,class:"flex o_gap-2 items-center justify-center text-sm text-gray-500",style:B({height:s.chartHeight})},[S("div",X,[$(m,{name:"svg-spinners:90-ring-with-bg",class:"size-4"})]),_(" "+w(i.$t("loadingData")),1)],4))]))]),i.$slots.default?(h(),f("div",Y,[L(i.$slots,"default")])):z("",!0)],2)}}}),re=Object.assign(Z,{__name:"ChartCard"}),se=()=>{const s={"mini-load-average":"percentToHundred","mini-top-processes-cpu":"percent","overall-cpu-usage":"percent","overall-memory-usage":"percentAndBytes","overall-disk-usage":"byteCalculation","overall-load-average":"none","overall-network":"bps","overall-top-processes-cpu":"percent","network-packets-total":"none","network-bytes-total":"bps","network-packets-eth0":"none","network-bytes-eth0":"bps","network-ping-response-times":"time","cpu-detailed-usage":"percent","cpu-detailed-usage-cpu0":"percent","cpu-top-processes":"percent","memory-usage":"byteCalculation","memory-active-inactive":"byteCalculation","disk-overall-usage":"byteCalculation","disk-io-transactions":"none","disk-io-data":"bps",uptime:"percent",browserTimings:"time",serverTimings:"time",pageSize:"byteCalculation",cookieCount:"cookieValue",percent:"percentToHundred"},n=(r,e,i,u,m="")=>`<div>
<span style="color:${u}">● </span>${i}: <strong>${e} ${m}</strong></div>
`,l=(r,e,i="")=>`<div><span style="color:${e}">● </span><strong>${r} ${i}</strong></div>
`,b=(r,e,i,u=!1,m="")=>{if(!s[r])return l(i.y,e.color,m);const c=e.series.name,o=e.color;if(s[r]==="none")return u?l(e.y,o):n(e.x,e.y,c,o);if(s[r]==="roundValue")return u?l(Math.round(Number(e.y)).toString(),o):n(e.x,Math.round(Number(e.y)).toString(),c,o);if(s[r]==="cookieValue")return u?l(Math.round(Number(e.y)).toString(),o,"cookies"):n(e.x,Math.round(Number(e.y)).toString(),c,o,"cookies");if(s[r]==="bps"){const t=F(e.y);return u?l(t,o):n(e.x,t,c,o)}if(s[r]==="time"){const t=A(e.y);return u?l(t,o):n(e.x,t,c,o)}if(["byteCalculation","percentAndBytes"].includes(s[r])){const t=T(e.y,"bytes");return u?l(t,o):n(e.x,t,c,o)}if(s[r]==="bitCalculation"){const t=T(e.y,"bits");return u?l(t,o):n(e.x,t,c,o)}if(s[r]==="percent")return u?l(`${parseFloat(e.y).toFixed(2)}%`,o):n(e.x,`${parseFloat(e.y).toFixed(2)}%`,c,o);if(s[r]==="percentToHundred")return u?l(`${(e.y*100).toFixed(2)}%`,o):n(e.x,`${(e.y*100).toFixed(2)}%`,c,o)},y=(r,e)=>{if(!s[r])return e.value;if(s[r]==="none")return`${e.value} `;if(s[r]==="roundValue"||s[r]==="cookieValue")return Math.round(e.value);if(s[r]==="bps")return F(e.value);if(s[r]==="time")return A(e.value);if(s[r]==="byteCalculation")return T(e.value,"bytes");if(s[r]==="bitCalculation")return T(e.value,"bits");if(["percent","percentAndBytes"].includes(s[r]))return`${e.value}%`;if(s[r]==="percentToHundred")return`${e.value*100}%`};return{remapToRelevantOptions:(r,e={},i=!0,u)=>{const m={xAxis:{showFirstLabel:!0,labels:{step:0}},yAxis:{labels:{useHTML:!1,align:"right",enabled:!0,formatter:c=>y(r,c)}},tooltip:{useHTML:!0,shared:!0,xDateFormat:"%d.%m.%y %H:%M",formatter:function(){const{points:c,x:o}=this;let t=`<span style="font-size: 0.7rem;">${W(+o)}</span>`;return c?.forEach(a=>{t+=`${b(r,a,this,i,u)}`}),t},style:{zIndex:1},outside:!0}};return Object.keys(e).length>0?x(m,e):m}}},D={hour:{time:"1d",from:"-1month"},day:{time:"1d",from:"-1month"},week:{time:"7d",from:"-1year"}},oe=()=>{const s=P(),n=k(()=>s.currentProject?.system||null),l=k(()=>{if(n.value===null)throw new Error("No system found");const t=n.value.main_interval;return D[t]}),b=t=>{const a={browserTimings:{group:"performance",unit:"ms",chartType:"line"},serverTimings:{group:"performance",unit:"ms",chartType:"line"},cookieCount:{group:"cookies",unit:"cookies",chartType:"line"},cookiesCount:{group:"cookies",unit:"cookies",chartType:"line"},pageSize:{group:"size",unit:"kb",chartType:"line"},uptime:{group:"uptime",unit:"%",chartType:"bar"}};return a[t]||a.uptime},y=[{type:"time",group:"performance",key:["browserTimings","serverTimings"],unit:"ms",chartType:"line"},{type:"size",group:"size",key:["pageSize"],unit:"kb",chartType:"line"},{type:"uptime",group:"uptime",key:["uptime"],unit:"%",chartType:"bar"},{type:"cookies",group:"cookies",key:["cookieCount"],unit:"cookies",chartType:"line"}],{t:p,locale:r,n:e}=R();return{currentSystem:n,mainInterval:l,metricConfig:b,metricConfigs:y,underValues:(t,a,d,g)=>{const v=d===0?["ms","kb"].includes(g)?!1:d!==t:g!=="uptime"?t<=d:t*100>=d,N=a===0?!0:t<=a;return{uThreshold:v,uAverage:N}},metricStatus:(t,a,d)=>{const g={ms:["fast","slow"],kb:["small","big"],"%":["good","bad"],cookies:["good","bad"],custom:["good","bad"]},v=d??"ms";return p(t&&a?String(g[v][0]):t?"onAverage":String(g[v][1]))},componentStatus:(t,a)=>{const d={0:{border:"bg-uiSuccess",background:"bg-uiSuccess-50",score:0},1:{border:"bg-uiWarning",background:"bg-uiWarning-50",score:1},2:{border:"bg-uiError",background:"bg-uiError-50",score:2}};return t&&a?d[0]:t||a?d[1]:d[2]},metricConverter:(t,a)=>{const d=["ms","kb","%"].includes(a)?a:"default";return{ms:G(t,r.value),kb:U(t,r.value),"%":`${e(t*100,"currency")}%`,default:Math.floor(t)}[d]},setThreshold:(t,a)=>({uptime:`${t}% ${p("threshold")}`,browserTimings:`${t/1e3}s ${p("threshold")}`,serverTimings:`${t/1e3}s ${p("threshold")}`,pageSize:`${t/1e3}MB ${p("threshold")}`,cookieCount:`${t} ${p("cookies")} ${p("threshold")}`})[a]}};export{re as _,se as a,oe as u};