Signature

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

Rendering live preview requires JavaScript.

Installation

npx shadcn@4 add @paradoc/signature

Or, with the Paradoc CLI, which writes the namespace into components.json for you:

npx paradoc-cli add signature

Installs to components/paradoc/signature.tsx and brings along keep-together.

Usage

import { Signature } from "@/components/paradoc/signature";<Signature party="provider" />
PropTypeDefaultDescription
partystring—Party role declared by the artifact, such as provider.
index?number00-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 firstStable 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.

Rendering live preview requires JavaScript.

Initials

type="initials" draws the shorter initials rule instead of a full signature.

Rendering live preview requires JavaScript.

Custom id

id overrides the default <type>:<role> keep id, or <type>:<role>:<index> after the first.

Rendering live preview requires JavaScript.

On this page