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