@unlev/exeq 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -88
- package/dist/index.css +289 -5
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +22 -7
- package/dist/index.d.ts +22 -7
- package/dist/index.js +626 -339
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +598 -312
- package/dist/index.mjs.map +1 -1
- package/package.json +12 -4
- package/dist/embed.css +0 -1
- package/dist/embed.global.js +0 -419
- package/dist/styles.css +0 -566
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
|
-
type FieldType = 'text' | 'signature' | 'signed-date' | 'checkbox' | 'initials';
|
|
3
|
+
type FieldType = 'text' | 'signature' | 'signed-date' | 'checkbox' | 'initials' | 'blackout' | 'whiteout';
|
|
4
4
|
type TextSubtype = 'freeform' | 'number' | 'date' | 'email' | 'phone';
|
|
5
5
|
interface FormField {
|
|
6
6
|
id: string;
|
|
@@ -17,6 +17,7 @@ interface FormField {
|
|
|
17
17
|
height: number;
|
|
18
18
|
fontSize: number;
|
|
19
19
|
value: string;
|
|
20
|
+
inkColor?: string;
|
|
20
21
|
}
|
|
21
22
|
interface Template {
|
|
22
23
|
fields: FormField[];
|
|
@@ -27,27 +28,39 @@ declare const DEFAULT_SIGNER_ROLES: string[];
|
|
|
27
28
|
declare const SIGNER_ROLE_COLORS: Record<string, string>;
|
|
28
29
|
declare function getSignerColor(role: string): string;
|
|
29
30
|
declare const FIELD_DEFAULTS: Record<FieldType, Partial<FormField>>;
|
|
30
|
-
|
|
31
|
+
/** Given a desired label and a list of existing labels, return a unique label by appending a number if needed. */
|
|
32
|
+
declare function uniqueLabel(desired: string, existingLabels: string[]): string;
|
|
33
|
+
declare function createField(type: FieldType, assignee: string, page: number, x: number, y: number, existingFields?: FormField[]): FormField;
|
|
31
34
|
|
|
32
35
|
interface DesignerViewProps {
|
|
36
|
+
/** API key for authentication */
|
|
37
|
+
apiKey?: string;
|
|
33
38
|
/** URL to a PDF to pre-load */
|
|
34
39
|
initialPdfUrl?: string;
|
|
35
40
|
/** Existing template to load (fields, signer roles, and PDF URL) */
|
|
36
41
|
initialTemplate?: Template;
|
|
37
42
|
/** Called when the user clicks "Export Template" */
|
|
38
43
|
onSave?: (template: Template) => void;
|
|
44
|
+
/** When true, the built-in header bar is hidden (use headerPortalRef to place buttons externally) */
|
|
45
|
+
hideHeader?: boolean;
|
|
46
|
+
/** Ref to an element where the header action buttons should be portalled into */
|
|
47
|
+
headerPortalRef?: React.RefObject<HTMLElement | null>;
|
|
39
48
|
}
|
|
40
|
-
declare function DesignerView({ initialPdfUrl, initialTemplate, onSave, }?: DesignerViewProps): react_jsx_runtime.JSX.Element;
|
|
49
|
+
declare function DesignerView({ apiKey, initialPdfUrl, initialTemplate, onSave, hideHeader, headerPortalRef, }?: DesignerViewProps): react_jsx_runtime.JSX.Element;
|
|
41
50
|
|
|
42
51
|
interface SignerViewProps {
|
|
52
|
+
/** API key for authentication */
|
|
53
|
+
apiKey?: string;
|
|
43
54
|
/** If provided, use these instead of URL params / postMessage */
|
|
44
55
|
initialPdfUrl?: string;
|
|
45
56
|
initialTemplate?: Template;
|
|
46
57
|
initialSigner?: string;
|
|
47
58
|
callbackUrl?: string;
|
|
48
59
|
onComplete?: (pdfBlob: Blob) => void;
|
|
60
|
+
/** Pre-fill field values by label or ID. Keys are matched against field labels (case-insensitive) first, then field IDs. */
|
|
61
|
+
initialValues?: Record<string, string>;
|
|
49
62
|
}
|
|
50
|
-
declare function SignerView({ initialPdfUrl, initialTemplate, initialSigner, callbackUrl: initialCallbackUrl, onComplete, }?: SignerViewProps): react_jsx_runtime.JSX.Element;
|
|
63
|
+
declare function SignerView({ apiKey, initialPdfUrl, initialTemplate, initialSigner, callbackUrl: initialCallbackUrl, onComplete, initialValues, }?: SignerViewProps): react_jsx_runtime.JSX.Element;
|
|
51
64
|
|
|
52
65
|
interface RenderedPage {
|
|
53
66
|
pageNumber: number;
|
|
@@ -65,11 +78,12 @@ interface PdfViewerProps {
|
|
|
65
78
|
onFieldMove?: (id: string, page: number, x: number, y: number) => void;
|
|
66
79
|
onFieldResize?: (id: string, width: number, height: number) => void;
|
|
67
80
|
onPageClick?: (page: number, x: number, y: number) => void;
|
|
81
|
+
onDropField?: (page: number, x: number, y: number, fieldType: FieldType) => void;
|
|
68
82
|
mode: 'designer' | 'signer';
|
|
69
83
|
currentSigner?: string;
|
|
70
84
|
renderFieldContent?: (field: FormField) => React.ReactNode;
|
|
71
85
|
}
|
|
72
|
-
declare function PdfViewer({ pages, fields, selectedFieldId, onSelectField, onFieldMove, onFieldResize, onPageClick, mode, currentSigner, renderFieldContent, }: PdfViewerProps): react_jsx_runtime.JSX.Element;
|
|
86
|
+
declare function PdfViewer({ pages, fields, selectedFieldId, onSelectField, onFieldMove, onFieldResize, onPageClick, onDropField, mode, currentSigner, renderFieldContent, }: PdfViewerProps): react_jsx_runtime.JSX.Element;
|
|
73
87
|
|
|
74
88
|
interface SignatureCanvasProps {
|
|
75
89
|
width?: number;
|
|
@@ -77,8 +91,9 @@ interface SignatureCanvasProps {
|
|
|
77
91
|
onSign: (dataUrl: string) => void;
|
|
78
92
|
initialValue?: string;
|
|
79
93
|
className?: string;
|
|
94
|
+
inkColor?: string;
|
|
80
95
|
}
|
|
81
|
-
declare function SignatureCanvas({ width, height, onSign, initialValue, className, }: SignatureCanvasProps): react_jsx_runtime.JSX.Element;
|
|
96
|
+
declare function SignatureCanvas({ width, height, onSign, initialValue, className, inkColor, }: SignatureCanvasProps): react_jsx_runtime.JSX.Element;
|
|
82
97
|
|
|
83
98
|
interface FieldPropertyPanelProps {
|
|
84
99
|
field: FormField;
|
|
@@ -110,4 +125,4 @@ declare function generateFilledPdf(pdfSource: string | ArrayBuffer, fields: Form
|
|
|
110
125
|
declare function downloadPdf(bytes: Uint8Array, filename: string): void;
|
|
111
126
|
declare function postPdfToCallback(bytes: Uint8Array, callbackUrl: string, filename: string): Promise<void>;
|
|
112
127
|
|
|
113
|
-
export { DEFAULT_SIGNER_ROLES, DesignerView, type DesignerViewProps, FIELD_DEFAULTS, FieldNavigator, FieldPropertyPanel, type FieldType, type FormField, PdfViewer, type RenderedPage, SIGNER_ROLE_COLORS, SignatureCanvas, SignerRoleSelector, SignerView, type SignerViewProps, type Template, type TextSubtype, createField, downloadPdf, generateFilledPdf, getSignerColor, postPdfToCallback, renderPdfPages };
|
|
128
|
+
export { DEFAULT_SIGNER_ROLES, DesignerView, type DesignerViewProps, FIELD_DEFAULTS, FieldNavigator, FieldPropertyPanel, type FieldType, type FormField, PdfViewer, type RenderedPage, SIGNER_ROLE_COLORS, SignatureCanvas, SignerRoleSelector, SignerView, type SignerViewProps, type Template, type TextSubtype, createField, downloadPdf, generateFilledPdf, getSignerColor, postPdfToCallback, renderPdfPages, uniqueLabel };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
|
-
type FieldType = 'text' | 'signature' | 'signed-date' | 'checkbox' | 'initials';
|
|
3
|
+
type FieldType = 'text' | 'signature' | 'signed-date' | 'checkbox' | 'initials' | 'blackout' | 'whiteout';
|
|
4
4
|
type TextSubtype = 'freeform' | 'number' | 'date' | 'email' | 'phone';
|
|
5
5
|
interface FormField {
|
|
6
6
|
id: string;
|
|
@@ -17,6 +17,7 @@ interface FormField {
|
|
|
17
17
|
height: number;
|
|
18
18
|
fontSize: number;
|
|
19
19
|
value: string;
|
|
20
|
+
inkColor?: string;
|
|
20
21
|
}
|
|
21
22
|
interface Template {
|
|
22
23
|
fields: FormField[];
|
|
@@ -27,27 +28,39 @@ declare const DEFAULT_SIGNER_ROLES: string[];
|
|
|
27
28
|
declare const SIGNER_ROLE_COLORS: Record<string, string>;
|
|
28
29
|
declare function getSignerColor(role: string): string;
|
|
29
30
|
declare const FIELD_DEFAULTS: Record<FieldType, Partial<FormField>>;
|
|
30
|
-
|
|
31
|
+
/** Given a desired label and a list of existing labels, return a unique label by appending a number if needed. */
|
|
32
|
+
declare function uniqueLabel(desired: string, existingLabels: string[]): string;
|
|
33
|
+
declare function createField(type: FieldType, assignee: string, page: number, x: number, y: number, existingFields?: FormField[]): FormField;
|
|
31
34
|
|
|
32
35
|
interface DesignerViewProps {
|
|
36
|
+
/** API key for authentication */
|
|
37
|
+
apiKey?: string;
|
|
33
38
|
/** URL to a PDF to pre-load */
|
|
34
39
|
initialPdfUrl?: string;
|
|
35
40
|
/** Existing template to load (fields, signer roles, and PDF URL) */
|
|
36
41
|
initialTemplate?: Template;
|
|
37
42
|
/** Called when the user clicks "Export Template" */
|
|
38
43
|
onSave?: (template: Template) => void;
|
|
44
|
+
/** When true, the built-in header bar is hidden (use headerPortalRef to place buttons externally) */
|
|
45
|
+
hideHeader?: boolean;
|
|
46
|
+
/** Ref to an element where the header action buttons should be portalled into */
|
|
47
|
+
headerPortalRef?: React.RefObject<HTMLElement | null>;
|
|
39
48
|
}
|
|
40
|
-
declare function DesignerView({ initialPdfUrl, initialTemplate, onSave, }?: DesignerViewProps): react_jsx_runtime.JSX.Element;
|
|
49
|
+
declare function DesignerView({ apiKey, initialPdfUrl, initialTemplate, onSave, hideHeader, headerPortalRef, }?: DesignerViewProps): react_jsx_runtime.JSX.Element;
|
|
41
50
|
|
|
42
51
|
interface SignerViewProps {
|
|
52
|
+
/** API key for authentication */
|
|
53
|
+
apiKey?: string;
|
|
43
54
|
/** If provided, use these instead of URL params / postMessage */
|
|
44
55
|
initialPdfUrl?: string;
|
|
45
56
|
initialTemplate?: Template;
|
|
46
57
|
initialSigner?: string;
|
|
47
58
|
callbackUrl?: string;
|
|
48
59
|
onComplete?: (pdfBlob: Blob) => void;
|
|
60
|
+
/** Pre-fill field values by label or ID. Keys are matched against field labels (case-insensitive) first, then field IDs. */
|
|
61
|
+
initialValues?: Record<string, string>;
|
|
49
62
|
}
|
|
50
|
-
declare function SignerView({ initialPdfUrl, initialTemplate, initialSigner, callbackUrl: initialCallbackUrl, onComplete, }?: SignerViewProps): react_jsx_runtime.JSX.Element;
|
|
63
|
+
declare function SignerView({ apiKey, initialPdfUrl, initialTemplate, initialSigner, callbackUrl: initialCallbackUrl, onComplete, initialValues, }?: SignerViewProps): react_jsx_runtime.JSX.Element;
|
|
51
64
|
|
|
52
65
|
interface RenderedPage {
|
|
53
66
|
pageNumber: number;
|
|
@@ -65,11 +78,12 @@ interface PdfViewerProps {
|
|
|
65
78
|
onFieldMove?: (id: string, page: number, x: number, y: number) => void;
|
|
66
79
|
onFieldResize?: (id: string, width: number, height: number) => void;
|
|
67
80
|
onPageClick?: (page: number, x: number, y: number) => void;
|
|
81
|
+
onDropField?: (page: number, x: number, y: number, fieldType: FieldType) => void;
|
|
68
82
|
mode: 'designer' | 'signer';
|
|
69
83
|
currentSigner?: string;
|
|
70
84
|
renderFieldContent?: (field: FormField) => React.ReactNode;
|
|
71
85
|
}
|
|
72
|
-
declare function PdfViewer({ pages, fields, selectedFieldId, onSelectField, onFieldMove, onFieldResize, onPageClick, mode, currentSigner, renderFieldContent, }: PdfViewerProps): react_jsx_runtime.JSX.Element;
|
|
86
|
+
declare function PdfViewer({ pages, fields, selectedFieldId, onSelectField, onFieldMove, onFieldResize, onPageClick, onDropField, mode, currentSigner, renderFieldContent, }: PdfViewerProps): react_jsx_runtime.JSX.Element;
|
|
73
87
|
|
|
74
88
|
interface SignatureCanvasProps {
|
|
75
89
|
width?: number;
|
|
@@ -77,8 +91,9 @@ interface SignatureCanvasProps {
|
|
|
77
91
|
onSign: (dataUrl: string) => void;
|
|
78
92
|
initialValue?: string;
|
|
79
93
|
className?: string;
|
|
94
|
+
inkColor?: string;
|
|
80
95
|
}
|
|
81
|
-
declare function SignatureCanvas({ width, height, onSign, initialValue, className, }: SignatureCanvasProps): react_jsx_runtime.JSX.Element;
|
|
96
|
+
declare function SignatureCanvas({ width, height, onSign, initialValue, className, inkColor, }: SignatureCanvasProps): react_jsx_runtime.JSX.Element;
|
|
82
97
|
|
|
83
98
|
interface FieldPropertyPanelProps {
|
|
84
99
|
field: FormField;
|
|
@@ -110,4 +125,4 @@ declare function generateFilledPdf(pdfSource: string | ArrayBuffer, fields: Form
|
|
|
110
125
|
declare function downloadPdf(bytes: Uint8Array, filename: string): void;
|
|
111
126
|
declare function postPdfToCallback(bytes: Uint8Array, callbackUrl: string, filename: string): Promise<void>;
|
|
112
127
|
|
|
113
|
-
export { DEFAULT_SIGNER_ROLES, DesignerView, type DesignerViewProps, FIELD_DEFAULTS, FieldNavigator, FieldPropertyPanel, type FieldType, type FormField, PdfViewer, type RenderedPage, SIGNER_ROLE_COLORS, SignatureCanvas, SignerRoleSelector, SignerView, type SignerViewProps, type Template, type TextSubtype, createField, downloadPdf, generateFilledPdf, getSignerColor, postPdfToCallback, renderPdfPages };
|
|
128
|
+
export { DEFAULT_SIGNER_ROLES, DesignerView, type DesignerViewProps, FIELD_DEFAULTS, FieldNavigator, FieldPropertyPanel, type FieldType, type FormField, PdfViewer, type RenderedPage, SIGNER_ROLE_COLORS, SignatureCanvas, SignerRoleSelector, SignerView, type SignerViewProps, type Template, type TextSubtype, createField, downloadPdf, generateFilledPdf, getSignerColor, postPdfToCallback, renderPdfPages, uniqueLabel };
|