/** * DocumentChecklist — a document-completeness surface: a list of required and * optional documents, each with a status (provided / missing / pending / * expired), an optional description and meta node (a filename or date), and an * optional trailing action. An overall worded completeness summary and an * optional progress bar count provided documents against the required ones. * * Presentational and router-neutral: uploading, downloading, and permission * checks live in the app. Items expose an `onSelect` callback (view) and/or a * trailing `action` node — no routing lives here. Status is never conveyed by * color alone: every item pairs a shape icon with a worded status label, the * header states completeness in words, and a clean zero-state renders when * there are no documents. */ import type { ReactNode } from "react"; import { type DocumentStatus } from "./variants.js"; export * from "./variants.js"; export type DocumentChecklistItem = { id: string; label: ReactNode; description?: ReactNode; status: DocumentStatus; /** Whether the document is mandatory. Defaults to `false` (optional). */ required?: boolean; /** Trailing supplementary content — e.g. a filename or a date node. */ meta?: ReactNode; /** When provided, the row becomes a keyboard-operable button (view). */ onSelect?: () => void; /** Trailing action slot — an app-provided button or link node. */ action?: ReactNode; }; export type DocumentChecklistProps = { items: readonly DocumentChecklistItem[]; /** Show the worded completeness summary and progress bar. Defaults to `true`. */ showProgress?: boolean; ariaLabel?: string; /** Rendered when there are no documents. Defaults to a neutral English state. */ emptyState?: ReactNode; /** English by default; override to localize the worded status labels. */ statusLabels?: Partial>; /** Worded tag for mandatory documents. Defaults to English "Required". */ requiredLabel?: ReactNode; /** Worded tag for optional documents. Defaults to English "Optional". */ optionalLabel?: ReactNode; /** * Formats the completeness caption above the progress bar. Defaults to * English "{provided} of {total} provided". */ progressLabel?: (provided: number, total: number) => ReactNode; }; export declare function DocumentChecklist({ items, showProgress, ariaLabel, emptyState, statusLabels, requiredLabel, optionalLabel, progressLabel, }: DocumentChecklistProps): import("react").JSX.Element; //# sourceMappingURL=index.d.ts.map