Prodular UI

Document page

Pro

A page of a source document as a reader would see it, with numbered clauses an agent can point at and mark while it explains them.

npx prodular-ui add document-page

Part of Prodular UI Pro. Preview and read the docs freely, install with a license. See pricing

Clauses

The document and page above, the text on a sheet. marked shows the clause the agent is talking about.

Master services agreement, Halcyon Labs and Tidewater FreightPage 4 of 12

12.1 Exclusions. Neither party is liable for indirect, incidental or consequential losses, including lost profits, arising out of this agreement.

12.2 Limitation of liability. Each party's total liability under this agreement is limited to the fees paid by the customer in the twelve months before the event giving rise to the claim.

12.3 Notice of claims. A party must give written notice of a claim within ninety days of becoming aware of it.

Two documents

With Connector, a bracket runs from one clause to the one that overrides it.

Master services agreementPage 4 of 12

12.2 Limitation of liability. Each party's total liability is limited to the fees paid in the twelve months before the claim.

Exhibit B, data processingPage 2 of 5

9.2 Precedence. Data protection claims are not subject to any limit of liability. Where this exhibit conflicts with the agreement, this exhibit controls.

Anatomy

<DocumentPage title="Master services agreement" page="Page 4 of 12">  <DocumentClause id="msa-12-2" number="12.2" title="Limitation of liability" marked>    …  </DocumentClause></DocumentPage>

Guidance

Use it when

  • Use it to show the source an answer came from: a contract, a policy, a filing, a report.
  • Keep the original numbering and wording. People compare it with the document they signed.
  • Mark the clause the agent is talking about, one or two at a time.

Avoid

  • Generated text. An Artifact holds what the model wrote; a document page holds what people wrote.
  • Whole documents. Show the page or the clauses that matter, and link to the full file.
  • Marking every clause on the page.

Rules for AI agents

Published in llms-full.txt, the registry and the MCP server, so coding agents follow them when they build with this component.

  • Quote clauses exactly as extracted. Never rewrite, summarize or fix them inside a DocumentClause.
  • Pass title with the document's name and page with its position, for example "Page 4 of 12", from the source file.
  • Give each clause a stable id built from the document and number, for example id="msa-12-2", so citations and links can scroll to it.
  • Set marked only on the clauses the current answer cites. To link two clauses, wrap them in ConnectorAnchor with render={<DocumentClause />}.
  • The sheet uses font-doc, which is the theme's font. Set --font-document only when the customer wants documents in their own typeface.

API

DocumentPage

PropTypeDefaultDescription
titleReactNodeThe document's name.
pageReactNodeWhere this is, for example "Page 4 of 12".

DocumentClause

PropTypeDefaultDescription
number / titlestringShown in bold before the text, for example "12.2 Limitation of liability."
markedbooleanfalseTints the clause the agent is talking about. Exposed as data-marked.

Installation

The Prodular UI CLI adds the source to components/ui with everything it depends on. In a project that already uses shadcn/ui, the shadcn CLI installs it from the Prodular registry too. See Installation for the first setup.

npx prodular-ui add document-page# or, with the registry in components.jsonnpx shadcn@latest add @prodular/document-page