@verifiedinc-public/shared-ui-elements 3.18.2-beta.16 → 3.18.2-beta.6

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.
Files changed (26) hide show
  1. package/dist/components/chart/index.d.ts +0 -1
  2. package/dist/components/chart/index.mjs +1 -1
  3. package/dist/components/chart/monthly-billable-signups/MonthlyBillableSignupsTable.d.ts +39 -9
  4. package/dist/components/chart/monthly-billable-signups/index.d.ts +1 -1
  5. package/dist/components/chart/monthly-billable-signups/{MonthlyBillableSignupsDataMapper.d.ts → monthlyBillableSignupsDataMapper.d.ts} +2 -3
  6. package/dist/components/chart/one-click-time-series/OneClickOverTimeChart.d.ts +17 -5
  7. package/dist/components/chart/one-click-time-series/OneClickTimeSeriesDataMapper.d.ts +12 -1
  8. package/dist/components/index.d.ts +0 -1
  9. package/dist/components/index.mjs +1 -1
  10. package/dist/components/typographies/index.mjs +1 -1
  11. package/dist/index.mjs +1 -1
  12. package/dist/shared/PageHeader-x2k3H9mE.mjs +1 -0
  13. package/dist/shared/PageSectionHeader-BIozeXN1.mjs +1 -0
  14. package/dist/shared/{index-Cs67MQjU.mjs → index-CW9F-W3V.mjs} +13 -13
  15. package/package.json +1 -1
  16. package/dist/components/BrandFilterInput/BrandFilterInput.hook.d.ts +0 -25
  17. package/dist/components/BrandFilterInput/index.d.ts +0 -16
  18. package/dist/components/BrandFilterInput/types.d.ts +0 -15
  19. package/dist/components/chart/EmptyChartSection.d.ts +0 -1
  20. package/dist/components/chart/LoadingChartSection.d.ts +0 -1
  21. package/dist/components/chart/OneClickPercentageChart/OneClickPercentageChart.d.ts +0 -19
  22. package/dist/components/chart/OneClickPercentageChart/index.d.ts +0 -1
  23. package/dist/components/chart/styles.d.ts +0 -14
  24. package/dist/components/typographies/SectionDescription.d.ts +0 -2
  25. package/dist/components/typographies/SectionTitle.d.ts +0 -2
  26. package/dist/shared/PageSectionHeader-DdpDhBZG.mjs +0 -1
@@ -9,6 +9,5 @@ export * from './PieChart';
9
9
  export * from './RiskScorePieChart';
10
10
  export * from './RiskScoreBarChart';
11
11
  export * from './SimpleLegend';
12
- export * from './OneClickPercentageChart';
13
12
  export * from './one-click-time-series';
14
13
  export * from './monthly-billable-signups';
