Sections
Human Review provides field-level cards for comparing actual and expected extraction output. Use it when reviewers need to correct values while still being able to inspect the raw JSON diff.
See it composed with the PDF Viewer in the Human Review block.
8 fields
Vendor name
Supplier shown on the invoice header.
string
Actual
Acme Supplies LLC
Expected
Line items
Invoice rows with nested allocation details.
array
Actual2 rows
Expected2 rows
Total amount
Final amount due including tax.
number
Actual
12480
Expected
Payment terms
string
Actual
Net 15
Expected
Requires review
Whether a human should verify this document before export.
boolean
Actual
false
Expected
Remittance details
Payment destination used for invoice reconciliation.
object
Properties3 fields
Account holder
string
Actual
Acme Supplies LLC
Expected
Routing number
string
Actual
021000021
Expected
Verified
boolean
Actual
false
Expected
"use client";
import * as React from "react";
import { HumanReviewPanel, type ReviewField } from "@/components/ui/human-review";
const fields: ReviewField[] = [
{
key: "vendor_name",
schema: {Installation
Glide Data Grid renders overlay editors into a root portal. Add this element as
the last child of your app's <body> before using the component:
<div id="portal" className="fixed top-0 left-0 z-[9999]" />pnpm dlx shadcn@latest add https://ui.extend.ai/r/human-review.json
Useful behaviors
- Actual and expected values displayed side by side for each schema field.
- Array values rendered with Glide Data Grid, including drill-down for nested arrays and objects.
- Input controls selected from the JSON schema property type.
- Object schema properties rendered as nested cards in the scrollable form.
- Per-field undo and Set to NULL actions.
- Form and JSON diff views for the same reviewed output state.
API Reference
HumanReviewPanel
The HumanReviewPanel component renders editable review fields and a JSON diff for the same extraction output.
| Prop | Type | Default | Required |
|---|---|---|---|
fields | ReviewField[] | sample fields | No |
activeFieldKey | string | - | No |
className | string | - | No |
onFieldFocus | (field: ReviewField) => void | - | No |
theme | "light" | "dark" | "light" | No |
ReviewField
| Prop | Type | Default | Required |
|---|---|---|---|
key | string | - | Yes |
schema | ReviewFieldSchema | - | Yes |
actual | JsonValue | - | Yes |
expected | JsonValue | - | Yes |
location | { page: number; area: HighlightArea } | - | No |
Deploy your document processing on Extend
Trusted by Brex, Flatiron, Square, and more.
Extend provides production ready tools to handle your toughest documents.
Deploy on Extend