internal/dashboard/frontend/dist/assets/useChartStats-BWMLYU8s.js

import{c as te,s as N,o as x,e as I,ah as H,d as G,r as ae,I as Y,f as g,t as L,g as B,h as se,k as J,n as ue,i as C,p as le,ai as ne,aj as re,a7 as ie,ak as oe,K as ce,M as ve,O as de,u as fe,a as me,al as pe,am as he,w as ye,l as D,an as ke}from"./index-BebFsTBB.js";import{x as z,P as F,y as P,z as A,A as O,g as ge,B as V}from"./chart-BJS5fRTR.js";var Oe=te("outline","deselect","Deselect",[["path",{d:"M12 8h3a1 1 0 0 1 1 1v3",key:"svg-0"}],["path",{d:"M16 16h-7a1 1 0 0 1 -1 -1v-7",key:"svg-1"}],["path",{d:"M12 20v.01",key:"svg-2"}],["path",{d:"M16 20v.01",key:"svg-3"}],["path",{d:"M8 20v.01",key:"svg-4"}],["path",{d:"M4 20v.01",key:"svg-5"}],["path",{d:"M4 16v.01",key:"svg-6"}],["path",{d:"M4 12v.01",key:"svg-7"}],["path",{d:"M4 8v.01",key:"svg-8"}],["path",{d:"M8 4v.01",key:"svg-9"}],["path",{d:"M12 4v.01",key:"svg-10"}],["path",{d:"M16 4v.01",key:"svg-11"}],["path",{d:"M20 4v.01",key:"svg-12"}],["path",{d:"M20 8v.01",key:"svg-13"}],["path",{d:"M20 12v.01",key:"svg-14"}],["path",{d:"M20 16v.01",key:"svg-15"}],["path",{d:"M3 3l18 18",key:"svg-16"}]]);const be={},xe={class:"flex max-h-[50vh] w-full shrink-0 flex-col overflow-hidden rounded-lg border border-stone-800 bg-stone-900 md:h-full md:max-h-none md:w-64"};function Me(a,f){return x(),I("aside",xe,[H(a.$slots,"default")])}const Ve=N(be,[["render",Me]]),we={class:"px-1.5 py-1 text-right text-stone-500"},Ie={key:0},_e={key:1},$e={class:"flex items-center justify-end gap-0.5"},Se=G({__name:"SidebarListItem",props:{value:{},label:{},count:{},isSelected:{type:Boolean},type:{}},emits:["click","exclude"],setup(a,{emit:f}){return(c,l)=>{const v=ae("router-link");return x(),I("div",{class:Y(["group ip-list-item",{selected:a.isSelected}])},[g("div",{onClick:l[0]||(l[0]=d=>c.$emit("click")),class:"label cursor-pointer truncate px-1.5 py-1"},L(a.label??a.value),1),g("div",we,[a.count!==void 0?(x(),I("span",Ie," ("+L(a.count)+") ",1)):(x(),I("span",_e," — "))]),g("div",{class:Y(["px-1.5 py-1 group-hover:opacity-100",{"opacity-20":!a.isSelected}])},[g("div",$e,[B(v,{to:`/${a.type}/${a.value}`,class:"ip-list-btn",title:"View IP Details"},{default:se(()=>[(x(),J(ue(C(le).externalLink),{size:"14"}))]),_:1},8,["to"]),g("button",{onClick:l[1]||(l[1]=ne(d=>c.$emit("exclude"),["stop"])),class:"ip-list-btn",title:"Filter out IP"},[B(C(re),{size:"14"})])])],2)],2)}}}),Ee=N(Se,[["__scopeId","data-v-91a46db0"]]),De={class:"sticky top-0 z-10 flex shrink-0 cursor-pointer items-center justify-between bg-stone-900 p-2 text-xs font-bold"},ze={class:"flex items-center gap-1"},Fe={class:"sidebar-list-content flex flex-col gap-0.5 px-1.5 py-1"},Le=G({__name:"SidebarList",props:{title:{},items:{},type:{},selectedItem:{},open:{type:Boolean}},emits:["click","exclude"],setup(a){const f=a,c=de(null);return ie(()=>{f.open&&c.value&&(c.value.open=!0)}),(l,v)=>(x(),I("details",{ref_key:"detailsRef",ref:c,class:"sidebar-list",name:"sidebar-accordion"},[g("summary",De,[g("div",ze,[B(C(oe),{class:"icon transition-transform",size:"14"}),g("span",null,L(a.title)+" ("+L(a.items.length)+")",1)]),H(l.$slots,"header-actions",{},void 0,!0)]),g("div",Fe,[(x(!0),I(ce,null,ve(a.items,d=>(x(),J(Ee,{key:d.value,type:a.type,value:d.value,label:d.label,count:d.count,"is-selected":a.selectedItem===d.value,onClick:p=>l.$emit("click",d.value),onExclude:p=>l.$emit("exclude",d.value)},null,8,["type","value","label","count","is-selected","onClick","onExclude"]))),128))])],512))}}),Be=N(Le,[["__scopeId","data-v-acc42565"]]);function Ce(a,f,c,l,v,d,p){const M=fe().state,E=me(),{selectedIP:s,selectedPort:e,selectedCountry:u,selectedCount:r,selectedIPCount:b}=pe(E);function Q(){if(!(!a.value||!a.value.data?.length)){if(!s.value&&!e.value&&!u.value){T();return}s.value?q(s.value):e.value?U(e.value):u.value&&K(u.value)}}function T(){if(!a.value||!a.value.data?.length)return;const t={"marker.color":[f.value.slice()],"marker.opacity":[1]};v?.value?t["marker.size"]=[v.value.slice()]:t["marker.size"]=[ge],F.restyle(a.value,t),r.value=0,b.value=0}function w(){E.resetSelection(),T()}function j(t){M.remote_addr.includes("!"+t)?M.remote_addr=M.remote_addr.filter(h=>h!=="!"+t):M.remote_addr=[...M.remote_addr,"!"+t]}function X(){s.value&&(j(s.value),w())}function W(t){if(s.value===t){w();return}s.value=t,e.value=void 0,u.value=void 0,q(t)}function q(t){if(!a.value||!a.value.data?.length)return;const n=o=>Array.isArray(o)?o.includes(t):o===t,h=new Set,_=c.value.reduce((o,m,k)=>n(m)?(Array.isArray(m)?m.forEach(S=>h.add(S)):h.add(m),o+(d?.value?.[k]||1)):o,0),$=f.value.map((o,m)=>n(c.value[m])?z:o),y=c.value.map(o=>n(o)?1:P),i={"marker.color":[$],"marker.opacity":[y],"marker.line.width":[0]};v?.value?i["marker.size"]=[v.value]:i["marker.size"]=[c.value.map(o=>n(o)?A:O)],F.restyle(a.value,i),r.value=_,b.value=h.size}function Z(t){const n=Number(t);if(e.value===n){w();return}e.value=n,s.value=void 0,u.value=void 0,U(n)}function U(t){if(!a.value||!a.value.data?.length||!l?.value)return;const n=new Set,h=l.value.reduce((i,o,m)=>{if(o===t){const k=c.value[m];return Array.isArray(k)?k.forEach(S=>n.add(S)):n.add(k),i+(d?.value?.[m]||1)}return i},0),_=f.value.map((i,o)=>l.value[o]===t?z:i),$=l.value.map(i=>i===t?1:P),y={"marker.color":[_],"marker.opacity":[$],"marker.line.width":[0]};v?.value?y["marker.size"]=[v.value]:y["marker.size"]=[l.value.map(i=>i===t?A:O)],F.restyle(a.value,y),r.value=h,b.value=n.size}function R(t){if(u.value===t){w();return}u.value=t,s.value=void 0,e.value=void 0,K(t)}function K(t){if(!a.value||!a.value.data?.length||!p?.value)return;const n=new Set,h=p.value.reduce((i,o,m)=>{if(o===t){const k=c.value[m];return Array.isArray(k)?k.forEach(S=>n.add(S)):n.add(k),i+(d?.value?.[m]||1)}return i},0),_=f.value.map((i,o)=>p.value[o]===t?z:i),$=p.value.map(i=>i===t?1:P),y={"marker.color":[_],"marker.opacity":[$],"marker.line.width":[0]};v?.value?y["marker.size"]=[v.value]:y["marker.size"]=[p.value.map(i=>i===t?A:O)],F.restyle(a.value,y),r.value=h,b.value=n.size}function ee(t){const n=document.activeElement;n&&(n.tagName==="INPUT"||n.tagName==="TEXTAREA"||n.isContentEditable)||(t.key==="Escape"||t.key==="Esc"?w():(t.key==="Delete"||t.key==="Del")&&X())}return he(document,"keydown",ee),ye([a,f,c,l,v,d,p].filter(t=>t!==void 0),()=>{Q()},{flush:"post"}),{selectedIP:s,selectedPort:e,selectedCountry:u,selectedCount:r,selectedIPCount:b,selectedColor:z,highlightIP:W,highlightPort:Z,highlightCountry:R,resetSelection:w,deleteSelectedIP:X,toggleIPExclusion:j}}function Ne(a,f,c,l,v){const d=D(()=>{let s=a.value;if(f.value&&f.value.length===2){const e=new Date(f.value[0]).getTime(),u=new Date(f.value[1]).getTime();s=s.filter(r=>{const b=r.time.getTime();return b>=e&&b<=u})}if(c.value&&c.value.length===2){const e=parseFloat(c.value[0]),u=parseFloat(c.value[1]);s=s.filter(r=>r.dst_port>=e&&r.dst_port<=u)}if(l?.value&&l.value.length===2){const e=Math.min(parseFloat(l.value[0]),parseFloat(l.value[1])),u=Math.max(parseFloat(l.value[0]),parseFloat(l.value[1]));s=s.filter(r=>r.latitude===void 0?!1:r.latitude>=e&&r.latitude<=u)}if(v?.value&&v.value.length===2){const e=Math.min(parseFloat(v.value[0]),parseFloat(v.value[1])),u=Math.max(parseFloat(v.value[0]),parseFloat(v.value[1]));s=s.filter(r=>r.longitude===void 0?!1:r.longitude>=e&&r.longitude<=u)}return s}),p=D(()=>{const s={};return d.value.forEach(e=>{s[e.remote_addr]=(s[e.remote_addr]||0)+1}),Object.entries(s).map(([e,u])=>({value:e,count:u})).sort((e,u)=>u.count-e.count).slice(0,V)}),M=D(()=>{const s={};return d.value.forEach(e=>{s[e.dst_port]=(s[e.dst_port]||0)+1}),delete s[-1],Object.entries(s).map(([e,u])=>({value:Number(e),count:u})).sort((e,u)=>u.count-e.count).slice(0,V)}),E=D(()=>{const s={};return d.value.forEach(e=>{const u=e.country||"Unknown";s[u]=(s[u]||0)+1}),Object.entries(s).map(([e,u])=>{const r=ke(e);return{value:e,count:u,label:`${r.flag} ${r.name}`}}).sort((e,u)=>u.count-e.count).slice(0,V)});return{ipCounts:p,portCounts:M,countryCounts:E}}export{Ve as C,Oe as I,Be as S,Ne as a,Ce as u};