@@ -1 +1 @@
1
- "use strict";import{j as r}from"../../shared/jsx-runtime-DHlBLioN.mjs";import*as V from"react";import{useCallback as oe,useMemo as ie,createElement as Xe,useState as Z,useRef as Ye,useEffect as je}from"react";import{Box as K,Stack as W,Typography as G,useTheme as I,Paper as ke,TableContainer as Je,Table as Qe,TableHead as et,TableRow as we,TableCell as E,TableBody as tt}from"@mui/material";import{ResponsiveContainer as H,LineChart as nt,CartesianGrid as se,XAxis as le,YAxis as ce,Label as de,Tooltip as ue,Legend as Se,Line as rt,AreaChart as at,Area as ot,ComposedChart as it,ReferenceLine as Oe,ReferenceArea as Te,Bar as st,Sector as Ce,PieChart as lt,Pie as ct,Cell as dt}from"recharts";import{b as $e,c as Ae,u as ut}from"../../shared/uuidColor-Dw38-aYm.mjs";import X,{Decimal as pe}from"decimal.js";import{AnimatePresence as pt}from"framer-motion";import{u as mt}from"../../shared/useCopyToClipboard-BALOSYVW.mjs";import"qrcode";import{u as me}from"../../shared/usePrevious-DyvR1iCQ.mjs";import{a as ht,C as Re}from"../../shared/motions-BBPeWBPV.mjs";import{c as Le,i as ft,_ as Y,s as xt,a as T,d as gt,e as yt,f as vt,h as bt,j as jt,k as kt,l as wt,m as St,n as Ot,o as Tt,p as Ct,u as $t,q as At}from"../../shared/index-C1wV5bJ6.mjs";import{u as Rt}from"../../shared/useCounter-BV32zXDQ.mjs";import{k as De}from"../../shared/formatKebabToPretty-Du43TgPC.mjs";const Lt=["ownerState"],Dt=["variants"],Nt=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function Et(e){return Object.keys(e).length===0}function _t(e){return typeof e=="string"&&e.charCodeAt(0)>96}function he(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const Mt=Le(),Ft=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function J({defaultTheme:e,theme:t,themeId:n}){return Et(t)?e:t[n]||t}function It(e){return e?(t,n)=>n[e]:null}function Q(e,t){let{ownerState:n}=t,a=Y(t,Lt);const i=typeof e=="function"?e(T({ownerState:n},a)):e;if(Array.isArray(i))return i.flatMap(s=>Q(s,T({ownerState:n},a)));if(i&&typeof i=="object"&&Array.isArray(i.variants)){const{variants:s=[]}=i;let o=Y(i,Dt);return s.forEach(l=>{let c=!0;typeof l.props=="function"?c=l.props(T({ownerState:n},a,n)):Object.keys(l.props).forEach(u=>{n?.[u]!==l.props[u]&&a[u]!==l.props[u]&&(c=!1)}),c&&(Array.isArray(o)||(o=[o]),o.push(typeof l.style=="function"?l.style(T({ownerState:n},a,n)):l.style))}),o}return i}function Pt(e={}){const{themeId:t,defaultTheme:n=Mt,rootShouldForwardProp:a=he,slotShouldForwardProp:i=he}=e,s=o=>gt(T({},o,{theme:J(T({},o,{defaultTheme:n,themeId:t}))}));return s.__mui_systemSx=!0,(o,l={})=>{ft(o,g=>g.filter(w=>!(w!=null&&w.__mui_systemSx)));const{name:c,slot:u,skipVariantsResolver:m,skipSx:h,overridesResolver:p=It(Ft(u))}=l,f=Y(l,Nt),O=m!==void 0?m:u&&u!=="Root"&&u!=="root"||!1,y=h||!1;let j,v=he;u==="Root"||u==="root"?v=a:u?v=i:_t(o)&&(v=void 0);const b=xt(o,T({shouldForwardProp:v,label:j},f)),k=g=>typeof g=="function"&&g.__emotion_real!==g||yt(g)?w=>Q(g,T({},w,{theme:J({theme:w.theme,defaultTheme:n,themeId:t})})):g,$=(g,...w)=>{let N=k(g);const C=w?w.map(k):[];c&&p&&C.push(d=>{const x=J(T({},d,{defaultTheme:n,themeId:t}));if(!x.components||!x.components[c]||!x.components[c].styleOverrides)return null;const S=x.components[c].styleOverrides,F={};return Object.entries(S).forEach(([_,L])=>{F[_]=Q(L,T({},d,{theme:x}))}),p(d,F)}),c&&!O&&C.push(d=>{var x;const S=J(T({},d,{defaultTheme:n,themeId:t})),F=S==null||(x=S.components)==null||(x=x[c])==null?void 0:x.variants;return Q({variants:F},T({},d,{theme:S}))}),y||C.push(s);const R=C.length-w.length;if(Array.isArray(g)&&R>0){const d=new Array(R).fill("");N=[...g,...d],N.raw=[...g.raw,...d]}const A=b(N,...C);return o.muiName&&(A.muiName=o.muiName),A};return b.withConfig&&($.withConfig=b.withConfig),$}}const Wt=Pt(),Gt=(e,t)=>e.filter(n=>t.includes(n)),U=(e,t,n)=>{const a=e.keys[0];Array.isArray(t)?t.forEach((i,s)=>{n((o,l)=>{s<=e.keys.length-1&&(s===0?Object.assign(o,l):o[e.up(e.keys[s])]=l)},i)}):t&&typeof t=="object"?(Object.keys(t).length>e.keys.length?e.keys:Gt(e.keys,Object.keys(t))).forEach(i=>{if(e.keys.indexOf(i)!==-1){const s=t[i];s!==void 0&&n((o,l)=>{a===i?Object.assign(o,l):o[e.up(i)]=l},s)}}):(typeof t=="number"||typeof t=="string")&&n((i,s)=>{Object.assign(i,s)},t)};function P(e){return e?`Level${e}`:""}function z(e){return e.unstable_level>0&&e.container}function Ne(e){return function(t){return`var(--Grid-${t}Spacing${P(e.unstable_level)})`}}function fe(e){return function(t){return e.unstable_level===0?`var(--Grid-${t}Spacing)`:`var(--Grid-${t}Spacing${P(e.unstable_level-1)})`}}function xe(e){return e.unstable_level===0?"var(--Grid-columns)":`var(--Grid-columns${P(e.unstable_level-1)})`}const Bt=({theme:e,ownerState:t})=>{const n=Ne(t),a={};return U(e.breakpoints,t.gridSize,(i,s)=>{let o={};s===!0&&(o={flexBasis:0,flexGrow:1,maxWidth:"100%"}),s==="auto"&&(o={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof s=="number"&&(o={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${s} / ${xe(t)}${z(t)?` + ${n("column")}`:""})`}),i(a,o)}),a},Vt=({theme:e,ownerState:t})=>{const n={};return U(e.breakpoints,t.gridOffset,(a,i)=>{let s={};i==="auto"&&(s={marginLeft:"auto"}),typeof i=="number"&&(s={marginLeft:i===0?"0px":`calc(100% * ${i} / ${xe(t)})`}),a(n,s)}),n},Kt=({theme:e,ownerState:t})=>{if(!t.container)return{};const n=z(t)?{[`--Grid-columns${P(t.unstable_level)}`]:xe(t)}:{"--Grid-columns":12};return U(e.breakpoints,t.columns,(a,i)=>{a(n,{[`--Grid-columns${P(t.unstable_level)}`]:i})}),n},Ut=({theme:e,ownerState:t})=>{if(!t.container)return{};const n=fe(t),a=z(t)?{[`--Grid-rowSpacing${P(t.unstable_level)}`]:n("row")}:{};return U(e.breakpoints,t.rowSpacing,(i,s)=>{var o;i(a,{[`--Grid-rowSpacing${P(t.unstable_level)}`]:typeof s=="string"?s:(o=e.spacing)==null?void 0:o.call(e,s)})}),a},qt=({theme:e,ownerState:t})=>{if(!t.container)return{};const n=fe(t),a=z(t)?{[`--Grid-columnSpacing${P(t.unstable_level)}`]:n("column")}:{};return U(e.breakpoints,t.columnSpacing,(i,s)=>{var o;i(a,{[`--Grid-columnSpacing${P(t.unstable_level)}`]:typeof s=="string"?s:(o=e.spacing)==null?void 0:o.call(e,s)})}),a},zt=({theme:e,ownerState:t})=>{if(!t.container)return{};const n={};return U(e.breakpoints,t.direction,(a,i)=>{a(n,{flexDirection:i})}),n},Zt=({ownerState:e})=>{const t=Ne(e),n=fe(e);return T({minWidth:0,boxSizing:"border-box"},e.container&&T({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||z(e))&&T({padding:`calc(${n("row")} / 2) calc(${n("column")} / 2)`},(e.disableEqualOverflow||e.parentDisableEqualOverflow)&&{padding:`${n("row")} 0px 0px ${n("column")}`}))},Ht=e=>{const t=[];return Object.entries(e).forEach(([n,a])=>{a!==!1&&a!==void 0&&t.push(`grid-${n}-${String(a)}`)}),t},Xt=(e,t="xs")=>{function n(a){return a===void 0?!1:typeof a=="string"&&!Number.isNaN(Number(a))||typeof a=="number"&&a>0}if(n(e))return[`spacing-${t}-${String(e)}`];if(typeof e=="object"&&!Array.isArray(e)){const a=[];return Object.entries(e).forEach(([i,s])=>{n(s)&&a.push(`spacing-${i}-${String(s)}`)}),a}return[]},Yt=e=>e===void 0?[]:typeof e=="object"?Object.entries(e).map(([t,n])=>`direction-${t}-${n}`):[`direction-xs-${String(e)}`],Jt=["className","children","columns","container","component","direction","wrap","spacing","rowSpacing","columnSpacing","disableEqualOverflow","unstable_level"],Qt=Le(),en=Wt("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>t.root});function tn(e){return wt({props:e,name:"MuiGrid",defaultTheme:Qt})}function nn(e={}){const{createStyledComponent:t=en,useThemeProps:n=tn,componentName:a="MuiGrid"}=e,i=V.createContext(void 0),s=(c,u)=>{const{container:m,direction:h,spacing:p,wrap:f,gridSize:O}=c,y={root:["root",m&&"container",f!=="wrap"&&`wrap-xs-${String(f)}`,...Yt(h),...Ht(O),...m?Xt(p,u.breakpoints.keys[0]):[]]};return St(y,j=>Ot(a,j),{})},o=t(Kt,qt,Ut,Bt,zt,Zt,Vt),l=V.forwardRef(function(c,u){var m,h,p,f,O,y,j,v;const b=vt(),k=n(c),$=bt(k),g=V.useContext(i),{className:w,children:N,columns:C=12,container:R=!1,component:A="div",direction:d="row",wrap:x="wrap",spacing:S=0,rowSpacing:F=S,columnSpacing:_=S,disableEqualOverflow:L,unstable_level:D=0}=$,re=Y($,Jt);let q=L;D&&L!==void 0&&(q=c.disableEqualOverflow);const ge={},ye={},ve={};Object.entries(re).forEach(([M,B])=>{b.breakpoints.values[M]!==void 0?ge[M]=B:b.breakpoints.values[M.replace("Offset","")]!==void 0?ye[M.replace("Offset","")]=B:ve[M]=B});const Ue=(m=c.columns)!=null?m:D?void 0:C,qe=(h=c.spacing)!=null?h:D?void 0:S,ze=(p=(f=c.rowSpacing)!=null?f:c.spacing)!=null?p:D?void 0:F,Ze=(O=(y=c.columnSpacing)!=null?y:c.spacing)!=null?O:D?void 0:_,be=T({},$,{level:D,columns:Ue,container:R,direction:d,wrap:x,spacing:qe,rowSpacing:ze,columnSpacing:Ze,gridSize:ge,gridOffset:ye,disableEqualOverflow:(j=(v=q)!=null?v:g)!=null?j:!1,parentDisableEqualOverflow:g}),He=s(be,b);let ae=r.jsx(o,T({ref:u,as:A,ownerState:be,className:jt(He.root,w)},ve,{children:V.Children.map(N,M=>{if(V.isValidElement(M)&&kt(M,["Grid"])){var B;return V.cloneElement(M,{unstable_level:(B=M.props.unstable_level)!=null?B:D+1})}return M})}));return q!==void 0&&q!==(g??!1)&&(ae=r.jsx(i.Provider,{value:q,children:ae})),ae});return l.muiName="Grid",l}const Ee=nn({createStyledComponent:Tt("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(e,t)=>t.root}),componentName:"MuiGrid2",useThemeProps:e=>Ct({props:e,name:"MuiGrid2"})});function rn({entry:e,payload:t}){const n=oe(h=>{var p,f,O;return(O=(f=(p=h.payload)==null?void 0:p.data)==null?void 0:f.reduce)==null?void 0:O.call(f,(y,j)=>y+j.value,0)},[]),a=oe(h=>{const p=new pe(n(h)||0),f=t?.reduce((j,v)=>j+n(v),0)||0,O=new pe(f),y=Number(p.div(O).times(100).toFixed(2,pe.ROUND_DOWN));return isNaN(y)||!isFinite(y)?0:y},[n,t]),i=ie(()=>n(e),[e,n]),s=me(i),o=ie(()=>Number(a(e)),[e,a]),l=me(o),c=oe(h=>Math.floor(h).toLocaleString(),[]),u=mt({type:"text/plain"}),m=$t();return r.jsxs(ht,{component:"li",direction:"row",spacing:1,sx:{color:e.color},layout:"position",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:[r.jsx(K,{sx:{width:"3px",height:"100%",backgroundColor:e.color,borderRadius:3}}),r.jsxs(W,{children:[r.jsxs(G,{component:"p",variant:"caption",children:[r.jsx(W,{component:"span",display:"inline-flex",mr:.5,children:r.jsx(Re,{from:s??0,to:i,map:c,children:"0"})}),r.jsxs(W,{component:"span",direction:"row",display:"inline-flex",children:["(",r.jsx(Re,{from:l??0,to:o,map:c,children:"0"}),"%)"]})]}),r.jsx(G,{variant:"body1",children:e.value}),e.payload.integrationType&&r.jsx(G,{variant:"body2",children:e.payload.integrationType}),e.payload.uuid&&r.jsxs(G,{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 _e(e){const{payload:t}=e;return r.jsx(Ee,{container:!0,direction:"row",component:"ul",gap:2,sx:{mt:2,justifyContent:"flex-start",alignItem:"center",flexWrap:"wrap"},children:r.jsx(pt,{children:t?.map(n=>r.jsx(Ee,{children:r.jsx(rn,{entry:n,payload:t})},`item-${n.value}`))})})}function Me(e){const t=I();return r.jsx(K,{sx:{width:"100%",height:"100%",...e.sx},children:r.jsx(H,{children:r.jsxs(nt,{width:500,height:300,margin:{top:5,right:60,left:20,bottom:5},children:[r.jsx(se,{vertical:!1}),r.jsx(le,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:n=>$e(n,{timeZone:e.filter.timezone,hour12:!1,hour:"numeric"}),allowDuplicatedCategory:!1,tickLine:!1,fontSize:12,tickMargin:12}),r.jsx(ce,{textAnchor:"end",dataKey:"value",tickLine:!1,tickFormatter:n=>Number(n).toLocaleString(),allowDecimals:!1,domain:[1,"dataMax"],children:e.label&&r.jsx(de,{value:e.label,angle:-90,position:"insideLeft",style:{textAnchor:"middle"}})}),r.jsx(ue,{cursor:{stroke:t.palette.neutral.main,strokeWidth:1},formatter:n=>Number(n).toLocaleString(),labelFormatter:n=>Ae(n,{timeZone:e.filter.timezone,hour12:!1})}),r.jsx(Se,{content:r.jsx(_e,{})}),e.data.map(n=>Xe(rt,{uuid:n.uuid,integrationType:n.integrationType,key:n.uuid,name:n.name,dataKey:"value",data:n.chartData,type:"monotone",stroke:n.color,strokeWidth:2}))]})})})}const an=(e,t)=>{const n=new Map;return e.forEach(a=>{a.chartData.forEach(i=>{const s=new Date(i.date).getTime().toString();if(!n.has(s)){const o={date:s,total:0,diff:0,totalKey:"",originalTotal:0};t.forEach(({key:l})=>{o[l]=0,o[`${l}_absolute`]=0}),n.set(s,o)}t.forEach(({key:o})=>{const l=n.get(s),c=i[o],u=typeof c=="string"?c.trim()===""?0:parseInt(c,10):typeof c=="number"?c:0;l[`${o}_absolute`]=u,l[o]=0})})}),Array.from(n.values()).map(a=>{var i;const s=(i=t.find(c=>c.isTotal))==null?void 0:i.key,o=t.filter(c=>!c.isTotal).map(c=>c.key);if(!s||o.length===0)return a;const l=a[`${s}_absolute`];return a.originalTotal=l,a.total=l,a[s]=100,o.forEach(c=>{const u=a[`${c}_absolute`],m=l>0?new X(u.toString()).div(l).mul(100).toFixed(2,X.ROUND_DOWN):"0.00";a[c]=parseFloat(m)}),{...a,totalKey:s}}).sort((a,i)=>parseInt(a.date)-parseInt(i.date))};function Fe(e){const t=I(),n=ie(()=>e.data?an(e.data,e.keyValues):[],[e.data,e.keyValues]);return r.jsx(K,{sx:{width:"100%",height:"100%",...e.sx},children:r.jsx(H,{width:"100%",height:"100%",children:r.jsxs(at,{data:n,width:500,height:300,margin:{top:5,right:60,left:20,bottom:5},children:[r.jsx(se,{strokeDasharray:"3 3"}),r.jsx(le,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:a=>$e(a,{timeZone:e.filter.timezone,hour12:!1,hour:"numeric"}),allowDuplicatedCategory:!1,tickLine:!1,fontSize:12,tickMargin:12}),r.jsx(ce,{textAnchor:"end",tickLine:!1,tickFormatter:a=>`${a.toFixed(2)}%`}),r.jsx(ue,{cursor:{stroke:t.palette.neutral.main,strokeWidth:1},labelFormatter:a=>Ae(a,{timeZone:e.filter.timezone,hour12:!1}),formatter:(a,i,s)=>{const o=s.payload.totalKey,l=s.dataKey,c=l===o,u=s.payload[`${l}_absolute`],m=s.payload.originalTotal,h=c?null:m===0?"0.00":new X(u.toString()).div(m).mul(100).toFixed(2,X.ROUND_DOWN);return[h?`${u.toLocaleString()} (${h}%)`:`${u.toLocaleString()} (TOTAL)`,i]}}),e.keyValues.sort((a,i)=>a.isTotal?-1:i.isTotal?1:0).map(a=>r.jsx(ot,{type:"monotone",dataKey:a.key,name:a.name,stroke:a.color,fill:a.color,strokeWidth:2,fillOpacity:.6},a.key))]})})})}function on(e){const t=me(e.value),{ref:n}=Rt({from:t??0,to:e.value,duration:1,map:e.map});return r.jsx(ke,{sx:{p:3,flex:1,...e.sx},children:r.jsxs(W,{spacing:1,alignItems:"center",children:[r.jsx(G,{ref:n,variant:"h4",fontWeight:"bold",children:e.initialValue}),r.jsx(G,{color:"text.secondary",children:e.label})]})})}const Ie={margin:{top:5,right:30,left:20,bottom:5}},sn={tickLine:!1,fontSize:12,tickMargin:12},ln={textAnchor:"end",tickLine:!1};function ee({data:e,series:t,xAxis:n,yAxis:a,tooltip:i,bar:s,referenceLines:o,referenceAreas:l,sx:c}){const u=I(),m=p=>!p.isFront,h=p=>!!p.isFront;return r.jsx(K,{sx:{width:"100%",height:"100%",...c},children:r.jsx(H,{children:r.jsxs(it,{data:e,...Ie,children:[r.jsx(se,{strokeDasharray:"3 3",vertical:!1}),r.jsx(le,{...sn,...n}),r.jsx(ce,{...ln,...a}),r.jsx(ue,{cursor:{stroke:u.palette.neutral.main,strokeWidth:1},...i}),o?.filter(m).map((p,f)=>r.jsx(Oe,{...p},p.label??f)),l?.filter(m).map((p,f)=>r.jsx(Te,{...p},p.label??f)),t.map(p=>r.jsx(st,{name:p.key,dataKey:p.dataKey,fill:p.color,stackId:"stack",isAnimationActive:!1,...s},p.key)),o?.filter(h).map((p,f)=>r.jsx(Oe,{...p},p.label??f)),l?.filter(h).map((p,f)=>r.jsx(Te,{...p},p.label??f))]})})})}function cn({data:e,threshold:t=100,sx:n}){const a=I(),i=Object.entries(e??{}).map(([o,l])=>({key:o,[o]:l})),s=i.map(({key:o})=>({key:o,dataKey:o,color:a.palette.error.light}));return r.jsx(ee,{sx:n,data:i,series:s,xAxis:{tickLine:!1,dataKey:"key"},yAxis:{tickLine:!1,domain:[0,`dataMax + ${t}`]},tooltip:{labelFormatter:o=>"Total"},referenceLines:[{y:t,stroke:a.palette.error.dark,strokeDasharray:"3 3",label:r.jsx(de,{value:"Unhealthy threshold",position:"insideBottomRight"}),isFront:!0}]})}function dn({data:e,threshold:t=100,sx:n}){const a=I(),i=Object.entries(e??{}).map(([o,l])=>({key:o,[o]:l})),s=i.map(({key:o})=>({key:o,dataKey:o,color:a.palette.warning.light}));return r.jsx(ee,{sx:n,data:i,series:s,xAxis:{tickLine:!1,dataKey:"key"},yAxis:{tickLine:!1,domain:[0,`dataMax + ${t}`]},tooltip:{labelFormatter:o=>"Total"},referenceLines:[{y:t,stroke:a.palette.error.dark,strokeDasharray:"3 3",label:r.jsx(de,{value:"Unhealthy threshold",position:"insideBottomRight"}),isFront:!0}]})}function Pe({payload:e=[],hiddenItems:t,onToggle:n,legendLabel:a}){return r.jsx(K,{sx:{display:"flex",justifyContent:"center",gap:"20px",paddingTop:"20px"},children:e.map((i,s)=>{const o=t.has(i.payload.name);return r.jsxs("div",{style:{display:"flex",alignItems:"center",cursor:"pointer",opacity:o?.4:1},onClick:()=>{n?.(i.payload)},children:[r.jsx("div",{style:{width:"12px",height:"12px",backgroundColor:i.color,marginRight:"8px",borderRadius:"2px"}}),r.jsx("span",{style:{color:i.color},children:a?`${a}: ${i.value}`:i.value})]},`legend-${s}`)})})}const un=e=>{const t=Math.PI/180,{cx:n,cy:a,midAngle:i,innerRadius:s,outerRadius:o,startAngle:l,endAngle:c,fill:u,payload:m,percent:h,value:p,valueText:f,valuePercentage:O,needleVisible:y,customText:j,allActive:v}=e,b=Math.sin(-t*i),k=Math.cos(-t*i),$=n+(o+5)*k,g=a+(o+5)*b,w=n+(o+15)*k,N=a+(o+15)*b,C=w+(k>=0?1:-1)*22,R=N,A=k>=0?"start":"end",d=p.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),x=()=>y||v?null:r.jsx("text",{x:n,y:a,dy:8,textAnchor:"middle",fill:"#333",fontSize:14,children:m.name});return r.jsxs("g",{children:[x(),r.jsx(Ce,{cx:n,cy:a,innerRadius:s,outerRadius:o,startAngle:l,endAngle:c,fill:u}),r.jsx(Ce,{cx:n,cy:a,startAngle:l,endAngle:c,innerRadius:o+2,outerRadius:o+6,fill:u}),r.jsx("path",{d:`M${$},${g}L${w},${N}L${C},${R}`,stroke:u,fill:"none"}),r.jsx("circle",{cx:C,cy:R,r:2,fill:u,stroke:"none"}),r.jsx("text",{x:C+(k>=0?1:-1)*12,y:R,textAnchor:A,fill:"#333",fontSize:12,children:j||(f?`${f} ${d}`:d)}),O&&r.jsxs("text",{x:C+(k>=0?1:-1)*12,y:R,dy:16,textAnchor:A,fill:"#999",fontSize:11,children:[`${(h*100).toFixed(2)}%`," (",d,")"]})]})},pn=e=>{const{value:t,data:n,color:a,innerRadius:i,outerRadius:s,boxDimensions:o,legendDimensions:l,valueText:c}=e,u=Math.PI/180;let m=0;n.forEach(x=>{m+=x.value});const h=o?o.width/2:150,p=(o?o.height/2:200)-l.height/2,f=180*(1-Math.max(0,Math.min(1,t/m))),O=(Number(i)+2*Number(s))/3,y=Math.sin(-u*f),j=Math.cos(-u*f),v=5,b=h-v,k=p,$=b+v*y,g=k-v*j,w=b-v*y,N=k+v*j,C=b+O*j,R=k+O*y,A=t.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),d=c??A;return r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:b,cy:k,r:v,fill:a,stroke:"none",style:{pointerEvents:"none"}},"needle-circle"),r.jsx("path",{d:`M${$} ${g}L${w} ${N} L${C} ${R} L${$} ${g}`,stroke:"none",fill:a,style:{pointerEvents:"none"}},"needle-path"),r.jsx("text",{x:b+v,y:k+26,textAnchor:"middle",fill:"#333",fontSize:12,children:d},"needle-value")]})},mn=(e,t)=>({Allow:t.palette.success.main,Flag:t.palette.warning.main,Block:t.palette.error.main})[e]??t.palette.primary.main;function We({data:e,sx:t,legendLabel:n,legendToggle:a=!1,valueText:i="",valuePercentage:s=!0,pie:o,needleVisible:l=!1,needleValue:c,needleColor:u="#aaa",allActive:m=!1}){const{innerRadius:h=60,outerRadius:p=100}=o??{},f=I(),[O,y]=Z(void 0),[j,v]=Z(new Set),b=Ye(null),[k,$]=Z(null),[g,w]=Z(null),N=(d,x)=>{m||y(x)},C=()=>{m||y(void 0)},R=d=>{a&&d&&v(x=>{const S=new Set(x);return S.has(d.name)?S.delete(d.name):S.size<e.length-1&&S.add(d.name),S})},A=e.map((d,x)=>({...d,index:x,value:j.has(d.name)?0:d.value}));return je(()=>{const d=b.current;if(!d)return;const x=new ResizeObserver(F=>{var _;const L=(_=F[0])==null?void 0:_.contentRect;L&&$(L)});x.observe(d);const S=d.getBoundingClientRect();return $(S),()=>{x.disconnect()}},[]),je(()=>{var d;const x=(d=b.current)==null?void 0:d.querySelector(".recharts-legend-wrapper");if(!x){const _=setInterval(()=>{var L;const D=(L=b.current)==null?void 0:L.querySelector(".recharts-legend-wrapper");if(D){const re=D.getBoundingClientRect();w(re),clearInterval(_)}},100);return()=>{clearInterval(_)}}const S=new ResizeObserver(_=>{var L;const D=(L=_[0])==null?void 0:L.contentRect;D&&w(D)});S.observe(x);const F=x.getBoundingClientRect();return w(F),()=>{S.disconnect()}},[]),r.jsx(K,{ref:b,sx:{width:"100%",height:"100%","& g":{outline:"none"},...t},children:r.jsx(H,{children:r.jsxs(lt,{...Ie,children:[r.jsx(ct,{data:A,nameKey:"name",dataKey:"value",innerRadius:h,outerRadius:p,activeIndex:m?A.filter(d=>d.value>0).map(d=>d.index):O,activeShape:d=>un({...d,valueText:i,valuePercentage:s,needleVisible:l,allActive:m}),paddingAngle:0,onMouseEnter:N,onMouseLeave:C,...o,children:A.map(d=>r.jsx(dt,{fill:d.color??mn(d.name,f),opacity:j.has(d.name)?.5:1,stroke:"none"},d.name))}),r.jsx(Se,{content:r.jsx(Pe,{legendLabel:n,hiddenItems:j,onToggle:R})}),l&&c!==void 0&&k&&g&&pn({data:A,value:c,color:u,innerRadius:h,outerRadius:p,boxDimensions:k,legendDimensions:g,valueText:i})]})})})}function hn({sx:e,data:t,score:n=200,legendLabel:a}){const i=I(),s=[{name:"Allow",customText:"0-299",value:t[0].value,color:i.palette.primary.main},{name:"Flag",customText:"300-599",value:t[1].value,color:i.palette.warning.main},{name:"Block",customText:"Over 600",value:t[2].value,color:i.palette.error.main}];return r.jsx(We,{data:s,legendToggle:!0,needleValue:n,legendLabel:a,allActive:!0,sx:e})}function fn({data:e,sx:t}){const n=I(),a=(s=>{const o={};return s.forEach(l=>{Object.entries(l).forEach(([c,u])=>{const m=parseInt(c);m<=1e3&&(o[m]=(o[m]||0)+u)})}),Array.from({length:1001},(l,c)=>({key:c.toString(),value:o[c]||0}))})(e),i=[{key:"Risk Score",dataKey:"value",color:n.palette.error.main}];return r.jsx(ee,{data:a,series:i,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,o,l)=>[s,l.payload.key]},referenceAreas:[{x1:0,x2:299,fill:"#ffffff00",isFront:!1,label:"Allow"},{x1:300,x2:600,fill:n.palette.warning.light,isFront:!1,label:"Flag"},{x1:600,fill:n.palette.error.light,isFront:!1,label:"Block"}]})}const Ge=()=>({regularChartWrapper:{justifyContent:"center",alignItems:"center",width:"100%",height:500},smallChartWrapper:{justifyContent:"center",alignItems:"center",width:"100%",height:300}});function te(e){return r.jsx(G,{variant:"h6",fontWeight:"900",...e})}function ne(e){return r.jsx(G,{variant:"h6",fontWeight:"400",...e})}function Be(){const e=Ge();return r.jsxs(W,{sx:e.smallChartWrapper,children:[r.jsx(te,{children:"No data available for the selected period and brands"}),r.jsx(ne,{children:"Please select a different period or brand"})]})}function Ve(){const e=Ge();return r.jsxs(W,{sx:e.smallChartWrapper,children:[r.jsx(te,{children:"Loading..."}),r.jsx(ne,{children:"Preparing your chart data"})]})}function xn({data:e,isLoading:t,isFetching:n,isSuccess:a,filter:i,sx:s}){var o,l;const c=I(),u={oneClickCreated:{key:"oneClickCreated",name:"Started",color:c.palette.neutral.main,isTotal:!0},oneClickSuccess:{key:"oneClickSuccess",name:"Finished",color:c.palette.primary.main}};return t?r.jsx(Ve,{}):!e.length||!((l=(o=e[0])==null?void 0:o.chartData)!=null&&l.length)||!a?r.jsx(Be,{}):r.jsx(Fe,{data:e,keyValues:Object.values(u),filter:i,sx:{opacity:n?.4:1,...s}})}const gn={chartWrapper:{justifyContent:"center",alignItems:"center",width:"100%",height:500}};function yn({data:e,isLoading:t,isFetching:n,isSuccess:a,filter:i}){return t?r.jsx(Ve,{}):!e.length||!a?r.jsx(Be,{}):r.jsx(Me,{label:"Uniques",data:e,filter:i,sx:{...gn.chartWrapper,opacity:n?.4:1}})}function vn(e){const{brands:t,data:n,keyValue:a,defaultColor:i}=e,s=t.flatMap(({_raw:o})=>{var l,c;const u=n?.find(h=>h.brandUuid===o.brandUuid),m=(u?.interval??[]).map(h=>({date:+new Date(h.date),value:Number(h[a]||0)})).filter(h=>h.value>0);return{uuid:o.brandUuid,name:o.brandName,integrationType:De(o.integrationType),color:o.integrationType==="hosted"&&(l=o.additionalData)!=null&&l.primaryColor?(c=o.additionalData)==null?void 0:c.primaryColor:i??ut(o.brandUuid),chartData:m}});return At.chain(s).sortBy(o=>o.name).toArray().value()}const Ke={tableWrapper:{height:400,alignItems:"center",justifyContent:"center"}},bn=({data:e,isLoading:t})=>t?r.jsxs(W,{sx:Ke.tableWrapper,children:[r.jsx(te,{children:"Loading..."}),r.jsx(ne,{children:"Preparing your chart data"})]}):e!=null&&e.length?r.jsx(Je,{component:ke,children:r.jsxs(Qe,{children:[r.jsx(et,{children:r.jsxs(we,{children:[r.jsx(E,{children:"Month"}),r.jsx(E,{children:"Brand"}),r.jsx(E,{children:"Integration Type"}),r.jsx(E,{align:"right",children:"Started"}),r.jsx(E,{align:"right",children:"Finished"}),r.jsx(E,{align:"right",children:"Total Cost"})]})}),r.jsx(tt,{children:e.map(n=>r.jsxs(we,{children:[r.jsx(E,{children:new Date(n.month).toLocaleDateString(void 0,{month:"short",year:"numeric",timeZone:"UTC"})}),r.jsx(E,{children:n.brand}),r.jsx(E,{children:n.integrationType}),r.jsx(E,{align:"right",children:n.total}),r.jsx(E,{align:"right",children:n.finished}),r.jsx(E,{align:"right",children:n.totalCost})]},`${n.brand}-${n.month}`))})]})}):r.jsxs(W,{sx:Ke.tableWrapper,children:[r.jsx(te,{children:"No data available for the selected period and brands"}),r.jsx(ne,{children:"Please select a different period or brand"})]}),jn=({data:e,brands:t})=>e.flatMap(n=>{const a=t.find(i=>i.brandUuid===n.brandUuid);return!a||!n.interval?[]:n.interval.map(i=>({month:new Date(i.date).toISOString(),brand:a.brandName,integrationType:De(a.integrationType),total:i.oneClickCreated,finished:i.oneClickSuccess,totalCost:i.totalCost}))});export{on as BigNumber,cn as ErrorCodesChart,bn as MonthlyBillableSignupsTable,yn as OneClickOverTimeChart,xn as OneClickPercentageChart,We as PieChart,dn as ReasonCodesChart,fn as RiskScoreBarChart,hn as RiskScorePieChart,Me as SeriesChart,_e as SeriesChartLegend,Fe as SeriesPercentageChart,ee as SimpleBarChart,Pe as SimpleLegend,jn as mapMonthlyBillableSignupsData,vn as mapTimeSeriesData};
1
+ "use strict";import{j as n}from"../../shared/jsx-runtime-DHlBLioN.mjs";import*as U from"react";import{useCallback as ae,useMemo as re,createElement as Ge,useState as Z,useRef as qe,useEffect as ve,Fragment as be}from"react";import{Box as V,Stack as R,Typography as W,useTheme as P,Paper as je,IconButton as we,TableContainer as ze,Table as Ze,TableHead as He,TableRow as ke,TableCell as _,TableBody as Xe}from"@mui/material";import{ResponsiveContainer as H,LineChart as Ye,CartesianGrid as oe,XAxis as ie,YAxis as se,Label as le,Tooltip as ce,Legend as Se,Line as Je,AreaChart as Qe,Area as et,ComposedChart as tt,ReferenceLine as Oe,ReferenceArea as Te,Bar as nt,Sector as Ce,PieChart as at,Pie as rt,Cell as ot}from"recharts";import{b as $e,c as Ae,u as it}from"../../shared/uuidColor-Dw38-aYm.mjs";import X,{Decimal as de}from"decimal.js";import{AnimatePresence as st}from"framer-motion";import{u as lt}from"../../shared/useCopyToClipboard-BALOSYVW.mjs";import"qrcode";import{u as ue}from"../../shared/usePrevious-DyvR1iCQ.mjs";import{a as ct,C as Re}from"../../shared/motions-BBPeWBPV.mjs";import{c as Le,i as dt,_ as Y,s as ut,a as T,d as pt,e as mt,f as ht,h as ft,j as xt,k as gt,l as yt,m as vt,n as bt,o as jt,p as wt,u as kt,q as St}from"../../shared/index-C1wV5bJ6.mjs";import{u as Ot}from"../../shared/useCounter-BV32zXDQ.mjs";import{P as Ee}from"../../shared/PageSectionHeader-BIozeXN1.mjs";import{k as Tt}from"../../shared/formatKebabToPretty-Du43TgPC.mjs";const Ct=["ownerState"],$t=["variants"],At=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function Rt(e){return Object.keys(e).length===0}function Lt(e){return typeof e=="string"&&e.charCodeAt(0)>96}function pe(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const Et=Le(),Dt=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function J({defaultTheme:e,theme:t,themeId:a}){return Rt(t)?e:t[a]||t}function Nt(e){return e?(t,a)=>a[e]:null}function Q(e,t){let{ownerState:a}=t,o=Y(t,Ct);const i=typeof e=="function"?e(T({ownerState:a},o)):e;if(Array.isArray(i))return i.flatMap(s=>Q(s,T({ownerState:a},o)));if(i&&typeof i=="object"&&Array.isArray(i.variants)){const{variants:s=[]}=i;let r=Y(i,$t);return s.forEach(l=>{let c=!0;typeof l.props=="function"?c=l.props(T({ownerState:a},o,a)):Object.keys(l.props).forEach(d=>{a?.[d]!==l.props[d]&&o[d]!==l.props[d]&&(c=!1)}),c&&(Array.isArray(r)||(r=[r]),r.push(typeof l.style=="function"?l.style(T({ownerState:a},o,a)):l.style))}),r}return i}function _t(e={}){const{themeId:t,defaultTheme:a=Et,rootShouldForwardProp:o=pe,slotShouldForwardProp:i=pe}=e,s=r=>pt(T({},r,{theme:J(T({},r,{defaultTheme:a,themeId:t}))}));return s.__mui_systemSx=!0,(r,l={})=>{dt(r,y=>y.filter(S=>!(S!=null&&S.__mui_systemSx)));const{name:c,slot:d,skipVariantsResolver:m,skipSx:h,overridesResolver:p=Nt(Dt(d))}=l,f=Y(l,At),x=m!==void 0?m:d&&d!=="Root"&&d!=="root"||!1,v=h||!1;let w,b=pe;d==="Root"||d==="root"?b=o:d?b=i:Lt(r)&&(b=void 0);const j=ut(r,T({shouldForwardProp:b,label:w},f)),k=y=>typeof y=="function"&&y.__emotion_real!==y||mt(y)?S=>Q(y,T({},S,{theme:J({theme:S.theme,defaultTheme:a,themeId:t})})):y,$=(y,...S)=>{let N=k(y);const C=S?S.map(k):[];c&&p&&C.push(u=>{const g=J(T({},u,{defaultTheme:a,themeId:t}));if(!g.components||!g.components[c]||!g.components[c].styleOverrides)return null;const O=g.components[c].styleOverrides,I={};return Object.entries(O).forEach(([M,E])=>{I[M]=Q(E,T({},u,{theme:g}))}),p(u,I)}),c&&!x&&C.push(u=>{var g;const O=J(T({},u,{defaultTheme:a,themeId:t})),I=O==null||(g=O.components)==null||(g=g[c])==null?void 0:g.variants;return Q({variants:I},T({},u,{theme:O}))}),v||C.push(s);const L=C.length-S.length;if(Array.isArray(y)&&L>0){const u=new Array(L).fill("");N=[...y,...u],N.raw=[...y.raw,...u]}const A=j(N,...C);return r.muiName&&(A.muiName=r.muiName),A};return j.withConfig&&($.withConfig=j.withConfig),$}}const Mt=_t(),Ft=(e,t)=>e.filter(a=>t.includes(a)),G=(e,t,a)=>{const o=e.keys[0];Array.isArray(t)?t.forEach((i,s)=>{a((r,l)=>{s<=e.keys.length-1&&(s===0?Object.assign(r,l):r[e.up(e.keys[s])]=l)},i)}):t&&typeof t=="object"?(Object.keys(t).length>e.keys.length?e.keys:Ft(e.keys,Object.keys(t))).forEach(i=>{if(e.keys.indexOf(i)!==-1){const s=t[i];s!==void 0&&a((r,l)=>{o===i?Object.assign(r,l):r[e.up(i)]=l},s)}}):(typeof t=="number"||typeof t=="string")&&a((i,s)=>{Object.assign(i,s)},t)};function B(e){return e?`Level${e}`:""}function z(e){return e.unstable_level>0&&e.container}function De(e){return function(t){return`var(--Grid-${t}Spacing${B(e.unstable_level)})`}}function me(e){return function(t){return e.unstable_level===0?`var(--Grid-${t}Spacing)`:`var(--Grid-${t}Spacing${B(e.unstable_level-1)})`}}function he(e){return e.unstable_level===0?"var(--Grid-columns)":`var(--Grid-columns${B(e.unstable_level-1)})`}const It=({theme:e,ownerState:t})=>{const a=De(t),o={};return G(e.breakpoints,t.gridSize,(i,s)=>{let r={};s===!0&&(r={flexBasis:0,flexGrow:1,maxWidth:"100%"}),s==="auto"&&(r={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof s=="number"&&(r={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${s} / ${he(t)}${z(t)?` + ${a("column")}`:""})`}),i(o,r)}),o},Bt=({theme:e,ownerState:t})=>{const a={};return G(e.breakpoints,t.gridOffset,(o,i)=>{let s={};i==="auto"&&(s={marginLeft:"auto"}),typeof i=="number"&&(s={marginLeft:i===0?"0px":`calc(100% * ${i} / ${he(t)})`}),o(a,s)}),a},Pt=({theme:e,ownerState:t})=>{if(!t.container)return{};const a=z(t)?{[`--Grid-columns${B(t.unstable_level)}`]:he(t)}:{"--Grid-columns":12};return G(e.breakpoints,t.columns,(o,i)=>{o(a,{[`--Grid-columns${B(t.unstable_level)}`]:i})}),a},Kt=({theme:e,ownerState:t})=>{if(!t.container)return{};const a=me(t),o=z(t)?{[`--Grid-rowSpacing${B(t.unstable_level)}`]:a("row")}:{};return G(e.breakpoints,t.rowSpacing,(i,s)=>{var r;i(o,{[`--Grid-rowSpacing${B(t.unstable_level)}`]:typeof s=="string"?s:(r=e.spacing)==null?void 0:r.call(e,s)})}),o},Ut=({theme:e,ownerState:t})=>{if(!t.container)return{};const a=me(t),o=z(t)?{[`--Grid-columnSpacing${B(t.unstable_level)}`]:a("column")}:{};return G(e.breakpoints,t.columnSpacing,(i,s)=>{var r;i(o,{[`--Grid-columnSpacing${B(t.unstable_level)}`]:typeof s=="string"?s:(r=e.spacing)==null?void 0:r.call(e,s)})}),o},Vt=({theme:e,ownerState:t})=>{if(!t.container)return{};const a={};return G(e.breakpoints,t.direction,(o,i)=>{o(a,{flexDirection:i})}),a},Wt=({ownerState:e})=>{const t=De(e),a=me(e);return T({minWidth:0,boxSizing:"border-box"},e.container&&T({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||z(e))&&T({padding:`calc(${a("row")} / 2) calc(${a("column")} / 2)`},(e.disableEqualOverflow||e.parentDisableEqualOverflow)&&{padding:`${a("row")} 0px 0px ${a("column")}`}))},Gt=e=>{const t=[];return Object.entries(e).forEach(([a,o])=>{o!==!1&&o!==void 0&&t.push(`grid-${a}-${String(o)}`)}),t},qt=(e,t="xs")=>{function a(o){return o===void 0?!1:typeof o=="string"&&!Number.isNaN(Number(o))||typeof o=="number"&&o>0}if(a(e))return[`spacing-${t}-${String(e)}`];if(typeof e=="object"&&!Array.isArray(e)){const o=[];return Object.entries(e).forEach(([i,s])=>{a(s)&&o.push(`spacing-${i}-${String(s)}`)}),o}return[]},zt=e=>e===void 0?[]:typeof e=="object"?Object.entries(e).map(([t,a])=>`direction-${t}-${a}`):[`direction-xs-${String(e)}`],Zt=["className","children","columns","container","component","direction","wrap","spacing","rowSpacing","columnSpacing","disableEqualOverflow","unstable_level"],Ht=Le(),Xt=Mt("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>t.root});function Yt(e){return yt({props:e,name:"MuiGrid",defaultTheme:Ht})}function Jt(e={}){const{createStyledComponent:t=Xt,useThemeProps:a=Yt,componentName:o="MuiGrid"}=e,i=U.createContext(void 0),s=(c,d)=>{const{container:m,direction:h,spacing:p,wrap:f,gridSize:x}=c,v={root:["root",m&&"container",f!=="wrap"&&`wrap-xs-${String(f)}`,...zt(h),...Gt(x),...m?qt(p,d.breakpoints.keys[0]):[]]};return vt(v,w=>bt(o,w),{})},r=t(Pt,Ut,Kt,It,Vt,Wt,Bt),l=U.forwardRef(function(c,d){var m,h,p,f,x,v,w,b;const j=ht(),k=a(c),$=ft(k),y=U.useContext(i),{className:S,children:N,columns:C=12,container:L=!1,component:A="div",direction:u="row",wrap:g="wrap",spacing:O=0,rowSpacing:I=O,columnSpacing:M=O,disableEqualOverflow:E,unstable_level:D=0}=$,te=Y($,Zt);let q=E;D&&E!==void 0&&(q=c.disableEqualOverflow);const fe={},xe={},ge={};Object.entries(te).forEach(([F,K])=>{j.breakpoints.values[F]!==void 0?fe[F]=K:j.breakpoints.values[F.replace("Offset","")]!==void 0?xe[F.replace("Offset","")]=K:ge[F]=K});const Pe=(m=c.columns)!=null?m:D?void 0:C,Ke=(h=c.spacing)!=null?h:D?void 0:O,Ue=(p=(f=c.rowSpacing)!=null?f:c.spacing)!=null?p:D?void 0:I,Ve=(x=(v=c.columnSpacing)!=null?v:c.spacing)!=null?x:D?void 0:M,ye=T({},$,{level:D,columns:Pe,container:L,direction:u,wrap:g,spacing:Ke,rowSpacing:Ue,columnSpacing:Ve,gridSize:fe,gridOffset:xe,disableEqualOverflow:(w=(b=q)!=null?b:y)!=null?w:!1,parentDisableEqualOverflow:y}),We=s(ye,j);let ne=n.jsx(r,T({ref:d,as:A,ownerState:ye,className:xt(We.root,S)},ge,{children:U.Children.map(N,F=>{if(U.isValidElement(F)&&gt(F,["Grid"])){var K;return U.cloneElement(F,{unstable_level:(K=F.props.unstable_level)!=null?K:D+1})}return F})}));return q!==void 0&&q!==(y??!1)&&(ne=n.jsx(i.Provider,{value:q,children:ne})),ne});return l.muiName="Grid",l}const Ne=Jt({createStyledComponent:jt("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(e,t)=>t.root}),componentName:"MuiGrid2",useThemeProps:e=>wt({props:e,name:"MuiGrid2"})});function Qt({entry:e,payload:t}){const a=ae(h=>{var p,f,x;return(x=(f=(p=h.payload)==null?void 0:p.data)==null?void 0:f.reduce)==null?void 0:x.call(f,(v,w)=>v+w.value,0)},[]),o=ae(h=>{const p=new de(a(h)||0),f=t?.reduce((w,b)=>w+a(b),0)||0,x=new de(f),v=Number(p.div(x).times(100).toFixed(2,de.ROUND_DOWN));return isNaN(v)||!isFinite(v)?0:v},[a,t]),i=re(()=>a(e),[e,a]),s=ue(i),r=re(()=>Number(o(e)),[e,o]),l=ue(r),c=ae(h=>Math.floor(h).toLocaleString(),[]),d=lt({type:"text/plain"}),m=kt();return n.jsxs(ct,{component:"li",direction:"row",spacing:1,sx:{color:e.color},layout:"position",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:[n.jsx(V,{sx:{width:"3px",height:"100%",backgroundColor:e.color,borderRadius:3}}),n.jsxs(R,{children:[n.jsxs(W,{component:"p",variant:"caption",children:[n.jsx(R,{component:"span",display:"inline-flex",mr:.5,children:n.jsx(Re,{from:s??0,to:i,map:c,children:"0"})}),n.jsxs(R,{component:"span",direction:"row",display:"inline-flex",children:["(",n.jsx(Re,{from:l??0,to:r,map:c,children:"0"}),"%)"]})]}),n.jsx(W,{variant:"body1",children:e.value}),e.payload.integrationType&&n.jsx(W,{variant:"body2",children:e.payload.integrationType}),e.payload.uuid&&n.jsxs(W,{variant:"body2",sx:{cursor:"pointer","&:hover":{textDecoration:"underline"}},onClick:()=>{d.copy(e.payload.uuid).catch(()=>{}),m.enqueueSnackbar("UUID copied to clipboard","success")},children:[e.payload.uuid.slice(0,5),"..."]})]})]})}function _e(e){const{payload:t}=e;return n.jsx(Ne,{container:!0,direction:"row",component:"ul",gap:2,sx:{mt:2,justifyContent:"flex-start",alignItem:"center",flexWrap:"wrap"},children:n.jsx(st,{children:t?.map(a=>n.jsx(Ne,{children:n.jsx(Qt,{entry:a,payload:t})},`item-${a.value}`))})})}function Me(e){const t=P();return n.jsx(V,{sx:{width:"100%",height:"100%",...e.sx},children:n.jsx(H,{children:n.jsxs(Ye,{width:500,height:300,margin:{top:5,right:60,left:20,bottom:5},children:[n.jsx(oe,{vertical:!1}),n.jsx(ie,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:a=>$e(a,{timeZone:e.filter.timezone,hour12:!1,hour:"numeric"}),allowDuplicatedCategory:!1,tickLine:!1,fontSize:12,tickMargin:12}),n.jsx(se,{textAnchor:"end",dataKey:"value",tickLine:!1,tickFormatter:a=>Number(a).toLocaleString(),allowDecimals:!1,domain:[1,"dataMax"],children:e.label&&n.jsx(le,{value:e.label,angle:-90,position:"insideLeft",style:{textAnchor:"middle"}})}),n.jsx(ce,{cursor:{stroke:t.palette.neutral.main,strokeWidth:1},formatter:a=>Number(a).toLocaleString(),labelFormatter:a=>Ae(a,{timeZone:e.filter.timezone,hour12:!1})}),n.jsx(Se,{content:n.jsx(_e,{})}),e.data.map(a=>Ge(Je,{uuid:a.uuid,integrationType:a.integrationType,key:a.uuid,name:a.name,dataKey:"value",data:a.chartData,type:"monotone",stroke:a.color,strokeWidth:2}))]})})})}const en=(e,t)=>{const a=new Map;return e.forEach(o=>{o.chartData.forEach(i=>{const s=new Date(i.date).getTime().toString();if(!a.has(s)){const r={date:s,total:0,diff:0,totalKey:"",originalTotal:0};t.forEach(({key:l})=>{r[l]=0,r[`${l}_absolute`]=0}),a.set(s,r)}t.forEach(({key:r})=>{const l=a.get(s),c=i[r],d=typeof c=="string"?c.trim()===""?0:parseInt(c,10):typeof c=="number"?c:0;l[`${r}_absolute`]=d,l[r]=0})})}),Array.from(a.values()).map(o=>{var i;const s=(i=t.find(c=>c.isTotal))==null?void 0:i.key,r=t.filter(c=>!c.isTotal).map(c=>c.key);if(!s||r.length===0)return o;const l=o[`${s}_absolute`];return o.originalTotal=l,o.total=l,o[s]=100,r.forEach(c=>{const d=o[`${c}_absolute`],m=l>0?new X(d.toString()).div(l).mul(100).toFixed(2,X.ROUND_DOWN):"0.00";o[c]=parseFloat(m)}),{...o,totalKey:s}}).sort((o,i)=>parseInt(o.date)-parseInt(i.date))};function tn(e){const t=P(),a=re(()=>e.data?en(e.data,e.keyValues):[],[e.data,e.keyValues]);return n.jsx(V,{sx:{width:"100%",height:"100%",...e.sx},children:n.jsx(H,{width:"100%",height:"100%",children:n.jsxs(Qe,{data:a,width:500,height:300,margin:{top:5,right:60,left:20,bottom:5},children:[n.jsx(oe,{strokeDasharray:"3 3"}),n.jsx(ie,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:o=>$e(o,{timeZone:e.filter.timezone,hour12:!1,hour:"numeric"}),allowDuplicatedCategory:!1,tickLine:!1,fontSize:12,tickMargin:12}),n.jsx(se,{textAnchor:"end",tickLine:!1,tickFormatter:o=>`${o.toFixed(2)}%`}),n.jsx(ce,{cursor:{stroke:t.palette.neutral.main,strokeWidth:1},labelFormatter:o=>Ae(o,{timeZone:e.filter.timezone,hour12:!1}),formatter:(o,i,s)=>{const r=s.payload.totalKey,l=s.dataKey,c=l===r,d=s.payload[`${l}_absolute`],m=s.payload.originalTotal,h=c?null:m===0?"0.00":new X(d.toString()).div(m).mul(100).toFixed(2,X.ROUND_DOWN);return[h?`${d.toLocaleString()} (${h}%)`:`${d.toLocaleString()} (TOTAL)`,i]}}),e.keyValues.sort((o,i)=>o.isTotal?-1:i.isTotal?1:0).map(o=>n.jsx(et,{type:"monotone",dataKey:o.key,name:o.name,stroke:o.color,fill:o.color,strokeWidth:2,fillOpacity:.6},o.key))]})})})}function nn(e){const t=ue(e.value),{ref:a}=Ot({from:t??0,to:e.value,duration:1,map:e.map});return n.jsx(je,{sx:{p:3,flex:1,...e.sx},children:n.jsxs(R,{spacing:1,alignItems:"center",children:[n.jsx(W,{ref:a,variant:"h4",fontWeight:"bold",children:e.initialValue}),n.jsx(W,{color:"text.secondary",children:e.label})]})})}const Fe={margin:{top:5,right:30,left:20,bottom:5}},an={tickLine:!1,fontSize:12,tickMargin:12},rn={textAnchor:"end",tickLine:!1};function ee({data:e,series:t,xAxis:a,yAxis:o,tooltip:i,bar:s,referenceLines:r,referenceAreas:l,sx:c}){const d=P(),m=p=>!p.isFront,h=p=>!!p.isFront;return n.jsx(V,{sx:{width:"100%",height:"100%",...c},children:n.jsx(H,{children:n.jsxs(tt,{data:e,...Fe,children:[n.jsx(oe,{strokeDasharray:"3 3",vertical:!1}),n.jsx(ie,{...an,...a}),n.jsx(se,{...rn,...o}),n.jsx(ce,{cursor:{stroke:d.palette.neutral.main,strokeWidth:1},...i}),r?.filter(m).map((p,f)=>n.jsx(Oe,{...p},p.label??f)),l?.filter(m).map((p,f)=>n.jsx(Te,{...p},p.label??f)),t.map(p=>n.jsx(nt,{name:p.key,dataKey:p.dataKey,fill:p.color,stackId:"stack",isAnimationActive:!1,...s},p.key)),r?.filter(h).map((p,f)=>n.jsx(Oe,{...p},p.label??f)),l?.filter(h).map((p,f)=>n.jsx(Te,{...p},p.label??f))]})})})}function on({data:e,threshold:t=100,sx:a}){const o=P(),i=Object.entries(e??{}).map(([r,l])=>({key:r,[r]:l})),s=i.map(({key:r})=>({key:r,dataKey:r,color:o.palette.error.light}));return n.jsx(ee,{sx:a,data:i,series:s,xAxis:{tickLine:!1,dataKey:"key"},yAxis:{tickLine:!1,domain:[0,`dataMax + ${t}`]},tooltip:{labelFormatter:r=>"Total"},referenceLines:[{y:t,stroke:o.palette.error.dark,strokeDasharray:"3 3",label:n.jsx(le,{value:"Unhealthy threshold",position:"insideBottomRight"}),isFront:!0}]})}function sn({data:e,threshold:t=100,sx:a}){const o=P(),i=Object.entries(e??{}).map(([r,l])=>({key:r,[r]:l})),s=i.map(({key:r})=>({key:r,dataKey:r,color:o.palette.warning.light}));return n.jsx(ee,{sx:a,data:i,series:s,xAxis:{tickLine:!1,dataKey:"key"},yAxis:{tickLine:!1,domain:[0,`dataMax + ${t}`]},tooltip:{labelFormatter:r=>"Total"},referenceLines:[{y:t,stroke:o.palette.error.dark,strokeDasharray:"3 3",label:n.jsx(le,{value:"Unhealthy threshold",position:"insideBottomRight"}),isFront:!0}]})}function Ie({payload:e=[],hiddenItems:t,onToggle:a,legendLabel:o}){return n.jsx(V,{sx:{display:"flex",justifyContent:"center",gap:"20px",paddingTop:"20px"},children:e.map((i,s)=>{const r=t.has(i.payload.name);return n.jsxs("div",{style:{display:"flex",alignItems:"center",cursor:"pointer",opacity:r?.4:1},onClick:()=>{a?.(i.payload)},children:[n.jsx("div",{style:{width:"12px",height:"12px",backgroundColor:i.color,marginRight:"8px",borderRadius:"2px"}}),n.jsx("span",{style:{color:i.color},children:o?`${o}: ${i.value}`:i.value})]},`legend-${s}`)})})}const ln=e=>{const t=Math.PI/180,{cx:a,cy:o,midAngle:i,innerRadius:s,outerRadius:r,startAngle:l,endAngle:c,fill:d,payload:m,percent:h,value:p,valueText:f,valuePercentage:x,needleVisible:v,customText:w,allActive:b}=e,j=Math.sin(-t*i),k=Math.cos(-t*i),$=a+(r+5)*k,y=o+(r+5)*j,S=a+(r+15)*k,N=o+(r+15)*j,C=S+(k>=0?1:-1)*22,L=N,A=k>=0?"start":"end",u=p.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),g=()=>v||b?null:n.jsx("text",{x:a,y:o,dy:8,textAnchor:"middle",fill:"#333",fontSize:14,children:m.name});return n.jsxs("g",{children:[g(),n.jsx(Ce,{cx:a,cy:o,innerRadius:s,outerRadius:r,startAngle:l,endAngle:c,fill:d}),n.jsx(Ce,{cx:a,cy:o,startAngle:l,endAngle:c,innerRadius:r+2,outerRadius:r+6,fill:d}),n.jsx("path",{d:`M${$},${y}L${S},${N}L${C},${L}`,stroke:d,fill:"none"}),n.jsx("circle",{cx:C,cy:L,r:2,fill:d,stroke:"none"}),n.jsx("text",{x:C+(k>=0?1:-1)*12,y:L,textAnchor:A,fill:"#333",fontSize:12,children:w||(f?`${f} ${u}`:u)}),x&&n.jsxs("text",{x:C+(k>=0?1:-1)*12,y:L,dy:16,textAnchor:A,fill:"#999",fontSize:11,children:[`${(h*100).toFixed(2)}%`," (",u,")"]})]})},cn=e=>{const{value:t,data:a,color:o,innerRadius:i,outerRadius:s,boxDimensions:r,legendDimensions:l,valueText:c}=e,d=Math.PI/180;let m=0;a.forEach(g=>{m+=g.value});const h=r?r.width/2:150,p=(r?r.height/2:200)-l.height/2,f=180*(1-Math.max(0,Math.min(1,t/m))),x=(Number(i)+2*Number(s))/3,v=Math.sin(-d*f),w=Math.cos(-d*f),b=5,j=h-b,k=p,$=j+b*v,y=k-b*w,S=j-b*v,N=k+b*w,C=j+x*w,L=k+x*v,A=t.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),u=c??A;return n.jsxs(n.Fragment,{children:[n.jsx("circle",{cx:j,cy:k,r:b,fill:o,stroke:"none",style:{pointerEvents:"none"}},"needle-circle"),n.jsx("path",{d:`M${$} ${y}L${S} ${N} L${C} ${L} L${$} ${y}`,stroke:"none",fill:o,style:{pointerEvents:"none"}},"needle-path"),n.jsx("text",{x:j+b,y:k+26,textAnchor:"middle",fill:"#333",fontSize:12,children:u},"needle-value")]})},dn=(e,t)=>({Allow:t.palette.success.main,Flag:t.palette.warning.main,Block:t.palette.error.main})[e]??t.palette.primary.main;function Be({data:e,sx:t,legendLabel:a,legendToggle:o=!1,valueText:i="",valuePercentage:s=!0,pie:r,needleVisible:l=!1,needleValue:c,needleColor:d="#aaa",allActive:m=!1}){const{innerRadius:h=60,outerRadius:p=100}=r??{},f=P(),[x,v]=Z(void 0),[w,b]=Z(new Set),j=qe(null),[k,$]=Z(null),[y,S]=Z(null),N=(u,g)=>{m||v(g)},C=()=>{m||v(void 0)},L=u=>{o&&u&&b(g=>{const O=new Set(g);return O.has(u.name)?O.delete(u.name):O.size<e.length-1&&O.add(u.name),O})},A=e.map((u,g)=>({...u,index:g,value:w.has(u.name)?0:u.value}));return ve(()=>{const u=j.current;if(!u)return;const g=new ResizeObserver(I=>{var M;const E=(M=I[0])==null?void 0:M.contentRect;E&&$(E)});g.observe(u);const O=u.getBoundingClientRect();return $(O),()=>{g.disconnect()}},[]),ve(()=>{var u;const g=(u=j.current)==null?void 0:u.querySelector(".recharts-legend-wrapper");if(!g){const M=setInterval(()=>{var E;const D=(E=j.current)==null?void 0:E.querySelector(".recharts-legend-wrapper");if(D){const te=D.getBoundingClientRect();S(te),clearInterval(M)}},100);return()=>{clearInterval(M)}}const O=new ResizeObserver(M=>{var E;const D=(E=M[0])==null?void 0:E.contentRect;D&&S(D)});O.observe(g);const I=g.getBoundingClientRect();return S(I),()=>{O.disconnect()}},[]),n.jsx(V,{ref:j,sx:{width:"100%",height:"100%","& g":{outline:"none"},...t},children:n.jsx(H,{children:n.jsxs(at,{...Fe,children:[n.jsx(rt,{data:A,nameKey:"name",dataKey:"value",innerRadius:h,outerRadius:p,activeIndex:m?A.filter(u=>u.value>0).map(u=>u.index):x,activeShape:u=>ln({...u,valueText:i,valuePercentage:s,needleVisible:l,allActive:m}),paddingAngle:0,onMouseEnter:N,onMouseLeave:C,...r,children:A.map(u=>n.jsx(ot,{fill:u.color??dn(u.name,f),opacity:w.has(u.name)?.5:1,stroke:"none"},u.name))}),n.jsx(Se,{content:n.jsx(Ie,{legendLabel:a,hiddenItems:w,onToggle:L})}),l&&c!==void 0&&k&&y&&cn({data:A,value:c,color:d,innerRadius:h,outerRadius:p,boxDimensions:k,legendDimensions:y,valueText:i})]})})})}function un({sx:e,data:t,score:a=200,legendLabel:o}){const i=P(),s=[{name:"Allow",customText:"0-299",value:t[0].value,color:i.palette.primary.main},{name:"Flag",customText:"300-599",value:t[1].value,color:i.palette.warning.main},{name:"Block",customText:"Over 600",value:t[2].value,color:i.palette.error.main}];return n.jsx(Be,{data:s,legendToggle:!0,needleValue:a,legendLabel:o,allActive:!0,sx:e})}function pn({data:e,sx:t}){const a=P(),o=(s=>{const r={};return s.forEach(l=>{Object.entries(l).forEach(([c,d])=>{const m=parseInt(c);m<=1e3&&(r[m]=(r[m]||0)+d)})}),Array.from({length:1001},(l,c)=>({key:c.toString(),value:r[c]||0}))})(e),i=[{key:"Risk Score",dataKey:"value",color:a.palette.error.main}];return n.jsx(ee,{data:o,series:i,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,r,l)=>[s,l.payload.key]},referenceAreas:[{x1:0,x2:299,fill:"#ffffff00",isFront:!1,label:"Allow"},{x1:300,x2:600,fill:a.palette.warning.light,isFront:!1,label:"Flag"},{x1:600,fill:a.palette.error.light,isFront:!1,label:"Block"}]})}function mn(){return{chartWrapper:{justifyContent:"center",alignItems:"center",width:"100%",height:500}}}function hn({data:e,isLoading:t,isFetching:a,onRefresh:o,lastUpdated:i,filter:s,LoadingComponent:r,EmptyStateComponent:l,LastUpdatedComponent:c,ContentLoaderComponent:d,RefreshIconComponent:m}){var h;const p=mn(),f=()=>t&&r?n.jsx(r,{}):!e.length&&l?n.jsx(l,{}):n.jsx(Me,{label:"Uniques",data:e,filter:s,sx:{...p.chartWrapper,opacity:a?.4:1}}),x=()=>d&&m?n.jsx(d,{isLoading:a,children:n.jsx(m,{})}):null;return n.jsxs(R,{spacing:2,children:[n.jsx(R,{children:n.jsx(R,{direction:"row",alignItems:"center",spacing:2,children:n.jsx(Ee,{title:"1-Click Signups",titleRightChildren:n.jsx(be,{children:n.jsx(we,{"data-testid":"refresh-one-click-over-time-chart",onClick:o,disabled:a||!((h=s?.brands)!=null&&h.length),children:x()})},1)})})}),n.jsx(R,{direction:"column",spacing:2,children:f()}),c&&n.jsx(R,{sx:{mt:2},children:n.jsx(c,{lastUpdated:i})})]})}function fn(e){const{brands:t,data:a,keyValue:o,defaultColor:i}=e,s=t.flatMap(({_raw:r})=>{var l,c;const d=a?.find(h=>h.brandUuid===r.brandUuid),m=(d?.interval??[]).map(h=>({date:+new Date(h.date),value:Number(h[o]||0)})).filter(h=>h.value>0);return{uuid:r.brandUuid,name:r.brandName,integrationType:Tt(r.integrationType),color:r.integrationType==="hosted"&&(l=r.additionalData)!=null&&l.primaryColor?(c=r.additionalData)==null?void 0:c.primaryColor:i??it(r.brandUuid),chartData:m}});return St.chain(s).sortBy(r=>r.name).toArray().value()}const xn=({data:e,isLoading:t,isFetching:a,isSuccess:o,selectedBrands:i,onBrandChange:s,onRefresh:r,LoadingComponent:l,EmptyStateComponent:c,LastUpdatedComponent:d,ContentLoaderComponent:m,RefreshIconComponent:h,BrandFilterComponent:p})=>{const f=()=>t?n.jsx(l,{}):!i.length||!(e!=null&&e.length)||!o?n.jsx(c,{}):n.jsx(ze,{component:je,children:n.jsxs(Ze,{children:[n.jsx(He,{children:n.jsxs(ke,{children:[n.jsx(_,{children:"Month"}),n.jsx(_,{children:"Brand"}),n.jsx(_,{children:"Integration Type"}),n.jsx(_,{align:"right",children:"Started"}),n.jsx(_,{align:"right",children:"Finished"}),n.jsx(_,{align:"right",children:"Total Cost"})]})}),n.jsx(Xe,{children:e?.map(x=>n.jsxs(ke,{children:[n.jsx(_,{children:new Date(x.month).toLocaleDateString(void 0,{month:"short",year:"numeric",timeZone:"UTC"})}),n.jsx(_,{children:x.brand}),n.jsx(_,{children:x.integrationType}),n.jsx(_,{align:"right",children:x.total}),n.jsx(_,{align:"right",children:x.finished}),n.jsx(_,{align:"right",children:x.totalCost})]},`${x.brand}-${x.month}`))})]})});return n.jsxs(R,{spacing:4,children:[n.jsx(R,{children:n.jsxs(R,{spacing:4,children:[n.jsx(Ee,{title:"Monthly Billable Signups",titleRightChildren:n.jsx(be,{children:n.jsx(we,{"data-testid":"add-brand",onClick:r,disabled:a||!i.length,children:n.jsx(m,{isLoading:a,children:n.jsx(h,{})})})},1)}),n.jsx(R,{alignSelf:"flex-start",sx:{minWidth:250},children:n.jsx(p,{label:"Brands",multiple:!0,value:i,onChange:s})})]})}),f(),n.jsx(R,{sx:{mt:2},children:n.jsx(d,{})})]})},gn=({data:e,brands:t})=>e.flatMap(a=>{const o=t.find(i=>i.uuid===a.brandUuid);return!o||!a.interval?[]:a.interval.map(i=>({month:new Date(i.date).toISOString(),brand:o.name,integrationType:"One Click",total:i.oneClickCreated,finished:i.oneClickSuccess,totalCost:i.totalCost}))});export{nn as BigNumber,on as ErrorCodesChart,xn as MonthlyBillableSignupsTable,hn as OneClickOverTimeChart,Be as PieChart,sn as ReasonCodesChart,pn as RiskScoreBarChart,un as RiskScorePieChart,Me as SeriesChart,_e as SeriesChartLegend,tn as SeriesPercentageChart,ee as SimpleBarChart,Ie as SimpleLegend,gn as mapMonthlyBillableSignupsData,fn as mapTimeSeriesData};
@@ -1,14 +1,44 @@
1
1
  import { default as React } from 'react';
