@superdoc-dev/esign 2.1.0-next.5 → 2.1.0-next.8

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