From 0c102ab6e548fd591721e3d6e7fc4ab5b95b8fa0 Mon Sep 17 00:00:00 2001 From: Titouan Launay Date: Tue, 30 Apr 2024 12:31:22 -0700 Subject: [PATCH] Adds signing fields --- docs/components/signature.mdx | 109 ++++++++++++++ .../previews/field-81a661f2/document.1.jpg | Bin 0 -> 61025 bytes .../previews/field-81a661f2/document.pdf | Bin 0 -> 24907 bytes docs/mint.json | 1 + docs/snippets/components.mdx | 2 + src/client.ts | 2 + src/server.ts | 1 - src/signature/signature.tsx | 137 ++++++++++++++++++ 8 files changed, 251 insertions(+), 1 deletion(-) create mode 100644 docs/components/signature.mdx create mode 100644 docs/images/previews/field-81a661f2/document.1.jpg create mode 100644 docs/images/previews/field-81a661f2/document.pdf create mode 100644 src/signature/signature.tsx diff --git a/docs/components/signature.mdx b/docs/components/signature.mdx new file mode 100644 index 0000000..ec8c8ba --- /dev/null +++ b/docs/components/signature.mdx @@ -0,0 +1,109 @@ +--- +title: Signature +icon: signature +description: "Add signature fields to your document. You can specify various types of fields like signature, initials, date, and more. + + +Signature and form filling are currently only available to select customers. If you would like to use these features in your project, please reach out at contact@onedoclabs.com. + +" +--- + +## Field + +Support + +
Client-side
Server-side
+ +### Examples + +#### Preview + +The created fields can be signed as-is in Acrobat Reader or other PDF viewers, using Onedoc's signature API, or through other e-signature services like [DocuSign](https://developers.docusign.com/docs/esign-rest-api/esign101/concepts/tabs/pdf-transform/). + +Supported fields: + +| Field Type | Description | +|------------|-------------| +| signHere | Signature field | +| signHereOptional | Optional signature field | +| signInitialHere | Initials field | +| signInitialHereOptional | Optional initials field | +| company | Company name field | +| dateSigned | Date signed field | +| title | Title field | +| fullName | Full name field | +| lastName | Last name field | +| firstName | First name field | +| emailAddress | Email address field | +| number | Number field | +| date | Date field | +| ssn | Social Security Number field | +| zip5 | ZIP code field | +| zip5dash4 | ZIP code with 4-digit extension field | +| note | Note field | +| list | List field | +| checkbox | Checkbox field | +| radio | Radio button field | +| approve | Approve button field | +| decline | Decline button field | +| view | View button field | +| signerAttachment | Signer attachment field | +| signerAttachmentOptional | Optional signer attachment field | + + + +
+```jsx template.tsx +import { Field } from "@onedoc/react-print"; + +<> + +

Signature

+
+ By +
+ +
+ +
+ +
+
+; + +``` +```css base.css +@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap"); + +html, +body { + font-size: 28px; + font-family: "Inter", sans-serif; +} + +@page { + size: A4; +} + +``` +
+ diff --git a/docs/images/previews/field-81a661f2/document.1.jpg b/docs/images/previews/field-81a661f2/document.1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d1d37cf55cc04320c3684f2267b1912e1e93e1bb GIT binary patch literal 61025 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
H3Z1-vVaZ!^|cs%u#c$`&2X3pGffz>-0 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 literal 0 HcmV?d00001 diff --git a/docs/images/previews/field-81a661f2/document.pdf b/docs/images/previews/field-81a661f2/document.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b202af7c2a5106cd55431be0b15c0333339add9d GIT binary patch literal 24907 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 Display content in other page regions. + + Add signature fields to your document. A simple, drop-in way to use Tailwind CSS in your components. diff --git a/src/client.ts b/src/client.ts index 56d9f0c..1d66cf5 100644 --- a/src/client.ts +++ b/src/client.ts @@ -23,3 +23,5 @@ export { compile, CompileOptions } from "./compile/compile"; export { CSS } from "./css/css"; export { Markdown } from "./markdown/markdown"; export { Latex } from "./latex/latex"; +export { Tailwind } from "./tailwind/tailwind"; +export { Field } from "./signature/signature"; diff --git a/src/server.ts b/src/server.ts index 51ce6a2..5ec7692 100644 --- a/src/server.ts +++ b/src/server.ts @@ -1,2 +1 @@ export * from "./client"; -export { Tailwind } from "./tailwind/tailwind"; diff --git a/src/signature/signature.tsx b/src/signature/signature.tsx new file mode 100644 index 0000000..fb400d7 --- /dev/null +++ b/src/signature/signature.tsx @@ -0,0 +1,137 @@ +import { Tailwind } from "@onedoc/react-print"; +import { DocConfig } from "docgen/types"; +import React from "react"; + +// This provides a loose support for DocuSign fields +const availableFields = { + signHere: "eSignSignHere", + signHereOptional: "eSignSignHereOptional", + signInitialHere: "eSignInitialHere", + signInitialHereOptional: "eSignInitialHereOptional", + company: "eSignCompany", + dateSigned: "eSignDateSigned", + title: "eSignTitle", + fullName: "eSignFullName", + lastName: "eSignLastName", + firstName: "eSignFirstName", + emailAddress: "eSignEmailAddress", + number: "eSignNumber", + date: "eSignDate", + ssn: "eSignSSN", + zip5: "eSignZIP5", + zip5dash4: "eSignZIP5DASH4", + note: "eSignNote", + list: "eSignList", + checkbox: "eSignCheckbox", + radio: "eSignRadio", + approve: "eSignApprove", + decline: "eSignDecline", + view: "eSignView", + signerAttachment: "eSignSignerAttachment", + signerAttachmentOptional: "eSignSignerAttachmentOptional", +}; + +type fieldTypes = keyof typeof availableFields; + +export const Field = ({ + type, + signee, + ...props +}: { + type: fieldTypes; + signee: string; +} & React.InputHTMLAttributes) => { + return ( + + ); +}; + +export const __docConfig: DocConfig = { + name: "Signature", + icon: "signature", + description: `Add signature fields to your document. You can specify various types of fields like signature, initials, date, and more. + + +Signature and form filling are currently only available to select customers. If you would like to use these features in your project, please reach out at contact@onedoclabs.com. + +`, + components: { + Field: { + client: true, + server: true, + examples: { + default: { + description: `The created fields can be signed as-is in Acrobat Reader or other PDF viewers, using Onedoc's signature API, or through other e-signature services like [DocuSign](https://developers.docusign.com/docs/esign-rest-api/esign101/concepts/tabs/pdf-transform/). + +Supported fields: + +| Field Type | Description | +|------------|-------------| +| signHere | Signature field | +| signHereOptional | Optional signature field | +| signInitialHere | Initials field | +| signInitialHereOptional | Optional initials field | +| company | Company name field | +| dateSigned | Date signed field | +| title | Title field | +| fullName | Full name field | +| lastName | Last name field | +| firstName | First name field | +| emailAddress | Email address field | +| number | Number field | +| date | Date field | +| ssn | Social Security Number field | +| zip5 | ZIP code field | +| zip5dash4 | ZIP code with 4-digit extension field | +| note | Note field | +| list | List field | +| checkbox | Checkbox field | +| radio | Radio button field | +| approve | Approve button field | +| decline | Decline button field | +| view | View button field | +| signerAttachment | Signer attachment field | +| signerAttachmentOptional | Optional signer attachment field |`, + template: ( + <> + +

Signature

+
+ By +
+ +
+ +
+ +
+
+ + ), + }, + }, + }, + }, +};