2
- export type BillableSignupData = {
3
- month: string;
4
- brand: string;
5
- integrationType: string;
6
- total: number;
7
- finished: number;
8
- totalCost: string;
9
- };
10
2
  export type MonthlyBillableSignupsTableProps = {
11
- data: BillableSignupData[];
3
+ data?: Array<{
4
+ month: string;
5
+ brand: string;
6
+ integrationType: string;
7
+ total: number;
8
+ finished: number;
9
+ totalCost: string;
10
+ }>;
12
11
  isLoading: boolean;
12
+ isFetching: boolean;
13
+ isSuccess: boolean;
14
+ selectedBrands: Array<{
15
+ label: string;
16
+ value: string;
17
+ }>;
18
+ onBrandChange: (brands: Array<{
19
+ label: string;
20
+ value: string;
21
+ }>) => void;
22
+ onRefresh: () => void;
23
+ LoadingComponent: React.ComponentType;
24
+ EmptyStateComponent: React.ComponentType;
25
+ LastUpdatedComponent: React.ComponentType;
26
+ ContentLoaderComponent: React.ComponentType<{
27
+ isLoading: boolean;
28
+ children: React.ReactNode;
29
+ }>;
30
+ RefreshIconComponent: React.ComponentType;
31
+ BrandFilterComponent: React.ComponentType<{
32
+ label: string;
33
+ multiple: boolean;
34
+ value: Array<{
35
+ label: string;
36
+ value: string;
37
+ }>;
38
+ onChange: (value: Array<{
39
+ label: string;
40
+ value: string;
41
+ }>) => void;
42
+ }>;
13
43
  };
