@holectus/react
React component for a file checklist
Mount <DocumentChecklist /> so a signed-in user sees which files they still owe, uploads them, and watches status — without leaving your product.
What the checklist shows
Each row is a required or optional slot you configure: a W-9, an insurance certificate, a license. The React file checklist lists those slots for one subject, with template downloads when you attach them, MIME and size checks on upload, and the current status.
- Missing files stay pending until the user uploads
- Submitted files move through uploaded, in review, approved, or rejected
- Expiring and expired slots invite a replacement file
Drop it into any React 19 app
Next.js is optional. Your server mints a short-lived subject token; the component calls that route, then talks to Holectus for status and uploads. The API key never reaches the browser.
import { DocumentChecklist } from '@holectus/react';
import '@holectus/react/styles.css';
export function SubjectDocuments({ subjectId }) {
return (
<DocumentChecklist
tokenEndpoint={`/api/holectus/session?s=${subjectId}`}
/>
);
}After the file is in
Collection is how files get in. Validity is the gate: query which slots are still good, and call assert_valid before you unlock the next step. Signed webhooks fire when a file is uploaded, approved, expiring, or expired.