@verifiedinc-public/shared-ui-elements 11.9.1 → 11.9.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DataTable/DataTable.context.d.ts +6 -8
- package/dist/components/DataTable/DataTable.d.ts +1 -1
- package/dist/components/DataTable/DataTable.filterState.d.ts +31 -0
- package/dist/components/DataTable/DataTable.filterState.mjs +1 -0
- package/dist/components/DataTable/DataTable.filters.d.ts +11 -53
- package/dist/components/DataTable/DataTable.filters.mjs +1 -1
- package/dist/components/DataTable/DataTable.mjs +1 -1
- package/dist/components/DataTable/DataTable.types.d.ts +89 -83
- package/dist/components/DataTable/DataTableColumnMenu.d.ts +1 -3
- package/dist/components/DataTable/DataTableColumnMenu.mjs +1 -1
- package/dist/components/DataTable/DataTableFieldFilterPanel.d.ts +23 -0
- package/dist/components/DataTable/DataTableFieldFilterPanel.mjs +1 -0
- package/dist/components/DataTable/DataTableHeaderCell.mjs +1 -1
- package/dist/components/DataTable/DataTablePanels.mjs +1 -1
- package/dist/components/DataTable/DataTableToolbar.mjs +1 -1
- package/dist/components/DataTable/index.d.ts +1 -1
- package/dist/components/index.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/components/DataTable/DataTableFilterPanel.d.ts +0 -36
- package/dist/components/DataTable/DataTableFilterPanel.mjs +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CSSProperties, MouseEvent, MutableRefObject, ReactNode, RefObject, TouchEvent } from 'react';
|
|
2
2
|
import { Cell, ColumnPinningPosition, Header, OnChangeFn, Row, Table } from '@tanstack/react-table';
|
|
3
3
|
import { Virtualizer } from '@tanstack/react-virtual';
|
|
4
|
-
import {
|
|
4
|
+
import { DataTableBidirectionalScroll, DataTableCellProps, DataTableData, DataTableFilterField, DataTableFilterState, DataTableIcons, DataTableRowContext } from './DataTable.types';
|
|
5
5
|
import { DataTableExportColumn } from './DataTable.export';
|
|
6
6
|
/** Where a floating panel opens and which of its top corners pins there. */
|
|
7
7
|
export type DataTablePanelAnchor = {
|
|
@@ -63,13 +63,11 @@ export interface DataTableContextValue<TData extends DataTableData> {
|
|
|
63
63
|
bidirectionalScroll?: DataTableBidirectionalScroll;
|
|
64
64
|
renderLoading?: (columnCount: number) => ReactNode;
|
|
65
65
|
renderRow?: (context: DataTableRowContext<TData>) => ReactNode;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
/** Active-filter count for the Filters button badge when using renderFilterPanel. */
|
|
72
|
-
activeFilterCount?: number;
|
|
66
|
+
/** Declarative filter-field spec; when set, the built-in panel renders from it. */
|
|
67
|
+
filterFields?: DataTableFilterField[];
|
|
68
|
+
/** Filter state for `filterFields` (controlled or internal, see useControllableState). */
|
|
69
|
+
filterState: DataTableFilterState;
|
|
70
|
+
onFilterStateChange: (state: DataTableFilterState) => void;
|
|
73
71
|
search: string;
|
|
74
72
|
onSearchChange: OnChangeFn<string>;
|
|
75
73
|
columnPanel: DataTableColumnPanelState;
|
|
@@ -5,4 +5,4 @@ import { DataTableData, DataTableProps } from './DataTable.types';
|
|
|
5
5
|
* footer, floating panels) through DataTableProvider, and renders the
|
|
6
6
|
* layout shell around them.
|
|
7
7
|
*/
|
|
8
|
-
export declare function DataTable<TData extends DataTableData>({ data, columns, getRowId, renderRow, initialSorting, sorting: controlledSorting, onSortingChange, manualSorting, initialPageSize, pageSizeOptions, pagination: controlledPagination, onPaginationChange, manualPagination, rowCount, disableSorting, disablePagination, bidirectionalScroll, enableColumnResizing, enableColumnMenu, enableColumnPinning, pinFirstColumn, showToolbar, enableExport, exportFilename, additionalExportColumns,
|
|
8
|
+
export declare function DataTable<TData extends DataTableData>({ data, columns, getRowId, renderRow, initialSorting, sorting: controlledSorting, onSortingChange, manualSorting, initialPageSize, pageSizeOptions, pagination: controlledPagination, onPaginationChange, manualPagination, rowCount, disableSorting, disablePagination, bidirectionalScroll, enableColumnResizing, enableColumnMenu, enableColumnPinning, pinFirstColumn, showToolbar, enableExport, exportFilename, additionalExportColumns, manualFiltering, filterFields, initialFilterState, filterState: controlledFilterState, onFilterStateChange, initialSearch, search: controlledSearch, onSearchChange, initialColumnVisibility, columnVisibility: controlledColumnVisibility, onColumnVisibilityChange, initialColumnPinning, columnPinning: controlledColumnPinning, onColumnPinningChange, footerLeft, estimateRowHeight, minWidth, maxHeight, tableLayout, icons, emptyMessage, isLoading, renderLoading, }: Readonly<DataTableProps<TData>>): import("react").JSX.Element;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DataTableData, DataTableFilterField, DataTableFilterFieldValue, DataTableFilterState } from './DataTable.types';
|
|
2
|
+
/**
|
|
3
|
+
* The empty value for a field, by kind - text starts on its first operator
|
|
4
|
+
* (default `contains`) with a blank query, the rest start cleared.
|
|
5
|
+
*/
|
|
6
|
+
export declare function emptyFieldValue(field: DataTableFilterField): DataTableFilterFieldValue;
|
|
7
|
+
/** Blank filter state for a set of fields - every field cleared. */
|
|
8
|
+
export declare function buildInitialFilterState(fields: DataTableFilterField[]): DataTableFilterState;
|
|
9
|
+
/**
|
|
10
|
+
* Whether a field currently applies a filter - drives both the active-filter
|
|
11
|
+
* badge count and client-side filtering. A blank text field, an empty
|
|
12
|
+
* multi-select, an unset boolean, and (when `selectAllClears`) a
|
|
13
|
+
* fully-selected multi-select all count as inactive.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isFilterFieldActive(field: DataTableFilterField, value: DataTableFilterFieldValue | undefined): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Number of fields currently applying a filter - the Filters button badge.
|
|
18
|
+
*/
|
|
19
|
+
export declare function effectiveFilterFieldCount(fields: DataTableFilterField[], state: DataTableFilterState): number;
|
|
20
|
+
/**
|
|
21
|
+
* Client-side filtering for `manualFiltering` off: keeps rows passing every
|
|
22
|
+
* active field (fields AND together). Column-bound fields match their
|
|
23
|
+
* `columnId`, `group` fields match each section against its own key. Fields
|
|
24
|
+
* without a `columnId` (and non-group) are server-only and skipped. Returns
|
|
25
|
+
* `data` unchanged when nothing is active (no re-allocation).
|
|
26
|
+
*
|
|
27
|
+
* `getCellValue` resolves a column/key value for a row - the DataTable passes a
|
|
28
|
+
* column-accessor-backed reader, the default reads the raw row key, which is
|
|
29
|
+
* enough for plain-object data.
|
|
30
|
+
*/
|
|
31
|
+
export declare function applyFieldFilters<TData extends DataTableData>(data: TData[], fields: DataTableFilterField[], state: DataTableFilterState, getCellValue?: (row: TData, columnId: string, index: number) => unknown): TData[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function d(t){var e;switch(t.kind){case"text":return{kind:"text",operator:((e=t.operators)==null?void 0:e[0])??"contains",value:""};case"select":return{kind:"select",value:null};case"multiSelect":return{kind:"multiSelect",values:[]};case"boolean":return{kind:"boolean",value:null};case"group":return{kind:"group",values:{}}}}function p(t){const e={};for(const l of t)e[l.id]=d(l);return e}function o(t,e,l){return l&&e.length>0&&e.every(u=>t.includes(u))}function c(t,e){if(!e||e.kind!==t.kind)return!1;const l=t.selectAllClears??!0;switch(e.kind){case"text":return e.operator==="isEmpty"||e.operator==="isNotEmpty"?!0:e.value.trim()!=="";case"select":return e.value!=null&&e.value!=="";case"multiSelect":return e.values.length>0&&!o(e.values,(t.options??[]).map(u=>u.value),l);case"boolean":return e.value!=null;case"group":return(t.sections??[]).some(u=>{const r=e.values[u.key]??[];return r.length>0&&!o(r,u.options.map(n=>n.value),l)})}}function f(t,e){return t.filter(l=>c(l,e[l.id])).length}function g(t,e,l){const u=t==null||t==="",r=u?"":String(t).toLowerCase();if(e==="isEmpty")return u;if(e==="isNotEmpty")return!u;const n=l.trim().toLowerCase();if(n==="")return!0;switch(e){case"doesNotContain":return!r.includes(n);case"equals":return r===n;case"doesNotEqual":return r!==n;case"startsWith":return r.startsWith(n);case"endsWith":return r.endsWith(n);case"contains":default:return r.includes(n)}}function m(t){return typeof t=="boolean"?t:t==="true"||t==="Yes"?!0:t==="false"||t==="No"?!1:null}function h(t,e){switch(e.kind){case"text":return g(t,e.operator,e.value);case"select":return e.value==null||String(t)===e.value;case"multiSelect":return e.values.length===0||e.values.includes(String(t));case"boolean":return e.value==null||m(t)===e.value;case"group":return!0}}function k(t,e,l){const u=t.selectAllClears??!0;return(t.sections??[]).every(r=>{const n=e[r.key]??[];return n.length===0||o(n,r.options.map(s=>s.value),u)?!0:n.includes(String(l(r.key)))})}function y(t,e,l,u=(r,n)=>r[n]){const r=e.filter(n=>c(n,l[n.id])?n.kind==="group"||n.columnId!==void 0:!1);return r.length===0?t:t.filter((n,s)=>r.every(a=>{const i=l[a.id];return i===void 0?!0:i.kind==="group"?k(a,i.values,v=>u(n,v,s)):h(u(n,a.columnId,s),i)}))}export{y as applyFieldFilters,p as buildInitialFilterState,f as effectiveFilterFieldCount,d as emptyFieldValue,c as isFilterFieldActive};
|
|
@@ -1,53 +1,17 @@
|
|
|
1
|
-
import { ColumnDef
|
|
2
|
-
import {
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
value: DataTableFilterOperator;
|
|
6
|
-
label: string;
|
|
7
|
-
}>;
|
|
1
|
+
import { ColumnDef } from '@tanstack/react-table';
|
|
2
|
+
import { DataTableData } from './DataTable.types';
|
|
3
|
+
/** Accessor resolving a column's cell value from a raw data row. */
|
|
4
|
+
type DataTableRowAccessor<TData> = (row: TData, index: number) => unknown;
|
|
8
5
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* the full list.
|
|
6
|
+
* Flattens the defs (recursing into groups) into a map of leaf column id →
|
|
7
|
+
* cell value accessor, so search resolves the same values the cells display.
|
|
8
|
+
* Display-only columns (no accessor) are skipped.
|
|
13
9
|
*/
|
|
14
|
-
export declare function
|
|
15
|
-
/**
|
|
16
|
-
* Default operator for a fresh filter row on a column: `contains` when allowed,
|
|
17
|
-
* otherwise the first allowed operator (falls back to `contains` if the list is
|
|
18
|
-
* empty).
|
|
19
|
-
*/
|
|
20
|
-
export declare function defaultFilterOperator(allowed?: DataTableFilterOperator[]): DataTableFilterOperator;
|
|
21
|
-
/** Whether the operator needs a value input to be meaningful. */
|
|
22
|
-
export declare function filterOperatorRequiresValue(operator: DataTableFilterOperator): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Whether the operator takes multiple values — rendered as a chips input
|
|
25
|
-
* in the filter panel instead of a single text field.
|
|
26
|
-
*/
|
|
27
|
-
export declare function filterOperatorIsMultiValue(operator: DataTableFilterOperator): boolean;
|
|
28
|
-
/** Empty filter state — no rows, AND logic. */
|
|
29
|
-
export declare const EMPTY_FILTERS: DataTableActiveFilters;
|
|
30
|
-
/**
|
|
31
|
-
* Whether a filter row has a usable value — rows without a value pass all
|
|
32
|
-
* rows through, so they are excluded from the active-filter indicator and
|
|
33
|
-
* from pre-filtering.
|
|
34
|
-
*/
|
|
35
|
-
export declare function isFilterRowActive(row: DataTableFilterRow): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Client-side multi-filter: filters `data` rows using `filters.rows` with
|
|
38
|
-
* AND or OR logic. Rows with incomplete values are skipped. Returns `data`
|
|
39
|
-
* unchanged when there are no active rows (no re-allocation).
|
|
40
|
-
*
|
|
41
|
-
* With `columns`, each filter resolves its value through the targeted
|
|
42
|
-
* column's accessor (so columns reading nested values filter correctly);
|
|
43
|
-
* without them it falls back to the raw row key.
|
|
44
|
-
*/
|
|
45
|
-
export declare function applyFilters<TData extends DataTableData>(data: TData[], filters: DataTableActiveFilters, columns?: Array<ColumnDef<TData, unknown>>): TData[];
|
|
10
|
+
export declare function getLeafAccessorsById<TData extends DataTableData>(defs: Array<ColumnDef<TData, unknown>>): Record<string, DataTableRowAccessor<TData>>;
|
|
46
11
|
/**
|
|
47
12
|
* Client-side quick search: keeps rows where any cell value contains the
|
|
48
|
-
* query (case-insensitive over the stringified value
|
|
49
|
-
*
|
|
50
|
-
* (no re-allocation).
|
|
13
|
+
* query (case-insensitive over the stringified value). Returns `data`
|
|
14
|
+
* unchanged when the query is blank (no re-allocation).
|
|
51
15
|
*
|
|
52
16
|
* With `columns`, the search covers the cell values the columns resolve —
|
|
53
17
|
* searching raw row values instead would also match fields that never
|
|
@@ -55,10 +19,4 @@ export declare function applyFilters<TData extends DataTableData>(data: TData[],
|
|
|
55
19
|
* top-level row value.
|
|
56
20
|
*/
|
|
57
21
|
export declare function applySearch<TData extends DataTableData>(data: TData[], search: string, columns?: Array<ColumnDef<TData, unknown>>): TData[];
|
|
58
|
-
|
|
59
|
-
* Operator-based filter function backing every filterable column.
|
|
60
|
-
* Comparisons are case-insensitive over the stringified cell value, so it
|
|
61
|
-
* works for the unknown-shape records the table is built around. Filters
|
|
62
|
-
* without a usable value match every row.
|
|
63
|
-
*/
|
|
64
|
-
export declare function dataTableFilterFn<TData>(row: Row<TData>, columnId: string, filterValue: unknown): boolean;
|
|
22
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function
|
|
1
|
+
"use strict";function u(e){return e.id?e.id:"accessorKey"in e&&e.accessorKey!==void 0?String(e.accessorKey).replace(/\./g,"_"):typeof e.header=="string"?e.header:void 0}function a(e){const n={};for(const c of e){if("columns"in c&&Array.isArray(c.columns)){Object.assign(n,a(c.columns));continue}const s=u(c);if(s!==void 0){if("accessorFn"in c&&c.accessorFn)n[s]=c.accessorFn;else if("accessorKey"in c&&c.accessorKey!==void 0){const r=String(c.accessorKey).split(".");n[s]=t=>r.reduce((o,i)=>o?.[i],t)}}}return n}function f(e,n,c){const s=n.trim().toLowerCase();if(s==="")return e;const r=o=>o!=null&&o!==""&&String(o).toLowerCase().includes(s),t=c?Object.values(a(c)):[];return t.length>0?e.filter((o,i)=>t.some(l=>r(l(o,i)))):e.filter(o=>Object.values(o).some(r))}export{f as applySearch,a as getLeafAccessorsById};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{useMemo as
|
|
1
|
+
"use strict";import{useMemo as V,useState as oe,useRef as D,useEffect as dt}from"react";import{useReactTable as gt,getPaginationRowModel as mt,getSortedRowModel as ft,getCoreRowModel as ct}from"@tanstack/react-table";import{useVirtualizer as ht}from"@tanstack/react-virtual";import{Box as pt,TableContainer as bt,Table as Ct}from"@mui/material";import{useBidirectionalScroll as wt}from"../../hooks/useBidirectionalScroll.mjs";import{DataTableProvider as Rt}from"./DataTable.context.mjs";import{useControllableState as m,useHeaderRowTops as St,useStickyHeaderHeight as Pt,usePinnedOffsets as vt}from"./DataTable.hooks.mjs";import{getLeafAccessorsById as yt,applySearch as Lt}from"./DataTable.filters.mjs";import{buildInitialFilterState as xt,applyFieldFilters as zt}from"./DataTable.filterState.mjs";import{inferColumns as ie,applyMetaWidthsToSizes as Mt,getColumnMeta as ae,measureRowGroup as Tt}from"./DataTable.utils.mjs";import{DataTableBody as Ot}from"./DataTableBody.mjs";import{DataTableFooter as Ft}from"./DataTableFooter.mjs";import{DataTableHead as Ht}from"./DataTableHead.mjs";import{DataTablePanels as Vt}from"./DataTablePanels.mjs";import{DataTableToolbar as Dt}from"./DataTableToolbar.mjs";import{jsx as u,jsxs as le}from"react/jsx-runtime";const It=25,Et=[10,25,50,100],Bt=53,Nt={},re={left:[],right:[]},se=()=>{};function ue(i){for(const l of i??[]){const d=l.columns;if(d!=null&&d.length){const p=ue(d);if(p)return p;continue}if(l.enablePinning===!1)continue;const c=l.accessorKey,h=l.id??(typeof c=="string"?c:void 0);if(h)return h}}function kt({data:i,columns:l,getRowId:d,renderRow:c,initialSorting:h=[],sorting:p,onSortingChange:de,manualSorting:I=!1,initialPageSize:ge=It,pageSizeOptions:me=Et,pagination:fe,onPaginationChange:ce,manualPagination:b=!1,rowCount:S,disableSorting:P=!1,disablePagination:v=!1,bidirectionalScroll:n,enableColumnResizing:g=!1,enableColumnMenu:he=!1,enableColumnPinning:E=!1,pinFirstColumn:pe=!0,showToolbar:be=!1,enableExport:Ce=!1,exportFilename:we="data",additionalExportColumns:Re,manualFiltering:B=!1,filterFields:C,initialFilterState:Se,filterState:Pe,onFilterStateChange:ve,initialSearch:ye="",search:Le,onSearchChange:xe,initialColumnVisibility:N={},columnVisibility:ze,onColumnVisibilityChange:Me,initialColumnPinning:k=re,columnPinning:$,onColumnPinningChange:Te,footerLeft:Oe,estimateRowHeight:Fe=Bt,minWidth:He=650,maxHeight:Ve=800,tableLayout:y="auto",icons:De=Nt,emptyMessage:Ie="No data to display.",isLoading:Ee=!1,renderLoading:Be}){var W,j;const[Ne,ke]=m(h,p,de),[$e,We]=m({pageIndex:0,pageSize:ge},fe,ce),[L,je]=m(Se??xt(C??[]),Pe,ve),[x,Ke]=m(ye,Le,xe),[qe,Ge]=m(N,ze,Me),K=V(()=>ue(l??ie(i)),[l,i]),Je=$===void 0&&k===re&&pe&&K?{left:[K],right:[]}:k,[z,Qe]=m(Je,$,Te),M=E||(((W=z.left)==null?void 0:W.length)??0)>0||(((j=z.right)==null?void 0:j.length)??0)>0,[T,Ue]=oe({}),q=g&&Object.keys(T).length>0,[Xe,w]=oe(null),Ye=()=>{w(null)},G=D(null),J=D(null),Q=(e,t)=>{if(t){const r=t.getBoundingClientRect();return{anchorPosition:{top:r.bottom,left:r.right},transformHorizontal:"right"}}const o=e.getBoundingClientRect();return{anchorPosition:{top:o.bottom,left:o.left},transformHorizontal:"left"}},Ze=(e,t)=>{w({type:"filter",columnId:e,...Q(t,G.current)})},Ae=e=>{w({type:"manageColumns",...Q(e,J.current)})},O=D(null),s=V(()=>{const e=l??ie(i);return g?Mt(e):e},[l,i,g]),_e=V(()=>{if(B)return i;const e=yt(s);return Lt(zt(i,C??[],L,(t,o,r)=>{const f=e[o];return f?f(t,r):t[o]}),x,s)},[i,C,L,x,B,s]),a=gt({data:_e,columns:s,state:{...P?{}:{sorting:Ne},...v?{}:{pagination:$e},...M?{columnPinning:z}:{},columnVisibility:qe,columnSizing:T},initialState:{columnVisibility:N},onSortingChange:ke,onPaginationChange:We,onColumnVisibilityChange:Ge,onColumnPinningChange:Qe,onColumnSizingChange:Ue,enableColumnPinning:E,columnResizeMode:"onChange",enableColumnResizing:g,getCoreRowModel:ct(),defaultColumn:{enableSorting:!1},enableSorting:!P,manualSorting:I,...P||I?{}:{getSortedRowModel:ft()},manualPagination:b,...b&&S!==void 0?{rowCount:S}:{},getRowCanExpand:()=>!0,...v||b?{}:{getPaginationRowModel:mt()},...d?{getRowId:d}:{}}),F=a.getRowModel().rows,et=b?S??i.length:a.getPrePaginationRowModel().rows.length,tt=a.getVisibleLeafColumns().length||1,nt=g&&a.getVisibleLeafColumns().some(e=>{var t;return typeof((t=ae(e.columnDef.meta))==null?void 0:t.width)=="number"}),ot=q||nt,H=M?a.getLeftVisibleLeafColumns().map(e=>e.id):[],U=M?a.getRightVisibleLeafColumns().map(e=>e.id):[],X=a.getHeaderGroups().length,{headerRowRefs:Y,headerRowTops:it}=St(X,s),Z=n!==void 0,at=Pt(Z,Y,X,s),{headerCellRefs:A,pinnedOffsets:_}=vt(H,U,s),lt=(e,t)=>{var o;for(const r of a.getVisibleLeafColumns())if(T[r.id]===void 0){const f=(o=A.current[r.id])==null?void 0:o.getBoundingClientRect().width;f&&(r.columnDef.size=Math.round(f))}e.getResizeHandler()(t)},ee=(e,t)=>e==="left"?H[H.length-1]===t:U[0]===t,te=(e,t)=>{if(e==="left")return{left:_.left[t]??0};if(e==="right")return{right:_.right[t]??0}},ne=y==="fixed"?{overflow:"hidden",textOverflow:"ellipsis"}:void 0,rt=(e,t)=>e?o=>({...ne,position:"sticky",zIndex:1,bgcolor:"background.paper",".MuiTableRow-hover:hover > &":{backgroundImage:`linear-gradient(${o.palette.action.hover}, ${o.palette.action.hover})`},...ee(e,t)?{boxShadow:`inset ${e==="left"?-1:1}px 0 0 ${o.palette.divider}`}:{}}):ne,st=e=>{var t;const o=e.column.getIsPinned();return{align:(t=ae(e.column.columnDef.meta))==null?void 0:t.align,style:te(o,e.column.id),sx:rt(o,e.column.id)}},R=ht({count:F.length,getScrollElement:()=>O.current,estimateSize:()=>Fe,overscan:5,measureElement:Tt});wt({enabled:Z,scrollContainerRef:O,virtualizer:R,rowCount:F.length,hasNewer:n?.hasNewer,hasOlder:n?.hasOlder,isLoadingNewer:n?.isLoadingNewer,isLoadingOlder:n?.isLoadingOlder,onLoadNewer:n?.onLoadNewer??se,onLoadOlder:n?.onLoadOlder??se,resetKey:n?.resetKey});const{pageIndex:ut}=a.getState().pagination;return dt(()=>{R.scrollToOffset(0)},[ut,R]),u(Rt,{value:{table:a,data:i,rows:F,totalRowCount:et,columnCount:tt,icons:De,isLoading:Ee,emptyMessage:Ie,tableLayout:y,enableColumnResizing:g,enableColumnMenu:he,enableExport:Ce,exportFilename:we,additionalExportColumns:Re,disablePagination:v,pageSizeOptions:me,footerLeft:Oe,bidirectionalScroll:n,renderLoading:Be,renderRow:c,filterFields:C,filterState:L,onFilterStateChange:je,search:x,onSearchChange:Ke,columnPanel:Xe,setColumnPanel:w,closeColumnPanel:Ye,openFilterPanel:Ze,openManageColumnsPanel:Ae,toolbarFilterButtonRef:G,toolbarManageColumnsButtonRef:J,headerRowRefs:Y,headerCellRefs:A,headerRowTops:it,headerHeight:at,isPinnedEdge:ee,getPinnedOffsetStyle:te,getCellProps:st,hasResizedColumns:q,startColumnResize:lt,virtualizer:R},children:le(pt,{sx:{width:"100%"},children:[be&&u(Dt,{}),u(bt,{ref:O,sx:{maxHeight:Ve,width:0,minWidth:"100%"},children:le(Ct,{stickyHeader:!0,sx:{minWidth:He,tableLayout:y},style:ot?{width:`max(${a.getTotalSize()}px, 100%)`}:void 0,"aria-label":"data table",children:[u(Ht,{}),u(Ot,{})]})}),u(Vt,{}),u(Ft,{})]})})}export{kt as DataTable};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentType, CSSProperties, ReactNode, Ref } from 'react';
|
|
2
2
|
import { SvgIconProps, SxProps, Theme } from '@mui/material';
|
|
3
|
-
import { Cell, ColumnDef, ColumnPinningState, PaginationState, Row, SortingState,
|
|
3
|
+
import { Cell, ColumnDef, ColumnPinningState, PaginationState, Row, SortingState, VisibilityState } from '@tanstack/react-table';
|
|
4
4
|
import { VirtualItem } from '@tanstack/react-virtual';
|
|
5
5
|
import { DataTableExportColumn } from './DataTable.export';
|
|
6
6
|
/**
|
|
@@ -8,56 +8,87 @@ import { DataTableExportColumn } from './DataTable.export';
|
|
|
8
8
|
* shape is unknown ahead of time.
|
|
9
9
|
*/
|
|
10
10
|
export type DataTableData = Record<string, unknown>;
|
|
11
|
-
/**
|
|
11
|
+
/** Text-match operators for a `text` filter field. */
|
|
12
12
|
export type DataTableFilterOperator = 'contains' | 'doesNotContain' | 'equals' | 'doesNotEqual' | 'startsWith' | 'endsWith' | 'isEmpty' | 'isNotEmpty' | 'isAnyOf';
|
|
13
|
+
/** Control kind a `DataTableFilterField` renders in the filter panel. */
|
|
14
|
+
export type DataTableFilterFieldKind = 'text' | 'select' | 'multiSelect' | 'boolean' | 'group';
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
+
* One selectable choice. `value` is the server value carried end-to-end (a
|
|
17
|
+
* uuid, enum code, `'true'`/`'false'`, ...), `label` is what the user sees.
|
|
18
|
+
* Keeping them separate is what lets the panel disambiguate duplicate display
|
|
19
|
+
* names (options are keyed by `value`).
|
|
16
20
|
*/
|
|
17
|
-
export interface
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
export interface DataTableFilterOption {
|
|
22
|
+
label: string;
|
|
23
|
+
value: string;
|
|
24
|
+
}
|
|
25
|
+
/** One section of a `group` field, a labelled sub-list of options. */
|
|
26
|
+
export interface DataTableFilterSection {
|
|
27
|
+
/** Stable key for this section within its field's state. */
|
|
28
|
+
key: string;
|
|
29
|
+
label: string;
|
|
30
|
+
options: DataTableFilterOption[];
|
|
24
31
|
}
|
|
25
|
-
/** Whether all filter rows must match (AND) or any one suffices (OR). */
|
|
26
|
-
export type DataTableFilterLogicOperator = 'and' | 'or';
|
|
27
32
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
33
|
+
* Declarative description of one filter control. `columnId` binds the field
|
|
34
|
+
* to a table column (used for client-side filtering when `manualFiltering`
|
|
35
|
+
* is off); omit it for a non-column ("extended") filter whose meaning lives
|
|
36
|
+
* only server-side.
|
|
32
37
|
*/
|
|
33
|
-
export interface
|
|
38
|
+
export interface DataTableFilterField {
|
|
39
|
+
/** Stable key this field's value is stored under in `DataTableFilterState`. */
|
|
34
40
|
id: string;
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
/** Label shown above the control in the panel. */
|
|
42
|
+
label: string;
|
|
43
|
+
kind: DataTableFilterFieldKind;
|
|
44
|
+
/**
|
|
45
|
+
* Column this field filters, when it maps to one. Absent = a non-column
|
|
46
|
+
* filter (e.g. an activity filter spanning several server params); such
|
|
47
|
+
* fields are skipped by client-side filtering and only surface through
|
|
48
|
+
* `onFilterStateChange`.
|
|
49
|
+
*/
|
|
50
|
+
columnId?: string;
|
|
51
|
+
/** Choices for `select` / `multiSelect`. */
|
|
52
|
+
options?: DataTableFilterOption[];
|
|
53
|
+
/** Sections for `group`. */
|
|
54
|
+
sections?: DataTableFilterSection[];
|
|
55
|
+
/**
|
|
56
|
+
* Text operators offered (and their order) for a `text` field. Defaults to
|
|
57
|
+
* `['contains']`. The first entry is the default operator.
|
|
58
|
+
*/
|
|
59
|
+
operators?: DataTableFilterOperator[];
|
|
37
60
|
/**
|
|
38
|
-
* `
|
|
39
|
-
*
|
|
40
|
-
*
|
|
61
|
+
* For `multiSelect` / `group`: treat "every option selected" the same as
|
|
62
|
+
* "none selected" - i.e. a fully-selected control applies no filter and
|
|
63
|
+
* does not count toward the active-filter badge. Defaults to `true`.
|
|
41
64
|
*/
|
|
42
|
-
|
|
65
|
+
selectAllClears?: boolean;
|
|
66
|
+
/** Placeholder for the input (text / select / multiSelect). */
|
|
67
|
+
placeholder?: string;
|
|
43
68
|
}
|
|
44
69
|
/**
|
|
45
|
-
* The
|
|
46
|
-
* `
|
|
47
|
-
* `onFiltersChange`; client-side filtering is applied automatically
|
|
48
|
-
* otherwise.
|
|
70
|
+
* The value of a single field, discriminated by `kind`. Stored under the
|
|
71
|
+
* field's `id` in `DataTableFilterState`.
|
|
49
72
|
*/
|
|
50
|
-
export
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
73
|
+
export type DataTableFilterFieldValue = {
|
|
74
|
+
kind: 'text';
|
|
75
|
+
operator: DataTableFilterOperator;
|
|
76
|
+
value: string;
|
|
77
|
+
} | {
|
|
78
|
+
kind: 'select';
|
|
79
|
+
value: string | null;
|
|
80
|
+
} | {
|
|
81
|
+
kind: 'multiSelect';
|
|
82
|
+
values: string[];
|
|
83
|
+
} | {
|
|
84
|
+
kind: 'boolean';
|
|
85
|
+
value: boolean | null;
|
|
86
|
+
} | {
|
|
87
|
+
kind: 'group';
|
|
88
|
+
values: Record<string, string[]>;
|
|
89
|
+
};
|
|
90
|
+
/** Full filter state: each field's value keyed by its `id`. */
|
|
91
|
+
export type DataTableFilterState = Record<string, DataTableFilterFieldValue>;
|
|
61
92
|
/**
|
|
62
93
|
* Optional per-column display hints, supplied via the TanStack
|
|
63
94
|
* `ColumnDef.meta` field.
|
|
@@ -76,19 +107,6 @@ export interface DataTableColumnMeta {
|
|
|
76
107
|
* split the available space.
|
|
77
108
|
*/
|
|
78
109
|
width?: number | string;
|
|
79
|
-
/**
|
|
80
|
-
* Options suggested by the filter panel's value input for this column.
|
|
81
|
-
* When omitted, suggestions are derived from the column's distinct
|
|
82
|
-
* values in `data` — with `manualFiltering`, `data` only holds the
|
|
83
|
-
* current page, so supply the full set here.
|
|
84
|
-
*/
|
|
85
|
-
filterOptions?: string[];
|
|
86
|
-
/**
|
|
87
|
-
* Restricts which operators the filter panel offers for this column. When
|
|
88
|
-
* omitted or empty array, all operators are available. Useful to hide
|
|
89
|
-
* operators a column can't meaningfully support.
|
|
90
|
-
*/
|
|
91
|
-
filterOperators?: DataTableFilterOperator[];
|
|
92
110
|
/**
|
|
93
111
|
* Hides the hover kebab (column menu) on this column even when the table
|
|
94
112
|
* has `enableColumnMenu`. Use for utility columns with nothing to act on
|
|
@@ -431,26 +449,6 @@ export interface DataTableProps<TData extends DataTableData> {
|
|
|
431
449
|
* exported. Each supplies a `header` and a `(row) => value` extractor, not rendered in the table.
|
|
432
450
|
*/
|
|
433
451
|
additionalExportColumns?: ReadonlyArray<DataTableExportColumn<TData>>;
|
|
434
|
-
/**
|
|
435
|
-
* Initial filter state. Rows are applied as AND by default; switch to OR
|
|
436
|
-
* via `logicOperator: 'or'`.
|
|
437
|
-
*
|
|
438
|
-
* @example
|
|
439
|
-
* initialFilters={{ rows: [{ id: 'f1', columnId: 'role', operator: 'equals', value: 'admin' }], logicOperator: 'and' }}
|
|
440
|
-
*/
|
|
441
|
-
initialFilters?: DataTableActiveFilters;
|
|
442
|
-
/**
|
|
443
|
-
* Controlled filter state (pair with `onFiltersChange`). Takes
|
|
444
|
-
* precedence over `initialFilters`. When omitted, filter state is
|
|
445
|
-
* internal.
|
|
446
|
-
*/
|
|
447
|
-
filters?: DataTableActiveFilters;
|
|
448
|
-
/**
|
|
449
|
-
* Called with the next filter state when the filter panel changes. With
|
|
450
|
-
* `manualFiltering`, fetch the matching rows from the server in response
|
|
451
|
-
* (and usually reset the page to 0).
|
|
452
|
-
*/
|
|
453
|
-
onFiltersChange?: (filters: DataTableActiveFilters) => void;
|
|
454
452
|
/**
|
|
455
453
|
* Server-side filtering: rows in `data` are assumed to already match the
|
|
456
454
|
* active filters and search query — the filter panel and the toolbar
|
|
@@ -458,20 +456,28 @@ export interface DataTableProps<TData extends DataTableData> {
|
|
|
458
456
|
*/
|
|
459
457
|
manualFiltering?: boolean;
|
|
460
458
|
/**
|
|
461
|
-
*
|
|
462
|
-
* rendering
|
|
463
|
-
*
|
|
464
|
-
*
|
|
465
|
-
*
|
|
466
|
-
|
|
467
|
-
|
|
459
|
+
* Declarative filter-field spec. When provided, the toolbar's Filters button opens the built-in
|
|
460
|
+
* panel rendering one control per field (text / select / multiSelect / boolean / group) from this
|
|
461
|
+
* spec — the table owns the UI and derives the active-filter badge itself. State is emitted in
|
|
462
|
+
* server-value terms through `onFilterStateChange`, which a consumer maps 1:1 to its query params
|
|
463
|
+
* (pair with `manualFiltering`).
|
|
464
|
+
*/
|
|
465
|
+
filterFields?: DataTableFilterField[];
|
|
466
|
+
/**
|
|
467
|
+
* Initial filter state for `filterFields`. Defaults to every field cleared. What the panel's
|
|
468
|
+
* "Clear all" restores.
|
|
469
|
+
*/
|
|
470
|
+
initialFilterState?: DataTableFilterState;
|
|
471
|
+
/**
|
|
472
|
+
* Controlled filter state for `filterFields` (pair with `onFilterStateChange`). Takes precedence
|
|
473
|
+
* over `initialFilterState`. When omitted, the state is internal.
|
|
468
474
|
*/
|
|
469
|
-
|
|
475
|
+
filterState?: DataTableFilterState;
|
|
470
476
|
/**
|
|
471
|
-
*
|
|
472
|
-
*
|
|
477
|
+
* Called with the next filter state when a `filterFields` control changes. With `manualFiltering`,
|
|
478
|
+
* map the state to the server query in response (and usually reset the page to 0).
|
|
473
479
|
*/
|
|
474
|
-
|
|
480
|
+
onFilterStateChange?: (state: DataTableFilterState) => void;
|
|
475
481
|
/** Initial quick-search query for the toolbar search input. */
|
|
476
482
|
initialSearch?: string;
|
|
477
483
|
/**
|
|
@@ -8,8 +8,6 @@ interface DataTableColumnMenuProps<TData extends DataTableData> {
|
|
|
8
8
|
/** Blocks the sort actions while a page is being fetched (manualSorting). */
|
|
9
9
|
isLoading: boolean;
|
|
10
10
|
onClose: () => void;
|
|
11
|
-
/** Swaps this menu for the filter panel, preselecting this column. */
|
|
12
|
-
onOpenFilter: () => void;
|
|
13
11
|
/** Swaps this menu for the manage columns panel. */
|
|
14
12
|
onOpenManageColumns: () => void;
|
|
15
13
|
}
|
|
@@ -18,5 +16,5 @@ interface DataTableColumnMenuProps<TData extends DataTableData> {
|
|
|
18
16
|
* mirroring the MUI DataGrid column menu. Sections render only when the
|
|
19
17
|
* column supports them (e.g. sort items only for sortable columns).
|
|
20
18
|
*/
|
|
21
|
-
export declare function DataTableColumnMenu<TData extends DataTableData>({ column, anchorEl, icons, isLoading, onClose,
|
|
19
|
+
export declare function DataTableColumnMenu<TData extends DataTableData>({ column, anchorEl, icons, isLoading, onClose, onOpenManageColumns, }: Readonly<DataTableColumnMenuProps<TData>>): import("react").JSX.Element;
|
|
22
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{Menu as
|
|
1
|
+
"use strict";import{Menu as y,MenuItem as r,ListItemIcon as o,ListItemText as l,Divider as f}from"@mui/material";import{ViewColumn as A,ArrowUpward as L,ArrowDownward as v,PushPinOutlined as U,VisibilityOff as V,PushPin as u}from"@mui/icons-material";import{jsxs as e,jsx as n}from"react/jsx-runtime";function E(i){return n(u,{...i,sx:{transform:"rotate(30deg)"}})}function H(i){return n(u,{...i,sx:{transform:"rotate(-30deg)"}})}function j({column:i,anchorEl:C,icons:S={},isLoading:c,onClose:t,onOpenManageColumns:p}){const{sortAsc:b=L,sortDesc:z=v,pinLeft:k=E,pinRight:P=H,unpin:w=U,hideColumn:x=V,manageColumns:I=A}=S,a=i.getCanSort(),D=i.getIsSorted(),s=i.getCanPin(),d=i.getIsPinned(),M=i.getCanHide(),g=m=>{i.toggleSorting(m),t()},O=()=>{i.clearSorting(),t()},h=m=>{i.pin(m),t()};return e(y,{open:!0,anchorEl:C,onClose:t,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[a&&e(r,{disabled:c,onClick:()=>g(!1),children:[n(o,{children:n(b,{fontSize:"small"})}),n(l,{children:"Sort by ASC"})]}),a&&e(r,{disabled:c,onClick:()=>g(!0),children:[n(o,{children:n(z,{fontSize:"small"})}),n(l,{children:"Sort by DESC"})]}),a&&D&&e(r,{disabled:c,onClick:O,children:[n(o,{}),n(l,{children:"Unsort"})]}),a&&s&&n(f,{}),s&&d!=="left"&&e(r,{onClick:()=>h("left"),children:[n(o,{children:n(k,{fontSize:"small"})}),n(l,{children:"Pin to left"})]}),s&&d!=="right"&&e(r,{onClick:()=>h("right"),children:[n(o,{children:n(P,{fontSize:"small"})}),n(l,{children:"Pin to right"})]}),s&&d!==!1&&e(r,{onClick:()=>h(!1),children:[n(o,{children:n(w,{fontSize:"small"})}),n(l,{children:"Unpin"})]}),(a||s)&&n(f,{}),M&&e(r,{onClick:()=>{i.toggleVisibility(!1),t()},children:[n(o,{children:n(x,{fontSize:"small"})}),n(l,{children:"Hide column"})]}),e(r,{onClick:p,children:[n(o,{children:n(I,{fontSize:"small"})}),n(l,{children:"Manage columns"})]})]})}export{j as DataTableColumnMenu};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DataTableFilterField, DataTableFilterState, DataTableIcons } from './DataTable.types';
|
|
2
|
+
interface DataTableFieldFilterPanelProps {
|
|
3
|
+
fields: DataTableFilterField[];
|
|
4
|
+
/** Current filter state (may omit fields, each falls back to its empty value). */
|
|
5
|
+
filterState: DataTableFilterState;
|
|
6
|
+
onFilterStateChange: (state: DataTableFilterState) => void;
|
|
7
|
+
anchorPosition: {
|
|
8
|
+
top: number;
|
|
9
|
+
left: number;
|
|
10
|
+
};
|
|
11
|
+
/** Which top corner pins to `anchorPosition`. Defaults to 'left'. */
|
|
12
|
+
transformHorizontal?: 'left' | 'right';
|
|
13
|
+
icons?: DataTableIcons;
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Built-in filter panel rendered from a declarative `filterFields` spec, one
|
|
18
|
+
* control per field, its value emitted in server-value terms. Changes report
|
|
19
|
+
* live (no Apply button), matching the operator panel: consumers refetch from
|
|
20
|
+
* `onFilterStateChange`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function DataTableFieldFilterPanel({ fields, filterState, onFilterStateChange, anchorPosition, transformHorizontal, icons, onClose, }: Readonly<DataTableFieldFilterPanelProps>): import("react").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";import{Popover as Y,Box as G,Typography as W,Stack as m,Divider as J,Button as K,Autocomplete as C,TextField as x,Checkbox as M,Chip as Q,createFilterOptions as U}from"@mui/material";import{DeleteOutline as X}from"@mui/icons-material";import{buildInitialFilterState as Z,emptyFieldValue as ee}from"./DataTable.filterState.mjs";import{jsxs as b,jsx as i,Fragment as q}from"react/jsx-runtime";import{createElement as O}from"react";const z="__select_all__",F=2,P=[{label:"Yes",value:"true"},{label:"No",value:"false"}],le={contains:"contains",doesNotContain:"does not contain",equals:"equals",doesNotEqual:"does not equal",startsWith:"starts with",endsWith:"ends with",isEmpty:"is empty",isNotEmpty:"is not empty",isAnyOf:"is any of"},_=U({stringify:c=>`${c.label} ${c.value}`});function te(c,f){return(c??[]).filter(g=>f.includes(g.value))}function ae({fields:c,filterState:f,onFilterStateChange:g,anchorPosition:A,transformHorizontal:N="left",icons:T={},onClose:S}){const{removeAllFilters:j=X}=T,h=e=>f[e.id]??ee(e),v=(e,l)=>{g({...f,[e.id]:l})},D=()=>{g(Z(c)),S()},L=e=>{var l;const t=h(e),a=t.kind==="text"?t:{operator:((l=e.operators)==null?void 0:l[0])??"contains",value:""},n=e.operators??["contains"];return b(m,{direction:"row",spacing:1,sx:{flex:1},children:[n.length>1&&i(C,{size:"small",disableClearable:!0,options:n,getOptionLabel:s=>le[s],value:a.operator,onChange:(s,r)=>v(e,{kind:"text",operator:r,value:a.value}),renderInput:s=>i(x,{...s,size:"small",label:"Operator"}),sx:{minWidth:150}}),i(x,{size:"small",label:e.label,placeholder:e.placeholder??"Filter value",value:a.value,onChange:s=>v(e,{kind:"text",operator:a.operator,value:s.target.value}),sx:{flex:1,minWidth:200}})]})},w=(e,l,t,a,n,s)=>i(C,{size:"small",options:l,getOptionLabel:r=>r.label,filterOptions:_,isOptionEqualToValue:(r,d)=>r.value===d.value,value:t,onChange:(r,d)=>a(d),renderOption:(r,d)=>{const{key:o,...u}=r;return O("li",{...u,key:d.value},d.label)},renderInput:r=>i(x,{...r,size:"small",label:e.label,placeholder:n}),sx:{flex:1,minWidth:s}}),V=e=>{var l;const t=h(e),a=t.kind==="select"&&t.value!=null?((l=e.options)==null?void 0:l.find(n=>n.value===t.value))??null:null;return w(e,e.options??[],a,n=>v(e,{kind:"select",value:n?.value??null}),e.placeholder,220)},I=(e,l,t,a,n)=>{const s=l.map(o=>o.value),r=s.length>0&&s.every(o=>t.includes(o)),d=l.length>1?[{label:"Select all",value:z},...l]:l;return i(C,{multiple:!0,size:"small",disableCloseOnSelect:!0,options:d,getOptionLabel:o=>o.label,filterOptions:_,isOptionEqualToValue:(o,u)=>o.value===u.value,value:te(l,t),onChange:(o,u)=>{if(u.some(p=>p.value===z)){a(r?[]:s);return}a(u.map(p=>p.value))},renderTags:(o,u)=>{const p=o.slice(0,F);return b(q,{children:[p.map((y,k)=>{const{key:E,...R}=u({index:k});return O(Q,{...R,key:y.value,size:"small",label:y.label})}),o.length>F&&b(W,{variant:"body2",color:"text.secondary",sx:{ml:.5},children:["+",o.length-F," more"]})]})},renderOption:(o,u,{selected:p})=>{const{key:y,...k}=o,E=u.value===z?r:p;return O("li",{...k,key:u.value},i(M,{size:"small",checked:E,sx:{mr:1}}),u.label)},renderInput:o=>i(x,{...o,size:"small",label:n,placeholder:t.length===0?e.placeholder:void 0}),sx:{flex:1,minWidth:240}})},$=e=>{const l=h(e),t=l.kind==="boolean"?l.value:null,a=t===null?null:P.find(n=>n.value===String(t))??null;return w(e,P,a,n=>v(e,{kind:"boolean",value:n?n.value==="true":null}),e.placeholder??"Any",200)},B=e=>{const l=h(e),t=l.kind==="group"?l.values:{};return i(m,{spacing:1,sx:{flex:1},children:(e.sections??[]).map(a=>I(e,a.options,t[a.key]??[],n=>v(e,{kind:"group",values:{...t,[a.key]:n}}),a.label))})},H=e=>{switch(e.kind){case"text":return L(e);case"select":return V(e);case"multiSelect":{const l=h(e);return I(e,e.options??[],l.kind==="multiSelect"?l.values:[],t=>v(e,{kind:"multiSelect",values:t}),e.label)}case"boolean":return $(e);case"group":return B(e)}};return b(Y,{open:!0,anchorReference:"anchorPosition",anchorPosition:A,transformOrigin:{vertical:"top",horizontal:N},onClose:S,children:[i(G,{sx:{p:1.5,width:420},children:c.length===0?i(W,{variant:"body2",color:"text.secondary",sx:{pl:.5},children:"No filters available."}):i(m,{spacing:1.5,children:c.map(e=>i(m,{direction:"row",alignItems:"flex-start",children:H(e)},e.id))})}),c.length>0&&b(q,{children:[i(J,{}),i(m,{direction:"row",alignItems:"center",justifyContent:"flex-end",sx:{px:1.5,py:.75},children:i(K,{size:"small",color:"primary",startIcon:i(j,{}),onClick:D,children:"Clear all"})})]})]})}export{ae as DataTableFieldFilterPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{flexRender as W}from"@tanstack/react-table";import{Typography as q,TableSortLabel as G,TableCell as J,Box as
|
|
1
|
+
"use strict";import{flexRender as W}from"@tanstack/react-table";import{Typography as q,TableSortLabel as G,TableCell as J,Box as x,Tooltip as C,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{isFilterFieldActive as X}from"./DataTable.filterState.mjs";import{getColumnMeta as Y,getColumnLabel as w}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:u,isLoading:y,tableLayout:z,enableColumnResizing:m,enableColumnMenu:D,hasResizedColumns:I,columnPanel:c,setColumnPanel:M,filterFields:R,filterState:B,openFilterPanel:P,startColumnResize:p,getPinnedOffsetStyle:k,isPinnedEdge:A,headerRowTops:F,headerCellRefs:j}=U(),{columnMenu:L=Q,filter:$=K}=u,{column:e}=l,n=Y(e.columnDef.meta),i=e.columns.length>0,f=i?1:T-s,d=n?.align??(i?"center":"left"),E=e.getCanSort(),a=e.getIsSorted(),H=m&&!i&&e.getCanResize(),N=e.getIsResizing(),r=i?!1:e.getIsPinned(),h=D&&!i&&!(n!=null&&n.disableColumnMenu),O=c?.type==="menu"&&c.columnId===e.id,V=(R??[]).some(t=>t.columnId===e.id&&X(t,B[t.id])),g=o(q,{component:"span",variant:"subtitle2",sx:{textTransform:"uppercase",fontSize:12,fontWeight:900},children:W(e.columnDef.header,l.getContext())}),b=E?o(G,{active:a!==!1,direction:a===!1?"asc":a,disabled:y,onClick:e.getToggleSortingHandler(),IconComponent:u.sort,children:g}):g;return S(J,{ref:t=>{i||(j.current[e.id]=t)},align:d,colSpan:l.colSpan>1?l.colSpan:void 0,rowSpan:f>1?f:void 0,sortDirection:a,style:{...I||m&&typeof n?.width=="number"?{width:l.getSize()}:{},...k(r,e.id)},sx:{width:n?.width,verticalAlign:"bottom",...z==="fixed"?{overflow:"hidden",textOverflow:"ellipsis"}:{},...i?{borderBottom:"none"}:{},...s>0?{top:F[s]??0}:{},...r?{zIndex:3,...A(r,e.id)?{boxShadow:t=>`inset ${r==="left"?-1:1}px 0 0 ${t.palette.divider}`}:{}}:{},...h?{"& .DataTable-columnMenuButton":{opacity:O?1:0,transition:"opacity .2s"},"&:hover .DataTable-columnMenuButton, &:focus-within .DataTable-columnMenuButton":{opacity:1}}:{}},children:[h?S(x,{sx:{display:"flex",alignItems:"center",gap:.5,justifyContent:_[d]},children:[b,V&&o(C,{title:"Active filter",placement:"bottom",arrow:!0,children:o(v,{size:"small","aria-label":`${w(e)} filter`,onClick:t=>P(e.id,t.currentTarget),children:o($,{sx:{fontSize:16}})})}),o(C,{title:"Menu",placement:"bottom",arrow:!0,children:o(v,{size:"small",className:"DataTable-columnMenuButton","aria-label":`${w(e)} column menu`,onClick:t=>M({type:"menu",columnId:e.id,anchorEl:t.currentTarget}),sx:d!=="right"?{ml:"auto"}:void 0,children:o(L,{fontSize:"small"})})})]}):b,H&&o(x,{className:"DataTable-columnResizer","aria-hidden":!0,onMouseDown:t=>p(l,t),onTouchStart:t=>p(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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{
|
|
1
|
+
"use strict";import{useDataTableContext as c}from"./DataTable.context.mjs";import{DataTableColumnMenu as f}from"./DataTableColumnMenu.mjs";import{DataTableFieldFilterPanel as C}from"./DataTableFieldFilterPanel.mjs";import{DataTableManageColumnsPanel as p}from"./DataTableManageColumnsPanel.mjs";import{jsxs as d,Fragment as g,jsx as e}from"react/jsx-runtime";function h(){const{table:l,icons:n,isLoading:r,filterFields:t,filterState:s,onFilterStateChange:m,columnPanel:o,closeColumnPanel:a,openManageColumnsPanel:u}=c(),i=o?.type==="menu"?l.getColumn(o.columnId):void 0;return d(g,{children:[o?.type==="menu"&&i&&e(f,{column:i,anchorEl:o.anchorEl,icons:n,isLoading:r,onClose:a,onOpenManageColumns:()=>u(o.anchorEl)}),o?.type==="filter"&&t&&e(C,{fields:t,filterState:s,onFilterStateChange:m,anchorPosition:o.anchorPosition,transformHorizontal:o.transformHorizontal,icons:n,onClose:a}),o?.type==="manageColumns"&&e(p,{table:l,anchorPosition:o.anchorPosition,transformHorizontal:o.transformHorizontal,icons:n,onClose:a})]})}export{h as DataTablePanels};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{useRef as
|
|
1
|
+
"use strict";import{useRef as y,useState as B}from"react";import{Stack as D,Tooltip as l,IconButton as n,Badge as E,Divider as p,TextField as P,InputAdornment as h}from"@mui/material";import{Close as R,FilterList as j,ViewColumn as A,Search as O}from"@mui/icons-material";import{useDataTableContext as K}from"./DataTable.context.mjs";import{effectiveFilterFieldCount as L}from"./DataTable.filterState.mjs";import{DataTableExportMenu as V}from"./DataTableExportMenu.mjs";import{jsxs as q,jsx as e}from"react/jsx-runtime";function Y(){const{table:f,icons:s,search:r,onSearchChange:o,enableExport:c,exportFilename:b,additionalExportColumns:C,filterFields:i,filterState:g,toolbarFilterButtonRef:x,toolbarManageColumnsButtonRef:v,openFilterPanel:S,openManageColumnsPanel:w}=K(),{openFilterPanel:F=j,manageColumns:z=A,search:I=O,close:T=R}=s,a=y(null),[M,m]=B(!1),u=M||r!=="",k=i?L(i,g):0;return q(D,{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:v,size:"small","aria-label":"Manage columns",onClick:t=>w(t.currentTarget),children:e(z,{fontSize:"small"})})}),i!==void 0&&e(l,{title:"Filters",placement:"bottom",arrow:!0,children:e(n,{ref:x,size:"small","aria-label":"Show filters",onClick:t=>S("",t.currentTarget),children:e(E,{badgeContent:k,color:"primary",children:e(F,{fontSize:"small"})})})}),c&&e(p,{orientation:"vertical",variant:"middle",flexItem:!0,sx:{height:14,alignSelf:"center"}}),c&&e(V,{table:f,filename:b,icons:s,additionalExportColumns:C}),e(p,{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:()=>m(!0),onBlur:()=>m(!1),onKeyDown:t=>{var d;t.key==="Escape"&&(o(""),(d=a.current)==null||d.blur())},inputProps:{"aria-label":"Search"},InputProps:{startAdornment:e(h,{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(h,{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:u?220:34,transition:"width .2s",overflow:"hidden","& .MuiOutlinedInput-root":{pl:.5,pr:.5},"& .MuiOutlinedInput-notchedOutline":{opacity:u?1:0,transition:"opacity .2s"}}})]})}export{Y as DataTableToolbar};
|
|
@@ -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 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 d}from"./Button/index.mjs";import{BrandFilterInput as c}from"./BrandFilterInput/index.mjs";import{SeriesChart as u}from"./chart/SeriesChart/index.mjs";import{SeriesChartLegend as C}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 O}from"./chart/SimpleLegend/index.mjs";import{LoadingChartSection as F}from"./chart/LoadingChartSection.mjs";import{EmptyChartSection as v}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 $}from"./DataTable/DataTableFilterPanel.mjs";import{DateInput as G}from"./form/DateInput/index.mjs";import{DateRangeInput as X}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,defaultFilterOperator as ia,filterOperatorIsMultiValue as ma,filterOperatorRequiresValue as na,isFilterRowActive as pa,operatorOptionsFor as la}from"./DataTable/DataTable.filters.mjs";import{EmailInput as fa}from"./form/EmailInput.mjs";import{ExactBirthdayBanner as da}from"./Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as ca}from"./buttons/ExportToPdfButton.mjs";import{Form as ua}from"./form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as Ca}from"./form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as Ta}from"./form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as ha}from"./form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as Pa,useForm as ga}from"./form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as Sa}from"./Alert/FullWidthAlert.mjs";import{IconPlayer as Ba}from"./icons/IconPlayer.mjs";import{LegalLink as Da}from"./terms/LegalLink.mjs";import{LinkButton as Ia}from"./buttons/LinkButton.mjs";import{LogDetailPanel as ba}from"./logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as Oa}from"./logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as Fa}from"./logs/LogsTable/LogsTable.mjs";import{NPIInput as va}from"./form/NPIInput/index.mjs";import{NewOneClickForm as La}from"./form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as ya}from"./form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as Ea}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as ka}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Aa}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as Ra}from"./buttons/OriginalButton.mjs";import{OverviewBigNumbers as Va}from"./chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Ma}from"./dialog/PersistentDialog.mjs";import{PhoneInput as xa}from"./form/PhoneInput.mjs";import{PoweredByVerified as Na}from"./verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as wa}from"./form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as Ha}from"./terms/PrivacyPolicyNotice.mjs";import{RadioOption as Wa}from"./form/RadioOption.mjs";import{ResendPhoneBanner as qa}from"./Banners/ResendPhoneBanner.mjs";import{SSNInput as Ua}from"./form/SSNInput.mjs";import{SelectInput as _a}from"./form/SelectInput.mjs";import{SnackbarProvider as za}from"notistack";import{SynchronizedMetricsChart as Ya,TOTAL_DATA_KEY as Qa,enrichWithTotal as ja,mergeChartData as Ja}from"./chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as Ka}from"./text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as Za}from"./text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as $a}from"./text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as Ga}from"./chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as Xa}from"./Banners/TestPhoneNumbersBanner.mjs";import{TextButton as ar}from"./buttons/TextButton.mjs";import{TimezoneInput as rr}from"./form/TimezoneInput/index.mjs";import{VerifiedImage as er}from"./verified/VerifiedImage.mjs";import{VerifiedIncLogo as tr}from"./verified/VerifiedIncLogo.mjs";import{defaultOverviewMetrics as or}from"./chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as sr}from"./chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as ir,exportDataTableToExcel as mr,getDataTableExportModel as nr,printDataTable as pr}from"./DataTable/DataTable.export.mjs";import{formatChallengeInput as lr,formatHealthDataProviderMode as fr,formatPromptForChallenge as dr}from"./chart/BillableEventsTable/format.mjs";import{formatIntegrationType as cr,mapBillableEventsTableData as ur}from"./chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapBillableEventsProductTableData as Cr}from"./chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as Tr}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as hr}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as Pr}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as gr}from"./chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as Sr}from"./chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as Br}from"./form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as Dr,useBrandFilterInput as Ir}from"./BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as br}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,c as BrandFilterInput,d 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,$ as DataTableFilterPanel,G as DateInput,X as DateRangeInput,aa as DefaultInput,ra as EMPTY_FILTERS,fa as EmailInput,v as EmptyChartSection,S as ErrorCodesChart,da as ExactBirthdayBanner,ca as ExportToPdfButton,ua as Form,Ca as FormBuilder,Ta as FormField,ha as FormFieldBuilder,Pa as FormProvider,Sa as FullWidthAlert,y as FunnelChart,Ba as IconPlayer,m as Image,Da as LegalLink,Ia as LinkButton,F as LoadingChartSection,ba as LogDetailPanel,Oa as LogsInfoAlert,Fa as LogsTable,L as MetricLastUpdated,va as NPIInput,La as NewOneClickForm,ya as OTPInput,Ea as OneClickVerificationEventsOverTimeChart,ka as OneClickVerificationFunnelChart,Aa as OneClickVerificationSuccessOverTimeChart,Ra as OriginalButton,Va as OverviewBigNumbers,e as PageHeader,t as PageSectionHeader,a as Paragraph,Ma as PersistentDialog,xa as PhoneInput,D as PieChart,Na as PoweredByVerified,wa as PrettyPhoneInput,Ha as PrivacyPolicyNotice,n as QRCodeDisplay,Wa as RadioOption,B as ReasonCodesChart,R as RequiredLabel,qa as ResendPhoneBanner,b as RiskScoreBarChart,I as RiskScorePieChart,Ua as SSNInput,r as SectionHeader,_a as SelectInput,u as SeriesChart,C as SeriesChartLegend,T as SeriesPercentageChart,P as SimpleBarChart,O as SimpleLegend,za as SnackbarProvider,Ya as SynchronizedMetricsChart,Qa as TOTAL_DATA_KEY,Ka as TTSMagicButton,Za as TTSMagicLegalLanguage,$a as TTSMagicQRCode,Ga as TTSOverTimeChart,Xa as TestPhoneNumbersBanner,ar as TextButton,rr as TimezoneInput,o as Typography,er as VerifiedImage,tr as VerifiedIncLogo,i as When,A as WhenStyled,ea as applyFilters,ta as applySearch,oa as dataTableFilterFn,sa as dataTableFilterOperators,ia as defaultFilterOperator,or as defaultOverviewMetrics,ja as enrichWithTotal,sr as exportBillableEventsToCsv,ir as exportDataTableToCsv,mr as exportDataTableToExcel,ma as filterOperatorIsMultiValue,na as filterOperatorRequiresValue,lr as formatChallengeInput,fr as formatHealthDataProviderMode,cr as formatIntegrationType,dr as formatPromptForChallenge,nr as getDataTableExportModel,pa as isFilterRowActive,Cr as mapBillableEventsProductTableData,ur as mapBillableEventsTableData,Tr as mapOneClickVerificationAreaSeriesData,hr as mapOneClickVerificationFunnelChartData,Pr as mapOneClickVerificationSuccessOverTimeChartData,gr as mapSeriesTimeSeriesData,Sr as mapTTSTimeSeriesData,Ja as mergeChartData,k as normalizePercentData,la as operatorOptionsFor,pr as printDataTable,Br as toCreatePatchCredentials,Dr as toOption,br as toShareCredentials,Ir as useBrandFilterInput,ga as useForm,l as useSnackbar};
|
|
1
|
+
"use strict";import{Paragraph as a}from"./typographies/Paragraph.mjs";import{SectionHeader as r}from"./typographies/SectionHeader.mjs";import{PageHeader as e}from"./typographies/PageHeader.mjs";import{PageSectionHeader as t}from"./typographies/PageSectionHeader.mjs";import{Typography as o}from"./Typography/index.mjs";import{CredentialRequestsEditor as i}from"./CredentialRequestsEditor/index.mjs";import{When as s}from"./When.mjs";import{Image as m}from"./Image.mjs";import{QRCodeDisplay as n}from"./QRCodeDisplay/index.mjs";import{CustomAlertComponent as p,useSnackbar as l}from"./Snackbar/index.mjs";import{Backdrop as f}from"./Backdrop/index.mjs";import{Button as d}from"./Button/index.mjs";import{BrandFilterInput as c}from"./BrandFilterInput/index.mjs";import{SeriesChart as C}from"./chart/SeriesChart/index.mjs";import{SeriesChartLegend as u}from"./chart/SeriesChartLegend/index.mjs";import{SeriesPercentageChart as T}from"./chart/SeriesPercentageChart/index.mjs";import{BigNumber as h}from"./chart/BigNumber/index.mjs";import{SimpleBarChart as g}from"./chart/SimpleBarChart/index.mjs";import{AreaChart as S}from"./chart/AreaChart/index.mjs";import{ErrorCodesChart as B}from"./chart/ErrorCodesChart/index.mjs";import{ReasonCodesChart as P}from"./chart/ReasonCodesChart/index.mjs";import{PieChart as D}from"./chart/PieChart/index.mjs";import{RiskScorePieChart as v}from"./chart/RiskScorePieChart/index.mjs";import{RiskScoreBarChart as I}from"./chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as F}from"./chart/SimpleLegend/index.mjs";import{LoadingChartSection as b}from"./chart/LoadingChartSection.mjs";import{EmptyChartSection as L}from"./chart/EmptyChartSection.mjs";import{MetricLastUpdated as y}from"./chart/MetricLastUpdated.mjs";import{FunnelChart as O}from"./chart/FunnelChart/index.mjs";import{ConversionOverTimeChart as E,normalizePercentData as k}from"./chart/ConversionOverTimeChart/index.mjs";import{WhenStyled as A}from"./WhenStyled.mjs";import{RequiredLabel as V}from"./RequiredLabel/index.mjs";import{CopyableUuid as R}from"./CopyableUuid/index.mjs";import{AcceptTermsNotice as x}from"./terms/AcceptTermsNotice.mjs";import{AdaptativeBox as N}from"./UI/AdaptativeBox.mjs";import{AddressInput as M}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 G}from"./UI/ContentWithLoader.mjs";import{CustomDialog as X}from"./dialog/Dialog.mjs";import{DataTable as $}from"./DataTable/DataTable.mjs";import{DateInput as j}from"./form/DateInput/index.mjs";import{DateRangeInput as J}from"./form/DateRangeInput/index.mjs";import{DefaultInput as Z}from"./form/DefaultInput.mjs";import{EmailInput as aa}from"./form/EmailInput.mjs";import{ExactBirthdayBanner as ra}from"./Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as ea}from"./buttons/ExportToPdfButton.mjs";import{Form as ta}from"./form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as oa}from"./form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as ia}from"./form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as sa}from"./form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as ma,useForm as na}from"./form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as pa}from"./Alert/FullWidthAlert.mjs";import{IconPlayer as la}from"./icons/IconPlayer.mjs";import{LegalLink as fa}from"./terms/LegalLink.mjs";import{LinkButton as da}from"./buttons/LinkButton.mjs";import{LogDetailPanel as ca}from"./logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as Ca}from"./logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as ua}from"./logs/LogsTable/LogsTable.mjs";import{NPIInput as Ta}from"./form/NPIInput/index.mjs";import{NewOneClickForm as ha}from"./form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as ga}from"./form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as Sa}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as Ba}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Pa}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as Da}from"./buttons/OriginalButton.mjs";import{OverviewBigNumbers as va}from"./chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Ia}from"./dialog/PersistentDialog.mjs";import{PhoneInput as Fa}from"./form/PhoneInput.mjs";import{PoweredByVerified as ba}from"./verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as La}from"./form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as ya}from"./terms/PrivacyPolicyNotice.mjs";import{RadioOption as Oa}from"./form/RadioOption.mjs";import{ResendPhoneBanner as Ea}from"./Banners/ResendPhoneBanner.mjs";import{SSNInput as ka}from"./form/SSNInput.mjs";import{SelectInput as Aa}from"./form/SelectInput.mjs";import{SnackbarProvider as Va}from"notistack";import{SynchronizedMetricsChart as Ra,TOTAL_DATA_KEY as xa,enrichWithTotal as Na,mergeChartData as Ma}from"./chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as Wa}from"./text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as wa}from"./text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as za}from"./text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as Ha}from"./chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as Ua}from"./Banners/TestPhoneNumbersBanner.mjs";import{TextButton as _a}from"./buttons/TextButton.mjs";import{TimezoneInput as qa}from"./form/TimezoneInput/index.mjs";import{VerifiedImage as Qa}from"./verified/VerifiedImage.mjs";import{VerifiedIncLogo as Ka}from"./verified/VerifiedIncLogo.mjs";import{applyFieldFilters as Ya,buildInitialFilterState as Ga,effectiveFilterFieldCount as Xa,emptyFieldValue as $a,isFilterFieldActive as ja}from"./DataTable/DataTable.filterState.mjs";import{applySearch as Ja,getLeafAccessorsById as Za}from"./DataTable/DataTable.filters.mjs";import{defaultOverviewMetrics as ar}from"./chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as rr}from"./chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as er,exportDataTableToExcel as tr,getDataTableExportModel as or,printDataTable as ir}from"./DataTable/DataTable.export.mjs";import{formatChallengeInput as sr,formatHealthDataProviderMode as mr,formatPromptForChallenge as nr}from"./chart/BillableEventsTable/format.mjs";import{formatIntegrationType as pr,mapBillableEventsTableData as lr}from"./chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapBillableEventsProductTableData as fr}from"./chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as dr}from"./chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as cr}from"./chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as Cr}from"./chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as ur}from"./chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as Tr}from"./chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as hr}from"./form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as gr,useBrandFilterInput as Sr}from"./BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as Br}from"./form/NewOneClickForm/core/mappers/share.map.mjs";export{x as AcceptTermsNotice,N as AdaptativeBox,M as AddressInput,W as Alert,S as AreaChart,w as BILLABLE_PRODUCTS,f as Backdrop,H as Banner,U as BasePhoneInput,h 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,G as ContentWithLoader,E as ConversionOverTimeChart,R as CopyableUuid,i as CredentialRequestsEditor,p as CustomAlertComponent,X as CustomDialog,$ as DataTable,j as DateInput,J as DateRangeInput,Z as DefaultInput,aa as EmailInput,L as EmptyChartSection,B as ErrorCodesChart,ra as ExactBirthdayBanner,ea as ExportToPdfButton,ta as Form,oa as FormBuilder,ia as FormField,sa as FormFieldBuilder,ma as FormProvider,pa as FullWidthAlert,O as FunnelChart,la as IconPlayer,m as Image,fa as LegalLink,da as LinkButton,b as LoadingChartSection,ca as LogDetailPanel,Ca as LogsInfoAlert,ua as LogsTable,y as MetricLastUpdated,Ta as NPIInput,ha as NewOneClickForm,ga as OTPInput,Sa as OneClickVerificationEventsOverTimeChart,Ba as OneClickVerificationFunnelChart,Pa as OneClickVerificationSuccessOverTimeChart,Da as OriginalButton,va as OverviewBigNumbers,e as PageHeader,t as PageSectionHeader,a as Paragraph,Ia as PersistentDialog,Fa as PhoneInput,D as PieChart,ba as PoweredByVerified,La as PrettyPhoneInput,ya as PrivacyPolicyNotice,n as QRCodeDisplay,Oa as RadioOption,P as ReasonCodesChart,V as RequiredLabel,Ea as ResendPhoneBanner,I as RiskScoreBarChart,v as RiskScorePieChart,ka as SSNInput,r as SectionHeader,Aa as SelectInput,C as SeriesChart,u as SeriesChartLegend,T as SeriesPercentageChart,g as SimpleBarChart,F as SimpleLegend,Va as SnackbarProvider,Ra as SynchronizedMetricsChart,xa as TOTAL_DATA_KEY,Wa as TTSMagicButton,wa as TTSMagicLegalLanguage,za as TTSMagicQRCode,Ha as TTSOverTimeChart,Ua as TestPhoneNumbersBanner,_a as TextButton,qa as TimezoneInput,o as Typography,Qa as VerifiedImage,Ka as VerifiedIncLogo,s as When,A as WhenStyled,Ya as applyFieldFilters,Ja as applySearch,Ga as buildInitialFilterState,ar as defaultOverviewMetrics,Xa as effectiveFilterFieldCount,$a as emptyFieldValue,Na as enrichWithTotal,rr as exportBillableEventsToCsv,er as exportDataTableToCsv,tr as exportDataTableToExcel,sr as formatChallengeInput,mr as formatHealthDataProviderMode,pr as formatIntegrationType,nr as formatPromptForChallenge,or as getDataTableExportModel,Za as getLeafAccessorsById,ja as isFilterFieldActive,fr as mapBillableEventsProductTableData,lr as mapBillableEventsTableData,dr as mapOneClickVerificationAreaSeriesData,cr as mapOneClickVerificationFunnelChartData,Cr as mapOneClickVerificationSuccessOverTimeChartData,ur as mapSeriesTimeSeriesData,Tr as mapTTSTimeSeriesData,Ma as mergeChartData,k as normalizePercentData,ir as printDataTable,hr as toCreatePatchCredentials,gr as toOption,Br as toShareCredentials,Sr as useBrandFilterInput,na as useForm,l as useSnackbar};
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{Paragraph as a}from"./components/typographies/Paragraph.mjs";import{SectionHeader as e}from"./components/typographies/SectionHeader.mjs";import{PageHeader as r}from"./components/typographies/PageHeader.mjs";import{PageSectionHeader as s}from"./components/typographies/PageSectionHeader.mjs";import{Typography as o}from"./components/Typography/index.mjs";import{CredentialRequestsEditor as t}from"./components/CredentialRequestsEditor/index.mjs";import{When as i}from"./components/When.mjs";import{Image as m}from"./components/Image.mjs";import{QRCodeDisplay as n}from"./components/QRCodeDisplay/index.mjs";import{CustomAlertComponent as p,useSnackbar as l}from"./components/Snackbar/index.mjs";import{Backdrop as f}from"./components/Backdrop/index.mjs";import{Button as d}from"./components/Button/index.mjs";import{BrandFilterInput as u}from"./components/BrandFilterInput/index.mjs";import{SeriesChart as c}from"./components/chart/SeriesChart/index.mjs";import{SeriesChartLegend as 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 F}from"./components/chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as y}from"./components/chart/SimpleLegend/index.mjs";import{LoadingChartSection as v}from"./components/chart/LoadingChartSection.mjs";import{EmptyChartSection as O}from"./components/chart/EmptyChartSection.mjs";import{MetricLastUpdated as k}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 E}from"./components/WhenStyled.mjs";import{RequiredLabel as R}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 z}from"./hooks/useDebounceValue.mjs";import{useScript as H}from"./hooks/useScript.mjs";import{useThrottle as Q}from"./hooks/useThrottle.mjs";import{useToggle as _}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 X}from"./hooks/useCounter.mjs";import{useOnClickOutside as j}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 sa}from"./hooks/useNetworkType.mjs";import{useBidirectionalScroll as oa}from"./hooks/useBidirectionalScroll.mjs";import{usePersistedState as ta}from"./hooks/usePersistedState.mjs";import{black as ia,blue as ma,colors as na,dangerContrast as pa,darkBlue as la,darkGreen as fa,darkGrey as da,darkGreyContrast as ua,darkRed as ca,darkYellow as ha,green as Ca,grey as Ta,greyContrast as Sa,infoContrast as ga,lightBlue as Pa,lightGreen as Da,lightGrey as ba,lightGreyContrast as Ba,lightRed as Fa,lightYellow as ya,red as va,textDisabled as Oa,warningContrast as ka,white as Ia,yellow as La}from"./styles/colors.mjs";import{theme as Ma}from"./styles/theme.mjs";import{shadows as Ea}from"./styles/shadows.mjs";import{wrapPromise as Ra}from"./utils/wrapPromise/index.mjs";import{formatDateMMDDYYYY as Aa,formatDateMMYY as Na,formatDateToTimestamp as xa,formatExtendedDate as wa,formatLogTimestamp as Ua,toUTCMilliseconds as Va}from"./utils/date.mjs";import{countries as Ya,getPhoneData as Wa,getPhoneDataByFieldName as Ga,parseToPhoneNational as za,sortByCountryName as Ha,validatePhone as Qa}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 Za}from"./utils/ssn.mjs";import{stringToHashedColor as Xa,uuidToHashedColor as ja}from"./utils/uuidColor.mjs";import{toCapitalize as Ja}from"./utils/string/toCapitalize.mjs";import{toSentenceCase as $a}from"./utils/string/toSentenceCase.mjs";import{kebabCaseToPretty as ae}from"./utils/string/formatKebabToPretty.mjs";import{generateKeyFromString as ee}from"./utils/string/generateKeyFromString.mjs";import{alpha as re,contrastColor as se,darken as oe,getThemeFromPrimaryColor as te,lighten as ie,mix as me}from"./utils/color/index.mjs";import{addressFormatter as ne,fromUSAddress as pe,parseCountryCode as le,toUSaddress as fe,toUSaddressPretty as de}from"./utils/address/index.mjs";import{DEFAULT_FONT_FAMILY as ue,DEFAULT_FONT_WEIGHTS as ce,makeGoogleFontUrl as he}from"./utils/makeGoogleFont.mjs";import{prepareNotification as Ce}from"./utils/notification.mjs";import{resolveLogo as Te}from"./utils/logo/index.mjs";import{USDateSchema as Se,birthDateSchema as ge,dateSchema as Pe,getDateSchemaWithPastValidation as De,refineAge18Plus as be,refineMinimumDate1900 as Be,refineTimestamp as Fe,validateAge18Plus as ye,validateMinimumDate1900 as ve,validateTimestamp as Oe}from"./validations/date.schema.mjs";import{descriptionSchema as ke}from"./validations/description.schema.mjs";import{businessEmailSchema as Ie,emailSchema as Le}from"./validations/email.schema.mjs";import{fieldSchema as Me}from"./validations/field.schema.mjs";import{phoneSchema as Ee}from"./validations/phone.schema.mjs";import{MaskedAndUnmaskedSSNSchema as Re,SSNSchema as Ae}from"./validations/ssn.schema.mjs";import{getUnixSchema as Ne}from"./validations/unix.schema.mjs";import{npiSchema as xe}from"./validations/npi.schema.mjs";import{stateSchema as we,zipCodeSchema as Ue}from"./validations/address.schema.mjs";import{AcceptTermsNotice as Ve}from"./components/terms/AcceptTermsNotice.mjs";import{AdaptativeBox as Ye}from"./components/UI/AdaptativeBox.mjs";import{AddressInput as We}from"./components/form/AddressInput/index.mjs";import{Alert as Ge}from"./components/Alert/Alert.mjs";import{BILLABLE_PRODUCTS as ze,BillableProduct as He}from"./components/chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as Qe}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 Ze}from"./components/chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as Xe,CalendlyDialogComponent as je}from"./components/dialog/CalendlyDialog.mjs";import{ContentWithLoader as Je}from"./components/UI/ContentWithLoader.mjs";import{CustomDialog as $e}from"./components/dialog/Dialog.mjs";import{DataTable as ar}from"./components/DataTable/DataTable.mjs";import{DataTableFilterPanel as er}from"./components/DataTable/DataTableFilterPanel.mjs";import{DateInput as rr}from"./components/form/DateInput/index.mjs";import{DateRangeInput as sr}from"./components/form/DateRangeInput/index.mjs";import{DefaultInput as or}from"./components/form/DefaultInput.mjs";import{EMPTY_FILTERS as tr,applyFilters as ir,applySearch as mr,dataTableFilterFn as nr,dataTableFilterOperators as pr,defaultFilterOperator as lr,filterOperatorIsMultiValue as fr,filterOperatorRequiresValue as dr,isFilterRowActive as ur,operatorOptionsFor as cr}from"./components/DataTable/DataTable.filters.mjs";import{EmailInput as hr}from"./components/form/EmailInput.mjs";import{ExactBirthdayBanner as Cr}from"./components/Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as Tr}from"./components/buttons/ExportToPdfButton.mjs";import{Form as Sr}from"./components/form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as gr}from"./components/form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as Pr}from"./components/form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as Dr}from"./components/form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as br,useForm as Br}from"./components/form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as Fr}from"./components/Alert/FullWidthAlert.mjs";import{IconPlayer as yr}from"./components/icons/IconPlayer.mjs";import{LegalLink as vr}from"./components/terms/LegalLink.mjs";import{LinkButton as Or}from"./components/buttons/LinkButton.mjs";import{LogDetailPanel as kr}from"./components/logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as Ir}from"./components/logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as Lr}from"./components/logs/LogsTable/LogsTable.mjs";import{MetricsProvider as Mr,useMetrics as Er}from"./contexts/metrics/Metrics.context.mjs";import{NPIInput as Rr}from"./components/form/NPIInput/index.mjs";import{NewOneClickForm as Ar}from"./components/form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as Nr}from"./components/form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as xr}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as wr}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as Ur}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as Vr}from"./components/buttons/OriginalButton.mjs";import{OverviewBigNumbers as Yr}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Wr}from"./components/dialog/PersistentDialog.mjs";import{PhoneInput as Gr}from"./components/form/PhoneInput.mjs";import{PoweredByVerified as zr}from"./components/verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as Hr}from"./components/form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as Qr}from"./components/terms/PrivacyPolicyNotice.mjs";import{RadioOption as _r}from"./components/form/RadioOption.mjs";import{ResendPhoneBanner as qr}from"./components/Banners/ResendPhoneBanner.mjs";import{SSNInput as Kr}from"./components/form/SSNInput.mjs";import{SelectInput as Zr}from"./components/form/SelectInput.mjs";import{SnackbarProvider as Xr}from"notistack";import{SynchronizedMetricsChart as jr,TOTAL_DATA_KEY as Jr,enrichWithTotal as $r,mergeChartData as as}from"./components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as es}from"./components/text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as rs}from"./components/text-to-signup/magic-legal-language.mjs";import{TTSMagicQRCode as ss}from"./components/text-to-signup/magic-qr-code.mjs";import{TTSOverTimeChart as os}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as ts}from"./components/Banners/TestPhoneNumbersBanner.mjs";import{TextButton as is}from"./components/buttons/TextButton.mjs";import{TimezoneInput as ms}from"./components/form/TimezoneInput/index.mjs";import{VerifiedImage as ns}from"./components/verified/VerifiedImage.mjs";import{VerifiedIncLogo as ps}from"./components/verified/VerifiedIncLogo.mjs";import{defaultOverviewMetrics as ls}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as fs}from"./components/chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as ds,exportDataTableToExcel as us,getDataTableExportModel as cs,printDataTable as hs}from"./components/DataTable/DataTable.export.mjs";import{formatChallengeInput as Cs,formatHealthDataProviderMode as Ts,formatPromptForChallenge as Ss}from"./components/chart/BillableEventsTable/format.mjs";import{formatInTimeZone as gs}from"./node_modules/date-fns-tz/dist/esm/formatInTimeZone/index.mjs";import{formatIntegrationType as Ps,mapBillableEventsTableData as Ds}from"./components/chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapBillableEventsProductTableData as bs}from"./components/chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as Bs}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as Fs}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as ys}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.map.mjs";import{mapSeriesTimeSeriesData as vs}from"./components/chart/SeriesChart/SeriesChart.map.mjs";import{mapTTSTimeSeriesData as Os}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.map.mjs";import{toCreatePatchCredentials as ks}from"./components/form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as Is,useBrandFilterInput as Ls}from"./components/BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as Ms}from"./components/form/NewOneClickForm/core/mappers/share.map.mjs";import{useColorMap as Es}from"./hooks/metrics/useColorMap.mjs";import{useTTSMagicLink as Rs}from"./hooks/text-to-signup/magic-link.mjs";import{useTTSMagicQRCode as As}from"./hooks/text-to-signup/magic-qr-code.mjs";import{useTTSMagicQRCodeOptions as Ns}from"./hooks/text-to-signup/magic-qr-code-options.mjs";import{useTTSMagicText as xs}from"./hooks/text-to-signup/magic-text.mjs";export{Ve as AcceptTermsNotice,Ye as AdaptativeBox,We as AddressInput,Ge as Alert,g as AreaChart,ze as BILLABLE_PRODUCTS,f as Backdrop,Qe as Banner,_e as BasePhoneInput,T as BigNumber,qe as BillableEventsProductTable,Ke as BillableEventsTable,He as BillableProduct,Ze as BrandDetailsPanel,u as BrandFilterInput,d as Button,Xe as CalendlyDialog,je as CalendlyDialogComponent,Je as ContentWithLoader,L as ConversionOverTimeChart,A as CopyableUuid,t as CredentialRequestsEditor,p as CustomAlertComponent,$e as CustomDialog,ue as DEFAULT_FONT_FAMILY,ce as DEFAULT_FONT_WEIGHTS,ar as DataTable,er as DataTableFilterPanel,rr as DateInput,sr as DateRangeInput,or as DefaultInput,tr as EMPTY_FILTERS,hr as EmailInput,O as EmptyChartSection,P as ErrorCodesChart,Cr as ExactBirthdayBanner,Tr as ExportToPdfButton,Sr as Form,gr as FormBuilder,Pr as FormField,Dr as FormFieldBuilder,br as FormProvider,Fr as FullWidthAlert,I as FunnelChart,yr as IconPlayer,m as Image,vr as LegalLink,Or as LinkButton,v as LoadingChartSection,kr as LogDetailPanel,Ir as LogsInfoAlert,Lr as LogsTable,Re as MaskedAndUnmaskedSSNSchema,k as MetricLastUpdated,Mr as MetricsProvider,Rr as NPIInput,Ar as NewOneClickForm,Nr as OTPInput,xr as OneClickVerificationEventsOverTimeChart,wr as OneClickVerificationFunnelChart,Ur as OneClickVerificationSuccessOverTimeChart,Vr as OriginalButton,Yr as OverviewBigNumbers,r as PageHeader,s as PageSectionHeader,a as Paragraph,Wr as PersistentDialog,Gr as PhoneInput,b as PieChart,zr as PoweredByVerified,Hr as PrettyPhoneInput,Qr as PrivacyPolicyNotice,n as QRCodeDisplay,_r as RadioOption,D as ReasonCodesChart,R as RequiredLabel,qr as ResendPhoneBanner,F as RiskScoreBarChart,B as RiskScorePieChart,Kr as SSNInput,Ae as SSNSchema,e as SectionHeader,Zr as SelectInput,c as SeriesChart,h as SeriesChartLegend,C as SeriesPercentageChart,S as SimpleBarChart,y as SimpleLegend,Xr as SnackbarProvider,jr as SynchronizedMetricsChart,Jr as TOTAL_DATA_KEY,es as TTSMagicButton,rs as TTSMagicLegalLanguage,ss as TTSMagicQRCode,os as TTSOverTimeChart,ts as TestPhoneNumbersBanner,is as TextButton,ms as TimezoneInput,N as Tunnel,o as Typography,Se as USDateSchema,ns as VerifiedImage,ps as VerifiedIncLogo,i as When,E as WhenStyled,ne as addressFormatter,re as alpha,ir as applyFilters,mr as applySearch,ge as birthDateSchema,ia as black,ma as blue,Ie as businessEmailSchema,na as colors,se as contrastColor,Ya as countries,pa as dangerContrast,la as darkBlue,fa as darkGreen,da as darkGrey,ua as darkGreyContrast,ca as darkRed,ha as darkYellow,oe as darken,nr as dataTableFilterFn,pr as dataTableFilterOperators,Pe as dateSchema,lr as defaultFilterOperator,ls as defaultOverviewMetrics,ke as descriptionSchema,Le as emailSchema,$r as enrichWithTotal,fs as exportBillableEventsToCsv,ds as exportDataTableToCsv,us as exportDataTableToExcel,Me as fieldSchema,fr as filterOperatorIsMultiValue,dr as filterOperatorRequiresValue,Cs as formatChallengeInput,Aa as formatDateMMDDYYYY,Na as formatDateMMYY,xa as formatDateToTimestamp,wa as formatExtendedDate,Ts as formatHealthDataProviderMode,gs as formatInTimeZone,Ps as formatIntegrationType,Ua as formatLogTimestamp,Ss as formatPromptForChallenge,pe as fromUSAddress,ee as generateKeyFromString,cs as getDataTableExportModel,De as getDateSchemaWithPastValidation,Wa as getPhoneData,Ga as getPhoneDataByFieldName,te as getThemeFromPrimaryColor,Ne as getUnixSchema,Ca as green,Ta as grey,Sa as greyContrast,ga as infoContrast,ur as isFilterRowActive,ae as kebabCaseToPretty,Pa as lightBlue,Da as lightGreen,ba as lightGrey,Ba as lightGreyContrast,Fa as lightRed,ya as lightYellow,ie as lighten,he as makeGoogleFontUrl,bs as mapBillableEventsProductTableData,Ds as mapBillableEventsTableData,Bs as mapOneClickVerificationAreaSeriesData,Fs as mapOneClickVerificationFunnelChartData,ys as mapOneClickVerificationSuccessOverTimeChartData,vs as mapSeriesTimeSeriesData,Os as mapTTSTimeSeriesData,_a as masks,as as mergeChartData,me as mix,M as normalizePercentData,xe as npiSchema,qa as omitProperties,cr as operatorOptionsFor,le as parseCountryCode,za as parseToPhoneNational,Ee as phoneSchema,Ce as prepareNotification,hs as printDataTable,va as red,be as refineAge18Plus,Be as refineMinimumDate1900,Fe as refineTimestamp,Te as resolveLogo,Ea as shadows,Ha as sortByCountryName,Ka as ssnFormatter,Za as ssnRegex,we as stateSchema,Xa as stringToHashedColor,Oa as textDisabled,Ma as theme,Ja as toCapitalize,ks as toCreatePatchCredentials,Is as toOption,$a as toSentenceCase,Ms as toShareCredentials,fe as toUSaddress,de as toUSaddressPretty,Va as toUTCMilliseconds,oa as useBidirectionalScroll,Ls as useBrandFilterInput,Y as useCallbackRef,Es as useColorMap,w as useCopyToClipboard,X as useCounter,ea as useDebounceCallback,z as useDebounceValue,U as useDisclosure,Br as useForm,V as useGoogleFont,Z as useIntersectionObserver,x as useLocalStorage,Er as useMetrics,aa as useNavigatorOnline,sa as useNetworkType,j as useOnClickOutside,ta as usePersistedState,J as usePrevious,W as useQRCode,$ as useResizeObserver,H as useScript,G as useSearchParams,l as useSnackbar,ra as useStyledQRCode,Rs as useTTSMagicLink,As as useTTSMagicQRCode,Ns as useTTSMagicQRCodeOptions,xs as useTTSMagicText,Q as useThrottle,_ as useToggle,q as useWindowScroll,K as useWindowSize,ja as uuidToHashedColor,ye as validateAge18Plus,ve as validateMinimumDate1900,Qa as validatePhone,Oe as validateTimestamp,ka as warningContrast,Ia as white,Ra as wrapPromise,La as yellow,Ue 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 g}from"./components/chart/SimpleBarChart/index.mjs";import{AreaChart as S}from"./components/chart/AreaChart/index.mjs";import{ErrorCodesChart as P}from"./components/chart/ErrorCodesChart/index.mjs";import{ReasonCodesChart as D}from"./components/chart/ReasonCodesChart/index.mjs";import{PieChart as b}from"./components/chart/PieChart/index.mjs";import{RiskScorePieChart as y}from"./components/chart/RiskScorePieChart/index.mjs";import{RiskScoreBarChart as B}from"./components/chart/RiskScoreBarChart/index.mjs";import{SimpleLegend as F}from"./components/chart/SimpleLegend/index.mjs";import{LoadingChartSection as v}from"./components/chart/LoadingChartSection.mjs";import{EmptyChartSection as k}from"./components/chart/EmptyChartSection.mjs";import{MetricLastUpdated as I}from"./components/chart/MetricLastUpdated.mjs";import{FunnelChart as L}from"./components/chart/FunnelChart/index.mjs";import{ConversionOverTimeChart as O,normalizePercentData as A}from"./components/chart/ConversionOverTimeChart/index.mjs";import{WhenStyled as M}from"./components/WhenStyled.mjs";import{RequiredLabel as E}from"./components/RequiredLabel/index.mjs";import{CopyableUuid as R}from"./components/CopyableUuid/index.mjs";import{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 W}from"./hooks/useCallbackRef.mjs";import{useQRCode as Y}from"./hooks/useQRCode.mjs";import{useSearchParams as G}from"./hooks/useSearchParams.mjs";import{useDebounceValue as H}from"./hooks/useDebounceValue.mjs";import{useScript as _}from"./hooks/useScript.mjs";import{useThrottle as Q}from"./hooks/useThrottle.mjs";import{useToggle as z}from"./hooks/useToggle.mjs";import{useWindowScroll as K}from"./hooks/useWindowScroll.mjs";import{useWindowSize as q}from"./hooks/useWindowSize.mjs";import{useIntersectionObserver as X}from"./hooks/useIntersectionObserver.mjs";import{useCounter as j}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 sa}from"./hooks/useNetworkType.mjs";import{useBidirectionalScroll as oa}from"./hooks/useBidirectionalScroll.mjs";import{usePersistedState as ta}from"./hooks/usePersistedState.mjs";import{black as ia,blue as ma,colors as na,dangerContrast as pa,darkBlue as la,darkGreen as fa,darkGrey as da,darkGreyContrast as ua,darkRed as ca,darkYellow as ha,green as Ca,grey as Ta,greyContrast as ga,infoContrast as Sa,lightBlue as Pa,lightGreen as Da,lightGrey as ba,lightGreyContrast as ya,lightRed as Ba,lightYellow as Fa,red as va,textDisabled as ka,warningContrast as Ia,white as La,yellow as Oa}from"./styles/colors.mjs";import{theme as Aa}from"./styles/theme.mjs";import{shadows as Ma}from"./styles/shadows.mjs";import{wrapPromise as Ea}from"./utils/wrapPromise/index.mjs";import{formatDateMMDDYYYY as Ra,formatDateMMYY as Na,formatDateToTimestamp as wa,formatExtendedDate as xa,formatLogTimestamp as Ua,toUTCMilliseconds as Va}from"./utils/date.mjs";import{countries as Wa,getPhoneData as Ya,getPhoneDataByFieldName as Ga,parseToPhoneNational as Ha,sortByCountryName as _a,validatePhone as Qa}from"./utils/phone/index.mjs";import{masks as za}from"./utils/masks/index.mjs";import{omitProperties as Ka}from"./utils/omitProperty.mjs";import{ssnFormatter as qa,ssnRegex as Xa}from"./utils/ssn.mjs";import{stringToHashedColor as ja,uuidToHashedColor as Za}from"./utils/uuidColor.mjs";import{toCapitalize as Ja}from"./utils/string/toCapitalize.mjs";import{toSentenceCase as $a}from"./utils/string/toSentenceCase.mjs";import{kebabCaseToPretty as ae}from"./utils/string/formatKebabToPretty.mjs";import{generateKeyFromString as ee}from"./utils/string/generateKeyFromString.mjs";import{alpha as re,contrastColor as se,darken as oe,getThemeFromPrimaryColor as te,lighten as ie,mix as me}from"./utils/color/index.mjs";import{addressFormatter as ne,fromUSAddress as pe,parseCountryCode as le,toUSaddress as fe,toUSaddressPretty as de}from"./utils/address/index.mjs";import{DEFAULT_FONT_FAMILY as ue,DEFAULT_FONT_WEIGHTS as ce,makeGoogleFontUrl as he}from"./utils/makeGoogleFont.mjs";import{prepareNotification as Ce}from"./utils/notification.mjs";import{resolveLogo as Te}from"./utils/logo/index.mjs";import{USDateSchema as ge,birthDateSchema as Se,dateSchema as Pe,getDateSchemaWithPastValidation as De,refineAge18Plus as be,refineMinimumDate1900 as ye,refineTimestamp as Be,validateAge18Plus as Fe,validateMinimumDate1900 as ve,validateTimestamp as ke}from"./validations/date.schema.mjs";import{descriptionSchema as Ie}from"./validations/description.schema.mjs";import{businessEmailSchema as Le,emailSchema as Oe}from"./validations/email.schema.mjs";import{fieldSchema as Ae}from"./validations/field.schema.mjs";import{phoneSchema as Me}from"./validations/phone.schema.mjs";import{MaskedAndUnmaskedSSNSchema as Ee,SSNSchema as Re}from"./validations/ssn.schema.mjs";import{getUnixSchema as Ne}from"./validations/unix.schema.mjs";import{npiSchema as we}from"./validations/npi.schema.mjs";import{stateSchema as xe,zipCodeSchema as Ue}from"./validations/address.schema.mjs";import{AcceptTermsNotice as Ve}from"./components/terms/AcceptTermsNotice.mjs";import{AdaptativeBox as We}from"./components/UI/AdaptativeBox.mjs";import{AddressInput as Ye}from"./components/form/AddressInput/index.mjs";import{Alert as Ge}from"./components/Alert/Alert.mjs";import{BILLABLE_PRODUCTS as He,BillableProduct as _e}from"./components/chart/BillableEventsTable/BillableEventsTable.types.mjs";import{Banner as Qe}from"./components/Banners/Banner.mjs";import{BasePhoneInput as ze}from"./components/form/BasePhoneInput.mjs";import{BillableEventsProductTable as Ke}from"./components/chart/BillableEventsProductTable/BillableEventsProductTable.mjs";import{BillableEventsTable as qe}from"./components/chart/BillableEventsTable/BillableEventsTable.mjs";import{BrandDetailsPanel as Xe}from"./components/chart/BillableEventsTable/BrandDetailsPanel.mjs";import{CalendlyDialog as je,CalendlyDialogComponent as Ze}from"./components/dialog/CalendlyDialog.mjs";import{ContentWithLoader as Je}from"./components/UI/ContentWithLoader.mjs";import{CustomDialog as $e}from"./components/dialog/Dialog.mjs";import{DataTable as ar}from"./components/DataTable/DataTable.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{EmailInput as or}from"./components/form/EmailInput.mjs";import{ExactBirthdayBanner as tr}from"./components/Banners/ExactBirthdayBanner.mjs";import{ExportToPdfButton as ir}from"./components/buttons/ExportToPdfButton.mjs";import{Form as mr}from"./components/form/NewOneClickForm/core/form/form.mjs";import{FormBuilder as nr}from"./components/form/NewOneClickForm/core/form/formBuilder.mjs";import{FormField as pr}from"./components/form/NewOneClickForm/core/form/formField.mjs";import{FormFieldBuilder as lr}from"./components/form/NewOneClickForm/core/form/formFieldBuilder.mjs";import{FormProvider as fr,useForm as dr}from"./components/form/NewOneClickForm/react/core/form.context.mjs";import{FullWidthAlert as ur}from"./components/Alert/FullWidthAlert.mjs";import{IconPlayer as cr}from"./components/icons/IconPlayer.mjs";import{LegalLink as hr}from"./components/terms/LegalLink.mjs";import{LinkButton as Cr}from"./components/buttons/LinkButton.mjs";import{LogDetailPanel as Tr}from"./components/logs/LogsTable/LogDetailPanel.mjs";import{LogsInfoAlert as gr}from"./components/logs/LogsInfoAlert/LogsInfoAlert.mjs";import{LogsTable as Sr}from"./components/logs/LogsTable/LogsTable.mjs";import{MetricsProvider as Pr,useMetrics as Dr}from"./contexts/metrics/Metrics.context.mjs";import{NPIInput as br}from"./components/form/NPIInput/index.mjs";import{NewOneClickForm as yr}from"./components/form/NewOneClickForm/react/ui/form.mjs";import{OTPInput as Br}from"./components/form/OTPInput.mjs";import{OneClickVerificationEventsOverTimeChart as Fr}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.mjs";import{OneClickVerificationFunnelChart as vr}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.mjs";import{OneClickVerificationSuccessOverTimeChart as kr}from"./components/chart/OneClickVerificationSuccessOverTimeChart/OneClickVerificationSuccessOverTimeChart.mjs";import{OriginalButton as Ir}from"./components/buttons/OriginalButton.mjs";import{OverviewBigNumbers as Lr}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.mjs";import{PersistentDialog as Or}from"./components/dialog/PersistentDialog.mjs";import{PhoneInput as Ar}from"./components/form/PhoneInput.mjs";import{PoweredByVerified as Mr}from"./components/verified/powered-by-verified/index.mjs";import{PrettyPhoneInput as Er}from"./components/form/PrettyPhoneInput.mjs";import{PrivacyPolicyNotice as Rr}from"./components/terms/PrivacyPolicyNotice.mjs";import{RadioOption as Nr}from"./components/form/RadioOption.mjs";import{ResendPhoneBanner as wr}from"./components/Banners/ResendPhoneBanner.mjs";import{SSNInput as xr}from"./components/form/SSNInput.mjs";import{SelectInput as Ur}from"./components/form/SelectInput.mjs";import{SnackbarProvider as Vr}from"notistack";import{SynchronizedMetricsChart as Wr,TOTAL_DATA_KEY as Yr,enrichWithTotal as Gr,mergeChartData as Hr}from"./components/chart/SynchronizedMetricsChart/SynchronizedMetricsChart.mjs";import{TTSMagicButton as _r}from"./components/text-to-signup/magic-button.mjs";import{TTSMagicLegalLanguage as Qr}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 Kr}from"./components/chart/TTSOverTimeChart/TTSOverTimeChart.mjs";import{TestPhoneNumbersBanner as qr}from"./components/Banners/TestPhoneNumbersBanner.mjs";import{TextButton as Xr}from"./components/buttons/TextButton.mjs";import{TimezoneInput as jr}from"./components/form/TimezoneInput/index.mjs";import{VerifiedImage as Zr}from"./components/verified/VerifiedImage.mjs";import{VerifiedIncLogo as Jr}from"./components/verified/VerifiedIncLogo.mjs";import{applyFieldFilters as $r,buildInitialFilterState as as,effectiveFilterFieldCount as es,emptyFieldValue as rs,isFilterFieldActive as ss}from"./components/DataTable/DataTable.filterState.mjs";import{applySearch as os,getLeafAccessorsById as ts}from"./components/DataTable/DataTable.filters.mjs";import{defaultOverviewMetrics as is}from"./components/chart/OverviewBigNumbers/OverviewBigNumbers.types.mjs";import{exportBillableEventsToCsv as ms}from"./components/chart/BillableEventsTable/exportBillableEventsToCsv.mjs";import{exportDataTableToCsv as ns,exportDataTableToExcel as ps,getDataTableExportModel as ls,printDataTable as fs}from"./components/DataTable/DataTable.export.mjs";import{formatChallengeInput as ds,formatHealthDataProviderMode as us,formatPromptForChallenge as cs}from"./components/chart/BillableEventsTable/format.mjs";import{formatInTimeZone as hs}from"./node_modules/date-fns-tz/dist/esm/formatInTimeZone/index.mjs";import{formatIntegrationType as Cs,mapBillableEventsTableData as Ts}from"./components/chart/BillableEventsTable/BillableEventsTableDataMapper.mjs";import{mapBillableEventsProductTableData as gs}from"./components/chart/BillableEventsProductTable/BillableEventsProductTableDataMapper.mjs";import{mapOneClickVerificationAreaSeriesData as Ss}from"./components/chart/OneClickVerificationEventsOverTimeChart/OneClickVerificationEventsOverTimeChart.map.mjs";import{mapOneClickVerificationFunnelChartData as Ps}from"./components/chart/OneClickVerificationFunnelChart/OneClickVerificationFunnelChart.map.mjs";import{mapOneClickVerificationSuccessOverTimeChartData as Ds}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 Bs}from"./components/form/NewOneClickForm/core/mappers/create-patch.map.mjs";import{toOption as Fs,useBrandFilterInput as vs}from"./components/BrandFilterInput/BrandFilterInput.hook.mjs";import{toShareCredentials as ks}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 Os}from"./hooks/text-to-signup/magic-qr-code.mjs";import{useTTSMagicQRCodeOptions as As}from"./hooks/text-to-signup/magic-qr-code-options.mjs";import{useTTSMagicText as Ms}from"./hooks/text-to-signup/magic-text.mjs";export{Ve as AcceptTermsNotice,We as AdaptativeBox,Ye as AddressInput,Ge as Alert,S as AreaChart,He as BILLABLE_PRODUCTS,f as Backdrop,Qe as Banner,ze as BasePhoneInput,T as BigNumber,Ke as BillableEventsProductTable,qe as BillableEventsTable,_e as BillableProduct,Xe as BrandDetailsPanel,u as BrandFilterInput,d as Button,je as CalendlyDialog,Ze as CalendlyDialogComponent,Je as ContentWithLoader,O as ConversionOverTimeChart,R as CopyableUuid,t as CredentialRequestsEditor,p as CustomAlertComponent,$e as CustomDialog,ue as DEFAULT_FONT_FAMILY,ce as DEFAULT_FONT_WEIGHTS,ar as DataTable,er as DateInput,rr as DateRangeInput,sr as DefaultInput,or as EmailInput,k as EmptyChartSection,P as ErrorCodesChart,tr as ExactBirthdayBanner,ir as ExportToPdfButton,mr as Form,nr as FormBuilder,pr as FormField,lr as FormFieldBuilder,fr as FormProvider,ur as FullWidthAlert,L as FunnelChart,cr as IconPlayer,m as Image,hr as LegalLink,Cr as LinkButton,v as LoadingChartSection,Tr as LogDetailPanel,gr as LogsInfoAlert,Sr as LogsTable,Ee as MaskedAndUnmaskedSSNSchema,I as MetricLastUpdated,Pr as MetricsProvider,br as NPIInput,yr as NewOneClickForm,Br as OTPInput,Fr as OneClickVerificationEventsOverTimeChart,vr as OneClickVerificationFunnelChart,kr as OneClickVerificationSuccessOverTimeChart,Ir as OriginalButton,Lr as OverviewBigNumbers,r as PageHeader,s as PageSectionHeader,a as Paragraph,Or as PersistentDialog,Ar as PhoneInput,b as PieChart,Mr as PoweredByVerified,Er as PrettyPhoneInput,Rr as PrivacyPolicyNotice,n as QRCodeDisplay,Nr as RadioOption,D as ReasonCodesChart,E as RequiredLabel,wr as ResendPhoneBanner,B as RiskScoreBarChart,y as RiskScorePieChart,xr as SSNInput,Re as SSNSchema,e as SectionHeader,Ur as SelectInput,c as SeriesChart,h as SeriesChartLegend,C as SeriesPercentageChart,g as SimpleBarChart,F as SimpleLegend,Vr as SnackbarProvider,Wr as SynchronizedMetricsChart,Yr as TOTAL_DATA_KEY,_r as TTSMagicButton,Qr as TTSMagicLegalLanguage,zr as TTSMagicQRCode,Kr as TTSOverTimeChart,qr as TestPhoneNumbersBanner,Xr as TextButton,jr as TimezoneInput,N as Tunnel,o as Typography,ge as USDateSchema,Zr as VerifiedImage,Jr as VerifiedIncLogo,i as When,M as WhenStyled,ne as addressFormatter,re as alpha,$r as applyFieldFilters,os as applySearch,Se as birthDateSchema,ia as black,ma as blue,as as buildInitialFilterState,Le as businessEmailSchema,na as colors,se as contrastColor,Wa as countries,pa as dangerContrast,la as darkBlue,fa as darkGreen,da as darkGrey,ua as darkGreyContrast,ca as darkRed,ha as darkYellow,oe as darken,Pe as dateSchema,is as defaultOverviewMetrics,Ie as descriptionSchema,es as effectiveFilterFieldCount,Oe as emailSchema,rs as emptyFieldValue,Gr as enrichWithTotal,ms as exportBillableEventsToCsv,ns as exportDataTableToCsv,ps as exportDataTableToExcel,Ae as fieldSchema,ds as formatChallengeInput,Ra as formatDateMMDDYYYY,Na as formatDateMMYY,wa as formatDateToTimestamp,xa as formatExtendedDate,us as formatHealthDataProviderMode,hs as formatInTimeZone,Cs as formatIntegrationType,Ua as formatLogTimestamp,cs as formatPromptForChallenge,pe as fromUSAddress,ee as generateKeyFromString,ls as getDataTableExportModel,De as getDateSchemaWithPastValidation,ts as getLeafAccessorsById,Ya as getPhoneData,Ga as getPhoneDataByFieldName,te as getThemeFromPrimaryColor,Ne as getUnixSchema,Ca as green,Ta as grey,ga as greyContrast,Sa as infoContrast,ss as isFilterFieldActive,ae as kebabCaseToPretty,Pa as lightBlue,Da as lightGreen,ba as lightGrey,ya as lightGreyContrast,Ba as lightRed,Fa as lightYellow,ie as lighten,he as makeGoogleFontUrl,gs as mapBillableEventsProductTableData,Ts as mapBillableEventsTableData,Ss as mapOneClickVerificationAreaSeriesData,Ps as mapOneClickVerificationFunnelChartData,Ds as mapOneClickVerificationSuccessOverTimeChartData,bs as mapSeriesTimeSeriesData,ys as mapTTSTimeSeriesData,za as masks,Hr as mergeChartData,me as mix,A as normalizePercentData,we as npiSchema,Ka as omitProperties,le as parseCountryCode,Ha as parseToPhoneNational,Me as phoneSchema,Ce as prepareNotification,fs as printDataTable,va as red,be as refineAge18Plus,ye as refineMinimumDate1900,Be as refineTimestamp,Te as resolveLogo,Ma as shadows,_a as sortByCountryName,qa as ssnFormatter,Xa as ssnRegex,xe as stateSchema,ja as stringToHashedColor,ka as textDisabled,Aa as theme,Ja as toCapitalize,Bs as toCreatePatchCredentials,Fs as toOption,$a as toSentenceCase,ks as toShareCredentials,fe as toUSaddress,de as toUSaddressPretty,Va as toUTCMilliseconds,oa as useBidirectionalScroll,vs as useBrandFilterInput,W as useCallbackRef,Is as useColorMap,x as useCopyToClipboard,j as useCounter,ea as useDebounceCallback,H as useDebounceValue,U as useDisclosure,dr as useForm,V as useGoogleFont,X as useIntersectionObserver,w as useLocalStorage,Dr as useMetrics,aa as useNavigatorOnline,sa as useNetworkType,Z as useOnClickOutside,ta as usePersistedState,J as usePrevious,Y as useQRCode,$ as useResizeObserver,_ as useScript,G as useSearchParams,l as useSnackbar,ra as useStyledQRCode,Ls as useTTSMagicLink,Os as useTTSMagicQRCode,As as useTTSMagicQRCodeOptions,Ms as useTTSMagicText,Q as useThrottle,z as useToggle,K as useWindowScroll,q as useWindowSize,Za as uuidToHashedColor,Fe as validateAge18Plus,ve as validateMinimumDate1900,Qa as validatePhone,ke as validateTimestamp,Ia as warningContrast,La as white,Ea as wrapPromise,Oa as yellow,Ue as zipCodeSchema};
|
package/package.json
CHANGED
|
@@ -1,36 +0,0 @@
|
|
|
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 {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";import{useRef as re,useState as V,useMemo as oe}from"react";import{Popover as te,Box as j,Typography as ae,Stack as B,IconButton as ie,TextField as d,MenuItem as v,Autocomplete as ne,Divider as se,Button as R}from"@mui/material";import{DeleteOutline as ue,Close as ce,Add as de}from"@mui/icons-material";import{filterOperatorIsMultiValue as g,filterOperatorRequiresValue as me,defaultFilterOperator as pe,operatorOptionsFor as he}from"./DataTable.filters.mjs";import{getColumnLabel as fe,getColumnMeta as T}from"./DataTable.utils.mjs";import{jsxs as m,jsx as o}from"react/jsx-runtime";function L(a,p,s){return{id:p,columnId:a,operator:s,value:g(s)?[]:""}}function q(a){return Array.isArray(a)?a:a?[a]:[]}function ve({table:a,data:p=[],initialColumnId:s,anchorPosition:H,transformHorizontal:$="left",icons:E={},filters:C,onFiltersChange:G,onClose:z}){var A;const{close:J=ce,addFilter:K=de,removeAllFilters:N=ue}=E,O=re(0),w=()=>(O.current+=1,`r${O.current}`),S=e=>{var r,l;return(l=T((r=a.getColumn(e))==null?void 0:r.columnDef.meta))==null?void 0:l.filterOperators},P=e=>he(S(e)),x=e=>pe(S(e)),[i,F]=V(()=>C.rows.length>0?C.rows:[L(s,w(),x(s))]),[h,Q]=V(C.logicOperator),W=a.getAllLeafColumns().filter(e=>e.getCanFilter()),k=((A=W[0])==null?void 0:A.id)??s,D=oe(()=>new Map,[a,p]),U=e=>{const r=D.get(e);if(r)return r;const l=a.getColumn(e),t=T(l?.columnDef.meta);let n;if(t!=null&&t.filterOptions)n=t.filterOptions;else if(l!=null&&l.accessorFn){const u=new Set;p.forEach((I,b)=>{var M;const y=(M=l.accessorFn)==null?void 0:M.call(l,I,b);y!=null&&y!==""&&u.add(String(y))}),n=Array.from(u).sort((I,b)=>I.localeCompare(b))}else n=[];return D.set(e,n),n},f=(e,r)=>{G({rows:e,logicOperator:r})},X=()=>{const e=L(k,w(),x(k)),r=[...i,e];F(r)},Y=(e,r)=>{const l=i.find(u=>u.id===e),t=P(r);if(l&&t.some(u=>u.value===l.operator)){c(e,{columnId:r});return}const n=x(r);c(e,{columnId:r,operator:n,value:g(n)?[]:""})},Z=e=>{const r=i.filter(l=>l.id!==e);F(r),f(r,h)},_=()=>{f([],h),z()},ee=e=>{Q(e),f(i,e)},c=(e,r)=>{const l=i.map(t=>t.id===e?{...t,...r}:t);F(l),f(l,h)},le=(e,r,l)=>{let t=l;g(r)?t=q(l):Array.isArray(l)&&(t=l[0]??""),c(e,{operator:r,value:t})};return m(te,{open:!0,anchorReference:"anchorPosition",anchorPosition:H,transformOrigin:{vertical:"top",horizontal:$},onClose:z,children:[m(j,{sx:{p:1.5,minWidth:560},children:[i.length===0&&o(ae,{variant:"body2",color:"text.secondary",sx:{mb:1.5,pl:.5},children:"No filters applied."}),i.map((e,r)=>m(B,{direction:"row",alignItems:"center",spacing:1,sx:{mb:1},children:[o(ie,{size:"medium","aria-label":`Remove filter row ${r+1}`,onClick:()=>Z(e.id),children:o(J,{fontSize:"small"})}),r>0?m(d,{select:!0,size:"medium",value:h,SelectProps:{inputProps:{"aria-label":"Filter logic operator"}},onChange:l=>ee(l.target.value),sx:{minWidth:80},children:[o(v,{value:"and",children:"And"}),o(v,{value:"or",children:"Or"})]}):o(j,{sx:{minWidth:80,flexShrink:0}}),o(d,{select:!0,size:"medium",label:"Column",value:e.columnId,onChange:l=>Y(e.id,l.target.value),sx:{minWidth:150},children:W.map(l=>o(v,{value:l.id,children:fe(l)},l.id))}),o(d,{select:!0,size:"medium",label:"Operator",value:e.operator,onChange:l=>le(e.id,l.target.value,e.value),sx:{minWidth:150},children:P(e.columnId).map(l=>o(v,{value:l.value,children:l.label},l.value))}),g(e.operator)?o(ne,{multiple:!0,freeSolo:!0,options:U(e.columnId),filterSelectedOptions:!0,size:"medium",value:q(e.value),onChange:(l,t)=>c(e.id,{value:t}),renderInput:l=>o(d,{...l,label:"Value",placeholder:"Filter value",autoFocus:r===i.length-1}),sx:{minWidth:200}}):me(e.operator)?o(d,{size:"medium",label:"Value",placeholder:"Filter value",autoFocus:r===i.length-1,value:typeof e.value=="string"?e.value:"",onChange:l=>c(e.id,{value:l.target.value}),sx:{minWidth:180}}):null]},e.id))]}),o(se,{}),m(B,{direction:"row",alignItems:"center",justifyContent:"space-between",sx:{px:1.5,py:.75},children:[o(R,{size:"small",startIcon:o(K,{}),onClick:X,children:"Add filter"}),i.length>0&&o(R,{size:"small",color:"primary",startIcon:o(N,{}),onClick:_,children:"Remove all"})]})]})}export{ve as DataTableFilterPanel};
|