This component enables seamless integration of a signing form within any section of your website or application. It offers compatibility with JS+HTML, React, Vue, and Angular, providing you with versatile options for integration.
<!-- Include the Zignature embed script --> <script src="https://cdn.zignature.io/js/form.js"></script> <zignature-form id="zignatureForm" data-src="https://app.zignature.io/d/{{ template_slug }}" data-email="{{ signer_email }}"> </zignature-form> <script> window.zignatureForm.addEventListener('completed', (e) => { console.log(e.detail) }) </script>
import React from "react" import { ZignatureForm } from '@zignature/react' export function App() { return ( <div className="app"> <ZignatureForm src="https://app.zignature.io/d/LEVGR9rhZYf86M" email="signer@example.com" onComplete={(data) => console.log(data)} /> </div> ); }
<template> <ZignatureForm :src="'https://app.zignature.io/d/LEVGR9rhZYf86M'" :email="'signer@example.com'" @completed="onCompleted" /> </template> <script setup> import { ZignatureForm } from '@zignature/vue' const onCompleted = (data) => { console.log(data) } </script>
import { Component } from '@angular/core'; import { ZignatureFormModule } from '@zignature/angular'; @Component({ selector: 'app-signing', standalone: true, imports: [ZignatureFormModule], template: ` <zignature-form [src]="'https://app.zignature.io/d/LEVGR9rhZYf86M'" [email]="'signer@example.com'" (completed)="onCompleted($event)"> </zignature-form> ` }) export class SigningComponent { onCompleted(data: any) { console.log(data); } }
Public URL of the document signing form. There are two types of URLs:
/d/{slug} — template form signing URL can be copied from the template page in the admin dashboard. Also template "slug" key can be obtained via the /templates API./s/{slug} — individual signer URL. Signer "slug" key can be obtained via the /submissions API which is used to initiate signature requests for a template form with recipients.Email address of the signer. Additional email form step will be displayed if the email attribute is not specified.
Name of the signer.
The role name or title of the signer.
JSON Web Token (JWT HS256) with a payload signed using the API key. JWT can be generated only on the backend.
Show form in preview mode without ability to submit it.
Expand form on open.
Set to true to always minimize form fields. Requires clicking on the field to expand the form.
Order form fields based on their position on the pages.
Public logo image URL to use in the signing form.
UI language: en, es, it, de, fr, nl, pl, uk, cs, pt, he, ar, kr, ja languages are available. By default the form is displayed in the user browser language automatically.
JSON encoded string that contains i18n keys to replace the default UI text with custom values.
Navigate to the last unfinished step.
Allow skipping form fields.
Set false to disable auto-scrolling to the next document field.
Set false to disable automatic email sending with signed documents to the signers.
Set false to remove the document title from the form.
Set true to display the decline button in the form.
Set false to hide field names. Hiding field names can be useful when they are not in a human-readable format.
Set true to display field name placeholders instead of the field type icons.
Set false to remove the signed document download button from the completed form card.
Set false to remove the signed document send email button from the completed form card.
Set true to display the complete button in the form header.
Set to true to display only required fields in the step-by-step form, hiding all optional fields.
Set false to disallow users to re-submit the form.
Set false to disallow users to type their signature.
Allows pre-filling signature fields. The value can be a base64 encoded image string, a public URL to an image, or plain text that will be rendered as a typed signature.
Whether the signature should be remembered for future use. Remembered signatures are stored in the signer's browser local storage.
Set false to not reuse the signature in the second signature field and collect a new one.
Form background color. Only HEX color codes are supported.
Pre-assigned values for form fields.
Your application-specific unique string key to identify signer within your app.
Signer metadata Object in JSON format.
Comma separated read-only field names.
URL to redirect to after the submission completion.
Message title displayed after the form completion.
Message body displayed after the form completion.
Button title displayed after the form completion.
URL of the button displayed after the form completion.
Custom CSS styles to be applied to the form.
Custom event triggered on initializing the form component.
document.querySelector('zignature-form').addEventListener('init', () => console.log('init'))Custom event triggered on loading the form data.
document.querySelector('zignature-form').addEventListener('load', (e) => e.detail)Custom event triggered after form completion. The event detail contains the submission data including signed document URLs.
document.querySelector('zignature-form').addEventListener('completed', (e) => e.detail)Custom event triggered after form decline. Only fires when data-with-decline is set to true.
document.querySelector('zignature-form').addEventListener('declined', (e) => e.detail)Callback triggered on initializing the form component.
onInit={() => console.log('initialized')}Callback triggered on loading the form data.
onLoad={(data) => console.log(data)}Callback triggered after form completion with the submission data.
onComplete={(data) => console.log(data)}Callback triggered after form decline.
onDecline={(data) => console.log(data)}Emitted on initializing the form component.
@init="onInit"Emitted on loading the form data.
@load="onLoad"Emitted after form completion with submission data.
@completed="onCompleted"Emitted after form decline.
@declined="onDeclined"Output emitted on initializing the form component.
(init)="onInit()"Output emitted on loading the form data.
(load)="onLoad($event)"Output emitted after form completion.
(completed)="onCompleted($event)"Output emitted after form decline.
(declined)="onDeclined($event)"Interactive live preview of the Zignature embedded signing form. This is the actual embed component running from app.zignature.io.
Live embed will appear here once app.zignature.io is deployed. This is a visual preview of the signing experience.