GitHub

JSON Table

Render structured extraction data as a schema-driven, virtualized table.

JsonTable renders a JSON Schema and an extracted data object as a virtualized, spreadsheet-style table: columns are derived from the schema, nested objects flatten into grouped columns, arrays expand into rows, and each cell is typed (text, number, date/time, enum, checkbox) with optional per-cell confidence/consensus coloring and a source-citation popover. It's the table-layout sibling of JSON Form.

Built on the same schema/header engine the Retab dashboard uses, with a hand-rolled virtualized table model — no table library.

Data
Schema
Jul 18, 2025
232,52
USD
AC-ZELLE PAYMENTS-PAYMENT NAME-AMIR S BENTON ID-LUV4BCCVZF
CREDIT
0628
true
Jul 18, 2025
241,97
USD
AC-ZELLE PAYMENTS-PAYMENT NAME-CALDWELL WELLNESS LLC ID-37LNPWQE1N
CREDIT
0628
false
Jul 18, 2025
292,56
USD
AC-ZELLE PAYMENTS-PAYMENT NAME-CALDWELL WELLNESS LLC ID-4H6D34DSER
CREDIT
0628
false
Jul 18, 2025
432,28
USD
AC-BIRMINGHAM METRO U-Payment NAME-Iron City Compounding Ph ID-E5N1HEC2DB47N8
DEBIT
0628
true
Jul 18, 2025
385,55
USD
AC-ZELLE PAYMENTS-PAYMENT NAME-DR TESSA RAYNES ID-VZEQCQZAGP
DEBIT
0628
false
Jul 18, 2025
83,68
USD
DEBIT CARD PURCHASE AVONDALE HARDWARE #16
DEBIT
0628
false
Jul 18, 2025
76,7
USD
DEBIT CARD PURCHASE LAKESIDE SHIPPING DEPOT #21
DEBIT
0628
true
Jul 18, 2025
20
USD
ATM CASH WITHDRAWAL
DEBIT
0628
false
Jul 18, 2025
154,2
USD
AC-ZELLE PAYMENTS-PAYMENT NAME-LENA M PRYOR ID-31U29GGX9C
DEBIT
0628
false
Jul 18, 2025
183,64
USD
AC-ZELLE PAYMENTS-PAYMENT NAME-NORA P FELTON ID-ETI3ISDHBW
DEBIT
0628
true
Jul 18, 2025
270,65
USD
DEBIT CARD PURCHASE BESSEMER LAB GLASS #8
DEBIT
0628
false
Jul 18, 2025
90,13
USD
DEBIT CARD PURCHASE BROOKWOOD UNIFORMS #2
DEBIT
0628
false
Jul 18, 2025
21,62
USD
AC-ZELLE PAYMENTS-PAYMENT NAME-LENA M PRYOR ID-UXH7VYWYB9
DEBIT
0628
true
Jul 18, 2025
69,85
USD
DEBIT CARD PURCHASE AVONDALE HARDWARE #16
DEBIT
0628
false

Usage

import { SingleFileTableView } from "@/components/json-table/single-file-table-view";
 
export function Example() {
  return (
    <SingleFileTableView
      document={document}
      schema={schema}
      jsonEditMode="readOnly"
      schemaEditMode="readOnly"
    />
  );
}

Key props

PropTypeDescription
documentTableDocumentThe document whose data object holds the extracted values.
schemaJSONSchema7The schema describing the table's columns.
setSchema(schema) => voidOptional — enables editing field descriptions / reasoning from the header.
jsonEditMode"readOnly" | "editable"Controls whether JSON table values can be edited.
schemaEditMode"readOnly" | "editable" | "descriptionOnly"Controls whether schema fields, descriptions, or neither can be edited.
cellColorState"none" | "consensus" | "similarity" | "mismatch"Per-cell background coloring.
showHoverCardbooleanShow the source-citation popover on cell hover.