@verifiedinc-public/shared-ui-elements 12.4.0 → 12.4.1-beta.1
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.
- package/dist/components/chart/AreaChart/index.d.ts +13 -1
- package/dist/components/chart/AreaChart/index.mjs +1 -1
- package/dist/components/chart/BillableEventsProductTable/BillableEventsProductTable.mjs +1 -1
- package/dist/components/chart/BillableEventsTable/BillableEventsTable.mjs +1 -1
- package/dist/components/chart/BillableEventsTable/format.d.ts +6 -6
- package/dist/components/chart/BillableEventsTable/format.mjs +1 -1
- package/dist/components/chart/ConversionOverTimeChart/ConversionOverTimeChart.tooltip.d.ts +38 -0
- package/dist/components/chart/ConversionOverTimeChart/ConversionOverTimeChart.tooltip.mjs +1 -0
- package/dist/components/chart/ConversionOverTimeChart/index.d.ts +6 -0
- package/dist/components/chart/ConversionOverTimeChart/index.mjs +1 -1
- package/dist/components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.map.d.ts +10 -0
- package/dist/components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.map.mjs +1 -1
- package/dist/components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs +1 -1
- package/dist/components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.tooltip.d.ts +38 -0
- package/dist/components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.tooltip.mjs +1 -0
- package/dist/components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.types.d.ts +16 -0
- package/dist/components/chart/index.mjs +1 -1
- package/dist/components/chart/trend.d.ts +65 -0
- package/dist/components/chart/trend.mjs +1 -0
- package/dist/components/index.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,16 @@ export interface AreaSeriesChartData {
|
|
|
7
7
|
dataKey: string;
|
|
8
8
|
color?: string;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* A straight best-fit line drawn over the areas. Recharts' `AreaChart` accepts
|
|
12
|
+
* only `Area` children, which is why this renders a `ComposedChart`.
|
|
13
|
+
*/
|
|
14
|
+
export interface AreaTrendLine {
|
|
15
|
+
/** Column holding the fitted values. Must not collide with a series dataKey. */
|
|
16
|
+
dataKey: string;
|
|
17
|
+
color?: string;
|
|
18
|
+
name?: string;
|
|
19
|
+
}
|
|
10
20
|
interface AreaChartProps {
|
|
11
21
|
/**
|
|
12
22
|
* Chart data points. Each object should include the x-axis key and one key per series.
|
|
@@ -28,6 +38,8 @@ interface AreaChartProps {
|
|
|
28
38
|
tooltip?: ComponentProps<typeof Tooltip>;
|
|
29
39
|
/** Override props applied to every Area element in the chart. */
|
|
30
40
|
area?: ComponentProps<typeof Area>;
|
|
41
|
+
/** Straight best-fit overlays, drawn above the areas. */
|
|
42
|
+
trendLines?: AreaTrendLine[];
|
|
31
43
|
/** Reference lines to highlight specific values or thresholds. */
|
|
32
44
|
referenceLines?: Array<ComponentProps<typeof ReferenceLine>>;
|
|
33
45
|
/** Shaded reference areas to highlight specific ranges. */
|
|
@@ -40,5 +52,5 @@ interface AreaChartProps {
|
|
|
40
52
|
/** Stack mode for areas. 'none' renders independent areas; 'stack' stacks by count; 'expand' normalizes to 100%. @default 'none' */
|
|
41
53
|
stackMode?: 'none' | 'stack' | 'expand';
|
|
42
54
|
}
|
|
43
|
-
export declare function AreaChart({ data, series, color, xAxis, yAxis, tooltip, area, referenceLines, referenceAreas, sx, isAnimationActive, areaType, stackMode, }: AreaChartProps): ReactElement;
|
|
55
|
+
export declare function AreaChart({ data, series, color, xAxis, yAxis, tooltip, area, trendLines, referenceLines, referenceAreas, sx, isAnimationActive, areaType, stackMode, }: Readonly<AreaChartProps>): ReactElement;
|
|
44
56
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{useTheme as
|
|
1
|
+
"use strict";import{useTheme as D,Box as K}from"@mui/material";import{ResponsiveContainer as g,ComposedChart as O,CartesianGrid as T,XAxis as $,YAxis as L,Tooltip as P,ReferenceLine as R,ReferenceArea as W,Area as b,Line as j}from"recharts";import{chartDefaultProps as G,xAxisDefaultProps as w,yAxisDefaultProps as B}from"../shared.mjs";import{jsx as a,jsxs as y}from"react/jsx-runtime";function I({data:f,series:n,color:x,xAxis:h,yAxis:A,tooltip:k,area:u,trendLines:l,referenceLines:d,referenceAreas:p,sx:v,isAnimationActive:c=!1,areaType:C="monotone",stackMode:s="none"}){const m=D(),i=x??m.palette.primary.main;return a(K,{sx:{width:"100%",height:"100%",...v},children:a(g,{children:y(O,{data:f,stackOffset:s==="expand"?"expand":void 0,...G,children:[a("defs",{children:n.map((e,r)=>{const t=`gradient-${r}`,o=e.color??i;return y("linearGradient",{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[a("stop",{offset:"5%",stopColor:o,stopOpacity:.2}),a("stop",{offset:"95%",stopColor:o,stopOpacity:0})]},t)})}),a(T,{strokeDasharray:"3 3",vertical:!1}),a($,{...w,...h}),a(L,{...B,...A}),a(P,{cursor:{stroke:m.palette.neutral.main,strokeWidth:1},...k}),d?.map((e,r)=>a(R,{...e},e.label??r)),p?.map((e,r)=>a(W,{...e},e.label??r)),n.map((e,r)=>{const t=`gradient-${r}`,o=e.color??i;return a(b,{name:e.key,dataKey:e.dataKey,fill:`url(#${t})`,fillOpacity:s!=="none"?1:.6,stroke:o,strokeWidth:2,type:C,isAnimationActive:c,stackId:s!=="none"?"stack":void 0,...u},e.key)}),l?.map(e=>a(j,{dataKey:e.dataKey,name:e.name??e.dataKey,stroke:e.color??i,strokeWidth:2,strokeDasharray:"7 5",type:"linear",dot:!1,activeDot:!1,isAnimationActive:c,legendType:"none"},`trend-${e.dataKey}`))]})})})}export{I as AreaChart};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{TableContainer as
|
|
1
|
+
"use strict";import{TableContainer as k,Paper as x,Table as C,TableHead as S,TableRow as h,TableCell as e,TableBody as T,TableSortLabel as U}from"@mui/material";import{useMemo as b}from"react";import{EmptyChartSection as v}from"../EmptyChartSection.mjs";import{LoadingChartSection as D}from"../LoadingChartSection.mjs";import{BILLABLE_PRODUCTS as L}from"../BillableEventsTable/BillableEventsTable.types.mjs";import{formatBillableMetric as P}from"../BillableEventsTable/format.mjs";import{useBillableSort as E}from"../BillableEventsTable/useBillableSort.hook.mjs";import{CopyableUuid as I}from"../../CopyableUuid/index.mjs";import{white as j}from"../../../styles/colors.mjs";import{jsx as r,jsxs as t}from"react/jsx-runtime";const w=["brand"],R=({data:i,isLoading:p,isFetching:u,product:s,columnSlots:l})=>{const{sortKey:d,sortDir:f,handleSort:g,sortedData:y}=E(i,w,"brand"),n=b(()=>L.find(a=>a.product===s),[s]),c=b(()=>n?.columns??[],[n]),m=(a,o,B="left")=>r(U,{active:d===a,direction:d===a?f:"asc",onClick:()=>g(a),sx:B==="right"?{flexDirection:"row"}:void 0,children:o});return!(i!=null&&i.length)&&p?r(D,{}):i!=null&&i.length?r(k,{component:x,sx:{opacity:u?.4:1},children:t(C,{sx:{backgroundColor:j},children:[r(S,{children:t(h,{children:[r(e,{children:m("brand","Brand Name")}),r(e,{children:"Brand UUID"}),c.map(a=>r(e,{align:"right",children:m(a.key,a.label,"right")},a.key))]})}),r(T,{children:y.map(a=>t(h,{children:[r(e,{children:a.brand}),r(e,{children:r(I,{uuid:a.brandUuid,label:"Brand UUID",variant:"button",head:6,tail:0,mono:!1,iconSx:{color:"success.main"},typographyProps:{variant:"inherit",color:"inherit"}})}),c.map(o=>r(e,{align:"right",children:l!=null&&l[o.key]?l[o.key](a):P(a.metrics[o.key])},o.key))]},a.brandUuid))})]})}):r(v,{})};export{R as BillableEventsProductTable};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{TableContainer as
|
|
1
|
+
"use strict";import{TableContainer as L,Paper as P,Table as D,TableHead as N,TableRow as m,TableCell as l,TableBody as E,TableSortLabel as j}from"@mui/material";import{useState as M,useEffect as F,useMemo as y,Fragment as O}from"react";import{EmptyChartSection as R}from"../EmptyChartSection.mjs";import{LoadingChartSection as A}from"../LoadingChartSection.mjs";import{BillableProduct as H,BILLABLE_PRODUCTS as I}from"./BillableEventsTable.types.mjs";import{BrandDetailsPanel as K}from"./BrandDetailsPanel.mjs";import{formatBillableMetric as S}from"./format.mjs";import{useBillableSort as W}from"./useBillableSort.hook.mjs";import{white as _}from"../../../styles/colors.mjs";import{jsx as e,jsxs as s}from"react/jsx-runtime";const q=["customerName","brand"],z=({data:t,isLoading:C,isFetching:v,visibleProducts:f,onSortedDataChange:u,columnSlots:a,topLevelColumns:i=[],showCustomerColumn:c=!0})=>{const{sortKey:k,sortDir:x,handleSort:B,sortedData:h}=W(t,q,"brand"),[T,U]=M(null);F(()=>{u?.(h)},[h,u]);const p=y(()=>{const r=f??Object.values(H);return I.filter(o=>r.includes(o.product))},[f]),b=y(()=>new Set(i.map(r=>r.key)),[i]),g=y(()=>p.flatMap(r=>r.columns).filter(r=>!b.has(r.key)),[p,b]),w=1+(c?1:0)+i.length+g.length,d=(r,o,n="left")=>e(j,{active:k===r,direction:k===r?x:"asc",onClick:()=>B(r),sx:n==="right"?{flexDirection:"row"}:void 0,children:o});return!(t!=null&&t.length)&&C?e(A,{}):t!=null&&t.length?e(L,{component:P,sx:{opacity:v?.4:1},children:s(D,{sx:{backgroundColor:_},children:[s(N,{children:[s(m,{children:[c&&e(l,{rowSpan:2,children:d("customerName","Customer Name")}),e(l,{rowSpan:2,children:d("brand","Brand Name")}),i.map(r=>e(l,{rowSpan:2,children:d(r.key,r.label)},r.key)),p.map(r=>{const o=r.columns.filter(n=>!b.has(n.key)).length;return o===0?null:e(l,{colSpan:o,align:"center",sx:{fontWeight:"bold",borderBottom:"none"},children:r.label},r.product)})]}),e(m,{children:g.map(r=>e(l,{align:"right",children:d(r.key,r.label,"right")},r.key))})]}),e(E,{children:h.map(r=>{const o=T===r.brandUuid;return s(O,{children:[s(m,{hover:!0,onClick:()=>U(o?null:r.brandUuid),sx:{cursor:"pointer","& > td":{borderBottom:o?"none":void 0}},children:[c&&e(l,{children:r.customerName??"\u2014"}),e(l,{children:r.brand}),i.map(n=>e(l,{children:a!=null&&a[n.key]?a[n.key](r):S(r.metrics[n.key])},n.key)),g.map(n=>e(l,{align:"right",children:a!=null&&a[n.key]?a[n.key](r):S(r.metrics[n.key])},n.key))]}),o&&e(m,{children:e(l,{colSpan:w,sx:{py:0,px:0,borderTop:"none",bgcolor:"grey.50"},children:e(K,{brandUuid:r.brandUuid,customerUuid:c?r.customerUuid:void 0,challengePrompts:r.challengePrompts,providers:r.providers})})})]},r.brandUuid)})})]})}):e(R,{})};export{z as BillableEventsTable};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Display formatters for brand-settings panel content.
|
|
3
|
-
*
|
|
4
|
-
* Each map uses lookup-and-fallback so a new enum member shows its raw
|
|
5
|
-
* value rather than breaking compilation.
|
|
6
|
-
*/
|
|
7
1
|
export declare function formatChallengeInput(type: string): string;
|
|
8
2
|
export declare function formatPromptForChallenge(prompt: string): string;
|
|
9
3
|
export declare function formatHealthDataProviderMode(mode: string): string;
|
|
4
|
+
/**
|
|
5
|
+
* Single definition of how a billable event count is displayed, so every
|
|
6
|
+
* column of every billable table (including the ones consumers render
|
|
7
|
+
* through `columnSlots` or their own DataTable columns) reads the same.
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatBillableMetric(value: number | undefined): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e={birthDate:"Birth Date",ssn4:"SSN4","fullName.firstName":"First Name"},
|
|
1
|
+
"use strict";import{formatNumberRounded as r}from"../../../utils/number/formatters.mjs";const e={birthDate:"Birth Date",ssn4:"SSN4","fullName.firstName":"First Name"},t={always:"always",ifNecessary:"if necessary"},l={fallback:"Fallback",parallel:"Parallel"};function n(a){return e[a]??a}function o(a){return t[a]??a}function s(a){return l[a]??a}function f(a){return r(a??0)}export{f as formatBillableMetric,n as formatChallengeInput,s as formatHealthDataProviderMode,o as formatPromptForChallenge};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { MetricsIntervalType } from '../../../constants/metrics';
|
|
3
|
+
export interface TrendReadout {
|
|
4
|
+
/** Series label the fit belongs to. */
|
|
5
|
+
name: string;
|
|
6
|
+
color?: string;
|
|
7
|
+
/** Change per interval bucket, already in display units. */
|
|
8
|
+
slope: number;
|
|
9
|
+
stepMs: number;
|
|
10
|
+
}
|
|
11
|
+
interface PayloadEntry {
|
|
12
|
+
dataKey?: string | number;
|
|
13
|
+
name?: string | number;
|
|
14
|
+
value?: number | string;
|
|
15
|
+
color?: string;
|
|
16
|
+
payload?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
interface ConversionChartTooltipProps {
|
|
19
|
+
/** Keys of the fitted columns, excluded from the value rows. */
|
|
20
|
+
trendDataKeys: string[];
|
|
21
|
+
/** One entry per fitted series; empty when the trend is off. */
|
|
22
|
+
trends: TrendReadout[];
|
|
23
|
+
interval?: MetricsIntervalType;
|
|
24
|
+
unit: 'count' | 'percent';
|
|
25
|
+
sortByValueDesc: boolean;
|
|
26
|
+
valueFormatter: (value: number | string, name: string | number, entry: PayloadEntry) => string;
|
|
27
|
+
labelFormatter: (label: number) => string;
|
|
28
|
+
/** Injected by Recharts. */
|
|
29
|
+
active?: boolean;
|
|
30
|
+
payload?: PayloadEntry[];
|
|
31
|
+
label?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Tooltip for the funnel charts. Mirrors the stock Recharts layout so nothing
|
|
35
|
+
* shifts visually, then adds one slope row per fitted stage underneath.
|
|
36
|
+
*/
|
|
37
|
+
export declare function ConversionChartTooltip({ trendDataKeys, trends, interval, unit, sortByValueDesc, valueFormatter, labelFormatter, active, payload, label, }: Readonly<ConversionChartTooltipProps>): React.ReactNode;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{Box as s,Typography as e,Stack as v}from"@mui/material";import{formatSlope as y}from"../trend.mjs";import{jsxs as i,jsx as t}from"react/jsx-runtime";const o={fontSize:"0.875rem",lineHeight:1.5};function S({trendDataKeys:d,trends:a,interval:p,unit:m,sortByValueDesc:c,valueFormatter:u,labelFormatter:h,active:b,payload:n,label:x}){if(!b||!(n!=null&&n.length))return null;const l=n.filter(r=>r.dataKey!=null&&!d.includes(String(r.dataKey))),g=c?[...l].sort((r,f)=>Number(f.value??0)-Number(r.value??0)):l;return i(s,{sx:{bgcolor:"background.paper",border:"1px solid",borderColor:"divider",borderRadius:1,boxShadow:3,px:1.5,py:1.25,maxWidth:360},children:[t(e,{sx:{...o,fontWeight:700,mb:.5},children:h(Number(x))}),g.map(r=>i(e,{sx:{...o,color:r.color??"inherit"},children:[String(r.name??r.dataKey)," :"," ",u(r.value??0,r.name??"",r)]},String(r.dataKey))),a.length>0&&t(s,{sx:{mt:.75,pt:.75,borderTop:"1px solid",borderColor:"divider"},children:a.map(r=>i(v,{direction:"row",spacing:2,sx:{justifyContent:"space-between"},children:[t(e,{sx:{...o,fontWeight:700},children:a.length>1?`Trend (${r.name})`:"Trend"}),t(e,{sx:{...o,fontWeight:700},children:y(r.slope,{unit:m,interval:p,stepMs:r.stepMs})})]},r.name))})]})}export{S as ConversionChartTooltip};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { SxProps } from '@mui/material';
|
|
3
3
|
import { AreaSeriesChartData } from '../AreaChart';
|
|
4
|
+
import { MetricsIntervalType } from '../../../constants/metrics';
|
|
4
5
|
import { BrandFilter } from '../../BrandFilterInput';
|
|
5
6
|
export type { AreaSeriesChartData } from '../AreaChart';
|
|
6
7
|
type ViewMode = 'absolute' | 'percent';
|
|
@@ -79,6 +80,11 @@ export interface ConversionOverTimeChartProps {
|
|
|
79
80
|
filter: {
|
|
80
81
|
timezone?: string;
|
|
81
82
|
brands?: BrandFilter[];
|
|
83
|
+
/**
|
|
84
|
+
* The selected bucket size. The trend readout reports its slope per this
|
|
85
|
+
* interval; when omitted it is named from the spacing in the data.
|
|
86
|
+
*/
|
|
87
|
+
interval?: MetricsIntervalType;
|
|
82
88
|
};
|
|
83
89
|
sx?: SxProps;
|
|
84
90
|
stackMode?: 'stack' | 'none';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{useState as
|
|
1
|
+
"use strict";import{useState as I}from"react";import{Stack as V,Box as de,ToggleButton as D,ToggleButtonGroup as ue}from"@mui/material";import{EmptyChartSection as O}from"../EmptyChartSection.mjs";import{LoadingChartSection as W}from"../LoadingChartSection.mjs";import{AreaChart as me}from"../AreaChart/index.mjs";import{ConversionChartTooltip as ce}from"./ConversionOverTimeChart.tooltip.mjs";import{trendSeries as pe}from"../trend.mjs";import{SeriesPercentageChartLegend as fe}from"../SeriesPercentageChartLegend/index.mjs";import{useStyle as he}from"../styles.mjs";import{formatExtendedDate as Y,formatDateMMYY as ye}from"../../../utils/date.mjs";import{DEFAULT_TIMEZONE as ve}from"../../form/TimezoneInput/timezones.mjs";import{jsx as s,jsxs as M}from"react/jsx-runtime";const F="__trend_";function G(h,d,u){return h.map(i=>{const m=u==="sum"?d.reduce((r,c)=>r+(Number(i[c.dataKey])||0),0):Math.max(0,...d.map(r=>Number(i[r.dataKey])||0)),o={date:i.date};for(const r of d)o[r.dataKey]=m===0?0:(Number(i[r.dataKey])||0)/m;return o})}function ge({brands:h,data:d,seriesConfig:u}){const i=new Map,m=h?new Set(h.map(o=>o._raw.brandUuid)):null;for(const o of d)if(!(m&&!m.has(o.brandUuid)))for(const r of o.interval??[]){const c=+new Date(r.date);let n=i.get(c);if(!n){n={date:c};for(const p of u)n[p.dataKey]=0;i.set(c,n)}for(const p of u)n[p.dataKey]=n[p.dataKey]+Number(r[p.dataKey]||0)}return{series:u,data:Array.from(i.values()).sort((o,r)=>o.date-r.date)}}function be({data:h,series:d,chartData:u,seriesConfig:i,stackMode:m="stack",isLoading:o,isFetching:r,isSuccess:c,filter:n,sx:p,legendBrand:f,showLegendUuid:H=!0,views:$,defaultViewKey:J,extraToggles:L,percentBasis:Q="max",sortTooltipByValueDesc:B=!1}){var T;const A=he(),C=n.timezone??ve,x=$??[{key:"absolute",label:"Numbers",mode:"absolute"},{key:"percent",label:"Percentages",mode:"percent"}],[z,R]=I(J??((T=x[0])==null?void 0:T.key)??"absolute"),[v,q]=I(!1),a=x.find(e=>e.key===z)??x[0],g=a?.mode??"absolute",N=a?.stackMode??m,X=a?.percentBasis??Q,E=a?.chartData??u,ee=a?.seriesConfig??i,ae=a?.data??h,te=a?.series??d,l=E!==void 0?o?{series:[],data:[]}:ge({brands:n.brands,data:E,seriesConfig:ee??[]}):{series:te??[],data:ae??[]},P=!l.data.length||!c,U=!l.data.length&&o;if(!$){if(U)return s(W,{});if(P)return s(O,{})}const re=N==="none"&&g==="percent"?G(l.data,l.series,X):null,_=N==="stack"?g==="absolute"?"stack":"expand":"none",oe=g==="absolute"?{tickFormatter:e=>Number(e).toLocaleString(),allowDecimals:!1}:{tickFormatter:e=>`${(e*100).toFixed(0)}%`,domain:[0,1]},Z=g==="absolute"?e=>Number(e).toLocaleString():N==="stack"?(e,t,y)=>{const K=l.series.reduce((w,le)=>w+(Number(y.payload[le.dataKey])||0),0);return K===0?"0.0%":`${(Number(e)/K*100).toFixed(1)}%`}:e=>`${(Number(e)*100).toFixed(1)}%`,ne=B?e=>-(Number(e?.value)||0):void 0,k=re??l.data,S=g==="percent",j=_==="none"&&k.length>1,b=j?l.series.map(e=>{const t=pe(k,e.dataKey,{clampTo:S?[0,1]:void 0,interval:n.interval});return t?{serie:e,fit:t}:null}).filter(e=>e!==null):[],se=b.map(({serie:e})=>`${F}${e.dataKey}`),ie=v&&b.length?k.map((e,t)=>{const y={...e};for(const{serie:K,fit:w}of b)y[`${F}${K.dataKey}`]=w.values[t];return y}):k;return M(V,{children:[M(de,{sx:{display:"flex",flexDirection:"column",gap:1,height:A.regularChartWrapper.height},children:[M(V,{direction:"row",spacing:1,justifyContent:"flex-end",children:[j&&s(D,{value:"trend",selected:v,onChange:()=>q(e=>!e),size:"small","aria-label":"Show trend line","aria-pressed":v,children:"Show Trend"}),L?.map(e=>s(D,{value:e.id,selected:e.selected,onChange:()=>e.onChange(!e.selected),size:"small","aria-label":e.ariaLabel??e.label,"aria-pressed":e.selected,children:e.label},e.id)),s(ue,{value:z,exclusive:!0,onChange:(e,t)=>{t!==null&&R(t)},size:"small",children:x.map(e=>s(D,{value:e.key,children:e.label},e.key))})]}),U?s(W,{}):P?s(O,{}):s(me,{data:ie,series:l.series,trendLines:v?b.map(({serie:e})=>({dataKey:`${F}${e.dataKey}`,color:e.color,name:`${e.key} trend`})):void 0,stackMode:_,isAnimationActive:!0,xAxis:{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:e=>ye(e,{timeZone:C,hour12:!1,hour:"numeric"}),allowDuplicatedCategory:!1},yAxis:oe,tooltip:{formatter:Z,itemSorter:ne,labelFormatter:e=>Y(e,{timeZone:C,hour12:!1}),content:s(ce,{trendDataKeys:se,trends:v?b.map(({serie:e,fit:t})=>({name:e.key,color:e.color,slope:S?t.slopePerInterval*100:t.slopePerInterval,stepMs:t.stepMs})):[],interval:n.interval,unit:S?"percent":"count",sortByValueDesc:B,valueFormatter:(e,t,y)=>Z(e,t,y),labelFormatter:e=>Y(e,{timeZone:C,hour12:!1})})},sx:{...A.regularChartWrapper,height:"unset",flex:1,minHeight:0,opacity:r?.4:1,...p}})]}),f&&s(fe,{payload:[{uuid:f.uuid,value:f.value,color:f.color,dataKey:f.dataKey??f.uuid,brandName:f.brandName}],showUuid:H})]})}export{be as ConversionOverTimeChart,G as normalizePercentData};
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { BrandFilter } from '../../../components/BrandFilterInput';
|
|
2
2
|
import { BrandIntervalData } from '../ConversionOverTimeChart';
|
|
3
3
|
import { SubChartConfig, SynchronizedSubChartConfig } from './SynchronizedMetricsChart.types';
|
|
4
|
+
/**
|
|
5
|
+
* Overall rate per timestamp across the visible brands, pooling the raw counts
|
|
6
|
+
* before dividing. Exported for testing.
|
|
7
|
+
*/
|
|
8
|
+
export declare function pooledPercentageByDate({ chartData, brands, numerator, denominator, }: {
|
|
9
|
+
chartData: BrandIntervalData[];
|
|
10
|
+
brands: BrandFilter[];
|
|
11
|
+
numerator: string;
|
|
12
|
+
denominator: string;
|
|
13
|
+
}): Record<number, number>;
|
|
4
14
|
export declare function mapSynchronizedSubCharts({ chartData, subChartConfig, brands, colorMap, isLoading, }: {
|
|
5
15
|
chartData: BrandIntervalData[];
|
|
6
16
|
subChartConfig: readonly [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{mapSeriesTimeSeriesData as
|
|
1
|
+
"use strict";import{mapSeriesTimeSeriesData as l}from"../SeriesChart/SeriesChart.map.mjs";function p({chartData:o,brands:i,numerator:m,denominator:d}){const u=new Set(i.map(e=>e._raw.brandUuid)),r=new Map;for(const e of o)if(u.has(e.brandUuid))for(const a of e.interval??[]){const s=+new Date(a.date),n=r.get(s)??{numerator:0,denominator:0};n.numerator+=Number(a[m])||0,n.denominator+=Number(a[d])||0,r.set(s,n)}const t={};for(const[e,a]of r)t[e]=a.denominator>0?Math.min(a.numerator/a.denominator*100,100):0;return t}function y({chartData:o,subChartConfig:i,brands:m,colorMap:d,isLoading:u}){if(u)return[{title:i[0].title,data:[]}];const r={brands:m,colorMap:d,data:o};return i.map(t=>{if(t.dataKey!=null)return{title:t.title,data:l({...r,keyValue:t.dataKey}),tooltipFormatter:t.tooltipFormatter,yAxisTickFormatter:t.yAxisTickFormatter,yAxisDomain:t.yAxisDomain,isPercentage:!1};const{numerator:e,denominator:a}=t.percentageOf,s=o.map(n=>({...n,interval:(n.interval??[]).map(c=>({...c,percentage:Number(c[a])>0?Math.min(Number(c[e])/Number(c[a])*100,100):0}))}));return{title:t.title,data:l({...r,data:s,keyValue:"percentage"}),tooltipFormatter:t.tooltipFormatter,yAxisTickFormatter:t.yAxisTickFormatter,yAxisDomain:t.yAxisDomain,isPercentage:!0,totalByDate:p({chartData:o,brands:m,numerator:e,denominator:a})}})}export{y as mapSynchronizedSubCharts,p as pooledPercentageByDate};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{useState as
|
|
1
|
+
"use strict";import{useState as _,useMemo as b}from"react";import{Stack as C,ToggleButton as P,useTheme as U,Typography as O}from"@mui/material";import{ResponsiveContainer as Z,LineChart as G,CartesianGrid as R,XAxis as X,YAxis as q,Tooltip as H,Line as I}from"recharts";import{formatDateMMYY as J}from"../../../utils/date.mjs";import{DEFAULT_TIMEZONE as Q}from"../../form/TimezoneInput/timezones.mjs";import{EmptyChartSection as V}from"../EmptyChartSection.mjs";import{LoadingChartSection as $}from"../LoadingChartSection.mjs";import{SeriesPercentageChartLegend as ee}from"../SeriesPercentageChartLegend/index.mjs";import{chartDefaultProps as te,xAxisDefaultProps as ae,yAxisDefaultProps as re}from"../shared.mjs";import{mapSynchronizedSubCharts as oe}from"./SynchronizedMetricsChart.map.mjs";import{SynchronizedChartTooltip as ne}from"./SynchronizedMetricsChart.tooltip.mjs";import{trendSeries as ie}from"../trend.mjs";import{jsx as t,jsxs as x}from"react/jsx-runtime";import se from"../../../node_modules/d3-scale/src/symlog.mjs";const le="synchronized-metrics",de=200,u="__total__",ce="Total",k="__trend__",me="Trend";function ue(o){return!o.isPercentage||o.totalByDate?u:o.data.length===1?o.data[0].uuid:null}function E(o){const a=new Map;for(const i of o)for(const n of i.chartData){let d=a.get(n.date);d||(d={date:n.date},a.set(n.date,d)),d[i.uuid]=n.value}return Array.from(a.values()).sort((i,n)=>i.date-n.date)}const pe=u;function W(o,a){return a.length?o.map(i=>({...i,[u]:a.reduce((n,d)=>n+(Number(i[d])||0),0)})):o}function he({title:o,mergedData:a,brands:i,timezone:n,syncId:d,isPercentage:c,showTotal:z,showTrend:p,trendTarget:m,interval:f,logScale:w,tooltipFormatter:T,yAxisTickFormatter:L,yAxisDomain:v}){const h=U(),S=w&&!c,F=z&&!c&&i.length>1,s=S?se():void 0,l=b(()=>m?ie(a,m,{clampTo:c?[0,100]:void 0,interval:f}):null,[a,m,c,f]),M=b(()=>{if(!p||!l)return a;const r=a.length-1;return a.map((D,g)=>({...D,...g===0||g===r?{[k]:l.values[g]}:{}}))},[a,p,l]);return x(C,{children:[t(O,{variant:"h5",sx:{mb:.5,fontSize:"1.15rem"},children:o}),t(Z,{width:"100%",height:de,children:x(G,{data:M,syncId:d,margin:te.margin,children:[t(R,{vertical:!1}),t(X,{dataKey:"date",tickFormatter:r=>J(r,{timeZone:n,hour12:!1,hour:"numeric"}),...ae}),t(q,{tickFormatter:L??(r=>Number(r).toLocaleString()),allowDecimals:!1,domain:v,scale:s,...re}),t(H,{cursor:{stroke:h.palette.neutral.main,strokeWidth:1},wrapperStyle:{zIndex:h.zIndex.tooltip},content:t(ne,{timezone:n,totalDataKey:u,trendDataKey:k,trendSlope:p?l?.slopePerInterval:void 0,trendStepMs:l?.stepMs,trendInterval:f,trendUnit:c?"percent":"count",valueFormatter:T??(r=>Number(r).toLocaleString())})}),i.map(r=>t(I,{dataKey:r.uuid,name:r.name,stroke:r.color,type:"monotone",strokeWidth:2,isAnimationActive:!1,dot:!1},r.uuid)),F&&t(I,{dataKey:u,name:ce,stroke:h.palette.text.primary,strokeWidth:2,strokeDasharray:"4 4",type:"monotone",isAnimationActive:!1,dot:!1},u),p&&l&&t(I,{dataKey:k,name:me,connectNulls:!0,stroke:h.palette.secondary.main,strokeWidth:2,strokeDasharray:"7 5",type:"linear",isAnimationActive:!1,dot:!1,activeDot:!1,legendType:"none"},k)]})})]})}function ge({subCharts:o,chartData:a,subChartConfig:i,colorMap:n,syncId:d=le,isLoading:c,isSuccess:z,isFetching:p,filter:m,sx:f}){const w=m.timezone??Q,[T,L]=_(!1),[v,h]=_(!1),[S,F]=_(!1),s=a?oe({chartData:a,subChartConfig:i,brands:m.brands,colorMap:n,isLoading:c}):o,l=s.every(e=>e.data.length===0),M=b(()=>s.map(e=>{const y=E(e.data);if(e.isPercentage){const A=e.totalByDate;return A?y.map(N=>({...N,[u]:A[N.date]??0})):y}const B=e.data.map(A=>A.uuid);return W(y,B)}),[s]),r=s.some(e=>!e.isPercentage),D=s.some(e=>!e.isPercentage&&e.data.length>1),g=s.map(e=>ue(e)),K=g.some(e=>e!==null),Y=b(()=>s[0].data.map(e=>({uuid:e.brandUuid??e.uuid,value:e.name,color:e.color,dataKey:e.uuid,brandName:e.brandName})),[s]);if(l&&c)return t($,{});if(l||!z)return t(V,{});const j=r||D||K;return x(C,{sx:{width:"100%",...f},children:[j&&x(C,{direction:"row",spacing:1,justifyContent:"flex-end",sx:{mb:1},children:[D&&t(P,{value:"total",selected:T,onChange:()=>L(e=>!e),size:"small","aria-label":"Show Total line","aria-pressed":T,children:"Show Total"}),K&&t(P,{value:"trend",selected:v,onChange:()=>h(e=>!e),size:"small","aria-label":"Show trend line","aria-pressed":v,children:"Show Trend"}),r&&t(P,{value:"log",selected:S,onChange:()=>F(e=>!e),size:"small","aria-label":"Toggle logarithmic scale","aria-pressed":S,children:"Log Scale"})]}),x(C,{sx:{opacity:p?.4:1,gap:2},children:[s.map((e,y)=>t(he,{title:e.title,mergedData:M[y],brands:e.data,timezone:w,syncId:d,isPercentage:e.isPercentage??!1,showTotal:T,showTrend:v,trendTarget:g[y],interval:m.interval,logScale:S,tooltipFormatter:e.tooltipFormatter,yAxisTickFormatter:e.yAxisTickFormatter,yAxisDomain:e.yAxisDomain},e.title)),t(ee,{payload:Y})]})]})}export{ge as SynchronizedMetricsChart,pe as TOTAL_DATA_KEY,W as enrichWithTotal,E as mergeChartData};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { MetricsIntervalType } from '../../../constants/metrics';
|
|
3
|
+
/**
|
|
4
|
+
* Brand rows rendered before the remainder is collapsed into a count. Sized so
|
|
5
|
+
* the tallest column stays within a sub-chart's height.
|
|
6
|
+
*/
|
|
7
|
+
export declare const TOOLTIP_BRAND_CAP = 24;
|
|
8
|
+
interface PayloadEntry {
|
|
9
|
+
dataKey?: string | number;
|
|
10
|
+
name?: string | number;
|
|
11
|
+
value?: number | string;
|
|
12
|
+
color?: string;
|
|
13
|
+
}
|
|
14
|
+
interface SynchronizedChartTooltipProps {
|
|
15
|
+
timezone: string;
|
|
16
|
+
totalDataKey: string;
|
|
17
|
+
/** Excluded from the ranked rows; reported as a slope instead. */
|
|
18
|
+
trendDataKey: string;
|
|
19
|
+
/** Change per interval bucket. Undefined when the trend is off. */
|
|
20
|
+
trendSlope?: number;
|
|
21
|
+
/** Measured bucket spacing, used to name the interval if it isn't given. */
|
|
22
|
+
trendStepMs?: number;
|
|
23
|
+
trendInterval?: MetricsIntervalType;
|
|
24
|
+
trendUnit: 'count' | 'percent';
|
|
25
|
+
valueFormatter: (value: number | string) => string;
|
|
26
|
+
/** Injected by Recharts. */
|
|
27
|
+
active?: boolean;
|
|
28
|
+
payload?: PayloadEntry[];
|
|
29
|
+
label?: number | string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Tooltip for a synchronized sub-chart. Ranks brands by their value at the
|
|
33
|
+
* hovered point, lays them out in columns and caps the list, so a chart with
|
|
34
|
+
* every brand selected stays readable inside its own height instead of running
|
|
35
|
+
* over the charts below it.
|
|
36
|
+
*/
|
|
37
|
+
export declare function SynchronizedChartTooltip({ timezone, totalDataKey, trendDataKey, trendSlope, trendStepMs, trendInterval, trendUnit, valueFormatter, active, payload, label, }: Readonly<SynchronizedChartTooltipProps>): React.ReactNode;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{Box as m,Typography as o,Stack as g}from"@mui/material";import{formatExtendedDate as W}from"../../../utils/date.mjs";import{formatSlope as K}from"../trend.mjs";import{jsxs as i,jsx as r}from"react/jsx-runtime";const b=24,z=8,j=16;function B(t){return t<=z?1:t<=j?2:3}const a={fontSize:"0.8125rem",lineHeight:1.4};function y({row:t,bold:n,valueFormatter:l}){return i(g,{direction:"row",spacing:1.5,sx:{minWidth:0,alignItems:"baseline",justifyContent:"space-between",color:t.color},children:[r(o,{component:"span",sx:{...a,fontWeight:n?700:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.name}),r(o,{component:"span",sx:{...a,fontWeight:700,flexShrink:0},children:l(t.value??0)})]})}function D({timezone:t,totalDataKey:n,trendDataKey:l,trendSlope:p,trendStepMs:v,trendInterval:S,trendUnit:w,valueFormatter:c,active:k,payload:d,label:C}){if(!k||!(d!=null&&d.length))return null;const h=d.filter(e=>e.dataKey!=null&&e.dataKey!==l).map(e=>({key:String(e.dataKey),name:String(e.name??e.dataKey),color:e.color??"inherit",value:e.value??0})).sort((e,T)=>Number(T.value)-Number(e.value)),u=h.find(e=>e.key===n),f=h.filter(e=>e.key!==n),s=f.slice(0,b),x=f.length-s.length;return i(m,{sx:{bgcolor:"background.paper",border:"1px solid",borderColor:"divider",borderRadius:1,boxShadow:3,px:1.25,py:1,maxWidth:560},children:[r(o,{sx:{fontSize:"0.8125rem",lineHeight:1.4,fontWeight:700,mb:.5},children:W(C??0,{timeZone:t,hour12:!1})}),u&&r(m,{sx:{pb:.5,mb:.5,borderBottom:"1px solid",borderColor:"divider"},children:r(y,{row:u,bold:!0,valueFormatter:c})}),r(m,{sx:{display:"grid",gridTemplateColumns:`repeat(${B(s.length)}, minmax(0, 1fr))`,columnGap:2},children:s.map(e=>r(y,{row:e,valueFormatter:c},e.key))}),x>0&&i(o,{sx:{fontSize:"0.75rem",lineHeight:1.4,color:"text.secondary",mt:.5},children:["+ ",x," more"]}),p!==void 0&&i(g,{direction:"row",spacing:2,sx:{mt:.75,pt:.75,borderTop:"1px solid",borderColor:"divider",justifyContent:"space-between"},children:[r(o,{sx:{...a,fontWeight:700},children:"Trend"}),r(o,{sx:{...a,fontWeight:700},children:K(p,{unit:w,interval:S,stepMs:v})})]})]})}export{D as SynchronizedChartTooltip,b as TOOLTIP_BRAND_CAP};
|
|
@@ -2,6 +2,7 @@ import { SxProps } from '@mui/material';
|
|
|
2
2
|
import { SeriesChartData } from '../SeriesChart';
|
|
3
3
|
import { BrandFilter } from '../../../components/BrandFilterInput';
|
|
4
4
|
import { BrandIntervalData } from '../ConversionOverTimeChart';
|
|
5
|
+
import { MetricsIntervalType } from '../../../constants/metrics';
|
|
5
6
|
export interface SubChartConfig {
|
|
6
7
|
title: string;
|
|
7
8
|
data: SeriesChartData[];
|
|
@@ -13,6 +14,16 @@ export interface SubChartConfig {
|
|
|
13
14
|
* opt out of the Total line and the Log Scale toggle.
|
|
14
15
|
*/
|
|
15
16
|
isPercentage?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Pooled value per timestamp for a percentage sub-chart:
|
|
19
|
+
* `sum(numerator) / sum(denominator)` across the visible brands, which is the
|
|
20
|
+
* overall rate. Averaging the per-brand rates instead would weight a brand
|
|
21
|
+
* with two events the same as one with two thousand.
|
|
22
|
+
*
|
|
23
|
+
* Not drawn - percentage sub-charts have no Total line. It exists so the
|
|
24
|
+
* trend has a series to fit when more than one brand is selected.
|
|
25
|
+
*/
|
|
26
|
+
totalByDate?: Record<number, number>;
|
|
16
27
|
}
|
|
17
28
|
export type SynchronizedSubChartConfig = {
|
|
18
29
|
title: string;
|
|
@@ -40,6 +51,11 @@ type SynchronizedMetricsChartBaseProps = {
|
|
|
40
51
|
filter: {
|
|
41
52
|
timezone?: string;
|
|
42
53
|
brands: BrandFilter[];
|
|
54
|
+
/**
|
|
55
|
+
* The selected bucket size. The trend readout reports its slope per this
|
|
56
|
+
* interval; when omitted it is named from the spacing in the data.
|
|
57
|
+
*/
|
|
58
|
+
interval?: MetricsIntervalType;
|
|
43
59
|
};
|
|
44
60
|
sx?: SxProps;
|
|
45
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{SeriesChart as a}from"./SeriesChart/index.mjs";import{SeriesChartLegend as r}from"./SeriesChartLegend/index.mjs";import{SeriesPercentageChart as e}from"./SeriesPercentageChart/index.mjs";import{BigNumber as t}from"./BigNumber/index.mjs";import{SimpleBarChart as i}from"./SimpleBarChart/index.mjs";import{AreaChart as s}from"./AreaChart/index.mjs";import{ErrorCodesChart as o}from"./ErrorCodesChart/index.mjs";import{ReasonCodesChart as m}from"./ReasonCodesChart/index.mjs";import{PieChart as l}from"./PieChart/index.mjs";import{RiskScorePieChart as n}from"./RiskScorePieChart/index.mjs";import{RiskScoreBarChart as C}from"./RiskScoreBarChart/index.mjs";import{SimpleLegend as p}from"./SimpleLegend/index.mjs";import{LoadingChartSection as c}from"./LoadingChartSection.mjs";import{EmptyChartSection as f}from"./EmptyChartSection.mjs";import{MetricLastUpdated as h}from"./MetricLastUpdated.mjs";import{FunnelChart as T}from"./FunnelChart/index.mjs";import{ConversionOverTimeChart as
|
|
1
|
+
"use strict";import{SeriesChart as a}from"./SeriesChart/index.mjs";import{SeriesChartLegend as r}from"./SeriesChartLegend/index.mjs";import{SeriesPercentageChart as e}from"./SeriesPercentageChart/index.mjs";import{BigNumber as t}from"./BigNumber/index.mjs";import{SimpleBarChart as i}from"./SimpleBarChart/index.mjs";import{AreaChart as s}from"./AreaChart/index.mjs";import{ErrorCodesChart as o}from"./ErrorCodesChart/index.mjs";import{ReasonCodesChart as m}from"./ReasonCodesChart/index.mjs";import{PieChart as l}from"./PieChart/index.mjs";import{RiskScorePieChart as n}from"./RiskScorePieChart/index.mjs";import{RiskScoreBarChart as C}from"./RiskScoreBarChart/index.mjs";import{SimpleLegend as p}from"./SimpleLegend/index.mjs";import{LoadingChartSection as c}from"./LoadingChartSection.mjs";import{EmptyChartSection as f}from"./EmptyChartSection.mjs";import{MetricLastUpdated as h}from"./MetricLastUpdated.mjs";import{FunnelChart as T}from"./FunnelChart/index.mjs";import{ConversionOverTimeChart as v,normalizePercentData as S}from"./ConversionOverTimeChart/index.mjs";import{BILLABLE_PRODUCTS as O,BillableProduct as d}from"./BillableEventsTable/BillableEventsTable.types.mjs";import{BillableEventsProductTable as b}from"./BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as B}from"./BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as u}from"./BillableEventsTable/BrandDetailsPanel.mjs";import{OneClickVerificationEventsOverTimeChart as D}from"./OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as E}from"./OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as P}from"./OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OverviewBigNumbers as g}from"./OverviewBigNumbers/OverviewBigNumbers.mjs";import{SynchronizedMetricsChart as k,TOTAL_DATA_KEY as L,enrichWithTotal as A,mergeChartData as V}from"./SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSOverTimeChart as M}from"./TTSOverTimeChart/TTSOverTimeChart.mjs";import{defaultOverviewMetrics as R}from"./OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as F}from"./BillableEventsTable/exportBillableEventsToCsv.mjs";import{formatBillableMetric as _,formatChallengeInput as y,formatHealthDataProviderMode as z,formatPromptForChallenge as N}from"./BillableEventsTable/format.mjs";import{mapBillableEventsProductTableData as w}from"./BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapBillableEventsTableData as x}from"./BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as I}from"./OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as U}from"./OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as H}from"./OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as W}from"./SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as K}from"./TTSOverTimeChart/TTSOverTimeChart.map.mjs";export{s as AreaChart,O as BILLABLE_PRODUCTS,t as BigNumber,b as BillableEventsProductTable,B as BillableEventsTable,d as BillableProduct,u as BrandDetailsPanel,v as ConversionOverTimeChart,f as EmptyChartSection,o as ErrorCodesChart,T as FunnelChart,c as LoadingChartSection,h as MetricLastUpdated,D as OneClickVerificationEventsOverTimeChart,E as OneClickVerificationFunnelChart,P as OneClickVerificationSuccessOverTimeChart,g as OverviewBigNumbers,l as PieChart,m as ReasonCodesChart,C as RiskScoreBarChart,n as RiskScorePieChart,a as SeriesChart,r as SeriesChartLegend,e as SeriesPercentageChart,i as SimpleBarChart,p as SimpleLegend,k as SynchronizedMetricsChart,L as TOTAL_DATA_KEY,M as TTSOverTimeChart,R as defaultOverviewMetrics,A as enrichWithTotal,F as exportBillableEventsToCsv,_ as formatBillableMetric,y as formatChallengeInput,z as formatHealthDataProviderMode,N as formatPromptForChallenge,w as mapBillableEventsProductTableData,x as mapBillableEventsTableData,I as mapOneClickVerificationAreaSeriesData,U as mapOneClickVerificationFunnelChartData,H as mapOneClickVerificationSuccessOverTimeChartData,W as mapSeriesTimeSeriesData,K as mapTTSTimeSeriesData,V as mergeChartData,S as normalizePercentData};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { MetricsIntervalType } from '../../constants/metrics';
|
|
2
|
+
export interface TrendFit {
|
|
3
|
+
/** Change per data point. */
|
|
4
|
+
slope: number;
|
|
5
|
+
intercept: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Ordinary least squares of `values` against `xs`, so the slope is per unit of
|
|
9
|
+
* x. Pass timestamps for `xs` whenever the samples are not evenly spaced - the
|
|
10
|
+
* metrics API only returns buckets that contain data, so a series can jump four
|
|
11
|
+
* days between two "hourly" points. Fitting against the index there would
|
|
12
|
+
* measure change per *returned row* and report it as change per hour.
|
|
13
|
+
*
|
|
14
|
+
* `xs` defaults to the point index, which is only correct for evenly spaced
|
|
15
|
+
* input.
|
|
16
|
+
*/
|
|
17
|
+
export declare function olsFit(values: number[], xs?: number[]): TrendFit;
|
|
18
|
+
/**
|
|
19
|
+
* Median gap between consecutive timestamps, used to name the bucket when the
|
|
20
|
+
* caller doesn't tell us which interval is selected.
|
|
21
|
+
*/
|
|
22
|
+
export declare function medianStepMs(dates: number[]): number;
|
|
23
|
+
/** Average lengths - months and quarters vary, so these are used for matching only. */
|
|
24
|
+
export declare const INTERVAL_MS: Record<MetricsIntervalType, number>;
|
|
25
|
+
/**
|
|
26
|
+
* Names the bucket from the spacing actually present in the data. Matching is
|
|
27
|
+
* on the ratio rather than the difference, so a 31-day month doesn't get
|
|
28
|
+
* mistaken for a quarter.
|
|
29
|
+
*/
|
|
30
|
+
export declare function intervalFromStep(stepMs: number): MetricsIntervalType | null;
|
|
31
|
+
/** Compact label for a bucket that matches no named interval, e.g. `8h`. */
|
|
32
|
+
export declare function formatStepShort(stepMs: number): string;
|
|
33
|
+
export interface TrendSeries {
|
|
34
|
+
/** Fitted value per point, aligned with the input rows. */
|
|
35
|
+
values: number[];
|
|
36
|
+
/**
|
|
37
|
+
* Change per interval bucket, measured against elapsed time rather than row
|
|
38
|
+
* count so gaps in the data don't inflate it.
|
|
39
|
+
*/
|
|
40
|
+
slopePerInterval: number;
|
|
41
|
+
/** Measured spacing, so the caller can name the bucket. */
|
|
42
|
+
stepMs: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Fits `dataKey` across `rows` against their timestamps and returns the fitted
|
|
46
|
+
* column plus its slope per interval. Returns null when there is nothing
|
|
47
|
+
* meaningful to fit.
|
|
48
|
+
*/
|
|
49
|
+
export declare function trendSeries(rows: Array<Record<string, number>>, dataKey: string, options?: {
|
|
50
|
+
clampTo?: [number, number];
|
|
51
|
+
/** Bucket the slope is reported in. Defaults to the measured spacing. */
|
|
52
|
+
interval?: MetricsIntervalType;
|
|
53
|
+
}): TrendSeries | null;
|
|
54
|
+
export interface FormatSlopeOptions {
|
|
55
|
+
/** `percent` reports percentage points, since a change in a rate is not a rate. */
|
|
56
|
+
unit?: 'count' | 'percent';
|
|
57
|
+
/** The selected interval. Falls back to naming the measured spacing. */
|
|
58
|
+
interval?: MetricsIntervalType | null;
|
|
59
|
+
stepMs?: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* `+4.2 / day`, `+18 / hour`, `+150 / month` - the slope is always reported per
|
|
63
|
+
* whichever interval the operator is looking at.
|
|
64
|
+
*/
|
|
65
|
+
export declare function formatSlope(value: number, { unit, interval, stepMs }?: FormatSlopeOptions): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{MetricsInterval as c}from"../../constants/metrics.mjs";function M(e,o){const n=e.length;if(n<2)return{slope:0,intercept:e[0]??0};const r=o??e.map((u,s)=>s),t=r.reduce((u,s)=>u+s,0)/n,l=e.reduce((u,s)=>u+s,0)/n;let i=0,a=0;for(let u=0;u<n;u+=1)i+=(r[u]-t)*(e[u]-l),a+=(r[u]-t)**2;const f=a===0?0:i/a;return{slope:f,intercept:l-f*t}}function N(e){if(e.length<2)return 0;const o=[];for(let r=1;r<e.length;r+=1)o.push(e[r]-e[r-1]);o.sort((r,t)=>r-t);const n=Math.floor(o.length/2);return o.length%2===0?(o[n-1]+o[n])/2:o[n]}const h=6e4,m=60*h,p=24*m,I={[c.MINUTE]:h,[c.HOUR]:m,[c.DAY]:p,[c.WEEK]:7*p,[c.MONTH]:30.44*p,[c.QUARTER]:91.31*p,[c.YEAR]:365.25*p};function d(e){if(e<=0)return null;let o=null,n=Number.POSITIVE_INFINITY;for(const[r,t]of Object.entries(I)){const l=e>t?e/t:t/e;l<n&&(n=l,o=r)}return n<=1.5?o:null}function S(e){return e<=0?"":e>=p?`${+(e/p).toFixed(1)}d`:e>=m?`${+(e/m).toFixed(1)}h`:`${Math.max(1,Math.round(e/h))}m`}function T(e,o,n={}){if(e.length<2)return null;const r=e.map(s=>Number(s[o])||0),t=e.map(s=>Number(s.date));if(t.some(s=>!Number.isFinite(s)))return null;const l=M(r,t),[i,a]=n.clampTo??[0,Number.POSITIVE_INFINITY],f=N(t),u=n.interval?I[n.interval]:f;return{values:t.map(s=>Math.min(a,Math.max(i,l.intercept+l.slope*s))),slopePerInterval:l.slope*u,stepMs:f}}function E(e){return e>0?"+":e<0?"-":""}function F(e){return e>=10?0:e>=1?1:2}function b(e,{unit:o="count",interval:n,stepMs:r=0}={}){const t=Math.abs(e),l=o==="percent"?" pp":"",i=`${E(e)}${t.toFixed(F(t))}${l}`,a=n??d(r)??S(r);return a?`${i} / ${a}`:i}export{I as INTERVAL_MS,b as formatSlope,S as formatStepShort,d as intervalFromStep,N as medianStepMs,M as olsFit,T as trendSeries};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{Paragraph as a}from"./typographies/Paragraph.mjs";import{SectionHeader as r}from"./typographies/SectionHeader.mjs";import{PageHeader as e}from"./typographies/PageHeader.mjs";import{PageSectionHeader as o}from"./typographies/PageSectionHeader.mjs";import{Typography as t}from"./Typography/index.mjs";import{CredentialRequestsEditor as i}from"./CredentialRequestsEditor/index.mjs";import{When as s}from"./When.mjs";import{Image as m}from"./Image.mjs";import{QRCodeDisplay as n}from"./QRCodeDisplay/index.mjs";import{CustomAlertComponent as p,useSnackbar as l}from"./Snackbar/index.mjs";import{Backdrop as f}from"./Backdrop/index.mjs";import{Button as d}from"./Button/index.mjs";import{BrandFilterInput as c}from"./BrandFilterInput/index.mjs";import{SeriesChart as C}from"./chart/SeriesChart/index.mjs";import{SeriesChartLegend as u}from"./chart/SeriesChartLegend/index.mjs";import{SeriesPercentageChart as h}from"./chart/SeriesPercentageChart/index.mjs";import{BigNumber as T}from"./chart/BigNumber/index.mjs";import{SimpleBarChart as g}from"./chart/SimpleBarChart/index.mjs";import{AreaChart as S}from"./chart/AreaChart/index.mjs";import{ErrorCodesChart as B}from"./chart/ErrorCodesChart/index.mjs";import{ReasonCodesChart as P}from"./chart/ReasonCodesChart/index.mjs";import{PieChart as D}from"./chart/PieChart/index.mjs";import{RiskScorePieChart as I}from"./chart/RiskScorePieChart/index.mjs";import{RiskScoreBarChart as v}from"./chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as F}from"./chart/SimpleLegend/index.mjs";import{LoadingChartSection as b}from"./chart/LoadingChartSection.mjs";import{EmptyChartSection as O}from"./chart/EmptyChartSection.mjs";import{MetricLastUpdated as L}from"./chart/MetricLastUpdated.mjs";import{FunnelChart as y}from"./chart/FunnelChart/index.mjs";import{ConversionOverTimeChart as E,normalizePercentData as k}from"./chart/ConversionOverTimeChart/index.mjs";import{WhenStyled as A}from"./WhenStyled.mjs";import{RequiredLabel as V}from"./RequiredLabel/index.mjs";import{CopyableUuid as R}from"./CopyableUuid/index.mjs";import{Tip as x}from"./Tip/index.mjs";import{AcceptTermsNotice as N}from"./terms/AcceptTermsNotice.mjs";import{AdaptativeBox as M}from"./UI/AdaptativeBox.mjs";import{AddressInput as w}from"./form/AddressInput/index.mjs";import{Alert as W}from"./Alert/Alert.mjs";import{BILLABLE_PRODUCTS as H,BillableProduct as z}from"./chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as _}from"./Banners/Banner.mjs";import{BasePhoneInput as U}from"./form/BasePhoneInput.mjs";import{BillableEventsProductTable as q}from"./chart/BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as Q}from"./chart/BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as K}from"./chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as Y,CalendlyDialogComponent as X}from"./dialog/CalendlyDialog.mjs";import{ContentWithLoader as $}from"./UI/ContentWithLoader.mjs";import{CustomDialog as j}from"./dialog/Dialog.mjs";import{DataTable as G}from"./DataTable/DataTable.mjs";import{DateInput as J}from"./form/DateInput/index.mjs";import{DateRangeInput as Z}from"./form/DateRangeInput/index.mjs";import{DefaultInput as aa}from"./form/DefaultInput.mjs";import{EmailInput as ra}from"./form/EmailInput.mjs";import{ExactBirthdayBanner as ea}from"./Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as oa}from"./buttons/ExportToPdfButton.mjs";import{Form as ta}from"./form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as ia}from"./form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as sa}from"./form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as ma}from"./form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as na,useForm as pa}from"./form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as la}from"./Alert/FullWidthAlert.mjs";import{IconPlayer as fa}from"./icons/IconPlayer.mjs";import{LegalLink as da}from"./terms/LegalLink.mjs";import{LinkButton as ca}from"./buttons/LinkButton.mjs";import{LogDetailPanel as Ca}from"./logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as ua}from"./logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as ha}from"./logs/LogsTable/LogsTable.mjs";import{NPIInput as Ta}from"./form/NPIInput/index.mjs";import{NewOneClickForm as ga}from"./form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as Sa}from"./form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as Ba}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as Pa}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Da}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as Ia}from"./buttons/OriginalButton.mjs";import{OverviewBigNumbers as va}from"./chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Fa}from"./dialog/PersistentDialog.mjs";import{PhoneInput as ba}from"./form/PhoneInput.mjs";import{PoweredByVerified as Oa}from"./verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as La}from"./form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as ya}from"./terms/PrivacyPolicyNotice.mjs";import{RadioOption as Ea}from"./form/RadioOption.mjs";import{ResendPhoneBanner as ka}from"./Banners/ResendPhoneBanner.mjs";import{SSNInput as Aa}from"./form/SSNInput.mjs";import{SelectInput as Va}from"./form/SelectInput.mjs";import{SnackbarProvider as Ra}from"notistack";import{SynchronizedMetricsChart as xa,TOTAL_DATA_KEY as Na,enrichWithTotal as Ma,mergeChartData as wa}from"./chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as Wa}from"./text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as Ha}from"./text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as za}from"./text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as _a}from"./chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as Ua}from"./Banners/TestPhoneNumbersBanner.mjs";import{TextButton as qa}from"./buttons/TextButton.mjs";import{TimezoneInput as Qa}from"./form/TimezoneInput/index.mjs";import{VerifiedImage as Ka}from"./verified/VerifiedImage.mjs";import{VerifiedIncLogo as Ya}from"./verified/VerifiedIncLogo.mjs";import{applyFieldFilters as Xa,buildInitialFilterState as $a,effectiveFilterFieldCount as ja,emptyFieldValue as Ga,isFilterFieldActive as Ja}from"./DataTable/DataTable.filterState.mjs";import{applySearch as Za,getLeafAccessorsById as ar}from"./DataTable/DataTable.filters.mjs";import{defaultOverviewMetrics as rr}from"./chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as er}from"./chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as or,exportDataTableToExcel as tr,getDataTableExportModel as ir,printDataTable as sr}from"./DataTable/DataTable.export.mjs";import{formatChallengeInput as mr,formatHealthDataProviderMode as nr,formatPromptForChallenge as pr}from"./chart/BillableEventsTable/format.mjs";import{mapBillableEventsProductTableData as lr}from"./chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapBillableEventsTableData as fr}from"./chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as dr}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as cr}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as Cr}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as ur}from"./chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as hr}from"./chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as Tr}from"./form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as gr,useBrandFilterInput as Sr}from"./BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as Br}from"./form/NewOneClickForm/core/mappers/share.map.mjs";export{N as AcceptTermsNotice,M as AdaptativeBox,w as AddressInput,W as Alert,S as AreaChart,H as BILLABLE_PRODUCTS,f as Backdrop,_ as Banner,U as BasePhoneInput,T as BigNumber,q as BillableEventsProductTable,Q as BillableEventsTable,z as BillableProduct,K as BrandDetailsPanel,c as BrandFilterInput,d as Button,Y as CalendlyDialog,X as CalendlyDialogComponent,$ as ContentWithLoader,E as ConversionOverTimeChart,R as CopyableUuid,i as CredentialRequestsEditor,p as CustomAlertComponent,j as CustomDialog,G as DataTable,J as DateInput,Z as DateRangeInput,aa as DefaultInput,ra as EmailInput,O as EmptyChartSection,B as ErrorCodesChart,ea as ExactBirthdayBanner,oa as ExportToPdfButton,ta as Form,ia as FormBuilder,sa as FormField,ma as FormFieldBuilder,na as FormProvider,la as FullWidthAlert,y as FunnelChart,fa as IconPlayer,m as Image,da as LegalLink,ca as LinkButton,b as LoadingChartSection,Ca as LogDetailPanel,ua as LogsInfoAlert,ha as LogsTable,L as MetricLastUpdated,Ta as NPIInput,ga as NewOneClickForm,Sa as OTPInput,Ba as OneClickVerificationEventsOverTimeChart,Pa as OneClickVerificationFunnelChart,Da as OneClickVerificationSuccessOverTimeChart,Ia as OriginalButton,va as OverviewBigNumbers,e as PageHeader,o as PageSectionHeader,a as Paragraph,Fa as PersistentDialog,ba as PhoneInput,D as PieChart,Oa as PoweredByVerified,La as PrettyPhoneInput,ya as PrivacyPolicyNotice,n as QRCodeDisplay,Ea as RadioOption,P as ReasonCodesChart,V as RequiredLabel,ka as ResendPhoneBanner,v as RiskScoreBarChart,I as RiskScorePieChart,Aa as SSNInput,r as SectionHeader,Va as SelectInput,C as SeriesChart,u as SeriesChartLegend,h as SeriesPercentageChart,g as SimpleBarChart,F as SimpleLegend,Ra as SnackbarProvider,xa as SynchronizedMetricsChart,Na as TOTAL_DATA_KEY,Wa as TTSMagicButton,Ha as TTSMagicLegalLanguage,za as TTSMagicQRCode,_a as TTSOverTimeChart,Ua as TestPhoneNumbersBanner,qa as TextButton,Qa as TimezoneInput,x as Tip,t as Typography,Ka as VerifiedImage,Ya as VerifiedIncLogo,s as When,A as WhenStyled,Xa as applyFieldFilters,Za as applySearch,$a as buildInitialFilterState,rr as defaultOverviewMetrics,ja as effectiveFilterFieldCount,Ga as emptyFieldValue,Ma as enrichWithTotal,er as exportBillableEventsToCsv,or as exportDataTableToCsv,tr as exportDataTableToExcel,mr as formatChallengeInput,nr as formatHealthDataProviderMode,pr as formatPromptForChallenge,ir as getDataTableExportModel,ar as getLeafAccessorsById,Ja as isFilterFieldActive,lr as mapBillableEventsProductTableData,fr as mapBillableEventsTableData,dr as mapOneClickVerificationAreaSeriesData,cr as mapOneClickVerificationFunnelChartData,Cr as mapOneClickVerificationSuccessOverTimeChartData,ur as mapSeriesTimeSeriesData,hr as mapTTSTimeSeriesData,wa as mergeChartData,k as normalizePercentData,sr as printDataTable,Tr as toCreatePatchCredentials,gr as toOption,Br as toShareCredentials,Sr as useBrandFilterInput,pa as useForm,l as useSnackbar};
|
|
1
|
+
"use strict";import{Paragraph as a}from"./typographies/Paragraph.mjs";import{SectionHeader as r}from"./typographies/SectionHeader.mjs";import{PageHeader as e}from"./typographies/PageHeader.mjs";import{PageSectionHeader as t}from"./typographies/PageSectionHeader.mjs";import{Typography as o}from"./Typography/index.mjs";import{CredentialRequestsEditor as i}from"./CredentialRequestsEditor/index.mjs";import{When as s}from"./When.mjs";import{Image as m}from"./Image.mjs";import{QRCodeDisplay as n}from"./QRCodeDisplay/index.mjs";import{CustomAlertComponent as p,useSnackbar as l}from"./Snackbar/index.mjs";import{Backdrop as f}from"./Backdrop/index.mjs";import{Button as d}from"./Button/index.mjs";import{BrandFilterInput as c}from"./BrandFilterInput/index.mjs";import{SeriesChart as C}from"./chart/SeriesChart/index.mjs";import{SeriesChartLegend as u}from"./chart/SeriesChartLegend/index.mjs";import{SeriesPercentageChart as T}from"./chart/SeriesPercentageChart/index.mjs";import{BigNumber as h}from"./chart/BigNumber/index.mjs";import{SimpleBarChart as B}from"./chart/SimpleBarChart/index.mjs";import{AreaChart as g}from"./chart/AreaChart/index.mjs";import{ErrorCodesChart as S}from"./chart/ErrorCodesChart/index.mjs";import{ReasonCodesChart as P}from"./chart/ReasonCodesChart/index.mjs";import{PieChart as D}from"./chart/PieChart/index.mjs";import{RiskScorePieChart as v}from"./chart/RiskScorePieChart/index.mjs";import{RiskScoreBarChart as F}from"./chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as b}from"./chart/SimpleLegend/index.mjs";import{LoadingChartSection as I}from"./chart/LoadingChartSection.mjs";import{EmptyChartSection as O}from"./chart/EmptyChartSection.mjs";import{MetricLastUpdated as L}from"./chart/MetricLastUpdated.mjs";import{FunnelChart as y}from"./chart/FunnelChart/index.mjs";import{ConversionOverTimeChart as E,normalizePercentData as k}from"./chart/ConversionOverTimeChart/index.mjs";import{WhenStyled as A}from"./WhenStyled.mjs";import{RequiredLabel as V}from"./RequiredLabel/index.mjs";import{CopyableUuid as R}from"./CopyableUuid/index.mjs";import{Tip as x}from"./Tip/index.mjs";import{AcceptTermsNotice as N}from"./terms/AcceptTermsNotice.mjs";import{AdaptativeBox as M}from"./UI/AdaptativeBox.mjs";import{AddressInput as w}from"./form/AddressInput/index.mjs";import{Alert as W}from"./Alert/Alert.mjs";import{BILLABLE_PRODUCTS as H,BillableProduct as z}from"./chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as _}from"./Banners/Banner.mjs";import{BasePhoneInput as U}from"./form/BasePhoneInput.mjs";import{BillableEventsProductTable as q}from"./chart/BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as Q}from"./chart/BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as K}from"./chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as Y,CalendlyDialogComponent as X}from"./dialog/CalendlyDialog.mjs";import{ContentWithLoader as $}from"./UI/ContentWithLoader.mjs";import{CustomDialog as j}from"./dialog/Dialog.mjs";import{DataTable as G}from"./DataTable/DataTable.mjs";import{DateInput as J}from"./form/DateInput/index.mjs";import{DateRangeInput as Z}from"./form/DateRangeInput/index.mjs";import{DefaultInput as aa}from"./form/DefaultInput.mjs";import{EmailInput as ra}from"./form/EmailInput.mjs";import{ExactBirthdayBanner as ea}from"./Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as ta}from"./buttons/ExportToPdfButton.mjs";import{Form as oa}from"./form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as ia}from"./form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as sa}from"./form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as ma}from"./form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as na,useForm as pa}from"./form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as la}from"./Alert/FullWidthAlert.mjs";import{IconPlayer as fa}from"./icons/IconPlayer.mjs";import{LegalLink as da}from"./terms/LegalLink.mjs";import{LinkButton as ca}from"./buttons/LinkButton.mjs";import{LogDetailPanel as Ca}from"./logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as ua}from"./logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as Ta}from"./logs/LogsTable/LogsTable.mjs";import{NPIInput as ha}from"./form/NPIInput/index.mjs";import{NewOneClickForm as Ba}from"./form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as ga}from"./form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as Sa}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as Pa}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Da}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as va}from"./buttons/OriginalButton.mjs";import{OverviewBigNumbers as Fa}from"./chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as ba}from"./dialog/PersistentDialog.mjs";import{PhoneInput as Ia}from"./form/PhoneInput.mjs";import{PoweredByVerified as Oa}from"./verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as La}from"./form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as ya}from"./terms/PrivacyPolicyNotice.mjs";import{RadioOption as Ea}from"./form/RadioOption.mjs";import{ResendPhoneBanner as ka}from"./Banners/ResendPhoneBanner.mjs";import{SSNInput as Aa}from"./form/SSNInput.mjs";import{SelectInput as Va}from"./form/SelectInput.mjs";import{SnackbarProvider as Ra}from"notistack";import{SynchronizedMetricsChart as xa,TOTAL_DATA_KEY as Na,enrichWithTotal as Ma,mergeChartData as wa}from"./chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as Wa}from"./text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as Ha}from"./text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as za}from"./text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as _a}from"./chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as Ua}from"./Banners/TestPhoneNumbersBanner.mjs";import{TextButton as qa}from"./buttons/TextButton.mjs";import{TimezoneInput as Qa}from"./form/TimezoneInput/index.mjs";import{VerifiedImage as Ka}from"./verified/VerifiedImage.mjs";import{VerifiedIncLogo as Ya}from"./verified/VerifiedIncLogo.mjs";import{applyFieldFilters as Xa,buildInitialFilterState as $a,effectiveFilterFieldCount as ja,emptyFieldValue as Ga,isFilterFieldActive as Ja}from"./DataTable/DataTable.filterState.mjs";import{applySearch as Za,getLeafAccessorsById as ar}from"./DataTable/DataTable.filters.mjs";import{defaultOverviewMetrics as rr}from"./chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as er}from"./chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as tr,exportDataTableToExcel as or,getDataTableExportModel as ir,printDataTable as sr}from"./DataTable/DataTable.export.mjs";import{formatBillableMetric as mr,formatChallengeInput as nr,formatHealthDataProviderMode as pr,formatPromptForChallenge as lr}from"./chart/BillableEventsTable/format.mjs";import{mapBillableEventsProductTableData as fr}from"./chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapBillableEventsTableData as dr}from"./chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as cr}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as Cr}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as ur}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as Tr}from"./chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as hr}from"./chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as Br}from"./form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as gr,useBrandFilterInput as Sr}from"./BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as Pr}from"./form/NewOneClickForm/core/mappers/share.map.mjs";export{N as AcceptTermsNotice,M as AdaptativeBox,w as AddressInput,W as Alert,g as AreaChart,H as BILLABLE_PRODUCTS,f as Backdrop,_ as Banner,U as BasePhoneInput,h as BigNumber,q as BillableEventsProductTable,Q as BillableEventsTable,z as BillableProduct,K as BrandDetailsPanel,c as BrandFilterInput,d as Button,Y as CalendlyDialog,X as CalendlyDialogComponent,$ as ContentWithLoader,E as ConversionOverTimeChart,R as CopyableUuid,i as CredentialRequestsEditor,p as CustomAlertComponent,j as CustomDialog,G as DataTable,J as DateInput,Z as DateRangeInput,aa as DefaultInput,ra as EmailInput,O as EmptyChartSection,S as ErrorCodesChart,ea as ExactBirthdayBanner,ta as ExportToPdfButton,oa as Form,ia as FormBuilder,sa as FormField,ma as FormFieldBuilder,na as FormProvider,la as FullWidthAlert,y as FunnelChart,fa as IconPlayer,m as Image,da as LegalLink,ca as LinkButton,I as LoadingChartSection,Ca as LogDetailPanel,ua as LogsInfoAlert,Ta as LogsTable,L as MetricLastUpdated,ha as NPIInput,Ba as NewOneClickForm,ga as OTPInput,Sa as OneClickVerificationEventsOverTimeChart,Pa as OneClickVerificationFunnelChart,Da as OneClickVerificationSuccessOverTimeChart,va as OriginalButton,Fa as OverviewBigNumbers,e as PageHeader,t as PageSectionHeader,a as Paragraph,ba as PersistentDialog,Ia as PhoneInput,D as PieChart,Oa as PoweredByVerified,La as PrettyPhoneInput,ya as PrivacyPolicyNotice,n as QRCodeDisplay,Ea as RadioOption,P as ReasonCodesChart,V as RequiredLabel,ka as ResendPhoneBanner,F as RiskScoreBarChart,v as RiskScorePieChart,Aa as SSNInput,r as SectionHeader,Va as SelectInput,C as SeriesChart,u as SeriesChartLegend,T as SeriesPercentageChart,B as SimpleBarChart,b as SimpleLegend,Ra as SnackbarProvider,xa as SynchronizedMetricsChart,Na as TOTAL_DATA_KEY,Wa as TTSMagicButton,Ha as TTSMagicLegalLanguage,za as TTSMagicQRCode,_a as TTSOverTimeChart,Ua as TestPhoneNumbersBanner,qa as TextButton,Qa as TimezoneInput,x as Tip,o as Typography,Ka as VerifiedImage,Ya as VerifiedIncLogo,s as When,A as WhenStyled,Xa as applyFieldFilters,Za as applySearch,$a as buildInitialFilterState,rr as defaultOverviewMetrics,ja as effectiveFilterFieldCount,Ga as emptyFieldValue,Ma as enrichWithTotal,er as exportBillableEventsToCsv,tr as exportDataTableToCsv,or as exportDataTableToExcel,mr as formatBillableMetric,nr as formatChallengeInput,pr as formatHealthDataProviderMode,lr as formatPromptForChallenge,ir as getDataTableExportModel,ar as getLeafAccessorsById,Ja as isFilterFieldActive,fr as mapBillableEventsProductTableData,dr as mapBillableEventsTableData,cr as mapOneClickVerificationAreaSeriesData,Cr as mapOneClickVerificationFunnelChartData,ur as mapOneClickVerificationSuccessOverTimeChartData,Tr as mapSeriesTimeSeriesData,hr as mapTTSTimeSeriesData,wa as mergeChartData,k as normalizePercentData,sr as printDataTable,Br as toCreatePatchCredentials,gr as toOption,Pr as toShareCredentials,Sr as useBrandFilterInput,pa as useForm,l as useSnackbar};
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{Paragraph as a}from"./components/typographies/Paragraph.mjs";import{SectionHeader as e}from"./components/typographies/SectionHeader.mjs";import{PageHeader as r}from"./components/typographies/PageHeader.mjs";import{PageSectionHeader as s}from"./components/typographies/PageSectionHeader.mjs";import{Typography as o}from"./components/Typography/index.mjs";import{CredentialRequestsEditor as t}from"./components/CredentialRequestsEditor/index.mjs";import{When as i}from"./components/When.mjs";import{Image as m}from"./components/Image.mjs";import{QRCodeDisplay as n}from"./components/QRCodeDisplay/index.mjs";import{CustomAlertComponent as p,useSnackbar as l}from"./components/Snackbar/index.mjs";import{Backdrop as f}from"./components/Backdrop/index.mjs";import{Button as d}from"./components/Button/index.mjs";import{BrandFilterInput as u}from"./components/BrandFilterInput/index.mjs";import{SeriesChart as c}from"./components/chart/SeriesChart/index.mjs";import{SeriesChartLegend as C}from"./components/chart/SeriesChartLegend/index.mjs";import{SeriesPercentageChart as h}from"./components/chart/SeriesPercentageChart/index.mjs";import{BigNumber as T}from"./components/chart/BigNumber/index.mjs";import{SimpleBarChart as g}from"./components/chart/SimpleBarChart/index.mjs";import{AreaChart as S}from"./components/chart/AreaChart/index.mjs";import{ErrorCodesChart as P}from"./components/chart/ErrorCodesChart/index.mjs";import{ReasonCodesChart as D}from"./components/chart/ReasonCodesChart/index.mjs";import{PieChart as b}from"./components/chart/PieChart/index.mjs";import{RiskScorePieChart as B}from"./components/chart/RiskScorePieChart/index.mjs";import{RiskScoreBarChart as y}from"./components/chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as F}from"./components/chart/SimpleLegend/index.mjs";import{LoadingChartSection as v}from"./components/chart/LoadingChartSection.mjs";import{EmptyChartSection as k}from"./components/chart/EmptyChartSection.mjs";import{MetricLastUpdated as I}from"./components/chart/MetricLastUpdated.mjs";import{FunnelChart as O}from"./components/chart/FunnelChart/index.mjs";import{ConversionOverTimeChart as A,normalizePercentData as L}from"./components/chart/ConversionOverTimeChart/index.mjs";import{WhenStyled as M}from"./components/WhenStyled.mjs";import{RequiredLabel as E}from"./components/RequiredLabel/index.mjs";import{CopyableUuid as R}from"./components/CopyableUuid/index.mjs";import{Tip as N}from"./components/Tip/index.mjs";import{Tunnel as x}from"./contexts/tunnel/index.mjs";import{useLocalStorage as w}from"./hooks/useLocalStorage.mjs";import{useCopyToClipboard as U}from"./hooks/useCopyToClipboard.mjs";import{useDisclosure as V}from"./hooks/useDisclosure.mjs";import{useGoogleFont as W}from"./hooks/useGoogleFont.mjs";import{useCallbackRef as Y}from"./hooks/useCallbackRef.mjs";import{useQRCode as G}from"./hooks/useQRCode.mjs";import{useSearchParams as z}from"./hooks/useSearchParams.mjs";import{useDebounceValue as H}from"./hooks/useDebounceValue.mjs";import{useScript as _}from"./hooks/useScript.mjs";import{useThrottle as Q}from"./hooks/useThrottle.mjs";import{useToggle as q}from"./hooks/useToggle.mjs";import{useWindowScroll as Z}from"./hooks/useWindowScroll.mjs";import{useWindowSize as K}from"./hooks/useWindowSize.mjs";import{useIntersectionObserver as $}from"./hooks/useIntersectionObserver.mjs";import{useCounter as J}from"./hooks/useCounter.mjs";import{useOnClickOutside as j}from"./hooks/useOnClickOutside.mjs";import{usePrevious as X}from"./hooks/usePrevious.mjs";import{useResizeObserver as aa}from"./hooks/useResizeObserver.mjs";import{useNavigatorOnline as ea}from"./hooks/useNavigatorOnline.mjs";import{useDebounceCallback as ra}from"./hooks/useDebounceCallback.mjs";import{useStyledQRCode as sa}from"./hooks/useStyledQRCode.mjs";import{useNetworkType as oa}from"./hooks/useNetworkType.mjs";import{useBidirectionalScroll as ta}from"./hooks/useBidirectionalScroll.mjs";import{usePersistedState as ia}from"./hooks/usePersistedState.mjs";import{black as ma,blue as na,colors as pa,dangerContrast as la,darkBlue as fa,darkGreen as da,darkGrey as ua,darkGreyContrast as ca,darkRed as Ca,darkYellow as ha,green as Ta,grey as ga,greyContrast as Sa,infoContrast as Pa,lightBlue as Da,lightGreen as ba,lightGrey as Ba,lightGreyContrast as ya,lightRed as Fa,lightYellow as va,red as ka,textDisabled as Ia,warningContrast as Oa,white as Aa,yellow as La}from"./styles/colors.mjs";import{theme as Ma}from"./styles/theme.mjs";import{shadows as Ea}from"./styles/shadows.mjs";import{wrapPromise as Ra}from"./utils/wrapPromise/index.mjs";import{formatDateMMDDYYYY as Na,formatDateMMYY as xa,formatDateToTimestamp as wa,formatExtendedDate as Ua,formatLogTimestamp as Va,toUTCMilliseconds as Wa}from"./utils/date.mjs";import{countries as Ya,getPhoneData as Ga,getPhoneDataByFieldName as za,parseToPhoneNational as Ha,sortByCountryName as _a,validatePhone as Qa}from"./utils/phone/index.mjs";import{masks as qa}from"./utils/masks/index.mjs";import{omitProperties as Za}from"./utils/omitProperty.mjs";import{ssnFormatter as Ka,ssnRegex as $a}from"./utils/ssn.mjs";import{stringToHashedColor as Ja,uuidToHashedColor as ja}from"./utils/uuidColor.mjs";import{toCapitalize as Xa}from"./utils/string/toCapitalize.mjs";import{toSentenceCase as ae}from"./utils/string/toSentenceCase.mjs";import{kebabCaseToPretty as ee}from"./utils/string/formatKebabToPretty.mjs";import{generateKeyFromString as re}from"./utils/string/generateKeyFromString.mjs";import{alpha as se,contrastColor as oe,darken as te,ensureWcagAAContrast as ie,getContrastRatio as me,getThemeFromPrimaryColor as ne,lighten as pe,meetsWcagAA as le,mix as fe}from"./utils/color/index.mjs";import{addressFormatter as de,fromUSAddress as ue,parseCountryCode as ce,toUSaddress as Ce,toUSaddressPretty as he}from"./utils/address/index.mjs";import{DEFAULT_FONT_FAMILY as Te,DEFAULT_FONT_WEIGHTS as ge,makeGoogleFontUrl as Se}from"./utils/makeGoogleFont.mjs";import{prepareNotification as Pe}from"./utils/notification.mjs";import{resolveLogo as De}from"./utils/logo/index.mjs";import{USDateSchema as be,birthDateSchema as Be,dateSchema as ye,getDateSchemaWithPastValidation as Fe,refineAge18Plus as ve,refineMinimumDate1900 as ke,refineTimestamp as Ie,validateAge18Plus as Oe,validateMinimumDate1900 as Ae,validateTimestamp as Le}from"./validations/date.schema.mjs";import{descriptionSchema as Me}from"./validations/description.schema.mjs";import{businessEmailSchema as Ee,emailSchema as Re}from"./validations/email.schema.mjs";import{fieldSchema as Ne}from"./validations/field.schema.mjs";import{phoneSchema as xe}from"./validations/phone.schema.mjs";import{MaskedAndUnmaskedSSNSchema as we,SSNSchema as Ue}from"./validations/ssn.schema.mjs";import{getUnixSchema as Ve}from"./validations/unix.schema.mjs";import{npiSchema as We}from"./validations/npi.schema.mjs";import{stateSchema as Ye,zipCodeSchema as Ge}from"./validations/address.schema.mjs";import{AcceptTermsNotice as ze}from"./components/terms/AcceptTermsNotice.mjs";import{AdaptativeBox as He}from"./components/UI/AdaptativeBox.mjs";import{AddressInput as _e}from"./components/form/AddressInput/index.mjs";import{Alert as Qe}from"./components/Alert/Alert.mjs";import{BILLABLE_PRODUCTS as qe,BillableProduct as Ze}from"./components/chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as Ke}from"./components/Banners/Banner.mjs";import{BasePhoneInput as $e}from"./components/form/BasePhoneInput.mjs";import{BillableEventsProductTable as Je}from"./components/chart/BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as je}from"./components/chart/BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as Xe}from"./components/chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as ar,CalendlyDialogComponent as er}from"./components/dialog/CalendlyDialog.mjs";import{ContentWithLoader as rr}from"./components/UI/ContentWithLoader.mjs";import{CustomDialog as sr}from"./components/dialog/Dialog.mjs";import{DataTable as or}from"./components/DataTable/DataTable.mjs";import{DateInput as tr}from"./components/form/DateInput/index.mjs";import{DateRangeInput as ir}from"./components/form/DateRangeInput/index.mjs";import{DefaultInput as mr}from"./components/form/DefaultInput.mjs";import{EmailInput as nr}from"./components/form/EmailInput.mjs";import{ExactBirthdayBanner as pr}from"./components/Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as lr}from"./components/buttons/ExportToPdfButton.mjs";import{Form as fr}from"./components/form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as dr}from"./components/form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as ur}from"./components/form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as cr}from"./components/form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as Cr,useForm as hr}from"./components/form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as Tr}from"./components/Alert/FullWidthAlert.mjs";import{IconPlayer as gr}from"./components/icons/IconPlayer.mjs";import{LegalLink as Sr}from"./components/terms/LegalLink.mjs";import{LinkButton as Pr}from"./components/buttons/LinkButton.mjs";import{LogDetailPanel as Dr}from"./components/logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as br}from"./components/logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as Br}from"./components/logs/LogsTable/LogsTable.mjs";import{MetricsProvider as yr,useMetrics as Fr}from"./contexts/metrics/Metrics.context.mjs";import{NPIInput as vr}from"./components/form/NPIInput/index.mjs";import{NewOneClickForm as kr}from"./components/form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as Ir}from"./components/form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as Or}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as Ar}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Lr}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as Mr}from"./components/buttons/OriginalButton.mjs";import{OverviewBigNumbers as Er}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Rr}from"./components/dialog/PersistentDialog.mjs";import{PhoneInput as Nr}from"./components/form/PhoneInput.mjs";import{PoweredByVerified as xr}from"./components/verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as wr}from"./components/form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as Ur}from"./components/terms/PrivacyPolicyNotice.mjs";import{RadioOption as Vr}from"./components/form/RadioOption.mjs";import{ResendPhoneBanner as Wr}from"./components/Banners/ResendPhoneBanner.mjs";import{SSNInput as Yr}from"./components/form/SSNInput.mjs";import{SelectInput as Gr}from"./components/form/SelectInput.mjs";import{SnackbarProvider as zr}from"notistack";import{SynchronizedMetricsChart as Hr,TOTAL_DATA_KEY as _r,enrichWithTotal as Qr,mergeChartData as qr}from"./components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as Zr}from"./components/text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as Kr}from"./components/text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as $r}from"./components/text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as Jr}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as jr}from"./components/Banners/TestPhoneNumbersBanner.mjs";import{TextButton as Xr}from"./components/buttons/TextButton.mjs";import{TimezoneInput as as}from"./components/form/TimezoneInput/index.mjs";import{VerifiedImage as es}from"./components/verified/VerifiedImage.mjs";import{VerifiedIncLogo as rs}from"./components/verified/VerifiedIncLogo.mjs";import{applyFieldFilters as ss,buildInitialFilterState as os,effectiveFilterFieldCount as ts,emptyFieldValue as is,isFilterFieldActive as ms}from"./components/DataTable/DataTable.filterState.mjs";import{applySearch as ns,getLeafAccessorsById as ps}from"./components/DataTable/DataTable.filters.mjs";import{defaultOverviewMetrics as ls}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as fs}from"./components/chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as ds,exportDataTableToExcel as us,getDataTableExportModel as cs,printDataTable as Cs}from"./components/DataTable/DataTable.export.mjs";import{formatChallengeInput as hs,formatHealthDataProviderMode as Ts,formatPromptForChallenge as gs}from"./components/chart/BillableEventsTable/format.mjs";import{formatInTimeZone as Ss}from"./node_modules/date-fns-tz/dist/esm/formatInTimeZone/index.mjs";import{mapBillableEventsProductTableData as Ps}from"./components/chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapBillableEventsTableData as Ds}from"./components/chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as bs}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as Bs}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as ys}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as Fs}from"./components/chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as vs}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as ks}from"./components/form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as Is,useBrandFilterInput as Os}from"./components/BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as As}from"./components/form/NewOneClickForm/core/mappers/share.map.mjs";import{useColorMap as Ls}from"./hooks/metrics/useColorMap.mjs";import{useTTSMagicLink as Ms}from"./hooks/text-to-signup/magic-link.mjs";import{useTTSMagicQRCode as Es}from"./hooks/text-to-signup/magic-qr-code.mjs";import{useTTSMagicQRCodeOptions as Rs}from"./hooks/text-to-signup/magic-qr-code-options.mjs";import{useTTSMagicText as Ns}from"./hooks/text-to-signup/magic-text.mjs";export{ze as AcceptTermsNotice,He as AdaptativeBox,_e as AddressInput,Qe as Alert,S as AreaChart,qe as BILLABLE_PRODUCTS,f as Backdrop,Ke as Banner,$e as BasePhoneInput,T as BigNumber,Je as BillableEventsProductTable,je as BillableEventsTable,Ze as BillableProduct,Xe as BrandDetailsPanel,u as BrandFilterInput,d as Button,ar as CalendlyDialog,er as CalendlyDialogComponent,rr as ContentWithLoader,A as ConversionOverTimeChart,R as CopyableUuid,t as CredentialRequestsEditor,p as CustomAlertComponent,sr as CustomDialog,Te as DEFAULT_FONT_FAMILY,ge as DEFAULT_FONT_WEIGHTS,or as DataTable,tr as DateInput,ir as DateRangeInput,mr as DefaultInput,nr as EmailInput,k as EmptyChartSection,P as ErrorCodesChart,pr as ExactBirthdayBanner,lr as ExportToPdfButton,fr as Form,dr as FormBuilder,ur as FormField,cr as FormFieldBuilder,Cr as FormProvider,Tr as FullWidthAlert,O as FunnelChart,gr as IconPlayer,m as Image,Sr as LegalLink,Pr as LinkButton,v as LoadingChartSection,Dr as LogDetailPanel,br as LogsInfoAlert,Br as LogsTable,we as MaskedAndUnmaskedSSNSchema,I as MetricLastUpdated,yr as MetricsProvider,vr as NPIInput,kr as NewOneClickForm,Ir as OTPInput,Or as OneClickVerificationEventsOverTimeChart,Ar as OneClickVerificationFunnelChart,Lr as OneClickVerificationSuccessOverTimeChart,Mr as OriginalButton,Er as OverviewBigNumbers,r as PageHeader,s as PageSectionHeader,a as Paragraph,Rr as PersistentDialog,Nr as PhoneInput,b as PieChart,xr as PoweredByVerified,wr as PrettyPhoneInput,Ur as PrivacyPolicyNotice,n as QRCodeDisplay,Vr as RadioOption,D as ReasonCodesChart,E as RequiredLabel,Wr as ResendPhoneBanner,y as RiskScoreBarChart,B as RiskScorePieChart,Yr as SSNInput,Ue as SSNSchema,e as SectionHeader,Gr as SelectInput,c as SeriesChart,C as SeriesChartLegend,h as SeriesPercentageChart,g as SimpleBarChart,F as SimpleLegend,zr as SnackbarProvider,Hr as SynchronizedMetricsChart,_r as TOTAL_DATA_KEY,Zr as TTSMagicButton,Kr as TTSMagicLegalLanguage,$r as TTSMagicQRCode,Jr as TTSOverTimeChart,jr as TestPhoneNumbersBanner,Xr as TextButton,as as TimezoneInput,N as Tip,x as Tunnel,o as Typography,be as USDateSchema,es as VerifiedImage,rs as VerifiedIncLogo,i as When,M as WhenStyled,de as addressFormatter,se as alpha,ss as applyFieldFilters,ns as applySearch,Be as birthDateSchema,ma as black,na as blue,os as buildInitialFilterState,Ee as businessEmailSchema,pa as colors,oe as contrastColor,Ya as countries,la as dangerContrast,fa as darkBlue,da as darkGreen,ua as darkGrey,ca as darkGreyContrast,Ca as darkRed,ha as darkYellow,te as darken,ye as dateSchema,ls as defaultOverviewMetrics,Me as descriptionSchema,ts as effectiveFilterFieldCount,Re as emailSchema,is as emptyFieldValue,Qr as enrichWithTotal,ie as ensureWcagAAContrast,fs as exportBillableEventsToCsv,ds as exportDataTableToCsv,us as exportDataTableToExcel,Ne as fieldSchema,hs as formatChallengeInput,Na as formatDateMMDDYYYY,xa as formatDateMMYY,wa as formatDateToTimestamp,Ua as formatExtendedDate,Ts as formatHealthDataProviderMode,Ss as formatInTimeZone,Va as formatLogTimestamp,gs as formatPromptForChallenge,ue as fromUSAddress,re as generateKeyFromString,me as getContrastRatio,cs as getDataTableExportModel,Fe as getDateSchemaWithPastValidation,ps as getLeafAccessorsById,Ga as getPhoneData,za as getPhoneDataByFieldName,ne as getThemeFromPrimaryColor,Ve as getUnixSchema,Ta as green,ga as grey,Sa as greyContrast,Pa as infoContrast,ms as isFilterFieldActive,ee as kebabCaseToPretty,Da as lightBlue,ba as lightGreen,Ba as lightGrey,ya as lightGreyContrast,Fa as lightRed,va as lightYellow,pe as lighten,Se as makeGoogleFontUrl,Ps as mapBillableEventsProductTableData,Ds as mapBillableEventsTableData,bs as mapOneClickVerificationAreaSeriesData,Bs as mapOneClickVerificationFunnelChartData,ys as mapOneClickVerificationSuccessOverTimeChartData,Fs as mapSeriesTimeSeriesData,vs as mapTTSTimeSeriesData,qa as masks,le as meetsWcagAA,qr as mergeChartData,fe as mix,L as normalizePercentData,We as npiSchema,Za as omitProperties,ce as parseCountryCode,Ha as parseToPhoneNational,xe as phoneSchema,Pe as prepareNotification,Cs as printDataTable,ka as red,ve as refineAge18Plus,ke as refineMinimumDate1900,Ie as refineTimestamp,De as resolveLogo,Ea as shadows,_a as sortByCountryName,Ka as ssnFormatter,$a as ssnRegex,Ye as stateSchema,Ja as stringToHashedColor,Ia as textDisabled,Ma as theme,Xa as toCapitalize,ks as toCreatePatchCredentials,Is as toOption,ae as toSentenceCase,As as toShareCredentials,Ce as toUSaddress,he as toUSaddressPretty,Wa as toUTCMilliseconds,ta as useBidirectionalScroll,Os as useBrandFilterInput,Y as useCallbackRef,Ls as useColorMap,U as useCopyToClipboard,J as useCounter,ra as useDebounceCallback,H as useDebounceValue,V as useDisclosure,hr as useForm,W as useGoogleFont,$ as useIntersectionObserver,w as useLocalStorage,Fr as useMetrics,ea as useNavigatorOnline,oa as useNetworkType,j as useOnClickOutside,ia as usePersistedState,X as usePrevious,G as useQRCode,aa as useResizeObserver,_ as useScript,z as useSearchParams,l as useSnackbar,sa as useStyledQRCode,Ms as useTTSMagicLink,Es as useTTSMagicQRCode,Rs as useTTSMagicQRCodeOptions,Ns as useTTSMagicText,Q as useThrottle,q as useToggle,Z as useWindowScroll,K as useWindowSize,ja as uuidToHashedColor,Oe as validateAge18Plus,Ae as validateMinimumDate1900,Qa as validatePhone,Le as validateTimestamp,Oa as warningContrast,Aa as white,Ra as wrapPromise,La as yellow,Ge as zipCodeSchema};
|
|
1
|
+
"use strict";import{Paragraph as a}from"./components/typographies/Paragraph.mjs";import{SectionHeader as e}from"./components/typographies/SectionHeader.mjs";import{PageHeader as r}from"./components/typographies/PageHeader.mjs";import{PageSectionHeader as s}from"./components/typographies/PageSectionHeader.mjs";import{Typography as o}from"./components/Typography/index.mjs";import{CredentialRequestsEditor as t}from"./components/CredentialRequestsEditor/index.mjs";import{When as i}from"./components/When.mjs";import{Image as m}from"./components/Image.mjs";import{QRCodeDisplay as n}from"./components/QRCodeDisplay/index.mjs";import{CustomAlertComponent as p,useSnackbar as l}from"./components/Snackbar/index.mjs";import{Backdrop as f}from"./components/Backdrop/index.mjs";import{Button as d}from"./components/Button/index.mjs";import{BrandFilterInput as c}from"./components/BrandFilterInput/index.mjs";import{SeriesChart as u}from"./components/chart/SeriesChart/index.mjs";import{SeriesChartLegend as C}from"./components/chart/SeriesChartLegend/index.mjs";import{SeriesPercentageChart as h}from"./components/chart/SeriesPercentageChart/index.mjs";import{BigNumber as T}from"./components/chart/BigNumber/index.mjs";import{SimpleBarChart as g}from"./components/chart/SimpleBarChart/index.mjs";import{AreaChart as S}from"./components/chart/AreaChart/index.mjs";import{ErrorCodesChart as P}from"./components/chart/ErrorCodesChart/index.mjs";import{ReasonCodesChart as D}from"./components/chart/ReasonCodesChart/index.mjs";import{PieChart as b}from"./components/chart/PieChart/index.mjs";import{RiskScorePieChart as B}from"./components/chart/RiskScorePieChart/index.mjs";import{RiskScoreBarChart as y}from"./components/chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as F}from"./components/chart/SimpleLegend/index.mjs";import{LoadingChartSection as v}from"./components/chart/LoadingChartSection.mjs";import{EmptyChartSection as k}from"./components/chart/EmptyChartSection.mjs";import{MetricLastUpdated as I}from"./components/chart/MetricLastUpdated.mjs";import{FunnelChart as O}from"./components/chart/FunnelChart/index.mjs";import{ConversionOverTimeChart as L,normalizePercentData as A}from"./components/chart/ConversionOverTimeChart/index.mjs";import{WhenStyled as M}from"./components/WhenStyled.mjs";import{RequiredLabel as E}from"./components/RequiredLabel/index.mjs";import{CopyableUuid as R}from"./components/CopyableUuid/index.mjs";import{Tip as N}from"./components/Tip/index.mjs";import{Tunnel as x}from"./contexts/tunnel/index.mjs";import{useLocalStorage as U}from"./hooks/useLocalStorage.mjs";import{useCopyToClipboard as w}from"./hooks/useCopyToClipboard.mjs";import{useDisclosure as V}from"./hooks/useDisclosure.mjs";import{useGoogleFont as W}from"./hooks/useGoogleFont.mjs";import{useCallbackRef as G}from"./hooks/useCallbackRef.mjs";import{useQRCode as Y}from"./hooks/useQRCode.mjs";import{useSearchParams as H}from"./hooks/useSearchParams.mjs";import{useDebounceValue as z}from"./hooks/useDebounceValue.mjs";import{useScript as Q}from"./hooks/useScript.mjs";import{useThrottle as _}from"./hooks/useThrottle.mjs";import{useToggle as q}from"./hooks/useToggle.mjs";import{useWindowScroll as Z}from"./hooks/useWindowScroll.mjs";import{useWindowSize as K}from"./hooks/useWindowSize.mjs";import{useIntersectionObserver as $}from"./hooks/useIntersectionObserver.mjs";import{useCounter as J}from"./hooks/useCounter.mjs";import{useOnClickOutside as j}from"./hooks/useOnClickOutside.mjs";import{usePrevious as X}from"./hooks/usePrevious.mjs";import{useResizeObserver as aa}from"./hooks/useResizeObserver.mjs";import{useNavigatorOnline as ea}from"./hooks/useNavigatorOnline.mjs";import{useDebounceCallback as ra}from"./hooks/useDebounceCallback.mjs";import{useStyledQRCode as sa}from"./hooks/useStyledQRCode.mjs";import{useNetworkType as oa}from"./hooks/useNetworkType.mjs";import{useBidirectionalScroll as ta}from"./hooks/useBidirectionalScroll.mjs";import{usePersistedState as ia}from"./hooks/usePersistedState.mjs";import{black as ma,blue as na,colors as pa,dangerContrast as la,darkBlue as fa,darkGreen as da,darkGrey as ca,darkGreyContrast as ua,darkRed as Ca,darkYellow as ha,green as Ta,grey as ga,greyContrast as Sa,infoContrast as Pa,lightBlue as Da,lightGreen as ba,lightGrey as Ba,lightGreyContrast as ya,lightRed as Fa,lightYellow as va,red as ka,textDisabled as Ia,warningContrast as Oa,white as La,yellow as Aa}from"./styles/colors.mjs";import{theme as Ma}from"./styles/theme.mjs";import{shadows as Ea}from"./styles/shadows.mjs";import{wrapPromise as Ra}from"./utils/wrapPromise/index.mjs";import{formatDateMMDDYYYY as Na,formatDateMMYY as xa,formatDateToTimestamp as Ua,formatExtendedDate as wa,formatLogTimestamp as Va,toUTCMilliseconds as Wa}from"./utils/date.mjs";import{countries as Ga,getPhoneData as Ya,getPhoneDataByFieldName as Ha,parseToPhoneNational as za,sortByCountryName as Qa,validatePhone as _a}from"./utils/phone/index.mjs";import{masks as qa}from"./utils/masks/index.mjs";import{omitProperties as Za}from"./utils/omitProperty.mjs";import{ssnFormatter as Ka,ssnRegex as $a}from"./utils/ssn.mjs";import{stringToHashedColor as Ja,uuidToHashedColor as ja}from"./utils/uuidColor.mjs";import{toCapitalize as Xa}from"./utils/string/toCapitalize.mjs";import{toSentenceCase as ae}from"./utils/string/toSentenceCase.mjs";import{kebabCaseToPretty as ee}from"./utils/string/formatKebabToPretty.mjs";import{generateKeyFromString as re}from"./utils/string/generateKeyFromString.mjs";import{alpha as se,contrastColor as oe,darken as te,ensureWcagAAContrast as ie,getContrastRatio as me,getThemeFromPrimaryColor as ne,lighten as pe,meetsWcagAA as le,mix as fe}from"./utils/color/index.mjs";import{addressFormatter as de,fromUSAddress as ce,parseCountryCode as ue,toUSaddress as Ce,toUSaddressPretty as he}from"./utils/address/index.mjs";import{DEFAULT_FONT_FAMILY as Te,DEFAULT_FONT_WEIGHTS as ge,makeGoogleFontUrl as Se}from"./utils/makeGoogleFont.mjs";import{prepareNotification as Pe}from"./utils/notification.mjs";import{resolveLogo as De}from"./utils/logo/index.mjs";import{USDateSchema as be,birthDateSchema as Be,dateSchema as ye,getDateSchemaWithPastValidation as Fe,refineAge18Plus as ve,refineMinimumDate1900 as ke,refineTimestamp as Ie,validateAge18Plus as Oe,validateMinimumDate1900 as Le,validateTimestamp as Ae}from"./validations/date.schema.mjs";import{descriptionSchema as Me}from"./validations/description.schema.mjs";import{businessEmailSchema as Ee,emailSchema as Re}from"./validations/email.schema.mjs";import{fieldSchema as Ne}from"./validations/field.schema.mjs";import{phoneSchema as xe}from"./validations/phone.schema.mjs";import{MaskedAndUnmaskedSSNSchema as Ue,SSNSchema as we}from"./validations/ssn.schema.mjs";import{getUnixSchema as Ve}from"./validations/unix.schema.mjs";import{npiSchema as We}from"./validations/npi.schema.mjs";import{stateSchema as Ge,zipCodeSchema as Ye}from"./validations/address.schema.mjs";import{AcceptTermsNotice as He}from"./components/terms/AcceptTermsNotice.mjs";import{AdaptativeBox as ze}from"./components/UI/AdaptativeBox.mjs";import{AddressInput as Qe}from"./components/form/AddressInput/index.mjs";import{Alert as _e}from"./components/Alert/Alert.mjs";import{BILLABLE_PRODUCTS as qe,BillableProduct as Ze}from"./components/chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as Ke}from"./components/Banners/Banner.mjs";import{BasePhoneInput as $e}from"./components/form/BasePhoneInput.mjs";import{BillableEventsProductTable as Je}from"./components/chart/BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as je}from"./components/chart/BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as Xe}from"./components/chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as ar,CalendlyDialogComponent as er}from"./components/dialog/CalendlyDialog.mjs";import{ContentWithLoader as rr}from"./components/UI/ContentWithLoader.mjs";import{CustomDialog as sr}from"./components/dialog/Dialog.mjs";import{DataTable as or}from"./components/DataTable/DataTable.mjs";import{DateInput as tr}from"./components/form/DateInput/index.mjs";import{DateRangeInput as ir}from"./components/form/DateRangeInput/index.mjs";import{DefaultInput as mr}from"./components/form/DefaultInput.mjs";import{EmailInput as nr}from"./components/form/EmailInput.mjs";import{ExactBirthdayBanner as pr}from"./components/Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as lr}from"./components/buttons/ExportToPdfButton.mjs";import{Form as fr}from"./components/form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as dr}from"./components/form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as cr}from"./components/form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as ur}from"./components/form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as Cr,useForm as hr}from"./components/form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as Tr}from"./components/Alert/FullWidthAlert.mjs";import{IconPlayer as gr}from"./components/icons/IconPlayer.mjs";import{LegalLink as Sr}from"./components/terms/LegalLink.mjs";import{LinkButton as Pr}from"./components/buttons/LinkButton.mjs";import{LogDetailPanel as Dr}from"./components/logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as br}from"./components/logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as Br}from"./components/logs/LogsTable/LogsTable.mjs";import{MetricsProvider as yr,useMetrics as Fr}from"./contexts/metrics/Metrics.context.mjs";import{NPIInput as vr}from"./components/form/NPIInput/index.mjs";import{NewOneClickForm as kr}from"./components/form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as Ir}from"./components/form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as Or}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as Lr}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Ar}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as Mr}from"./components/buttons/OriginalButton.mjs";import{OverviewBigNumbers as Er}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Rr}from"./components/dialog/PersistentDialog.mjs";import{PhoneInput as Nr}from"./components/form/PhoneInput.mjs";import{PoweredByVerified as xr}from"./components/verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as Ur}from"./components/form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as wr}from"./components/terms/PrivacyPolicyNotice.mjs";import{RadioOption as Vr}from"./components/form/RadioOption.mjs";import{ResendPhoneBanner as Wr}from"./components/Banners/ResendPhoneBanner.mjs";import{SSNInput as Gr}from"./components/form/SSNInput.mjs";import{SelectInput as Yr}from"./components/form/SelectInput.mjs";import{SnackbarProvider as Hr}from"notistack";import{SynchronizedMetricsChart as zr,TOTAL_DATA_KEY as Qr,enrichWithTotal as _r,mergeChartData as qr}from"./components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as Zr}from"./components/text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as Kr}from"./components/text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as $r}from"./components/text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as Jr}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as jr}from"./components/Banners/TestPhoneNumbersBanner.mjs";import{TextButton as Xr}from"./components/buttons/TextButton.mjs";import{TimezoneInput as as}from"./components/form/TimezoneInput/index.mjs";import{VerifiedImage as es}from"./components/verified/VerifiedImage.mjs";import{VerifiedIncLogo as rs}from"./components/verified/VerifiedIncLogo.mjs";import{applyFieldFilters as ss,buildInitialFilterState as os,effectiveFilterFieldCount as ts,emptyFieldValue as is,isFilterFieldActive as ms}from"./components/DataTable/DataTable.filterState.mjs";import{applySearch as ns,getLeafAccessorsById as ps}from"./components/DataTable/DataTable.filters.mjs";import{defaultOverviewMetrics as ls}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as fs}from"./components/chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as ds,exportDataTableToExcel as cs,getDataTableExportModel as us,printDataTable as Cs}from"./components/DataTable/DataTable.export.mjs";import{formatBillableMetric as hs,formatChallengeInput as Ts,formatHealthDataProviderMode as gs,formatPromptForChallenge as Ss}from"./components/chart/BillableEventsTable/format.mjs";import{formatInTimeZone as Ps}from"./node_modules/date-fns-tz/dist/esm/formatInTimeZone/index.mjs";import{mapBillableEventsProductTableData as Ds}from"./components/chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapBillableEventsTableData as bs}from"./components/chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as Bs}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as ys}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as Fs}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as vs}from"./components/chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as ks}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as Is}from"./components/form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as Os,useBrandFilterInput as Ls}from"./components/BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as As}from"./components/form/NewOneClickForm/core/mappers/share.map.mjs";import{useColorMap as Ms}from"./hooks/metrics/useColorMap.mjs";import{useTTSMagicLink as Es}from"./hooks/text-to-signup/magic-link.mjs";import{useTTSMagicQRCode as Rs}from"./hooks/text-to-signup/magic-qr-code.mjs";import{useTTSMagicQRCodeOptions as Ns}from"./hooks/text-to-signup/magic-qr-code-options.mjs";import{useTTSMagicText as xs}from"./hooks/text-to-signup/magic-text.mjs";export{He as AcceptTermsNotice,ze as AdaptativeBox,Qe as AddressInput,_e as Alert,S as AreaChart,qe as BILLABLE_PRODUCTS,f as Backdrop,Ke as Banner,$e as BasePhoneInput,T as BigNumber,Je as BillableEventsProductTable,je as BillableEventsTable,Ze as BillableProduct,Xe as BrandDetailsPanel,c as BrandFilterInput,d as Button,ar as CalendlyDialog,er as CalendlyDialogComponent,rr as ContentWithLoader,L as ConversionOverTimeChart,R as CopyableUuid,t as CredentialRequestsEditor,p as CustomAlertComponent,sr as CustomDialog,Te as DEFAULT_FONT_FAMILY,ge as DEFAULT_FONT_WEIGHTS,or as DataTable,tr as DateInput,ir as DateRangeInput,mr as DefaultInput,nr as EmailInput,k as EmptyChartSection,P as ErrorCodesChart,pr as ExactBirthdayBanner,lr as ExportToPdfButton,fr as Form,dr as FormBuilder,cr as FormField,ur as FormFieldBuilder,Cr as FormProvider,Tr as FullWidthAlert,O as FunnelChart,gr as IconPlayer,m as Image,Sr as LegalLink,Pr as LinkButton,v as LoadingChartSection,Dr as LogDetailPanel,br as LogsInfoAlert,Br as LogsTable,Ue as MaskedAndUnmaskedSSNSchema,I as MetricLastUpdated,yr as MetricsProvider,vr as NPIInput,kr as NewOneClickForm,Ir as OTPInput,Or as OneClickVerificationEventsOverTimeChart,Lr as OneClickVerificationFunnelChart,Ar as OneClickVerificationSuccessOverTimeChart,Mr as OriginalButton,Er as OverviewBigNumbers,r as PageHeader,s as PageSectionHeader,a as Paragraph,Rr as PersistentDialog,Nr as PhoneInput,b as PieChart,xr as PoweredByVerified,Ur as PrettyPhoneInput,wr as PrivacyPolicyNotice,n as QRCodeDisplay,Vr as RadioOption,D as ReasonCodesChart,E as RequiredLabel,Wr as ResendPhoneBanner,y as RiskScoreBarChart,B as RiskScorePieChart,Gr as SSNInput,we as SSNSchema,e as SectionHeader,Yr as SelectInput,u as SeriesChart,C as SeriesChartLegend,h as SeriesPercentageChart,g as SimpleBarChart,F as SimpleLegend,Hr as SnackbarProvider,zr as SynchronizedMetricsChart,Qr as TOTAL_DATA_KEY,Zr as TTSMagicButton,Kr as TTSMagicLegalLanguage,$r as TTSMagicQRCode,Jr as TTSOverTimeChart,jr as TestPhoneNumbersBanner,Xr as TextButton,as as TimezoneInput,N as Tip,x as Tunnel,o as Typography,be as USDateSchema,es as VerifiedImage,rs as VerifiedIncLogo,i as When,M as WhenStyled,de as addressFormatter,se as alpha,ss as applyFieldFilters,ns as applySearch,Be as birthDateSchema,ma as black,na as blue,os as buildInitialFilterState,Ee as businessEmailSchema,pa as colors,oe as contrastColor,Ga as countries,la as dangerContrast,fa as darkBlue,da as darkGreen,ca as darkGrey,ua as darkGreyContrast,Ca as darkRed,ha as darkYellow,te as darken,ye as dateSchema,ls as defaultOverviewMetrics,Me as descriptionSchema,ts as effectiveFilterFieldCount,Re as emailSchema,is as emptyFieldValue,_r as enrichWithTotal,ie as ensureWcagAAContrast,fs as exportBillableEventsToCsv,ds as exportDataTableToCsv,cs as exportDataTableToExcel,Ne as fieldSchema,hs as formatBillableMetric,Ts as formatChallengeInput,Na as formatDateMMDDYYYY,xa as formatDateMMYY,Ua as formatDateToTimestamp,wa as formatExtendedDate,gs as formatHealthDataProviderMode,Ps as formatInTimeZone,Va as formatLogTimestamp,Ss as formatPromptForChallenge,ce as fromUSAddress,re as generateKeyFromString,me as getContrastRatio,us as getDataTableExportModel,Fe as getDateSchemaWithPastValidation,ps as getLeafAccessorsById,Ya as getPhoneData,Ha as getPhoneDataByFieldName,ne as getThemeFromPrimaryColor,Ve as getUnixSchema,Ta as green,ga as grey,Sa as greyContrast,Pa as infoContrast,ms as isFilterFieldActive,ee as kebabCaseToPretty,Da as lightBlue,ba as lightGreen,Ba as lightGrey,ya as lightGreyContrast,Fa as lightRed,va as lightYellow,pe as lighten,Se as makeGoogleFontUrl,Ds as mapBillableEventsProductTableData,bs as mapBillableEventsTableData,Bs as mapOneClickVerificationAreaSeriesData,ys as mapOneClickVerificationFunnelChartData,Fs as mapOneClickVerificationSuccessOverTimeChartData,vs as mapSeriesTimeSeriesData,ks as mapTTSTimeSeriesData,qa as masks,le as meetsWcagAA,qr as mergeChartData,fe as mix,A as normalizePercentData,We as npiSchema,Za as omitProperties,ue as parseCountryCode,za as parseToPhoneNational,xe as phoneSchema,Pe as prepareNotification,Cs as printDataTable,ka as red,ve as refineAge18Plus,ke as refineMinimumDate1900,Ie as refineTimestamp,De as resolveLogo,Ea as shadows,Qa as sortByCountryName,Ka as ssnFormatter,$a as ssnRegex,Ge as stateSchema,Ja as stringToHashedColor,Ia as textDisabled,Ma as theme,Xa as toCapitalize,Is as toCreatePatchCredentials,Os as toOption,ae as toSentenceCase,As as toShareCredentials,Ce as toUSaddress,he as toUSaddressPretty,Wa as toUTCMilliseconds,ta as useBidirectionalScroll,Ls as useBrandFilterInput,G as useCallbackRef,Ms as useColorMap,w as useCopyToClipboard,J as useCounter,ra as useDebounceCallback,z as useDebounceValue,V as useDisclosure,hr as useForm,W as useGoogleFont,$ as useIntersectionObserver,U as useLocalStorage,Fr as useMetrics,ea as useNavigatorOnline,oa as useNetworkType,j as useOnClickOutside,ia as usePersistedState,X as usePrevious,Y as useQRCode,aa as useResizeObserver,Q as useScript,H as useSearchParams,l as useSnackbar,sa as useStyledQRCode,Es as useTTSMagicLink,Rs as useTTSMagicQRCode,Ns as useTTSMagicQRCodeOptions,xs as useTTSMagicText,_ as useThrottle,q as useToggle,Z as useWindowScroll,K as useWindowSize,ja as uuidToHashedColor,Oe as validateAge18Plus,Le as validateMinimumDate1900,_a as validatePhone,Ae as validateTimestamp,Oa as warningContrast,La as white,Ra as wrapPromise,Aa as yellow,Ye as zipCodeSchema};
|
package/package.json
CHANGED