@verifiedinc-public/shared-ui-elements 11.0.3-beta.1 → 11.1.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/DataTable/DataTable.context.d.ts +102 -0
- package/dist/components/DataTable/DataTable.context.mjs +1 -0
- package/dist/components/DataTable/DataTable.d.ts +8 -0
- package/dist/components/DataTable/DataTable.export.d.ts +37 -0
- package/dist/components/DataTable/DataTable.export.mjs +8 -0
- package/dist/components/DataTable/DataTable.filters.d.ts +51 -0
- package/dist/components/DataTable/DataTable.filters.mjs +1 -0
- package/dist/components/DataTable/DataTable.hooks.d.ts +43 -0
- package/dist/components/DataTable/DataTable.hooks.mjs +1 -0
- package/dist/components/DataTable/DataTable.mjs +1 -0
- package/dist/components/DataTable/DataTable.types.d.ts +525 -0
- package/dist/components/DataTable/DataTable.utils.d.ts +39 -0
- package/dist/components/DataTable/DataTable.utils.mjs +1 -0
- package/dist/components/DataTable/DataTableBody.d.ts +7 -0
- package/dist/components/DataTable/DataTableBody.mjs +1 -0
- package/dist/components/DataTable/DataTableColumnMenu.d.ts +22 -0
- package/dist/components/DataTable/DataTableColumnMenu.mjs +1 -0
- package/dist/components/DataTable/DataTableExportMenu.d.ts +16 -0
- package/dist/components/DataTable/DataTableExportMenu.mjs +1 -0
- package/dist/components/DataTable/DataTableFilterPanel.d.ts +36 -0
- package/dist/components/DataTable/DataTableFilterPanel.mjs +1 -0
- package/dist/components/DataTable/DataTableFooter.d.ts +6 -0
- package/dist/components/DataTable/DataTableFooter.mjs +1 -0
- package/dist/components/DataTable/DataTableHead.d.ts +8 -0
- package/dist/components/DataTable/DataTableHead.mjs +1 -0
- package/dist/components/DataTable/DataTableHeaderCell.d.ts +16 -0
- package/dist/components/DataTable/DataTableHeaderCell.mjs +1 -0
- package/dist/components/DataTable/DataTableManageColumnsPanel.d.ts +30 -0
- package/dist/components/DataTable/DataTableManageColumnsPanel.mjs +1 -0
- package/dist/components/DataTable/DataTablePanels.d.ts +6 -0
- package/dist/components/DataTable/DataTablePanels.mjs +1 -0
- package/dist/components/DataTable/DataTableToolbar.d.ts +7 -0
- package/dist/components/DataTable/DataTableToolbar.mjs +1 -0
- package/dist/components/DataTable/index.d.ts +5 -0
- package/dist/components/chart/BillableEventsTable/BillableEventsTable.mjs +1 -1
- package/dist/components/chart/BillableEventsTable/BillableEventsTable.types.d.ts +0 -23
- package/dist/components/chart/BillableEventsTable/BrandDetailsPanel.d.ts +1 -2
- package/dist/components/chart/BillableEventsTable/BrandDetailsPanel.mjs +1 -1
- package/dist/components/chart/BillableEventsTable/exportBillableEventsToCsv.d.ts +2 -4
- package/dist/components/chart/BillableEventsTable/exportBillableEventsToCsv.mjs +3 -3
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.mjs +1 -1
- package/dist/hooks/useBidirectionalScroll.d.ts +8 -1
- package/dist/hooks/useBidirectionalScroll.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Table } from '@tanstack/react-table';
|
|
2
|
+
import { DataTableActiveFilters, DataTableData, DataTableIcons } from './DataTable.types';
|
|
3
|
+
interface DataTableFilterPanelProps<TData extends DataTableData> {
|
|
4
|
+
table: Table<TData>;
|
|
5
|
+
/**
|
|
6
|
+
* Unfiltered rows — the value input derives its suggestions from each
|
|
7
|
+
* column's distinct values here. (With manualFiltering this is just the
|
|
8
|
+
* current page; `meta.filterOptions` supplies the full set instead.)
|
|
9
|
+
*/
|
|
10
|
+
data?: TData[];
|
|
11
|
+
/** Column preselected when opening from a column menu with no active filters. */
|
|
12
|
+
initialColumnId: string;
|
|
13
|
+
anchorPosition: {
|
|
14
|
+
top: number;
|
|
15
|
+
left: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Which top corner of the panel pins to `anchorPosition` — 'right' when
|
|
19
|
+
* opening from the table toolbar so the panel grows leftward over the
|
|
20
|
+
* table. Defaults to 'left'.
|
|
21
|
+
*/
|
|
22
|
+
transformHorizontal?: 'left' | 'right';
|
|
23
|
+
/** Custom icon slots for the panel actions; unset slots keep the MUI default. */
|
|
24
|
+
icons?: DataTableIcons;
|
|
25
|
+
/** Current filter state — the panel syncs from this on mount. */
|
|
26
|
+
filters: DataTableActiveFilters;
|
|
27
|
+
onFiltersChange: (filters: DataTableActiveFilters) => void;
|
|
28
|
+
onClose: () => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Multi-row filter panel — each row targets a Column / Operator / Value
|
|
32
|
+
* triplet; rows combine with AND or OR (switched from the connector
|
|
33
|
+
* dropdown on rows 2+). Matches the MUI DataGrid Premium filter panel.
|
|
34
|
+
*/
|
|
35
|
+
export declare function DataTableFilterPanel<TData extends DataTableData>({ table, data, initialColumnId, anchorPosition, transformHorizontal, icons, filters, onFiltersChange, onClose, }: Readonly<DataTableFilterPanelProps<TData>>): import("react").JSX.Element;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{useRef as Y,useState as P,useMemo as Z}from"react";import{Popover as _,Box as W,Typography as ee,Stack as k,IconButton as le,TextField as s,MenuItem as h,Autocomplete as re,Divider as ae,Button as M}from"@mui/material";import{DeleteOutline as oe,Close as ie,Add as te}from"@mui/icons-material";import{dataTableFilterOperators as ne,filterOperatorIsMultiValue as R,filterOperatorRequiresValue as se}from"./DataTable.filters.mjs";import{getColumnLabel as ue,getColumnMeta as ce}from"./DataTable.utils.mjs";import{jsxs as u,jsx as a}from"react/jsx-runtime";function D(i,c){return{id:c,columnId:i,operator:"contains",value:[]}}function B(i){return Array.isArray(i)?i:i?[i]:[]}function de({table:i,data:c=[],initialColumnId:b,anchorPosition:T,transformHorizontal:V="left",icons:j={},filters:v,onFiltersChange:L,onClose:y}){var I;const{close:$=ie,addFilter:q=te,removeAllFilters:E=oe}=j,F=Y(0),z=()=>(F.current+=1,`r${F.current}`),[t,f]=P(()=>v.rows.length>0?v.rows:[D(b,z())]),[d,H]=P(v.logicOperator),A=i.getAllLeafColumns().filter(l=>l.getCanFilter()),N=((I=A[0])==null?void 0:I.id)??b,O=Z(()=>new Map,[i,c]),G=l=>{const r=O.get(l);if(r)return r;const e=i.getColumn(l),o=ce(e?.columnDef.meta);let n;if(o!=null&&o.filterOptions)n=o.filterOptions;else if(e!=null&&e.accessorFn){const S=new Set;c.forEach((g,C)=>{var w;const x=(w=e.accessorFn)==null?void 0:w.call(e,g,C);x!=null&&x!==""&&S.add(String(x))}),n=Array.from(S).sort((g,C)=>g.localeCompare(C))}else n=[];return O.set(l,n),n},m=(l,r)=>{L({rows:l,logicOperator:r})},J=()=>{const l=D(N,z()),r=[...t,l];f(r)},K=l=>{const r=t.filter(e=>e.id!==l);f(r),m(r,d)},Q=()=>{m([],d),y()},U=l=>{H(l),m(t,l)},p=(l,r)=>{const e=t.map(o=>o.id===l?{...o,...r}:o);f(e),m(e,d)},X=(l,r,e)=>{let o=e;R(r)?o=B(e):Array.isArray(e)&&(o=e[0]??""),p(l,{operator:r,value:o})};return u(_,{open:!0,anchorReference:"anchorPosition",anchorPosition:T,transformOrigin:{vertical:"top",horizontal:V},onClose:y,children:[u(W,{sx:{p:1.5,minWidth:560},children:[t.length===0&&a(ee,{variant:"body2",color:"text.secondary",sx:{mb:1.5,pl:.5},children:"No filters applied."}),t.map((l,r)=>u(k,{direction:"row",alignItems:"center",spacing:1,sx:{mb:1},children:[a(le,{size:"medium","aria-label":`Remove filter row ${r+1}`,onClick:()=>K(l.id),children:a($,{fontSize:"small"})}),r>0?u(s,{select:!0,size:"medium",value:d,SelectProps:{inputProps:{"aria-label":"Filter logic operator"}},onChange:e=>U(e.target.value),sx:{minWidth:80},children:[a(h,{value:"and",children:"And"}),a(h,{value:"or",children:"Or"})]}):a(W,{sx:{minWidth:80,flexShrink:0}}),a(s,{select:!0,size:"medium",label:"Column",value:l.columnId,onChange:e=>p(l.id,{columnId:e.target.value}),sx:{minWidth:150},children:A.map(e=>a(h,{value:e.id,children:ue(e)},e.id))}),a(s,{select:!0,size:"medium",label:"Operator",value:l.operator,onChange:e=>X(l.id,e.target.value,l.value),sx:{minWidth:150},children:ne.map(e=>a(h,{value:e.value,children:e.label},e.value))}),R(l.operator)?a(re,{multiple:!0,freeSolo:!0,options:G(l.columnId),filterSelectedOptions:!0,size:"medium",value:B(l.value),onChange:(e,o)=>p(l.id,{value:o}),renderInput:e=>a(s,{...e,label:"Value",placeholder:"Filter value",autoFocus:r===t.length-1}),sx:{minWidth:200}}):se(l.operator)?a(s,{size:"medium",label:"Value",placeholder:"Filter value",autoFocus:r===t.length-1,value:typeof l.value=="string"?l.value:"",onChange:e=>p(l.id,{value:e.target.value}),sx:{minWidth:180}}):null]},l.id))]}),a(ae,{}),u(k,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{px:1.5,py:.75},children:[a(M,{size:"small",startIcon:a(q,{}),onClick:J,children:"Add filter"}),t.length>0&&a(M,{size:"small",color:"primary",startIcon:a(E,{}),onClick:Q,children:"Remove all"})]})]})}export{de as DataTableFilterPanel};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Footer row below the table: consumer content on the left (`footerLeft`)
|
|
3
|
+
* opposite the pagination controls. Renders nothing when pagination is
|
|
4
|
+
* disabled and there is no footer content.
|
|
5
|
+
*/
|
|
6
|
+
export declare function DataTableFooter(): import("react").JSX.Element | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{Stack as u,TablePagination as c}from"@mui/material";import{useDataTableContext as d}from"./DataTable.context.mjs";import{jsxs as P,jsx as x}from"react/jsx-runtime";function f(){const{table:e,icons:t,isLoading:i,footerLeft:n,disablePagination:a,pageSizeOptions:s,totalRowCount:r}=d();if(n===void 0&&a)return null;const{pageIndex:g,pageSize:l}=e.getState().pagination;return P(u,{direction:"row",alignItems:"center",justifyContent:n!==void 0?"space-between":"flex-end",sx:{mt:1},children:[n,!a&&x(c,{component:"div",showFirstButton:!0,showLastButton:!0,disabled:i,sx:{"& .MuiTablePagination-select":{display:"flex",alignItems:"center"}},count:r,page:g,rowsPerPage:l,rowsPerPageOptions:s,onPageChange:(o,p)=>e.setPageIndex(p),onRowsPerPageChange:o=>e.setPageSize(Number(o.target.value)),slots:{actions:{firstButtonIcon:t.paginationFirst,previousButtonIcon:t.paginationPrevious,nextButtonIcon:t.paginationNext,lastButtonIcon:t.paginationLast}}})]})}export{f as DataTableFooter};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Header rows. Each column renders exactly one header cell, on the row
|
|
3
|
+
* matching its nesting depth: group headers on their own row, leaf
|
|
4
|
+
* headers spanning the remaining rows — like the BillableEventsTable
|
|
5
|
+
* two-row header. The other slots TanStack emits for the column
|
|
6
|
+
* (placeholders above, the repeated leaf header below) are skipped.
|
|
7
|
+
*/
|
|
8
|
+
export declare function DataTableHead(): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{TableHead as s,TableRow as m}from"@mui/material";import{useDataTableContext as i}from"./DataTable.context.mjs";import{DataTableHeaderCell as p}from"./DataTableHeaderCell.mjs";import{jsx as r}from"react/jsx-runtime";function h(){const{table:l,headerRowRefs:d}=i(),o=l.getHeaderGroups(),n=o.length;return r(s,{children:o.map((t,a)=>r(m,{ref:e=>{d.current[a]=e},children:t.headers.map(e=>e.column.depth===a?r(p,{header:e,rowIndex:a,headerRowCount:n},e.id):null)},t.id))})}export{h as DataTableHead};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Header } from '@tanstack/react-table';
|
|
2
|
+
import { DataTableData } from './DataTable.types';
|
|
3
|
+
interface DataTableHeaderCellProps {
|
|
4
|
+
header: Header<DataTableData, unknown>;
|
|
5
|
+
/** Index of the header row this cell renders on. */
|
|
6
|
+
rowIndex: number;
|
|
7
|
+
/** Total header row count — leaf cells span the remaining rows. */
|
|
8
|
+
headerRowCount: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* One header cell: the (sortable) label plus the hover kebab menu, the
|
|
12
|
+
* active-filter indicator and the resize handle, with the sticky styles
|
|
13
|
+
* for pinned columns and stacked (grouped) header rows.
|
|
14
|
+
*/
|
|
15
|
+
export declare function DataTableHeaderCell({ header, rowIndex, headerRowCount, }: Readonly<DataTableHeaderCellProps>): import("react").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{flexRender as W}from"@tanstack/react-table";import{Typography as q,TableSortLabel as G,TableCell as J,Box as C,Tooltip as w,IconButton as v}from"@mui/material";import{FilterAlt as K,MoreVert as Q}from"@mui/icons-material";import{useDataTableContext as U}from"./DataTable.context.mjs";import{isFilterRowActive as X}from"./DataTable.filters.mjs";import{getColumnMeta as Y,getColumnLabel as y}from"./DataTable.utils.mjs";import{jsx as o,jsxs as S}from"react/jsx-runtime";const _={left:"flex-start",center:"center",right:"flex-end"};function Z({header:l,rowIndex:s,headerRowCount:T}){const{icons:f,isLoading:z,filters:D,tableLayout:I,enableColumnResizing:p,enableColumnMenu:M,hasResizedColumns:R,columnPanel:c,setColumnPanel:B,openFilterPanel:P,startColumnResize:h,getPinnedOffsetStyle:$,isPinnedEdge:k,headerRowTops:j,headerCellRefs:L}=U(),{columnMenu:A=Q,filter:F=K}=f,{column:e}=l,n=Y(e.columnDef.meta),a=e.columns.length>0,g=a?1:T-s,d=n?.align??(a?"center":"left"),E=e.getCanSort(),i=e.getIsSorted(),H=p&&!a&&e.getCanResize(),N=e.getIsResizing(),r=a?!1:e.getIsPinned(),u=M&&!a&&!(n!=null&&n.disableColumnMenu),O=c?.type==="menu"&&c.columnId===e.id,m=u?D.rows.filter(t=>t.columnId===e.id&&X(t)).length:0,V=m>0,b=o(q,{component:"span",variant:"subtitle2",sx:{textTransform:"uppercase",fontSize:12,fontWeight:900},children:W(e.columnDef.header,l.getContext())}),x=E?o(G,{active:i!==!1,direction:i===!1?"asc":i,disabled:z,onClick:e.getToggleSortingHandler(),IconComponent:f.sort,children:b}):b;return S(J,{ref:t=>{a||(L.current[e.id]=t)},align:d,colSpan:l.colSpan>1?l.colSpan:void 0,rowSpan:g>1?g:void 0,sortDirection:i,style:{...R||p&&typeof n?.width=="number"?{width:l.getSize()}:{},...$(r,e.id)},sx:{width:n?.width,...I==="fixed"?{overflow:"hidden",textOverflow:"ellipsis"}:{},...a?{borderBottom:"none"}:{},...s>0?{top:j[s]??0}:{},...r?{zIndex:3,...k(r,e.id)?{boxShadow:t=>`inset ${r==="left"?-1:1}px 0 0 ${t.palette.divider}`}:{}}:{},...u?{"& .DataTable-columnMenuButton":{opacity:O?1:0,transition:"opacity .2s"},"&:hover .DataTable-columnMenuButton, &:focus-within .DataTable-columnMenuButton":{opacity:1}}:{}},children:[u?S(C,{sx:{display:"flex",alignItems:"center",gap:.5,justifyContent:_[d]},children:[x,V&&o(w,{title:`${m} active ${m===1?"filter":"filters"}`,placement:"bottom",arrow:!0,children:o(v,{size:"small","aria-label":`${y(e)} filter`,onClick:t=>P(e.id,t.currentTarget),children:o(F,{sx:{fontSize:16}})})}),o(w,{title:"Menu",placement:"bottom",arrow:!0,children:o(v,{size:"small",className:"DataTable-columnMenuButton","aria-label":`${y(e)} column menu`,onClick:t=>B({type:"menu",columnId:e.id,anchorEl:t.currentTarget}),sx:d!=="right"?{ml:"auto"}:void 0,children:o(A,{fontSize:"small"})})})]}):x,H&&o(C,{className:"DataTable-columnResizer","aria-hidden":!0,onMouseDown:t=>h(l,t),onTouchStart:t=>h(l,t),onDoubleClick:()=>e.resetSize(),sx:{position:"absolute",top:0,bottom:0,right:0,width:9,cursor:"col-resize",touchAction:"none",userSelect:"none",display:"flex",alignItems:"center",justifyContent:"center","&::after":{content:'""',transition:"background-color .2s",width:"1px",height:"50%",bgcolor:"divider"},"&:hover::after":{width:"4px",bgcolor:"primary.main"},...N?{"&::after, &:hover::after":{width:"4px",bgcolor:"primary.main"}}:{}}})]})}export{Z as DataTableHeaderCell};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Table } from '@tanstack/react-table';
|
|
2
|
+
import { DataTableData, DataTableIcons } from './DataTable.types';
|
|
3
|
+
interface DataTableManageColumnsPanelProps<TData extends DataTableData> {
|
|
4
|
+
table: Table<TData>;
|
|
5
|
+
/**
|
|
6
|
+
* Snapshot of the opener's position — the panel can outlive the element
|
|
7
|
+
* that opened it (columns can hide under it), so it is not anchored to
|
|
8
|
+
* a node.
|
|
9
|
+
*/
|
|
10
|
+
anchorPosition: {
|
|
11
|
+
top: number;
|
|
12
|
+
left: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Which top corner of the panel pins to `anchorPosition` — 'right' when
|
|
16
|
+
* opening from the table toolbar so the panel grows leftward over the
|
|
17
|
+
* table. Defaults to 'left'.
|
|
18
|
+
*/
|
|
19
|
+
transformHorizontal?: 'left' | 'right';
|
|
20
|
+
/** Custom icon slots for the panel; unset slots keep the MUI default. */
|
|
21
|
+
icons?: DataTableIcons;
|
|
22
|
+
onClose: () => void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Column visibility panel opened from the column menu, like the MUI
|
|
26
|
+
* DataGrid columns panel: a searchable checkbox per hideable column, plus
|
|
27
|
+
* Show/Hide All and a Reset back to the initial visibility.
|
|
28
|
+
*/
|
|
29
|
+
export declare function DataTableManageColumnsPanel<TData extends DataTableData>({ table, anchorPosition, transformHorizontal, icons, onClose, }: Readonly<DataTableManageColumnsPanelProps<TData>>): import("react").JSX.Element;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{useState as x}from"react";import{Popover as S,Box as z,TextField as v,InputAdornment as w,Stack as i,FormControlLabel as n,Checkbox as r,Divider as A,Button as I}from"@mui/material";import{Search as P}from"@mui/icons-material";import{getColumnLabel as c}from"./DataTable.utils.mjs";import{jsxs as a,jsx as o}from"react/jsx-runtime";function V({table:l,anchorPosition:m,transformHorizontal:h="left",icons:p={},onClose:u}){const{search:d=P}=p,[t,C]=x(""),g=l.getAllLeafColumns().filter(e=>e.getCanHide()),f=t.trim().toLowerCase(),b=g.filter(e=>c(e).toLowerCase().includes(f)),s=l.getIsAllColumnsVisible();return a(S,{open:!0,anchorReference:"anchorPosition",anchorPosition:m,transformOrigin:{vertical:"top",horizontal:h},onClose:u,children:[a(z,{sx:{p:1.5,pb:.5},children:[o(v,{fullWidth:!0,autoFocus:!0,size:"small",placeholder:"Search",inputProps:{"aria-label":"Search columns"},value:t,onChange:e=>C(e.target.value),InputProps:{startAdornment:o(w,{position:"start",children:o(d,{fontSize:"small"})})}}),o(i,{sx:{mt:1,maxHeight:300,overflowY:"auto"},children:b.map(e=>o(n,{control:o(r,{size:"small",checked:e.getIsVisible(),onChange:()=>e.toggleVisibility()}),label:c(e)},e.id))})]}),o(A,{}),a(i,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{pl:1.5,pr:1,py:.5},children:[o(n,{control:o(r,{size:"small",checked:s,indeterminate:!s&&l.getIsSomeColumnsVisible(),onChange:()=>l.toggleAllColumnsVisible(!s)}),label:"Show/Hide All"}),o(I,{size:"small",onClick:()=>l.resetColumnVisibility(),children:"Reset"})]})]})}export{V as DataTableManageColumnsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{useDataTableContext as d}from"./DataTable.context.mjs";import{DataTableColumnMenu as p}from"./DataTableColumnMenu.mjs";import{DataTableFilterPanel as C}from"./DataTableFilterPanel.mjs";import{DataTableManageColumnsPanel as f}from"./DataTableManageColumnsPanel.mjs";import{jsxs as h,Fragment as g,jsx as e}from"react/jsx-runtime";function P(){const{table:n,data:i,icons:a,isLoading:r,filters:s,onFiltersChange:m,columnPanel:o,closeColumnPanel:l,openFilterPanel:u,openManageColumnsPanel:c}=d(),t=o?.type==="menu"?n.getColumn(o.columnId):void 0;return h(g,{children:[o?.type==="menu"&&t&&e(p,{column:t,anchorEl:o.anchorEl,icons:a,isLoading:r,onClose:l,onOpenFilter:()=>u(o.columnId,o.anchorEl),onOpenManageColumns:()=>c(o.anchorEl)}),o?.type==="filter"&&e(C,{table:n,data:i,initialColumnId:o.columnId,anchorPosition:o.anchorPosition,transformHorizontal:o.transformHorizontal,icons:a,filters:s,onFiltersChange:m,onClose:l}),o?.type==="manageColumns"&&e(f,{table:n,anchorPosition:o.anchorPosition,transformHorizontal:o.transformHorizontal,icons:a,onClose:l})]})}export{P as DataTablePanels};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toolbar row above the table, like the MUI DataGrid toolbar: Manage
|
|
3
|
+
* columns and Filters buttons (the filter button carries a badge with the
|
|
4
|
+
* active filter count), the optional Export menu and a search button that
|
|
5
|
+
* expands into the quick-search input on the right.
|
|
6
|
+
*/
|
|
7
|
+
export declare function DataTableToolbar(): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{useRef as y,useState as A}from"react";import{Stack as B,Tooltip as l,IconButton as n,Badge as D,Divider as f,TextField as P,InputAdornment as b}from"@mui/material";import{Close as R,FilterList as j,ViewColumn as E,Search as O}from"@mui/icons-material";import{useDataTableContext as L}from"./DataTable.context.mjs";import{isFilterRowActive as K}from"./DataTable.filters.mjs";import{DataTableExportMenu as V}from"./DataTableExportMenu.mjs";import{jsxs as q,jsx as e}from"react/jsx-runtime";function X(){var i;const{table:s,icons:c,filters:g,search:r,onSearchChange:o,enableExport:m,exportFilename:v,toolbarFilterButtonRef:C,toolbarManageColumnsButtonRef:x,openFilterPanel:S,openManageColumnsPanel:w}=L(),{openFilterPanel:F=j,manageColumns:z=E,search:I=O,close:T=R}=c,a=y(null),[M,u]=A(!1),d=M||r!=="",k=g.rows.filter(K).length,p=(i=s.getAllLeafColumns().find(t=>t.getCanFilter()))==null?void 0:i.id;return q(B,{direction:"row",alignItems:"center",justifyContent:"flex-end",spacing:.5,sx:{mb:.5},children:[e(l,{title:"Manage columns",placement:"bottom",arrow:!0,children:e(n,{ref:x,size:"small","aria-label":"Manage columns",onClick:t=>w(t.currentTarget),children:e(z,{fontSize:"small"})})}),p!==void 0&&e(l,{title:"Filters",placement:"bottom",arrow:!0,children:e(n,{ref:C,size:"small","aria-label":"Show filters",onClick:t=>S(p,t.currentTarget),children:e(D,{badgeContent:k,color:"primary",children:e(F,{fontSize:"small"})})})}),m&&e(f,{orientation:"vertical",variant:"middle",flexItem:!0,sx:{height:14,alignSelf:"center"}}),m&&e(V,{table:s,filename:v,icons:c}),e(f,{orientation:"vertical",variant:"middle",flexItem:!0,sx:{height:14,alignSelf:"center"}}),e(P,{size:"small",variant:"outlined",value:r,placeholder:"Search\u2026",inputRef:a,onChange:t=>o(t.target.value),onFocus:()=>u(!0),onBlur:()=>u(!1),onKeyDown:t=>{var h;t.key==="Escape"&&(o(""),(h=a.current)==null||h.blur())},inputProps:{"aria-label":"Search"},InputProps:{startAdornment:e(b,{position:"start",children:e(l,{title:"Search",placement:"bottom",arrow:!0,children:e(n,{size:"small","aria-label":"Show search",onClick:()=>{var t;return(t=a.current)==null?void 0:t.focus()},children:e(I,{fontSize:"small"})})})}),endAdornment:r===""?void 0:e(b,{position:"end",children:e(l,{title:"Clear",placement:"bottom",arrow:!0,children:e(n,{size:"small","aria-label":"Clear search",onClick:()=>{var t;o(""),(t=a.current)==null||t.focus()},children:e(T,{fontSize:"small"})})})})},sx:{width:d?220:34,transition:"width .2s",overflow:"hidden","& .MuiOutlinedInput-root":{pl:.5,pr:.5},"& .MuiOutlinedInput-notchedOutline":{opacity:d?1:0,transition:"opacity .2s"}}})]})}export{X as DataTableToolbar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{TableContainer as
|
|
1
|
+
"use strict";import{TableContainer as U,Paper as L,Table as P,TableHead as D,TableRow as m,TableCell as n,TableBody as N,TableSortLabel as E}from"@mui/material";import{useState as j,useEffect as F,useMemo as y,Fragment as I}from"react";import{EmptyChartSection as M}from"../EmptyChartSection.mjs";import{LoadingChartSection as O}from"../LoadingChartSection.mjs";import{BillableProduct as R,BILLABLE_PRODUCTS as A}from"./BillableEventsTable.types.mjs";import{BrandDetailsPanel as H}from"./BrandDetailsPanel.mjs";import{useBillableSort as K}from"./useBillableSort.hook.mjs";import{white as W}from"../../../styles/colors.mjs";import{jsx as e,jsxs as c}from"react/jsx-runtime";const _=["customerName","brand","integrationType"],q=({data:l,isLoading:S,isFetching:C,visibleProducts:f,onSortedDataChange:h,columnSlots:a,topLevelColumns:i=[],showCustomerColumn:d=!0})=>{const{sortKey:k,sortDir:T,handleSort:v,sortedData:u}=K(l,_,"brand"),[x,B]=j(null);F(()=>{h?.(u)},[u,h]);const p=y(()=>{const r=f??Object.values(R);return A.filter(t=>r.includes(t.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=2+(d?1:0)+i.length+g.length,s=(r,t,o="left")=>e(E,{active:k===r,direction:k===r?T:"asc",onClick:()=>v(r),sx:o==="right"?{flexDirection:"row"}:void 0,children:t});return!(l!=null&&l.length)&&S?e(O,{}):l!=null&&l.length?e(U,{component:L,sx:{opacity:C?.4:1},children:c(P,{sx:{backgroundColor:W},children:[c(D,{children:[c(m,{children:[d&&e(n,{rowSpan:2,children:s("customerName","Customer Name")}),e(n,{rowSpan:2,children:s("brand","Brand Name")}),e(n,{rowSpan:2,children:s("integrationType","Integration Type")}),i.map(r=>e(n,{rowSpan:2,children:s(r.key,r.label)},r.key)),p.map(r=>{const t=r.columns.filter(o=>!b.has(o.key)).length;return t===0?null:e(n,{colSpan:t,align:"center",sx:{fontWeight:"bold",borderBottom:"none"},children:r.label},r.product)})]}),e(m,{children:g.map(r=>e(n,{align:"right",children:s(r.key,r.label,"right")},r.key))})]}),e(N,{children:u.map(r=>{const t=x===r.brandUuid;return c(I,{children:[c(m,{hover:!0,onClick:()=>B(t?null:r.brandUuid),sx:{cursor:"pointer","& > td":{borderBottom:t?"none":void 0}},children:[d&&e(n,{children:r.customerName??"\u2014"}),e(n,{children:r.brand}),e(n,{children:r.integrationType}),i.map(o=>e(n,{children:a!=null&&a[o.key]?a[o.key](r):r.metrics[o.key]??0},o.key)),g.map(o=>e(n,{align:"right",children:a!=null&&a[o.key]?a[o.key](r):r.metrics[o.key]??0},o.key))]}),t&&e(m,{children:e(n,{colSpan:w,sx:{py:0,px:0,borderTop:"none",bgcolor:"grey.50"},children:e(H,{brandUuid:r.brandUuid,customerUuid:d?r.customerUuid:void 0,challengePrompts:r.challengePrompts,providers:r.providers})})})]},r.brandUuid)})})]})}):e(M,{})};export{q as BillableEventsTable};
|
|
@@ -20,19 +20,6 @@ export type BillableEventColumn = {
|
|
|
20
20
|
label: string;
|
|
21
21
|
metricKey: string;
|
|
22
22
|
};
|
|
23
|
-
/**
|
|
24
|
-
* An ordered leading column rendered between Customer Name and Brand Name. Either a single column
|
|
25
|
-
* or a labelled group with a parent header spanning its child columns.
|
|
26
|
-
* Cells render via `columnSlots[column.key]` (falling back to `metrics`).
|
|
27
|
-
*/
|
|
28
|
-
export type BillableLeadingColumn = {
|
|
29
|
-
type: 'column';
|
|
30
|
-
column: BillableEventColumn;
|
|
31
|
-
} | {
|
|
32
|
-
type: 'group';
|
|
33
|
-
label: string;
|
|
34
|
-
columns: BillableEventColumn[];
|
|
35
|
-
};
|
|
36
23
|
export type BillableProductConfig = {
|
|
37
24
|
product: BillableProduct;
|
|
38
25
|
label: string;
|
|
@@ -49,11 +36,6 @@ export type BillableEventsTableRow = {
|
|
|
49
36
|
raw: ChartData;
|
|
50
37
|
challengePrompts?: ChallengePrompt[];
|
|
51
38
|
providers?: BrandProviders;
|
|
52
|
-
dealName?: string | null;
|
|
53
|
-
dealCurrentStage?: string | null;
|
|
54
|
-
dealFurthestStage?: string | null;
|
|
55
|
-
billable?: boolean | null;
|
|
56
|
-
billingNotes?: string | null;
|
|
57
39
|
};
|
|
58
40
|
export type BillableEventsTableProps = {
|
|
59
41
|
data: BillableEventsTableRow[];
|
|
@@ -63,11 +45,6 @@ export type BillableEventsTableProps = {
|
|
|
63
45
|
onSortedDataChange?: (sortedData: BillableEventsTableRow[]) => void;
|
|
64
46
|
columnSlots?: Record<string, (row: BillableEventsTableRow) => React.ReactNode>;
|
|
65
47
|
topLevelColumns?: BillableEventColumn[];
|
|
66
|
-
/**
|
|
67
|
-
* Ordered columns/groups rendered between Customer Name and Brand Name.
|
|
68
|
-
* Opt-in, omitted ⇒ unchanged layout.
|
|
69
|
-
*/
|
|
70
|
-
leadingColumns?: BillableLeadingColumn[];
|
|
71
48
|
/**
|
|
72
49
|
* Show the leading Customer Name column. Defaults to `true`. Set `false`
|
|
73
50
|
* for views scoped to a single customer where the column would be redundant.
|
|
@@ -4,7 +4,6 @@ interface BrandDetailsPanelProps {
|
|
|
4
4
|
customerUuid?: string;
|
|
5
5
|
challengePrompts?: ChallengePrompt[];
|
|
6
6
|
providers?: BrandProviders;
|
|
7
|
-
billingNotes?: string | null;
|
|
8
7
|
}
|
|
9
|
-
export declare function BrandDetailsPanel({ brandUuid, customerUuid, challengePrompts, providers,
|
|
8
|
+
export declare function BrandDetailsPanel({ brandUuid, customerUuid, challengePrompts, providers, }: Readonly<BrandDetailsPanelProps>): JSX.Element;
|
|
10
9
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{Box as
|
|
1
|
+
"use strict";import{Box as l,Stack as d,Typography as i}from"@mui/material";import{CopyableUuid as v}from"../../CopyableUuid/index.mjs";import{formatChallengeInput as P,formatPromptForChallenge as y,formatHealthDataProviderMode as b}from"./format.mjs";import{jsx as e,jsxs as o}from"react/jsx-runtime";const h={fontSize:11,fontWeight:700,letterSpacing:.6,textTransform:"uppercase",color:"text.primary",mb:1.5},p={fontSize:14,fontWeight:700,color:"text.primary",mb:1},c={fontSize:12,fontWeight:600,color:"text.secondary",mb:.5},m={m:0,pl:3,"& li":{mb:.25},"& li::marker":{color:"text.secondary",fontWeight:500}},u={fontSize:12,color:"text.secondary",mr:.75};function S({brandUuid:n,customerUuid:r,challengePrompts:a,providers:t}){const s=!!(t!=null&&t.allowedProviders&&t.allowedProviders.length>0),f=!!(t&&(t.healthDataProviders&&t.healthDataProviders.length>0||t.healthDataProviderMode));return e(l,{sx:{p:2},children:o(d,{spacing:3,children:[e(D,{brandUuid:n,customerUuid:r}),e(U,{challengePrompts:a,providers:t,hasSignupProviders:s,hasHealth:f})]})})}function D({brandUuid:n,customerUuid:r}){return o(l,{children:[e(i,{sx:h,children:"Identifiers"}),o(d,{direction:{xs:"column",sm:"column"},spacing:{xs:.5,sm:.5},children:[e(g,{label:"Brand UUID",value:n}),r&&e(g,{label:"Customer UUID",value:r})]})]})}function g({label:n,value:r}){return o(d,{direction:"row",alignItems:"center",children:[o(i,{component:"span",sx:u,children:[n,":"]}),e(v,{uuid:r,label:n,variant:"button",head:36,mono:!0,typographyProps:{fontWeight:800},iconSx:{fontSize:14,p:.125}})]})}function U({challengePrompts:n,providers:r,hasSignupProviders:a,hasHealth:t}){return o(l,{children:[e(i,{sx:h,children:"Settings"}),o(d,{direction:{xs:"column",md:"row"},spacing:4,alignItems:"flex-start",children:[e(l,{sx:{flex:1,minWidth:0},children:e(C,{challengePrompts:n,allowedProviders:r?.allowedProviders,hasSignupProviders:a})}),t&&r&&e(l,{sx:{flex:1,minWidth:0},children:e(w,{providers:r})})]})]})}function C({challengePrompts:n,allowedProviders:r,hasSignupProviders:a}){return o(l,{children:[e(i,{sx:p,children:"1-Click Signup"}),o(d,{spacing:1.5,children:[e(I,{prompts:n}),a&&r&&e(x,{providers:r,ordered:!0})]})]})}function w({providers:n}){const r=n.healthDataProviders??[],a=n.healthDataProviderMode==="parallel";return o(l,{children:[e(i,{sx:p,children:"1-Click Health"}),e(x,{providers:r,mode:n.healthDataProviderMode,ordered:!a})]})}function I({prompts:n}){return o(l,{children:[e(i,{sx:c,children:"Challenges"}),n&&n.length>0?e(l,{component:"ol",sx:m,children:n.map((r,a)=>o(i,{component:"li",variant:"body2",children:[P(r.type)," (",y(r.promptForChallenge),")"]},`${r.type}-${a}`))}):e(i,{variant:"body2",color:"text.secondary",fontStyle:"italic",sx:{pl:1},children:"None configured"})]})}function x({providers:n,mode:r,ordered:a}){return n.length===0?o(l,{children:[e(i,{sx:c,children:"Data Providers"}),e(i,{variant:"body2",color:"text.secondary",fontStyle:"italic",sx:{pl:1},children:"None configured"})]}):o(l,{children:[e(i,{sx:c,children:"Data Providers"}),r&&o(d,{direction:"row",alignItems:"baseline",spacing:.5,sx:{mb:.5},children:[e(i,{component:"span",sx:u,children:"Mode:"}),e(i,{component:"span",variant:"body2",fontWeight:600,children:b(r)})]}),e(l,{component:a?"ol":"ul",sx:m,children:n.map((t,s)=>e(i,{component:"li",variant:"body2",children:t},`${t}-${s}`))})]})}export{S as BrandDetailsPanel};
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { BillableProduct, BillableEventColumn, BillableEventsTableRow
|
|
1
|
+
import { BillableProduct, BillableEventColumn, BillableEventsTableRow } from './BillableEventsTable.types';
|
|
2
2
|
interface ExportBillableEventsToCsvOptions {
|
|
3
3
|
data: BillableEventsTableRow[];
|
|
4
4
|
visibleProducts?: BillableProduct[];
|
|
5
5
|
filename?: string;
|
|
6
6
|
topLevelColumns?: BillableEventColumn[];
|
|
7
|
-
/** Leading columns/groups (between Customer and Brand), matches the table's `leadingColumns`. */
|
|
8
|
-
leadingColumns?: BillableLeadingColumn[];
|
|
9
7
|
columnFormatters?: Record<string, (value: number, row: BillableEventsTableRow) => string>;
|
|
10
8
|
/**
|
|
11
9
|
* Include the `Customer Name` and `Customer UUID` columns. Defaults to
|
|
@@ -13,5 +11,5 @@ interface ExportBillableEventsToCsvOptions {
|
|
|
13
11
|
*/
|
|
14
12
|
showCustomerColumn?: boolean;
|
|
15
13
|
}
|
|
16
|
-
export declare function exportBillableEventsToCsv({ data, visibleProducts, filename, topLevelColumns,
|
|
14
|
+
export declare function exportBillableEventsToCsv({ data, visibleProducts, filename, topLevelColumns, columnFormatters, showCustomerColumn, }: ExportBillableEventsToCsvOptions): void;
|
|
17
15
|
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";import{BillableProduct as
|
|
2
|
-
`)?`"${
|
|
3
|
-
`),
|
|
1
|
+
"use strict";import{BillableProduct as B,BILLABLE_PRODUCTS as C}from"./BillableEventsTable.types.mjs";function o(u){const n=String(u);return n.includes(",")||n.includes('"')||n.includes(`
|
|
2
|
+
`)?`"${n.replace(/"/g,'""')}"`:n}function w({data:u,visibleProducts:n,filename:U="billable-events",topLevelColumns:c=[],columnFormatters:a,showCustomerColumn:f=!0}){const k=n??Object.values(B),h=C.filter(e=>k.includes(e.product)),b=new Set(c.map(e=>e.key)),v=h.flatMap(e=>e.columns).filter(e=>!b.has(e.key)),i=[],L=(f?2:0)+3,m=[...new Array(L).fill(""),...c.map(()=>"")];for(const e of h){const s=e.columns.filter(t=>!b.has(t.key)).length;if(s!==0){m.push(o(e.label));for(let t=1;t<s;t++)m.push("")}}i.push(m.join(","));const p=[...f?["Customer Name","Customer UUID"]:[],"Brand Name","Brand UUID","Integration Type"];for(const e of c)p.push(o(e.label));for(const e of v)p.push(o(e.label));i.push(p.join(","));for(const e of u){const s=[...f?[o(e.customerName??""),o(e.customerUuid??"")]:[],o(e.brand),o(e.brandUuid),o(e.integrationType)];for(const t of c){const r=e.metrics[t.key]??0,l=a?.[t.key];s.push(l?o(l(r,e)):String(r))}for(const t of v){const r=e.metrics[t.key]??0,l=a?.[t.key];s.push(l?o(l(r,e)):String(r))}i.push(s.join(","))}const g=i.join(`
|
|
3
|
+
`),j=new Blob([g],{type:"text/csv;charset=utf-8;"}),y=URL.createObjectURL(j),d=document.createElement("a");d.href=y,d.download=`${U}.csv`,d.click(),URL.revokeObjectURL(y)}export{w as exportBillableEventsToCsv};
|
|
@@ -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 P}from"./chart/AreaChart/index.mjs";import{ErrorCodesChart as B}from"./chart/ErrorCodesChart/index.mjs";import{ReasonCodesChart as S}from"./chart/ReasonCodesChart/index.mjs";import{PieChart as I}from"./chart/PieChart/index.mjs";import{RiskScorePieChart as D}from"./chart/RiskScorePieChart/index.mjs";import{RiskScoreBarChart as v}from"./chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as L}from"./chart/SimpleLegend/index.mjs";import{LoadingChartSection as O}from"./chart/LoadingChartSection.mjs";import{EmptyChartSection as b}from"./chart/EmptyChartSection.mjs";import{MetricLastUpdated as y}from"./chart/MetricLastUpdated.mjs";import{FunnelChart as k}from"./chart/FunnelChart/index.mjs";import{ConversionOverTimeChart as F,normalizePercentData as A}from"./chart/ConversionOverTimeChart/index.mjs";import{WhenStyled as E}from"./WhenStyled.mjs";import{RequiredLabel as R}from"./RequiredLabel/index.mjs";import{CopyableUuid as V}from"./CopyableUuid/index.mjs";import{AcceptTermsNotice as M}from"./terms/AcceptTermsNotice.mjs";import{AdaptativeBox as N}from"./UI/AdaptativeBox.mjs";import{AddressInput as x}from"./form/AddressInput/index.mjs";import{Alert as W}from"./Alert/Alert.mjs";import{BILLABLE_PRODUCTS as w,BillableProduct as z}from"./chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as H}from"./Banners/Banner.mjs";import{BasePhoneInput as U}from"./form/BasePhoneInput.mjs";import{BillableEventsProductTable as _}from"./chart/BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as q}from"./chart/BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as Q}from"./chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as K,CalendlyDialogComponent as Y}from"./dialog/CalendlyDialog.mjs";import{ContentWithLoader as j}from"./UI/ContentWithLoader.mjs";import{CustomDialog as G}from"./dialog/Dialog.mjs";import{DateInput as J}from"./form/DateInput/index.mjs";import{DateRangeInput as X}from"./form/DateRangeInput/index.mjs";import{DefaultInput as Z}from"./form/DefaultInput.mjs";import{EmailInput as $}from"./form/EmailInput.mjs";import{ExactBirthdayBanner as aa}from"./Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as ra}from"./buttons/ExportToPdfButton.mjs";import{Form as ea}from"./form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as oa}from"./form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as ta}from"./form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as ia}from"./form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as sa,useForm as ma}from"./form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as na}from"./Alert/FullWidthAlert.mjs";import{IconPlayer as pa}from"./icons/IconPlayer.mjs";import{LegalLink as la}from"./terms/LegalLink.mjs";import{LinkButton as fa}from"./buttons/LinkButton.mjs";import{LogDetailPanel as da}from"./logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as ca}from"./logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as Ca}from"./logs/LogsTable/LogsTable.mjs";import{NPIInput as ua}from"./form/NPIInput/index.mjs";import{NewOneClickForm as ha}from"./form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as Ta}from"./form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as ga}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as Pa}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Ba}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as Sa}from"./buttons/OriginalButton.mjs";import{OverviewBigNumbers as Ia}from"./chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Da}from"./dialog/PersistentDialog.mjs";import{PhoneInput as va}from"./form/PhoneInput.mjs";import{PoweredByVerified as La}from"./verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as Oa}from"./form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as ba}from"./terms/PrivacyPolicyNotice.mjs";import{RadioOption as ya}from"./form/RadioOption.mjs";import{ResendPhoneBanner as ka}from"./Banners/ResendPhoneBanner.mjs";import{SSNInput as Fa}from"./form/SSNInput.mjs";import{SelectInput as Aa}from"./form/SelectInput.mjs";import{SnackbarProvider as Ea}from"notistack";import{SynchronizedMetricsChart as Ra,TOTAL_DATA_KEY as Va,enrichWithTotal as Ma,mergeChartData as Na}from"./chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as xa}from"./text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as Wa}from"./text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as wa}from"./text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as za}from"./chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as Ha}from"./Banners/TestPhoneNumbersBanner.mjs";import{TextButton as Ua}from"./buttons/TextButton.mjs";import{TimezoneInput as _a}from"./form/TimezoneInput/index.mjs";import{VerifiedImage as qa}from"./verified/VerifiedImage.mjs";import{VerifiedIncLogo as Qa}from"./verified/VerifiedIncLogo.mjs";import{defaultOverviewMetrics as Ka}from"./chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as Ya}from"./chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{formatChallengeInput as ja,formatHealthDataProviderMode as Ga,formatPromptForChallenge as Ja}from"./chart/BillableEventsTable/format.mjs";import{formatIntegrationType as Xa,mapBillableEventsTableData as Za}from"./chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapBillableEventsProductTableData as $a}from"./chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as ar}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as rr}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as er}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as or}from"./chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as tr}from"./chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as ir}from"./form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as sr,useBrandFilterInput as mr}from"./BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as nr}from"./form/NewOneClickForm/core/mappers/share.map.mjs";export{M as AcceptTermsNotice,N as AdaptativeBox,x as AddressInput,W as Alert,P as AreaChart,w as BILLABLE_PRODUCTS,f as Backdrop,H as Banner,U as BasePhoneInput,T as BigNumber,_ as BillableEventsProductTable,q as BillableEventsTable,z as BillableProduct,Q as BrandDetailsPanel,c as BrandFilterInput,d as Button,K as CalendlyDialog,Y as CalendlyDialogComponent,j as ContentWithLoader,F as ConversionOverTimeChart,V as CopyableUuid,i as CredentialRequestsEditor,p as CustomAlertComponent,G as CustomDialog,J as DateInput,X as DateRangeInput,Z as DefaultInput,$ as EmailInput,b as EmptyChartSection,B as ErrorCodesChart,aa as ExactBirthdayBanner,ra as ExportToPdfButton,ea as Form,oa as FormBuilder,ta as FormField,ia as FormFieldBuilder,sa as FormProvider,na as FullWidthAlert,k as FunnelChart,pa as IconPlayer,m as Image,la as LegalLink,fa as LinkButton,O as LoadingChartSection,da as LogDetailPanel,ca as LogsInfoAlert,Ca as LogsTable,y as MetricLastUpdated,ua as NPIInput,ha as NewOneClickForm,Ta as OTPInput,ga as OneClickVerificationEventsOverTimeChart,Pa as OneClickVerificationFunnelChart,Ba as OneClickVerificationSuccessOverTimeChart,Sa as OriginalButton,Ia as OverviewBigNumbers,e as PageHeader,o as PageSectionHeader,a as Paragraph,Da as PersistentDialog,va as PhoneInput,I as PieChart,La as PoweredByVerified,Oa as PrettyPhoneInput,ba as PrivacyPolicyNotice,n as QRCodeDisplay,ya as RadioOption,S as ReasonCodesChart,R as RequiredLabel,ka as ResendPhoneBanner,v as RiskScoreBarChart,D as RiskScorePieChart,Fa as SSNInput,r as SectionHeader,Aa as SelectInput,C as SeriesChart,u as SeriesChartLegend,h as SeriesPercentageChart,g as SimpleBarChart,L as SimpleLegend,Ea as SnackbarProvider,Ra as SynchronizedMetricsChart,Va as TOTAL_DATA_KEY,xa as TTSMagicButton,Wa as TTSMagicLegalLanguage,wa as TTSMagicQRCode,za as TTSOverTimeChart,Ha as TestPhoneNumbersBanner,Ua as TextButton,_a as TimezoneInput,t as Typography,qa as VerifiedImage,Qa as VerifiedIncLogo,s as When,E as WhenStyled,Ka as defaultOverviewMetrics,Ma as enrichWithTotal,Ya as exportBillableEventsToCsv,ja as formatChallengeInput,Ga as formatHealthDataProviderMode,Xa as formatIntegrationType,Ja as formatPromptForChallenge,$a as mapBillableEventsProductTableData,Za as mapBillableEventsTableData,ar as mapOneClickVerificationAreaSeriesData,rr as mapOneClickVerificationFunnelChartData,er as mapOneClickVerificationSuccessOverTimeChartData,or as mapSeriesTimeSeriesData,tr as mapTTSTimeSeriesData,Na as mergeChartData,A as normalizePercentData,ir as toCreatePatchCredentials,sr as toOption,nr as toShareCredentials,mr as useBrandFilterInput,ma 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 s}from"./CredentialRequestsEditor/index.mjs";import{When as i}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 c}from"./Button/index.mjs";import{BrandFilterInput as d}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 P}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 B}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 b}from"./chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as v}from"./chart/SimpleLegend/index.mjs";import{LoadingChartSection as F}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 R}from"./RequiredLabel/index.mjs";import{CopyableUuid as V}from"./CopyableUuid/index.mjs";import{AcceptTermsNotice as M}from"./terms/AcceptTermsNotice.mjs";import{AdaptativeBox as x}from"./UI/AdaptativeBox.mjs";import{AddressInput as N}from"./form/AddressInput/index.mjs";import{Alert as w}from"./Alert/Alert.mjs";import{BILLABLE_PRODUCTS as H,BillableProduct as W}from"./chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as q}from"./Banners/Banner.mjs";import{BasePhoneInput as U}from"./form/BasePhoneInput.mjs";import{BillableEventsProductTable as _}from"./chart/BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as z}from"./chart/BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as Y}from"./chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as Q,CalendlyDialogComponent as j}from"./dialog/CalendlyDialog.mjs";import{ContentWithLoader as J}from"./UI/ContentWithLoader.mjs";import{CustomDialog as K}from"./dialog/Dialog.mjs";import{DataTable as Z}from"./DataTable/DataTable.mjs";import{DataTableFilterPanel as X}from"./DataTable/DataTableFilterPanel.mjs";import{DateInput as $}from"./form/DateInput/index.mjs";import{DateRangeInput as G}from"./form/DateRangeInput/index.mjs";import{DefaultInput as aa}from"./form/DefaultInput.mjs";import{EMPTY_FILTERS as ra,applyFilters as ea,applySearch as ta,dataTableFilterFn as oa,dataTableFilterOperators as sa,filterOperatorIsMultiValue as ia,filterOperatorRequiresValue as ma,isFilterRowActive as na}from"./DataTable/DataTable.filters.mjs";import{EmailInput as pa}from"./form/EmailInput.mjs";import{ExactBirthdayBanner as la}from"./Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as fa}from"./buttons/ExportToPdfButton.mjs";import{Form as ca}from"./form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as da}from"./form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as Ca}from"./form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as ua}from"./form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as Ta,useForm as ha}from"./form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as Pa}from"./Alert/FullWidthAlert.mjs";import{IconPlayer as ga}from"./icons/IconPlayer.mjs";import{LegalLink as Sa}from"./terms/LegalLink.mjs";import{LinkButton as Ba}from"./buttons/LinkButton.mjs";import{LogDetailPanel as Da}from"./logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as Ia}from"./logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as ba}from"./logs/LogsTable/LogsTable.mjs";import{NPIInput as va}from"./form/NPIInput/index.mjs";import{NewOneClickForm as Fa}from"./form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as Oa}from"./form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as La}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as ya}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Ea}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as ka}from"./buttons/OriginalButton.mjs";import{OverviewBigNumbers as Aa}from"./chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Ra}from"./dialog/PersistentDialog.mjs";import{PhoneInput as Va}from"./form/PhoneInput.mjs";import{PoweredByVerified as Ma}from"./verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as xa}from"./form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as Na}from"./terms/PrivacyPolicyNotice.mjs";import{RadioOption as wa}from"./form/RadioOption.mjs";import{ResendPhoneBanner as Ha}from"./Banners/ResendPhoneBanner.mjs";import{SSNInput as Wa}from"./form/SSNInput.mjs";import{SelectInput as qa}from"./form/SelectInput.mjs";import{SnackbarProvider as Ua}from"notistack";import{SynchronizedMetricsChart as _a,TOTAL_DATA_KEY as za,enrichWithTotal as Ya,mergeChartData as Qa}from"./chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as ja}from"./text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as Ja}from"./text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as Ka}from"./text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as Za}from"./chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as Xa}from"./Banners/TestPhoneNumbersBanner.mjs";import{TextButton as $a}from"./buttons/TextButton.mjs";import{TimezoneInput as Ga}from"./form/TimezoneInput/index.mjs";import{VerifiedImage as ar}from"./verified/VerifiedImage.mjs";import{VerifiedIncLogo as rr}from"./verified/VerifiedIncLogo.mjs";import{defaultOverviewMetrics as er}from"./chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as tr}from"./chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as or,exportDataTableToExcel as sr,getDataTableExportModel as ir,printDataTable as mr}from"./DataTable/DataTable.export.mjs";import{formatChallengeInput as nr,formatHealthDataProviderMode as pr,formatPromptForChallenge as lr}from"./chart/BillableEventsTable/format.mjs";import{formatIntegrationType as fr,mapBillableEventsTableData as cr}from"./chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapBillableEventsProductTableData as dr}from"./chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as Cr}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as ur}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as Tr}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as hr}from"./chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as Pr}from"./chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as gr}from"./form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as Sr,useBrandFilterInput as Br}from"./BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as Dr}from"./form/NewOneClickForm/core/mappers/share.map.mjs";export{M as AcceptTermsNotice,x as AdaptativeBox,N as AddressInput,w as Alert,g as AreaChart,H as BILLABLE_PRODUCTS,f as Backdrop,q as Banner,U as BasePhoneInput,h as BigNumber,_ as BillableEventsProductTable,z as BillableEventsTable,W as BillableProduct,Y as BrandDetailsPanel,d as BrandFilterInput,c as Button,Q as CalendlyDialog,j as CalendlyDialogComponent,J as ContentWithLoader,E as ConversionOverTimeChart,V as CopyableUuid,s as CredentialRequestsEditor,p as CustomAlertComponent,K as CustomDialog,Z as DataTable,X as DataTableFilterPanel,$ as DateInput,G as DateRangeInput,aa as DefaultInput,ra as EMPTY_FILTERS,pa as EmailInput,O as EmptyChartSection,S as ErrorCodesChart,la as ExactBirthdayBanner,fa as ExportToPdfButton,ca as Form,da as FormBuilder,Ca as FormField,ua as FormFieldBuilder,Ta as FormProvider,Pa as FullWidthAlert,y as FunnelChart,ga as IconPlayer,m as Image,Sa as LegalLink,Ba as LinkButton,F as LoadingChartSection,Da as LogDetailPanel,Ia as LogsInfoAlert,ba as LogsTable,L as MetricLastUpdated,va as NPIInput,Fa as NewOneClickForm,Oa as OTPInput,La as OneClickVerificationEventsOverTimeChart,ya as OneClickVerificationFunnelChart,Ea as OneClickVerificationSuccessOverTimeChart,ka as OriginalButton,Aa as OverviewBigNumbers,e as PageHeader,t as PageSectionHeader,a as Paragraph,Ra as PersistentDialog,Va as PhoneInput,D as PieChart,Ma as PoweredByVerified,xa as PrettyPhoneInput,Na as PrivacyPolicyNotice,n as QRCodeDisplay,wa as RadioOption,B as ReasonCodesChart,R as RequiredLabel,Ha as ResendPhoneBanner,b as RiskScoreBarChart,I as RiskScorePieChart,Wa as SSNInput,r as SectionHeader,qa as SelectInput,C as SeriesChart,u as SeriesChartLegend,T as SeriesPercentageChart,P as SimpleBarChart,v as SimpleLegend,Ua as SnackbarProvider,_a as SynchronizedMetricsChart,za as TOTAL_DATA_KEY,ja as TTSMagicButton,Ja as TTSMagicLegalLanguage,Ka as TTSMagicQRCode,Za as TTSOverTimeChart,Xa as TestPhoneNumbersBanner,$a as TextButton,Ga as TimezoneInput,o as Typography,ar as VerifiedImage,rr as VerifiedIncLogo,i as When,A as WhenStyled,ea as applyFilters,ta as applySearch,oa as dataTableFilterFn,sa as dataTableFilterOperators,er as defaultOverviewMetrics,Ya as enrichWithTotal,tr as exportBillableEventsToCsv,or as exportDataTableToCsv,sr as exportDataTableToExcel,ia as filterOperatorIsMultiValue,ma as filterOperatorRequiresValue,nr as formatChallengeInput,pr as formatHealthDataProviderMode,fr as formatIntegrationType,lr as formatPromptForChallenge,ir as getDataTableExportModel,na as isFilterRowActive,dr as mapBillableEventsProductTableData,cr as mapBillableEventsTableData,Cr as mapOneClickVerificationAreaSeriesData,ur as mapOneClickVerificationFunnelChartData,Tr as mapOneClickVerificationSuccessOverTimeChartData,hr as mapSeriesTimeSeriesData,Pr as mapTTSTimeSeriesData,Qa as mergeChartData,k as normalizePercentData,mr as printDataTable,gr as toCreatePatchCredentials,Sr as toOption,Dr as toShareCredentials,Br as useBrandFilterInput,ha as useForm,l as useSnackbar};
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { Virtualizer } from '@tanstack/react-virtual';
|
|
2
2
|
interface UseBidirectionalScrollOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Gates the whole hook: when false, no scroll listener attaches and no
|
|
5
|
+
* scroll adjustments run. Lets components that must call the hook
|
|
6
|
+
* unconditionally (e.g. DataTable) keep the feature optional. Default
|
|
7
|
+
* true.
|
|
8
|
+
*/
|
|
9
|
+
enabled?: boolean;
|
|
3
10
|
/** Ref to the scrollable container element */
|
|
4
11
|
scrollContainerRef: React.RefObject<HTMLDivElement | null>;
|
|
5
12
|
/** The virtualizer instance (needed to recalculate after scroll adjustment) */
|
|
@@ -37,5 +44,5 @@ interface UseBidirectionalScrollOptions {
|
|
|
37
44
|
* - Preserves the scroll position when newer rows are prepended so the
|
|
38
45
|
* viewport doesn't jump.
|
|
39
46
|
*/
|
|
40
|
-
export declare function useBidirectionalScroll({ scrollContainerRef, virtualizer, rowCount, hasNewer, hasOlder, isLoadingNewer, isLoadingOlder, onLoadNewer, onLoadOlder, debounceMs, rearmDistance, resetKey, }: UseBidirectionalScrollOptions): void;
|
|
47
|
+
export declare function useBidirectionalScroll({ enabled, scrollContainerRef, virtualizer, rowCount, hasNewer, hasOlder, isLoadingNewer, isLoadingOlder, onLoadNewer, onLoadOlder, debounceMs, rearmDistance, resetKey, }: UseBidirectionalScrollOptions): void;
|
|
41
48
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{useRef as e,useEffect as
|
|
1
|
+
"use strict";import{useRef as e,useEffect as L,useLayoutEffect as F}from"react";import j from"lodash/debounce";function G({enabled:n=!0,scrollContainerRef:t,virtualizer:H,rowCount:z,hasNewer:w,hasOlder:T,isLoadingNewer:l,isLoadingOlder:v,onLoadNewer:O,onLoadOlder:y,debounceMs:i=300,rearmDistance:a=100,resetKey:D}){const s=e(null),d=e(!1),u=e(!1);L(()=>{if(!n)return;const r=t.current;r&&(r.scrollTop=0),s.current=null,d.current=!1,u.current=!1},[n,D,t]),L(()=>{if(n){if(l&&!d.current){const r=t.current;r&&(s.current={scrollHeight:r.scrollHeight,scrollTop:r.scrollTop})}d.current=!!l}},[n,l,t]),F(()=>{const r=t.current,c=s.current;if(r&&c){const o=r.scrollHeight-c.scrollHeight;o>0&&(r.scrollTop=c.scrollTop+o),s.current=null,H.measure()}},[z,H,t]);const f=e(T),g=e(w),p=e(v),h=e(l),E=e(y),N=e(O);f.current=T,g.current=w,p.current=v,h.current=l,E.current=y,N.current=O,L(()=>{if(!n)return;const r=t.current;if(!r)return;let c=!1;const o=j(()=>{g.current&&!h.current&&N.current()},i,{leading:!0,trailing:!1}),b=j(()=>{f.current&&!p.current&&E.current()},i,{leading:!0,trailing:!1}),x=()=>{const{scrollTop:m,scrollHeight:C,clientHeight:K}=r,S=C-m-K;C<=K||(m>a&&(c=!0),S>a&&(u.current=!0),c&&g.current&&!h.current&&m<=1&&(c=!1,o()),u.current&&f.current&&!p.current&&S<=1&&(u.current=!1,b()))};return r.addEventListener("scroll",x,{passive:!0}),()=>{r.removeEventListener("scroll",x),o.cancel(),b.cancel()}},[n,t,i,a])}export{G as useBidirectionalScroll};
|
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 o}from"./components/typographies/PageSectionHeader.mjs";import{Typography as s}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 h}from"./components/chart/SeriesChartLegend/index.mjs";import{SeriesPercentageChart as C}from"./components/chart/SeriesPercentageChart/index.mjs";import{BigNumber as S}from"./components/chart/BigNumber/index.mjs";import{SimpleBarChart as g}from"./components/chart/SimpleBarChart/index.mjs";import{AreaChart as T}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 y}from"./components/chart/RiskScorePieChart/index.mjs";import{RiskScoreBarChart as b}from"./components/chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as v}from"./components/chart/SimpleLegend/index.mjs";import{LoadingChartSection as k}from"./components/chart/LoadingChartSection.mjs";import{EmptyChartSection as I}from"./components/chart/EmptyChartSection.mjs";import{MetricLastUpdated as O}from"./components/chart/MetricLastUpdated.mjs";import{FunnelChart as F}from"./components/chart/FunnelChart/index.mjs";import{ConversionOverTimeChart as L,normalizePercentData as M}from"./components/chart/ConversionOverTimeChart/index.mjs";import{WhenStyled as A}from"./components/WhenStyled.mjs";import{RequiredLabel as R}from"./components/RequiredLabel/index.mjs";import{CopyableUuid as E}from"./components/CopyableUuid/index.mjs";import{Tunnel as N}from"./contexts/tunnel/index.mjs";import{useLocalStorage as w}from"./hooks/useLocalStorage.mjs";import{useCopyToClipboard as x}from"./hooks/useCopyToClipboard.mjs";import{useDisclosure as U}from"./hooks/useDisclosure.mjs";import{useGoogleFont as V}from"./hooks/useGoogleFont.mjs";import{useCallbackRef as Y}from"./hooks/useCallbackRef.mjs";import{useQRCode as W}from"./hooks/useQRCode.mjs";import{useSearchParams as G}from"./hooks/useSearchParams.mjs";import{useDebounceValue as H}from"./hooks/useDebounceValue.mjs";import{useScript as z}from"./hooks/useScript.mjs";import{useThrottle as _}from"./hooks/useThrottle.mjs";import{useToggle as Q}from"./hooks/useToggle.mjs";import{useWindowScroll as K}from"./hooks/useWindowScroll.mjs";import{useWindowSize as q}from"./hooks/useWindowSize.mjs";import{useIntersectionObserver as j}from"./hooks/useIntersectionObserver.mjs";import{useCounter as X}from"./hooks/useCounter.mjs";import{useOnClickOutside as Z}from"./hooks/useOnClickOutside.mjs";import{usePrevious as J}from"./hooks/usePrevious.mjs";import{useResizeObserver as $}from"./hooks/useResizeObserver.mjs";import{useNavigatorOnline as aa}from"./hooks/useNavigatorOnline.mjs";import{useDebounceCallback as ea}from"./hooks/useDebounceCallback.mjs";import{useStyledQRCode as ra}from"./hooks/useStyledQRCode.mjs";import{useNetworkType as oa}from"./hooks/useNetworkType.mjs";import{useBidirectionalScroll as sa}from"./hooks/useBidirectionalScroll.mjs";import{black as ta,blue as ia,colors as ma,dangerContrast as na,darkBlue as pa,darkGreen as la,darkGrey as fa,darkGreyContrast as da,darkRed as ua,darkYellow as ca,green as ha,grey as Ca,greyContrast as Sa,infoContrast as ga,lightBlue as Ta,lightGreen as Pa,lightGrey as Da,lightGreyContrast as Ba,lightRed as ya,lightYellow as ba,red as va,textDisabled as ka,warningContrast as Ia,white as Oa,yellow as Fa}from"./styles/colors.mjs";import{theme as La}from"./styles/theme.mjs";import{shadows as Ma}from"./styles/shadows.mjs";import{wrapPromise as Aa}from"./utils/wrapPromise/index.mjs";import{formatDateMMDDYYYY as Ra,formatDateMMYY as Ea,formatDateToTimestamp as Na,formatExtendedDate as wa,formatLogTimestamp as xa,toUTCMilliseconds as Ua}from"./utils/date.mjs";import{countries as Va,getPhoneData as Ya,getPhoneDataByFieldName as Wa,parseToPhoneNational as Ga,sortByCountryName as Ha,validatePhone as za}from"./utils/phone/index.mjs";import{masks as _a}from"./utils/masks/index.mjs";import{omitProperties as Qa}from"./utils/omitProperty.mjs";import{ssnFormatter as Ka,ssnRegex as qa}from"./utils/ssn.mjs";import{stringToHashedColor as ja,uuidToHashedColor as Xa}from"./utils/uuidColor.mjs";import{toCapitalize as Za}from"./utils/string/toCapitalize.mjs";import{toSentenceCase as Ja}from"./utils/string/toSentenceCase.mjs";import{kebabCaseToPretty as $a}from"./utils/string/formatKebabToPretty.mjs";import{generateKeyFromString as ae}from"./utils/string/generateKeyFromString.mjs";import{alpha as ee,contrastColor as re,darken as oe,getThemeFromPrimaryColor as se,lighten as te,mix as ie}from"./utils/color/index.mjs";import{addressFormatter as me,fromUSAddress as ne,parseCountryCode as pe,toUSaddress as le,toUSaddressPretty as fe}from"./utils/address/index.mjs";import{DEFAULT_FONT_FAMILY as de,DEFAULT_FONT_WEIGHTS as ue,makeGoogleFontUrl as ce}from"./utils/makeGoogleFont.mjs";import{prepareNotification as he}from"./utils/notification.mjs";import{resolveLogo as Ce}from"./utils/logo/index.mjs";import{USDateSchema as Se,birthDateSchema as ge,dateSchema as Te,getDateSchemaWithPastValidation as Pe,refineAge18Plus as De,refineMinimumDate1900 as Be,refineTimestamp as ye,validateAge18Plus as be,validateMinimumDate1900 as ve,validateTimestamp as ke}from"./validations/date.schema.mjs";import{descriptionSchema as Ie}from"./validations/description.schema.mjs";import{businessEmailSchema as Oe,emailSchema as Fe}from"./validations/email.schema.mjs";import{fieldSchema as Le}from"./validations/field.schema.mjs";import{phoneSchema as Me}from"./validations/phone.schema.mjs";import{MaskedAndUnmaskedSSNSchema as Ae,SSNSchema as Re}from"./validations/ssn.schema.mjs";import{getUnixSchema as Ee}from"./validations/unix.schema.mjs";import{npiSchema as Ne}from"./validations/npi.schema.mjs";import{stateSchema as we,zipCodeSchema as xe}from"./validations/address.schema.mjs";import{AcceptTermsNotice as Ue}from"./components/terms/AcceptTermsNotice.mjs";import{AdaptativeBox as Ve}from"./components/UI/AdaptativeBox.mjs";import{AddressInput as Ye}from"./components/form/AddressInput/index.mjs";import{Alert as We}from"./components/Alert/Alert.mjs";import{BILLABLE_PRODUCTS as Ge,BillableProduct as He}from"./components/chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as ze}from"./components/Banners/Banner.mjs";import{BasePhoneInput as _e}from"./components/form/BasePhoneInput.mjs";import{BillableEventsProductTable as Qe}from"./components/chart/BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as Ke}from"./components/chart/BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as qe}from"./components/chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as je,CalendlyDialogComponent as Xe}from"./components/dialog/CalendlyDialog.mjs";import{ContentWithLoader as Ze}from"./components/UI/ContentWithLoader.mjs";import{CustomDialog as Je}from"./components/dialog/Dialog.mjs";import{DateInput as $e}from"./components/form/DateInput/index.mjs";import{DateRangeInput as ar}from"./components/form/DateRangeInput/index.mjs";import{DefaultInput as er}from"./components/form/DefaultInput.mjs";import{EmailInput as rr}from"./components/form/EmailInput.mjs";import{ExactBirthdayBanner as or}from"./components/Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as sr}from"./components/buttons/ExportToPdfButton.mjs";import{Form as tr}from"./components/form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as ir}from"./components/form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as mr}from"./components/form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as nr}from"./components/form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as pr,useForm as lr}from"./components/form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as fr}from"./components/Alert/FullWidthAlert.mjs";import{IconPlayer as dr}from"./components/icons/IconPlayer.mjs";import{LegalLink as ur}from"./components/terms/LegalLink.mjs";import{LinkButton as cr}from"./components/buttons/LinkButton.mjs";import{LogDetailPanel as hr}from"./components/logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as Cr}from"./components/logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as Sr}from"./components/logs/LogsTable/LogsTable.mjs";import{MetricsProvider as gr,useMetrics as Tr}from"./contexts/metrics/Metrics.context.mjs";import{NPIInput as Pr}from"./components/form/NPIInput/index.mjs";import{NewOneClickForm as Dr}from"./components/form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as Br}from"./components/form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as yr}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as br}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as vr}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as kr}from"./components/buttons/OriginalButton.mjs";import{OverviewBigNumbers as Ir}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Or}from"./components/dialog/PersistentDialog.mjs";import{PhoneInput as Fr}from"./components/form/PhoneInput.mjs";import{PoweredByVerified as Lr}from"./components/verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as Mr}from"./components/form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as Ar}from"./components/terms/PrivacyPolicyNotice.mjs";import{RadioOption as Rr}from"./components/form/RadioOption.mjs";import{ResendPhoneBanner as Er}from"./components/Banners/ResendPhoneBanner.mjs";import{SSNInput as Nr}from"./components/form/SSNInput.mjs";import{SelectInput as wr}from"./components/form/SelectInput.mjs";import{SnackbarProvider as xr}from"notistack";import{SynchronizedMetricsChart as Ur,TOTAL_DATA_KEY as Vr,enrichWithTotal as Yr,mergeChartData as Wr}from"./components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as Gr}from"./components/text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as Hr}from"./components/text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as zr}from"./components/text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as _r}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as Qr}from"./components/Banners/TestPhoneNumbersBanner.mjs";import{TextButton as Kr}from"./components/buttons/TextButton.mjs";import{TimezoneInput as qr}from"./components/form/TimezoneInput/index.mjs";import{VerifiedImage as jr}from"./components/verified/VerifiedImage.mjs";import{VerifiedIncLogo as Xr}from"./components/verified/VerifiedIncLogo.mjs";import{defaultOverviewMetrics as Zr}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as Jr}from"./components/chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{formatChallengeInput as $r,formatHealthDataProviderMode as ao,formatPromptForChallenge as eo}from"./components/chart/BillableEventsTable/format.mjs";import{formatInTimeZone as ro}from"./node_modules/date-fns-tz/dist/esm/formatInTimeZone/index.mjs";import{formatIntegrationType as oo,mapBillableEventsTableData as so}from"./components/chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapBillableEventsProductTableData as to}from"./components/chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as io}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as mo}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as no}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as po}from"./components/chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as lo}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as fo}from"./components/form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as uo,useBrandFilterInput as co}from"./components/BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as ho}from"./components/form/NewOneClickForm/core/mappers/share.map.mjs";import{useColorMap as Co}from"./hooks/metrics/useColorMap.mjs";import{useTTSMagicLink as So}from"./hooks/text-to-signup/magic-link.mjs";import{useTTSMagicQRCode as go}from"./hooks/text-to-signup/magic-qr-code.mjs";import{useTTSMagicQRCodeOptions as To}from"./hooks/text-to-signup/magic-qr-code-options.mjs";import{useTTSMagicText as Po}from"./hooks/text-to-signup/magic-text.mjs";export{Ue as AcceptTermsNotice,Ve as AdaptativeBox,Ye as AddressInput,We as Alert,T as AreaChart,Ge as BILLABLE_PRODUCTS,f as Backdrop,ze as Banner,_e as BasePhoneInput,S as BigNumber,Qe as BillableEventsProductTable,Ke as BillableEventsTable,He as BillableProduct,qe as BrandDetailsPanel,u as BrandFilterInput,d as Button,je as CalendlyDialog,Xe as CalendlyDialogComponent,Ze as ContentWithLoader,L as ConversionOverTimeChart,E as CopyableUuid,t as CredentialRequestsEditor,p as CustomAlertComponent,Je as CustomDialog,de as DEFAULT_FONT_FAMILY,ue as DEFAULT_FONT_WEIGHTS,$e as DateInput,ar as DateRangeInput,er as DefaultInput,rr as EmailInput,I as EmptyChartSection,P as ErrorCodesChart,or as ExactBirthdayBanner,sr as ExportToPdfButton,tr as Form,ir as FormBuilder,mr as FormField,nr as FormFieldBuilder,pr as FormProvider,fr as FullWidthAlert,F as FunnelChart,dr as IconPlayer,m as Image,ur as LegalLink,cr as LinkButton,k as LoadingChartSection,hr as LogDetailPanel,Cr as LogsInfoAlert,Sr as LogsTable,Ae as MaskedAndUnmaskedSSNSchema,O as MetricLastUpdated,gr as MetricsProvider,Pr as NPIInput,Dr as NewOneClickForm,Br as OTPInput,yr as OneClickVerificationEventsOverTimeChart,br as OneClickVerificationFunnelChart,vr as OneClickVerificationSuccessOverTimeChart,kr as OriginalButton,Ir as OverviewBigNumbers,r as PageHeader,o as PageSectionHeader,a as Paragraph,Or as PersistentDialog,Fr as PhoneInput,B as PieChart,Lr as PoweredByVerified,Mr as PrettyPhoneInput,Ar as PrivacyPolicyNotice,n as QRCodeDisplay,Rr as RadioOption,D as ReasonCodesChart,R as RequiredLabel,Er as ResendPhoneBanner,b as RiskScoreBarChart,y as RiskScorePieChart,Nr as SSNInput,Re as SSNSchema,e as SectionHeader,wr as SelectInput,c as SeriesChart,h as SeriesChartLegend,C as SeriesPercentageChart,g as SimpleBarChart,v as SimpleLegend,xr as SnackbarProvider,Ur as SynchronizedMetricsChart,Vr as TOTAL_DATA_KEY,Gr as TTSMagicButton,Hr as TTSMagicLegalLanguage,zr as TTSMagicQRCode,_r as TTSOverTimeChart,Qr as TestPhoneNumbersBanner,Kr as TextButton,qr as TimezoneInput,N as Tunnel,s as Typography,Se as USDateSchema,jr as VerifiedImage,Xr as VerifiedIncLogo,i as When,A as WhenStyled,me as addressFormatter,ee as alpha,ge as birthDateSchema,ta as black,ia as blue,Oe as businessEmailSchema,ma as colors,re as contrastColor,Va as countries,na as dangerContrast,pa as darkBlue,la as darkGreen,fa as darkGrey,da as darkGreyContrast,ua as darkRed,ca as darkYellow,oe as darken,Te as dateSchema,Zr as defaultOverviewMetrics,Ie as descriptionSchema,Fe as emailSchema,Yr as enrichWithTotal,Jr as exportBillableEventsToCsv,Le as fieldSchema,$r as formatChallengeInput,Ra as formatDateMMDDYYYY,Ea as formatDateMMYY,Na as formatDateToTimestamp,wa as formatExtendedDate,ao as formatHealthDataProviderMode,ro as formatInTimeZone,oo as formatIntegrationType,xa as formatLogTimestamp,eo as formatPromptForChallenge,ne as fromUSAddress,ae as generateKeyFromString,Pe as getDateSchemaWithPastValidation,Ya as getPhoneData,Wa as getPhoneDataByFieldName,se as getThemeFromPrimaryColor,Ee as getUnixSchema,ha as green,Ca as grey,Sa as greyContrast,ga as infoContrast,$a as kebabCaseToPretty,Ta as lightBlue,Pa as lightGreen,Da as lightGrey,Ba as lightGreyContrast,ya as lightRed,ba as lightYellow,te as lighten,ce as makeGoogleFontUrl,to as mapBillableEventsProductTableData,so as mapBillableEventsTableData,io as mapOneClickVerificationAreaSeriesData,mo as mapOneClickVerificationFunnelChartData,no as mapOneClickVerificationSuccessOverTimeChartData,po as mapSeriesTimeSeriesData,lo as mapTTSTimeSeriesData,_a as masks,Wr as mergeChartData,ie as mix,M as normalizePercentData,Ne as npiSchema,Qa as omitProperties,pe as parseCountryCode,Ga as parseToPhoneNational,Me as phoneSchema,he as prepareNotification,va as red,De as refineAge18Plus,Be as refineMinimumDate1900,ye as refineTimestamp,Ce as resolveLogo,Ma as shadows,Ha as sortByCountryName,Ka as ssnFormatter,qa as ssnRegex,we as stateSchema,ja as stringToHashedColor,ka as textDisabled,La as theme,Za as toCapitalize,fo as toCreatePatchCredentials,uo as toOption,Ja as toSentenceCase,ho as toShareCredentials,le as toUSaddress,fe as toUSaddressPretty,Ua as toUTCMilliseconds,sa as useBidirectionalScroll,co as useBrandFilterInput,Y as useCallbackRef,Co as useColorMap,x as useCopyToClipboard,X as useCounter,ea as useDebounceCallback,H as useDebounceValue,U as useDisclosure,lr as useForm,V as useGoogleFont,j as useIntersectionObserver,w as useLocalStorage,Tr as useMetrics,aa as useNavigatorOnline,oa as useNetworkType,Z as useOnClickOutside,J as usePrevious,W as useQRCode,$ as useResizeObserver,z as useScript,G as useSearchParams,l as useSnackbar,ra as useStyledQRCode,So as useTTSMagicLink,go as useTTSMagicQRCode,To as useTTSMagicQRCodeOptions,Po as useTTSMagicText,_ as useThrottle,Q as useToggle,K as useWindowScroll,q as useWindowSize,Xa as uuidToHashedColor,be as validateAge18Plus,ve as validateMinimumDate1900,za as validatePhone,ke as validateTimestamp,Ia as warningContrast,Oa as white,Aa as wrapPromise,Fa as yellow,xe 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 u}from"./components/BrandFilterInput/index.mjs";import{SeriesChart as c}from"./components/chart/SeriesChart/index.mjs";import{SeriesChartLegend as h}from"./components/chart/SeriesChartLegend/index.mjs";import{SeriesPercentageChart as C}from"./components/chart/SeriesPercentageChart/index.mjs";import{BigNumber as T}from"./components/chart/BigNumber/index.mjs";import{SimpleBarChart as S}from"./components/chart/SimpleBarChart/index.mjs";import{AreaChart as g}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 O}from"./components/chart/MetricLastUpdated.mjs";import{FunnelChart as I}from"./components/chart/FunnelChart/index.mjs";import{ConversionOverTimeChart as L,normalizePercentData as M}from"./components/chart/ConversionOverTimeChart/index.mjs";import{WhenStyled as R}from"./components/WhenStyled.mjs";import{RequiredLabel as E}from"./components/RequiredLabel/index.mjs";import{CopyableUuid as A}from"./components/CopyableUuid/index.mjs";import{Tunnel as N}from"./contexts/tunnel/index.mjs";import{useLocalStorage as x}from"./hooks/useLocalStorage.mjs";import{useCopyToClipboard as w}from"./hooks/useCopyToClipboard.mjs";import{useDisclosure as U}from"./hooks/useDisclosure.mjs";import{useGoogleFont as V}from"./hooks/useGoogleFont.mjs";import{useCallbackRef as Y}from"./hooks/useCallbackRef.mjs";import{useQRCode as W}from"./hooks/useQRCode.mjs";import{useSearchParams as G}from"./hooks/useSearchParams.mjs";import{useDebounceValue as _}from"./hooks/useDebounceValue.mjs";import{useScript as z}from"./hooks/useScript.mjs";import{useThrottle as H}from"./hooks/useThrottle.mjs";import{useToggle as Q}from"./hooks/useToggle.mjs";import{useWindowScroll as q}from"./hooks/useWindowScroll.mjs";import{useWindowSize as K}from"./hooks/useWindowSize.mjs";import{useIntersectionObserver as Z}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 $}from"./hooks/useResizeObserver.mjs";import{useNavigatorOnline as aa}from"./hooks/useNavigatorOnline.mjs";import{useDebounceCallback as ea}from"./hooks/useDebounceCallback.mjs";import{useStyledQRCode as ra}from"./hooks/useStyledQRCode.mjs";import{useNetworkType as sa}from"./hooks/useNetworkType.mjs";import{useBidirectionalScroll as oa}from"./hooks/useBidirectionalScroll.mjs";import{black as ta,blue as ia,colors as ma,dangerContrast as na,darkBlue as pa,darkGreen as la,darkGrey as fa,darkGreyContrast as da,darkRed as ua,darkYellow as ca,green as ha,grey as Ca,greyContrast as Ta,infoContrast as Sa,lightBlue as ga,lightGreen as Pa,lightGrey as Da,lightGreyContrast as ba,lightRed as Ba,lightYellow as ya,red as Fa,textDisabled as va,warningContrast as ka,white as Oa,yellow as Ia}from"./styles/colors.mjs";import{theme as La}from"./styles/theme.mjs";import{shadows as Ma}from"./styles/shadows.mjs";import{wrapPromise as Ra}from"./utils/wrapPromise/index.mjs";import{formatDateMMDDYYYY as Ea,formatDateMMYY as Aa,formatDateToTimestamp as Na,formatExtendedDate as xa,formatLogTimestamp as wa,toUTCMilliseconds as Ua}from"./utils/date.mjs";import{countries as Va,getPhoneData as Ya,getPhoneDataByFieldName as Wa,parseToPhoneNational as Ga,sortByCountryName as _a,validatePhone as za}from"./utils/phone/index.mjs";import{masks as Ha}from"./utils/masks/index.mjs";import{omitProperties as Qa}from"./utils/omitProperty.mjs";import{ssnFormatter as qa,ssnRegex as Ka}from"./utils/ssn.mjs";import{stringToHashedColor as Za,uuidToHashedColor as ja}from"./utils/uuidColor.mjs";import{toCapitalize as Ja}from"./utils/string/toCapitalize.mjs";import{toSentenceCase as Xa}from"./utils/string/toSentenceCase.mjs";import{kebabCaseToPretty as $a}from"./utils/string/formatKebabToPretty.mjs";import{generateKeyFromString as ae}from"./utils/string/generateKeyFromString.mjs";import{alpha as ee,contrastColor as re,darken as se,getThemeFromPrimaryColor as oe,lighten as te,mix as ie}from"./utils/color/index.mjs";import{addressFormatter as me,fromUSAddress as ne,parseCountryCode as pe,toUSaddress as le,toUSaddressPretty as fe}from"./utils/address/index.mjs";import{DEFAULT_FONT_FAMILY as de,DEFAULT_FONT_WEIGHTS as ue,makeGoogleFontUrl as ce}from"./utils/makeGoogleFont.mjs";import{prepareNotification as he}from"./utils/notification.mjs";import{resolveLogo as Ce}from"./utils/logo/index.mjs";import{USDateSchema as Te,birthDateSchema as Se,dateSchema as ge,getDateSchemaWithPastValidation as Pe,refineAge18Plus as De,refineMinimumDate1900 as be,refineTimestamp as Be,validateAge18Plus as ye,validateMinimumDate1900 as Fe,validateTimestamp as ve}from"./validations/date.schema.mjs";import{descriptionSchema as ke}from"./validations/description.schema.mjs";import{businessEmailSchema as Oe,emailSchema as Ie}from"./validations/email.schema.mjs";import{fieldSchema as Le}from"./validations/field.schema.mjs";import{phoneSchema as Me}from"./validations/phone.schema.mjs";import{MaskedAndUnmaskedSSNSchema as Re,SSNSchema as Ee}from"./validations/ssn.schema.mjs";import{getUnixSchema as Ae}from"./validations/unix.schema.mjs";import{npiSchema as Ne}from"./validations/npi.schema.mjs";import{stateSchema as xe,zipCodeSchema as we}from"./validations/address.schema.mjs";import{AcceptTermsNotice as Ue}from"./components/terms/AcceptTermsNotice.mjs";import{AdaptativeBox as Ve}from"./components/UI/AdaptativeBox.mjs";import{AddressInput as Ye}from"./components/form/AddressInput/index.mjs";import{Alert as We}from"./components/Alert/Alert.mjs";import{BILLABLE_PRODUCTS as Ge,BillableProduct as _e}from"./components/chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as ze}from"./components/Banners/Banner.mjs";import{BasePhoneInput as He}from"./components/form/BasePhoneInput.mjs";import{BillableEventsProductTable as Qe}from"./components/chart/BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as qe}from"./components/chart/BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as Ke}from"./components/chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as Ze,CalendlyDialogComponent as je}from"./components/dialog/CalendlyDialog.mjs";import{ContentWithLoader as Je}from"./components/UI/ContentWithLoader.mjs";import{CustomDialog as Xe}from"./components/dialog/Dialog.mjs";import{DataTable as $e}from"./components/DataTable/DataTable.mjs";import{DataTableFilterPanel as ar}from"./components/DataTable/DataTableFilterPanel.mjs";import{DateInput as er}from"./components/form/DateInput/index.mjs";import{DateRangeInput as rr}from"./components/form/DateRangeInput/index.mjs";import{DefaultInput as sr}from"./components/form/DefaultInput.mjs";import{EMPTY_FILTERS as or,applyFilters as tr,applySearch as ir,dataTableFilterFn as mr,dataTableFilterOperators as nr,filterOperatorIsMultiValue as pr,filterOperatorRequiresValue as lr,isFilterRowActive as fr}from"./components/DataTable/DataTable.filters.mjs";import{EmailInput as dr}from"./components/form/EmailInput.mjs";import{ExactBirthdayBanner as ur}from"./components/Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as cr}from"./components/buttons/ExportToPdfButton.mjs";import{Form as hr}from"./components/form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as Cr}from"./components/form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as Tr}from"./components/form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as Sr}from"./components/form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as gr,useForm as Pr}from"./components/form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as Dr}from"./components/Alert/FullWidthAlert.mjs";import{IconPlayer as br}from"./components/icons/IconPlayer.mjs";import{LegalLink as Br}from"./components/terms/LegalLink.mjs";import{LinkButton as yr}from"./components/buttons/LinkButton.mjs";import{LogDetailPanel as Fr}from"./components/logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as vr}from"./components/logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as kr}from"./components/logs/LogsTable/LogsTable.mjs";import{MetricsProvider as Or,useMetrics as Ir}from"./contexts/metrics/Metrics.context.mjs";import{NPIInput as Lr}from"./components/form/NPIInput/index.mjs";import{NewOneClickForm as Mr}from"./components/form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as Rr}from"./components/form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as Er}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as Ar}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Nr}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as xr}from"./components/buttons/OriginalButton.mjs";import{OverviewBigNumbers as wr}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Ur}from"./components/dialog/PersistentDialog.mjs";import{PhoneInput as Vr}from"./components/form/PhoneInput.mjs";import{PoweredByVerified as Yr}from"./components/verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as Wr}from"./components/form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as Gr}from"./components/terms/PrivacyPolicyNotice.mjs";import{RadioOption as _r}from"./components/form/RadioOption.mjs";import{ResendPhoneBanner as zr}from"./components/Banners/ResendPhoneBanner.mjs";import{SSNInput as Hr}from"./components/form/SSNInput.mjs";import{SelectInput as Qr}from"./components/form/SelectInput.mjs";import{SnackbarProvider as qr}from"notistack";import{SynchronizedMetricsChart as Kr,TOTAL_DATA_KEY as Zr,enrichWithTotal as jr,mergeChartData as Jr}from"./components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as Xr}from"./components/text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as $r}from"./components/text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as as}from"./components/text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as es}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as rs}from"./components/Banners/TestPhoneNumbersBanner.mjs";import{TextButton as ss}from"./components/buttons/TextButton.mjs";import{TimezoneInput as os}from"./components/form/TimezoneInput/index.mjs";import{VerifiedImage as ts}from"./components/verified/VerifiedImage.mjs";import{VerifiedIncLogo as is}from"./components/verified/VerifiedIncLogo.mjs";import{defaultOverviewMetrics as ms}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as ns}from"./components/chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as ps,exportDataTableToExcel as ls,getDataTableExportModel as fs,printDataTable as ds}from"./components/DataTable/DataTable.export.mjs";import{formatChallengeInput as us,formatHealthDataProviderMode as cs,formatPromptForChallenge as hs}from"./components/chart/BillableEventsTable/format.mjs";import{formatInTimeZone as Cs}from"./node_modules/date-fns-tz/dist/esm/formatInTimeZone/index.mjs";import{formatIntegrationType as Ts,mapBillableEventsTableData as Ss}from"./components/chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapBillableEventsProductTableData as gs}from"./components/chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as Ps}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as Ds}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as bs}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as Bs}from"./components/chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as ys}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as Fs}from"./components/form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as vs,useBrandFilterInput as ks}from"./components/BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as Os}from"./components/form/NewOneClickForm/core/mappers/share.map.mjs";import{useColorMap as Is}from"./hooks/metrics/useColorMap.mjs";import{useTTSMagicLink as Ls}from"./hooks/text-to-signup/magic-link.mjs";import{useTTSMagicQRCode as Ms}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 Es}from"./hooks/text-to-signup/magic-text.mjs";export{Ue as AcceptTermsNotice,Ve as AdaptativeBox,Ye as AddressInput,We as Alert,g as AreaChart,Ge as BILLABLE_PRODUCTS,f as Backdrop,ze as Banner,He as BasePhoneInput,T as BigNumber,Qe as BillableEventsProductTable,qe as BillableEventsTable,_e as BillableProduct,Ke as BrandDetailsPanel,u as BrandFilterInput,d as Button,Ze as CalendlyDialog,je as CalendlyDialogComponent,Je as ContentWithLoader,L as ConversionOverTimeChart,A as CopyableUuid,t as CredentialRequestsEditor,p as CustomAlertComponent,Xe as CustomDialog,de as DEFAULT_FONT_FAMILY,ue as DEFAULT_FONT_WEIGHTS,$e as DataTable,ar as DataTableFilterPanel,er as DateInput,rr as DateRangeInput,sr as DefaultInput,or as EMPTY_FILTERS,dr as EmailInput,k as EmptyChartSection,P as ErrorCodesChart,ur as ExactBirthdayBanner,cr as ExportToPdfButton,hr as Form,Cr as FormBuilder,Tr as FormField,Sr as FormFieldBuilder,gr as FormProvider,Dr as FullWidthAlert,I as FunnelChart,br as IconPlayer,m as Image,Br as LegalLink,yr as LinkButton,v as LoadingChartSection,Fr as LogDetailPanel,vr as LogsInfoAlert,kr as LogsTable,Re as MaskedAndUnmaskedSSNSchema,O as MetricLastUpdated,Or as MetricsProvider,Lr as NPIInput,Mr as NewOneClickForm,Rr as OTPInput,Er as OneClickVerificationEventsOverTimeChart,Ar as OneClickVerificationFunnelChart,Nr as OneClickVerificationSuccessOverTimeChart,xr as OriginalButton,wr as OverviewBigNumbers,r as PageHeader,s as PageSectionHeader,a as Paragraph,Ur as PersistentDialog,Vr as PhoneInput,b as PieChart,Yr as PoweredByVerified,Wr as PrettyPhoneInput,Gr as PrivacyPolicyNotice,n as QRCodeDisplay,_r as RadioOption,D as ReasonCodesChart,E as RequiredLabel,zr as ResendPhoneBanner,y as RiskScoreBarChart,B as RiskScorePieChart,Hr as SSNInput,Ee as SSNSchema,e as SectionHeader,Qr as SelectInput,c as SeriesChart,h as SeriesChartLegend,C as SeriesPercentageChart,S as SimpleBarChart,F as SimpleLegend,qr as SnackbarProvider,Kr as SynchronizedMetricsChart,Zr as TOTAL_DATA_KEY,Xr as TTSMagicButton,$r as TTSMagicLegalLanguage,as as TTSMagicQRCode,es as TTSOverTimeChart,rs as TestPhoneNumbersBanner,ss as TextButton,os as TimezoneInput,N as Tunnel,o as Typography,Te as USDateSchema,ts as VerifiedImage,is as VerifiedIncLogo,i as When,R as WhenStyled,me as addressFormatter,ee as alpha,tr as applyFilters,ir as applySearch,Se as birthDateSchema,ta as black,ia as blue,Oe as businessEmailSchema,ma as colors,re as contrastColor,Va as countries,na as dangerContrast,pa as darkBlue,la as darkGreen,fa as darkGrey,da as darkGreyContrast,ua as darkRed,ca as darkYellow,se as darken,mr as dataTableFilterFn,nr as dataTableFilterOperators,ge as dateSchema,ms as defaultOverviewMetrics,ke as descriptionSchema,Ie as emailSchema,jr as enrichWithTotal,ns as exportBillableEventsToCsv,ps as exportDataTableToCsv,ls as exportDataTableToExcel,Le as fieldSchema,pr as filterOperatorIsMultiValue,lr as filterOperatorRequiresValue,us as formatChallengeInput,Ea as formatDateMMDDYYYY,Aa as formatDateMMYY,Na as formatDateToTimestamp,xa as formatExtendedDate,cs as formatHealthDataProviderMode,Cs as formatInTimeZone,Ts as formatIntegrationType,wa as formatLogTimestamp,hs as formatPromptForChallenge,ne as fromUSAddress,ae as generateKeyFromString,fs as getDataTableExportModel,Pe as getDateSchemaWithPastValidation,Ya as getPhoneData,Wa as getPhoneDataByFieldName,oe as getThemeFromPrimaryColor,Ae as getUnixSchema,ha as green,Ca as grey,Ta as greyContrast,Sa as infoContrast,fr as isFilterRowActive,$a as kebabCaseToPretty,ga as lightBlue,Pa as lightGreen,Da as lightGrey,ba as lightGreyContrast,Ba as lightRed,ya as lightYellow,te as lighten,ce as makeGoogleFontUrl,gs as mapBillableEventsProductTableData,Ss as mapBillableEventsTableData,Ps as mapOneClickVerificationAreaSeriesData,Ds as mapOneClickVerificationFunnelChartData,bs as mapOneClickVerificationSuccessOverTimeChartData,Bs as mapSeriesTimeSeriesData,ys as mapTTSTimeSeriesData,Ha as masks,Jr as mergeChartData,ie as mix,M as normalizePercentData,Ne as npiSchema,Qa as omitProperties,pe as parseCountryCode,Ga as parseToPhoneNational,Me as phoneSchema,he as prepareNotification,ds as printDataTable,Fa as red,De as refineAge18Plus,be as refineMinimumDate1900,Be as refineTimestamp,Ce as resolveLogo,Ma as shadows,_a as sortByCountryName,qa as ssnFormatter,Ka as ssnRegex,xe as stateSchema,Za as stringToHashedColor,va as textDisabled,La as theme,Ja as toCapitalize,Fs as toCreatePatchCredentials,vs as toOption,Xa as toSentenceCase,Os as toShareCredentials,le as toUSaddress,fe as toUSaddressPretty,Ua as toUTCMilliseconds,oa as useBidirectionalScroll,ks as useBrandFilterInput,Y as useCallbackRef,Is as useColorMap,w as useCopyToClipboard,j as useCounter,ea as useDebounceCallback,_ as useDebounceValue,U as useDisclosure,Pr as useForm,V as useGoogleFont,Z as useIntersectionObserver,x as useLocalStorage,Ir as useMetrics,aa as useNavigatorOnline,sa as useNetworkType,J as useOnClickOutside,X as usePrevious,W as useQRCode,$ as useResizeObserver,z as useScript,G as useSearchParams,l as useSnackbar,ra as useStyledQRCode,Ls as useTTSMagicLink,Ms as useTTSMagicQRCode,Rs as useTTSMagicQRCodeOptions,Es as useTTSMagicText,H as useThrottle,Q as useToggle,q as useWindowScroll,K as useWindowSize,ja as uuidToHashedColor,ye as validateAge18Plus,Fe as validateMinimumDate1900,za as validatePhone,ve as validateTimestamp,ka as warningContrast,Oa as white,Ra as wrapPromise,Ia as yellow,we as zipCodeSchema};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verifiedinc-public/shared-ui-elements",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.1.1",
|
|
4
4
|
"description": "A set of UI components, utilities that is shareable with the core apps.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": false,
|
|
@@ -131,6 +131,7 @@
|
|
|
131
131
|
"@mui/icons-material": ">=5 <6",
|
|
132
132
|
"@mui/material": ">=5 <6",
|
|
133
133
|
"@tanstack/react-query": ">=5",
|
|
134
|
+
"@tanstack/react-table": ">=8 <9",
|
|
134
135
|
"@tanstack/react-virtual": ">=3",
|
|
135
136
|
"date-fns": ">=3.6.0",
|
|
136
137
|
"decimal.js": ">=10.4.3",
|