This component enables seamless integration of the template form builder within any section of your application. Users can upload documents, drag-and-drop form fields, and configure signing workflows. Compatible with JS+HTML, React, Vue, and Angular.
<!-- Include the Zignature builder script --> <script src="https://cdn.zignature.io/js/builder.js"></script> <zignature-builder id="zignatureBuilder" data-token="{{ jwt_token }}" data-template-id="{{ template_id }}"> </zignature-builder> <script> window.zignatureBuilder.addEventListener('save', (e) => { console.log('Template saved:', e.detail) }) </script>
import React from "react" import { ZignatureBuilder } from '@zignature/react' export function TemplateEditor() { return ( <ZignatureBuilder token="your_jwt_token" templateId={1000} onSave={(data) => console.log(data)} /> ); }
<template> <ZignatureBuilder :token="jwtToken" :template-id="templateId" @save="onSave" /> </template> <script setup> import { ZignatureBuilder } from '@zignature/vue' import { ref } from 'vue' const jwtToken = ref('your_jwt_token') const templateId = ref(1000) const onSave = (data) => console.log(data) </script>
import { Component } from '@angular/core'; import { ZignatureBuilderModule } from '@zignature/angular'; @Component({ selector: 'app-builder', standalone: true, imports: [ZignatureBuilderModule], template: ` <zignature-builder [token]="jwtToken" [templateId]="templateId" (save)="onSave($event)"> </zignature-builder> ` }) export class BuilderComponent { jwtToken = 'your_jwt_token'; templateId = 1000; onSave(data: any) { console.log(data); } }
JSON Web Token (JWT HS256) signed using the API key. JWT must be generated on the backend. The token grants access to the builder and authorizes template modifications.
ID of an existing template to edit. If not provided, a new template will be created when a document is uploaded.
Comma-separated list of signer roles for the template.
UI language: en, es, it, de, fr, nl, pl, uk, cs, pt, he, ar, kr, ja. Defaults to browser language.
Set false to hide the template title input.
Set false to hide the "Send" button from the builder.
Set false to hide signature-type fields from the field palette.
Set false to hide the document upload button (useful when editing existing templates only).
Set true to only allow placing pre-defined fields (from data-fields) rather than any field type.
JSON array string of pre-defined fields to use with data-only-defined-fields.
Show builder in read-only preview mode.
Enable auto-saving of template changes.
Custom CSS styles to apply to the builder.
Builder background color (HEX).
Triggered when the builder component initializes.
document.querySelector('zignature-builder').addEventListener('init', () => console.log('ready'))Triggered when the template data finishes loading.
document.querySelector('zignature-builder').addEventListener('load', (e) => e.detail)Triggered when the template is saved. The event detail contains the template data including field configurations.
document.querySelector('zignature-builder').addEventListener('save', (e) => e.detail)Triggered when a document is uploaded to the builder.
document.querySelector('zignature-builder').addEventListener('upload', (e) => e.detail)Called when the builder initializes.
onInit={() => console.log('ready')}Called when template data loads.
onLoad={(data) => console.log(data)}Called when the template is saved.
onSave={(data) => console.log(data)}Called when a document is uploaded.
onUpload={(data) => console.log(data)}Emitted on initialization.
@init="onInit"Emitted when template data loads.
@load="onLoad"Emitted when template is saved.
@save="onSave"Emitted on document upload.
@upload="onUpload"Output emitted on initialization.
(init)="onInit()"Output emitted when template data loads.
(load)="onLoad($event)"Output emitted when template is saved.
(save)="onSave($event)"Output emitted on document upload.
(upload)="onUpload($event)"Interactive live preview of the Zignature embedded form builder. This is the actual builder component running from app.zignature.io.
Live embed will appear here once app.zignature.io is deployed. This is a visual preview of the builder experience.