Launch price: lifetime access for $149, $199 after

Signature Pad

Three ways to sign one document. Whichever is used, the panel hands back the same thing: a trimmed PNG and, where the mark is vector, an SVG you can scale into a contract.

DocumentsFree1,716 lines · one file

Installation

How you get it

One command. The CLI writes the file into components/ui/ and installs what it needs.

npx shadcn@latest add https://layropro.com/r/signature-pad

API

“Copy prompt” above puts a full brief on your clipboard — install command, dependencies, props, and the mistakes an assistant usually makes with this component.

Props

Read from the component’s own TypeScript interface when the site is built, so this table cannot drift from the file you install.

PropTypeNotes
titlestringPanel heading.
signerNamestringPrefills the typed signature and labels the signed card.
consentstringThe line printed under the signature area.
defaultMethodSignatureMethodWhich tab opens first.
typefacesTypeface[]Faces offered on the Type tab.
inksInk[]Ink colours offered on every tab.
savedSavedSignature[]Previously used signatures, offered on the Saved tab.
onSaveSignature(signature: SavedSignature) => voidCalled when a new signature is kept for next time. The pad also adds it to its own Saved tab, so it works with or without a store behind it.
onDeleteSignature(id: string) => voidCalled when one is removed on the Saved tab.
loadFontsbooleanAdds a stylesheet link for the default signing faces. Set false if you self host them or pass your own `typefaces`.
onAccept(result: SignatureResult) => voidCalled with the finished signature.
onCancel() => voidCalled when the panel is dismissed.
showSignedStatebooleanShow the signed card in place of the panel after accepting.
modalbooleanWhether the pad is being shown as a modal — over a scrim, with the page behind it inert. The pad does not render its own scrim, so it cannot know this on its own. Set it and the pad traps Tab, takes focus on open, returns focus to the trigger on close, and closes on Escape. Left off, it is an ordinary region on the page and none of that would be correct.

Dependencies

npm packages

clsxframer-motionlucide-reacttailwind-merge

Layro foundations, installed alongside it

layro-theme

Lifetime access

Every component, and everything we ship next.

  • All 65 components, source included
  • The template, and everything released after you buy
  • shadcn CLI or download — React 18/19, Tailwind v4
  • One payment. No subscription.

More in Documents