14
44
  export declare const MonthlyBillableSignupsTable: React.FC<MonthlyBillableSignupsTableProps>;
@@ -1,2 +1,2 @@
1
1
  export * from './MonthlyBillableSignupsTable';
2
- export * from './MonthlyBillableSignupsDataMapper';
2
+ export * from './monthlyBillableSignupsDataMapper';
@@ -1,7 +1,6 @@
1
1
  type Brand = {
2
- brandUuid: string;
3
- brandName: string;
4
- integrationType: string;
2
+ uuid: string;
3
+ name: string;
5
4
  };
6
5
  type ChartData = {
7
6
  brandUuid: string;
@@ -1,14 +1,26 @@
1
- import { default as React } from 'react';
2
1
  import { SeriesChartData } from '../SeriesChart';
3
- import { BrandFilter } from '../../BrandFilterInput';
4
- export interface OneClickOverTimeChartProps {
2
+ import { default as React } from 'react';
3
+ import { BrandFilter } from './OneClickTimeSeriesDataMapper';
4
+ interface OneClickOverTimeChartProps {
5
5
  data: SeriesChartData[];
6
6
  isLoading: boolean;
7
- isSuccess: boolean;
8
7
  isFetching: boolean;
8
+ onRefresh: () => void;
9
+ lastUpdated: number;
9
10
  filter: {
10
11
  timezone: string;
11
12
  brands: BrandFilter[];
12
13
  };
14
+ LoadingComponent?: React.ComponentType;
15
+ EmptyStateComponent?: React.ComponentType;
16
+ LastUpdatedComponent?: React.ComponentType<{
17
+ lastUpdated: number;
18
+ }>;
19
+ ContentLoaderComponent?: React.ComponentType<{
20
+ isLoading: boolean;
21
+ children: React.ReactNode;
22
+ }>;
23
+ RefreshIconComponent?: React.ComponentType;
13
24
  }
14
- export declare function OneClickOverTimeChart({ data, isLoading, isFetching, isSuccess, filter, }: Readonly<OneClickOverTimeChartProps>): React.ReactNode;
25
+ export declare function OneClickOverTimeChart({ data, isLoading, isFetching, onRefresh, lastUpdated, filter, LoadingComponent, EmptyStateComponent, LastUpdatedComponent, ContentLoaderComponent, RefreshIconComponent, }: Readonly<OneClickOverTimeChartProps>): React.ReactNode;
26
+ export {};
@@ -1,4 +1,15 @@
1
- import { BrandFilter } from '../../BrandFilterInput';
1
+ export interface Brand {
2
+ brandUuid: string;
3
+ brandName: string;
4
+ integrationType: string;
5
+ additionalData?: {
6
+ primaryColor?: string;
7
+ };
8
+ }
9
+ export interface BrandFilter {
10
+ value: string;
11
+ _raw: Brand;
12
+ }
2
13
  export interface TimeSeriesDataPoint {
3
14
  date: number;
4
15
  value: number;
@@ -13,4 +13,3 @@ export * from './Snackbar';
13
13
  export * from './Banners';
14
14
  export * from './Backdrop';
15
15
  export * from './Button';
16
- export * from './BrandFilterInput';
@@ -1 +1 @@
1
- "use strict";import{A as a,c as s,l as e,B as t,n,m as r,C as o,D as i,f as p,E as u,j as m,F as c,I as d,b as l,L as I,O as P,h as B,e as g,P as S,Q as h,R as k,S as f,d as C,k as T,T as b,g as y,a as A,V as F,i as L,t as R,u as D}from"../shared/index-Cs67MQjU.mjs";import{a as E,b as O,P as x,S as H}from"../shared/PageSectionHeader-DdpDhBZG.mjs";import{C as N,W as V,u as W}from"../shared/index-C1wV5bJ6.mjs";import{SnackbarProvider as v}from"notistack";export{a as AcceptTermsNotice,s as Alert,e as Backdrop,t as Banner,n as BrandFilterInput,r as Button,o as CredentialRequestsEditor,N as CustomAlertComponent,i as DateInput,p as DateRangeInput,u as EmailInput,m as ExactBirthdayBanner,c as FullWidthAlert,d as Image,l as LegalLink,I as LinkButton,P as OTPInput,B as OneClickForm,E as PageHeader,O as PageSectionHeader,x as Paragraph,g as PhoneInput,S as PrivacyPolicyNotice,h as QRCodeDisplay,k as ResendPhoneBanner,f as SSNInput,H as SectionHeader,C as SelectInput,v as SnackbarProvider,T as TestPhoneNumbersBanner,b as TextButton,y as TimezoneInput,A as Typography,F as VerifiedImage,L as VerifiedIncLogo,V as When,R as toOption,D as useBrandFilterInput,W as useSnackbar};
1
+ "use strict";import{A as a,c as s,l as e,B as r,m as t,C as n,D as o,f as i,E as p,j as m,F as c,I as u,b as d,L as P,O as l,h as I,e as g,P as B,Q as S,R as h,S as f,d as k,k as C,T,g as y,a as b,V as A,i as L}from"../shared/index-CW9F-W3V.mjs";import{a as R,P as E,S as N}from"../shared/PageHeader-x2k3H9mE.mjs";import{P as v}from"../shared/PageSectionHeader-BIozeXN1.mjs";import{C as x,W as D,u as F}from"../shared/index-C1wV5bJ6.mjs";import{SnackbarProvider as O}from"notistack";export{a as AcceptTermsNotice,s as Alert,e as Backdrop,r as Banner,t as Button,n as CredentialRequestsEditor,x as CustomAlertComponent,o as DateInput,i as DateRangeInput,p as EmailInput,m as ExactBirthdayBanner,c as FullWidthAlert,u as Image,d as LegalLink,P as LinkButton,l as OTPInput,I as OneClickForm,R as PageHeader,v as PageSectionHeader,E as Paragraph,g as PhoneInput,B as PrivacyPolicyNotice,S as QRCodeDisplay,h as ResendPhoneBanner,f as SSNInput,N as SectionHeader,k as SelectInput,O as SnackbarProvider,C as TestPhoneNumbersBanner,T as TextButton,y as TimezoneInput,b as Typography,A as VerifiedImage,L as VerifiedIncLogo,D as When,F as useSnackbar};
@@ -1 +1 @@
1
- "use strict";import{a,b as e,P as r,S as s}from"../../shared/PageSectionHeader-DdpDhBZG.mjs";export{a as PageHeader,e as PageSectionHeader,r as Paragraph,s as SectionHeader};
1
+ "use strict";import{a,P as e,S as r}from"../../shared/PageHeader-x2k3H9mE.mjs";import{P as o}from"../../shared/PageSectionHeader-BIozeXN1.mjs";export{a as PageHeader,o as PageSectionHeader,e as Paragraph,r as SectionHeader};
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- "use strict";import{A as e,c as t,l as r,B as o,n,m as i,C as m,D as u,f as l,E as c,j as d,F as p,I as h,b as f,L as S,O as g,h as C,e as k,P,Q as y,R as b,S as D,d as B,k as I,T,g as w,a as N,V as R,i as v,o as Y,q as F,r as O,w as x,p as A,s as G,t as L,u as M,v as W}from"./shared/index-Cs67MQjU.mjs";import{a as z,b as E,P as V,S as H}from"./shared/PageSectionHeader-DdpDhBZG.mjs";import{C as j,W as q,u as U}from"./shared/index-C1wV5bJ6.mjs";import{b as Q,d as $,a as K,j as X,u as Z,e as J,c as _,f as aa,g as sa,h as ea,i as ta}from"./shared/useIntersectionObserver-CbpWuEs0.mjs";import{u as ra}from"./shared/useCopyToClipboard-BALOSYVW.mjs";import{a as oa,u as na}from"./shared/useOnClickOutside-P5GTcgh8.mjs";import{u as ia}from"./shared/useCounter-BV32zXDQ.mjs";import{u as ma}from"./shared/usePrevious-DyvR1iCQ.mjs";import{b as ua,a as la,v as ca,e as da,d as pa,p as ha,u as fa,h as Sa,j as ga,g as Ca,o as ka,s as Pa,m as ya,c as ba,l as Da,n as Ba,q as Ia,f as Ta,i as wa,r as Na,z as Ra,t as va,x as Ya,k as Fa,w as Oa,y as xa}from"./shared/shadows-Dhd7FrwF.mjs";import{f as Aa,b as Ga,a as La,c as Ma,u as Wa}from"./shared/uuidColor-Dw38-aYm.mjs";import{masks as za}from"./utils/masks/index.mjs";import{toCapitalize as Ea,toSentenceCase as Va}from"./utils/string/index.mjs";import{k as Ha}from"./shared/formatKebabToPretty-Du43TgPC.mjs";import{M as ja,S as qa,U as Ua,d as Qa,e as $a,f as Ka,g as Xa,a as Za,s as Ja}from"./shared/unix.schema-CMYTtXco.mjs";import{p as _a}from"./shared/phone.schema-XBbyizhq.mjs";import{SnackbarProvider as as}from"notistack";async function ss(a){try{return[await a,null]}catch(s){return[null,s]}}const es=a=>a.replace(/(\d{3})-?(\d{2})-?(\d{4})/,"\u2022\u2022\u2022-\u2022\u2022-$3");export{e as AcceptTermsNotice,t as Alert,r as Backdrop,o as Banner,n as BrandFilterInput,i as Button,m as CredentialRequestsEditor,j as CustomAlertComponent,u as DateInput,l as DateRangeInput,c as EmailInput,d as ExactBirthdayBanner,p as FullWidthAlert,h as Image,f as LegalLink,S as LinkButton,ja as MaskedAndUnmaskedSSNSchema,g as OTPInput,C as OneClickForm,z as PageHeader,E as PageSectionHeader,V as Paragraph,k as PhoneInput,P as PrivacyPolicyNotice,y as QRCodeDisplay,b as ResendPhoneBanner,D as SSNInput,qa as SSNSchema,H as SectionHeader,B as SelectInput,as as SnackbarProvider,I as TestPhoneNumbersBanner,T as TextButton,w as TimezoneInput,N as Typography,Ua as USDateSchema,R as VerifiedImage,v as VerifiedIncLogo,q as When,ua as black,la as blue,ca as colors,Y as countries,da as darkBlue,pa as darkGreen,ha as darkGrey,fa as darkGreyContrast,Sa as darkRed,ga as darkYellow,Qa as descriptionSchema,$a as emailSchema,Ka as fieldSchema,Aa as formatDateMMDDYYYY,Ga as formatDateMMYY,La as formatDateToTimestamp,Ma as formatExtendedDate,Xa as getDateSchemaWithPastValidation,F as getPhoneData,O as getPhoneDataByFieldName,Za as getUnixSchema,Ca as green,ka as grey,Pa as greyContrast,ya as infoContrast,Ha as kebabCaseToPretty,ba as lightBlue,Da as lightGreen,Ba as lightGrey,Ia as lightGreyContrast,Ta as lightRed,wa as lightYellow,za as masks,x as omitProperties,A as parseToPhoneNational,_a as phoneSchema,Na as red,Ra as shadows,G as sortByCountryName,es as ssnFormatter,Ja as stateSchema,va as textDisabled,Ya as theme,Ea as toCapitalize,L as toOption,Va as toSentenceCase,M as useBrandFilterInput,Q as useCallbackRef,ra as useCopyToClipboard,ia as useCounter,$ as useDebounceValue,K as useDisclosure,X as useIntersectionObserver,Z as useLocalStorage,oa as useOnClickOutside,ma as usePrevious,na as useQRCode,J as useScript,_ as useSearchParams,U as useSnackbar,aa as useThrottle,sa as useToggle,ea as useWindowScroll,ta as useWindowSize,Wa as uuidToHashedColor,W as validatePhone,Fa as warningContrast,Oa as white,ss as wrapPromise,xa as yellow};
1
+ "use strict";import{A as e,c as t,l as r,B as o,m as i,C as n,D as m,f as u,E as l,j as c,F as d,I as p,b as h,L as f,O as S,h as g,e as C,P as k,Q as P,R as y,S as b,d as D,k as T,T as B,g as I,a as w,V as N,i as R,n as v,o as Y,q as x,r as A,p as G,s as L,v as M}from"./shared/index-CW9F-W3V.mjs";import{a as O,P as W,S as z}from"./shared/PageHeader-x2k3H9mE.mjs";import{P as E}from"./shared/PageSectionHeader-BIozeXN1.mjs";import{C as F,W as H,u as U}from"./shared/index-C1wV5bJ6.mjs";import{b as V,d as q,a as Q,j,u as $,e as J,c as K,f as Z,g as _,h as X,i as aa}from"./shared/useIntersectionObserver-CbpWuEs0.mjs";import{u as sa}from"./shared/useCopyToClipboard-BALOSYVW.mjs";import{a as ea,u as ta}from"./shared/useOnClickOutside-P5GTcgh8.mjs";import{u as ra}from"./shared/useCounter-BV32zXDQ.mjs";import{u as oa}from"./shared/usePrevious-DyvR1iCQ.mjs";import{b as ia,a as na,v as ma,e as ua,d as la,p as ca,u as da,h as pa,j as ha,g as fa,o as Sa,s as ga,m as Ca,c as ka,l as Pa,n as ya,q as ba,f as Da,i as Ta,r as Ba,z as Ia,t as wa,x as Na,k as Ra,w as va,y as Ya}from"./shared/shadows-Dhd7FrwF.mjs";import{f as xa,b as Aa,a as Ga,c as La,u as Ma}from"./shared/uuidColor-Dw38-aYm.mjs";import{masks as Oa}from"./utils/masks/index.mjs";import{toCapitalize as Wa,toSentenceCase as za}from"./utils/string/index.mjs";import{k as Ea}from"./shared/formatKebabToPretty-Du43TgPC.mjs";import{M as Fa,S as Ha,U as Ua,d as Va,e as qa,f as Qa,g as ja,a as $a,s as Ja}from"./shared/unix.schema-CMYTtXco.mjs";import{p as Ka}from"./shared/phone.schema-XBbyizhq.mjs";import{SnackbarProvider as Za}from"notistack";async function _a(a){try{return[await a,null]}catch(s){return[null,s]}}const Xa=a=>a.replace(/(\d{3})-?(\d{2})-?(\d{4})/,"\u2022\u2022\u2022-\u2022\u2022-$3");export{e as AcceptTermsNotice,t as Alert,r as Backdrop,o as Banner,i as Button,n as CredentialRequestsEditor,F as CustomAlertComponent,m as DateInput,u as DateRangeInput,l as EmailInput,c as ExactBirthdayBanner,d as FullWidthAlert,p as Image,h as LegalLink,f as LinkButton,Fa as MaskedAndUnmaskedSSNSchema,S as OTPInput,g as OneClickForm,O as PageHeader,E as PageSectionHeader,W as Paragraph,C as PhoneInput,k as PrivacyPolicyNotice,P as QRCodeDisplay,y as ResendPhoneBanner,b as SSNInput,Ha as SSNSchema,z as SectionHeader,D as SelectInput,Za as SnackbarProvider,T as TestPhoneNumbersBanner,B as TextButton,I as TimezoneInput,w as Typography,Ua as USDateSchema,N as VerifiedImage,R as VerifiedIncLogo,H as When,ia as black,na as blue,ma as colors,v as countries,ua as darkBlue,la as darkGreen,ca as darkGrey,da as darkGreyContrast,pa as darkRed,ha as darkYellow,Va as descriptionSchema,qa as emailSchema,Qa as fieldSchema,xa as formatDateMMDDYYYY,Aa as formatDateMMYY,Ga as formatDateToTimestamp,La as formatExtendedDate,ja as getDateSchemaWithPastValidation,Y as getPhoneData,x as getPhoneDataByFieldName,$a as getUnixSchema,fa as green,Sa as grey,ga as greyContrast,Ca as infoContrast,Ea as kebabCaseToPretty,ka as lightBlue,Pa as lightGreen,ya as lightGrey,ba as lightGreyContrast,Da as lightRed,Ta as lightYellow,Oa as masks,A as omitProperties,G as parseToPhoneNational,Ka as phoneSchema,Ba as red,Ia as shadows,L as sortByCountryName,Xa as ssnFormatter,Ja as stateSchema,wa as textDisabled,Na as theme,Wa as toCapitalize,za as toSentenceCase,V as useCallbackRef,sa as useCopyToClipboard,ra as useCounter,q as useDebounceValue,Q as useDisclosure,j as useIntersectionObserver,$ as useLocalStorage,ea as useOnClickOutside,oa as usePrevious,ta as useQRCode,J as useScript,K as useSearchParams,U as useSnackbar,Z as useThrottle,_ as useToggle,X as useWindowScroll,aa as useWindowSize,Ma as uuidToHashedColor,M as validatePhone,Ra as warningContrast,va as white,_a as wrapPromise,Ya as yellow};
@@ -0,0 +1 @@
1
+ "use strict";import{j as i}from"./jsx-runtime-DHlBLioN.mjs";import{Typography as r,Box as o,Stack as a}from"@mui/material";const s=({children:t,sx:n,...e})=>i.jsx(r,{variant:"body1",textAlign:"center",width:"100%",marginTop:2,sx:{...n,wordBreak:"break-word"},...e,children:t}),c=({children:t,...n})=>i.jsx(r,{variant:"h2",textAlign:"center",fontWeight:900,...n,children:t});function d(t){return i.jsxs(o,{sx:{mt:6.25},children:[i.jsxs(a,{direction:"row",alignItems:"center",spacing:1,sx:{"& button":{marginTop:"4px!important"}},children:[i.jsx(r,{variant:"h3",fontSize:50,fontWeight:"800",children:t.title}),t.titleRightChildren]}),!!t.description&&i.jsx(r,{variant:"h4",fontSize:30,fontWeight:"700",color:"text.disabled",children:t.description})]})}export{s as P,c as S,d as a};
@@ -0,0 +1 @@
1
+ "use strict";import{j as i}from"./jsx-runtime-DHlBLioN.mjs";import{Box as r,Stack as e,Typography as n}from"@mui/material";function o(t){return i.jsxs(r,{children:[i.jsxs(e,{direction:"row",alignItems:"center",spacing:1,children:[i.jsx(n,{variant:"h4",fontSize:34,fontWeight:"900",children:t.title}),t.titleRightChildren]}),!!t.description&&i.jsx(n,{variant:"h5",fontSize:24,fontWeight:"400",children:t.description})]})}export{o as P};