const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./hTb-vKRO.js","./BDeCArTU.js","./D_7mLYJ8.js","./EJiqiqZX.js","./entry.D7E-n75W.css","./COaTHx-9.js","./b6minSIt.js"])))=>i.map(i=>d[i]);
import{d as U,u as oe,P as re,i as se,o as M,c as F,w as g,a as y,k as i,b as m,_ as H,l as N,t as x,q as L,J as ne,G as q,j as G,ca as E,n as ie,m as J,D as X,p as K,s as C,av as V,A as ce,e as le,a7 as ue,ab as me,ac as de,N as pe,a4 as he,h as ge,cn as _e,a5 as fe}from"./EJiqiqZX.js";import{_ as ve}from"./B-neLpD6.js";import{d as be,s as ye}from"./DYAeJWb9.js";import{u as D,_ as Q,a as W}from"./BLzOTd6y.js";import{_ as Y}from"./BEdJFh5y.js";import{_ as we}from"./gjzm6RoO.js";import{_ as Z}from"./EjhM9UWu.js";import{u as ee}from"./CyytCdLd.js";import{b as xe}from"./Bmx4_aBd.js";import{u as Se}from"./DznjhPsl.js";const Ce={class:"flex items-center gap-2"},Te=U({__name:"SwitchMetricLayout",setup(e){const r=oe();be({[ye.metricview]:()=>r.metricTableLayout=!r.metricTableLayout});const{tracker:h}=re();return se(()=>r.metricTableLayout,_=>{_?h("metric_view","click","Switch metric layout to card"):h("metric_view","click","Switch metric layout to table")}),(_,d)=>{const S=H,c=ve,p=L;return M(),F(p,{size:"sm",variant:"subtle",color:"neutral",onClick:d[0]||(d[0]=w=>i(r).metricTableLayout=!i(r).metricTableLayout)},{default:g(()=>[y(c,{"toggle-state":i(r).metricTableLayout},{second:g(()=>[y(S,{name:"material-symbols:data-table-outline-sharp",class:"size-4"}),N(" "+x(_.$t("SwitchMetricLayout.TableView")),1)]),default:g(()=>[m("span",Ce,[y(S,{name:"material-symbols:credit-card",class:"size-4"}),N(" "+x(_.$t("SwitchMetricLayout.CardView")),1)])]),_:1},8,["toggle-state"])]),_:1})}}}),et=Object.assign(Te,{__name:"SwitchMetricLayout"}),ke={class:"flex items-center justify-center o_gap-2 flex-col"},Ie={class:"flex items-center o_gap-2"},ze=["href"],Ne=U({__name:"ChartResultsCompact",props:{data:{},displayType:{default:"line"},metricType:{default:"uptime"}},setup(e){const r=e,{t:h}=ne(),_=C(()=>[{id:"screenshot",header:"Screenshot",meta:{class:{th:"w-10"}}},{id:"state",accessorKey:"state",sortable:!0,header:({column:t})=>{const s=t.getIsSorted();return V(L,{color:"neutral",variant:"ghost",label:h("Status"),icon:s?s==="asc"?"i-lucide-arrow-up-narrow-wide":"i-lucide-arrow-down-wide-narrow":"i-lucide-arrow-up-down",trailing:!0,class:"-mx-2.5",onClick:()=>t.toggleSorting(t.getIsSorted()==="asc")})},meta:{class:{th:"w-20"}}},{id:"name",header:"Component"},{id:"current",accessorKey:"current",header:({column:t})=>{const s=t.getIsSorted();return V(L,{color:"neutral",variant:"ghost",label:h("Current"),icon:s?s==="asc"?"i-lucide-arrow-up-narrow-wide":"i-lucide-arrow-down-wide-narrow":"i-lucide-arrow-up-down",trailing:!0,class:"-mx-2.5",onClick:()=>t.toggleSorting(t.getIsSorted()==="asc")})},sortable:!0,meta:{class:{th:"w-28",td:"text-right"}}},{id:"average",accessorKey:"average",sortable:!0,header:({column:t})=>{const s=t.getIsSorted();return V(L,{color:"neutral",variant:"ghost",label:h("Average"),icon:s?s==="asc"?"i-lucide-arrow-up-narrow-wide":"i-lucide-arrow-down-wide-narrow":"i-lucide-arrow-up-down",trailing:!0,class:"-mx-2.5",onClick:()=>t.toggleSorting(t.getIsSorted()==="asc")})},meta:{class:{th:"w-28",td:"text-right"}}}]),d=C(()=>{if(!r.data)return null;const t=[];return r.data.metrics.forEach(b=>{const k=b.series[0],a=b.component,o=b.meta;t.push({name:b.component.name,type:r.displayType,meta:{componentId:a.id,url:a.url,tool:k.name,name:a.name,limit:o.limit,current:o.current,average:o.average},data:k.data.map(l=>({x:l.x,y:l.y}))})}),{series:t}}),{remapToRelevantOptions:S}=W(),c=ce([]),p=t=>{const s=c.value.indexOf(t);s>=0?c.value.splice(s,1):c.value.push(t)},{setThreshold:w}=D(),f=q(),v=C(()=>f.value==="dark"),I={pageSize:1e3,cookieCount:1,serverTimings:1,browserTimings:1,uptime:1},z=C(()=>{if(!d.value?.series[0])return null;const t=d.value.series[0].meta.limit;return S(r.metricType,{yAxis:{plotLines:[{value:t*I[r.metricType],color:v.value?"var(--color-uiNeutral-50)":"var(--color-uiNeutral)",width:1,dashStyle:"DashDot",zIndex:5,label:{x:-5,text:w(t,r.metricType),textAlign:"right",align:"right",style:{color:v.value?"var(--color-uiNeutral-50)":"var(--color-uiNeutral-700)",fontSize:"0.7em"}}}]},legend:{enabled:!0,events:{itemClick:s=>{p(s.legendItem.name)}}}},!1)}),{underValues:$,componentStatus:O,metricStatus:P}=D(),j=C(()=>d.value?.series[0]?d.value.series.map(t=>{const s=$(t.meta.current,t.meta.average,t.meta.limit,t.meta.unit),b=O(s.uThreshold,s.uAverage),k=P(s.uThreshold,s.uAverage,t.meta.unit);return{state:b.score,name:t.name,current:t.meta.current,average:t.meta.average,screenshot:A(t.meta.componentId),extras:{statusColor:b.border,statusText:k,...t.meta}}}).filter(t=>c.value.length===0||!c.value.includes(t.name)):[]),B=ee(),A=t=>B.selectProjectScreenshots?.components?.[t]||{};return(t,s)=>{const b=Q,k=H,a=Y,o=we,l=Z,u=G("tippy");return i(d)?.series?.length?(M(),F(l,{key:0,class:"o_overflow-hidden"},{default:g(()=>[y(b,{"chart-data":i(d),"chart-options":i(z),class:"border-b border-uiBorder-muted"},null,8,["chart-data","chart-options"]),i(j).length?(M(),F(o,{key:0,data:i(j),columns:i(_),sticky:"",loading:i(j).length===0,"loading-color":"primary","loading-animation":"carousel"},{"state-cell":g(({row:n})=>[m("div",ke,[J(m("div",{class:X(["size-4 rounded-sm",n.original.extras.statusColor])},null,2),[[u,{content:n.original.extras.statusText,theme:i(v)?"light":"dark"}]])])]),"name-cell":g(({row:n})=>[m("div",Ie,[m("a",{href:n.original.extras.url,target:"_blank",class:"flex items-center o_gap-2"},[m("span",null,x(n.original.name),1),y(k,{name:i(ie).icoExternalLink,class:"size-3 text-neutral-400"},null,8,["name"])],8,ze)])]),"current-cell":g(({row:n})=>[m("span",null,x(("convertMsToTime"in t?t.convertMsToTime:i(E))(n.original.extras.current)),1)]),"average-cell":g(({row:n})=>[m("span",null,x(("convertMsToTime"in t?t.convertMsToTime:i(E))(n.original.extras.average)),1)]),"screenshot-cell":g(({row:n})=>[y(a,{screenshot:A(n.original.extras.componentId),class:"o_w-10","with-border":!1},null,8,["screenshot"])]),_:1},8,["data","columns","loading"])):K("",!0)]),_:1})):K("",!0)}}}),tt=Object.assign(Ne,{__name:"ChartResultsCompact"}),De={class:"flex flex-row o_overflow-hidden","data-cy":"metricInfos-box"},$e={class:"o_py-3 text-uiText"},Oe={class:"font-medium mb-1 flex items-center o_gap-1 text-uiText leading-6","data-cy":"metricInfos-head"},je={class:"text-sm text-uiText-muted","data-cy":"metricInfos-infos"},Ae={class:"font-medium"},Me={class:"font-medium"},Le=U({__name:"MetricInfos",props:{statsType:{type:String,default:"time"},statsUnit:{type:String,default:"ms"},stats:{type:Object,default:()=>{}}},setup(e){const r=e,{metricConverter:h,underValues:_,componentStatus:d,metricStatus:S}=D(),c=C(()=>_(r.stats.current,r.stats.average,r.stats.limit,r.statsUnit)),p=C(()=>d(c.value.uThreshold,c.value.uAverage));return(w,f)=>{const v=H,I=G("tippy");return M(),le("div",De,[m("div",{class:X(["min-h-full o_w-2 shrink-0 grow-0 o_m-3 rounded-md",[i(p).border]])},null,2),m("div",$e,[m("div",Oe,[N(x(i(S)(i(c).uThreshold,i(c).uAverage,e.statsUnit))+" ",1),J(y(v,{name:"material-symbols:help",class:"size-4 text-uiText-muted"},null,512),[[I,{content:w.$t("metricStats.explain")}]])]),m("p",je,[N(x(w.$t("actual"))+": ",1),m("span",Ae,x(i(h)(e.stats.current,e.statsUnit)),1),f[0]||(f[0]=N()),f[1]||(f[1]=m("br",null,null,-1)),N(" "+x(w.$t("average"))+": ",1),m("span",Me,x(i(h)(e.stats.average,e.statsUnit)),1)])])])}}}),Fe=Object.assign(Le,{__name:"MetricInfos"}),Ue=me(()=>de(()=>import("./hTb-vKRO.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>e.default||e)),Pe={class:"grid grid-cresults gap-px bg-uiBg-20"},Be={class:"grid-cresults__screenshot bg-uiBg-10"},Re={class:"grid-cresults__info bg-uiBg"},Ve={class:"grid-cresults__chart bg-uiBg dark:bg-[#1a1a1a] flex items-center"},He=U({__name:"ChartResult",props:{metricType:{default:"uptime"},metric:{},options:{default:()=>({})},hasAverage:{type:Boolean,default:!0},ignoreToolId:{},externalUrl:{},addInfoType:{}},setup(e){const r=e,{pageComponentName:h}=Se(),{metricConfig:_}=D(),d=ee(),S=p=>d.selectProjectScreenshots?.components?.[p]||{},c=C(()=>{const{limit:p,current:w,average:f}=r.metric.meta,v=typeof p=="object";return{limit:parseFloat(v?p.bad:p),medium:v&&p.medium?parseFloat(p.medium):0,current:parseFloat(w),average:parseFloat(f)}});return(p,w)=>{const f=xe,v=Y,I=Fe,z=Q,$=Ue,O=Z;return M(),F(O,{ui:{body:"o_p-0"},variant:"subtle",class:"o_overflow-hidden"},ue({header:g(()=>[y(f,{component:e.metric.component},{default:g(()=>[N(x(i(h)(e.metric.component)),1)]),_:1},8,["component"])]),default:g(()=>[m("div",Pe,[m("div",Be,[y(v,{screenshot:S(e.metric.component.id),"with-border":!1},null,8,["screenshot"])]),m("div",Re,[y(I,{"stats-unit":i(_)(e.metricType).unit,"stats-type":e.metricType,stats:i(c)},null,8,["stats-unit","stats-type","stats"])]),m("div",Ve,[y(z,{"chart-data":e.metric,"chart-options":e.options,class:"w-full"},null,8,["chart-data","chart-options"])])])]),_:2},[e.metric.additionalInfo?.length?{name:"footer",fn:g(()=>[y($,{data:e.metric.additionalInfo,"info-type":e.addInfoType},null,8,["data","info-type"])]),key:"0"}:void 0]),1024)}}}),at=Object.assign(He,{__name:"ChartResult"});var te=(e=>(e.uptime="koalaping",e.browserTimings="performanceLoad",e.serverTimings="performance",e.pageSize="SiteInfoFileSize",e.cookieCount="CookieCount",e))(te||{});const ot=e=>{const{kapi:r}=pe(),{mainInterval:h}=D(),{setCachedData:_,addTimeToProcessedData:d}=he(),S=ge(),{sid:c,pid:p}=S.params;if(!c)throw new Error("sid is required");const w={uptime:"column",browserTimings:"area",serverTimings:"area",pageSize:"area",cookieCount:"column"},f={pageSize:1e3,uptime:1,browserTimings:1,serverTimings:1,cookieCount:1},v=(a,o,l)=>{const u=new Date(Number(l)*1e3),n=a<=o?"var(--appui-chart-success)":"var(--appui-chart-fail)";return e==="uptime"?{x:u,y:a*100,color:a*100>=o?"var(--appui-chart-success)":"var(--appui-chart-fail)"}:e==="pageSize"?{x:u,y:a*1e3,color:n}:{x:u,y:a,color:n}},{setFirstSeenData:I}=_e(),{data:z,error:$,status:O,refresh:P}=fe(`metrics-${e}-${c||0}`,async()=>{const a=await r("Metric").then(o=>o.findBySystem(Number(c),{tools:[te[e]],metric_type:e==="uptime"?"status":"value",with_current_value:!0,time:h.value.time,from:h.value.from}));if(e==="pageSize"){const o=await r("CheckFileSize").then(l=>l.getResults(Number(c)));if(!Object.keys(o).length)return a;Object.values(a.metrics).forEach(l=>{const u=o[l.component.id];u&&(l.additionalInfo=u["big-files"]?.map(n=>{const{name:T,...R}=n;return{"content-type":n["content-type"],url:T,...R}}))})}if(e==="cookieCount"){const o=await r("CheckCookie").then(u=>u.getDomains(Number(c)));if(!o?.components)return a;const l=Object.values(o.components).reduce((u,n)=>(u[n.component.id]=n.domains?n.domains.map(T=>({url:T})):[],u),{});Object.values(a.metrics).forEach(u=>{l&&(u.additionalInfo=l[u.component.id])})}return Object.keys(a.metrics).length&&I(Number(p),Number(c)),a},{transform:a=>{if(a.metrics.length===0)return d(a,-10);const o={metrics:Object.values(a.metrics).map(l=>{const{metrics:u,...n}=l;return{...n,meta:{limit:Number(u[0].tool.limit),current:Number(u[0].value.current),average:Number(u[0].value.average)},series:u.map(T=>({name:T.tool.name,identifier:T.tool.identifier,type:w[e],data:Object.entries(T.data).map(([R,ae])=>v(ae,Number(T.tool.limit),R)),zoneAxis:"y",zones:[{value:Number(T.tool.limit)*(f[e]||1),color:"var(--appui-chart-success)"},{color:"var(--appui-chart-fail)"}]}))}})};return d(o)},getCachedData:(a,o,l)=>{if(!(l.cause==="refresh:manual"||l.cause==="refresh:hook"))return _(a)}}),{remapToRelevantOptions:j}=W(),{setThreshold:B}=D(),A=C(()=>q().value==="dark"),t={pageSize:1e3,cookieCount:1,serverTimings:1,browserTimings:1,uptime:1,seoscore:1},s=(a,o)=>o*t[a],b=(a,o,l=!1)=>j(o,{yAxis:{max:o==="uptime"?100:s(o,a),plotLines:[{value:s(o,a),color:A.value?"var(--color-uiNeutral-50)":"var(--color-uiNeutral)",width:1,zIndex:5,dashStyle:"DashDot",label:{x:-5,text:B(a,o),textAlign:"right",align:"right",style:{color:A.value?"var(--color-uiNeutral-50)":"var(--color-uiNeutral)",fontSize:"0.7em"}}}]},legend:{enabled:l}}),k=C(()=>{if(!z.value?.metrics?.[0]?.meta)return{};const a=z.value.metrics[0].meta.limit/1;return b(a,e)});return{data:z,error:$,status:O,refresh:P,setChartOptions:b,chartOptions:k}};export{et as _,tt as a,at as b,ot as u};