@verifiedinc-public/shared-ui-elements 3.11.1 → 3.11.2

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.
@@ -1,8 +1,7 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { SxProps } from '@mui/material';
3
- interface RiskScoreBarChartProps {
3
+ export interface RiskScoreBarChartProps {
4
4
  data: Array<Record<number, number>>;
5
5
  sx?: SxProps;
6
6
  }
7
7
  export declare function RiskScoreBarChart({ data, sx, }: RiskScoreBarChartProps): ReactElement;
8
- export {};
@@ -6,4 +6,5 @@ export * from './SimpleBarChart';
6
6
  export * from './ErrorCodesChart';
7
7
  export * from './PieChart';
8
8
  export * from './RiskScorePieChart';
9
+ export * from './RiskScoreBarChart';
9
10
  export * from './SimpleLegend';
@@ -1 +1 @@
1
- "use strict";import{j as a}from"../../shared/jsx-runtime-DHlBLioN.mjs";import*as P from"react";import{useCallback as ee,useMemo as te,createElement as Ie,useState as q,useRef as Pe,useEffect as he}from"react";import{Box as z,Stack as U,Typography as W,useTheme as V,Paper as ze}from"@mui/material";import{ResponsiveContainer as Z,LineChart as Ve,CartesianGrid as ne,XAxis as oe,YAxis as re,Label as xe,Tooltip as ae,Legend as ye,Line as Ge,AreaChart as Ke,Area as We,ComposedChart as Be,ReferenceLine as ve,ReferenceArea as ge,Bar as qe,Sector as be,PieChart as Ue,Pie as Ze,Cell as Ye}from"recharts";import{b as we,c as je}from"../../shared/date-Cq0LS2Mr.mjs";import Y,{Decimal as ie}from"decimal.js";import{AnimatePresence as He}from"framer-motion";import{u as Xe}from"../../shared/useCopyToClipboard-BALOSYVW.mjs";import"qrcode";import{u as se}from"../../shared/usePrevious-DyvR1iCQ.mjs";import{a as Je,C as Oe}from"../../shared/motions-BBPeWBPV.mjs";import{c as ke,i as Qe,_ as H,s as et,a as S,d as tt,e as nt,f as ot,h as rt,j as at,k as it,l as st,m as lt,n as ct,o as ut,p as dt,u as pt}from"../../shared/index-KVVTzcea.mjs";import{u as mt}from"../../shared/useCounter-BV32zXDQ.mjs";const ft=["ownerState"],ht=["variants"],xt=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function yt(e){return Object.keys(e).length===0}function vt(e){return typeof e=="string"&&e.charCodeAt(0)>96}function le(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const gt=ke(),bt=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function X({defaultTheme:e,theme:t,themeId:n}){return yt(t)?e:t[n]||t}function wt(e){return e?(t,n)=>n[e]:null}function J(e,t){let{ownerState:n}=t,o=H(t,ft);const r=typeof e=="function"?e(S({ownerState:n},o)):e;if(Array.isArray(r))return r.flatMap(s=>J(s,S({ownerState:n},o)));if(r&&typeof r=="object"&&Array.isArray(r.variants)){const{variants:s=[]}=r;let i=H(r,ht);return s.forEach(c=>{let l=!0;typeof c.props=="function"?l=c.props(S({ownerState:n},o,n)):Object.keys(c.props).forEach(d=>{n?.[d]!==c.props[d]&&o[d]!==c.props[d]&&(l=!1)}),l&&(Array.isArray(i)||(i=[i]),i.push(typeof c.style=="function"?c.style(S({ownerState:n},o,n)):c.style))}),i}return r}function jt(e={}){const{themeId:t,defaultTheme:n=gt,rootShouldForwardProp:o=le,slotShouldForwardProp:r=le}=e,s=i=>tt(S({},i,{theme:X(S({},i,{defaultTheme:n,themeId:t}))}));return s.__mui_systemSx=!0,(i,c={})=>{Qe(i,f=>f.filter(k=>!(k!=null&&k.__mui_systemSx)));const{name:l,slot:d,skipVariantsResolver:h,skipSx:x,overridesResolver:u=wt(bt(d))}=c,m=H(c,xt),j=h!==void 0?h:d&&d!=="Root"&&d!=="root"||!1,w=x||!1;let O,y=le;d==="Root"||d==="root"?y=o:d?y=r:vt(i)&&(y=void 0);const b=et(i,S({shouldForwardProp:y,label:O},m)),T=f=>typeof f=="function"&&f.__emotion_real!==f||nt(f)?k=>J(f,S({},k,{theme:X({theme:k.theme,defaultTheme:n,themeId:t})})):f,R=(f,...k)=>{let A=T(f);const $=k?k.map(T):[];l&&u&&$.push(v=>{const g=X(S({},v,{defaultTheme:n,themeId:t}));if(!g.components||!g.components[l]||!g.components[l].styleOverrides)return null;const N=g.components[l].styleOverrides,C={};return Object.entries(N).forEach(([_,L])=>{C[_]=J(L,S({},v,{theme:g}))}),u(v,C)}),l&&!j&&$.push(v=>{var g;const N=X(S({},v,{defaultTheme:n,themeId:t})),C=N==null||(g=N.components)==null||(g=g[l])==null?void 0:g.variants;return J({variants:C},S({},v,{theme:N}))}),w||$.push(s);const E=$.length-k.length;if(Array.isArray(f)&&E>0){const v=new Array(E).fill("");A=[...f,...v],A.raw=[...f.raw,...v]}const p=b(A,...$);return i.muiName&&(p.muiName=i.muiName),p};return b.withConfig&&(R.withConfig=b.withConfig),R}}const Ot=jt(),kt=(e,t)=>e.filter(n=>t.includes(n)),G=(e,t,n)=>{const o=e.keys[0];Array.isArray(t)?t.forEach((r,s)=>{n((i,c)=>{s<=e.keys.length-1&&(s===0?Object.assign(i,c):i[e.up(e.keys[s])]=c)},r)}):t&&typeof t=="object"?(Object.keys(t).length>e.keys.length?e.keys:kt(e.keys,Object.keys(t))).forEach(r=>{if(e.keys.indexOf(r)!==-1){const s=t[r];s!==void 0&&n((i,c)=>{o===r?Object.assign(i,c):i[e.up(r)]=c},s)}}):(typeof t=="number"||typeof t=="string")&&n((r,s)=>{Object.assign(r,s)},t)};function F(e){return e?`Level${e}`:""}function B(e){return e.unstable_level>0&&e.container}function Se(e){return function(t){return`var(--Grid-${t}Spacing${F(e.unstable_level)})`}}function ce(e){return function(t){return e.unstable_level===0?`var(--Grid-${t}Spacing)`:`var(--Grid-${t}Spacing${F(e.unstable_level-1)})`}}function ue(e){return e.unstable_level===0?"var(--Grid-columns)":`var(--Grid-columns${F(e.unstable_level-1)})`}const St=({theme:e,ownerState:t})=>{const n=Se(t),o={};return G(e.breakpoints,t.gridSize,(r,s)=>{let i={};s===!0&&(i={flexBasis:0,flexGrow:1,maxWidth:"100%"}),s==="auto"&&(i={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof s=="number"&&(i={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${s} / ${ue(t)}${B(t)?` + ${n("column")}`:""})`}),r(o,i)}),o},$t=({theme:e,ownerState:t})=>{const n={};return G(e.breakpoints,t.gridOffset,(o,r)=>{let s={};r==="auto"&&(s={marginLeft:"auto"}),typeof r=="number"&&(s={marginLeft:r===0?"0px":`calc(100% * ${r} / ${ue(t)})`}),o(n,s)}),n},Tt=({theme:e,ownerState:t})=>{if(!t.container)return{};const n=B(t)?{[`--Grid-columns${F(t.unstable_level)}`]:ue(t)}:{"--Grid-columns":12};return G(e.breakpoints,t.columns,(o,r)=>{o(n,{[`--Grid-columns${F(t.unstable_level)}`]:r})}),n},Rt=({theme:e,ownerState:t})=>{if(!t.container)return{};const n=ce(t),o=B(t)?{[`--Grid-rowSpacing${F(t.unstable_level)}`]:n("row")}:{};return G(e.breakpoints,t.rowSpacing,(r,s)=>{var i;r(o,{[`--Grid-rowSpacing${F(t.unstable_level)}`]:typeof s=="string"?s:(i=e.spacing)==null?void 0:i.call(e,s)})}),o},At=({theme:e,ownerState:t})=>{if(!t.container)return{};const n=ce(t),o=B(t)?{[`--Grid-columnSpacing${F(t.unstable_level)}`]:n("column")}:{};return G(e.breakpoints,t.columnSpacing,(r,s)=>{var i;r(o,{[`--Grid-columnSpacing${F(t.unstable_level)}`]:typeof s=="string"?s:(i=e.spacing)==null?void 0:i.call(e,s)})}),o},Ct=({theme:e,ownerState:t})=>{if(!t.container)return{};const n={};return G(e.breakpoints,t.direction,(o,r)=>{o(n,{flexDirection:r})}),n},Et=({ownerState:e})=>{const t=Se(e),n=ce(e);return S({minWidth:0,boxSizing:"border-box"},e.container&&S({display:"flex",flexWrap:"wrap"},e.wrap&&e.wrap!=="wrap"&&{flexWrap:e.wrap},{margin:`calc(${t("row")} / -2) calc(${t("column")} / -2)`},e.disableEqualOverflow&&{margin:`calc(${t("row")} * -1) 0px 0px calc(${t("column")} * -1)`}),(!e.container||B(e))&&S({padding:`calc(${n("row")} / 2) calc(${n("column")} / 2)`},(e.disableEqualOverflow||e.parentDisableEqualOverflow)&&{padding:`${n("row")} 0px 0px ${n("column")}`}))},Nt=e=>{const t=[];return Object.entries(e).forEach(([n,o])=>{o!==!1&&o!==void 0&&t.push(`grid-${n}-${String(o)}`)}),t},_t=(e,t="xs")=>{function n(o){return o===void 0?!1:typeof o=="string"&&!Number.isNaN(Number(o))||typeof o=="number"&&o>0}if(n(e))return[`spacing-${t}-${String(e)}`];if(typeof e=="object"&&!Array.isArray(e)){const o=[];return Object.entries(e).forEach(([r,s])=>{n(s)&&o.push(`spacing-${r}-${String(s)}`)}),o}return[]},Dt=e=>e===void 0?[]:typeof e=="object"?Object.entries(e).map(([t,n])=>`direction-${t}-${n}`):[`direction-xs-${String(e)}`],Lt=["className","children","columns","container","component","direction","wrap","spacing","rowSpacing","columnSpacing","disableEqualOverflow","unstable_level"],Mt=ke(),Ft=Ot("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>t.root});function It(e){return st({props:e,name:"MuiGrid",defaultTheme:Mt})}function Pt(e={}){const{createStyledComponent:t=Ft,useThemeProps:n=It,componentName:o="MuiGrid"}=e,r=P.createContext(void 0),s=(l,d)=>{const{container:h,direction:x,spacing:u,wrap:m,gridSize:j}=l,w={root:["root",h&&"container",m!=="wrap"&&`wrap-xs-${String(m)}`,...Dt(x),...Nt(j),...h?_t(u,d.breakpoints.keys[0]):[]]};return lt(w,O=>ct(o,O),{})},i=t(Tt,At,Rt,St,Ct,Et,$t),c=P.forwardRef(function(l,d){var h,x,u,m,j,w,O,y;const b=ot(),T=n(l),R=rt(T),f=P.useContext(r),{className:k,children:A,columns:$=12,container:E=!1,component:p="div",direction:v="row",wrap:g="wrap",spacing:N=0,rowSpacing:C=N,columnSpacing:_=N,disableEqualOverflow:L,unstable_level:M=0}=R,Ne=H(R,Lt);let K=L;M&&L!==void 0&&(K=l.disableEqualOverflow);const de={},pe={},me={};Object.entries(Ne).forEach(([D,I])=>{b.breakpoints.values[D]!==void 0?de[D]=I:b.breakpoints.values[D.replace("Offset","")]!==void 0?pe[D.replace("Offset","")]=I:me[D]=I});const _e=(h=l.columns)!=null?h:M?void 0:$,De=(x=l.spacing)!=null?x:M?void 0:N,Le=(u=(m=l.rowSpacing)!=null?m:l.spacing)!=null?u:M?void 0:C,Me=(j=(w=l.columnSpacing)!=null?w:l.spacing)!=null?j:M?void 0:_,fe=S({},R,{level:M,columns:_e,container:E,direction:v,wrap:g,spacing:De,rowSpacing:Le,columnSpacing:Me,gridSize:de,gridOffset:pe,disableEqualOverflow:(O=(y=K)!=null?y:f)!=null?O:!1,parentDisableEqualOverflow:f}),Fe=s(fe,b);let Q=a.jsx(i,S({ref:d,as:p,ownerState:fe,className:at(Fe.root,k)},me,{children:P.Children.map(A,D=>{if(P.isValidElement(D)&&it(D,["Grid"])){var I;return P.cloneElement(D,{unstable_level:(I=D.props.unstable_level)!=null?I:M+1})}return D})}));return K!==void 0&&K!==(f??!1)&&(Q=a.jsx(r.Provider,{value:K,children:Q})),Q});return c.muiName="Grid",c}const $e=Pt({createStyledComponent:ut("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(e,t)=>t.root}),componentName:"MuiGrid2",useThemeProps:e=>dt({props:e,name:"MuiGrid2"})});function zt({entry:e,payload:t}){const n=ee(x=>{var u,m,j;return(j=(m=(u=x.payload)==null?void 0:u.data)==null?void 0:m.reduce)==null?void 0:j.call(m,(w,O)=>w+O.value,0)},[]),o=ee(x=>{const u=new ie(n(x)||0),m=t?.reduce((O,y)=>O+n(y),0)||0,j=new ie(m),w=Number(u.div(j).times(100).toFixed(2,ie.ROUND_DOWN));return isNaN(w)||!isFinite(w)?0:w},[n,t]),r=te(()=>n(e),[e,n]),s=se(r),i=te(()=>Number(o(e)),[e,o]),c=se(i),l=ee(x=>Math.floor(x).toLocaleString(),[]),d=Xe({type:"text/plain"}),h=pt();return a.jsxs(Je,{component:"li",direction:"row",spacing:1,sx:{color:e.color},layout:"position",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:[a.jsx(z,{sx:{width:"3px",height:"100%",backgroundColor:e.color,borderRadius:3}}),a.jsxs(U,{children:[a.jsxs(W,{component:"p",variant:"caption",children:[a.jsx(U,{component:"span",display:"inline-flex",mr:.5,children:a.jsx(Oe,{from:s??0,to:r,map:l,children:"0"})}),a.jsxs(U,{component:"span",direction:"row",display:"inline-flex",children:["(",a.jsx(Oe,{from:c??0,to:i,map:l,children:"0"}),"%)"]})]}),a.jsx(W,{variant:"body1",children:e.value}),e.payload.uuid&&a.jsxs(W,{variant:"body2",sx:{cursor:"pointer","&:hover":{textDecoration:"underline"}},onClick:()=>{d.copy(e.payload.uuid).catch(()=>{}),h.enqueueSnackbar("UUID copied to clipboard","success")},children:[e.payload.uuid.slice(0,5),"..."]})]})]})}function Te(e){const{payload:t}=e;return a.jsx($e,{container:!0,direction:"row",component:"ul",gap:2,sx:{mt:2,justifyContent:"flex-start",alignItem:"center",flexWrap:"wrap"},children:a.jsx(He,{children:t?.map(n=>a.jsx($e,{children:a.jsx(zt,{entry:n,payload:t})},`item-${n.value}`))})})}function Vt(e){const t=V();return a.jsx(z,{sx:{width:"100%",height:"100%",...e.sx},children:a.jsx(Z,{children:a.jsxs(Ve,{width:500,height:300,margin:{top:5,right:60,left:20,bottom:5},children:[a.jsx(ne,{vertical:!1}),a.jsx(oe,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:n=>we(n,{timeZone:e.filter.timezone,hour12:!1,hour:"numeric"}),allowDuplicatedCategory:!1,tickLine:!1,fontSize:12,tickMargin:12}),a.jsx(re,{textAnchor:"end",dataKey:"value",tickLine:!1,tickFormatter:n=>Number(n).toLocaleString(),allowDecimals:!1,domain:[1,"dataMax"],children:e.label&&a.jsx(xe,{value:e.label,angle:-90,position:"insideLeft",style:{textAnchor:"middle"}})}),a.jsx(ae,{cursor:{stroke:t.palette.neutral.main,strokeWidth:1},formatter:n=>Number(n).toLocaleString(),labelFormatter:n=>je(n,{timeZone:e.filter.timezone,hour12:!1})}),a.jsx(ye,{content:a.jsx(Te,{})}),e.data.map(n=>Ie(Ge,{uuid:n.uuid,key:n.uuid,name:n.name,dataKey:"value",data:n.chartData,type:"monotone",stroke:n.color,strokeWidth:2}))]})})})}const Gt=(e,t)=>{const n=new Map;return e.forEach(o=>{o.chartData.forEach(r=>{const s=new Date(r.date).getTime().toString();if(!n.has(s)){const i={date:s,total:0,diff:0,totalKey:"",originalTotal:0};t.forEach(({key:c})=>{i[c]=0,i[`${c}_absolute`]=0}),n.set(s,i)}t.forEach(({key:i})=>{const c=n.get(s),l=r[i],d=typeof l=="string"?l.trim()===""?0:parseInt(l,10):typeof l=="number"?l:0;c[`${i}_absolute`]=d,c[i]=0})})}),Array.from(n.values()).map(o=>{var r;const s=(r=t.find(l=>l.isTotal))==null?void 0:r.key,i=t.filter(l=>!l.isTotal).map(l=>l.key);if(!s||i.length===0)return o;const c=o[`${s}_absolute`];return o.originalTotal=c,o.total=c,o[s]=100,i.forEach(l=>{const d=o[`${l}_absolute`],h=c>0?new Y(d.toString()).div(c).mul(100).toFixed(2,Y.ROUND_DOWN):"0.00";o[l]=parseFloat(h)}),{...o,totalKey:s}}).sort((o,r)=>parseInt(o.date)-parseInt(r.date))};function Kt(e){const t=V(),n=te(()=>e.data?Gt(e.data,e.keyValues):[],[e.data,e.keyValues]);return a.jsx(z,{sx:{width:"100%",height:"100%",...e.sx},children:a.jsx(Z,{width:"100%",height:"100%",children:a.jsxs(Ke,{data:n,width:500,height:300,margin:{top:5,right:60,left:20,bottom:5},children:[a.jsx(ne,{strokeDasharray:"3 3"}),a.jsx(oe,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:o=>we(o,{timeZone:e.filter.timezone,hour12:!1,hour:"numeric"}),allowDuplicatedCategory:!1,tickLine:!1,fontSize:12,tickMargin:12}),a.jsx(re,{textAnchor:"end",tickLine:!1,tickFormatter:o=>`${o.toFixed(2)}%`}),a.jsx(ae,{cursor:{stroke:t.palette.neutral.main,strokeWidth:1},labelFormatter:o=>je(o,{timeZone:e.filter.timezone,hour12:!1}),formatter:(o,r,s)=>{const i=s.payload.totalKey,c=s.dataKey,l=c===i,d=s.payload[`${c}_absolute`],h=s.payload.originalTotal,x=l?null:h===0?"0.00":new Y(d.toString()).div(h).mul(100).toFixed(2,Y.ROUND_DOWN);return[x?`${d.toLocaleString()} (${x}%)`:`${d.toLocaleString()} (TOTAL)`,r]}}),e.keyValues.sort((o,r)=>o.isTotal?-1:r.isTotal?1:0).map(o=>a.jsx(We,{type:"monotone",dataKey:o.key,name:o.name,stroke:o.color,fill:o.color,strokeWidth:2,fillOpacity:.6},o.key))]})})})}function Wt(e){const t=se(e.value),{ref:n}=mt({from:t??0,to:e.value,duration:1,map:e.map});return a.jsx(ze,{sx:{p:3,flex:1,...e.sx},children:a.jsxs(U,{spacing:1,alignItems:"center",children:[a.jsx(W,{ref:n,variant:"h4",fontWeight:"bold",children:e.initialValue}),a.jsx(W,{color:"text.secondary",children:e.label})]})})}const Re={margin:{top:5,right:30,left:20,bottom:5}},Bt={tickLine:!1,fontSize:12,tickMargin:12},qt={textAnchor:"end",tickLine:!1};function Ae({data:e,series:t,xAxis:n,yAxis:o,tooltip:r,bar:s,referenceLines:i,referenceAreas:c,sx:l}){const d=V(),h=u=>!u.isFront,x=u=>!!u.isFront;return a.jsx(z,{sx:{width:"100%",height:"100%",...l},children:a.jsx(Z,{children:a.jsxs(Be,{data:e,...Re,children:[a.jsx(ne,{strokeDasharray:"3 3",vertical:!1}),a.jsx(oe,{...Bt,...n}),a.jsx(re,{...qt,...o}),a.jsx(ae,{cursor:{stroke:d.palette.neutral.main,strokeWidth:1},...r}),i?.filter(h).map((u,m)=>a.jsx(ve,{...u},u.label??m)),c?.filter(h).map((u,m)=>a.jsx(ge,{...u},u.label??m)),t.map(u=>a.jsx(qe,{name:u.key,dataKey:u.dataKey,fill:u.color,stackId:"stack",isAnimationActive:!1,...s},u.key)),i?.filter(x).map((u,m)=>a.jsx(ve,{...u},u.label??m)),c?.filter(x).map((u,m)=>a.jsx(ge,{...u},u.label??m))]})})})}function Ut({data:e,sx:t}){const n=V(),o=Object.entries(e??{}).map(([s,i])=>({key:s,[s]:i})),r=o.map(({key:s})=>({key:s,dataKey:s,color:n.palette.error.light}));return a.jsx(Ae,{sx:t,data:o,series:r,xAxis:{tickLine:!1,dataKey:"key"},yAxis:{tickLine:!1,domain:[0,"dataMax + 100"]},tooltip:{labelFormatter:s=>"Total"},referenceLines:[{y:100,stroke:n.palette.error.dark,strokeDasharray:"3 3",label:a.jsx(xe,{value:"Unhealthy threshold",position:"insideBottomRight"}),isFront:!0}]})}function Ce({payload:e=[],hiddenItems:t,onToggle:n,legendLabel:o}){return a.jsx(z,{sx:{display:"flex",justifyContent:"center",gap:"20px",paddingTop:"20px"},children:e.map((r,s)=>{const i=t.has(r.payload.name);return a.jsxs("div",{style:{display:"flex",alignItems:"center",cursor:"pointer",opacity:i?.4:1},onClick:()=>{n?.(r.payload)},children:[a.jsx("div",{style:{width:"12px",height:"12px",backgroundColor:r.color,marginRight:"8px",borderRadius:"2px"}}),a.jsx("span",{style:{color:r.color},children:o?`${o}: ${r.value}`:r.value})]},`legend-${s}`)})})}const Zt=e=>{const t=Math.PI/180,{cx:n,cy:o,midAngle:r,innerRadius:s,outerRadius:i,startAngle:c,endAngle:l,fill:d,payload:h,percent:x,value:u,valueText:m,valuePercentage:j,needleVisible:w,customText:O}=e,y=Math.sin(-t*r),b=Math.cos(-t*r),T=n+(i+5)*b,R=o+(i+5)*y,f=n+(i+15)*b,k=o+(i+15)*y,A=f+(b>=0?1:-1)*15,$=k,E=b>=0?"start":"end",p=u.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0});return a.jsxs("g",{children:[!w&&a.jsx("text",{x:n,y:o,dy:8,textAnchor:"middle",fill:"#333",fontSize:14,children:h.name}),a.jsx(be,{cx:n,cy:o,innerRadius:s,outerRadius:i,startAngle:c,endAngle:l,fill:d}),a.jsx(be,{cx:n,cy:o,startAngle:c,endAngle:l,innerRadius:i+2,outerRadius:i+6,fill:d}),a.jsx("path",{d:`M${T},${R}L${f},${k}L${A},${$}`,stroke:d,fill:"none"}),a.jsx("circle",{cx:A,cy:$,r:2,fill:d,stroke:"none"}),a.jsx("text",{x:A+(b>=0?1:-1)*8,y:$,textAnchor:E,fill:"#333",fontSize:12,children:O||(m?`${m} ${p}`:p)}),j&&a.jsxs("text",{x:A+(b>=0?1:-1)*8,y:$,dy:16,textAnchor:E,fill:"#999",fontSize:11,children:[`${(x*100).toFixed(2)}%`," (",p,")"]})]})},Yt=e=>{const{value:t,data:n,color:o,innerRadius:r,outerRadius:s,boxDimensions:i,legendDimensions:c,valueText:l}=e,d=Math.PI/180;let h=0;n.forEach(g=>{h+=g.value});const x=i?i.width/2:150,u=(i?i.height/2:200)-c.height/2,m=180*(1-Math.max(0,Math.min(1,t/h))),j=(Number(r)+2*Number(s))/3,w=Math.sin(-d*m),O=Math.cos(-d*m),y=5,b=x-y,T=u,R=b+y*w,f=T-y*O,k=b-y*w,A=T+y*O,$=b+j*O,E=T+j*w,p=t.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),v=l??p;return a.jsxs(a.Fragment,{children:[a.jsx("circle",{cx:b,cy:T,r:y,fill:o,stroke:"none",style:{pointerEvents:"none"}},"needle-circle"),a.jsx("path",{d:`M${R} ${f}L${k} ${A} L${$} ${E} L${R} ${f}`,stroke:"none",fill:o,style:{pointerEvents:"none"}},"needle-path"),a.jsx("text",{x:b+y,y:T+26,textAnchor:"middle",fill:"#333",fontSize:12,children:v},"needle-value")]})},Ht=(e,t)=>({Allow:t.palette.success.main,Flag:t.palette.warning.main,Block:t.palette.error.main})[e]??t.palette.primary.main;function Ee({data:e,sx:t,legendLabel:n,legendToggle:o=!1,valueText:r="",valuePercentage:s=!0,pie:i,needleVisible:c=!1,needleValue:l,needleColor:d="#aaa"}){const{innerRadius:h=60,outerRadius:x=100}=i??{},u=V(),[m,j]=q(),[w,O]=q(new Set),y=Pe(null),[b,T]=q(null),[R,f]=q(null),k=(p,v)=>{j(v)},A=()=>{j(void 0)},$=p=>{o&&p&&O(v=>{const g=new Set(v);return g.has(p.name)?g.delete(p.name):g.size<e.length-1&&g.add(p.name),g})},E=e.map(p=>({...p,value:w.has(p.name)?0:p.value}));return he(()=>{const p=y.current;if(!p)return;const v=new ResizeObserver(N=>{var C;const _=(C=N[0])==null?void 0:C.contentRect;_&&T(_)});v.observe(p);const g=p.getBoundingClientRect();return T(g),()=>{v.disconnect()}},[]),he(()=>{var p;const v=(p=y.current)==null?void 0:p.querySelector(".recharts-legend-wrapper");if(!v){const C=setInterval(()=>{var _;const L=(_=y.current)==null?void 0:_.querySelector(".recharts-legend-wrapper");if(L){const M=L.getBoundingClientRect();f(M),clearInterval(C)}},100);return()=>{clearInterval(C)}}const g=new ResizeObserver(C=>{var _;const L=(_=C[0])==null?void 0:_.contentRect;L&&f(L)});g.observe(v);const N=v.getBoundingClientRect();return f(N),()=>{g.disconnect()}},[]),a.jsx(z,{ref:y,sx:{width:"100%",height:"100%","& g":{outline:"none"},...t},children:a.jsx(Z,{children:a.jsxs(Ue,{...Re,children:[a.jsx(Ze,{data:E,nameKey:"name",dataKey:"value",innerRadius:h,outerRadius:x,activeIndex:m,activeShape:p=>Zt({...p,valueText:r,valuePercentage:s,needleVisible:c}),paddingAngle:0,onMouseEnter:k,onMouseLeave:A,...i,children:E.map(p=>a.jsx(Ye,{fill:p.color??Ht(p.name,u),opacity:w.has(p.name)?.5:1,stroke:"none"},p.name))}),a.jsx(ye,{content:a.jsx(Ce,{legendLabel:n,hiddenItems:w,onToggle:$})}),c&&l!==void 0&&b&&R&&Yt({data:E,value:l,color:d,innerRadius:h,outerRadius:x,boxDimensions:b,legendDimensions:R,valueText:r})]})})})}function Xt({sx:e,data:t,score:n=200,legendLabel:o}){const r=V(),s=[{name:"Allow",customText:"0-299",value:t[0].value,color:r.palette.primary.main},{name:"Flag",customText:"300-599",value:t[1].value,color:r.palette.warning.main},{name:"Block",customText:"Over 600",value:t[2].value,color:r.palette.error.main}];return a.jsx(Ee,{data:s,legendToggle:!0,needleValue:n,legendLabel:o,sx:e})}export{Wt as BigNumber,Ut as ErrorCodesChart,Ee as PieChart,Xt as RiskScorePieChart,Vt as SeriesChart,Te as SeriesChartLegend,Kt as SeriesPercentageChart,Ae as SimpleBarChart,Ce as SimpleLegend};
1
+ "use strict";import{j as i}from"../../shared/jsx-runtime-DHlBLioN.mjs";import*as I from"react";import{useCallback as ee,useMemo as te,createElement as Ge,useState as q,useRef as Pe,useEffect as xe}from"react";import{Box as z,Stack as U,Typography as B,useTheme as G,Paper as Ie}from"@mui/material";import{ResponsiveContainer as Z,LineChart as ze,CartesianGrid as re,XAxis as ne,YAxis as oe,Label as ge,Tooltip as ae,Legend as ye,Line as Ve,AreaChart as Ke,Area as Be,ComposedChart as We,ReferenceLine as ve,ReferenceArea as be,Bar as qe,Sector as we,PieChart as Ue,Pie as Ze,Cell as Ye}from"recharts";import{b as je,c as ke}from"../../shared/date-Cq0LS2Mr.mjs";import Y,{Decimal as ie}from"decimal.js";import{AnimatePresence as He}from"framer-motion";import{u as Xe}from"../../shared/useCopyToClipboard-BALOSYVW.mjs";import"qrcode";import{u as se}from"../../shared/usePrevious-DyvR1iCQ.mjs";import{a as Je,C as Oe}from"../../shared/motions-BBPeWBPV.mjs";import{c as Se,i as Qe,_ as H,s as et,a as S,d as tt,e as rt,f as nt,h as ot,j as at,k as it,l as st,m as lt,n as ct,o as ut,p as dt,u as pt}from"../../shared/index-KVVTzcea.mjs";import{u as mt}from"../../shared/useCounter-BV32zXDQ.mjs";const ft=["ownerState"],ht=["variants"],xt=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function gt(e){return Object.keys(e).length===0}function yt(e){return typeof e=="string"&&e.charCodeAt(0)>96}function le(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const vt=Se(),bt=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function X({defaultTheme:e,theme:t,themeId:r}){return gt(t)?e:t[r]||t}function wt(e){return e?(t,r)=>r[e]:null}function J(e,t){let{ownerState:r}=t,n=H(t,ft);const o=typeof e=="function"?e(S({ownerState:r},n)):e;if(Array.isArray(o))return o.flatMap(s=>J(s,S({ownerState:r},n)));if(o&&typeof o=="object"&&Array.isArray(o.variants)){const{variants:s=[]}=o;let a=H(o,ht);return s.forEach(c=>{let l=!0;typeof c.props=="function"?l=c.props(S({ownerState:r},n,r)):Object.keys(c.props).forEach(u=>{r?.[u]!==c.props[u]&&n[u]!==c.props[u]&&(l=!1)}),l&&(Array.isArray(a)||(a=[a]),a.push(typeof c.style=="function"?c.style(S({ownerState:r},n,r)):c.style))}),a}return o}function jt(e={}){const{themeId:t,defaultTheme:r=vt,rootShouldForwardProp:n=le,slotShouldForwardProp:o=le}=e,s=a=>tt(S({},a,{theme:X(S({},a,{defaultTheme:r,themeId:t}))}));return s.__mui_systemSx=!0,(a,c={})=>{Qe(a,h=>h.filter(O=>!(O!=null&&O.__mui_systemSx)));const{name:l,slot:u,skipVariantsResolver:m,skipSx:x,overridesResolver:d=wt(bt(u))}=c,f=H(c,xt),j=m!==void 0?m:u&&u!=="Root"&&u!=="root"||!1,w=x||!1;let k,g=le;u==="Root"||u==="root"?g=n:u?g=o:yt(a)&&(g=void 0);const b=et(a,S({shouldForwardProp:g,label:k},f)),T=h=>typeof h=="function"&&h.__emotion_real!==h||rt(h)?O=>J(h,S({},O,{theme:X({theme:O.theme,defaultTheme:r,themeId:t})})):h,R=(h,...O)=>{let E=T(h);const $=O?O.map(T):[];l&&d&&$.push(y=>{const v=X(S({},y,{defaultTheme:r,themeId:t}));if(!v.components||!v.components[l]||!v.components[l].styleOverrides)return null;const A=v.components[l].styleOverrides,C={};return Object.entries(A).forEach(([_,D])=>{C[_]=J(D,S({},y,{theme:v}))}),d(y,C)}),l&&!j&&$.push(y=>{var v;const A=X(S({},y,{defaultTheme:r,themeId:t})),C=A==null||(v=A.components)==null||(v=v[l])==null?void 0:v.variants;return J({variants:C},S({},y,{theme:A}))}),w||$.push(s);const N=$.length-O.length;if(Array.isArray(h)&&N>0){const y=new Array(N).fill("");E=[...h,...y],E.raw=[...h.raw,...y]}const p=b(E,...$);return a.muiName&&(p.muiName=a.muiName),p};return b.withConfig&&(R.withConfig=b.withConfig),R}}const kt=jt(),Ot=(e,t)=>e.filter(r=>t.includes(r)),V=(e,t,r)=>{const n=e.keys[0];Array.isArray(t)?t.forEach((o,s)=>{r((a,c)=>{s<=e.keys.length-1&&(s===0?Object.assign(a,c):a[e.up(e.keys[s])]=c)},o)}):t&&typeof t=="object"?(Object.keys(t).length>e.keys.length?e.keys:Ot(e.keys,Object.keys(t))).forEach(o=>{if(e.keys.indexOf(o)!==-1){const s=t[o];s!==void 0&&r((a,c)=>{n===o?Object.assign(a,c):a[e.up(o)]=c},s)}}):(typeof t=="number"||typeof t=="string")&&r((o,s)=>{Object.assign(o,s)},t)};function M(e){return e?`Level${e}`:""}function W(e){return e.unstable_level>0&&e.container}function $e(e){return function(t){return`var(--Grid-${t}Spacing${M(e.unstable_level)})`}}function ce(e){return function(t){return e.unstable_level===0?`var(--Grid-${t}Spacing)`:`var(--Grid-${t}Spacing${M(e.unstable_level-1)})`}}function ue(e){return e.unstable_level===0?"var(--Grid-columns)":`var(--Grid-columns${M(e.unstable_level-1)})`}const St=({theme:e,ownerState:t})=>{const r=$e(t),n={};return V(e.breakpoints,t.gridSize,(o,s)=>{let a={};s===!0&&(a={flexBasis:0,flexGrow:1,maxWidth:"100%"}),s==="auto"&&(a={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof s=="number"&&(a={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${s} / ${ue(t)}${W(t)?` + ${r("column")}`:""})`}),o(n,a)}),n},$t=({theme:e,ownerState:t})=>{const r={};return V(e.breakpoints,t.gridOffset,(n,o)=>{let s={};o==="auto"&&(s={marginLeft:"auto"}),typeof o=="number"&&(s={marginLeft:o===0?"0px":`calc(100% * ${o} / ${ue(t)})`}),n(r,s)}),r},Tt=({theme:e,ownerState:t})=>{if(!t.container)return{};const r=W(t)?{[`--Grid-columns${M(t.unstable_level)}`]:ue(t)}:{"--Grid-columns":12};return V(e.breakpoints,t.columns,(n,o)=>{n(r,{[`--Grid-columns${M(t.unstable_level)}`]:o})}),r},Rt=({theme:e,ownerState:t})=>{if(!t.container)return{};const r=ce(t),n=W(t)?{[`--Grid-rowSpacing${M(t.unstable_level)}`]:r("row")}:{};return V(e.breakpoints,t.rowSpacing,(o,s)=>{var a;o(n,{[`--Grid-rowSpacing${M(t.unstable_level)}`]:typeof s=="string"?s:(a=e.spacing)==null?void 0:a.call(e,s)})}),n},Et=({theme:e,ownerState:t})=>{if(!t.container)return{};const r=ce(t),n=W(t)?{[`--Grid-columnSpacing${M(t.unstable_level)}`]:r("column")}:{};return V(e.breakpoints,t.columnSpacing,(o,s)=>{var a;o(n,{[`--Grid-columnSpacing${M(t.unstable_level)}`]:typeof s=="string"?s:(a=e.spacing)==null?void 0:a.call(e,s)})}),n},Ct=({theme:e,ownerState:t})=>{if(!t.container)return{};const r={};return V(e.breakpoints,t.direction,(n,o)=>{n(r,{flexDirection:o})}),r},Nt=({ownerState:e})=>{const t=$e(e),r=ce(e);return S({minWidth:0,boxSizing:"border-box"},e.container&&S({display:"flex",flexWrap:"wrap"},e.wrap&&e.wrap!=="wrap"&&{flexWrap:e.wrap},{margin:`calc(${t("row")} / -2) calc(${t("column")} / -2)`},e.disableEqualOverflow&&{margin:`calc(${t("row")} * -1) 0px 0px calc(${t("column")} * -1)`}),(!e.container||W(e))&&S({padding:`calc(${r("row")} / 2) calc(${r("column")} / 2)`},(e.disableEqualOverflow||e.parentDisableEqualOverflow)&&{padding:`${r("row")} 0px 0px ${r("column")}`}))},At=e=>{const t=[];return Object.entries(e).forEach(([r,n])=>{n!==!1&&n!==void 0&&t.push(`grid-${r}-${String(n)}`)}),t},_t=(e,t="xs")=>{function r(n){return n===void 0?!1:typeof n=="string"&&!Number.isNaN(Number(n))||typeof n=="number"&&n>0}if(r(e))return[`spacing-${t}-${String(e)}`];if(typeof e=="object"&&!Array.isArray(e)){const n=[];return Object.entries(e).forEach(([o,s])=>{r(s)&&n.push(`spacing-${o}-${String(s)}`)}),n}return[]},Lt=e=>e===void 0?[]:typeof e=="object"?Object.entries(e).map(([t,r])=>`direction-${t}-${r}`):[`direction-xs-${String(e)}`],Dt=["className","children","columns","container","component","direction","wrap","spacing","rowSpacing","columnSpacing","disableEqualOverflow","unstable_level"],Ft=Se(),Mt=kt("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>t.root});function Gt(e){return st({props:e,name:"MuiGrid",defaultTheme:Ft})}function Pt(e={}){const{createStyledComponent:t=Mt,useThemeProps:r=Gt,componentName:n="MuiGrid"}=e,o=I.createContext(void 0),s=(l,u)=>{const{container:m,direction:x,spacing:d,wrap:f,gridSize:j}=l,w={root:["root",m&&"container",f!=="wrap"&&`wrap-xs-${String(f)}`,...Lt(x),...At(j),...m?_t(d,u.breakpoints.keys[0]):[]]};return lt(w,k=>ct(n,k),{})},a=t(Tt,Et,Rt,St,Ct,Nt,$t),c=I.forwardRef(function(l,u){var m,x,d,f,j,w,k,g;const b=nt(),T=r(l),R=ot(T),h=I.useContext(o),{className:O,children:E,columns:$=12,container:N=!1,component:p="div",direction:y="row",wrap:v="wrap",spacing:A=0,rowSpacing:C=A,columnSpacing:_=A,disableEqualOverflow:D,unstable_level:F=0}=R,Ae=H(R,Dt);let K=D;F&&D!==void 0&&(K=l.disableEqualOverflow);const pe={},me={},fe={};Object.entries(Ae).forEach(([L,P])=>{b.breakpoints.values[L]!==void 0?pe[L]=P:b.breakpoints.values[L.replace("Offset","")]!==void 0?me[L.replace("Offset","")]=P:fe[L]=P});const _e=(m=l.columns)!=null?m:F?void 0:$,Le=(x=l.spacing)!=null?x:F?void 0:A,De=(d=(f=l.rowSpacing)!=null?f:l.spacing)!=null?d:F?void 0:C,Fe=(j=(w=l.columnSpacing)!=null?w:l.spacing)!=null?j:F?void 0:_,he=S({},R,{level:F,columns:_e,container:N,direction:y,wrap:v,spacing:Le,rowSpacing:De,columnSpacing:Fe,gridSize:pe,gridOffset:me,disableEqualOverflow:(k=(g=K)!=null?g:h)!=null?k:!1,parentDisableEqualOverflow:h}),Me=s(he,b);let Q=i.jsx(a,S({ref:u,as:p,ownerState:he,className:at(Me.root,O)},fe,{children:I.Children.map(E,L=>{if(I.isValidElement(L)&&it(L,["Grid"])){var P;return I.cloneElement(L,{unstable_level:(P=L.props.unstable_level)!=null?P:F+1})}return L})}));return K!==void 0&&K!==(h??!1)&&(Q=i.jsx(o.Provider,{value:K,children:Q})),Q});return c.muiName="Grid",c}const Te=Pt({createStyledComponent:ut("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(e,t)=>t.root}),componentName:"MuiGrid2",useThemeProps:e=>dt({props:e,name:"MuiGrid2"})});function It({entry:e,payload:t}){const r=ee(x=>{var d,f,j;return(j=(f=(d=x.payload)==null?void 0:d.data)==null?void 0:f.reduce)==null?void 0:j.call(f,(w,k)=>w+k.value,0)},[]),n=ee(x=>{const d=new ie(r(x)||0),f=t?.reduce((k,g)=>k+r(g),0)||0,j=new ie(f),w=Number(d.div(j).times(100).toFixed(2,ie.ROUND_DOWN));return isNaN(w)||!isFinite(w)?0:w},[r,t]),o=te(()=>r(e),[e,r]),s=se(o),a=te(()=>Number(n(e)),[e,n]),c=se(a),l=ee(x=>Math.floor(x).toLocaleString(),[]),u=Xe({type:"text/plain"}),m=pt();return i.jsxs(Je,{component:"li",direction:"row",spacing:1,sx:{color:e.color},layout:"position",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:[i.jsx(z,{sx:{width:"3px",height:"100%",backgroundColor:e.color,borderRadius:3}}),i.jsxs(U,{children:[i.jsxs(B,{component:"p",variant:"caption",children:[i.jsx(U,{component:"span",display:"inline-flex",mr:.5,children:i.jsx(Oe,{from:s??0,to:o,map:l,children:"0"})}),i.jsxs(U,{component:"span",direction:"row",display:"inline-flex",children:["(",i.jsx(Oe,{from:c??0,to:a,map:l,children:"0"}),"%)"]})]}),i.jsx(B,{variant:"body1",children:e.value}),e.payload.uuid&&i.jsxs(B,{variant:"body2",sx:{cursor:"pointer","&:hover":{textDecoration:"underline"}},onClick:()=>{u.copy(e.payload.uuid).catch(()=>{}),m.enqueueSnackbar("UUID copied to clipboard","success")},children:[e.payload.uuid.slice(0,5),"..."]})]})]})}function Re(e){const{payload:t}=e;return i.jsx(Te,{container:!0,direction:"row",component:"ul",gap:2,sx:{mt:2,justifyContent:"flex-start",alignItem:"center",flexWrap:"wrap"},children:i.jsx(He,{children:t?.map(r=>i.jsx(Te,{children:i.jsx(It,{entry:r,payload:t})},`item-${r.value}`))})})}function zt(e){const t=G();return i.jsx(z,{sx:{width:"100%",height:"100%",...e.sx},children:i.jsx(Z,{children:i.jsxs(ze,{width:500,height:300,margin:{top:5,right:60,left:20,bottom:5},children:[i.jsx(re,{vertical:!1}),i.jsx(ne,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:r=>je(r,{timeZone:e.filter.timezone,hour12:!1,hour:"numeric"}),allowDuplicatedCategory:!1,tickLine:!1,fontSize:12,tickMargin:12}),i.jsx(oe,{textAnchor:"end",dataKey:"value",tickLine:!1,tickFormatter:r=>Number(r).toLocaleString(),allowDecimals:!1,domain:[1,"dataMax"],children:e.label&&i.jsx(ge,{value:e.label,angle:-90,position:"insideLeft",style:{textAnchor:"middle"}})}),i.jsx(ae,{cursor:{stroke:t.palette.neutral.main,strokeWidth:1},formatter:r=>Number(r).toLocaleString(),labelFormatter:r=>ke(r,{timeZone:e.filter.timezone,hour12:!1})}),i.jsx(ye,{content:i.jsx(Re,{})}),e.data.map(r=>Ge(Ve,{uuid:r.uuid,key:r.uuid,name:r.name,dataKey:"value",data:r.chartData,type:"monotone",stroke:r.color,strokeWidth:2}))]})})})}const Vt=(e,t)=>{const r=new Map;return e.forEach(n=>{n.chartData.forEach(o=>{const s=new Date(o.date).getTime().toString();if(!r.has(s)){const a={date:s,total:0,diff:0,totalKey:"",originalTotal:0};t.forEach(({key:c})=>{a[c]=0,a[`${c}_absolute`]=0}),r.set(s,a)}t.forEach(({key:a})=>{const c=r.get(s),l=o[a],u=typeof l=="string"?l.trim()===""?0:parseInt(l,10):typeof l=="number"?l:0;c[`${a}_absolute`]=u,c[a]=0})})}),Array.from(r.values()).map(n=>{var o;const s=(o=t.find(l=>l.isTotal))==null?void 0:o.key,a=t.filter(l=>!l.isTotal).map(l=>l.key);if(!s||a.length===0)return n;const c=n[`${s}_absolute`];return n.originalTotal=c,n.total=c,n[s]=100,a.forEach(l=>{const u=n[`${l}_absolute`],m=c>0?new Y(u.toString()).div(c).mul(100).toFixed(2,Y.ROUND_DOWN):"0.00";n[l]=parseFloat(m)}),{...n,totalKey:s}}).sort((n,o)=>parseInt(n.date)-parseInt(o.date))};function Kt(e){const t=G(),r=te(()=>e.data?Vt(e.data,e.keyValues):[],[e.data,e.keyValues]);return i.jsx(z,{sx:{width:"100%",height:"100%",...e.sx},children:i.jsx(Z,{width:"100%",height:"100%",children:i.jsxs(Ke,{data:r,width:500,height:300,margin:{top:5,right:60,left:20,bottom:5},children:[i.jsx(re,{strokeDasharray:"3 3"}),i.jsx(ne,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:n=>je(n,{timeZone:e.filter.timezone,hour12:!1,hour:"numeric"}),allowDuplicatedCategory:!1,tickLine:!1,fontSize:12,tickMargin:12}),i.jsx(oe,{textAnchor:"end",tickLine:!1,tickFormatter:n=>`${n.toFixed(2)}%`}),i.jsx(ae,{cursor:{stroke:t.palette.neutral.main,strokeWidth:1},labelFormatter:n=>ke(n,{timeZone:e.filter.timezone,hour12:!1}),formatter:(n,o,s)=>{const a=s.payload.totalKey,c=s.dataKey,l=c===a,u=s.payload[`${c}_absolute`],m=s.payload.originalTotal,x=l?null:m===0?"0.00":new Y(u.toString()).div(m).mul(100).toFixed(2,Y.ROUND_DOWN);return[x?`${u.toLocaleString()} (${x}%)`:`${u.toLocaleString()} (TOTAL)`,o]}}),e.keyValues.sort((n,o)=>n.isTotal?-1:o.isTotal?1:0).map(n=>i.jsx(Be,{type:"monotone",dataKey:n.key,name:n.name,stroke:n.color,fill:n.color,strokeWidth:2,fillOpacity:.6},n.key))]})})})}function Bt(e){const t=se(e.value),{ref:r}=mt({from:t??0,to:e.value,duration:1,map:e.map});return i.jsx(Ie,{sx:{p:3,flex:1,...e.sx},children:i.jsxs(U,{spacing:1,alignItems:"center",children:[i.jsx(B,{ref:r,variant:"h4",fontWeight:"bold",children:e.initialValue}),i.jsx(B,{color:"text.secondary",children:e.label})]})})}const Ee={margin:{top:5,right:30,left:20,bottom:5}},Wt={tickLine:!1,fontSize:12,tickMargin:12},qt={textAnchor:"end",tickLine:!1};function de({data:e,series:t,xAxis:r,yAxis:n,tooltip:o,bar:s,referenceLines:a,referenceAreas:c,sx:l}){const u=G(),m=d=>!d.isFront,x=d=>!!d.isFront;return i.jsx(z,{sx:{width:"100%",height:"100%",...l},children:i.jsx(Z,{children:i.jsxs(We,{data:e,...Ee,children:[i.jsx(re,{strokeDasharray:"3 3",vertical:!1}),i.jsx(ne,{...Wt,...r}),i.jsx(oe,{...qt,...n}),i.jsx(ae,{cursor:{stroke:u.palette.neutral.main,strokeWidth:1},...o}),a?.filter(m).map((d,f)=>i.jsx(ve,{...d},d.label??f)),c?.filter(m).map((d,f)=>i.jsx(be,{...d},d.label??f)),t.map(d=>i.jsx(qe,{name:d.key,dataKey:d.dataKey,fill:d.color,stackId:"stack",isAnimationActive:!1,...s},d.key)),a?.filter(x).map((d,f)=>i.jsx(ve,{...d},d.label??f)),c?.filter(x).map((d,f)=>i.jsx(be,{...d},d.label??f))]})})})}function Ut({data:e,sx:t}){const r=G(),n=Object.entries(e??{}).map(([s,a])=>({key:s,[s]:a})),o=n.map(({key:s})=>({key:s,dataKey:s,color:r.palette.error.light}));return i.jsx(de,{sx:t,data:n,series:o,xAxis:{tickLine:!1,dataKey:"key"},yAxis:{tickLine:!1,domain:[0,"dataMax + 100"]},tooltip:{labelFormatter:s=>"Total"},referenceLines:[{y:100,stroke:r.palette.error.dark,strokeDasharray:"3 3",label:i.jsx(ge,{value:"Unhealthy threshold",position:"insideBottomRight"}),isFront:!0}]})}function Ce({payload:e=[],hiddenItems:t,onToggle:r,legendLabel:n}){return i.jsx(z,{sx:{display:"flex",justifyContent:"center",gap:"20px",paddingTop:"20px"},children:e.map((o,s)=>{const a=t.has(o.payload.name);return i.jsxs("div",{style:{display:"flex",alignItems:"center",cursor:"pointer",opacity:a?.4:1},onClick:()=>{r?.(o.payload)},children:[i.jsx("div",{style:{width:"12px",height:"12px",backgroundColor:o.color,marginRight:"8px",borderRadius:"2px"}}),i.jsx("span",{style:{color:o.color},children:n?`${n}: ${o.value}`:o.value})]},`legend-${s}`)})})}const Zt=e=>{const t=Math.PI/180,{cx:r,cy:n,midAngle:o,innerRadius:s,outerRadius:a,startAngle:c,endAngle:l,fill:u,payload:m,percent:x,value:d,valueText:f,valuePercentage:j,needleVisible:w,customText:k}=e,g=Math.sin(-t*o),b=Math.cos(-t*o),T=r+(a+5)*b,R=n+(a+5)*g,h=r+(a+15)*b,O=n+(a+15)*g,E=h+(b>=0?1:-1)*15,$=O,N=b>=0?"start":"end",p=d.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0});return i.jsxs("g",{children:[!w&&i.jsx("text",{x:r,y:n,dy:8,textAnchor:"middle",fill:"#333",fontSize:14,children:m.name}),i.jsx(we,{cx:r,cy:n,innerRadius:s,outerRadius:a,startAngle:c,endAngle:l,fill:u}),i.jsx(we,{cx:r,cy:n,startAngle:c,endAngle:l,innerRadius:a+2,outerRadius:a+6,fill:u}),i.jsx("path",{d:`M${T},${R}L${h},${O}L${E},${$}`,stroke:u,fill:"none"}),i.jsx("circle",{cx:E,cy:$,r:2,fill:u,stroke:"none"}),i.jsx("text",{x:E+(b>=0?1:-1)*8,y:$,textAnchor:N,fill:"#333",fontSize:12,children:k||(f?`${f} ${p}`:p)}),j&&i.jsxs("text",{x:E+(b>=0?1:-1)*8,y:$,dy:16,textAnchor:N,fill:"#999",fontSize:11,children:[`${(x*100).toFixed(2)}%`," (",p,")"]})]})},Yt=e=>{const{value:t,data:r,color:n,innerRadius:o,outerRadius:s,boxDimensions:a,legendDimensions:c,valueText:l}=e,u=Math.PI/180;let m=0;r.forEach(v=>{m+=v.value});const x=a?a.width/2:150,d=(a?a.height/2:200)-c.height/2,f=180*(1-Math.max(0,Math.min(1,t/m))),j=(Number(o)+2*Number(s))/3,w=Math.sin(-u*f),k=Math.cos(-u*f),g=5,b=x-g,T=d,R=b+g*w,h=T-g*k,O=b-g*w,E=T+g*k,$=b+j*k,N=T+j*w,p=t.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),y=l??p;return i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:b,cy:T,r:g,fill:n,stroke:"none",style:{pointerEvents:"none"}},"needle-circle"),i.jsx("path",{d:`M${R} ${h}L${O} ${E} L${$} ${N} L${R} ${h}`,stroke:"none",fill:n,style:{pointerEvents:"none"}},"needle-path"),i.jsx("text",{x:b+g,y:T+26,textAnchor:"middle",fill:"#333",fontSize:12,children:y},"needle-value")]})},Ht=(e,t)=>({Allow:t.palette.success.main,Flag:t.palette.warning.main,Block:t.palette.error.main})[e]??t.palette.primary.main;function Ne({data:e,sx:t,legendLabel:r,legendToggle:n=!1,valueText:o="",valuePercentage:s=!0,pie:a,needleVisible:c=!1,needleValue:l,needleColor:u="#aaa"}){const{innerRadius:m=60,outerRadius:x=100}=a??{},d=G(),[f,j]=q(),[w,k]=q(new Set),g=Pe(null),[b,T]=q(null),[R,h]=q(null),O=(p,y)=>{j(y)},E=()=>{j(void 0)},$=p=>{n&&p&&k(y=>{const v=new Set(y);return v.has(p.name)?v.delete(p.name):v.size<e.length-1&&v.add(p.name),v})},N=e.map(p=>({...p,value:w.has(p.name)?0:p.value}));return xe(()=>{const p=g.current;if(!p)return;const y=new ResizeObserver(A=>{var C;const _=(C=A[0])==null?void 0:C.contentRect;_&&T(_)});y.observe(p);const v=p.getBoundingClientRect();return T(v),()=>{y.disconnect()}},[]),xe(()=>{var p;const y=(p=g.current)==null?void 0:p.querySelector(".recharts-legend-wrapper");if(!y){const C=setInterval(()=>{var _;const D=(_=g.current)==null?void 0:_.querySelector(".recharts-legend-wrapper");if(D){const F=D.getBoundingClientRect();h(F),clearInterval(C)}},100);return()=>{clearInterval(C)}}const v=new ResizeObserver(C=>{var _;const D=(_=C[0])==null?void 0:_.contentRect;D&&h(D)});v.observe(y);const A=y.getBoundingClientRect();return h(A),()=>{v.disconnect()}},[]),i.jsx(z,{ref:g,sx:{width:"100%",height:"100%","& g":{outline:"none"},...t},children:i.jsx(Z,{children:i.jsxs(Ue,{...Ee,children:[i.jsx(Ze,{data:N,nameKey:"name",dataKey:"value",innerRadius:m,outerRadius:x,activeIndex:f,activeShape:p=>Zt({...p,valueText:o,valuePercentage:s,needleVisible:c}),paddingAngle:0,onMouseEnter:O,onMouseLeave:E,...a,children:N.map(p=>i.jsx(Ye,{fill:p.color??Ht(p.name,d),opacity:w.has(p.name)?.5:1,stroke:"none"},p.name))}),i.jsx(ye,{content:i.jsx(Ce,{legendLabel:r,hiddenItems:w,onToggle:$})}),c&&l!==void 0&&b&&R&&Yt({data:N,value:l,color:u,innerRadius:m,outerRadius:x,boxDimensions:b,legendDimensions:R,valueText:o})]})})})}function Xt({sx:e,data:t,score:r=200,legendLabel:n}){const o=G(),s=[{name:"Allow",customText:"0-299",value:t[0].value,color:o.palette.primary.main},{name:"Flag",customText:"300-599",value:t[1].value,color:o.palette.warning.main},{name:"Block",customText:"Over 600",value:t[2].value,color:o.palette.error.main}];return i.jsx(Ne,{data:s,legendToggle:!0,needleValue:r,legendLabel:n,sx:e})}function Jt({data:e,sx:t}){const r=G(),n=(s=>{const a={};return s.forEach(c=>{Object.entries(c).forEach(([l,u])=>{const m=parseInt(l);m<=1e3&&(a[m]=(a[m]||0)+u)})}),Array.from({length:1001},(c,l)=>({key:l.toString(),value:a[l]||0}))})(e),o=[{key:"Risk Score",dataKey:"value",color:r.palette.error.main}];return i.jsx(de,{data:n,series:o,sx:t,yAxis:{label:{value:"Count",angle:-90,position:"insideLeft"},domain:[0,"dataMax + 10"]},xAxis:{domain:[0,"dataMax"],interval:"preserveStartEnd"},tooltip:{labelFormatter:()=>"Risk Score",formatter:(s,a,c)=>[s,c.payload.key]},referenceAreas:[{x1:0,x2:299,fill:"#ffffff00",isFront:!1,label:"Allow"},{x1:300,x2:600,fill:r.palette.warning.light,isFront:!1,label:"Flag"},{x1:600,fill:r.palette.error.light,isFront:!1,label:"Block"}]})}export{Bt as BigNumber,Ut as ErrorCodesChart,Ne as PieChart,Jt as RiskScoreBarChart,Xt as RiskScorePieChart,zt as SeriesChart,Re as SeriesChartLegend,Kt as SeriesPercentageChart,de as SimpleBarChart,Ce as SimpleLegend};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verifiedinc-public/shared-ui-elements",
3
- "version": "3.11.1",
3
+ "version": "3.11.2",
4
4
  "description": "A set of UI components, utilities that is shareable with the core apps.",
5
5
  "private": false,
6
6
  "keywords": [],