1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6069],{83209:(e,t,s)=>{s.d(t,{BT:()=>i,Wu:()=>c,ZB:()=>o,Zp:()=>n,aR:()=>d,wL:()=>x});var r=s(95155),a=s(12115),l=s(25016);let n=a.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",s),...a})});n.displayName="Card";let d=a.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",s),...a})});d.displayName="CardHeader";let o=a.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("text-2xl font-semibold leading-none tracking-tight",s),...a})});o.displayName="CardTitle";let i=a.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",s),...a})});i.displayName="CardDescription";let c=a.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("p-6 pt-0",s),...a})});c.displayName="CardContent";let x=a.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("flex items-center p-6 pt-0",s),...a})});x.displayName="CardFooter"},96069:(e,t,s)=>{s.r(t),s.d(t,{TrendIntelligence:()=>R});var r=s(95155),a=s(12115),l=s(83209),n=s(25016),d=s(90751),o=s(73850),i=s(64471),c=s(47734),x=s(73697),m=s(33420),u=s(5554),f=s(7713),p=s(80019),h=s(55486),j=s(1524),g=s(79397),b=s(80534),N=s(30814),v=s(60399);let y=[{id:"risk-trend",label:"Risk Score",icon:j.A},{id:"lifecycle",label:"Validation Funnel",icon:g.A},{id:"severity",label:"Severity Trend",icon:b.A},{id:"epss",label:"EPSS Scores",icon:N.A}];function k(e){let{active:t,payload:s,label:a}=e;return t&&(null==s?void 0:s.length)?(0,r.jsxs)("div",{className:"rounded-lg border border-border bg-card/95 p-2.5 text-xs shadow-xl",children:[(0,r.jsx)("p",{className:"mb-1 font-medium text-muted-foreground",children:a}),s.map((e,t)=>(0,r.jsxs)("p",{className:"flex items-center gap-2",style:{color:e.color},children:[(0,r.jsx)("span",{className:"h-2 w-2 rounded-full",style:{backgroundColor:e.color}}),"value"!==e.name?"".concat(e.name,": "):"","number"==typeof e.value?e.value.toLocaleString():e.value]},t))]}):null}function w(e){let{data:t}=e,s=t.filter(e=>e.event);return(0,r.jsx)(d.u,{width:"100%",height:320,children:(0,r.jsxs)(o.Q,{data:t,margin:{top:20,right:20,bottom:0,left:0},children:[(0,r.jsx)("defs",{children:(0,r.jsxs)("linearGradient",{id:"riskGrad",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,r.jsx)("stop",{offset:"0%",stopColor:"hsl(var(--brand))",stopOpacity:.4}),(0,r.jsx)("stop",{offset:"100%",stopColor:"hsl(var(--brand))",stopOpacity:0})]})}),(0,r.jsx)(i.d,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.05)"}),(0,r.jsx)(c.W,{dataKey:"date",stroke:"hsl(var(--border))",tick:{fontSize:10}}),(0,r.jsx)(x.h,{stroke:"hsl(var(--border))",tick:{fontSize:10},domain:[40,100]}),(0,r.jsx)(m.m,{content:(0,r.jsx)(k,{})}),(0,r.jsx)(u.Gk,{type:"monotone",dataKey:"score",stroke:"hsl(var(--brand))",fill:"url(#riskGrad)",strokeWidth:2,dot:!1,activeDot:{r:4,fill:"hsl(var(--brand))"}}),s.map(e=>{var t,s;return(0,r.jsx)(f.r,{x:e.date,y:e.score,r:5,fill:(null==(t=e.event)?void 0:t.type)==="critical_finding"?"#ef4444":(null==(s=e.event)?void 0:s.type)==="engagement_complete"?"#3b82f6":"#22c55e",stroke:"hsl(var(--border))",strokeWidth:2},e.date)})]})})}function C(e){let{data:t}=e,s=Math.max(...t.map(e=>e.count));return(0,r.jsx)("div",{className:"space-y-3 py-4",children:t.map((e,a)=>{let l=Math.max(e.count/s*100,8),n=a>0?(e.count/t[a-1].count*100).toFixed(1):null;return(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"font-medium text-muted-foreground",children:e.stage}),n&&(0,r.jsxs)("span",{className:"rounded-full bg-muted px-1.5 py-0.5 text-[9px] text-muted-foreground",children:[n,"% conversion"]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("span",{className:"text-[10px] text-muted-foreground",children:e.avgDaysInStage>0?"~".concat(e.avgDaysInStage,"d avg"):""}),(0,r.jsx)("span",{className:"font-mono font-medium text-muted-foreground",children:e.count.toLocaleStr
1ing()})]})]}),(0,r.jsx)("div",{className:"relative h-6 overflow-hidden rounded bg-muted/50",children:(0,r.jsx)("div",{className:"flex h-full items-center justify-end rounded pr-2 transition-all duration-700 ease-out",style:{width:"".concat(l,"%"),backgroundColor:e.color}})})]},e.stage)})})}function S(e){let{data:t}=e;return(0,r.jsx)(d.u,{width:"100%",height:320,children:(0,r.jsxs)(p.b,{data:t,margin:{top:10,right:10,bottom:0,left:0},children:[(0,r.jsx)(i.d,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.05)"}),(0,r.jsx)(c.W,{dataKey:"month",stroke:"hsl(var(--border))",tick:{fontSize:10}}),(0,r.jsx)(x.h,{stroke:"hsl(var(--border))",tick:{fontSize:10}}),(0,r.jsx)(m.m,{content:(0,r.jsx)(k,{})}),(0,r.jsx)(h.N1,{type:"monotone",dataKey:"critical",stroke:v.aX.critical,strokeWidth:2,dot:{r:3},name:"Critical"}),(0,r.jsx)(h.N1,{type:"monotone",dataKey:"high",stroke:v.aX.high,strokeWidth:2,dot:{r:3},name:"High"}),(0,r.jsx)(h.N1,{type:"monotone",dataKey:"medium",stroke:v.aX.medium,strokeWidth:2,dot:{r:3},name:"Medium"}),(0,r.jsx)(h.N1,{type:"monotone",dataKey:"low",stroke:v.aX.low,strokeWidth:2,dot:{r:3},name:"Low"})]})})}function W(e){let{data:t}=e;return(0,r.jsx)(d.u,{width:"100%",height:320,children:(0,r.jsxs)(o.Q,{data:t,margin:{top:10,right:10,bottom:0,left:0},children:[(0,r.jsx)("defs",{children:Object.keys(v.eN).map(e=>(0,r.jsxs)("linearGradient",{id:"epss-".concat(e),x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,r.jsx)("stop",{offset:"0%",stopColor:v.eN[e].color,stopOpacity:.6}),(0,r.jsx)("stop",{offset:"100%",stopColor:v.eN[e].color,stopOpacity:.1})]},e))}),(0,r.jsx)(i.d,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.05)"}),(0,r.jsx)(c.W,{dataKey:"month",stroke:"hsl(var(--border))",tick:{fontSize:10}}),(0,r.jsx)(x.h,{stroke:"hsl(var(--border))",tick:{fontSize:10}}),(0,r.jsx)(m.m,{content:(0,r.jsx)(k,{})}),Object.keys(v.eN).map(e=>(0,r.jsx)(u.Gk,{type:"monotone",dataKey:e,stackId:"1",stroke:v.eN[e].color,fill:"url(#epss-".concat(e,")"),name:v.eN[e].label},e))]})})}function R(e){let{riskScoreTrend:t,vulnerabilityLifecycle:s,severityTrend:d,epssTrend:o}=e,[i,c]=(0,a.useState)("risk-trend");return(0,r.jsxs)(l.Zp,{className:"border-border bg-card/50 backdrop-blur-xl",children:[(0,r.jsx)(l.aR,{className:"pb-2",children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)(l.ZB,{className:"text-base font-semibold text-foreground",children:"Trend Intelligence"}),(0,r.jsx)("div",{className:"flex rounded-lg bg-muted/60 p-0.5",children:y.map(e=>{let t=e.icon;return(0,r.jsxs)("button",{onClick:()=>c(e.id),className:(0,n.cn)("flex items-center gap-1.5 rounded-md px-3 py-1.5 text-[11px] font-medium transition-all",i===e.id?"bg-brand/20 text-brand shadow-sm":"text-muted-foreground hover:text-muted-foreground"),children:[(0,r.jsx)(t,{className:"h-3.5 w-3.5"}),e.label]},e.id)})})]})}),(0,r.jsxs)(l.Wu,{children:["risk-trend"===i&&(0,r.jsxs)("div",{className:"mb-2 flex gap-4 text-[10px]",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-red-500"}),(0,r.jsx)("span",{className:"text-muted-foreground",children:"Critical Finding"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-blue-500"}),(0,r.jsx)("span",{className:"text-muted-foreground",children:"Engagement Completed"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-green-500"}),(0,r.jsx)("span",{className:"text-muted-foreground",children:"Remediation Milestone"})]})]}),"severity"===i&&(0,r.jsx)("div",{className:"mb-2 flex gap-4 text-[10px]",children:Object.entries(v.aX).filter(e=>{let[t]=e;return"info"!==t}).map(e=>{let[t,s]=e;return(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:s}}),(0,r.jsx)("span",{className:"capitalize text-muted-foreground",children:t})]},t)})}),"epss"===i&&(0,r.jsx)("div",{className:"mb-2 flex flex-wrap gap-3 text-[9px]",children:Object.entries(v.eN).map(e=>{let[t,s]=e;return(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:s.color}}),(0,r.jsx)("span",{className:"text-muted-foreground",children:s.label})]},t)})}),"risk-trend"===i&&(0,r.jsx)(w,{data:t}),"lifecycle"===i&&(0,r.jsx)(C,{data:s}),"severity"===i&&(0,r.jsx)(S,{data:d}),"epss"===i&&(0,r.jsx)(W,{data:o})]})]})}}}]); 2//# sourceMappingURL=6069.7a88d3d2464af0c5.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.