SignatureLast updated on
Last updated on
A party's signing block, with the rule the seal measures a signature field from.
Signature draws one signing field for one party: the role label, the
signing requirement, and the party's own name, all read from the artifact.
The rule beneath them is not decoration — it is the exact placeholder the
core seal flow locates and measures a field from, so restyling it with a
border instead of the printed underscores would give the seal nothing to
find.
Preview
Installation
npx shadcn@4 add @paradoc/signatureOr, with the Paradoc CLI, which writes the namespace into components.json for you:
npx paradoc-cli add signatureInstalls to components/paradoc/signature.tsx and brings along keep-together.
Usage
import { Signature } from "@/components/paradoc/signature";<Signature party="provider" />| Prop | Type | Default | Description |
|---|---|---|---|
| party | string | — | Party role declared by the artifact, such as provider. |
| index? | number | 0 | 0-based index for a role that admits several parties. |
| type? | SigningMarkType | "signature" | Which signing field this block draws. |
| id? | string | "<type>:<role>", or "<type>:<role>:<index>" after the first | Stable keep id. |
| className? | string | — | Application-owned classes replacing the block's default column layout. |
| dateLabel? | string | "Date" | Caption under the date rule. |
| requiredLabel? | string | "required" | Suffix shown for required signing fields. |
| fieldLabel? | string | — | Overrides the field-type caption from the artifact binding. |
Composition
Signature needs the same Document context every other component here
does: party names a role the artifact declares, and the role's label and
the party's own serialized name both come from it. It is a Keep Together,
so it is never split across a page break.
A Signature block draws one field for one party — one signature or one set
of initials, named by type. A party who signs and initials the same
document is two blocks, type="signature" and type="initials", each
finding its own marker by the party and that type. Signature usually sits
inside a closing Section alongside the other
party's own block, the way a purchase order's "Acceptance" section places
both signers side by side.
Because the rule is text a reader can see rather than a border, the sealed document and the plain preview are the same page: nothing about signing changes what the composition renders, only what a signing pass adds beside it.
Every size in the block, the role label, the party's name, the rules and their captions, follows the document's typography token.
Variants
Signature
The default type, for the proposal's other party.
Initials
type="initials" draws the shorter initials rule instead of a full
signature.
Custom id
id overrides the default <type>:<role> keep id, or
<type>:<role>:<index> after the first.