@superdoc-dev/esign 2.1.0-next.5 → 2.1.0-next.7
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +395 -368
- package/dist/test/setup.d.ts.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,aAAa,EAA4C,MAAM,YAAY,CAAC;AAErG,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AAIzC,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,aAAa,EAA4C,MAAM,YAAY,CAAC;AAErG,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AAIzC,QAAA,MAAM,aAAa,gIAifjB,CAAC;AAIH,eAAe,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let e=require(`react`),t=require(`react/jsx-runtime`);const n=e=>{let t=globalThis.document.createElement(`canvas`),n=t.getContext(`2d`);n.font=`italic 30px cursive`;let r=n.measureText(e).width;return t.width=Math.ceil(r+8)+20,t.height=51,n.font=`italic 30px cursive`,n.fillStyle=`black`,n.textAlign=`center`,n.textBaseline=`middle`,n.fillText(e,t.width/2,t.height/2),t.toDataURL(`image/png`)},r=({value:e,onChange:n,isDisabled:r,label:i})=>(0,t.jsxs)(`div`,{className:`superdoc-esign-signature-input`,style:{display:`flex`,flexDirection:`column`,gap:`8px`},children:[i&&(0,t.jsx)(`label`,{children:i}),(0,t.jsx)(`input`,{type:`text`,value:String(e||``),onChange:e=>n(e.target.value),disabled:r,placeholder:`Type your full name`,style:{fontFamily:`cursive`,fontSize:`18px`}})]}),i=({value:e,onChange:n,isDisabled:r,label:i})=>(0,t.jsxs)(`label`,{className:`superdoc-esign-checkbox-input`,style:{display:`flex`,gap:`8px`},children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:!!e,onChange:e=>n(e.target.checked),disabled:r}),(0,t.jsx)(`span`,{children:i})]}),a=e=>({onClick:n,fileName:r,isDisabled:i,isDownloading:a})=>{let o=e?.label||`Download`,s=i||a;return(0,t.jsxs)(`button`,{onClick:n,disabled:s,className:`superdoc-esign-btn superdoc-esign-btn--download${a?` superdoc-esign-btn--loading`:``}`,style:{padding:`8px 16px`,borderRadius:`6px`,border:`1px solid #d0d5dd`,background:`#ffffff`,color:`#333`,cursor:s?`not-allowed`:`pointer`,opacity:s?.7:1,fontSize:`16px`,fontWeight:`bold`,display:`inline-flex`,alignItems:`center`,gap:`8px`,transition:`opacity 0.2s ease`},children:[a&&(0,t.jsx)(`span`,{className:`superdoc-esign-spinner`}),a?`Downloading...`:o,!a&&r&&` (${r})`]})},o=e=>({onClick:n,isValid:r,isDisabled:i,isSubmitting:a})=>{let o=e?.label||`Submit`,s=!r||i||a;return(0,t.jsxs)(`button`,{onClick:n,disabled:s,className:`superdoc-esign-btn superdoc-esign-btn--submit${a?` superdoc-esign-btn--loading`:``}`,style:{padding:`12px 24px`,borderRadius:`6px`,border:`none`,background:`#007bff`,color:`#fff`,cursor:s?`not-allowed`:`pointer`,opacity:s&&!a?.5:1,fontSize:`16px`,fontWeight:`bold`,display:`inline-flex`,alignItems:`center`,gap:`8px`,transition:`opacity 0.2s ease`},children:[a&&(0,t.jsx)(`span`,{className:`superdoc-esign-spinner superdoc-esign-spinner--light`}),a?`Submitting...`:o]})};var s=(0,e.forwardRef)((s,c)=>{let{eventId:l,document:u,fields:d={},download:f,submit:p,onSubmit:m,onDownload:h,onStateChange:g,onFieldChange:_,onFieldsDiscovered:v,telemetry:y,licenseKey:b,isDisabled:x=!1,className:S,style:C,documentHeight:w=`600px`,pdf:T}=s,[E,D]=(0,e.useState)(!u.validation?.scroll?.required),[O,k]=(0,e.useState)(new Map),[A,j]=(0,e.useState)(!1),[M,N]=(0,e.useState)(!1),[P,F]=(0,e.useState)(!1),[I,L]=(0,e.useState)([]),[R,z]=(0,e.useState)(!1),B=(0,e.useRef)(null),V=(0,e.useRef)(null),H=(0,e.useRef)(Date.now()),U=(0,e.useRef)(d),W=(0,e.useRef)([]),G=(0,e.useRef)(v);U.current=d,G.current=v,(0,e.useEffect)(()=>{W.current=I},[I]);let K=(0,e.useCallback)(e=>{if(!V.current?.activeEditor)return;let t=V.current.activeEditor,r=U.current.signer?.find(t=>t.id===e.id);if(e.type===`table`&&Array.isArray(e.value)){let n=(t.helpers?.structuredContentCommands)?.getStructuredContentTablesById?.(e.id,t.state)||[];if(n.length){let{node:r,pos:i}=n[0],a=r.childCount;if(a>1){let e=t.state.tr;for(let t=a-1;t>=1;t--){let n=1;for(let e=0;e<t;e++)n+=r.child(e).nodeSize;let a=r.child(t),o=i+n,s=o+a.nodeSize;e=e.delete(e.mapping.map(o),e.mapping.map(s))}t.view?.dispatch(e)}t.commands?.appendRowsToStructuredContentTable?.({id:e.id,rows:e.value,copyRowStyle:!0})}return}let i;i=r?.type===`signature`&&e.value?{json:{type:`image`,attrs:{src:typeof e.value==`string`&&e.value.startsWith(`data:image/`)?e.value:n(String(e.value)),alt:`Signature`}}}:{text:String(e.value??``)},e.id&&t.commands?.updateStructuredContentById?.(e.id,i)},[]),q=(0,e.useCallback)(e=>{if(!e)return;let t=e.helpers.structuredContentCommands.getStructuredContentTags(e.state),n=new Map;U.current.document?.forEach(e=>{e.id&&n.set(e.id,e.value)}),U.current.signer?.forEach(e=>{e.value!==void 0&&n.set(e.id,e.value)});let r=t.map(({node:e})=>({id:e.attrs.id,label:e.attrs.label,value:n.get(e.attrs.id)??e.textContent??``})).filter(e=>e.id);r.length>0&&(G.current?.(r),(U.current.document||[]).filter(e=>e.value!==void 0).forEach(e=>K({id:e.id,value:e.value,type:e.type})),(U.current.signer||[]).filter(e=>e.value!==void 0).forEach(e=>K({id:e.id,value:e.value})))},[K]),J=e=>{let t={...e,timestamp:new Date().toISOString()},n=globalThis?.__SUPERDOC_AUDIT_MOCK__;n&&n(t);let r=[...W.current,t];return W.current=r,L(r),r},Y=(0,e.useMemo)(()=>({enabled:y?.enabled??!0,metadata:{source:`esign`,...y?.metadata}}),[y?.enabled,JSON.stringify(y?.metadata)]);(0,e.useEffect)(()=>{if(!B.current)return;let e=!1,t=null;return(async()=>{let{SuperDoc:n}=await import(`superdoc`);e||(t=new n({selector:B.current,document:T&&typeof u.source==`string`?{url:u.source,type:`pdf`}:u.source,documentMode:`viewing`,modules:{comments:!1,...T?{pdf:T}:{}},viewOptions:{layout:u.viewOptions?.layout??(u.layoutMode===`responsive`?`web`:`print`)},telemetry:Y,...b&&{licenseKey:b},onReady:()=>{e||(t?.activeEditor&&q(t.activeEditor),J({type:`ready`}),z(!0))},onPdfDocumentReady:()=>{e||(J({type:`ready`}),z(!0))}}),V.current=t)})(),()=>{e=!0,t&&typeof t.destroy==`function`&&t.destroy(),V.current=null}},[u.source,u.mode,u.layoutMode,u.viewOptions?.layout,T,q,Y,b]),(0,e.useEffect)(()=>{if(!u.validation?.scroll?.required||!R)return;let e=B.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:n,clientHeight:r}=e,i=t/(n-r);(i>=.95||n<=r)&&(D(!0),J({type:`scroll`,data:{percent:Math.round(i*100)}}))};return e.addEventListener(`scroll`,t),t(),()=>e.removeEventListener(`scroll`,t)},[u.validation?.scroll?.required,R]);let X=(0,e.useCallback)((e,t)=>{k(n=>{let r=n.get(e),i=new Map(n);return i.set(e,t),K({id:e,value:t}),J({type:`field_change`,data:{fieldId:e,value:t,previousValue:r}}),_?.({id:e,value:t,previousValue:r}),i})},[_,K]),Z=(0,e.useCallback)(()=>u.validation?.scroll?.required&&!E?!1:(d.signer||[]).every(e=>{if(!e.validation?.required)return!0;let t=O.get(e.id);return t&&(typeof t!=`string`||t.trim())}),[E,d.signer,O,u.validation?.scroll?.required]);(0,e.useEffect)(()=>{let e=Z();j(e),g?.({scrolled:E,fields:O,isValid:e,isSubmitting:M})},[E,O,M,Z,g]);let Q=(0,e.useCallback)(async()=>{if(x||P)return;F(!0);let e={eventId:l,documentSource:u.source,fields:{document:d.document||[],signer:(d.signer||[]).map(e=>({id:e.id,value:O.get(e.id)??null}))},fileName:f?.fileName||`document.pdf`};try{await h?.(e)}finally{F(!1)}},[x,P,l,u.source,d,O,f,h]),ee=(0,e.useCallback)(async()=>{if(!A||x||M)return;N(!0),J({type:`submit`});let e=J({type:`submit`}),t={eventId:l,timestamp:new Date().toISOString(),duration:Math.floor((Date.now()-H.current)/1e3),auditTrail:e,documentFields:d.document||[],signerFields:(d.signer||[]).map(e=>({id:e.id,value:O.get(e.id)??null})),isFullyCompleted:A};try{await m(t)}finally{N(!1)}},[A,x,M,l,d,O,m]),te=e=>(0,t.jsx)(e.component||ne(e.type),{value:O.get(e.id)??null,onChange:t=>X(e.id,t),isDisabled:x,label:e.label},e.id),ne=e=>{switch(e){case`signature`:case`text`:return r;case`checkbox`:return i}},re=()=>{let e=f?.component||a(f);return e?(0,t.jsx)(e,{onClick:Q,fileName:f?.fileName,isDisabled:x,isDownloading:P}):null},ie=()=>u.mode===`download`?null:(0,t.jsx)(`div`,{className:`superdoc-esign-actions superdoc-esign-form-actions`,children:(0,t.jsx)(p?.component||o(p),{onClick:ee,isValid:A,isDisabled:x,isSubmitting:M})}),$=re(),ae=ie();return(0,e.useImperativeHandle)(c,()=>({getState:()=>({scrolled:E,fields:O,isValid:A,isSubmitting:M}),getAuditTrail:()=>W.current,reset:()=>{D(!u.validation?.scroll?.required),k(new Map),j(!1),W.current=[],L([])},updateFieldInDocument:K}),[E,O,A,M,u.validation?.scroll?.required,K]),(0,t.jsxs)(`div`,{className:`superdoc-esign-container ${S||``}`,style:C,children:[(0,t.jsxs)(`div`,{className:`superdoc-esign-document`,"data-testid":`superdoc-esign-document`,children:[$&&(0,t.jsx)(`div`,{className:`superdoc-esign-document-toolbar`,children:(0,t.jsx)(`div`,{className:`superdoc-esign-document-controls`,children:$})}),(0,t.jsx)(`div`,{ref:B,className:`superdoc-esign-document-viewer`,"data-testid":`superdoc-scroll-container`,style:{height:w,overflow:`auto`}})]}),(0,t.jsxs)(`div`,{className:`superdoc-esign-controls`,"data-testid":`superdoc-esign-controls`,children:[d.signer&&d.signer.length>0&&(0,t.jsx)(`div`,{className:`superdoc-esign-fields`,"data-testid":`superdoc-esign-fields`,children:d.signer.map(te)}),ae]})]})});s.displayName=`SuperDocESign`;var c=s;exports.CheckboxInput=i,exports.SignatureInput=r,exports.default=c,exports.textToImageDataUrl=n;
|
package/dist/index.mjs
CHANGED
|
@@ -1,369 +1,396 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
},
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
children: [
|
|
89
|
-
i && /* @__PURE__ */ d("span", { className: "superdoc-esign-spinner superdoc-esign-spinner--light" }),
|
|
90
|
-
i ? "Submitting..." : m
|
|
91
|
-
]
|
|
92
|
-
}
|
|
93
|
-
);
|
|
94
|
-
}, De = ve((u, l) => {
|
|
95
|
-
const {
|
|
96
|
-
eventId: s,
|
|
97
|
-
document: o,
|
|
98
|
-
fields: r = {},
|
|
99
|
-
download: i,
|
|
100
|
-
submit: m,
|
|
101
|
-
onSubmit: p,
|
|
102
|
-
onDownload: k,
|
|
103
|
-
onStateChange: V,
|
|
104
|
-
onFieldChange: _,
|
|
105
|
-
onFieldsDiscovered: z,
|
|
106
|
-
isDisabled: f = !1,
|
|
107
|
-
className: te,
|
|
108
|
-
style: ne,
|
|
109
|
-
documentHeight: oe = "600px"
|
|
110
|
-
} = u, [w, U] = y(!o.validation?.scroll?.required), [g, $] = y(/* @__PURE__ */ new Map()), [x, H] = y(!1), [h, j] = y(!1), [q, P] = y(!1), [W, L] = y([]), [K, re] = y(!1), F = C(null), I = C(null), se = C(Date.now()), S = C(r), N = C([]), X = C(z);
|
|
111
|
-
S.current = r, X.current = z, A(() => {
|
|
112
|
-
N.current = W;
|
|
113
|
-
}, [W]);
|
|
114
|
-
const v = D((e) => {
|
|
115
|
-
if (!I.current?.activeEditor) return;
|
|
116
|
-
const t = I.current.activeEditor, a = S.current.signer?.find((n) => n.id === e.id);
|
|
117
|
-
if (e.type === "table" && Array.isArray(e.value)) {
|
|
118
|
-
const E = t.helpers?.structuredContentCommands?.getStructuredContentTablesById?.(e.id, t.state) || [];
|
|
119
|
-
if (E.length) {
|
|
120
|
-
const { node: B, pos: me } = E[0], Q = B.childCount;
|
|
121
|
-
if (Q > 1) {
|
|
122
|
-
let R = t.state.tr;
|
|
123
|
-
for (let M = Q - 1; M >= 1; M--) {
|
|
124
|
-
let Z = 1;
|
|
125
|
-
for (let O = 0; O < M; O++)
|
|
126
|
-
Z += B.child(O).nodeSize;
|
|
127
|
-
const fe = B.child(M), ee = me + Z, he = ee + fe.nodeSize;
|
|
128
|
-
R = R.delete(R.mapping.map(ee), R.mapping.map(he));
|
|
129
|
-
}
|
|
130
|
-
t.view?.dispatch(R);
|
|
131
|
-
}
|
|
132
|
-
t.commands?.appendRowsToStructuredContentTable?.({
|
|
133
|
-
id: e.id,
|
|
134
|
-
rows: e.value,
|
|
135
|
-
copyRowStyle: !0
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
let c;
|
|
141
|
-
a?.type === "signature" && e.value ? c = {
|
|
142
|
-
json: {
|
|
143
|
-
type: "image",
|
|
144
|
-
attrs: { src: typeof e.value == "string" && e.value.startsWith("data:image/") ? e.value : be(String(e.value)), alt: "Signature" }
|
|
145
|
-
}
|
|
146
|
-
} : c = { text: String(e.value ?? "") }, e.id && t.commands?.updateStructuredContentById?.(e.id, c);
|
|
147
|
-
}, []), Y = D(
|
|
148
|
-
(e) => {
|
|
149
|
-
if (!e) return;
|
|
150
|
-
const t = e.helpers.structuredContentCommands.getStructuredContentTags(e.state), a = /* @__PURE__ */ new Map();
|
|
151
|
-
S.current.document?.forEach((n) => {
|
|
152
|
-
n.id && a.set(n.id, n.value);
|
|
153
|
-
}), S.current.signer?.forEach((n) => {
|
|
154
|
-
n.value !== void 0 && a.set(n.id, n.value);
|
|
155
|
-
});
|
|
156
|
-
const c = t.map(({ node: n }) => ({
|
|
157
|
-
id: n.attrs.id,
|
|
158
|
-
label: n.attrs.label,
|
|
159
|
-
value: a.get(n.attrs.id) ?? n.textContent ?? ""
|
|
160
|
-
})).filter((n) => n.id);
|
|
161
|
-
c.length > 0 && (X.current?.(c), (S.current.document || []).filter((n) => n.value !== void 0).forEach(
|
|
162
|
-
(n) => v({
|
|
163
|
-
id: n.id,
|
|
164
|
-
value: n.value,
|
|
165
|
-
type: n.type
|
|
166
|
-
})
|
|
167
|
-
), (S.current.signer || []).filter((n) => n.value !== void 0).forEach(
|
|
168
|
-
(n) => v({
|
|
169
|
-
id: n.id,
|
|
170
|
-
value: n.value
|
|
171
|
-
})
|
|
172
|
-
));
|
|
173
|
-
},
|
|
174
|
-
[v]
|
|
175
|
-
), T = (e) => {
|
|
176
|
-
const t = {
|
|
177
|
-
...e,
|
|
178
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
179
|
-
}, a = globalThis?.__SUPERDOC_AUDIT_MOCK__;
|
|
180
|
-
a && a(t);
|
|
181
|
-
const c = [...N.current, t];
|
|
182
|
-
return N.current = c, L(c), c;
|
|
183
|
-
};
|
|
184
|
-
A(() => {
|
|
185
|
-
if (!F.current) return;
|
|
186
|
-
let e = !1, t = null;
|
|
187
|
-
return (async () => {
|
|
188
|
-
const { SuperDoc: c } = await import("superdoc");
|
|
189
|
-
e || (t = new c({
|
|
190
|
-
selector: F.current,
|
|
191
|
-
document: o.source,
|
|
192
|
-
documentMode: "viewing",
|
|
193
|
-
modules: {
|
|
194
|
-
comments: !1
|
|
195
|
-
},
|
|
196
|
-
viewOptions: {
|
|
197
|
-
layout: o.viewOptions?.layout ?? (o.layoutMode === "responsive" ? "web" : "print")
|
|
198
|
-
},
|
|
199
|
-
onReady: () => {
|
|
200
|
-
e || (t?.activeEditor && Y(t.activeEditor), T({ type: "ready" }), re(!0));
|
|
201
|
-
}
|
|
202
|
-
}), I.current = t);
|
|
203
|
-
})(), () => {
|
|
204
|
-
e = !0, t && typeof t.destroy == "function" && t.destroy(), I.current = null;
|
|
205
|
-
};
|
|
206
|
-
}, [o.source, o.mode, o.layoutMode, o.viewOptions?.layout, Y]), A(() => {
|
|
207
|
-
if (!o.validation?.scroll?.required || !K) return;
|
|
208
|
-
const e = F.current;
|
|
209
|
-
if (!e) return;
|
|
210
|
-
const t = () => {
|
|
211
|
-
const { scrollTop: a, scrollHeight: c, clientHeight: n } = e, E = a / (c - n);
|
|
212
|
-
(E >= 0.95 || c <= n) && (U(!0), T({
|
|
213
|
-
type: "scroll",
|
|
214
|
-
data: { percent: Math.round(E * 100) }
|
|
215
|
-
}));
|
|
216
|
-
};
|
|
217
|
-
return e.addEventListener("scroll", t), t(), () => e.removeEventListener("scroll", t);
|
|
218
|
-
}, [o.validation?.scroll?.required, K]);
|
|
219
|
-
const ie = D(
|
|
220
|
-
(e, t) => {
|
|
221
|
-
$((a) => {
|
|
222
|
-
const c = a.get(e), n = new Map(a);
|
|
223
|
-
return n.set(e, t), v({
|
|
224
|
-
id: e,
|
|
225
|
-
value: t
|
|
226
|
-
}), T({
|
|
227
|
-
type: "field_change",
|
|
228
|
-
data: { fieldId: e, value: t, previousValue: c }
|
|
229
|
-
}), _?.({
|
|
230
|
-
id: e,
|
|
231
|
-
value: t,
|
|
232
|
-
previousValue: c
|
|
233
|
-
}), n;
|
|
234
|
-
});
|
|
235
|
-
},
|
|
236
|
-
[_, v]
|
|
237
|
-
), G = D(() => o.validation?.scroll?.required && !w ? !1 : (r.signer || []).every((e) => {
|
|
238
|
-
if (!e.validation?.required) return !0;
|
|
239
|
-
const t = g.get(e.id);
|
|
240
|
-
return t && (typeof t != "string" || t.trim());
|
|
241
|
-
}), [w, r.signer, g, o.validation?.scroll?.required]);
|
|
242
|
-
A(() => {
|
|
243
|
-
const e = G();
|
|
244
|
-
H(e), V?.({
|
|
245
|
-
scrolled: w,
|
|
246
|
-
fields: g,
|
|
247
|
-
isValid: e,
|
|
248
|
-
isSubmitting: h
|
|
249
|
-
});
|
|
250
|
-
}, [w, g, h, G, V]);
|
|
251
|
-
const ae = D(async () => {
|
|
252
|
-
if (f || q) return;
|
|
253
|
-
P(!0);
|
|
254
|
-
const e = {
|
|
255
|
-
eventId: s,
|
|
256
|
-
documentSource: o.source,
|
|
257
|
-
fields: {
|
|
258
|
-
document: r.document || [],
|
|
259
|
-
signer: (r.signer || []).map((t) => ({
|
|
260
|
-
id: t.id,
|
|
261
|
-
value: g.get(t.id) ?? null
|
|
262
|
-
}))
|
|
263
|
-
},
|
|
264
|
-
fileName: i?.fileName || "document.pdf"
|
|
265
|
-
};
|
|
266
|
-
try {
|
|
267
|
-
await k?.(e);
|
|
268
|
-
} finally {
|
|
269
|
-
P(!1);
|
|
270
|
-
}
|
|
271
|
-
}, [f, q, s, o.source, r, g, i, k]), ce = D(async () => {
|
|
272
|
-
if (!x || f || h) return;
|
|
273
|
-
j(!0), T({ type: "submit" });
|
|
274
|
-
const e = T({ type: "submit" }), t = {
|
|
275
|
-
eventId: s,
|
|
276
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
277
|
-
duration: Math.floor((Date.now() - se.current) / 1e3),
|
|
278
|
-
auditTrail: e,
|
|
279
|
-
documentFields: r.document || [],
|
|
280
|
-
signerFields: (r.signer || []).map((a) => ({
|
|
281
|
-
id: a.id,
|
|
282
|
-
value: g.get(a.id) ?? null
|
|
283
|
-
})),
|
|
284
|
-
isFullyCompleted: x
|
|
285
|
-
};
|
|
286
|
-
try {
|
|
287
|
-
await p(t);
|
|
288
|
-
} finally {
|
|
289
|
-
j(!1);
|
|
290
|
-
}
|
|
291
|
-
}, [x, f, h, s, r, g, p]), le = (e) => {
|
|
292
|
-
const t = e.component || de(e.type);
|
|
293
|
-
return /* @__PURE__ */ d(
|
|
294
|
-
t,
|
|
295
|
-
{
|
|
296
|
-
value: g.get(e.id) ?? null,
|
|
297
|
-
onChange: (a) => ie(e.id, a),
|
|
298
|
-
isDisabled: f,
|
|
299
|
-
label: e.label
|
|
300
|
-
},
|
|
301
|
-
e.id
|
|
302
|
-
);
|
|
303
|
-
}, de = (e) => {
|
|
304
|
-
switch (e) {
|
|
305
|
-
case "signature":
|
|
306
|
-
case "text":
|
|
307
|
-
return we;
|
|
308
|
-
case "checkbox":
|
|
309
|
-
return xe;
|
|
310
|
-
}
|
|
311
|
-
}, ue = () => {
|
|
312
|
-
const e = i?.component || Se(i);
|
|
313
|
-
return e ? /* @__PURE__ */ d(
|
|
314
|
-
e,
|
|
315
|
-
{
|
|
316
|
-
onClick: ae,
|
|
317
|
-
fileName: i?.fileName,
|
|
318
|
-
isDisabled: f,
|
|
319
|
-
isDownloading: q
|
|
320
|
-
}
|
|
321
|
-
) : null;
|
|
322
|
-
}, pe = () => {
|
|
323
|
-
if (o.mode === "download")
|
|
324
|
-
return null;
|
|
325
|
-
const e = m?.component || Ce(m);
|
|
326
|
-
return /* @__PURE__ */ d("div", { className: "superdoc-esign-actions superdoc-esign-form-actions", children: /* @__PURE__ */ d(e, { onClick: ce, isValid: x, isDisabled: f, isSubmitting: h }) });
|
|
327
|
-
}, J = ue(), ge = pe();
|
|
328
|
-
return ye(
|
|
329
|
-
l,
|
|
330
|
-
() => ({
|
|
331
|
-
getState: () => ({
|
|
332
|
-
scrolled: w,
|
|
333
|
-
fields: g,
|
|
334
|
-
isValid: x,
|
|
335
|
-
isSubmitting: h
|
|
336
|
-
}),
|
|
337
|
-
getAuditTrail: () => N.current,
|
|
338
|
-
reset: () => {
|
|
339
|
-
U(!o.validation?.scroll?.required), $(/* @__PURE__ */ new Map()), H(!1), N.current = [], L([]);
|
|
340
|
-
},
|
|
341
|
-
updateFieldInDocument: v
|
|
342
|
-
}),
|
|
343
|
-
[w, g, x, h, o.validation?.scroll?.required, v]
|
|
344
|
-
), /* @__PURE__ */ b("div", { className: `superdoc-esign-container ${te || ""}`, style: ne, children: [
|
|
345
|
-
/* @__PURE__ */ b("div", { className: "superdoc-esign-document", "data-testid": "superdoc-esign-document", children: [
|
|
346
|
-
J && /* @__PURE__ */ d("div", { className: "superdoc-esign-document-toolbar", children: /* @__PURE__ */ d("div", { className: "superdoc-esign-document-controls", children: J }) }),
|
|
347
|
-
/* @__PURE__ */ d(
|
|
348
|
-
"div",
|
|
349
|
-
{
|
|
350
|
-
ref: F,
|
|
351
|
-
className: "superdoc-esign-document-viewer",
|
|
352
|
-
"data-testid": "superdoc-scroll-container",
|
|
353
|
-
style: { height: oe, overflow: "auto" }
|
|
354
|
-
}
|
|
355
|
-
)
|
|
356
|
-
] }),
|
|
357
|
-
/* @__PURE__ */ b("div", { className: "superdoc-esign-controls", "data-testid": "superdoc-esign-controls", children: [
|
|
358
|
-
r.signer && r.signer.length > 0 && /* @__PURE__ */ d("div", { className: "superdoc-esign-fields", "data-testid": "superdoc-esign-fields", children: r.signer.map(le) }),
|
|
359
|
-
ge
|
|
360
|
-
] })
|
|
361
|
-
] });
|
|
362
|
-
});
|
|
363
|
-
De.displayName = "SuperDocESign";
|
|
364
|
-
export {
|
|
365
|
-
xe as CheckboxInput,
|
|
366
|
-
we as SignatureInput,
|
|
367
|
-
De as default,
|
|
368
|
-
be as textToImageDataUrl
|
|
1
|
+
import { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
const textToImageDataUrl = (e) => {
|
|
4
|
+
let t = globalThis.document.createElement("canvas"), n = t.getContext("2d");
|
|
5
|
+
n.font = "italic 30px cursive";
|
|
6
|
+
let r = n.measureText(e).width;
|
|
7
|
+
return t.width = Math.ceil(r + 8) + 20, t.height = 51, n.font = "italic 30px cursive", n.fillStyle = "black", n.textAlign = "center", n.textBaseline = "middle", n.fillText(e, t.width / 2, t.height / 2), t.toDataURL("image/png");
|
|
8
|
+
}, SignatureInput = ({ value: e, onChange: t, isDisabled: n, label: r }) => /* @__PURE__ */ jsxs("div", {
|
|
9
|
+
className: "superdoc-esign-signature-input",
|
|
10
|
+
style: {
|
|
11
|
+
display: "flex",
|
|
12
|
+
flexDirection: "column",
|
|
13
|
+
gap: "8px"
|
|
14
|
+
},
|
|
15
|
+
children: [r && /* @__PURE__ */ jsx("label", { children: r }), /* @__PURE__ */ jsx("input", {
|
|
16
|
+
type: "text",
|
|
17
|
+
value: String(e || ""),
|
|
18
|
+
onChange: (e) => t(e.target.value),
|
|
19
|
+
disabled: n,
|
|
20
|
+
placeholder: "Type your full name",
|
|
21
|
+
style: {
|
|
22
|
+
fontFamily: "cursive",
|
|
23
|
+
fontSize: "18px"
|
|
24
|
+
}
|
|
25
|
+
})]
|
|
26
|
+
}), CheckboxInput = ({ value: e, onChange: t, isDisabled: n, label: r }) => /* @__PURE__ */ jsxs("label", {
|
|
27
|
+
className: "superdoc-esign-checkbox-input",
|
|
28
|
+
style: {
|
|
29
|
+
display: "flex",
|
|
30
|
+
gap: "8px"
|
|
31
|
+
},
|
|
32
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
33
|
+
type: "checkbox",
|
|
34
|
+
checked: !!e,
|
|
35
|
+
onChange: (e) => t(e.target.checked),
|
|
36
|
+
disabled: n
|
|
37
|
+
}), /* @__PURE__ */ jsx("span", { children: r })]
|
|
38
|
+
}), createDownloadButton = (e) => ({ onClick: t, fileName: n, isDisabled: r, isDownloading: i }) => {
|
|
39
|
+
let a = e?.label || "Download", o = r || i;
|
|
40
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
41
|
+
onClick: t,
|
|
42
|
+
disabled: o,
|
|
43
|
+
className: `superdoc-esign-btn superdoc-esign-btn--download${i ? " superdoc-esign-btn--loading" : ""}`,
|
|
44
|
+
style: {
|
|
45
|
+
padding: "8px 16px",
|
|
46
|
+
borderRadius: "6px",
|
|
47
|
+
border: "1px solid #d0d5dd",
|
|
48
|
+
background: "#ffffff",
|
|
49
|
+
color: "#333",
|
|
50
|
+
cursor: o ? "not-allowed" : "pointer",
|
|
51
|
+
opacity: o ? .7 : 1,
|
|
52
|
+
fontSize: "16px",
|
|
53
|
+
fontWeight: "bold",
|
|
54
|
+
display: "inline-flex",
|
|
55
|
+
alignItems: "center",
|
|
56
|
+
gap: "8px",
|
|
57
|
+
transition: "opacity 0.2s ease"
|
|
58
|
+
},
|
|
59
|
+
children: [
|
|
60
|
+
i && /* @__PURE__ */ jsx("span", { className: "superdoc-esign-spinner" }),
|
|
61
|
+
i ? "Downloading..." : a,
|
|
62
|
+
!i && n && ` (${n})`
|
|
63
|
+
]
|
|
64
|
+
});
|
|
65
|
+
}, createSubmitButton = (e) => ({ onClick: t, isValid: n, isDisabled: r, isSubmitting: i }) => {
|
|
66
|
+
let a = e?.label || "Submit", o = !n || r || i;
|
|
67
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
68
|
+
onClick: t,
|
|
69
|
+
disabled: o,
|
|
70
|
+
className: `superdoc-esign-btn superdoc-esign-btn--submit${i ? " superdoc-esign-btn--loading" : ""}`,
|
|
71
|
+
style: {
|
|
72
|
+
padding: "12px 24px",
|
|
73
|
+
borderRadius: "6px",
|
|
74
|
+
border: "none",
|
|
75
|
+
background: "#007bff",
|
|
76
|
+
color: "#fff",
|
|
77
|
+
cursor: o ? "not-allowed" : "pointer",
|
|
78
|
+
opacity: o && !i ? .5 : 1,
|
|
79
|
+
fontSize: "16px",
|
|
80
|
+
fontWeight: "bold",
|
|
81
|
+
display: "inline-flex",
|
|
82
|
+
alignItems: "center",
|
|
83
|
+
gap: "8px",
|
|
84
|
+
transition: "opacity 0.2s ease"
|
|
85
|
+
},
|
|
86
|
+
children: [i && /* @__PURE__ */ jsx("span", { className: "superdoc-esign-spinner superdoc-esign-spinner--light" }), i ? "Submitting..." : a]
|
|
87
|
+
});
|
|
369
88
|
};
|
|
89
|
+
var SuperDocESign = forwardRef((e, c) => {
|
|
90
|
+
let { eventId: l, document: u, fields: d = {}, download: f, submit: p, onSubmit: m, onDownload: h, onStateChange: g, onFieldChange: _, onFieldsDiscovered: v, telemetry: y, licenseKey: b, isDisabled: x = !1, className: S, style: C, documentHeight: oe = "600px", pdf: w } = e, [T, E] = useState(!u.validation?.scroll?.required), [D, O] = useState(/* @__PURE__ */ new Map()), [k, A] = useState(!1), [j, M] = useState(!1), [N, P] = useState(!1), [F, I] = useState([]), [L, R] = useState(!1), z = useRef(null), B = useRef(null), V = useRef(Date.now()), H = useRef(d), U = useRef([]), W = useRef(v);
|
|
91
|
+
H.current = d, W.current = v, useEffect(() => {
|
|
92
|
+
U.current = F;
|
|
93
|
+
}, [F]);
|
|
94
|
+
let G = useCallback((e) => {
|
|
95
|
+
if (!B.current?.activeEditor) return;
|
|
96
|
+
let t = B.current.activeEditor, n = H.current.signer?.find((t) => t.id === e.id);
|
|
97
|
+
if (e.type === "table" && Array.isArray(e.value)) {
|
|
98
|
+
let n = (t.helpers?.structuredContentCommands)?.getStructuredContentTablesById?.(e.id, t.state) || [];
|
|
99
|
+
if (n.length) {
|
|
100
|
+
let { node: r, pos: i } = n[0], a = r.childCount;
|
|
101
|
+
if (a > 1) {
|
|
102
|
+
let e = t.state.tr;
|
|
103
|
+
for (let t = a - 1; t >= 1; t--) {
|
|
104
|
+
let n = 1;
|
|
105
|
+
for (let e = 0; e < t; e++) n += r.child(e).nodeSize;
|
|
106
|
+
let a = r.child(t), o = i + n, s = o + a.nodeSize;
|
|
107
|
+
e = e.delete(e.mapping.map(o), e.mapping.map(s));
|
|
108
|
+
}
|
|
109
|
+
t.view?.dispatch(e);
|
|
110
|
+
}
|
|
111
|
+
t.commands?.appendRowsToStructuredContentTable?.({
|
|
112
|
+
id: e.id,
|
|
113
|
+
rows: e.value,
|
|
114
|
+
copyRowStyle: !0
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
let r;
|
|
120
|
+
r = n?.type === "signature" && e.value ? { json: {
|
|
121
|
+
type: "image",
|
|
122
|
+
attrs: {
|
|
123
|
+
src: typeof e.value == "string" && e.value.startsWith("data:image/") ? e.value : textToImageDataUrl(String(e.value)),
|
|
124
|
+
alt: "Signature"
|
|
125
|
+
}
|
|
126
|
+
} } : { text: String(e.value ?? "") }, e.id && t.commands?.updateStructuredContentById?.(e.id, r);
|
|
127
|
+
}, []), K = useCallback((e) => {
|
|
128
|
+
if (!e) return;
|
|
129
|
+
let t = e.helpers.structuredContentCommands.getStructuredContentTags(e.state), n = /* @__PURE__ */ new Map();
|
|
130
|
+
H.current.document?.forEach((e) => {
|
|
131
|
+
e.id && n.set(e.id, e.value);
|
|
132
|
+
}), H.current.signer?.forEach((e) => {
|
|
133
|
+
e.value !== void 0 && n.set(e.id, e.value);
|
|
134
|
+
});
|
|
135
|
+
let r = t.map(({ node: e }) => ({
|
|
136
|
+
id: e.attrs.id,
|
|
137
|
+
label: e.attrs.label,
|
|
138
|
+
value: n.get(e.attrs.id) ?? e.textContent ?? ""
|
|
139
|
+
})).filter((e) => e.id);
|
|
140
|
+
r.length > 0 && (W.current?.(r), (H.current.document || []).filter((e) => e.value !== void 0).forEach((e) => G({
|
|
141
|
+
id: e.id,
|
|
142
|
+
value: e.value,
|
|
143
|
+
type: e.type
|
|
144
|
+
})), (H.current.signer || []).filter((e) => e.value !== void 0).forEach((e) => G({
|
|
145
|
+
id: e.id,
|
|
146
|
+
value: e.value
|
|
147
|
+
})));
|
|
148
|
+
}, [G]), q = (e) => {
|
|
149
|
+
let t = {
|
|
150
|
+
...e,
|
|
151
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
152
|
+
}, n = globalThis?.__SUPERDOC_AUDIT_MOCK__;
|
|
153
|
+
n && n(t);
|
|
154
|
+
let r = [...U.current, t];
|
|
155
|
+
return U.current = r, I(r), r;
|
|
156
|
+
}, J = useMemo(() => ({
|
|
157
|
+
enabled: y?.enabled ?? !0,
|
|
158
|
+
metadata: {
|
|
159
|
+
source: "esign",
|
|
160
|
+
...y?.metadata
|
|
161
|
+
}
|
|
162
|
+
}), [y?.enabled, JSON.stringify(y?.metadata)]);
|
|
163
|
+
useEffect(() => {
|
|
164
|
+
if (!z.current) return;
|
|
165
|
+
let e = !1, t = null;
|
|
166
|
+
return (async () => {
|
|
167
|
+
let { SuperDoc: n } = await import("superdoc");
|
|
168
|
+
e || (t = new n({
|
|
169
|
+
selector: z.current,
|
|
170
|
+
document: w && typeof u.source == "string" ? {
|
|
171
|
+
url: u.source,
|
|
172
|
+
type: "pdf"
|
|
173
|
+
} : u.source,
|
|
174
|
+
documentMode: "viewing",
|
|
175
|
+
modules: {
|
|
176
|
+
comments: !1,
|
|
177
|
+
...w ? { pdf: w } : {}
|
|
178
|
+
},
|
|
179
|
+
viewOptions: { layout: u.viewOptions?.layout ?? (u.layoutMode === "responsive" ? "web" : "print") },
|
|
180
|
+
telemetry: J,
|
|
181
|
+
...b && { licenseKey: b },
|
|
182
|
+
onReady: () => {
|
|
183
|
+
e || (t?.activeEditor && K(t.activeEditor), q({ type: "ready" }), R(!0));
|
|
184
|
+
},
|
|
185
|
+
onPdfDocumentReady: () => {
|
|
186
|
+
e || (q({ type: "ready" }), R(!0));
|
|
187
|
+
}
|
|
188
|
+
}), B.current = t);
|
|
189
|
+
})(), () => {
|
|
190
|
+
e = !0, t && typeof t.destroy == "function" && t.destroy(), B.current = null;
|
|
191
|
+
};
|
|
192
|
+
}, [
|
|
193
|
+
u.source,
|
|
194
|
+
u.mode,
|
|
195
|
+
u.layoutMode,
|
|
196
|
+
u.viewOptions?.layout,
|
|
197
|
+
w,
|
|
198
|
+
K,
|
|
199
|
+
J,
|
|
200
|
+
b
|
|
201
|
+
]), useEffect(() => {
|
|
202
|
+
if (!u.validation?.scroll?.required || !L) return;
|
|
203
|
+
let e = z.current;
|
|
204
|
+
if (!e) return;
|
|
205
|
+
let t = () => {
|
|
206
|
+
let { scrollTop: t, scrollHeight: n, clientHeight: r } = e, i = t / (n - r);
|
|
207
|
+
(i >= .95 || n <= r) && (E(!0), q({
|
|
208
|
+
type: "scroll",
|
|
209
|
+
data: { percent: Math.round(i * 100) }
|
|
210
|
+
}));
|
|
211
|
+
};
|
|
212
|
+
return e.addEventListener("scroll", t), t(), () => e.removeEventListener("scroll", t);
|
|
213
|
+
}, [u.validation?.scroll?.required, L]);
|
|
214
|
+
let Y = useCallback((e, t) => {
|
|
215
|
+
O((n) => {
|
|
216
|
+
let r = n.get(e), i = new Map(n);
|
|
217
|
+
return i.set(e, t), G({
|
|
218
|
+
id: e,
|
|
219
|
+
value: t
|
|
220
|
+
}), q({
|
|
221
|
+
type: "field_change",
|
|
222
|
+
data: {
|
|
223
|
+
fieldId: e,
|
|
224
|
+
value: t,
|
|
225
|
+
previousValue: r
|
|
226
|
+
}
|
|
227
|
+
}), _?.({
|
|
228
|
+
id: e,
|
|
229
|
+
value: t,
|
|
230
|
+
previousValue: r
|
|
231
|
+
}), i;
|
|
232
|
+
});
|
|
233
|
+
}, [_, G]), X = useCallback(() => u.validation?.scroll?.required && !T ? !1 : (d.signer || []).every((e) => {
|
|
234
|
+
if (!e.validation?.required) return !0;
|
|
235
|
+
let t = D.get(e.id);
|
|
236
|
+
return t && (typeof t != "string" || t.trim());
|
|
237
|
+
}), [
|
|
238
|
+
T,
|
|
239
|
+
d.signer,
|
|
240
|
+
D,
|
|
241
|
+
u.validation?.scroll?.required
|
|
242
|
+
]);
|
|
243
|
+
useEffect(() => {
|
|
244
|
+
let e = X();
|
|
245
|
+
A(e), g?.({
|
|
246
|
+
scrolled: T,
|
|
247
|
+
fields: D,
|
|
248
|
+
isValid: e,
|
|
249
|
+
isSubmitting: j
|
|
250
|
+
});
|
|
251
|
+
}, [
|
|
252
|
+
T,
|
|
253
|
+
D,
|
|
254
|
+
j,
|
|
255
|
+
X,
|
|
256
|
+
g
|
|
257
|
+
]);
|
|
258
|
+
let Z = useCallback(async () => {
|
|
259
|
+
if (x || N) return;
|
|
260
|
+
P(!0);
|
|
261
|
+
let e = {
|
|
262
|
+
eventId: l,
|
|
263
|
+
documentSource: u.source,
|
|
264
|
+
fields: {
|
|
265
|
+
document: d.document || [],
|
|
266
|
+
signer: (d.signer || []).map((e) => ({
|
|
267
|
+
id: e.id,
|
|
268
|
+
value: D.get(e.id) ?? null
|
|
269
|
+
}))
|
|
270
|
+
},
|
|
271
|
+
fileName: f?.fileName || "document.pdf"
|
|
272
|
+
};
|
|
273
|
+
try {
|
|
274
|
+
await h?.(e);
|
|
275
|
+
} finally {
|
|
276
|
+
P(!1);
|
|
277
|
+
}
|
|
278
|
+
}, [
|
|
279
|
+
x,
|
|
280
|
+
N,
|
|
281
|
+
l,
|
|
282
|
+
u.source,
|
|
283
|
+
d,
|
|
284
|
+
D,
|
|
285
|
+
f,
|
|
286
|
+
h
|
|
287
|
+
]), Q = useCallback(async () => {
|
|
288
|
+
if (!k || x || j) return;
|
|
289
|
+
M(!0), q({ type: "submit" });
|
|
290
|
+
let e = q({ type: "submit" }), t = {
|
|
291
|
+
eventId: l,
|
|
292
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
293
|
+
duration: Math.floor((Date.now() - V.current) / 1e3),
|
|
294
|
+
auditTrail: e,
|
|
295
|
+
documentFields: d.document || [],
|
|
296
|
+
signerFields: (d.signer || []).map((e) => ({
|
|
297
|
+
id: e.id,
|
|
298
|
+
value: D.get(e.id) ?? null
|
|
299
|
+
})),
|
|
300
|
+
isFullyCompleted: k
|
|
301
|
+
};
|
|
302
|
+
try {
|
|
303
|
+
await m(t);
|
|
304
|
+
} finally {
|
|
305
|
+
M(!1);
|
|
306
|
+
}
|
|
307
|
+
}, [
|
|
308
|
+
k,
|
|
309
|
+
x,
|
|
310
|
+
j,
|
|
311
|
+
l,
|
|
312
|
+
d,
|
|
313
|
+
D,
|
|
314
|
+
m
|
|
315
|
+
]), se = (e) => /* @__PURE__ */ jsx(e.component || ce(e.type), {
|
|
316
|
+
value: D.get(e.id) ?? null,
|
|
317
|
+
onChange: (t) => Y(e.id, t),
|
|
318
|
+
isDisabled: x,
|
|
319
|
+
label: e.label
|
|
320
|
+
}, e.id), ce = (e) => {
|
|
321
|
+
switch (e) {
|
|
322
|
+
case "signature":
|
|
323
|
+
case "text": return SignatureInput;
|
|
324
|
+
case "checkbox": return CheckboxInput;
|
|
325
|
+
}
|
|
326
|
+
}, le = () => {
|
|
327
|
+
let e = f?.component || createDownloadButton(f);
|
|
328
|
+
return e ? /* @__PURE__ */ jsx(e, {
|
|
329
|
+
onClick: Z,
|
|
330
|
+
fileName: f?.fileName,
|
|
331
|
+
isDisabled: x,
|
|
332
|
+
isDownloading: N
|
|
333
|
+
}) : null;
|
|
334
|
+
}, ue = () => u.mode === "download" ? null : /* @__PURE__ */ jsx("div", {
|
|
335
|
+
className: "superdoc-esign-actions superdoc-esign-form-actions",
|
|
336
|
+
children: /* @__PURE__ */ jsx(p?.component || createSubmitButton(p), {
|
|
337
|
+
onClick: Q,
|
|
338
|
+
isValid: k,
|
|
339
|
+
isDisabled: x,
|
|
340
|
+
isSubmitting: j
|
|
341
|
+
})
|
|
342
|
+
}), $ = le(), de = ue();
|
|
343
|
+
return useImperativeHandle(c, () => ({
|
|
344
|
+
getState: () => ({
|
|
345
|
+
scrolled: T,
|
|
346
|
+
fields: D,
|
|
347
|
+
isValid: k,
|
|
348
|
+
isSubmitting: j
|
|
349
|
+
}),
|
|
350
|
+
getAuditTrail: () => U.current,
|
|
351
|
+
reset: () => {
|
|
352
|
+
E(!u.validation?.scroll?.required), O(/* @__PURE__ */ new Map()), A(!1), U.current = [], I([]);
|
|
353
|
+
},
|
|
354
|
+
updateFieldInDocument: G
|
|
355
|
+
}), [
|
|
356
|
+
T,
|
|
357
|
+
D,
|
|
358
|
+
k,
|
|
359
|
+
j,
|
|
360
|
+
u.validation?.scroll?.required,
|
|
361
|
+
G
|
|
362
|
+
]), /* @__PURE__ */ jsxs("div", {
|
|
363
|
+
className: `superdoc-esign-container ${S || ""}`,
|
|
364
|
+
style: C,
|
|
365
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
366
|
+
className: "superdoc-esign-document",
|
|
367
|
+
"data-testid": "superdoc-esign-document",
|
|
368
|
+
children: [$ && /* @__PURE__ */ jsx("div", {
|
|
369
|
+
className: "superdoc-esign-document-toolbar",
|
|
370
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
371
|
+
className: "superdoc-esign-document-controls",
|
|
372
|
+
children: $
|
|
373
|
+
})
|
|
374
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
375
|
+
ref: z,
|
|
376
|
+
className: "superdoc-esign-document-viewer",
|
|
377
|
+
"data-testid": "superdoc-scroll-container",
|
|
378
|
+
style: {
|
|
379
|
+
height: oe,
|
|
380
|
+
overflow: "auto"
|
|
381
|
+
}
|
|
382
|
+
})]
|
|
383
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
384
|
+
className: "superdoc-esign-controls",
|
|
385
|
+
"data-testid": "superdoc-esign-controls",
|
|
386
|
+
children: [d.signer && d.signer.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
387
|
+
className: "superdoc-esign-fields",
|
|
388
|
+
"data-testid": "superdoc-esign-fields",
|
|
389
|
+
children: d.signer.map(se)
|
|
390
|
+
}), de]
|
|
391
|
+
})]
|
|
392
|
+
});
|
|
393
|
+
});
|
|
394
|
+
SuperDocESign.displayName = "SuperDocESign";
|
|
395
|
+
var src_default = SuperDocESign;
|
|
396
|
+
export { CheckboxInput, SignatureInput, src_default as default, textToImageDataUrl };
|
package/dist/test/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAQ1C,eAAO,MAAM,gBAAgB,YAE5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAE5E,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAQ1C,eAAO,MAAM,gBAAgB,YAE5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAE5E,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAA+C,CAAC;AA4D/E,eAAO,MAAM,yBAAyB,WAA+B,CAAC;AACtE,eAAO,MAAM,2BAA2B,YAEvC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -45,6 +45,13 @@ export interface SubmitConfig {
|
|
|
45
45
|
label?: string;
|
|
46
46
|
component?: React.ComponentType<SubmitButtonProps>;
|
|
47
47
|
}
|
|
48
|
+
export interface PdfModuleConfig {
|
|
49
|
+
pdfLib: any;
|
|
50
|
+
workerSrc?: string;
|
|
51
|
+
setWorker?: boolean;
|
|
52
|
+
textLayer?: boolean;
|
|
53
|
+
outputScale?: number;
|
|
54
|
+
}
|
|
48
55
|
export interface LayoutMargins {
|
|
49
56
|
top?: number;
|
|
50
57
|
bottom?: number;
|
|
@@ -93,6 +100,14 @@ export interface SuperDocESignProps {
|
|
|
93
100
|
onStateChange?: (state: SigningState) => void;
|
|
94
101
|
onFieldChange?: (field: FieldChange) => void;
|
|
95
102
|
onFieldsDiscovered?: (fields: FieldInfo[]) => void;
|
|
103
|
+
pdf?: PdfModuleConfig;
|
|
104
|
+
/** Telemetry configuration for SuperDoc */
|
|
105
|
+
telemetry?: {
|
|
106
|
+
enabled: boolean;
|
|
107
|
+
metadata?: Record<string, any>;
|
|
108
|
+
};
|
|
109
|
+
/** License key for SuperDoc */
|
|
110
|
+
licenseKey?: string;
|
|
96
111
|
isDisabled?: boolean;
|
|
97
112
|
className?: string;
|
|
98
113
|
style?: React.CSSProperties;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|