epochs-pdf 0.1.6 → 0.1.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,27 +1,27 @@
1
- "use strict";var Wi=Object.defineProperty;var Gi=(t,e,n)=>e in t?Wi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Ve=(t,e,n)=>Gi(t,typeof e!="symbol"?e+"":e,n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react"),s=require("react/jsx-runtime"),Wn=require("pdfjs-dist");function Xi(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const me=Xi(Wn),Ne="#ffffff",sn=[{id:"yellow",label:"Yellow",hex:"#facc15"},{id:"green",label:"Green",hex:"#4ade80"},{id:"pink",label:"Pink",hex:"#f472b6"},{id:"blue",label:"Blue",hex:"#60a5fa"},{id:"orange",label:"Orange",hex:"#fb923c"},{id:"purple",label:"Purple",hex:"#c084fc"}],rn=[{id:"blue",label:"Blue",hex:"#2563eb"},{id:"red",label:"Red",hex:"#dc2626"},{id:"green",label:"Green",hex:"#16a34a"},{id:"orange",label:"Orange",hex:"#ea580c"},{id:"purple",label:"Purple",hex:"#7c3aed"},{id:"black",label:"Black",hex:"#111827"}],Gn=sn[0].hex,Vi=rn[0].hex;on(Gn,"highlight");function qe(){return`m_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function ee(t){const e=t.trim();if(/^#[0-9a-fA-F]{6}$/.test(e))return e.toLowerCase();if(/^#[0-9a-fA-F]{3}$/.test(e)){const n=e[1],i=e[2],r=e[3];return`#${n}${n}${i}${i}${r}${r}`.toLowerCase()}return e}function on(t,e,n=.45){const i=ee(t);if(e==="underline"||e==="redact")return i;const r=/^#([0-9a-f]{6})$/i.exec(i);if(!r)return`rgba(250, 204, 21, ${n})`;const o=Number.parseInt(r[1],16),d=o>>16&255,u=o>>8&255,w=o&255;return`rgba(${d}, ${u}, ${w}, ${n})`}function Ye(t,e){const n=window.getSelection();if(!n||n.isCollapsed||n.rangeCount===0)return null;const i=n.getRangeAt(0);if(!t.contains(i.commonAncestorContainer))return null;const r=t.getBoundingClientRect(),o=Array.from(i.getClientRects()).filter(_=>_.width>0&&_.height>0);if(!o.length)return null;const d=e||1,u=t.clientWidth||r.width,w=t.clientHeight||r.height;return{rects:o.map(_=>({x:r.width>0?(_.left-r.left)/r.width*(u/d):0,y:r.height>0?(_.top-r.top)/r.height*(w/d):0,w:r.width>0?_.width/r.width*(u/d):0,h:r.height>0?_.height/r.height*(w/d):0})),text:n.toString()}}function Sn(t){const n=[...t].sort((i,r)=>i.y-r.y||i.x-r.x)[0]??{x:0,y:0,h:14};return{x:n.x,y:n.y,fontSize:Math.max(8,Math.round(n.h*.9)||14)}}function Ke(t,e=2){return t.map(n=>({x:Math.max(0,n.x-e),y:Math.max(0,n.y-e),w:n.w+e*2,h:n.h+e*2}))}function Xn(t,e,n){for(const i of e)for(const r of i.rects){const o=r.x*n,d=r.y*n,u=r.w*n,w=r.h*n;if(i.kind==="highlight")t.save(),t.globalCompositeOperation="multiply",t.fillStyle=i.color,t.fillRect(o,d,u,w),t.restore();else if(i.kind==="redact")t.fillStyle=i.color||Ne,t.fillRect(o,d,u,w);else{const m=Math.max(2,n*1.5);t.fillStyle=i.color,t.fillRect(o,d+w-m,u,m)}}}function Fe(){return`s_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}async function Vn(t,e,n){for(const i of e){const r=await Yi(i.imageDataUrl);t.drawImage(r,i.x*n,i.y*n,i.width*n,i.height*n)}}function qi(t,e,n,i){t.save();for(const r of e){const o=n.has(r.id),d=r.x*i,u=r.y*i,w=r.width*i,m=r.height*i;t.fillStyle=o?"rgba(29, 78, 216, 0.08)":"rgba(29, 78, 216, 0.18)",t.strokeStyle=o?"rgba(29, 78, 216, 0.45)":"#1d4ed8",t.lineWidth=1.5,t.setLineDash(o?[]:[4,3]),t.fillRect(d,u,w,m),t.strokeRect(d,u,w,m)}t.restore()}function Yi(t){return new Promise((e,n)=>{const i=new Image;i.onload=()=>e(i),i.onerror=()=>n(new Error("Failed to load signature image")),i.src=t})}function Ki(t,e,n=180,i=64){if(t<=0||e<=0)return{width:n,height:i};const r=Math.min(n/t,i/e);return{width:Math.max(40,t*r),height:Math.max(20,e*r)}}function Re(t,e,n,i){const r=n.getBoundingClientRect(),o=n.clientWidth||r.width,d=n.clientHeight||r.height;return r.width<=0||r.height<=0||i<=0?{x:0,y:0}:{x:(t-r.left)/r.width*(o/i),y:(e-r.top)/r.height*(d/i)}}function we(t,e){return{width:t.clientWidth/e,height:t.clientHeight/e}}function Zi(t,e,n,i){const r=n.getBoundingClientRect(),o=n.clientWidth||r.width,d=n.clientHeight||r.height;return r.width<=0||r.height<=0||i<=0?{dx:0,dy:0}:{dx:t/r.width*(o/i),dy:e/r.height*(d/i)}}function En(t,e,n){const i=e.getBoundingClientRect(),{width:r,height:o}=we(e,n);return i.width<=0||i.height<=0?{left:0,top:0,right:r,bottom:o}:{left:(t.left-i.left)/i.width*r,top:(t.top-i.top)/i.height*o,right:(t.right-i.left)/i.width*r,bottom:(t.bottom-i.top)/i.height*o}}const ae=14,oe="#111827",Ze=24,Qe=20;function Se(){return`t_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function je(t,e){if(typeof document>"u")return{width:Math.max(Ze,t.length*e*.55),height:Math.max(Qe,e*1.25)};const i=document.createElement("canvas").getContext("2d");if(!i)return{width:Math.max(Ze,t.length*e*.55),height:Math.max(Qe,e*1.25)};i.font=`${e}px sans-serif`;const r=t.split(`
2
- `),o=e*1.25;let d=Ze;for(const u of r)d=Math.max(d,i.measureText(u||" ").width+4);return{width:d,height:Math.max(Qe,r.length*o)}}function Qi(t,e,n,i,r){var Z;const o=n.getBoundingClientRect(),d=n.clientWidth||o.width,u=n.clientHeight||o.height,w=T=>o.width>0?(T-o.left)/o.width*(d/r):0,m=T=>o.height>0?(T-o.top)/o.height*(u/r):0,_=(T,rt)=>{const ot=rt==="x"?o.width:o.height,Y=rt==="x"?d:u;return ot>0?T/ot*(Y/r):0};let y=w(t),b=m(e),k=ae;const C=Ji(t,e,i);if(C)return{x:w(C.x),y:m(C.y),fontSize:Math.max(8,Math.round(_(C.fontSize,"y")*10)/10)};const H=document,A=(Z=H.caretRangeFromPoint)==null?void 0:Z.call(H,t,e);if(A&&i.contains(A.startContainer)){const T=A.getClientRects(),rt=T.length>0?T[0]:A.getBoundingClientRect();if(rt.height>0){b=m(rt.top),k=es(A.startContainer,r,n);const ot=w(rt.left);return Math.abs(ot-y)<_(8,"x")&&(y=ot),{x:y,y:b,fontSize:k}}}const L=ts(t,e,i);return L&&(b=m(L.top),k=Math.max(8,Math.round(_(L.height,"y")*10)/10)),{x:y,y:b,fontSize:k}}function Ji(t,e,n){var o;const i=Array.from(n.querySelectorAll("span"));if(i.length<2)return null;const r=[];for(const d of i){if(!((o=d.textContent)!=null&&o.trim()))continue;const u=d.getBoundingClientRect();u.width<=0||u.height<=0||e<u.top-4||e>u.bottom+4||r.push({left:u.left,right:u.right,top:u.top,bottom:u.bottom,height:u.height})}r.sort((d,u)=>d.left-u.left);for(let d=0;d<r.length-1;d+=1){const u=r[d],w=r[d+1],m=u.right,_=w.left;if(!(_-m<1)&&t>=m-2&&t<=_+2)return{x:t,y:Math.min(u.top,w.top),fontSize:Math.min(u.height,w.height)}}return null}function ts(t,e,n){var o;const i=Array.from(n.querySelectorAll("span"));let r=null;for(const d of i){if(!((o=d.textContent)!=null&&o.trim()))continue;const u=d.getBoundingClientRect();if(u.width<=0||u.height<=0||e<u.top-6||e>u.bottom+6)continue;const w=(u.left+u.right)/2,m=Math.abs(t-w);(!r||m<r.dist)&&(r={top:u.top,height:u.height,dist:m})}return r?{top:r.top,height:r.height}:null}function es(t,e,n){const i=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;return i?ns(i,e,n):ae}function ns(t,e,n){const i=t.getBoundingClientRect().height;if(i>0){if(n){const d=n.getBoundingClientRect(),u=n.clientHeight||d.height;if(d.height>0)return Math.max(8,Math.round(i/d.height*(u/e)*10)/10)}return Math.max(8,Math.round(i/e*10)/10)}const r=window.getComputedStyle(t).fontSize,o=Number.parseFloat(r);return Number.isFinite(o)&&o>0?Math.max(8,Math.round(o/e*10)/10):ae}function is(t,e,n,i){for(const r of n)if(r.pageNumber===i&&t>=r.x&&t<=r.x+r.width&&e>=r.y&&e<=r.y+r.height)return r;return null}function ss(t,e,n){var k;if(!n)return null;const i=document,r=(k=i.caretRangeFromPoint)==null?void 0:k.call(i,t,e);if(!r||!n.contains(r.startContainer))return null;const o=r.startContainer;if(o.nodeType!==Node.TEXT_NODE||!o.textContent)return null;const d=o.textContent;let u=r.startOffset;u=Math.min(Math.max(0,u),d.length);const w=C=>/[\p{L}\p{N}_'-]/u.test(C);let m=u,_=u;for(;m>0&&w(d[m-1]);)m-=1;for(;_<d.length&&w(d[_]);)_+=1;if(m===_)return null;const y=document.createRange();y.setStart(o,m),y.setEnd(o,_);const b=window.getSelection();return b==null||b.removeAllRanges(),b==null||b.addRange(y),d.slice(m,_)}function qn(t,e,n){t.save();for(const i of e){if(!i.value.trim())continue;const r=i.x*n,o=i.y*n,d=Math.max(8,i.fontSize*n);t.fillStyle=i.color,t.font=`${d}px sans-serif`,t.textBaseline="top";const u=d*1.25,w=i.value.split(`
3
- `);let m=o;for(const _ of w)t.fillText(_,r,m),m+=u}t.restore()}function rs(t,e,n,i){t.save();for(const r of e){const o=n.has(r.id),d=r.x*i,u=r.y*i,w=r.width*i,m=r.height*i;t.fillStyle=o?"rgba(5, 150, 105, 0.08)":"rgba(5, 150, 105, 0.16)",t.strokeStyle=o?"rgba(5, 150, 105, 0.45)":"#059669",t.lineWidth=1.5,t.setLineDash(o?[]:[4,3]),t.fillRect(d,u,w,m),t.strokeRect(d,u,w,m)}t.restore()}function Lt({size:t=14,className:e,children:n}){return s.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:n})}function os(t){return s.jsx(Lt,{...t,children:s.jsx("polyline",{points:"15 18 9 12 15 6"})})}function as(t){return s.jsx(Lt,{...t,children:s.jsx("polyline",{points:"9 18 15 12 9 6"})})}function cs(t){return s.jsxs(Lt,{...t,children:[s.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),s.jsx("polyline",{points:"7 10 12 15 17 10"}),s.jsx("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]})}function ls(t){return s.jsxs(Lt,{...t,children:[s.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),s.jsx("polyline",{points:"15 3 21 3 21 9"}),s.jsx("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]})}function ds(t){return s.jsxs(Lt,{...t,children:[s.jsx("rect",{x:"3",y:"3",width:"7",height:"7"}),s.jsx("rect",{x:"14",y:"3",width:"7",height:"7"}),s.jsx("rect",{x:"14",y:"14",width:"7",height:"7"}),s.jsx("rect",{x:"3",y:"14",width:"7",height:"7"})]})}function hs(t){return s.jsx(Lt,{...t,children:s.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})})}function us(t){return s.jsxs(Lt,{...t,children:[s.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),s.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function fs(t){return s.jsxs(Lt,{...t,children:[s.jsx("polyline",{points:"6 9 6 2 18 2 18 9"}),s.jsx("path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"}),s.jsx("rect",{x:"6",y:"14",width:"12",height:"8"})]})}function ps(t){return s.jsxs(Lt,{...t,children:[s.jsx("polyline",{points:"23 4 23 10 17 10"}),s.jsx("polyline",{points:"1 20 1 14 7 14"}),s.jsx("path",{d:"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"})]})}function gs(t){return s.jsxs(Lt,{...t,children:[s.jsx("polyline",{points:"23 4 23 10 17 10"}),s.jsx("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]})}function ms(t){return s.jsxs(Lt,{...t,children:[s.jsx("path",{d:"M12 20h9"}),s.jsx("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]})}function ws(t){return s.jsxs(Lt,{...t,children:[s.jsx("path",{d:"M6 3v7a6 6 0 0 0 12 0V3"}),s.jsx("line",{x1:"4",y1:"21",x2:"20",y2:"21"})]})}function xs(t){return s.jsxs(Lt,{...t,children:[s.jsx("path",{d:"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"}),s.jsx("path",{d:"M22 21H7"}),s.jsx("path",{d:"m5 11 9 9"})]})}function bs({size:t=16,className:e}){return s.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 256 256",fill:"currentColor",stroke:"currentColor",strokeWidth:"12",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:s.jsx("path",{d:"M232,172H57.32c4-7.83,8.18-16.11,12.21-24.56,15.14,3.55,34.13-8.06,56.54-34.59,3.67,12.5,12.53,34.83,29.08,35.15h.35c8.71,0,17.64-6.25,27.16-19.06C187.17,137.14,199.31,148,232,148a4,4,0,0,0,0-8c-42.88,0-44-19.24-44-20a4,4,0,0,0-7.35-2.18C168.74,136.1,160.42,140,155.48,140h-.18c-13-.25-21.29-26.52-23.38-36.61a4,4,0,0,0-7-1.69c-20.94,26.27-39.06,39.55-51.8,38.2C97.31,87.5,105.19,53.16,96.49,37.77,94,33.31,88.7,28,77.91,28,64.09,28,52.54,42.41,47,66.54A122.7,122.7,0,0,0,45.46,113c2.64,15.29,8.39,26.05,16.69,31.35-4.58,9.6-9.3,19-13.84,27.68H24a4,4,0,0,0,0,8H44.1c-12.87,24.17-23.37,41.68-23.53,41.94a4,4,0,0,0,1.37,5.49A3.93,3.93,0,0,0,24,228a4,4,0,0,0,3.43-1.94c.16-.27,11.85-19.75,25.72-46.06H232a4,4,0,0,0,0-8ZM53.34,111.61a114.81,114.81,0,0,1,1.49-43.29C58.4,52.7,66.34,36,77.91,36c7.52,0,10.23,3.26,11.61,5.7C99,58.4,79.92,106,65.6,137,59.76,132.69,55.46,123.83,53.34,111.61Z"})})}function ys(t){return s.jsxs(Lt,{...t,children:[s.jsx("path",{d:"M12 20h9"}),s.jsx("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]})}function _s(t){return s.jsxs(Lt,{...t,children:[s.jsx("polyline",{points:"4 7 4 4 20 4 20 7"}),s.jsx("line",{x1:"9",y1:"20",x2:"15",y2:"20"}),s.jsx("line",{x1:"12",y1:"4",x2:"12",y2:"20"})]})}function vs({pdfDoc:t,pageNumber:e,scale:n,rotation:i,pageRef:r,onRendered:o,markupTool:d="none",markupColor:u,annotations:w=[],onAddAnnotation:m,onRemoveAnnotation:_,signatures:y=[],pendingSignature:b=null,onAddSignature:k,onUpdateSignature:C,onRemoveSignature:H,onEditSignature:A,onDuplicateSignature:L,selectedSignatureId:Z=null,onSelectSignature:T,signatureFields:rt=[],selectedSignatureFieldId:ot=null,onSelectSignatureField:Y,hasFixedSignatureFields:Q=!1,onOpenSignaturePad:wt,fieldValues:yt={},onFieldValueChange:q,onFieldValueCommit:Pt,pendingFieldValue:ft=null,onPlaceFieldValue:U,texts:tt=[],onAddText:et,onUpdateText:bt,onRemoveText:V,selectedTextId:Vt=null,onSelectText:dt,textFields:qt=[],selectedTextFieldId:Ce=null,onSelectTextField:At,hasFixedTextFields:Gt=!1,editingTextId:Ct=null,onEditingTextIdChange:z}){const jt=f.useRef(null),$t=f.useRef(null),pt=f.useRef(null),at=f.useRef(null),Dt=f.useRef(null),nt=f.useRef(null),[gt,kt]=f.useState(null),Yt=f.useRef(null),ht=f.useRef(!1);f.useEffect(()=>{if(!t||!$t.current||!pt.current||!at.current)return;let a=!1;const x=$t.current,v=pt.current,j=at.current,D=x.getContext("2d");return D?((async()=>{try{if(Dt.current){try{Dt.current.cancel()}catch{}Dt.current=null}if(nt.current){try{nt.current.cancel()}catch{}nt.current=null}const F=await t.getPage(e);if(a)return;const N=F.getViewport({scale:n,rotation:i}),S=Math.floor(N.width),B=Math.floor(N.height);x.width=S,x.height=B,j.style.width=`${S}px`,j.style.height=`${B}px`;const R=F.render({canvasContext:D,viewport:N});if(Dt.current=R,await R.promise,a)return;v.replaceChildren(),v.style.setProperty("--scale-factor",String(N.scale));const it=await F.getTextContent();if(a)return;const W=new Wn.TextLayer({textContentSource:it,container:v,viewport:N});if(nt.current=W,await W.render(),a)return;o==null||o(e)}catch{}})(),()=>{if(a=!0,Dt.current){try{Dt.current.cancel()}catch{}Dt.current=null}if(nt.current){try{nt.current.cancel()}catch{}nt.current=null}}):void 0},[t,e,n,i,o]),f.useEffect(()=>{const a=at.current;if(!a)return;const x=P=>{var B;if(!m)return!1;const F=P==="redact"?Ne:u;if(!F)return!1;const N=Ye(a,n);if(!N)return!1;const S=P==="redact"?Ke(N.rects):N.rects;return m({id:qe(),pageNumber:e,kind:P,color:F,rects:S,text:N.text}),(B=window.getSelection())==null||B.removeAllRanges(),!0},v=P=>{var it;if(!m||!et)return!1;const F=Ye(a,n);if(!F)return!1;const N=Ke(F.rects);m({id:qe(),pageNumber:e,kind:"redact",color:Ne,rects:N,text:F.text});const S=Sn(F.rects),B=je(P||" ",S.fontSize),R={id:Se(),pageNumber:e,x:S.x,y:S.y,width:B.width,height:B.height,value:P,fontSize:S.fontSize,color:oe};return et(R),dt==null||dt(R.id),z==null||z(R.id),(it=window.getSelection())==null||it.removeAllRanges(),ht.current=!0,window.setTimeout(()=>{ht.current=!1},0),!0},j=()=>{if(d==="highlight"||d==="underline"){x(d);return}if(d==="erase"){x("redact");return}if(d==="text"){const P=window.getSelection();P&&!P.isCollapsed&&P.toString().trim()&&P.anchorNode&&a.contains(P.anchorNode)&&v(P.toString())}},D=P=>{const F=P.target;if(F!=null&&F.closest("[contenteditable='true']")||F!=null&&F.closest("[contenteditable='']")||F!=null&&F.isContentEditable)return;const N=window.getSelection(),S=N!=null&&!N.isCollapsed&&N.toString().trim().length>0&&N.anchorNode!=null&&a.contains(N.anchorNode);if(d==="text"&&S){if(P.key==="Enter"&&!P.shiftKey){P.preventDefault(),v(N.toString());return}if(P.key.length===1&&!P.ctrlKey&&!P.metaKey&&!P.altKey){P.preventDefault(),v(P.key);return}}d!=="text"&&d!=="erase"||P.key!=="Backspace"&&P.key!=="Delete"||S&&(P.preventDefault(),x("redact"))};return a.addEventListener("mouseup",j),window.addEventListener("keydown",D),()=>{a.removeEventListener("mouseup",j),window.removeEventListener("keydown",D)}},[d,u,m,et,z,dt,e,n]),f.useEffect(()=>{if(!gt)return;let a=0,x=0,v=0,j=0;const D=()=>{var R;return(R=jt.current)==null?void 0:R.closest(".epochs-pdf-viewer__body")},P=(R,it)=>{if(gt.kind!=="resize"||!C||Q)return;const W=y.find(ut=>ut.id===gt.id);if(!W)return;const ct=at.current,xt=ct?we(ct,n):{width:1/0,height:1/0},{dx:It,dy:Ft}=ct?Zi(R-gt.startX,it-gt.startY,ct,n):{dx:0,dy:0},Wt=xt.width-W.x,Tt=xt.height-W.y,Ut=Math.min(Wt,Math.max(40,gt.startW+It)),lt=Math.min(Tt,Math.max(20,gt.startH+Ft));C(gt.id,{width:Ut,height:lt})},F=(R,it)=>{var Kt;if(gt.kind!=="signature"||!C||Q)return;const W=y.find(ce=>ce.id===gt.id);if(!W)return;let ct=(Kt=document.elementFromPoint(R,it))==null?void 0:Kt.closest("[data-page-number]");if(ct||(ct=Array.from(document.querySelectorAll(".epochs-pdf-viewer__page[data-page-number]")).find(Zt=>{const $e=Zt.getBoundingClientRect();return it>=$e.top&&it<=$e.bottom})??null),ct||(ct=jt.current),!ct)return;const xt=ct.querySelector(".epochs-pdf-viewer__surface");if(!xt)return;const It=Number.parseInt(ct.getAttribute("data-page-number")||String(W.pageNumber),10),Ft=Re(R,it,xt,n),Wt=we(xt,n);let Tt=Ft.x-gt.offsetX,Ut=Ft.y-gt.offsetY;const lt=Math.max(0,Wt.width-W.width),ut=Math.max(0,Wt.height-W.height);Tt=Math.min(Math.max(0,Tt),lt),Ut=Math.min(Math.max(0,Ut),ut),C(gt.id,{pageNumber:It,x:Tt,y:Ut})},N=()=>{if(a=0,!j)return;const R=D();if(!R)return;const it=R.scrollHeight-R.clientHeight;if(it<=0)return;const W=56,ct=R.getBoundingClientRect(),xt=v-ct.top,It=ct.bottom-v;let Ft=0;if(j<0&&xt<W)Ft=-Math.max(6,(W-xt)/W*28);else if(j>0&&It<W)Ft=Math.max(6,(W-It)/W*28);else{j=0;return}const Wt=R.scrollTop;R.scrollTop=Math.min(it,Math.max(0,Wt+Ft)),R.scrollTop!==Wt&&F(x,v),Ft<0&&R.scrollTop>0||Ft>0&&R.scrollTop<it?a=window.requestAnimationFrame(N):j=0},S=R=>{x=R.clientX,v=R.clientY;const it=D();if(it){const ct=it.getBoundingClientRect(),xt=R.clientY-ct.top,It=ct.bottom-R.clientY;xt<56?(j=-1,a||(a=window.requestAnimationFrame(N))):It<56?(j=1,a||(a=window.requestAnimationFrame(N))):j=0}gt.kind==="resize"?P(R.clientX,R.clientY):F(R.clientX,R.clientY)},B=()=>{j=0,a&&(window.cancelAnimationFrame(a),a=0),kt(null)};return window.addEventListener("pointermove",S),window.addEventListener("pointerup",B),window.addEventListener("pointercancel",B),()=>{j=0,a&&window.cancelAnimationFrame(a),window.removeEventListener("pointermove",S),window.removeEventListener("pointerup",B),window.removeEventListener("pointercancel",B)}},[gt,Q,C,n,y]),f.useEffect(()=>{if(!Ct||!Yt.current)return;const a=Yt.current,x=tt.find(D=>D.id===Ct);a.textContent=(x==null?void 0:x.value)??"",a.focus();const v=document.createRange();v.selectNodeContents(a),v.collapse(!1);const j=window.getSelection();j==null||j.removeAllRanges(),j==null||j.addRange(v)},[Ct]);const Ot=a=>{jt.current=a,r==null||r(a)},Nt=w.filter(a=>a.pageNumber===e),p=y.filter(a=>a.pageNumber===e),I=rt.filter(a=>a.pageNumber===e),G=tt.filter(a=>a.pageNumber===e),K=(a,x)=>{const v=x.trim();if(!v){V==null||V(a.id),z==null||z(null);return}const j=je(v,a.fontSize);bt==null||bt(a.id,{value:v,width:j.width,height:j.height}),z==null||z(null)},Mt=(a,x)=>{if(!et)return;const v=at.current,j=pt.current;if(!v||!j)return;let D=Qi(a,x,v,j,n),P,F=oe;if(Gt){const B=is(D.x,D.y,qt,e);if(!B)return;const R=tt.find(it=>it.fieldId===B.id);if(R){dt==null||dt(R.id),At==null||At(B.id),z==null||z(R.id);return}P=B.id,D={x:B.x,y:B.y,fontSize:B.fontSize??ae},F=B.color??oe,At==null||At(B.id)}const N=je("",D.fontSize),S={id:Se(),fieldId:P,pageNumber:e,x:D.x,y:D.y,width:N.width,height:N.height,value:"",fontSize:D.fontSize,color:F};et(S),dt==null||dt(S.id),z==null||z(S.id)},zt=a=>{var v;if(d!=="text"||a.target.closest(".epochs-pdf-viewer__inline-text"))return;if(ht.current){ht.current=!1;return}const x=window.getSelection();if(!(x&&!x.isCollapsed&&x.toString().trim())){if(a.detail>=2&&ss(a.clientX,a.clientY,pt.current)){const D=at.current;if(D&&m&&et){const P=Ye(D,n);if(P){m({id:qe(),pageNumber:e,kind:"redact",color:Ne,rects:Ke(P.rects),text:P.text});const F=Sn(P.rects),N=je(P.text||" ",F.fontSize),S={id:Se(),pageNumber:e,x:F.x,y:F.y,width:N.width,height:N.height,value:P.text,fontSize:F.fontSize,color:oe};et(S),dt==null||dt(S.id),z==null||z(S.id),(v=window.getSelection())==null||v.removeAllRanges(),ht.current=!0}}return}a.stopPropagation(),Mt(a.clientX,a.clientY)}},Bt=a=>{const x=a.target;if(!(x.closest(".epochs-pdf-viewer__signature")||x.closest(".epochs-pdf-viewer__signature-field")||x.closest(".epochs-pdf-viewer__inline-text"))){if(d==="text"){Mt(a.clientX,a.clientY);return}if(!Q&&d==="sign"&&ft&&U){const v=at.current;if(!v)return;const j=Re(a.clientX,a.clientY,v,n);U(e,Math.max(0,j.x-75),Math.max(0,j.y-12));return}if(!Q&&d==="sign"&&b&&k){const v=at.current;if(!v)return;const j=we(v,n),D=Re(a.clientX,a.clientY,v,n);let P=D.x-b.width/2,F=D.y-b.height/2;const N=Math.max(0,j.width-b.width),S=Math.max(0,j.height-b.height);P=Math.min(Math.max(0,P),N),F=Math.min(Math.max(0,F),S),k({id:Fe(),pageNumber:e,x:P,y:F,width:b.width,height:b.height,imageDataUrl:b.imageDataUrl});return}}},Jt=a=>Ct===a.id?s.jsx("span",{ref:Yt,contentEditable:!0,suppressContentEditableWarning:!0,role:"textbox","aria-label":"Edit text",className:"epochs-pdf-viewer__inline-text epochs-pdf-viewer__inline-text--editing",style:{left:a.x*n,top:a.y*n,fontSize:a.fontSize*n,color:a.color,minWidth:Math.max(12,a.fontSize*n*.5),width:Math.max(a.width*n,a.fontSize*n*.5)},onClick:v=>v.stopPropagation(),onPointerDown:v=>v.stopPropagation(),onInput:v=>{const j=v.currentTarget.textContent??"",D=je(j||" ",a.fontSize);bt==null||bt(a.id,{value:j,width:D.width,height:D.height})},onBlur:v=>{K(a,v.currentTarget.textContent??"")},onKeyDown:v=>{v.stopPropagation(),v.key==="Escape"&&(v.preventDefault(),v.currentTarget.blur()),v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),v.currentTarget.blur())}},a.id):a.value.trim()?s.jsx("span",{className:Vt===a.id?"epochs-pdf-viewer__inline-text epochs-pdf-viewer__inline-text--selected":"epochs-pdf-viewer__inline-text",style:{left:a.x*n,top:a.y*n,fontSize:a.fontSize*n,color:a.color},onClick:v=>{if(v.stopPropagation(),d==="erase"){V==null||V(a.id);return}d==="text"&&(dt==null||dt(a.id),z==null||z(a.id))},children:a.value},a.id):null;return s.jsx("div",{ref:Ot,"data-page-number":e,className:"epochs-pdf-viewer__page",children:s.jsxs("div",{ref:at,className:`epochs-pdf-viewer__surface epochs-pdf-viewer__surface--tool-${d}`,onClick:Bt,children:[s.jsx("canvas",{ref:$t,className:"epochs-pdf-viewer__canvas"}),s.jsx("div",{className:"epochs-pdf-viewer__markup-layer","aria-hidden":"true",children:Nt.map(a=>a.kind==="redact"?null:a.rects.map((x,v)=>a.kind==="highlight"?s.jsx("div",{className:"epochs-pdf-viewer__markup epochs-pdf-viewer__markup--highlight",style:{left:x.x*n,top:x.y*n,width:x.w*n,height:x.h*n,background:a.color},onClick:j=>{d==="erase"&&(j.stopPropagation(),_==null||_(a.id))}},`${a.id}_${v}`):s.jsx("div",{className:"epochs-pdf-viewer__markup epochs-pdf-viewer__markup--underline",style:{left:x.x*n,top:(x.y+x.h)*n-Math.max(2,n*1.5),width:x.w*n,height:Math.max(2,n*1.5),background:a.color},onClick:j=>{d==="erase"&&(j.stopPropagation(),_==null||_(a.id))}},`${a.id}_${v}`)))}),s.jsxs("div",{className:"epochs-pdf-viewer__signature-layer",children:[I.map(a=>{const x=a.type??"sign",v=yt[a.id]??a.value??"",j=x==="date"||x==="text"?!!v.trim():p.some(D=>D.fieldId===a.id);return s.jsx("button",{type:"button","data-signature-field-id":a.id,className:ot===a.id?"epochs-pdf-viewer__signature-field epochs-pdf-viewer__signature-field--selected":j?"epochs-pdf-viewer__signature-field epochs-pdf-viewer__signature-field--filled":"epochs-pdf-viewer__signature-field",style:{left:a.x*n,top:a.y*n,width:a.width*n,height:a.height*n},onClick:D=>{if(D.stopPropagation(),Y==null||Y(a.id),x==="date"||x==="text"){T==null||T(null),wt==null||wt(x);return}const P=p.find(F=>F.fieldId===a.id);T==null||T((P==null?void 0:P.id)??null),P?A==null||A(P.id):wt==null||wt(x)},title:j?"Completed field":x==="date"?"Date field":x==="text"?"Text field":"Signature field",children:x==="date"||x==="text"?v.trim()?s.jsx("span",{className:"epochs-pdf-viewer__signature-field-value",children:v}):x==="date"?s.jsx("span",{children:"Date here"}):s.jsx("span",{children:a.placeholder??"Enter text"}):j?null:s.jsx("span",{children:"Sign here"})},a.id)}),p.map(a=>s.jsxs("div",{className:Z===a.id?"epochs-pdf-viewer__signature epochs-pdf-viewer__signature--selected":"epochs-pdf-viewer__signature",style:{left:a.x*n,top:a.y*n,width:a.width*n,height:a.height*n},onPointerDown:x=>{if(x.stopPropagation(),x.preventDefault(),T==null||T(a.id),d==="erase"&&!Q){H==null||H(a.id);return}if(Q){Y==null||Y(a.fieldId??null),A==null||A(a.id);return}const v=at.current;if(!v)return;const j=Re(x.clientX,x.clientY,v,n);kt({kind:"signature",id:a.id,offsetX:j.x-a.x,offsetY:j.y-a.y})},children:[s.jsx("button",{type:"button",className:"epochs-pdf-viewer__signature-edit",title:"Edit signature","aria-label":"Edit signature",onPointerDown:x=>{x.stopPropagation()},onClick:x=>{x.stopPropagation(),T==null||T(a.id),A==null||A(a.id)},children:s.jsx(ys,{size:12})}),Q?null:s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button",className:"epochs-pdf-viewer__signature-duplicate",title:"Duplicate signature","aria-label":"Duplicate signature",onPointerDown:x=>{x.stopPropagation()},onClick:x=>{x.stopPropagation(),T==null||T(a.id),L==null||L(a.id)},children:"⧉"}),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__signature-remove",title:"Remove signature","aria-label":"Remove signature",onPointerDown:x=>{x.stopPropagation()},onClick:x=>{x.stopPropagation(),H==null||H(a.id)},children:"×"})]}),s.jsx("img",{src:a.imageDataUrl,alt:"Signature",draggable:!1}),Q?null:s.jsx("div",{className:"epochs-pdf-viewer__signature-resize",title:"Resize",onPointerDown:x=>{x.stopPropagation(),x.preventDefault(),T==null||T(a.id),kt({kind:"resize",id:a.id,startX:x.clientX,startY:x.clientY,startW:a.width,startH:a.height})},children:s.jsx("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:s.jsx("path",{d:"M7 1L1 7M7 4L4 7",stroke:"white",strokeWidth:"1.2",strokeLinecap:"round"})})})]},a.id))]}),s.jsx("div",{className:"epochs-pdf-viewer__text-layer-overlay",children:G.map(a=>Jt(a))}),s.jsx("div",{ref:pt,className:"textLayer epochs-pdf-viewer__text-layer",onClick:zt}),s.jsx("div",{className:"epochs-pdf-viewer__redact-layer","aria-hidden":"true",children:Nt.map(a=>a.kind==="redact"?a.rects.map((x,v)=>s.jsx("div",{className:"epochs-pdf-viewer__markup epochs-pdf-viewer__markup--redact",style:{left:x.x*n,top:x.y*n,width:x.w*n,height:x.h*n,background:a.color||Ne},onClick:j=>{d==="erase"&&(j.stopPropagation(),_==null||_(a.id))}},`${a.id}_${v}`)):null)})]})})}function js({pdfDoc:t,pageNumber:e,isActive:n,rotation:i,onSelect:r,width:o=140,annotations:d=[],signatures:u=[],signatureFields:w=[],texts:m=[],textFields:_=[]}){const y=f.useRef(null);return f.useEffect(()=>{if(!t||!y.current)return;let b=!1;const k=y.current,C=k.getContext("2d");if(!C)return;let H=null;return(async()=>{try{const L=await t.getPage(e);if(b)return;const Z=L.getViewport({scale:1,rotation:i}),T=o/Z.width,rt=L.getViewport({scale:T,rotation:i});k.width=Math.floor(rt.width),k.height=Math.floor(rt.height),H=L.render({canvasContext:C,viewport:rt}),await H.promise;const ot=d.filter(q=>q.pageNumber===e);ot.length>0&&Xn(C,ot,T);const Y=u.filter(q=>q.pageNumber===e),Q=w.filter(q=>q.pageNumber===e);Q.length>0&&qi(C,Q,new Set(Y.map(q=>q.fieldId).filter(Boolean)),T),Y.length>0&&await Vn(C,Y,T);const wt=m.filter(q=>q.pageNumber===e),yt=_.filter(q=>q.pageNumber===e);yt.length>0&&rs(C,yt,new Set(wt.filter(q=>q.fieldId&&q.value.trim()).map(q=>q.fieldId)),T),wt.length>0&&qn(C,wt,T)}catch{}})(),()=>{if(b=!0,H)try{H.cancel()}catch{}}},[d,t,e,i,w,u,_,m,o]),s.jsxs("button",{type:"button",onClick:()=>r(e),className:n?"epochs-pdf-viewer__thumb epochs-pdf-viewer__thumb--active":"epochs-pdf-viewer__thumb",title:`Page ${e}`,children:[s.jsx("div",{className:"epochs-pdf-viewer__thumb-frame",children:s.jsx("canvas",{ref:y})}),s.jsx("span",{className:"epochs-pdf-viewer__thumb-label",children:e})]})}const ks=/^(blob:|https?:|data:)/i;let Yn=!1;function tn(t){me.GlobalWorkerOptions.workerSrc=t,Yn=!0}function Ms(t){if(t){tn(t);return}Yn||me.GlobalWorkerOptions.workerSrc||tn(`https://unpkg.com/pdfjs-dist@${me.version}/build/pdf.worker.min.mjs`)}function Ns(t,e,n=""){const i=e||t;if(!i)return"";if(ks.test(i))return i;const r=i.startsWith("/")?i:`/${i}`;return n?`${n.replace(/\/$/,"")}${r}`:r}async function Ps(t,e){const n=await fetch(t,e);if(!n.ok)throw new Error(`Failed to fetch PDF (${n.status})`);return n.arrayBuffer()}async function An(t,e){if(typeof t=="string")return Ps(t,e);if(t instanceof ArrayBuffer)return t.slice(0);if(t instanceof Uint8Array){const n=new Uint8Array(t.byteLength);return n.set(t),n.buffer}return t.arrayBuffer()}async function Cs(t,e,n){const{scale:i,rotation:r,annotations:o,signatures:d=[],texts:u=[],mimeType:w="image/jpeg",quality:m=.92}=n,_=await t.getPage(e),y=_.getViewport({scale:i,rotation:r}),b=_.getViewport({scale:1,rotation:r}),k=document.createElement("canvas"),C=k.getContext("2d",{alpha:!1});if(!C)throw new Error("Could not create canvas context");const H=Math.floor(y.width),A=Math.floor(y.height);k.width=H,k.height=A,C.fillStyle="#ffffff",C.fillRect(0,0,H,A),await _.render({canvasContext:C,viewport:y}).promise;const L=o.filter(Y=>Y.pageNumber===e);L.length>0&&Xn(C,L,i);const Z=d.filter(Y=>Y.pageNumber===e);Z.length>0&&await Vn(C,Z,i);const T=u.filter(Y=>Y.pageNumber===e);T.length>0&&qn(C,T,i);const rt=k.toDataURL(w,m),ot=$s(rt);return k.width=0,k.height=0,{pageNumber:e,width:H,height:A,pageWidth:b.width,pageHeight:b.height,dataUrl:rt,jpegBytes:ot}}async function Un(t,e){const n=[];for(let i=1;i<=t.numPages;i+=1)n.push(await Cs(t,i,e));return n}function $s(t){const e=t.split(",")[1]??"",n=atob(e),i=new Uint8Array(n.length);for(let r=0;r<n.length;r+=1)i[r]=n.charCodeAt(r);return i}function Xt(t){return new TextEncoder().encode(t)}function Hn(...t){const e=t.reduce((r,o)=>r+o.byteLength,0),n=new Uint8Array(e);let i=0;for(const r of t)n.set(r,i),i+=r.byteLength;return n}function Is(t){const e=[],n=b=>(e.push(b),e.length),i=[];for(const b of t){const k=Hn(Xt(`<< /Type /XObject /Subtype /Image /Width ${b.width} /Height ${b.height} /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length ${b.jpegBytes.byteLength} >>
1
+ "use strict";var Wi=Object.defineProperty;var zi=(t,e,n)=>e in t?Wi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var qe=(t,e,n)=>zi(t,typeof e!="symbol"?e+"":e,n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react"),s=require("react/jsx-runtime"),zn=require("pdfjs-dist");function Xi(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const be=Xi(zn),$e="#ffffff",sn=[{id:"yellow",label:"Yellow",hex:"#facc15"},{id:"green",label:"Green",hex:"#4ade80"},{id:"pink",label:"Pink",hex:"#f472b6"},{id:"blue",label:"Blue",hex:"#60a5fa"},{id:"orange",label:"Orange",hex:"#fb923c"},{id:"purple",label:"Purple",hex:"#c084fc"}],rn=[{id:"blue",label:"Blue",hex:"#2563eb"},{id:"red",label:"Red",hex:"#dc2626"},{id:"green",label:"Green",hex:"#16a34a"},{id:"orange",label:"Orange",hex:"#ea580c"},{id:"purple",label:"Purple",hex:"#7c3aed"},{id:"black",label:"Black",hex:"#111827"}],Xn=sn[0].hex,Gi=rn[0].hex;on(Xn,"highlight");function Ve(){return`m_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function se(t){const e=t.trim();if(/^#[0-9a-fA-F]{6}$/.test(e))return e.toLowerCase();if(/^#[0-9a-fA-F]{3}$/.test(e)){const n=e[1],i=e[2],r=e[3];return`#${n}${n}${i}${i}${r}${r}`.toLowerCase()}return e}function on(t,e,n=.45){const i=se(t);if(e==="underline"||e==="redact")return i;const r=/^#([0-9a-f]{6})$/i.exec(i);if(!r)return`rgba(250, 204, 21, ${n})`;const o=Number.parseInt(r[1],16),d=o>>16&255,u=o>>8&255,w=o&255;return`rgba(${d}, ${u}, ${w}, ${n})`}function Ye(t,e){const n=window.getSelection();if(!n||n.isCollapsed||n.rangeCount===0)return null;const i=n.getRangeAt(0);if(!t.contains(i.commonAncestorContainer))return null;const r=t.getBoundingClientRect(),o=Array.from(i.getClientRects()).filter(_=>_.width>0&&_.height>0);if(!o.length)return null;const d=e||1,u=t.clientWidth||r.width,w=t.clientHeight||r.height;return{rects:o.map(_=>({x:r.width>0?(_.left-r.left)/r.width*(u/d):0,y:r.height>0?(_.top-r.top)/r.height*(w/d):0,w:r.width>0?_.width/r.width*(u/d):0,h:r.height>0?_.height/r.height*(w/d):0})),text:n.toString()}}function En(t){const n=[...t].sort((i,r)=>i.y-r.y||i.x-r.x)[0]??{x:0,y:0,h:14};return{x:n.x,y:n.y,fontSize:Math.max(8,Math.round(n.h*.9)||14)}}function Ke(t,e=2){return t.map(n=>({x:Math.max(0,n.x-e),y:Math.max(0,n.y-e),w:n.w+e*2,h:n.h+e*2}))}function Gn(t,e,n){for(const i of e)for(const r of i.rects){const o=r.x*n,d=r.y*n,u=r.w*n,w=r.h*n;if(i.kind==="highlight")t.save(),t.globalCompositeOperation="multiply",t.fillStyle=i.color,t.fillRect(o,d,u,w),t.restore();else if(i.kind==="redact")t.fillStyle=i.color||$e,t.fillRect(o,d,u,w);else{const m=Math.max(2,n*1.5);t.fillStyle=i.color,t.fillRect(o,d+w-m,u,m)}}}function Fe(){return`s_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}async function qn(t,e,n){for(const i of e){const r=await Vi(i.imageDataUrl);t.drawImage(r,i.x*n,i.y*n,i.width*n,i.height*n)}}function qi(t,e,n,i){t.save();for(const r of e){const o=n.has(r.id),d=r.x*i,u=r.y*i,w=r.width*i,m=r.height*i;t.fillStyle=o?"rgba(29, 78, 216, 0.08)":"rgba(29, 78, 216, 0.18)",t.strokeStyle=o?"rgba(29, 78, 216, 0.45)":"#1d4ed8",t.lineWidth=1.5,t.setLineDash(o?[]:[4,3]),t.fillRect(d,u,w,m),t.strokeRect(d,u,w,m)}t.restore()}function Vi(t){return new Promise((e,n)=>{const i=new Image;i.onload=()=>e(i),i.onerror=()=>n(new Error("Failed to load signature image")),i.src=t})}function Yi(t,e,n=180,i=64){if(t<=0||e<=0)return{width:n,height:i};const r=Math.min(n/t,i/e);return{width:Math.max(40,t*r),height:Math.max(20,e*r)}}function Le(t,e,n,i){const r=n.getBoundingClientRect(),o=n.clientWidth||r.width,d=n.clientHeight||r.height;return r.width<=0||r.height<=0||i<=0?{x:0,y:0}:{x:(t-r.left)/r.width*(o/i),y:(e-r.top)/r.height*(d/i)}}function ye(t,e){return{width:t.clientWidth/e,height:t.clientHeight/e}}function Ki(t,e,n,i){const r=n.getBoundingClientRect(),o=n.clientWidth||r.width,d=n.clientHeight||r.height;return r.width<=0||r.height<=0||i<=0?{dx:0,dy:0}:{dx:t/r.width*(o/i),dy:e/r.height*(d/i)}}function Sn(t,e,n){const i=e.getBoundingClientRect(),{width:r,height:o}=ye(e,n);return i.width<=0||i.height<=0?{left:0,top:0,right:r,bottom:o}:{left:(t.left-i.left)/i.width*r,top:(t.top-i.top)/i.height*o,right:(t.right-i.left)/i.width*r,bottom:(t.bottom-i.top)/i.height*o}}const he=14,de="#111827",Ze=24,Qe=20;function Ee(){return`t_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function Ne(t,e){if(typeof document>"u")return{width:Math.max(Ze,t.length*e*.55),height:Math.max(Qe,e*1.25)};const i=document.createElement("canvas").getContext("2d");if(!i)return{width:Math.max(Ze,t.length*e*.55),height:Math.max(Qe,e*1.25)};i.font=`${e}px sans-serif`;const r=t.split(`
2
+ `),o=e*1.25;let d=Ze;for(const u of r)d=Math.max(d,i.measureText(u||" ").width+4);return{width:d,height:Math.max(Qe,r.length*o)}}function Zi(t,e,n,i,r){var E;const o=n.getBoundingClientRect(),d=n.clientWidth||o.width,u=n.clientHeight||o.height,w=I=>o.width>0?(I-o.left)/o.width*(d/r):0,m=I=>o.height>0?(I-o.top)/o.height*(u/r):0,_=(I,J)=>{const rt=J==="x"?o.width:o.height,V=J==="x"?d:u;return rt>0?I/rt*(V/r):0};let x=w(t),y=m(e),j=he;const $=Qi(t,e,i);if($)return{x:w($.x),y:m($.y),fontSize:Math.max(8,Math.round(_($.fontSize,"y")*10)/10)};const W=document,A=(E=W.caretRangeFromPoint)==null?void 0:E.call(W,t,e);if(A&&i.contains(A.startContainer)){const I=A.getClientRects(),J=I.length>0?I[0]:A.getBoundingClientRect();if(J.height>0){y=m(J.top),j=ts(A.startContainer,r,n);const rt=w(J.left);return Math.abs(rt-x)<_(8,"x")&&(x=rt),{x,y,fontSize:j}}}const O=Ji(t,e,i);return O&&(y=m(O.top),j=Math.max(8,Math.round(_(O.height,"y")*10)/10)),{x,y,fontSize:j}}function Qi(t,e,n){var o;const i=Array.from(n.querySelectorAll("span"));if(i.length<2)return null;const r=[];for(const d of i){if(!((o=d.textContent)!=null&&o.trim()))continue;const u=d.getBoundingClientRect();u.width<=0||u.height<=0||e<u.top-4||e>u.bottom+4||r.push({left:u.left,right:u.right,top:u.top,bottom:u.bottom,height:u.height})}r.sort((d,u)=>d.left-u.left);for(let d=0;d<r.length-1;d+=1){const u=r[d],w=r[d+1],m=u.right,_=w.left;if(!(_-m<1)&&t>=m-2&&t<=_+2)return{x:t,y:Math.min(u.top,w.top),fontSize:Math.min(u.height,w.height)}}return null}function Ji(t,e,n){var o;const i=Array.from(n.querySelectorAll("span"));let r=null;for(const d of i){if(!((o=d.textContent)!=null&&o.trim()))continue;const u=d.getBoundingClientRect();if(u.width<=0||u.height<=0||e<u.top-6||e>u.bottom+6)continue;const w=(u.left+u.right)/2,m=Math.abs(t-w);(!r||m<r.dist)&&(r={top:u.top,height:u.height,dist:m})}return r?{top:r.top,height:r.height}:null}function ts(t,e,n){const i=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;return i?es(i,e,n):he}function es(t,e,n){const i=t.getBoundingClientRect().height;if(i>0){if(n){const d=n.getBoundingClientRect(),u=n.clientHeight||d.height;if(d.height>0)return Math.max(8,Math.round(i/d.height*(u/e)*10)/10)}return Math.max(8,Math.round(i/e*10)/10)}const r=window.getComputedStyle(t).fontSize,o=Number.parseFloat(r);return Number.isFinite(o)&&o>0?Math.max(8,Math.round(o/e*10)/10):he}function ns(t,e,n,i){for(const r of n)if(r.pageNumber===i&&t>=r.x&&t<=r.x+r.width&&e>=r.y&&e<=r.y+r.height)return r;return null}function is(t,e,n){var j;if(!n)return null;const i=document,r=(j=i.caretRangeFromPoint)==null?void 0:j.call(i,t,e);if(!r||!n.contains(r.startContainer))return null;const o=r.startContainer;if(o.nodeType!==Node.TEXT_NODE||!o.textContent)return null;const d=o.textContent;let u=r.startOffset;u=Math.min(Math.max(0,u),d.length);const w=$=>/[\p{L}\p{N}_'-]/u.test($);let m=u,_=u;for(;m>0&&w(d[m-1]);)m-=1;for(;_<d.length&&w(d[_]);)_+=1;if(m===_)return null;const x=document.createRange();x.setStart(o,m),x.setEnd(o,_);const y=window.getSelection();return y==null||y.removeAllRanges(),y==null||y.addRange(x),d.slice(m,_)}function Vn(t,e,n){t.save();for(const i of e){if(!i.value.trim())continue;const r=i.x*n,o=i.y*n,d=Math.max(8,i.fontSize*n);t.fillStyle=i.color,t.font=`${d}px sans-serif`,t.textBaseline="top";const u=d*1.25,w=i.value.split(`
3
+ `);let m=o;for(const _ of w)t.fillText(_,r,m),m+=u}t.restore()}function ss(t,e,n,i){t.save();for(const r of e){const o=n.has(r.id),d=r.x*i,u=r.y*i,w=r.width*i,m=r.height*i;t.fillStyle=o?"rgba(5, 150, 105, 0.08)":"rgba(5, 150, 105, 0.16)",t.strokeStyle=o?"rgba(5, 150, 105, 0.45)":"#059669",t.lineWidth=1.5,t.setLineDash(o?[]:[4,3]),t.fillRect(d,u,w,m),t.strokeRect(d,u,w,m)}t.restore()}function Et({size:t=14,className:e,children:n}){return s.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:n})}function rs(t){return s.jsx(Et,{...t,children:s.jsx("polyline",{points:"15 18 9 12 15 6"})})}function os(t){return s.jsx(Et,{...t,children:s.jsx("polyline",{points:"9 18 15 12 9 6"})})}function as(t){return s.jsxs(Et,{...t,children:[s.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),s.jsx("polyline",{points:"7 10 12 15 17 10"}),s.jsx("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]})}function cs(t){return s.jsxs(Et,{...t,children:[s.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),s.jsx("polyline",{points:"15 3 21 3 21 9"}),s.jsx("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]})}function ls(t){return s.jsxs(Et,{...t,children:[s.jsx("rect",{x:"3",y:"3",width:"7",height:"7"}),s.jsx("rect",{x:"14",y:"3",width:"7",height:"7"}),s.jsx("rect",{x:"14",y:"14",width:"7",height:"7"}),s.jsx("rect",{x:"3",y:"14",width:"7",height:"7"})]})}function ds(t){return s.jsx(Et,{...t,children:s.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})})}function hs(t){return s.jsxs(Et,{...t,children:[s.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),s.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function us(t){return s.jsxs(Et,{...t,children:[s.jsx("polyline",{points:"6 9 6 2 18 2 18 9"}),s.jsx("path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"}),s.jsx("rect",{x:"6",y:"14",width:"12",height:"8"})]})}function fs(t){return s.jsxs(Et,{...t,children:[s.jsx("polyline",{points:"23 4 23 10 17 10"}),s.jsx("polyline",{points:"1 20 1 14 7 14"}),s.jsx("path",{d:"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"})]})}function ps(t){return s.jsxs(Et,{...t,children:[s.jsx("polyline",{points:"23 4 23 10 17 10"}),s.jsx("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]})}function gs(t){return s.jsxs(Et,{...t,children:[s.jsx("path",{d:"M12 20h9"}),s.jsx("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]})}function ms(t){return s.jsxs(Et,{...t,children:[s.jsx("path",{d:"M6 3v7a6 6 0 0 0 12 0V3"}),s.jsx("line",{x1:"4",y1:"21",x2:"20",y2:"21"})]})}function ws(t){return s.jsxs(Et,{...t,children:[s.jsx("path",{d:"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"}),s.jsx("path",{d:"M22 21H7"}),s.jsx("path",{d:"m5 11 9 9"})]})}function xs({size:t=16,className:e}){return s.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 256 256",fill:"currentColor",stroke:"currentColor",strokeWidth:"12",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:s.jsx("path",{d:"M232,172H57.32c4-7.83,8.18-16.11,12.21-24.56,15.14,3.55,34.13-8.06,56.54-34.59,3.67,12.5,12.53,34.83,29.08,35.15h.35c8.71,0,17.64-6.25,27.16-19.06C187.17,137.14,199.31,148,232,148a4,4,0,0,0,0-8c-42.88,0-44-19.24-44-20a4,4,0,0,0-7.35-2.18C168.74,136.1,160.42,140,155.48,140h-.18c-13-.25-21.29-26.52-23.38-36.61a4,4,0,0,0-7-1.69c-20.94,26.27-39.06,39.55-51.8,38.2C97.31,87.5,105.19,53.16,96.49,37.77,94,33.31,88.7,28,77.91,28,64.09,28,52.54,42.41,47,66.54A122.7,122.7,0,0,0,45.46,113c2.64,15.29,8.39,26.05,16.69,31.35-4.58,9.6-9.3,19-13.84,27.68H24a4,4,0,0,0,0,8H44.1c-12.87,24.17-23.37,41.68-23.53,41.94a4,4,0,0,0,1.37,5.49A3.93,3.93,0,0,0,24,228a4,4,0,0,0,3.43-1.94c.16-.27,11.85-19.75,25.72-46.06H232a4,4,0,0,0,0-8ZM53.34,111.61a114.81,114.81,0,0,1,1.49-43.29C58.4,52.7,66.34,36,77.91,36c7.52,0,10.23,3.26,11.61,5.7C99,58.4,79.92,106,65.6,137,59.76,132.69,55.46,123.83,53.34,111.61Z"})})}function bs(t){return s.jsxs(Et,{...t,children:[s.jsx("path",{d:"M12 20h9"}),s.jsx("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]})}function ys(t){return s.jsxs(Et,{...t,children:[s.jsx("polyline",{points:"4 7 4 4 20 4 20 7"}),s.jsx("line",{x1:"9",y1:"20",x2:"15",y2:"20"}),s.jsx("line",{x1:"12",y1:"4",x2:"12",y2:"20"})]})}function _s({pdfDoc:t,pageNumber:e,scale:n,rotation:i,pageRef:r,onRendered:o,markupTool:d="none",markupColor:u,annotations:w=[],onAddAnnotation:m,onRemoveAnnotation:_,signatures:x=[],pendingSignature:y=null,onAddSignature:j,onUpdateSignature:$,onRemoveSignature:W,onEditSignature:A,onDuplicateSignature:O,selectedSignatureId:E=null,onSelectSignature:I,signatureFields:J=[],selectedSignatureFieldId:rt=null,onSelectSignatureField:V,hasFixedSignatureFields:ut=!1,onOpenSignaturePad:Z,fieldValues:yt={},onFieldValueChange:Y,onFieldValueCommit:Pt,pendingFieldValue:xt=null,onPlaceFieldValue:S,texts:ot=[],onAddText:ht,onUpdateText:ft,onRemoveText:Q,selectedTextId:_t=null,onSelectText:at,textFields:Kt=[],selectedTextFieldId:ue=null,onSelectTextField:Ht,hasFixedTextFields:Rt=!1,editingTextId:Ct=null,onEditingTextIdChange:z}){const Wt=f.useRef(null),$t=f.useRef(null),gt=f.useRef(null),st=f.useRef(null),Dt=f.useRef(null),tt=f.useRef(null),[mt,Mt]=f.useState(null),Zt=f.useRef(null),et=f.useRef(!1);f.useEffect(()=>{if(!t||!$t.current||!gt.current||!st.current)return;let a=!1;const b=$t.current,v=gt.current,k=st.current,L=b.getContext("2d");return L?((async()=>{try{if(Dt.current){try{Dt.current.cancel()}catch{}Dt.current=null}if(tt.current){try{tt.current.cancel()}catch{}tt.current=null}const D=await t.getPage(e);if(a)return;const M=D.getViewport({scale:n,rotation:i}),H=Math.floor(M.width),X=Math.floor(M.height);b.width=H,b.height=X,k.style.width=`${H}px`,k.style.height=`${X}px`;const T=D.render({canvasContext:L,viewport:M});if(Dt.current=T,await T.promise,a)return;v.replaceChildren(),v.style.setProperty("--scale-factor",String(M.scale));const nt=await D.getTextContent();if(a)return;const G=new zn.TextLayer({textContentSource:nt,container:v,viewport:M});if(tt.current=G,await G.render(),a)return;o==null||o(e)}catch{}})(),()=>{if(a=!0,Dt.current){try{Dt.current.cancel()}catch{}Dt.current=null}if(tt.current){try{tt.current.cancel()}catch{}tt.current=null}}):void 0},[t,e,n,i,o]),f.useEffect(()=>{const a=st.current;if(!a)return;const b=P=>{var X;if(!m)return!1;const D=P==="redact"?$e:u;if(!D)return!1;const M=Ye(a,n);if(!M)return!1;const H=P==="redact"?Ke(M.rects):M.rects;return m({id:Ve(),pageNumber:e,kind:P,color:D,rects:H,text:M.text}),(X=window.getSelection())==null||X.removeAllRanges(),!0},v=P=>{var nt;if(!m||!ht)return!1;const D=Ye(a,n);if(!D)return!1;const M=Ke(D.rects);m({id:Ve(),pageNumber:e,kind:"redact",color:$e,rects:M,text:D.text});const H=En(D.rects),X=Ne(P||" ",H.fontSize),T={id:Ee(),pageNumber:e,x:H.x,y:H.y,width:X.width,height:X.height,value:P,fontSize:H.fontSize,color:de};return ht(T),at==null||at(T.id),z==null||z(T.id),(nt=window.getSelection())==null||nt.removeAllRanges(),et.current=!0,window.setTimeout(()=>{et.current=!1},0),!0},k=()=>{if(d==="highlight"||d==="underline"){b(d);return}if(d==="erase"){b("redact");return}if(d==="text"){const P=window.getSelection();P&&!P.isCollapsed&&P.toString().trim()&&P.anchorNode&&a.contains(P.anchorNode)&&v(P.toString())}},L=P=>{const D=P.target;if(D!=null&&D.closest("[contenteditable='true']")||D!=null&&D.closest("[contenteditable='']")||D!=null&&D.isContentEditable)return;const M=window.getSelection(),H=M!=null&&!M.isCollapsed&&M.toString().trim().length>0&&M.anchorNode!=null&&a.contains(M.anchorNode);if(d==="text"&&H){if(P.key==="Enter"&&!P.shiftKey){P.preventDefault(),v(M.toString());return}if(P.key.length===1&&!P.ctrlKey&&!P.metaKey&&!P.altKey){P.preventDefault(),v(P.key);return}}d!=="text"&&d!=="erase"||P.key!=="Backspace"&&P.key!=="Delete"||H&&(P.preventDefault(),b("redact"))};return a.addEventListener("mouseup",k),window.addEventListener("keydown",L),()=>{a.removeEventListener("mouseup",k),window.removeEventListener("keydown",L)}},[d,u,m,ht,z,at,e,n]),f.useEffect(()=>{if(!mt)return;let a=0,b=0,v=0,k=0;const L=()=>{var T;return(T=Wt.current)==null?void 0:T.closest(".epochs-pdf-viewer__body")},P=(T,nt)=>{if(mt.kind!=="resize"||!$||ut)return;const G=x.find(wt=>wt.id===mt.id);if(!G)return;const dt=st.current,bt=dt?ye(dt,n):{width:1/0,height:1/0},{dx:Ot,dy:vt}=dt?Ki(T-mt.startX,nt-mt.startY,dt,n):{dx:0,dy:0},It=bt.width-G.x,Tt=bt.height-G.y,qt=Math.min(It,Math.max(40,mt.startW+Ot)),Nt=Math.min(Tt,Math.max(20,mt.startH+vt));$(mt.id,{width:qt,height:Nt})},D=(T,nt)=>{var Vt;if(mt.kind!=="signature"||!$||ut)return;const G=x.find(ee=>ee.id===mt.id);if(!G)return;let dt=(Vt=document.elementFromPoint(T,nt))==null?void 0:Vt.closest("[data-page-number]");if(dt||(dt=Array.from(document.querySelectorAll(".epochs-pdf-viewer__page[data-page-number]")).find(Bt=>{const ne=Bt.getBoundingClientRect();return nt>=ne.top&&nt<=ne.bottom})??null),dt||(dt=Wt.current),!dt)return;const bt=dt.querySelector(".epochs-pdf-viewer__surface");if(!bt)return;const Ot=Number.parseInt(dt.getAttribute("data-page-number")||String(G.pageNumber),10),vt=Le(T,nt,bt,n),It=ye(bt,n);let Tt=vt.x-mt.offsetX,qt=vt.y-mt.offsetY;const Nt=Math.max(0,It.width-G.width),wt=Math.max(0,It.height-G.height);Tt=Math.min(Math.max(0,Tt),Nt),qt=Math.min(Math.max(0,qt),wt),$(mt.id,{pageNumber:Ot,x:Tt,y:qt})},M=()=>{if(a=0,!k)return;const T=L();if(!T)return;const nt=T.scrollHeight-T.clientHeight;if(nt<=0)return;const G=56,dt=T.getBoundingClientRect(),bt=v-dt.top,Ot=dt.bottom-v;let vt=0;if(k<0&&bt<G)vt=-Math.max(6,(G-bt)/G*28);else if(k>0&&Ot<G)vt=Math.max(6,(G-Ot)/G*28);else{k=0;return}const It=T.scrollTop;T.scrollTop=Math.min(nt,Math.max(0,It+vt)),T.scrollTop!==It&&D(b,v),vt<0&&T.scrollTop>0||vt>0&&T.scrollTop<nt?a=window.requestAnimationFrame(M):k=0},H=T=>{b=T.clientX,v=T.clientY;const nt=L();if(nt){const dt=nt.getBoundingClientRect(),bt=T.clientY-dt.top,Ot=dt.bottom-T.clientY;bt<56?(k=-1,a||(a=window.requestAnimationFrame(M))):Ot<56?(k=1,a||(a=window.requestAnimationFrame(M))):k=0}mt.kind==="resize"?P(T.clientX,T.clientY):D(T.clientX,T.clientY)},X=()=>{k=0,a&&(window.cancelAnimationFrame(a),a=0),Mt(null)};return window.addEventListener("pointermove",H),window.addEventListener("pointerup",X),window.addEventListener("pointercancel",X),()=>{k=0,a&&window.cancelAnimationFrame(a),window.removeEventListener("pointermove",H),window.removeEventListener("pointerup",X),window.removeEventListener("pointercancel",X)}},[mt,ut,$,n,x]),f.useEffect(()=>{if(!Ct||!Zt.current)return;const a=Zt.current,b=ot.find(L=>L.id===Ct);a.textContent=(b==null?void 0:b.value)??"",a.focus();const v=document.createRange();v.selectNodeContents(a),v.collapse(!1);const k=window.getSelection();k==null||k.removeAllRanges(),k==null||k.addRange(v)},[Ct]);const Qt=a=>{Wt.current=a,r==null||r(a)},p=w.filter(a=>a.pageNumber===e),R=x.filter(a=>a.pageNumber===e),F=J.filter(a=>a.pageNumber===e),ct=ot.filter(a=>a.pageNumber===e),lt=(a,b)=>{const v=b.trim();if(!v){Q==null||Q(a.id),z==null||z(null);return}const k=Ne(v,a.fontSize);ft==null||ft(a.id,{value:v,width:k.width,height:k.height}),z==null||z(null)},zt=(a,b)=>{if(!ht)return;const v=st.current,k=gt.current;if(!v||!k)return;let L=Zi(a,b,v,k,n),P,D=de;if(Rt){const X=ns(L.x,L.y,Kt,e);if(!X)return;const T=ot.find(nt=>nt.fieldId===X.id);if(T){at==null||at(T.id),Ht==null||Ht(X.id),z==null||z(T.id);return}P=X.id,L={x:X.x,y:X.y,fontSize:X.fontSize??he},D=X.color??de,Ht==null||Ht(X.id)}const M=Ne("",L.fontSize),H={id:Ee(),fieldId:P,pageNumber:e,x:L.x,y:L.y,width:M.width,height:M.height,value:"",fontSize:L.fontSize,color:D};ht(H),at==null||at(H.id),z==null||z(H.id)},Xt=a=>{var v;if(d!=="text"||a.target.closest(".epochs-pdf-viewer__inline-text"))return;if(et.current){et.current=!1;return}const b=window.getSelection();if(!(b&&!b.isCollapsed&&b.toString().trim())){if(a.detail>=2&&is(a.clientX,a.clientY,gt.current)){const L=st.current;if(L&&m&&ht){const P=Ye(L,n);if(P){m({id:Ve(),pageNumber:e,kind:"redact",color:$e,rects:Ke(P.rects),text:P.text});const D=En(P.rects),M=Ne(P.text||" ",D.fontSize),H={id:Ee(),pageNumber:e,x:D.x,y:D.y,width:M.width,height:M.height,value:P.text,fontSize:D.fontSize,color:de};ht(H),at==null||at(H.id),z==null||z(H.id),(v=window.getSelection())==null||v.removeAllRanges(),et.current=!0}}return}a.stopPropagation(),zt(a.clientX,a.clientY)}},Gt=a=>{const b=a.target;if(!(b.closest(".epochs-pdf-viewer__signature")||b.closest(".epochs-pdf-viewer__signature-field")||b.closest(".epochs-pdf-viewer__inline-text"))){if(d==="text"){zt(a.clientX,a.clientY);return}if(!ut&&d==="sign"&&xt&&S){const v=st.current;if(!v)return;const k=Le(a.clientX,a.clientY,v,n);S(e,Math.max(0,k.x-75),Math.max(0,k.y-12));return}if(!ut&&d==="sign"&&y&&j){const v=st.current;if(!v)return;const k=ye(v,n),L=Le(a.clientX,a.clientY,v,n);let P=L.x-y.width/2,D=L.y-y.height/2;const M=Math.max(0,k.width-y.width),H=Math.max(0,k.height-y.height);P=Math.min(Math.max(0,P),M),D=Math.min(Math.max(0,D),H),j({id:Fe(),pageNumber:e,x:P,y:D,width:y.width,height:y.height,imageDataUrl:y.imageDataUrl});return}}},Jt=a=>Ct===a.id?s.jsx("span",{ref:Zt,contentEditable:!0,suppressContentEditableWarning:!0,role:"textbox","aria-label":"Edit text",className:"epochs-pdf-viewer__inline-text epochs-pdf-viewer__inline-text--editing",style:{left:a.x*n,top:a.y*n,fontSize:a.fontSize*n,color:a.color,minWidth:Math.max(12,a.fontSize*n*.5),width:Math.max(a.width*n,a.fontSize*n*.5)},onClick:v=>v.stopPropagation(),onPointerDown:v=>v.stopPropagation(),onInput:v=>{const k=v.currentTarget.textContent??"",L=Ne(k||" ",a.fontSize);ft==null||ft(a.id,{value:k,width:L.width,height:L.height})},onBlur:v=>{lt(a,v.currentTarget.textContent??"")},onKeyDown:v=>{v.stopPropagation(),v.key==="Escape"&&(v.preventDefault(),v.currentTarget.blur()),v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),v.currentTarget.blur())}},a.id):a.value.trim()?s.jsx("span",{className:_t===a.id?"epochs-pdf-viewer__inline-text epochs-pdf-viewer__inline-text--selected":"epochs-pdf-viewer__inline-text",style:{left:a.x*n,top:a.y*n,fontSize:a.fontSize*n,color:a.color},onClick:v=>{if(v.stopPropagation(),d==="erase"){Q==null||Q(a.id);return}d==="text"&&(at==null||at(a.id),z==null||z(a.id))},children:a.value},a.id):null;return s.jsx("div",{ref:Qt,"data-page-number":e,className:"epochs-pdf-viewer__page",children:s.jsxs("div",{ref:st,className:`epochs-pdf-viewer__surface epochs-pdf-viewer__surface--tool-${d}`,onClick:Gt,children:[s.jsx("canvas",{ref:$t,className:"epochs-pdf-viewer__canvas"}),s.jsx("div",{className:"epochs-pdf-viewer__markup-layer","aria-hidden":"true",children:p.map(a=>a.kind==="redact"?null:a.rects.map((b,v)=>a.kind==="highlight"?s.jsx("div",{className:"epochs-pdf-viewer__markup epochs-pdf-viewer__markup--highlight",style:{left:b.x*n,top:b.y*n,width:b.w*n,height:b.h*n,background:a.color},onClick:k=>{d==="erase"&&(k.stopPropagation(),_==null||_(a.id))}},`${a.id}_${v}`):s.jsx("div",{className:"epochs-pdf-viewer__markup epochs-pdf-viewer__markup--underline",style:{left:b.x*n,top:(b.y+b.h)*n-Math.max(2,n*1.5),width:b.w*n,height:Math.max(2,n*1.5),background:a.color},onClick:k=>{d==="erase"&&(k.stopPropagation(),_==null||_(a.id))}},`${a.id}_${v}`)))}),s.jsxs("div",{className:"epochs-pdf-viewer__signature-layer",children:[F.map(a=>{const b=a.type??"sign",v=yt[a.id]??a.value??"",k=b==="date"||b==="text"?!!v.trim():R.some(L=>L.fieldId===a.id);return s.jsx("button",{type:"button","data-signature-field-id":a.id,className:rt===a.id?"epochs-pdf-viewer__signature-field epochs-pdf-viewer__signature-field--selected":k?"epochs-pdf-viewer__signature-field epochs-pdf-viewer__signature-field--filled":"epochs-pdf-viewer__signature-field",style:{left:a.x*n,top:a.y*n,width:a.width*n,height:a.height*n},onClick:L=>{if(L.stopPropagation(),V==null||V(a.id),b==="date"||b==="text"){I==null||I(null),Z==null||Z(b);return}const P=R.find(D=>D.fieldId===a.id);I==null||I((P==null?void 0:P.id)??null),P?A==null||A(P.id):Z==null||Z(b)},title:k?"Completed field":b==="date"?"Date field":b==="text"?"Text field":"Signature field",children:b==="date"||b==="text"?v.trim()?s.jsx("span",{className:"epochs-pdf-viewer__signature-field-value",children:v}):b==="date"?s.jsx("span",{children:"Date here"}):s.jsx("span",{children:a.placeholder??"Enter text"}):k?null:s.jsx("span",{children:"Sign here"})},a.id)}),R.map(a=>s.jsxs("div",{className:E===a.id?"epochs-pdf-viewer__signature epochs-pdf-viewer__signature--selected":"epochs-pdf-viewer__signature",style:{left:a.x*n,top:a.y*n,width:a.width*n,height:a.height*n},onPointerDown:b=>{if(b.stopPropagation(),b.preventDefault(),I==null||I(a.id),d==="erase"&&!ut){W==null||W(a.id);return}if(ut){V==null||V(a.fieldId??null),A==null||A(a.id);return}const v=st.current;if(!v)return;const k=Le(b.clientX,b.clientY,v,n);Mt({kind:"signature",id:a.id,offsetX:k.x-a.x,offsetY:k.y-a.y})},children:[s.jsx("button",{type:"button",className:"epochs-pdf-viewer__signature-edit",title:"Edit signature","aria-label":"Edit signature",onPointerDown:b=>{b.stopPropagation()},onClick:b=>{b.stopPropagation(),I==null||I(a.id),A==null||A(a.id)},children:s.jsx(bs,{size:12})}),ut?null:s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button",className:"epochs-pdf-viewer__signature-duplicate",title:"Duplicate signature","aria-label":"Duplicate signature",onPointerDown:b=>{b.stopPropagation()},onClick:b=>{b.stopPropagation(),I==null||I(a.id),O==null||O(a.id)},children:"⧉"}),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__signature-remove",title:"Remove signature","aria-label":"Remove signature",onPointerDown:b=>{b.stopPropagation()},onClick:b=>{b.stopPropagation(),W==null||W(a.id)},children:"×"})]}),s.jsx("img",{src:a.imageDataUrl,alt:"Signature",draggable:!1}),ut?null:s.jsx("div",{className:"epochs-pdf-viewer__signature-resize",title:"Resize",onPointerDown:b=>{b.stopPropagation(),b.preventDefault(),I==null||I(a.id),Mt({kind:"resize",id:a.id,startX:b.clientX,startY:b.clientY,startW:a.width,startH:a.height})},children:s.jsx("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:s.jsx("path",{d:"M7 1L1 7M7 4L4 7",stroke:"white",strokeWidth:"1.2",strokeLinecap:"round"})})})]},a.id))]}),s.jsx("div",{className:"epochs-pdf-viewer__text-layer-overlay",children:ct.map(a=>Jt(a))}),s.jsx("div",{ref:gt,className:"textLayer epochs-pdf-viewer__text-layer",onClick:Xt}),s.jsx("div",{className:"epochs-pdf-viewer__redact-layer","aria-hidden":"true",children:p.map(a=>a.kind==="redact"?a.rects.map((b,v)=>s.jsx("div",{className:"epochs-pdf-viewer__markup epochs-pdf-viewer__markup--redact",style:{left:b.x*n,top:b.y*n,width:b.w*n,height:b.h*n,background:a.color||$e},onClick:k=>{d==="erase"&&(k.stopPropagation(),_==null||_(a.id))}},`${a.id}_${v}`)):null)})]})})}function vs({pdfDoc:t,pageNumber:e,isActive:n,rotation:i,onSelect:r,width:o=140,annotations:d=[],signatures:u=[],signatureFields:w=[],texts:m=[],textFields:_=[]}){const x=f.useRef(null);return f.useEffect(()=>{if(!t||!x.current)return;let y=!1;const j=x.current,$=j.getContext("2d");if(!$)return;let W=null;return(async()=>{try{const O=await t.getPage(e);if(y)return;const E=O.getViewport({scale:1,rotation:i}),I=o/E.width,J=O.getViewport({scale:I,rotation:i});j.width=Math.floor(J.width),j.height=Math.floor(J.height),W=O.render({canvasContext:$,viewport:J}),await W.promise;const rt=d.filter(Y=>Y.pageNumber===e);rt.length>0&&Gn($,rt,I);const V=u.filter(Y=>Y.pageNumber===e),ut=w.filter(Y=>Y.pageNumber===e);ut.length>0&&qi($,ut,new Set(V.map(Y=>Y.fieldId).filter(Boolean)),I),V.length>0&&await qn($,V,I);const Z=m.filter(Y=>Y.pageNumber===e),yt=_.filter(Y=>Y.pageNumber===e);yt.length>0&&ss($,yt,new Set(Z.filter(Y=>Y.fieldId&&Y.value.trim()).map(Y=>Y.fieldId)),I),Z.length>0&&Vn($,Z,I)}catch{}})(),()=>{if(y=!0,W)try{W.cancel()}catch{}}},[d,t,e,i,w,u,_,m,o]),s.jsxs("button",{type:"button",onClick:()=>r(e),className:n?"epochs-pdf-viewer__thumb epochs-pdf-viewer__thumb--active":"epochs-pdf-viewer__thumb",title:`Page ${e}`,children:[s.jsx("div",{className:"epochs-pdf-viewer__thumb-frame",children:s.jsx("canvas",{ref:x})}),s.jsx("span",{className:"epochs-pdf-viewer__thumb-label",children:e})]})}const js=/^(blob:|https?:|data:)/i;let Yn=!1;function tn(t){be.GlobalWorkerOptions.workerSrc=t,Yn=!0}function ks(t){if(t){tn(t);return}Yn||be.GlobalWorkerOptions.workerSrc||tn(`https://unpkg.com/pdfjs-dist@${be.version}/build/pdf.worker.min.mjs`)}function Ms(t,e,n=""){const i=e||t;if(!i)return"";if(js.test(i))return i;const r=i.startsWith("/")?i:`/${i}`;return n?`${n.replace(/\/$/,"")}${r}`:r}async function Ns(t,e){const n=await fetch(t,e);if(!n.ok)throw new Error(`Failed to fetch PDF (${n.status})`);return n.arrayBuffer()}async function An(t,e){if(typeof t=="string")return Ns(t,e);if(t instanceof ArrayBuffer)return t.slice(0);if(t instanceof Uint8Array){const n=new Uint8Array(t.byteLength);return n.set(t),n.buffer}return t.arrayBuffer()}async function Ps(t,e,n){const{scale:i,rotation:r,annotations:o,signatures:d=[],texts:u=[],mimeType:w="image/jpeg",quality:m=.92}=n,_=await t.getPage(e),x=_.getViewport({scale:i,rotation:r}),y=_.getViewport({scale:1,rotation:r}),j=document.createElement("canvas"),$=j.getContext("2d",{alpha:!1});if(!$)throw new Error("Could not create canvas context");const W=Math.floor(x.width),A=Math.floor(x.height);j.width=W,j.height=A,$.fillStyle="#ffffff",$.fillRect(0,0,W,A),await _.render({canvasContext:$,viewport:x}).promise;const O=o.filter(V=>V.pageNumber===e);O.length>0&&Gn($,O,i);const E=d.filter(V=>V.pageNumber===e);E.length>0&&await qn($,E,i);const I=u.filter(V=>V.pageNumber===e);I.length>0&&Vn($,I,i);const J=j.toDataURL(w,m),rt=Cs(J);return j.width=0,j.height=0,{pageNumber:e,width:W,height:A,pageWidth:y.width,pageHeight:y.height,dataUrl:J,jpegBytes:rt}}async function Un(t,e){const n=[];for(let i=1;i<=t.numPages;i+=1)n.push(await Ps(t,i,e));return n}function Cs(t){const e=t.split(",")[1]??"",n=atob(e),i=new Uint8Array(n.length);for(let r=0;r<n.length;r+=1)i[r]=n.charCodeAt(r);return i}function Yt(t){return new TextEncoder().encode(t)}function Hn(...t){const e=t.reduce((r,o)=>r+o.byteLength,0),n=new Uint8Array(e);let i=0;for(const r of t)n.set(r,i),i+=r.byteLength;return n}function $s(t){const e=[],n=y=>(e.push(y),e.length),i=[];for(const y of t){const j=Hn(Yt(`<< /Type /XObject /Subtype /Image /Width ${y.width} /Height ${y.height} /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length ${y.jpegBytes.byteLength} >>
4
4
  stream
5
- `),b.jpegBytes,Xt(`
6
- endstream`)),C=n(k),H=`q
7
- ${b.pageWidth.toFixed(2)} 0 0 ${b.pageHeight.toFixed(2)} 0 0 cm
5
+ `),y.jpegBytes,Yt(`
6
+ endstream`)),$=n(j),W=`q
7
+ ${y.pageWidth.toFixed(2)} 0 0 ${y.pageHeight.toFixed(2)} 0 0 cm
8
8
  /Im0 Do
9
- Q`,A=n(Xt(`<< /Length ${H.length} >>
9
+ Q`,A=n(Yt(`<< /Length ${W.length} >>
10
10
  stream
11
- ${H}
12
- endstream`)),L=n(Xt(`<< /Type /Page /Parent __PAGES__ 0 R /MediaBox [0 0 ${b.pageWidth.toFixed(2)} ${b.pageHeight.toFixed(2)}] /Contents ${A} 0 R /Resources << /XObject << /Im0 ${C} 0 R >> >> >>`));i.push(L)}const r=i.map(b=>`${b} 0 R`).join(" "),o=n(Xt(`<< /Type /Pages /Kids [${r}] /Count ${i.length} >>`));for(const b of i){const k=new TextDecoder().decode(e[b-1]);e[b-1]=Xt(k.replace("/Parent __PAGES__ 0 R",`/Parent ${o} 0 R`))}const d=n(Xt(`<< /Type /Catalog /Pages ${o} 0 R >>`)),u=[Xt(`%PDF-1.4
13
- `)],w=[0];let m=u[0].byteLength;for(let b=0;b<e.length;b+=1){w.push(m);const k=Xt(`${b+1} 0 obj
14
- `),C=Xt(`
11
+ ${W}
12
+ endstream`)),O=n(Yt(`<< /Type /Page /Parent __PAGES__ 0 R /MediaBox [0 0 ${y.pageWidth.toFixed(2)} ${y.pageHeight.toFixed(2)}] /Contents ${A} 0 R /Resources << /XObject << /Im0 ${$} 0 R >> >> >>`));i.push(O)}const r=i.map(y=>`${y} 0 R`).join(" "),o=n(Yt(`<< /Type /Pages /Kids [${r}] /Count ${i.length} >>`));for(const y of i){const j=new TextDecoder().decode(e[y-1]);e[y-1]=Yt(j.replace("/Parent __PAGES__ 0 R",`/Parent ${o} 0 R`))}const d=n(Yt(`<< /Type /Catalog /Pages ${o} 0 R >>`)),u=[Yt(`%PDF-1.4
13
+ `)],w=[0];let m=u[0].byteLength;for(let y=0;y<e.length;y+=1){w.push(m);const j=Yt(`${y+1} 0 obj
14
+ `),$=Yt(`
15
15
  endobj
16
- `);u.push(k,e[b],C),m+=k.byteLength+e[b].byteLength+C.byteLength}const _=m;let y=`xref
16
+ `);u.push(j,e[y],$),m+=j.byteLength+e[y].byteLength+$.byteLength}const _=m;let x=`xref
17
17
  0 ${e.length+1}
18
- `;y+=`0000000000 65535 f
19
- `;for(let b=1;b<=e.length;b+=1)y+=`${String(w[b]).padStart(10,"0")} 00000 n
20
- `;return y+=`trailer
18
+ `;x+=`0000000000 65535 f
19
+ `;for(let y=1;y<=e.length;y+=1)x+=`${String(w[y]).padStart(10,"0")} 00000 n
20
+ `;return x+=`trailer
21
21
  << /Size ${e.length+1} /Root ${d} 0 R >>
22
- `,y+=`startxref
22
+ `,x+=`startxref
23
23
  ${_}
24
- %%EOF`,u.push(Xt(y)),Hn(...u)}function Je(t,e){const n=URL.createObjectURL(t),i=document.createElement("a");i.href=n,i.download=e,i.click(),URL.revokeObjectURL(n)}const Pe=[{id:"dancing-script",label:"Dancing Script",family:"Dancing Script"},{id:"great-vibes",label:"Great Vibes",family:"Great Vibes"},{id:"pacifico",label:"Pacifico",family:"Pacifico"},{id:"satisfy",label:"Satisfy",family:"Satisfy"},{id:"allura",label:"Allura",family:"Allura"}],Ts="https://fonts.googleapis.com/css2?family=Allura&family=Dancing+Script:wght@500;600&family=Great+Vibes&family=Pacifico&family=Satisfy&display=swap";let Le=null;function Rs(){return typeof document>"u"?Promise.resolve():Le||(Le=new Promise(t=>{var i;if(!document.querySelector('link[data-epochs-signature-fonts="true"]')){const r=document.createElement("link");r.rel="stylesheet",r.href=Ts,r.dataset.epochsSignatureFonts="true",document.head.appendChild(r)}const n=()=>Promise.all(Pe.map(r=>document.fonts.load(`48px "${r.family}"`))).then(()=>{});(i=document.fonts)!=null&&i.ready?document.fonts.ready.then(n).then(t).catch(()=>t()):window.setTimeout(()=>{n().then(t).catch(()=>t())},300)}),Le)}function On(t,e){return t==="initials"?72:e==="Great Vibes"||e==="Allura"?56:e==="Pacifico"?44:48}function Ls({open:t,onClose:e,onSave:n,onSaveFieldValue:i,fieldType:r,showFieldTypeTabs:o=!1,textPlaceholder:d,initialFieldValue:u,rememberedByType:w,onRememberFill:m}){const _=f.useRef(null),y=f.useRef(!1),b=f.useRef(null),k=f.useRef([]),C=f.useRef([]),H=f.useRef(null),A=r??"sign",[L,Z]=f.useState(A),[T,rt]=f.useState(""),[ot,Y]=f.useState(""),[Q,wt]=f.useState("draw"),[yt,q]=f.useState(""),[Pt,ft]=f.useState(""),[U,tt]=f.useState(!1),[et,bt]=f.useState("signature"),[V,Vt]=f.useState("#111827"),[dt,qt]=f.useState("dancing-script"),[Ce,At]=f.useState(!1),[Gt,Ct]=f.useState(!1),z=Pe.find(p=>p.id===dt)??Pe[0],jt=et==="initials"?Pt.trim():yt.trim(),$t=jt||(et==="initials"?"AB":"Signature");if(f.useEffect(()=>{var G,K;if(!t)return;if(Z(A),A==="date"){rt(u||((G=w==null?void 0:w.date)==null?void 0:G.value)||new Date().toISOString().slice(0,10));return}if(A==="text"){Y(u||((K=w==null?void 0:w.text)==null?void 0:K.value)||"");return}const p=w==null?void 0:w.sign;if(!p){wt("draw"),q(""),ft(""),tt(!1),bt("signature"),Vt("#111827"),qt("dancing-script"),H.current=null,Ct(!1);return}wt(p.mode),q(p.typedName??""),ft(p.typedInitials??""),tt(!!p.typedInitials),bt(p.typeKind??"signature"),Vt(p.inkColor??"#111827");const I=Pe.find(Mt=>Mt.id===p.fontId);I&&qt(I.id),p.mode==="draw"?(H.current={imageDataUrl:p.imageDataUrl,width:p.width,height:p.height},Ct(!0)):(H.current=null,Ct(!1))},[t,A,w,u]),f.useEffect(()=>{if(!t||L!=="sign")return;const p=_.current;if(!p)return;const I=p.getContext("2d");if(!I||(p.width=560,p.height=200,I.fillStyle="#ffffff",I.fillRect(0,0,p.width,p.height),I.lineCap="round",I.lineJoin="round",I.strokeStyle=V,I.lineWidth=2.5,b.current=null,y.current=!1,k.current=[],C.current=[],Q!=="draw"))return;const G=H.current;if(!(G!=null&&G.imageDataUrl))return;const K=new Image;K.onload=()=>{const Mt=Math.min(p.width/Math.max(1,G.width),p.height/Math.max(1,G.height),1),zt=G.width*Mt,Bt=G.height*Mt;I.drawImage(K,(p.width-zt)/2,(p.height-Bt)/2,zt,Bt)},K.src=G.imageDataUrl},[t,L,Q]),f.useEffect(()=>{if(!t)return;let p=!1;return At(!1),Rs().then(()=>{p||At(!0)}),()=>{p=!0}},[t]),f.useEffect(()=>{const p=_.current,I=p==null?void 0:p.getContext("2d");I&&(I.strokeStyle=V,I.fillStyle=V)},[V]),f.useEffect(()=>{if(!t||Q!=="type")return;const p=_.current,I=p==null?void 0:p.getContext("2d");if(!p||!I||(I.fillStyle="#ffffff",I.fillRect(0,0,p.width,p.height),!jt))return;const G=On(et,z.family);I.fillStyle=V,I.textAlign="center",I.textBaseline="middle",I.font=`${G}px "${z.family}", cursive`,I.fillText(jt,p.width/2,p.height/2)},[jt,et,Q,V,t,z,Ce]),!t)return null;const pt=p=>{const I=_.current,G=I.getBoundingClientRect();return{x:(p.clientX-G.left)/G.width*I.width,y:(p.clientY-G.top)/G.height*I.height}},at=p=>{if(Q!=="draw")return;if(H.current){H.current=null,Ct(!1);const G=_.current,K=G==null?void 0:G.getContext("2d");G&&K&&(K.fillStyle="#ffffff",K.fillRect(0,0,G.width,G.height),K.strokeStyle=V,K.lineWidth=2.5,K.lineCap="round",K.lineJoin="round"),k.current=[]}p.currentTarget.setPointerCapture(p.pointerId),y.current=!0;const I=pt(p);b.current=I,C.current=[I]},Dt=p=>{if(!y.current||Q!=="draw")return;const I=_.current,G=I==null?void 0:I.getContext("2d"),K=b.current;if(!G||!K)return;const Mt=pt(p);G.beginPath(),G.moveTo(K.x,K.y),G.lineTo(Mt.x,Mt.y),G.stroke(),b.current=Mt,C.current.push(Mt)},nt=()=>{C.current.length>1&&k.current.push([...C.current]),C.current=[],y.current=!1,b.current=null},gt=()=>{const p=_.current,I=p==null?void 0:p.getContext("2d");!p||!I||(I.fillStyle="#ffffff",I.fillRect(0,0,p.width,p.height),k.current=[],C.current=[],H.current=null,Ct(!1),q(""),ft(""),tt(!1))},kt=p=>{q(p),U||ft(Ds(p))},Yt=()=>{if(Q==="draw"){const N=k.current,S=H.current;if(N.length===0){if(!S)return;m==null||m("sign",{mode:"draw",imageDataUrl:S.imageDataUrl,width:S.width,height:S.height,inkColor:V}),n(S.imageDataUrl,S.width,S.height);return}let B=1/0,R=1/0,it=-1/0,W=-1/0;for(const Ut of N)for(const lt of Ut)lt.x<B&&(B=lt.x),lt.y<R&&(R=lt.y),lt.x>it&&(it=lt.x),lt.y>W&&(W=lt.y);const ct=8;B=Math.max(0,B-ct),R=Math.max(0,R-ct),it+=ct,W+=ct;const xt=it-B,It=W-R,Ft=N.map(Ut=>"M"+Ut.map(ut=>({x:ut.x-B,y:ut.y-R})).map(ut=>`${ut.x.toFixed(1)},${ut.y.toFixed(1)}`).join("L")).join(" "),Wt=`<svg xmlns="http://www.w3.org/2000/svg" width="${xt.toFixed(0)}" height="${It.toFixed(0)}" viewBox="0 0 ${xt.toFixed(0)} ${It.toFixed(0)}"><path d="${Ft}" fill="none" stroke="${V}" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg>`,Tt=`data:image/svg+xml;base64,${btoa(Wt)}`;m==null||m("sign",{mode:"draw",imageDataUrl:Tt,width:xt,height:It,inkColor:V}),n(Tt,xt,It);return}if(!jt)return;const p=3,I=On(et,z.family),K=document.createElement("canvas").getContext("2d");K.font=`${I*p}px "${z.family}", cursive`;const Mt=K.measureText(jt),zt=12*p,Bt=Math.ceil(Mt.width)+zt*2,Jt=I*p+zt*2,a=document.createElement("canvas");a.width=Bt,a.height=Jt;const x=a.getContext("2d");x.clearRect(0,0,Bt,Jt),x.font=`${I*p}px "${z.family}", cursive`,x.fillStyle=V,x.textBaseline="middle",x.fillText(jt,zt,Jt/2);const v=a.toDataURL("image/png"),j=Bt/p,D=Jt/p,P=`<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><image href="${v}"/></svg>`,F=`data:image/svg+xml;base64,${btoa(P)}`;m==null||m("sign",{mode:"type",imageDataUrl:F,width:j,height:D,typedName:yt,typedInitials:Pt,fontId:dt,inkColor:V,typeKind:et}),n(F,j,D)},ht=()=>{if(L!=="date"&&L!=="text")return;const p=L==="date"?T:ot.trim();p&&(m==null||m(L,{value:p}),i==null||i(p,L))},Ot=L==="sign",Nt=L==="date"?"Pick a date":L==="text"?"Enter text":"Create e-signature";return s.jsxs("div",{className:"epochs-pdf-viewer__modal",role:"dialog","aria-modal":"true",children:[s.jsx("div",{className:"epochs-pdf-viewer__modal-backdrop",onClick:e}),s.jsxs("div",{className:"epochs-pdf-viewer__modal-card",children:[s.jsxs("div",{className:"epochs-pdf-viewer__modal-header",children:[s.jsx("h3",{children:Nt}),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e,title:"Close",children:"×"})]}),o&&!r?s.jsx("div",{className:"epochs-pdf-viewer__field-type-tabs",role:"tablist",children:["sign","date","text"].map(p=>s.jsx("button",{type:"button",role:"tab","aria-selected":L===p,className:L===p?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>Z(p),children:p==="sign"?"Sign":p==="date"?"Date":"Text"},p))}):null,Ot?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"epochs-pdf-viewer__sign-modes",children:[s.jsx("button",{type:"button",className:Q==="draw"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>{wt("draw"),gt()},children:"Draw"}),s.jsx("button",{type:"button",className:Q==="type"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>wt("type"),children:"Type"}),s.jsxs("label",{className:"epochs-pdf-viewer__sign-ink",children:["Ink",s.jsx("input",{type:"color",value:V,onChange:p=>Vt(p.target.value)})]})]}),Q==="type"?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"epochs-pdf-viewer__sign-fonts",role:"group","aria-label":"Handwriting style",children:Pe.map(p=>s.jsx("button",{type:"button",className:dt===p.id?"epochs-pdf-viewer__sign-font epochs-pdf-viewer__sign-font--active":"epochs-pdf-viewer__sign-font",style:{fontFamily:`"${p.family}", cursive`},onClick:()=>qt(p.id),title:p.label,children:$t},p.id))}),s.jsxs("div",{className:"epochs-pdf-viewer__sign-type-fields",children:[s.jsxs("label",{className:"epochs-pdf-viewer__sign-type-field",children:[s.jsx("span",{children:"Full name"}),s.jsx("input",{className:"epochs-pdf-viewer__sign-type-input",type:"text",value:yt,onChange:p=>kt(p.target.value),onFocus:()=>bt("signature"),placeholder:"Type your full name",style:{fontFamily:`"${z.family}", cursive`},autoFocus:!0})]}),s.jsxs("label",{className:"epochs-pdf-viewer__sign-type-field",children:[s.jsx("span",{children:"Initials"}),s.jsx("input",{className:"epochs-pdf-viewer__sign-type-input",type:"text",value:Pt,onChange:p=>{tt(!0),ft(p.target.value.toUpperCase())},onFocus:()=>bt("initials"),placeholder:"e.g. JD",maxLength:4,style:{fontFamily:`"${z.family}", cursive`}})]})]}),s.jsxs("div",{className:"epochs-pdf-viewer__sign-type-kind",role:"group","aria-label":"Preview type",children:[s.jsx("button",{type:"button",className:et==="signature"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>bt("signature"),children:"Use full name"}),s.jsx("button",{type:"button",className:et==="initials"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>bt("initials"),children:"Use initials"})]})]}):s.jsx("p",{className:"epochs-pdf-viewer__sign-hint",children:Gt?"Previous signature loaded — submit to reuse, or draw a new one":"Draw your signature below"}),s.jsx("canvas",{ref:_,className:Q==="draw"?"epochs-pdf-viewer__sign-canvas":"epochs-pdf-viewer__sign-canvas epochs-pdf-viewer__sign-canvas--preview",onPointerDown:at,onPointerMove:Dt,onPointerUp:nt,onPointerLeave:nt})]}):L==="date"?s.jsxs("label",{className:"epochs-pdf-viewer__sign-type-field",style:{padding:"1rem"},children:[s.jsx("span",{children:"Date"}),s.jsx("input",{className:"epochs-pdf-viewer__sign-type-input",type:"date",value:T,onChange:p=>rt(p.target.value),autoFocus:!0})]}):s.jsxs("label",{className:"epochs-pdf-viewer__sign-type-field",style:{padding:"1rem"},children:[s.jsx("span",{children:"Text"}),s.jsx("input",{className:"epochs-pdf-viewer__sign-type-input",type:"text",value:ot,onChange:p=>Y(p.target.value),placeholder:d??"Enter text",autoFocus:!0})]}),s.jsxs("div",{className:"epochs-pdf-viewer__modal-actions",children:[Ot?s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:gt,children:"Clear"}):null,s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:e,children:"Cancel"}),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--primary",onClick:Ot?Yt:ht,disabled:L==="date"?!T:L==="text"?!ot.trim():!1,children:Ot?"Use signature":"Place on page"})]})]})]})}function Ds(t){const e=t.trim().split(/\s+/).filter(Boolean);return e.length===0?"":e.length===1?e[0].slice(0,2).toUpperCase():e.slice(0,3).map(n=>{var i;return((i=n[0])==null?void 0:i.toUpperCase())??""}).join("")}const Ee="__epochsToolbarToolId";function Et(t,e){const n=(()=>null);return n.displayName=e,Object.defineProperty(n,Ee,{value:t,enumerable:!0}),n}function zn(t){return t[Ee]}function Fs(t){return typeof t=="function"&&Ee in t&&typeof t[Ee]=="string"}const an=Et("thumbnail","Thumbnail"),cn=Et("navigation","Navigation"),ln=Et("zoom","Zoom"),dn=Et("rotate","Rotate"),hn=Et("reload","Reload"),un=Et("print","Print"),fn=Et("open","Open"),pn=Et("download","Download"),gn=Et("highlight","Highlight"),mn=Et("underline","Underline"),wn=Et("signature","Signature"),xn=Et("text","AddText"),bn=Et("erase","Erase"),yn=Et("clear","Clear"),Ss=[an,cn,ln,dn,gn,mn,wn,xn,bn,yn,hn,un,fn,pn],en=[[an,cn],[ln,dn,gn,mn,wn,xn,bn,yn,hn,un,fn,pn]],Es=["highlight","underline","signature","text","erase","clear"];function Bn(t){return Es.includes(t)}function As(t,e,n){const i=[];switch(n!=null&&n.showMarkupSep&&i.push(s.jsx("span",{className:"epochs-pdf-viewer__toolbar-sep","aria-hidden":"true"},`${t}-sep`)),t){case"thumbnail":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:()=>e.setShowThumbnails(r=>!r),title:e.showThumbnails?"Hide thumbnails":"Show thumbnails",children:s.jsx(ds,{})},"thumbnail"));break;case"navigation":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handlePrev,disabled:!e.canGoPrev||e.status!=="ready",title:"Previous page",children:s.jsx(os,{})},"nav-prev"),s.jsxs("div",{className:"epochs-pdf-viewer__page-input",children:[s.jsx("input",{type:"number",value:e.pageNumber,min:1,max:e.numPages||1,onChange:r=>{const o=Number.parseInt(r.target.value,10);Number.isFinite(o)&&e.scrollToPage(Math.max(1,Math.min(e.numPages||1,o)))},disabled:e.status!=="ready","aria-label":"Page number"}),s.jsxs("span",{children:["/ ",e.numPages||"-"]})]},"nav-page"),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handleNext,disabled:!e.canGoNext||e.status!=="ready",title:"Next page",children:s.jsx(as,{})},"nav-next"));break;case"zoom":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handleZoomOut,disabled:e.status!=="ready",title:"Zoom out",children:s.jsx(hs,{})},"zoom-out"),s.jsxs("span",{className:"epochs-pdf-viewer__zoom-label",children:[Math.round(e.scale*100),"%"]},"zoom-label"),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handleZoomIn,disabled:e.status!=="ready",title:"Zoom in",children:s.jsx(us,{})},"zoom-in"),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>void e.handleFitWidth(),disabled:e.status!=="ready",title:"Fit to width",children:"Fit"},"zoom-fit"));break;case"rotate":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handleRotate,disabled:e.status!=="ready",title:"Rotate",children:s.jsx(gs,{})},"rotate"));break;case"highlight":i.push(s.jsx("button",{type:"button",className:e.markupTool==="highlight"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>e.toggleMarkupTool("highlight"),disabled:e.status!=="ready",title:"Highlight text — select text to highlight",children:s.jsx(ms,{})},"highlight"));break;case"underline":i.push(s.jsx("button",{type:"button",className:e.markupTool==="underline"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>e.toggleMarkupTool("underline"),disabled:e.status!=="ready",title:"Underline text — select text to underline",children:s.jsx(ws,{})},"underline"));break;case"signature":i.push(s.jsx("button",{type:"button",className:e.markupTool==="sign"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>{if(!e.hasFixedSignatureFields&&e.pendingSignature&&e.markupTool!=="sign"){e.setMarkupTool("sign");return}e.setSignaturePadOpen(!0)},disabled:e.status!=="ready",title:e.hasFixedSignatureFields?"Create e-signature for a fixed field":e.pendingSignature?"Place signature — click on the page, then drag to move":"Create e-signature",children:s.jsx(bs,{})},"signature"));break;case"text":i.push(s.jsx("button",{type:"button",className:e.markupTool==="text"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>e.toggleMarkupTool("text"),disabled:e.status!=="ready",title:e.hasFixedTextFields?"Edit text in predefined areas — click to type":"Edit PDF text — select words, then change them",children:s.jsx(_s,{})},"text"));break;case"erase":i.push(s.jsx("button",{type:"button",className:e.markupTool==="erase"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>e.toggleMarkupTool("erase"),disabled:e.status!=="ready",title:"Remove text — select PDF words to cover them, or click added markup",children:s.jsx(xs,{})},"erase"));break;case"clear":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:e.handleClearAnnotations,disabled:e.status!=="ready"||e.annotationsLength===0&&e.signaturesLength===0&&e.textsLength===0,title:"Clear all markup",children:"Clear"},"clear"));break;case"reload":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:()=>void e.loadDocument(),title:"Reload",children:s.jsx(ps,{})},"reload"));break;case"print":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:()=>void e.handlePrint(),disabled:e.status!=="ready"||!e.pdfDoc||e.isPrinting,title:e.isPrinting?"Preparing print…":"Print (includes highlights & underlines)",children:s.jsx(fs,{})},"print"));break;case"open":i.push(s.jsx("a",{className:"epochs-pdf-viewer__btn",href:e.displayUrl||e.resolvedUrl||void 0,target:"_blank",rel:"noopener noreferrer",title:"Open in new tab",children:s.jsx(ls,{})},"open"));break;case"download":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:()=>void e.handleDownload(),disabled:e.status!=="ready"||!e.pdfDoc||e.isDownloading,title:e.isDownloading?"Preparing download…":e.annotationsLength>0||e.signaturesLength>0||e.textsLength>0?"Download PDF with markup":"Download PDF",children:s.jsx(cs,{})},"download"));break}return i.length>0?i:null}function Us(t,e){const n=[];if(t.markupTool==="sign"&&t.pendingSignature&&!t.hasFixedSignatureFields&&e.has("signature")&&n.push(s.jsx("span",{className:"epochs-pdf-viewer__markup-hint",children:"Click page to place duplicate/new signature"},"sign-hint")),t.markupTool==="text"&&e.has("text")&&n.push(s.jsx("span",{className:"epochs-pdf-viewer__markup-hint",children:t.hasFixedTextFields?"Click in a predefined text area to type":"Select text to edit it — e.g. change this PDF to this is PDF"},"text-hint")),t.markupTool==="erase"&&e.has("erase")&&n.push(s.jsx("span",{className:"epochs-pdf-viewer__markup-hint",children:"Select PDF words to remove · click added text/markup to erase"},"erase-hint")),t.markupTool==="highlight"&&e.has("highlight")||t.markupTool==="underline"&&e.has("underline")){const i=t.markupTool==="highlight"?t.highlightHex:t.underlineHex,r=t.markupTool==="highlight"?t.setHighlightHex:t.setUnderlineHex,o=t.markupTool==="highlight"?sn:rn;n.push(s.jsxs("div",{className:"epochs-pdf-viewer__color-picker",role:"group","aria-label":`${t.markupTool} color`,children:[o.map(d=>s.jsx("button",{type:"button",className:ee(i)===ee(d.hex)?"epochs-pdf-viewer__swatch epochs-pdf-viewer__swatch--active":"epochs-pdf-viewer__swatch",style:{background:d.hex},title:d.label,"aria-label":d.label,"aria-pressed":ee(i)===ee(d.hex),onClick:()=>r(ee(d.hex))},d.id)),s.jsxs("label",{className:"epochs-pdf-viewer__custom-color",title:"Custom color",children:[s.jsx("span",{className:"epochs-pdf-viewer__custom-color-chip",style:{background:i}}),s.jsx("input",{type:"color",value:ee(i),onChange:d=>r(ee(d.target.value)),"aria-label":"Custom color"})]})]},"color-picker"))}return n.length>0?n:null}function Hs(t,e){if(!t)return null;if(Array.isArray(t)){const o=d=>(d??[]).filter(Fs).map(zn);return{left:o(t[0]),right:o(t[1])}}const n=e.enableThumbnails,i=(o,d)=>o.map(zn).filter(u=>d[u]!==!1),r={thumbnail:n,navigation:e.enableNavigation,zoom:e.enableZoom,rotate:e.enableRotate,reload:e.enableReload,print:e.enablePrint,open:e.enableOpen,download:e.enableDownload,highlight:e.enableHighlight,underline:e.enableUnderline,signature:e.enableSignature,text:e.enableText,erase:e.enableErase,clear:e.enableClear};return{left:i(en[0],r),right:i(en[1],r)}}function Kn({file:t,fileUrl:e,baseUrl:n="",fetchOptions:i,height:r="80vh",title:o="PDF document",initialScale:d=1,withThumbnails:u=!1,thumbnailWidth:w=140,maxThumbnails:m=60,className:_,workerSrc:y,enableToolbar:b=!1,enableThumbnails:k,enableNavigation:C=!0,enableZoom:H=!0,enableRotate:A=!0,enableReload:L=!0,enablePrint:Z=!0,enableOpen:T=!0,enableDownload:rt=!0,enableMarkup:ot=!0,enableHighlight:Y=!0,enableUnderline:Q=!0,enableSignature:wt=!0,enableText:yt=!0,enableErase:q=!0,enableClear:Pt=!0,signatureFields:ft=[],textFields:U=[],onSignatureComplete:tt,onSignatureFieldsChange:et,applySignatureToSameTag:bt=!1,onFieldValueComplete:V,openSignaturePad:Vt=!1,onSignaturePadClose:dt,onSubmit:qt,submitLabel:Ce="Submit",submitLoading:At=!1}){var Dn,Fn;const Gt=f.useRef(null),Ct=f.useRef(null),z=f.useRef(new Map),jt=f.useRef(!1),$t=f.useMemo(()=>t&&typeof t!="string"?t:null,[t]),pt=f.useMemo(()=>$t?"":Ns(typeof t=="string"?t:void 0,e,n),[$t,t,e,n]),[at,Dt]=f.useState("idle"),[nt,gt]=f.useState(null),[kt,Yt]=f.useState(0),[ht,Ot]=f.useState(1),[Nt,p]=f.useState(d),[I,G]=f.useState(0),[K,Mt]=f.useState(null),[zt,Bt]=f.useState(!1),[Jt,a]=f.useState(!1),[x,v]=f.useState(!1),[j,D]=f.useState("none"),[P,F]=f.useState([]),[N,S]=f.useState([]),[B,R]=f.useState([]),[it,W]=f.useState(!1),[ct,xt]=f.useState(void 0),[It,Ft]=f.useState({}),[Wt,Tt]=f.useState(null),[Ut,lt]=f.useState(null),[ut,Kt]=f.useState(null),[ce,Zt]=f.useState(null),[$e,le]=f.useState(null),[ui,xe]=f.useState(null),[fi,Ie]=f.useState(null),[jn,pi]=f.useState(Gn),[kn,gi]=f.useState(Vi),be=U.length>0,[Ht,Ae]=f.useState({}),[E,Ue]=f.useState(ft),de=f.useRef(E);de.current=E,f.useEffect(()=>{de.current=ft,Ue(ft),Ae(c=>{const h={...c};for(const l of ft){const g=l.type??"sign";(g==="date"||g==="text")&&l.value!=null&&l.value!==""&&(h[l.id]=l.value)}return h})},[ft]);const Rt=E.length>0,ye=f.useCallback((c,h,l)=>{var M;const g=c.type??"sign";return g==="date"||g==="text"?!!((M=l[c.id]??c.value)!=null&&M.trim()):h.some($=>$.fieldId===c.id)||!!c.signatureDataUrl},[]),Mn=f.useCallback((c,h)=>{const l=new Set(c),M=de.current.map($=>l.has($.id)?{...$,value:h}:$);de.current=M,Ue(M),et==null||et(M),Ae($=>{const O={...$};for(const st of c)O[st]=h;return O});for(const $ of c)V==null||V($,h)},[V,et]),_e=f.useCallback((c,h,l)=>{const g=de.current,M=c==null?null:Array.isArray(c)?c:[c],$=M?new Set(M):null,O=$?g.map(st=>$.has(st.id)?{...st,signatureDataUrl:h.imageDataUrl}:st):[...g,{id:h.id,pageNumber:h.pageNumber,x:h.x,y:h.y,width:h.width,height:h.height,type:"sign",signatureDataUrl:h.imageDataUrl}];if(de.current=O,Ue(O),et==null||et(O),!M||M.length===0){tt==null||tt(void 0,h);return}for(const st of M)tt==null||tt(st,(l==null?void 0:l.get(st))??h)},[tt,et]);f.useEffect(()=>{Vt&&W(!0)},[Vt]);const ne=f.useMemo(()=>Hs(b,{enableThumbnails:k,enableNavigation:C,enableZoom:H,enableRotate:A,enableReload:L,enablePrint:Z,enableOpen:T,enableDownload:rt,enableHighlight:Y,enableUnderline:Q,enableSignature:wt,enableText:yt,enableErase:q,enableClear:Pt}),[b,k,C,H,A,L,Z,T,rt,Y,Q,wt,yt,q,Pt]),ie=f.useMemo(()=>ne?new Set([...ne.left,...ne.right]):new Set,[ne]);f.useEffect(()=>{if(!ie.has("thumbnail")){Bt(!1);return}const h=window.matchMedia("(max-width: 720px)"),l=()=>{Bt(h.matches?!1:u)};return l(),h.addEventListener("change",l),()=>h.removeEventListener("change",l)},[ie,u]);const Nn=!Rt&&ie.has("highlight"),Pn=!Rt&&ie.has("underline"),He=ie.has("signature")||Rt,Cn=ie.has("text")||be,$n=!Rt&&ie.has("erase"),ve=f.useCallback(()=>{Ct.current&&(URL.revokeObjectURL(Ct.current),Ct.current=null)},[]),Oe=f.useCallback(async()=>{if(!(!$t&&!pt)){Ms(y),Dt("loading"),gt(null),Yt(0),Ot(1),F([]),S([]),R([]),Tt(null),lt(null),Kt(null),Zt(null),le(null),xe(null),Ie(null),D("none");try{const c=$t?await An($t,i):await An(pt,i),h=new Blob([c],{type:"application/pdf"}),l=URL.createObjectURL(h);ve(),Ct.current=l,Mt(l);const M=await me.getDocument({data:c,cMapUrl:`https://unpkg.com/pdfjs-dist@${me.version}/cmaps/`,cMapPacked:!0,standardFontDataUrl:`https://unpkg.com/pdfjs-dist@${me.version}/standard_fonts/`}).promise;gt(M),Yt(M.numPages),Dt("ready")}catch{Dt("error")}}},[$t,pt,i,ve,y]);f.useEffect(()=>{if(!$t&&!pt){Dt("idle"),gt(null),Yt(0),Mt(null),ve();return}return Oe(),()=>{ve()}},[$t,pt,Oe,ve]),f.useEffect(()=>{(j==="highlight"&&!Nn||j==="underline"&&!Pn||j==="sign"&&!He||j==="text"&&!Cn||j==="erase"&&!$n)&&D("none")},[Nn,Pn,He,Cn,$n,j]);const he=f.useCallback(c=>{const h=Math.max(1,Math.min(kt||1,c)),l=z.current.get(h);if(!l){Ot(h);return}jt.current=!0,l.scrollIntoView({behavior:"smooth",block:"start"}),Ot(h),window.setTimeout(()=>{jt.current=!1},500)},[kt]),ue=f.useCallback(c=>{const h=z.current.get(c.pageNumber);h&&(jt.current=!0,Ot(c.pageNumber));const l=()=>{var M;const g=(M=Gt.current)==null?void 0:M.querySelector(`[data-signature-field-id="${CSS.escape(c.id)}"]`);g?g.scrollIntoView({behavior:"smooth",block:"center"}):h&&h.scrollIntoView({behavior:"smooth",block:"start"}),window.setTimeout(()=>{jt.current=!1},500)};window.requestAnimationFrame(()=>{window.setTimeout(l,40)})},[]);f.useEffect(()=>{if(at!=="ready"||!Gt.current||!kt)return;const c=Gt.current,h=new IntersectionObserver(l=>{if(jt.current)return;let g=null;for(const M of l){if(!M.isIntersecting)continue;const $=Number.parseInt(M.target.dataset.pageNumber||"0",10);$&&(!g||M.intersectionRatio>g.ratio)&&(g={page:$,ratio:M.intersectionRatio})}g&&Ot(g.page)},{root:c,threshold:[.25,.5,.75]});for(let l=1;l<=kt;l+=1){const g=z.current.get(l);g&&h.observe(g)}return()=>h.disconnect()},[at,kt]);const ze=ht>1,Be=kt?ht<kt:!1,mi=f.useCallback(()=>{ze&&he(ht-1)},[ze,ht,he]),wi=f.useCallback(()=>{Be&&he(ht+1)},[Be,ht,he]),xi=f.useCallback(()=>{G(c=>(c+90)%360)},[]),bi=f.useCallback(()=>{p(c=>Math.max(.25,Math.round((c-.1)*100)/100))},[]),yi=f.useCallback(()=>{p(c=>Math.min(5,Math.round((c+.1)*100)/100))},[]),We=f.useCallback(async()=>{if(!(!nt||!Gt.current))try{const h=(await nt.getPage(ht)).getViewport({scale:1,rotation:I}),g=window.matchMedia("(max-width: 720px)").matches?16:24,$=Math.max(0,Gt.current.clientWidth-g)/h.width;p(Math.max(.25,Math.min(5,Math.round($*100)/100)))}catch{}},[nt,ht,I]);f.useEffect(()=>{if(at!=="ready"||!nt||!window.matchMedia("(max-width: 720px)").matches)return;let c=!1;const h=()=>{c||We()};h();const l=Gt.current,g=typeof ResizeObserver<"u"&&l?new ResizeObserver(()=>h()):null;g==null||g.observe(l);const M=window.matchMedia("(max-width: 720px)"),$=()=>{M.matches&&h()};return M.addEventListener("change",$),()=>{c=!0,g==null||g.disconnect(),M.removeEventListener("change",$)}},[at,nt,zt,I,We]);const In=f.useMemo(()=>E.flatMap(c=>{const h=c.type??"sign";if(h!=="date"&&h!=="text")return[];const l=(Ht[c.id]??c.value??"").trim();if(!l)return[];const g=Math.max(10,Math.min(ae,c.height*.55));return[{id:`fv_${c.id}`,pageNumber:c.pageNumber,fieldId:c.id,x:c.x+4,y:c.y+Math.max(2,(c.height-g)/2),width:Math.max(12,c.width-8),height:Math.max(g*1.2,c.height-4),value:l,fontSize:g,color:oe}]}),[E,Ht]),fe=f.useMemo(()=>[...B,...In],[B,In]),_i=f.useCallback(async()=>{var c;if(!(!nt||at!=="ready")){a(!0);try{const h=await Un(nt,{scale:1.5,rotation:I,annotations:P,signatures:N,texts:fe,mimeType:"image/png"}),l=document.createElement("iframe");l.style.position="fixed",l.style.right="0",l.style.bottom="0",l.style.width="0",l.style.height="0",l.style.border="0",l.setAttribute("aria-hidden","true"),document.body.appendChild(l);const g=(c=l.contentWindow)==null?void 0:c.document;if(!g)throw new Error("print iframe not available");g.open(),g.write(`<!doctype html>
24
+ %%EOF`,u.push(Yt(x)),Hn(...u)}function Je(t,e){const n=URL.createObjectURL(t),i=document.createElement("a");i.href=n,i.download=e,i.click(),URL.revokeObjectURL(n)}const Re=[{id:"cursive",label:"Cursive",family:"cursive"},{id:"serif",label:"Serif",family:"serif"},{id:"sans",label:"Sans",family:"sans-serif"},{id:"mono",label:"Mono",family:"monospace"},{id:"fantasy",label:"Fantasy",family:"fantasy"}];function Is(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function Ts(t){const e=new TextEncoder().encode(t);let n="";const i=32768;for(let r=0;r<e.length;r+=i)n+=String.fromCharCode(...e.subarray(r,r+i));return`data:image/svg+xml;base64,${btoa(n)}`}function On(t){return t==="initials"?64:48}function Ls({open:t,onClose:e,onSave:n,onSaveFieldValue:i,fieldType:r,showFieldTypeTabs:o=!1,textPlaceholder:d,initialFieldValue:u,targetSize:w,rememberedByType:m,onRememberFill:_}){const x=f.useRef(null),y=f.useRef(!1),j=f.useRef(null),$=f.useRef([]),W=f.useRef([]),A=f.useRef(null),O=r??"sign",[E,I]=f.useState(O),[J,rt]=f.useState(""),[V,ut]=f.useState(""),[Z,yt]=f.useState("draw"),[Y,Pt]=f.useState(""),[xt,S]=f.useState(""),[ot,ht]=f.useState(!1),[ft,Q]=f.useState("signature"),[_t,at]=f.useState("#111827"),[Kt,ue]=f.useState("cursive"),[Ht,Rt]=f.useState(!1),Ct=Re.find(p=>p.id===Kt)??Re[0],z=ft==="initials"?xt.trim():Y.trim(),Wt=z||(ft==="initials"?"AB":"Signature");if(f.useEffect(()=>{var F,ct;if(!t)return;if(I(O),O==="date"){rt(u||((F=m==null?void 0:m.date)==null?void 0:F.value)||new Date().toISOString().slice(0,10));return}if(O==="text"){ut(u||((ct=m==null?void 0:m.text)==null?void 0:ct.value)||"");return}const p=m==null?void 0:m.sign;if(!p){yt("draw"),Pt(""),S(""),ht(!1),Q("signature"),at("#111827"),ue("cursive"),A.current=null,Rt(!1);return}yt(p.mode),Pt(p.typedName??""),S(p.typedInitials??""),ht(!!p.typedInitials),Q(p.typeKind??"signature"),at(p.inkColor??"#111827");const R=Re.find(lt=>lt.id===p.fontId);R&&ue(R.id),p.mode==="draw"?(A.current={imageDataUrl:p.imageDataUrl,width:p.width,height:p.height},Rt(!0)):(A.current=null,Rt(!1))},[t,O,m,u]),f.useEffect(()=>{if(!t||E!=="sign")return;const p=x.current;if(!p)return;const R=p.getContext("2d");if(!R||(p.width=560,p.height=200,R.fillStyle="#ffffff",R.fillRect(0,0,p.width,p.height),R.lineCap="round",R.lineJoin="round",R.strokeStyle=_t,R.lineWidth=2.5,j.current=null,y.current=!1,$.current=[],W.current=[],Z!=="draw"))return;const F=A.current;if(!(F!=null&&F.imageDataUrl))return;const ct=new Image;ct.onload=()=>{const lt=Math.min(p.width/Math.max(1,F.width),p.height/Math.max(1,F.height),1),zt=F.width*lt,Xt=F.height*lt;R.drawImage(ct,(p.width-zt)/2,(p.height-Xt)/2,zt,Xt)},ct.src=F.imageDataUrl},[t,E,Z]),f.useEffect(()=>{const p=x.current,R=p==null?void 0:p.getContext("2d");R&&(R.strokeStyle=_t,R.fillStyle=_t)},[_t]),f.useEffect(()=>{if(!t||Z!=="type")return;const p=x.current,R=p==null?void 0:p.getContext("2d");if(!p||!R||(R.clearRect(0,0,p.width,p.height),!z))return;const F=On(ft);R.fillStyle=_t,R.textAlign="center",R.textBaseline="middle",R.font=`${F}px ${Ct.family}`,R.fillText(z,p.width/2,p.height/2)},[z,ft,Z,_t,t,Ct]),!t)return null;const $t=p=>{const R=x.current,F=R.getBoundingClientRect();return{x:(p.clientX-F.left)/F.width*R.width,y:(p.clientY-F.top)/F.height*R.height}},gt=p=>{if(Z!=="draw")return;if(A.current){A.current=null,Rt(!1);const F=x.current,ct=F==null?void 0:F.getContext("2d");F&&ct&&(ct.fillStyle="#ffffff",ct.fillRect(0,0,F.width,F.height),ct.strokeStyle=_t,ct.lineWidth=2.5,ct.lineCap="round",ct.lineJoin="round"),$.current=[]}p.currentTarget.setPointerCapture(p.pointerId),y.current=!0;const R=$t(p);j.current=R,W.current=[R]},st=p=>{if(!y.current||Z!=="draw")return;const R=x.current,F=R==null?void 0:R.getContext("2d"),ct=j.current;if(!F||!ct)return;const lt=$t(p);F.beginPath(),F.moveTo(ct.x,ct.y),F.lineTo(lt.x,lt.y),F.stroke(),j.current=lt,W.current.push(lt)},Dt=()=>{W.current.length>1&&$.current.push([...W.current]),W.current=[],y.current=!1,j.current=null},tt=()=>{const p=x.current,R=p==null?void 0:p.getContext("2d");!p||!R||(R.fillStyle="#ffffff",R.fillRect(0,0,p.width,p.height),$.current=[],W.current=[],A.current=null,Rt(!1),Pt(""),S(""),ht(!1))},mt=p=>{Pt(p),ot||S(Rs(p))},Mt=()=>{if(Z==="draw"){const D=$.current,M=A.current;if(D.length===0){if(!M)return;_==null||_("sign",{mode:"draw",imageDataUrl:M.imageDataUrl,width:M.width,height:M.height,inkColor:_t}),n(M.imageDataUrl,M.width,M.height);return}let H=1/0,X=1/0,T=-1/0,nt=-1/0;for(const ne of D)for(const Lt of ne)Lt.x<H&&(H=Lt.x),Lt.y<X&&(X=Lt.y),Lt.x>T&&(T=Lt.x),Lt.y>nt&&(nt=Lt.y);const G=8;H=Math.max(0,H-G),X=Math.max(0,X-G),T+=G,nt+=G;const dt=T-H,bt=nt-X,Ot=D.map(ne=>"M"+ne.map(re=>({x:re.x-H,y:re.y-X})).map(re=>`${re.x.toFixed(1)},${re.y.toFixed(1)}`).join("L")).join(" "),vt=Math.max(1,(w==null?void 0:w.width)??dt),It=Math.max(1,(w==null?void 0:w.height)??bt),Tt=Math.min(vt/dt,It/bt),qt=dt*Tt,Nt=bt*Tt,wt=(vt-qt)/2,Vt=(It-Nt)/2,ee=`<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 ${vt} ${It}"><g transform="translate(${wt.toFixed(2)} ${Vt.toFixed(2)}) scale(${Tt.toFixed(4)})"><path d="${Ot}" fill="none" stroke="${_t}" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></g></svg>`,Bt=`data:image/svg+xml;base64,${btoa(ee)}`;_==null||_("sign",{mode:"draw",imageDataUrl:Bt,width:vt,height:It,inkColor:_t}),n(Bt,vt,It);return}if(!z)return;const p=On(ft),F=document.createElement("canvas").getContext("2d");F.font=`${p}px ${Ct.family}`;const ct=F.measureText(z),lt=8,zt=Math.ceil(ct.width)+lt*2,Xt=p+lt*2,Gt=Math.max(1,(w==null?void 0:w.width)??zt),Jt=Math.max(1,(w==null?void 0:w.height)??Xt),a=Math.min(Gt/zt,Jt/Xt),b=Math.max(8,p*a),v=(Gt/2).toFixed(1),k=(Jt/2).toFixed(1),L=`<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 ${Gt} ${Jt}"><text x="${v}" y="${k}" text-anchor="middle" dominant-baseline="central" alignment-baseline="middle" font-family="${Ct.family}" font-size="${b.toFixed(1)}" fill="${_t}">${Is(z)}</text></svg>`,P=Ts(L);_==null||_("sign",{mode:"type",imageDataUrl:P,width:Gt,height:Jt,typedName:Y,typedInitials:xt,fontId:Kt,inkColor:_t,typeKind:ft}),n(P,Gt,Jt)},Zt=()=>{if(E!=="date"&&E!=="text")return;const p=E==="date"?J:V.trim();p&&(_==null||_(E,{value:p}),i==null||i(p,E))},et=E==="sign",Qt=E==="date"?"Pick a date":E==="text"?"Enter text":"Create e-signature";return s.jsxs("div",{className:"epochs-pdf-viewer__modal",role:"dialog","aria-modal":"true",children:[s.jsx("div",{className:"epochs-pdf-viewer__modal-backdrop",onClick:e}),s.jsxs("div",{className:"epochs-pdf-viewer__modal-card",children:[s.jsxs("div",{className:"epochs-pdf-viewer__modal-header",children:[s.jsx("h3",{children:Qt}),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e,title:"Close",children:"×"})]}),o&&!r?s.jsx("div",{className:"epochs-pdf-viewer__field-type-tabs",role:"tablist",children:["sign","date","text"].map(p=>s.jsx("button",{type:"button",role:"tab","aria-selected":E===p,className:E===p?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>I(p),children:p==="sign"?"Sign":p==="date"?"Date":"Text"},p))}):null,et?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"epochs-pdf-viewer__sign-modes",children:[s.jsx("button",{type:"button",className:Z==="draw"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>{yt("draw"),tt()},children:"Draw"}),s.jsx("button",{type:"button",className:Z==="type"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>yt("type"),children:"Type"}),s.jsxs("label",{className:"epochs-pdf-viewer__sign-ink",children:["Ink",s.jsx("input",{type:"color",value:_t,onChange:p=>at(p.target.value)})]})]}),Z==="type"?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"epochs-pdf-viewer__sign-fonts",role:"group","aria-label":"Handwriting style",children:Re.map(p=>s.jsx("button",{type:"button",className:Kt===p.id?"epochs-pdf-viewer__sign-font epochs-pdf-viewer__sign-font--active":"epochs-pdf-viewer__sign-font",style:{fontFamily:p.family},onClick:()=>ue(p.id),title:p.label,children:Wt},p.id))}),s.jsxs("div",{className:"epochs-pdf-viewer__sign-type-fields",children:[s.jsxs("label",{className:"epochs-pdf-viewer__sign-type-field",children:[s.jsx("span",{children:"Full name"}),s.jsx("input",{className:"epochs-pdf-viewer__sign-type-input",type:"text",value:Y,onChange:p=>mt(p.target.value),onFocus:()=>Q("signature"),placeholder:"Type your full name",style:{fontFamily:Ct.family},autoFocus:!0})]}),s.jsxs("label",{className:"epochs-pdf-viewer__sign-type-field",children:[s.jsx("span",{children:"Initials"}),s.jsx("input",{className:"epochs-pdf-viewer__sign-type-input",type:"text",value:xt,onChange:p=>{ht(!0),S(p.target.value.toUpperCase())},onFocus:()=>Q("initials"),placeholder:"e.g. JD",maxLength:4,style:{fontFamily:Ct.family}})]})]}),s.jsxs("div",{className:"epochs-pdf-viewer__sign-type-kind",role:"group","aria-label":"Preview type",children:[s.jsx("button",{type:"button",className:ft==="signature"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>Q("signature"),children:"Use full name"}),s.jsx("button",{type:"button",className:ft==="initials"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>Q("initials"),children:"Use initials"})]})]}):s.jsx("p",{className:"epochs-pdf-viewer__sign-hint",children:Ht?"Previous signature loaded — submit to reuse, or draw a new one":"Draw your signature below"}),s.jsx("canvas",{ref:x,className:Z==="draw"?"epochs-pdf-viewer__sign-canvas":"epochs-pdf-viewer__sign-canvas epochs-pdf-viewer__sign-canvas--preview",onPointerDown:gt,onPointerMove:st,onPointerUp:Dt,onPointerLeave:Dt})]}):E==="date"?s.jsxs("label",{className:"epochs-pdf-viewer__sign-type-field",style:{padding:"1rem"},children:[s.jsx("span",{children:"Date"}),s.jsx("input",{className:"epochs-pdf-viewer__sign-type-input",type:"date",value:J,onChange:p=>rt(p.target.value),autoFocus:!0})]}):s.jsxs("label",{className:"epochs-pdf-viewer__sign-type-field",style:{padding:"1rem"},children:[s.jsx("span",{children:"Text"}),s.jsx("input",{className:"epochs-pdf-viewer__sign-type-input",type:"text",value:V,onChange:p=>ut(p.target.value),placeholder:d??"Enter text",autoFocus:!0})]}),s.jsxs("div",{className:"epochs-pdf-viewer__modal-actions",children:[et?s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:tt,children:"Clear"}):null,s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:e,children:"Cancel"}),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--primary",onClick:et?Mt:Zt,disabled:E==="date"?!J:E==="text"?!V.trim():!1,children:et?"Use signature":"Place on page"})]})]})]})}function Rs(t){const e=t.trim().split(/\s+/).filter(Boolean);return e.length===0?"":e.length===1?e[0].slice(0,2).toUpperCase():e.slice(0,3).map(n=>{var i;return((i=n[0])==null?void 0:i.toUpperCase())??""}).join("")}const Se="__epochsToolbarToolId";function At(t,e){const n=(()=>null);return n.displayName=e,Object.defineProperty(n,Se,{value:t,enumerable:!0}),n}function Bn(t){return t[Se]}function Ds(t){return typeof t=="function"&&Se in t&&typeof t[Se]=="string"}const an=At("thumbnail","Thumbnail"),cn=At("navigation","Navigation"),ln=At("zoom","Zoom"),dn=At("rotate","Rotate"),hn=At("reload","Reload"),un=At("print","Print"),fn=At("open","Open"),pn=At("download","Download"),gn=At("highlight","Highlight"),mn=At("underline","Underline"),wn=At("signature","Signature"),xn=At("text","AddText"),bn=At("erase","Erase"),yn=At("clear","Clear"),Fs=[an,cn,ln,dn,gn,mn,wn,xn,bn,yn,hn,un,fn,pn],en=[[an,cn],[ln,dn,gn,mn,wn,xn,bn,yn,hn,un,fn,pn]],Es=["highlight","underline","signature","text","erase","clear"];function Wn(t){return Es.includes(t)}function Ss(t,e,n){const i=[];switch(n!=null&&n.showMarkupSep&&i.push(s.jsx("span",{className:"epochs-pdf-viewer__toolbar-sep","aria-hidden":"true"},`${t}-sep`)),t){case"thumbnail":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:()=>e.setShowThumbnails(r=>!r),title:e.showThumbnails?"Hide thumbnails":"Show thumbnails",children:s.jsx(ls,{})},"thumbnail"));break;case"navigation":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handlePrev,disabled:!e.canGoPrev||e.status!=="ready",title:"Previous page",children:s.jsx(rs,{})},"nav-prev"),s.jsxs("div",{className:"epochs-pdf-viewer__page-input",children:[s.jsx("input",{type:"number",value:e.pageNumber,min:1,max:e.numPages||1,onChange:r=>{const o=Number.parseInt(r.target.value,10);Number.isFinite(o)&&e.scrollToPage(Math.max(1,Math.min(e.numPages||1,o)))},disabled:e.status!=="ready","aria-label":"Page number"}),s.jsxs("span",{children:["/ ",e.numPages||"-"]})]},"nav-page"),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handleNext,disabled:!e.canGoNext||e.status!=="ready",title:"Next page",children:s.jsx(os,{})},"nav-next"));break;case"zoom":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handleZoomOut,disabled:e.status!=="ready",title:"Zoom out",children:s.jsx(ds,{})},"zoom-out"),s.jsxs("span",{className:"epochs-pdf-viewer__zoom-label",children:[Math.round(e.scale*100),"%"]},"zoom-label"),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handleZoomIn,disabled:e.status!=="ready",title:"Zoom in",children:s.jsx(hs,{})},"zoom-in"),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:()=>void e.handleFitWidth(),disabled:e.status!=="ready",title:"Fit to width",children:"Fit"},"zoom-fit"));break;case"rotate":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:e.handleRotate,disabled:e.status!=="ready",title:"Rotate",children:s.jsx(ps,{})},"rotate"));break;case"highlight":i.push(s.jsx("button",{type:"button",className:e.markupTool==="highlight"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>e.toggleMarkupTool("highlight"),disabled:e.status!=="ready",title:"Highlight text — select text to highlight",children:s.jsx(gs,{})},"highlight"));break;case"underline":i.push(s.jsx("button",{type:"button",className:e.markupTool==="underline"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>e.toggleMarkupTool("underline"),disabled:e.status!=="ready",title:"Underline text — select text to underline",children:s.jsx(ms,{})},"underline"));break;case"signature":i.push(s.jsx("button",{type:"button",className:e.markupTool==="sign"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>{if(!e.hasFixedSignatureFields&&e.pendingSignature&&e.markupTool!=="sign"){e.setMarkupTool("sign");return}e.setSignaturePadOpen(!0)},disabled:e.status!=="ready",title:e.hasFixedSignatureFields?"Create e-signature for a fixed field":e.pendingSignature?"Place signature — click on the page, then drag to move":"Create e-signature",children:s.jsx(xs,{})},"signature"));break;case"text":i.push(s.jsx("button",{type:"button",className:e.markupTool==="text"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>e.toggleMarkupTool("text"),disabled:e.status!=="ready",title:e.hasFixedTextFields?"Edit text in predefined areas — click to type":"Edit PDF text — select words, then change them",children:s.jsx(ys,{})},"text"));break;case"erase":i.push(s.jsx("button",{type:"button",className:e.markupTool==="erase"?"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--active":"epochs-pdf-viewer__btn",onClick:()=>e.toggleMarkupTool("erase"),disabled:e.status!=="ready",title:"Remove text — select PDF words to cover them, or click added markup",children:s.jsx(ws,{})},"erase"));break;case"clear":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",onClick:e.handleClearAnnotations,disabled:e.status!=="ready"||e.annotationsLength===0&&e.signaturesLength===0&&e.textsLength===0,title:"Clear all markup",children:"Clear"},"clear"));break;case"reload":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:()=>void e.loadDocument(),title:"Reload",children:s.jsx(fs,{})},"reload"));break;case"print":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:()=>void e.handlePrint(),disabled:e.status!=="ready"||!e.pdfDoc||e.isPrinting,title:e.isPrinting?"Preparing print…":"Print (includes highlights & underlines)",children:s.jsx(us,{})},"print"));break;case"open":i.push(s.jsx("a",{className:"epochs-pdf-viewer__btn",href:e.displayUrl||e.resolvedUrl||void 0,target:"_blank",rel:"noopener noreferrer",title:"Open in new tab",children:s.jsx(cs,{})},"open"));break;case"download":i.push(s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn",onClick:()=>void e.handleDownload(),disabled:e.status!=="ready"||!e.pdfDoc||e.isDownloading,title:e.isDownloading?"Preparing download…":e.annotationsLength>0||e.signaturesLength>0||e.textsLength>0?"Download PDF with markup":"Download PDF",children:s.jsx(as,{})},"download"));break}return i.length>0?i:null}function As(t,e){const n=[];if(t.markupTool==="sign"&&t.pendingSignature&&!t.hasFixedSignatureFields&&e.has("signature")&&n.push(s.jsx("span",{className:"epochs-pdf-viewer__markup-hint",children:"Click page to place duplicate/new signature"},"sign-hint")),t.markupTool==="text"&&e.has("text")&&n.push(s.jsx("span",{className:"epochs-pdf-viewer__markup-hint",children:t.hasFixedTextFields?"Click in a predefined text area to type":"Select text to edit it — e.g. change this PDF to this is PDF"},"text-hint")),t.markupTool==="erase"&&e.has("erase")&&n.push(s.jsx("span",{className:"epochs-pdf-viewer__markup-hint",children:"Select PDF words to remove · click added text/markup to erase"},"erase-hint")),t.markupTool==="highlight"&&e.has("highlight")||t.markupTool==="underline"&&e.has("underline")){const i=t.markupTool==="highlight"?t.highlightHex:t.underlineHex,r=t.markupTool==="highlight"?t.setHighlightHex:t.setUnderlineHex,o=t.markupTool==="highlight"?sn:rn;n.push(s.jsxs("div",{className:"epochs-pdf-viewer__color-picker",role:"group","aria-label":`${t.markupTool} color`,children:[o.map(d=>s.jsx("button",{type:"button",className:se(i)===se(d.hex)?"epochs-pdf-viewer__swatch epochs-pdf-viewer__swatch--active":"epochs-pdf-viewer__swatch",style:{background:d.hex},title:d.label,"aria-label":d.label,"aria-pressed":se(i)===se(d.hex),onClick:()=>r(se(d.hex))},d.id)),s.jsxs("label",{className:"epochs-pdf-viewer__custom-color",title:"Custom color",children:[s.jsx("span",{className:"epochs-pdf-viewer__custom-color-chip",style:{background:i}}),s.jsx("input",{type:"color",value:se(i),onChange:d=>r(se(d.target.value)),"aria-label":"Custom color"})]})]},"color-picker"))}return n.length>0?n:null}function Us(t,e){if(!t)return null;if(Array.isArray(t)){const o=d=>(d??[]).filter(Ds).map(Bn);return{left:o(t[0]),right:o(t[1])}}const n=e.enableThumbnails,i=(o,d)=>o.map(Bn).filter(u=>d[u]!==!1),r={thumbnail:n,navigation:e.enableNavigation,zoom:e.enableZoom,rotate:e.enableRotate,reload:e.enableReload,print:e.enablePrint,open:e.enableOpen,download:e.enableDownload,highlight:e.enableHighlight,underline:e.enableUnderline,signature:e.enableSignature,text:e.enableText,erase:e.enableErase,clear:e.enableClear};return{left:i(en[0],r),right:i(en[1],r)}}function Kn({file:t,fileUrl:e,baseUrl:n="",fetchOptions:i,height:r="80vh",title:o="PDF document",initialScale:d=1,withThumbnails:u=!1,thumbnailWidth:w=140,maxThumbnails:m=60,className:_,workerSrc:x,enableToolbar:y=!1,enableThumbnails:j,enableNavigation:$=!0,enableZoom:W=!0,enableRotate:A=!0,enableReload:O=!0,enablePrint:E=!0,enableOpen:I=!0,enableDownload:J=!0,enableMarkup:rt=!0,enableHighlight:V=!0,enableUnderline:ut=!0,enableSignature:Z=!0,enableText:yt=!0,enableErase:Y=!0,enableClear:Pt=!0,signatureFields:xt=[],textFields:S=[],onSignatureComplete:ot,onSignatureFieldsChange:ht,applySignatureToSameTag:ft=!1,onFieldValueComplete:Q,openSignaturePad:_t=!1,onSignaturePadClose:at,onSubmit:Kt,submitLabel:ue="Submit",submitLoading:Ht=!1}){var Dn,Fn;const Rt=f.useRef(null),Ct=f.useRef(null),z=f.useRef(new Map),Wt=f.useRef(!1),$t=f.useMemo(()=>t&&typeof t!="string"?t:null,[t]),gt=f.useMemo(()=>$t?"":Ms(typeof t=="string"?t:void 0,e,n),[$t,t,e,n]),[st,Dt]=f.useState("idle"),[tt,mt]=f.useState(null),[Mt,Zt]=f.useState(0),[et,Qt]=f.useState(1),[p,R]=f.useState(d),[F,ct]=f.useState(0),[lt,zt]=f.useState(null),[Xt,Gt]=f.useState(!1),[Jt,a]=f.useState(!1),[b,v]=f.useState(!1),[k,L]=f.useState("none"),[P,D]=f.useState([]),[M,H]=f.useState([]),[X,T]=f.useState([]),[nt,G]=f.useState(!1),[dt,bt]=f.useState(void 0),[Ot,vt]=f.useState({}),[It,Tt]=f.useState(null),[qt,Nt]=f.useState(null),[wt,Vt]=f.useState(null),[ee,Bt]=f.useState(null),[ne,Lt]=f.useState(null),[re,_e]=f.useState(null),[ui,Ie]=f.useState(null),[jn,fi]=f.useState(Xn),[kn,pi]=f.useState(Gi),ve=S.length>0,[Ut,Ae]=f.useState({}),[U,Ue]=f.useState(xt),fe=f.useRef(U);fe.current=U,f.useEffect(()=>{fe.current=xt,Ue(xt),Ae(c=>{const h={...c};for(const l of xt){const g=l.type??"sign";(g==="date"||g==="text")&&l.value!=null&&l.value!==""&&(h[l.id]=l.value)}return h})},[xt]);const Ft=U.length>0,je=f.useCallback((c,h,l)=>{var N;const g=c.type??"sign";return g==="date"||g==="text"?!!((N=l[c.id]??c.value)!=null&&N.trim()):h.some(C=>C.fieldId===c.id)||!!c.signatureDataUrl},[]),Mn=f.useCallback((c,h)=>{const l=new Set(c),N=fe.current.map(C=>l.has(C.id)?{...C,value:h}:C);fe.current=N,Ue(N),ht==null||ht(N),Ae(C=>{const B={...C};for(const it of c)B[it]=h;return B});for(const C of c)Q==null||Q(C,h)},[Q,ht]),ke=f.useCallback((c,h,l)=>{const g=fe.current,N=c==null?null:Array.isArray(c)?c:[c],C=N?new Set(N):null,B=C?g.map(it=>C.has(it.id)?{...it,signatureDataUrl:h.imageDataUrl}:it):[...g,{id:h.id,pageNumber:h.pageNumber,x:h.x,y:h.y,width:h.width,height:h.height,type:"sign",signatureDataUrl:h.imageDataUrl}];if(fe.current=B,Ue(B),ht==null||ht(B),!N||N.length===0){ot==null||ot(void 0,h);return}for(const it of N)ot==null||ot(it,(l==null?void 0:l.get(it))??h)},[ot,ht]);f.useEffect(()=>{_t&&G(!0)},[_t]);const oe=f.useMemo(()=>Us(y,{enableThumbnails:j,enableNavigation:$,enableZoom:W,enableRotate:A,enableReload:O,enablePrint:E,enableOpen:I,enableDownload:J,enableHighlight:V,enableUnderline:ut,enableSignature:Z,enableText:yt,enableErase:Y,enableClear:Pt}),[y,j,$,W,A,O,E,I,J,V,ut,Z,yt,Y,Pt]),ae=f.useMemo(()=>oe?new Set([...oe.left,...oe.right]):new Set,[oe]);f.useEffect(()=>{if(!ae.has("thumbnail")){Gt(!1);return}const h=window.matchMedia("(max-width: 720px)"),l=()=>{Gt(h.matches?!1:u)};return l(),h.addEventListener("change",l),()=>h.removeEventListener("change",l)},[ae,u]);const Nn=!Ft&&ae.has("highlight"),Pn=!Ft&&ae.has("underline"),He=ae.has("signature")||Ft,Cn=ae.has("text")||ve,$n=!Ft&&ae.has("erase"),Me=f.useCallback(()=>{Ct.current&&(URL.revokeObjectURL(Ct.current),Ct.current=null)},[]),Oe=f.useCallback(async()=>{if(!(!$t&&!gt)){ks(x),Dt("loading"),mt(null),Zt(0),Qt(1),D([]),H([]),T([]),Tt(null),Nt(null),Vt(null),Bt(null),Lt(null),_e(null),Ie(null),L("none");try{const c=$t?await An($t,i):await An(gt,i),h=new Blob([c],{type:"application/pdf"}),l=URL.createObjectURL(h);Me(),Ct.current=l,zt(l);const N=await be.getDocument({data:c,cMapUrl:`https://unpkg.com/pdfjs-dist@${be.version}/cmaps/`,cMapPacked:!0,standardFontDataUrl:`https://unpkg.com/pdfjs-dist@${be.version}/standard_fonts/`}).promise;mt(N),Zt(N.numPages),Dt("ready")}catch{Dt("error")}}},[$t,gt,i,Me,x]);f.useEffect(()=>{if(!$t&&!gt){Dt("idle"),mt(null),Zt(0),zt(null),Me();return}return Oe(),()=>{Me()}},[$t,gt,Oe,Me]),f.useEffect(()=>{(k==="highlight"&&!Nn||k==="underline"&&!Pn||k==="sign"&&!He||k==="text"&&!Cn||k==="erase"&&!$n)&&L("none")},[Nn,Pn,He,Cn,$n,k]);const pe=f.useCallback(c=>{const h=Math.max(1,Math.min(Mt||1,c)),l=z.current.get(h);if(!l){Qt(h);return}Wt.current=!0,l.scrollIntoView({behavior:"smooth",block:"start"}),Qt(h),window.setTimeout(()=>{Wt.current=!1},500)},[Mt]),ge=f.useCallback(c=>{const h=z.current.get(c.pageNumber);h&&(Wt.current=!0,Qt(c.pageNumber));const l=()=>{var N;const g=(N=Rt.current)==null?void 0:N.querySelector(`[data-signature-field-id="${CSS.escape(c.id)}"]`);g?g.scrollIntoView({behavior:"smooth",block:"center"}):h&&h.scrollIntoView({behavior:"smooth",block:"start"}),window.setTimeout(()=>{Wt.current=!1},500)};window.requestAnimationFrame(()=>{window.setTimeout(l,40)})},[]);f.useEffect(()=>{if(st!=="ready"||!Rt.current||!Mt)return;const c=Rt.current,h=new IntersectionObserver(l=>{if(Wt.current)return;let g=null;for(const N of l){if(!N.isIntersecting)continue;const C=Number.parseInt(N.target.dataset.pageNumber||"0",10);C&&(!g||N.intersectionRatio>g.ratio)&&(g={page:C,ratio:N.intersectionRatio})}g&&Qt(g.page)},{root:c,threshold:[.25,.5,.75]});for(let l=1;l<=Mt;l+=1){const g=z.current.get(l);g&&h.observe(g)}return()=>h.disconnect()},[st,Mt]);const Be=et>1,We=Mt?et<Mt:!1,gi=f.useCallback(()=>{Be&&pe(et-1)},[Be,et,pe]),mi=f.useCallback(()=>{We&&pe(et+1)},[We,et,pe]),wi=f.useCallback(()=>{ct(c=>(c+90)%360)},[]),xi=f.useCallback(()=>{R(c=>Math.max(.25,Math.round((c-.1)*100)/100))},[]),bi=f.useCallback(()=>{R(c=>Math.min(5,Math.round((c+.1)*100)/100))},[]),ze=f.useCallback(async()=>{if(!(!tt||!Rt.current))try{const h=(await tt.getPage(et)).getViewport({scale:1,rotation:F}),g=window.matchMedia("(max-width: 720px)").matches?16:24,C=Math.max(0,Rt.current.clientWidth-g)/h.width;R(Math.max(.25,Math.min(5,Math.round(C*100)/100)))}catch{}},[tt,et,F]);f.useEffect(()=>{if(st!=="ready"||!tt||!window.matchMedia("(max-width: 720px)").matches)return;let c=!1;const h=()=>{c||ze()};h();const l=Rt.current,g=typeof ResizeObserver<"u"&&l?new ResizeObserver(()=>h()):null;g==null||g.observe(l);const N=window.matchMedia("(max-width: 720px)"),C=()=>{N.matches&&h()};return N.addEventListener("change",C),()=>{c=!0,g==null||g.disconnect(),N.removeEventListener("change",C)}},[st,tt,Xt,F,ze]);const In=f.useMemo(()=>U.flatMap(c=>{const h=c.type??"sign";if(h!=="date"&&h!=="text")return[];const l=(Ut[c.id]??c.value??"").trim();if(!l)return[];const g=Math.max(10,Math.min(he,c.height*.55));return[{id:`fv_${c.id}`,pageNumber:c.pageNumber,fieldId:c.id,x:c.x+4,y:c.y+Math.max(2,(c.height-g)/2),width:Math.max(12,c.width-8),height:Math.max(g*1.2,c.height-4),value:l,fontSize:g,color:de}]}),[U,Ut]),me=f.useMemo(()=>[...X,...In],[X,In]),yi=f.useCallback(async()=>{var c;if(!(!tt||st!=="ready")){a(!0);try{const h=await Un(tt,{scale:1.5,rotation:F,annotations:P,signatures:M,texts:me,mimeType:"image/png"}),l=document.createElement("iframe");l.style.position="fixed",l.style.right="0",l.style.bottom="0",l.style.width="0",l.style.height="0",l.style.border="0",l.setAttribute("aria-hidden","true"),document.body.appendChild(l);const g=(c=l.contentWindow)==null?void 0:c.document;if(!g)throw new Error("print iframe not available");g.open(),g.write(`<!doctype html>
25
25
  <html>
26
26
  <head>
27
27
  <meta charset="utf-8" />
@@ -35,21 +35,21 @@ ${_}
35
35
  </style>
36
36
  </head>
37
37
  <body></body>
38
- </html>`),g.close();const M=g.body;for(const $ of h){const O=g.createElement("img");O.src=$.dataUrl;const st=g.createElement("div");st.className="page",st.appendChild(O),M.appendChild(st)}await Promise.all(Array.from(M.querySelectorAll("img")).map($=>{var O;return((O=$.decode)==null?void 0:O.call($).catch(()=>{}))??Promise.resolve()})),setTimeout(()=>{var $,O;try{($=l.contentWindow)==null||$.focus(),(O=l.contentWindow)==null||O.print()}finally{setTimeout(()=>{try{document.body.removeChild(l)}catch{}},1e3)}},50)}catch{try{K?window.open(K,"_blank","noopener,noreferrer"):pt&&window.open(pt,"_blank","noopener,noreferrer")}catch{}}finally{a(!1)}}},[nt,at,I,o,K,pt,P,N,fe]),vi=f.useCallback(async()=>{if(!nt||at!=="ready")return;const c=`${o.replace(/[^\w.-]+/g,"_")||"document"}.pdf`;if(!(P.length>0||N.length>0||fe.length>0)&&K){Je(await fetch(K).then(l=>l.blob()),c);return}v(!0);try{const l=await Un(nt,{scale:2,rotation:I,annotations:P,signatures:N,texts:fe,mimeType:"image/jpeg",quality:.92}),g=Is(l),M=new Uint8Array(g.byteLength);M.set(g),Je(new Blob([M],{type:"application/pdf"}),c)}catch{K&&Je(await fetch(K).then(l=>l.blob()),c)}finally{v(!1)}},[nt,at,I,o,K,P,N,fe]),ji=f.useCallback(c=>{D(h=>h===c?"none":c)},[]),ki=j==="highlight"||j==="underline"?on(j==="highlight"?jn:j==="underline"?kn:null,j):void 0,pe=Ut!=null?N.find(c=>c.id===Ut)??null:null,Mi=f.useCallback(c=>{F(h=>[...h,c])},[]),Ni=f.useCallback(c=>{F(h=>h.filter(l=>l.id!==c))},[]),Pi=f.useCallback(()=>{F([]),S([]),R([]),lt(null),le(null),xe(null),Ie(null)},[]),Te=f.useCallback((c,h)=>{const l=E.findIndex(M=>M.id===c),g=E.slice(l+1).find(M=>!h.has(M.id))??E.slice(0,Math.max(0,l)).find(M=>!h.has(M.id));if(!g){W(!1),Zt(null);return}Kt(g.id),lt(null),Zt(null),xt(g.type??"sign"),ue(g),window.setTimeout(()=>{W(!0)},350)},[ue,E]),Ci=f.useCallback(c=>{xt(c),W(!0)},[]),$i=f.useCallback((c,h)=>{Ae(l=>({...l,[c]:h}))},[]),Ii=f.useCallback(c=>{const h=Ht[c];h&&(V==null||V(c,h));const l=E.findIndex($=>$.id===c),g=new Set(Object.keys(Ht).filter($=>{var O;return(O=Ht[$])==null?void 0:O.trim()}));g.add(c);const M=E.slice(l+1).find($=>!g.has($.id)&&!N.some(O=>O.fieldId===$.id))??E.slice(0,Math.max(0,l)).find($=>!g.has($.id)&&!N.some(O=>O.fieldId===$.id));M&&(Kt(M.id),ue(M))},[E,Ht,N,ue,V]),Ti=f.useCallback((c,h,l)=>{var se;const g=Ki(h,l);if(ce){S(J=>J.map(_t=>_t.id===ce?{..._t,imageDataUrl:c,width:_t.fieldId?_t.width:g.width,height:_t.fieldId?_t.height:g.height}:_t)),Tt(null),D("none"),W(!1),Zt(null);return}if(Rt){const J=E.find(X=>X.id===ut&&(X.type??"sign")==="sign"&&!N.some(te=>te.fieldId===X.id))??E.find(X=>(X.type??"sign")==="sign"&&!N.some(te=>te.fieldId===X.id));if(!J){W(!1);return}const _t=bt&&J.signature_tag?E.filter(X=>(X.type??"sign")==="sign"&&X.signature_tag===J.signature_tag&&!N.some(te=>te.fieldId===X.id)):[J],vt=_t.map(X=>({id:Fe(),fieldId:X.id,pageNumber:X.pageNumber,x:X.x,y:X.y,width:X.width,height:X.height,imageDataUrl:c})),Qt=new Set(_t.map(X=>X.id));S(X=>[...X.filter(te=>!te.fieldId||!Qt.has(te.fieldId)),...vt]);const re=new Map(vt.map(X=>[X.fieldId,X]));_e(_t.map(X=>X.id),vt[0],re),Tt(null),D("none"),lt(((se=vt[0])==null?void 0:se.id)??null);const mt=new Set(E.filter(X=>ye(X,[...N,...vt],Ht)).map(X=>X.id));for(const X of Qt)mt.add(X);Te(J.id,mt);return}const M=z.current.get(ht),$=M==null?void 0:M.querySelector(".epochs-pdf-viewer__surface");let O=24,st=24;if($){const J=we($,Nt),_t=$.closest(".epochs-pdf-viewer__body");if(_t){const vt=En(_t.getBoundingClientRect(),$,Nt),Qt=Math.max(0,vt.top),re=Math.min(J.height,vt.bottom),mt=Math.max(0,vt.left),X=Math.min(J.width,vt.right);O=Math.max(0,(mt+X)/2-g.width/2),st=Math.max(0,(Qt+re)/2-g.height/2),O=Math.min(O,Math.max(0,J.width-g.width)),st=Math.min(st,Math.max(0,J.height-g.height))}else O=Math.max(0,(J.width-g.width)/2),st=Math.max(0,(J.height-g.height)/2)}const St={id:Fe(),pageNumber:ht,x:O,y:st,width:g.width,height:g.height,imageDataUrl:c};S(J=>[...J,St]),_e(void 0,St),lt(St.id),Tt(null),D("none"),W(!1),Zt(null)},[Te,bt,ce,Ht,Rt,ye,ht,Nt,ut,E,N,_e]),Ri=f.useCallback((c,h)=>{if(Rt){const J=E.find(mt=>mt.id===ut&&(mt.type??"sign")===h)??E.find(mt=>(mt.type??"sign")===h);if(!J){W(!1);return}const vt=(bt&&J.signature_tag?E.filter(mt=>(mt.type??"sign")===h&&mt.signature_tag===J.signature_tag):[J]).map(mt=>mt.id);Mn(vt,c);const Qt={...Ht};for(const mt of vt)Qt[mt]=c;const re=new Set(E.filter(mt=>ye(mt,N,Qt)).map(mt=>mt.id));Te(J.id,re);return}const l=ae,g=Math.max(80,c.length*l*.55),M=l*1.25;let $=24,O=24;const st=z.current.get(ht),St=st==null?void 0:st.querySelector(".epochs-pdf-viewer__surface");if(St){const J=we(St,Nt),_t=St.closest(".epochs-pdf-viewer__body");if(_t){const vt=En(_t.getBoundingClientRect(),St,Nt),Qt=Math.max(0,vt.top),re=Math.min(J.height,vt.bottom),mt=Math.max(0,vt.left),X=Math.min(J.width,vt.right);$=Math.max(0,(mt+X)/2-g/2),O=Math.max(0,(Qt+re)/2-M/2),$=Math.min($,Math.max(0,J.width-g)),O=Math.min(O,Math.max(0,J.height-M))}}const se={id:Se(),pageNumber:ht,x:$,y:O,width:g,height:M,value:c,fontSize:l,color:oe};R(J=>[...J,se]),le(se.id),W(!1),D("none")},[Te,bt,Ht,Rt,ye,ht,Nt,ut,E,N,Mn]),Li=f.useCallback(c=>{S(h=>[...h,c]),_e(void 0,c),lt(c.id),Tt(null),D("none")},[_e]),Di=f.useCallback((c,h)=>{S(l=>l.map(g=>g.id===c?{...g,...h}:g))},[]),Fi=f.useCallback(c=>{const h=N.find(l=>l.id===c);S(l=>l.filter(g=>g.id!==c)),lt(l=>l===c?null:l),h!=null&&h.fieldId&&Kt(h.fieldId)},[N]),Si=f.useCallback(c=>{const h=c?N.find(St=>St.id===c)??null:pe;if(!h)return;const l=z.current.get(h.pageNumber),g=l==null?void 0:l.querySelector(".epochs-pdf-viewer__surface"),M=18;let $=h.x+M,O=h.y+M;if(g){const St=g.clientWidth/Nt,se=g.clientHeight/Nt;$=Math.min(Math.max(0,$),Math.max(0,St-h.width)),O=Math.min(Math.max(0,O),Math.max(0,se-h.height))}const st={...h,id:Fe(),x:$,y:O};S(St=>[...St,st]),lt(st.id),Tt(null),D("none")},[Nt,pe,N]),Ei=f.useCallback(c=>{const h=c??(pe==null?void 0:pe.id);if(!h)return;const l=N.find(M=>M.id===h),g=l!=null&&l.fieldId?E.find(M=>M.id===l.fieldId):void 0;xt((g==null?void 0:g.type)??"sign"),lt(h),Zt(h),W(!0)},[pe,N,E]),Ai=f.useCallback(c=>{R(h=>c.fieldId?[...h.filter(l=>l.fieldId!==c.fieldId),c]:[...h,c]),le(c.id),c.fieldId&&xe(c.fieldId)},[]),Ui=f.useCallback((c,h)=>{R(l=>l.map(g=>g.id===c?{...g,...h}:g))},[]),Hi=f.useCallback(c=>{const h=B.find(l=>l.id===c);R(l=>l.filter(g=>g.id!==c)),le(l=>l===c?null:l),Ie(l=>l===c?null:l),h!=null&&h.fieldId&&xe(h.fieldId)},[B]);f.useEffect(()=>{be&&R(c=>c.map(h=>{if(!h.fieldId)return h;const l=U.find(g=>g.id===h.fieldId);return l?{...h,pageNumber:l.pageNumber,x:l.x,y:l.y,width:l.width,height:l.height,fontSize:l.fontSize??h.fontSize??ae,color:l.color??h.color??oe}:h}))},[be,U]);const Tn=f.useCallback(c=>{var M;if(!E.length)return;const h=ut!=null?E.findIndex($=>$.id===ut):-1,l=Math.min(E.length-1,Math.max(0,(h<0?0:h)+c)),g=E[l];g&&(Kt(g.id),lt(((M=N.find($=>$.fieldId===g.id))==null?void 0:M.id)??null),ue(g))},[ue,ut,E,N]);if(!$t&&!pt)return s.jsx("div",{"data-testid":"pdf-viewer",className:`epochs-pdf-viewer epochs-pdf-viewer--empty ${_??""}`.trim(),children:"No PDF file provided."});const Oi={height:r},Rn={status:at,showThumbnails:zt,setShowThumbnails:Bt,canGoPrev:ze,canGoNext:Be,handlePrev:mi,handleNext:wi,pageNumber:ht,numPages:kt,scrollToPage:he,scale:Nt,handleZoomOut:bi,handleZoomIn:yi,handleFitWidth:We,handleRotate:xi,markupTool:j,toggleMarkupTool:c=>ji(c),hasFixedSignatureFields:Rt,hasFixedTextFields:be,pendingSignature:Wt,setMarkupTool:D,setSignaturePadOpen:W,annotationsLength:P.length,signaturesLength:N.length,textsLength:B.length,handleClearAnnotations:Pi,highlightHex:jn,underlineHex:kn,setHighlightHex:pi,setUnderlineHex:gi,loadDocument:Oe,handlePrint:_i,isPrinting:Jt,pdfDoc:nt,displayUrl:K,resolvedUrl:pt,handleDownload:vi,isDownloading:x},zi=c=>c.filter(h=>!(Rt&&(h==="highlight"||h==="underline"||h==="erase"))),Ge=ut?E.findIndex(c=>c.id===ut):0,Bi=E.filter(c=>ye(c,N,Ht)).length,Xe=E.length>0?Math.round(Bi/E.length*100):0,Ln=(c,h=!1)=>{const l=zi(c);if(l.length===0&&!h)return s.jsx("div",{className:"epochs-pdf-viewer__toolbar-group"});if(l.length===0)return s.jsx("div",{className:"epochs-pdf-viewer__toolbar-group epochs-pdf-viewer__toolbar-group--end"});const g=l.map((M,$)=>{const O=l[$-1],st=Bn(M)&&(!O||!Bn(O));return s.jsx(f.Fragment,{children:As(M,Rn,{showMarkupSep:st})},M)});return s.jsxs("div",{className:h?"epochs-pdf-viewer__toolbar-group epochs-pdf-viewer__toolbar-group--end":"epochs-pdf-viewer__toolbar-group",children:[g,Us(Rn,new Set(l))]})};return s.jsxs("div",{"data-testid":"pdf-viewer","data-file-url":pt||void 0,className:`epochs-pdf-viewer ${_??""}`.trim(),style:Oi,children:[ne?s.jsxs("div",{className:"epochs-pdf-viewer__toolbar",children:[Ln(ne.left),Ln(ne.right,!0)]}):null,He||Vt||Rt?s.jsx(Ls,{open:it,onClose:()=>{W(!1),Zt(null),xt(void 0),dt==null||dt()},onSave:Ti,onSaveFieldValue:Ri,fieldType:ct,showFieldTypeTabs:!Rt,textPlaceholder:(Dn=E.find(c=>c.id===ut))==null?void 0:Dn.placeholder,initialFieldValue:ut?Ht[ut]??((Fn=E.find(c=>c.id===ut))==null?void 0:Fn.value):void 0,rememberedByType:It,onRememberFill:(c,h)=>{Ft(l=>c==="sign"?{...l,sign:h}:c==="date"?{...l,date:h}:{...l,text:h})}}):null,s.jsxs("div",{className:"epochs-pdf-viewer__content",children:[zt?s.jsx("div",{className:"epochs-pdf-viewer__thumbnails",style:{width:w+24},children:at==="ready"&&nt?s.jsxs(s.Fragment,{children:[Array.from({length:Math.min(kt||0,m)}).map((c,h)=>{const l=h+1;return s.jsx("div",{className:"epochs-pdf-viewer__thumb-wrap",children:s.jsx(js,{pdfDoc:nt,pageNumber:l,isActive:l===ht,rotation:I,onSelect:he,width:w,annotations:P,signatures:N,signatureFields:E,texts:fe,textFields:U})},l)}),kt>m?s.jsxs("div",{className:"epochs-pdf-viewer__thumb-more",children:["Showing first ",m," pages"]}):null]}):s.jsx("div",{className:"epochs-pdf-viewer__muted",children:"Thumbnails"})}):null,s.jsxs("div",{ref:Gt,className:"epochs-pdf-viewer__body",children:[at==="loading"?s.jsxs("div",{className:"epochs-pdf-viewer__overlay epochs-pdf-viewer__muted",children:["Loading PDF…",s.jsx("span",{className:"epochs-pdf-viewer__spinner"})]}):null,at==="error"?s.jsxs("div",{className:"epochs-pdf-viewer__overlay epochs-pdf-viewer__error",children:["Unable to load PDF.",pt?s.jsx("a",{className:"epochs-pdf-viewer__open-link",href:pt,target:"_blank",rel:"noopener noreferrer",children:"Open file"}):null]}):null,at==="ready"&&nt?s.jsx("div",{children:Array.from({length:kt}).map((c,h)=>{const l=h+1;return s.jsx(vs,{pdfDoc:nt,pageNumber:l,scale:Nt,rotation:I,markupTool:ot?j:"none",markupColor:ki,annotations:P,onAddAnnotation:Mi,onRemoveAnnotation:Ni,signatures:N,pendingSignature:Wt,onAddSignature:Li,onUpdateSignature:Di,onRemoveSignature:Fi,onEditSignature:Ei,onDuplicateSignature:Si,selectedSignatureId:Ut,onSelectSignature:lt,signatureFields:E,selectedSignatureFieldId:ut,onSelectSignatureField:Kt,hasFixedSignatureFields:Rt,onOpenSignaturePad:Ci,fieldValues:Ht,onFieldValueChange:$i,onFieldValueCommit:Ii,texts:B,onAddText:Ai,onUpdateText:Ui,onRemoveText:Hi,selectedTextId:$e,onSelectText:le,textFields:U,selectedTextFieldId:ui,onSelectTextField:xe,hasFixedTextFields:be,editingTextId:fi,onEditingTextIdChange:Ie,pageRef:g=>{g&&z.current.set(l,g)}},l)})}):null]})]}),Rt||qt?s.jsxs("div",{className:"epochs-pdf-viewer__footer",role:"navigation","aria-label":"Viewer actions",children:[Rt?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"epochs-pdf-viewer__footer-nav",children:[s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",disabled:E.length<=1||Ge<=0,onClick:()=>Tn(-1),children:"Prev"}),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",disabled:E.length<=1||Ge>=E.length-1,onClick:()=>Tn(1),children:"Next"})]}),s.jsxs("div",{className:"epochs-pdf-viewer__footer-center",children:[s.jsxs("span",{className:"epochs-pdf-viewer__footer-label",children:["Field ",Math.max(1,Ge+1)," of ",E.length]}),s.jsx("div",{className:"epochs-pdf-viewer__footer-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Xe,"aria-label":"Signature progress",children:s.jsx("div",{className:"epochs-pdf-viewer__footer-progress-bar",style:{width:`${Xe}%`}})}),s.jsxs("span",{className:"epochs-pdf-viewer__footer-percent",children:[Xe,"%"]})]})]}):s.jsx("div",{className:"epochs-pdf-viewer__footer-center"}),qt?s.jsxs("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--primary",onClick:qt,disabled:At,"aria-busy":At||void 0,children:[At?s.jsx("span",{className:"epochs-pdf-viewer__spinner epochs-pdf-viewer__spinner--btn","aria-hidden":"true"}):null,Ce]}):null]}):null]})}function Zn(t){return null}Zn.displayName="Document";function Qn(t){return null}Qn.displayName="Page";function Jn(t){return null}Jn.displayName="View";function ti(t){return null}ti.displayName="Text";function ei(t){return null}ei.displayName="Image";function ni(t){return null}ni.displayName="Link";const Os={Document:"DOCUMENT",Page:"PAGE",View:"VIEW",Text:"TEXT",Image:"IMAGE",Link:"LINK"};function zs(t){if(typeof t=="string")return t;if(typeof t=="function"){const e=t;return e.displayName||e.name||null}return null}function ii(t){const e=[],n=i=>{if(!(i==null||typeof i=="boolean")){if(Array.isArray(i)){i.forEach(n);return}e.push(i)}};return n(t),e}function si(t){return ii(t).map(e=>typeof e=="string"||typeof e=="number"?String(e):e&&typeof e=="object"&&"props"in e?si(e.props.children):"").join("")}function ri(t){const e=zs(t.type),n=e?Os[e]:void 0;if(!n)throw new Error(`[epochs-pdf] Unsupported element "${e??"unknown"}". Use Document, Page, View, Text, Image, or Link.`);const i={...t.props},r=i.children;if(delete i.children,n==="TEXT"||n==="LINK")return{type:n,props:i,children:[],text:si(r)};const o=ii(r).filter(d=>!!d&&typeof d=="object"&&"type"in d).map(ri);return{type:n,props:i,children:o}}const oi={A4:[595.28,841.89],LETTER:[612,792],LEGAL:[612,1008]};function ai(t="A4",e="portrait"){const[n,i]=Array.isArray(t)?t:oi[t];return e==="landscape"?[i,n]:[n,i]}function ci(t={}){const e=t.padding??0;return{top:t.paddingTop??e,right:t.paddingRight??e,bottom:t.paddingBottom??e,left:t.paddingLeft??e}}function ke(t={}){const e=t.margin??0;return{top:t.marginTop??e,right:t.marginRight??e,bottom:t.marginBottom??e,left:t.marginLeft??e}}function De(t){if(!t)return null;const e=t.trim();if(e.startsWith("#")){const i=e.slice(1);if(i.length===3){const r=parseInt(i[0]+i[0],16)/255,o=parseInt(i[1]+i[1],16)/255,d=parseInt(i[2]+i[2],16)/255;return[r,o,d]}if(i.length===6){const r=parseInt(i.slice(0,2),16)/255,o=parseInt(i.slice(2,4),16)/255,d=parseInt(i.slice(4,6),16)/255;return[r,o,d]}}const n=t.match(/rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i);return n?[Math.min(1,Number(n[1])/255),Math.min(1,Number(n[2])/255),Math.min(1,Number(n[3])/255)]:null}function ge(t,e,n=0){if(t==null)return n;if(typeof t=="number")return t;if(t.endsWith("%")){const r=Number.parseFloat(t);return Number.isFinite(r)?r/100*e:n}const i=Number.parseFloat(t);return Number.isFinite(i)?i:n}function nn(t){return t==="bold"?!0:typeof t=="number"?t>=600:!1}const Bs=12,Ws=1.4,Gs=.5;function li(t,e,n){const i=e.fontSize??Bs,r=(e.lineHeight??Ws)*i,o=i*(nn(e.fontWeight)?.55:Gs);if(!t)return{width:0,height:r,lines:[""]};const d=t.split(/\s+/),u=[];let w="";for(const _ of d){const y=w?`${w} ${_}`:_;y.length*o<=n||!w?w=y:(u.push(w),w=_)}w&&u.push(w);const m=Math.max(...u.map(_=>_.length*o),0);return{width:Math.min(m,n),height:u.length*r,lines:u}}function di(t,e,n,i,r){const o=t.props.style??{},d=ke(o),u=ci(o),w=e+d.left,m=n+d.top,_=Math.max(0,ge(o.width,i,i)-d.left-d.right),y=Math.max(0,_-u.left-u.right);if(t.type==="TEXT"||t.type==="LINK"){const U=li(t.text??"",o,y),tt=ge(o.height,r,U.height+u.top+u.bottom);return{x:w,y:m,width:_,height:tt,node:t,children:[],style:o,text:t.text}}if(t.type==="IMAGE"){const U=ge(o.width,i,Math.min(200,i)),tt=ge(o.height,r,120);return{x:w,y:m,width:U-d.left-d.right,height:tt,node:t,children:[],style:o}}const b=o.flexDirection??"column",k=o.gap??0,C=[];let H=w+u.left,A=m+u.top,L=0,Z=0;for(let U=0;U<t.children.length;U++){const tt=t.children[U],et=b==="row"?Math.max(0,y-L-(U>0?k:0)):y,bt=b==="column"?Math.max(0,r-(A-n)-d.bottom):r,V=di(tt,H,A,et,bt);C.push(V),b==="row"?(L+=V.width+ke(tt.props.style??{}).left+ke(tt.props.style??{}).right,U<t.children.length-1&&(L+=k),H=w+u.left+L,Z=Math.max(Z,V.height)):(L+=V.height+ke(tt.props.style??{}).top+ke(tt.props.style??{}).bottom,U<t.children.length-1&&(L+=k),A=m+u.top+L,Z=Math.max(Z,V.width))}const T=ge(o.height,r,b==="column"?L+u.top+u.bottom:Z+u.top+u.bottom),rt=b==="row"?ge(o.width,i,L+u.left+u.right):_,ot=o.justifyContent??"flex-start",Y=o.alignItems??"stretch",Q=b==="column"?T-u.top-u.bottom:rt-u.left-u.right,yt=Math.max(0,Q-L);let q=0,Pt=k;ot==="center"&&(q=yt/2),ot==="flex-end"&&(q=yt),ot==="space-between"&&C.length>1&&(Pt=k+yt/(C.length-1)),ot==="space-around"&&C.length>0&&(Pt=k+yt/C.length,q=Pt/2);let ft=0;for(const U of C)b==="column"?(U.y=m+u.top+q+ft,Y==="center"?U.x=w+u.left+Math.max(0,(y-U.width)/2):Y==="flex-end"?U.x=w+u.left+Math.max(0,y-U.width):Y==="stretch"&&U.style.width==null&&(U.width=y),ft+=U.height+Pt):(U.x=w+u.left+q+ft,Y==="center"?U.y=m+u.top+Math.max(0,(T-u.top-u.bottom-U.height)/2):Y==="flex-end"?U.y=m+u.top+Math.max(0,T-u.top-u.bottom-U.height):Y==="stretch"&&U.style.height==null&&(U.height=T-u.top-u.bottom),ft+=U.width+Pt);return{x:w,y:m,width:rt,height:T,node:t,children:C,style:o}}function Xs(t){if(t.type!=="DOCUMENT")throw new Error("[epochs-pdf] Root element must be <Document>.");const e=[];for(const n of t.children){if(n.type!=="PAGE")throw new Error("[epochs-pdf] Direct children of <Document> must be <Page>.");const i=n.props.size,r=n.props.orientation??"portrait",[o,d]=ai(i,r),u=n.props.style??{},w=ci(u),m={type:"VIEW",props:{style:{...u,width:o,height:d,paddingTop:w.top,paddingRight:w.right,paddingBottom:w.bottom,paddingLeft:w.left}},children:n.children},_=di(m,0,0,o,d);e.push({width:o,height:d,boxes:_.children,style:u})}return{meta:{title:String(t.props.title??"Untitled"),author:String(t.props.author??""),subject:String(t.props.subject??""),creator:String(t.props.creator??"epochs-pdf")},pages:e}}function Me(t){return t.replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/\r/g,"\\r").replace(/\n/g,"\\n")}class Vs{constructor(){Ve(this,"objects",[null]);Ve(this,"offsets",[0])}addObject(e){return this.objects.push(e),this.objects.length-1}build(e){const n=this.addObject(`<< /Title (${Me(e.meta.title)}) /Author (${Me(e.meta.author)}) /Subject (${Me(e.meta.subject)}) /Creator (${Me(e.meta.creator)}) /Producer (epochs-pdf) >>`),i=this.addObject("<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica >>"),r=this.addObject("<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica-Bold >>"),o=[];for(const y of e.pages){const b=this.renderPageContent(y.boxes,y.width,y.height,y.style),k=this.addObject(`<< /Length ${b.length} >>
38
+ </html>`),g.close();const N=g.body;for(const C of h){const B=g.createElement("img");B.src=C.dataUrl;const it=g.createElement("div");it.className="page",it.appendChild(B),N.appendChild(it)}await Promise.all(Array.from(N.querySelectorAll("img")).map(C=>{var B;return((B=C.decode)==null?void 0:B.call(C).catch(()=>{}))??Promise.resolve()})),setTimeout(()=>{var C,B;try{(C=l.contentWindow)==null||C.focus(),(B=l.contentWindow)==null||B.print()}finally{setTimeout(()=>{try{document.body.removeChild(l)}catch{}},1e3)}},50)}catch{try{lt?window.open(lt,"_blank","noopener,noreferrer"):gt&&window.open(gt,"_blank","noopener,noreferrer")}catch{}}finally{a(!1)}}},[tt,st,F,o,lt,gt,P,M,me]),_i=f.useCallback(async()=>{if(!tt||st!=="ready")return;const c=`${o.replace(/[^\w.-]+/g,"_")||"document"}.pdf`;if(!(P.length>0||M.length>0||me.length>0)&&lt){Je(await fetch(lt).then(l=>l.blob()),c);return}v(!0);try{const l=await Un(tt,{scale:2,rotation:F,annotations:P,signatures:M,texts:me,mimeType:"image/jpeg",quality:.92}),g=$s(l),N=new Uint8Array(g.byteLength);N.set(g),Je(new Blob([N],{type:"application/pdf"}),c)}catch{lt&&Je(await fetch(lt).then(l=>l.blob()),c)}finally{v(!1)}},[tt,st,F,o,lt,P,M,me]),vi=f.useCallback(c=>{L(h=>h===c?"none":c)},[]),ji=k==="highlight"||k==="underline"?on(k==="highlight"?jn:k==="underline"?kn:null,k):void 0,we=qt!=null?M.find(c=>c.id===qt)??null:null,ki=f.useCallback(c=>{D(h=>[...h,c])},[]),Mi=f.useCallback(c=>{D(h=>h.filter(l=>l.id!==c))},[]),Ni=f.useCallback(()=>{D([]),H([]),T([]),Nt(null),Lt(null),_e(null),Ie(null)},[]),Te=f.useCallback((c,h)=>{const l=U.findIndex(N=>N.id===c),g=U.slice(l+1).find(N=>!h.has(N.id))??U.slice(0,Math.max(0,l)).find(N=>!h.has(N.id));if(!g){G(!1),Bt(null);return}Vt(g.id),Nt(null),Bt(null),bt(g.type??"sign"),ge(g),window.setTimeout(()=>{G(!0)},350)},[ge,U]),Pi=f.useCallback(c=>{bt(c),G(!0)},[]),Ci=f.useCallback((c,h)=>{Ae(l=>({...l,[c]:h}))},[]),$i=f.useCallback(c=>{const h=Ut[c];h&&(Q==null||Q(c,h));const l=U.findIndex(C=>C.id===c),g=new Set(Object.keys(Ut).filter(C=>{var B;return(B=Ut[C])==null?void 0:B.trim()}));g.add(c);const N=U.slice(l+1).find(C=>!g.has(C.id)&&!M.some(B=>B.fieldId===C.id))??U.slice(0,Math.max(0,l)).find(C=>!g.has(C.id)&&!M.some(B=>B.fieldId===C.id));N&&(Vt(N.id),ge(N))},[U,Ut,M,ge,Q]),Ii=f.useCallback((c,h,l)=>{var ce;const g=Yi(h,l);if(ee){H(K=>K.map(jt=>jt.id===ee?{...jt,imageDataUrl:c,width:jt.fieldId?jt.width:g.width,height:jt.fieldId?jt.height:g.height}:jt)),Tt(null),L("none"),G(!1),Bt(null);return}if(Ft){const K=U.find(q=>q.id===wt&&(q.type??"sign")==="sign"&&!M.some(ie=>ie.fieldId===q.id))??U.find(q=>(q.type??"sign")==="sign"&&!M.some(ie=>ie.fieldId===q.id));if(!K){G(!1);return}const jt=ft&&K.signature_tag?U.filter(q=>(q.type??"sign")==="sign"&&q.signature_tag===K.signature_tag&&!M.some(ie=>ie.fieldId===q.id)):[K],kt=jt.map(q=>({id:Fe(),fieldId:q.id,pageNumber:q.pageNumber,x:q.x,y:q.y,width:q.width,height:q.height,imageDataUrl:c})),te=new Set(jt.map(q=>q.id));H(q=>[...q.filter(ie=>!ie.fieldId||!te.has(ie.fieldId)),...kt]);const le=new Map(kt.map(q=>[q.fieldId,q]));ke(jt.map(q=>q.id),kt[0],le),Tt(null),L("none"),Nt(((ce=kt[0])==null?void 0:ce.id)??null);const pt=new Set(U.filter(q=>je(q,[...M,...kt],Ut)).map(q=>q.id));for(const q of te)pt.add(q);Te(K.id,pt);return}const N=z.current.get(et),C=N==null?void 0:N.querySelector(".epochs-pdf-viewer__surface");let B=24,it=24;if(C){const K=ye(C,p),jt=C.closest(".epochs-pdf-viewer__body");if(jt){const kt=Sn(jt.getBoundingClientRect(),C,p),te=Math.max(0,kt.top),le=Math.min(K.height,kt.bottom),pt=Math.max(0,kt.left),q=Math.min(K.width,kt.right);B=Math.max(0,(pt+q)/2-g.width/2),it=Math.max(0,(te+le)/2-g.height/2),B=Math.min(B,Math.max(0,K.width-g.width)),it=Math.min(it,Math.max(0,K.height-g.height))}else B=Math.max(0,(K.width-g.width)/2),it=Math.max(0,(K.height-g.height)/2)}const St={id:Fe(),pageNumber:et,x:B,y:it,width:g.width,height:g.height,imageDataUrl:c};H(K=>[...K,St]),ke(void 0,St),Nt(St.id),Tt(null),L("none"),G(!1),Bt(null)},[Te,ft,ee,Ut,Ft,je,et,p,wt,U,M,ke]),Ti=f.useCallback((c,h)=>{if(Ft){const K=U.find(pt=>pt.id===wt&&(pt.type??"sign")===h)??U.find(pt=>(pt.type??"sign")===h);if(!K){G(!1);return}const kt=(ft&&K.signature_tag?U.filter(pt=>(pt.type??"sign")===h&&pt.signature_tag===K.signature_tag):[K]).map(pt=>pt.id);Mn(kt,c);const te={...Ut};for(const pt of kt)te[pt]=c;const le=new Set(U.filter(pt=>je(pt,M,te)).map(pt=>pt.id));Te(K.id,le);return}const l=he,g=Math.max(80,c.length*l*.55),N=l*1.25;let C=24,B=24;const it=z.current.get(et),St=it==null?void 0:it.querySelector(".epochs-pdf-viewer__surface");if(St){const K=ye(St,p),jt=St.closest(".epochs-pdf-viewer__body");if(jt){const kt=Sn(jt.getBoundingClientRect(),St,p),te=Math.max(0,kt.top),le=Math.min(K.height,kt.bottom),pt=Math.max(0,kt.left),q=Math.min(K.width,kt.right);C=Math.max(0,(pt+q)/2-g/2),B=Math.max(0,(te+le)/2-N/2),C=Math.min(C,Math.max(0,K.width-g)),B=Math.min(B,Math.max(0,K.height-N))}}const ce={id:Ee(),pageNumber:et,x:C,y:B,width:g,height:N,value:c,fontSize:l,color:de};T(K=>[...K,ce]),Lt(ce.id),G(!1),L("none")},[Te,ft,Ut,Ft,je,et,p,wt,U,M,Mn]),Li=f.useCallback(c=>{H(h=>[...h,c]),ke(void 0,c),Nt(c.id),Tt(null),L("none")},[ke]),Ri=f.useCallback((c,h)=>{H(l=>l.map(g=>g.id===c?{...g,...h}:g))},[]),Di=f.useCallback(c=>{const h=M.find(l=>l.id===c);H(l=>l.filter(g=>g.id!==c)),Nt(l=>l===c?null:l),h!=null&&h.fieldId&&Vt(h.fieldId)},[M]),Fi=f.useCallback(c=>{const h=c?M.find(St=>St.id===c)??null:we;if(!h)return;const l=z.current.get(h.pageNumber),g=l==null?void 0:l.querySelector(".epochs-pdf-viewer__surface"),N=18;let C=h.x+N,B=h.y+N;if(g){const St=g.clientWidth/p,ce=g.clientHeight/p;C=Math.min(Math.max(0,C),Math.max(0,St-h.width)),B=Math.min(Math.max(0,B),Math.max(0,ce-h.height))}const it={...h,id:Fe(),x:C,y:B};H(St=>[...St,it]),Nt(it.id),Tt(null),L("none")},[p,we,M]),Ei=f.useCallback(c=>{const h=c??(we==null?void 0:we.id);if(!h)return;const l=M.find(N=>N.id===h),g=l!=null&&l.fieldId?U.find(N=>N.id===l.fieldId):void 0;bt((g==null?void 0:g.type)??"sign"),Nt(h),Bt(h),G(!0)},[we,M,U]),Si=f.useCallback(c=>{T(h=>c.fieldId?[...h.filter(l=>l.fieldId!==c.fieldId),c]:[...h,c]),Lt(c.id),c.fieldId&&_e(c.fieldId)},[]),Ai=f.useCallback((c,h)=>{T(l=>l.map(g=>g.id===c?{...g,...h}:g))},[]),Ui=f.useCallback(c=>{const h=X.find(l=>l.id===c);T(l=>l.filter(g=>g.id!==c)),Lt(l=>l===c?null:l),Ie(l=>l===c?null:l),h!=null&&h.fieldId&&_e(h.fieldId)},[X]);f.useEffect(()=>{ve&&T(c=>c.map(h=>{if(!h.fieldId)return h;const l=S.find(g=>g.id===h.fieldId);return l?{...h,pageNumber:l.pageNumber,x:l.x,y:l.y,width:l.width,height:l.height,fontSize:l.fontSize??h.fontSize??he,color:l.color??h.color??de}:h}))},[ve,S]);const Tn=f.useCallback(c=>{var N;if(!U.length)return;const h=wt!=null?U.findIndex(C=>C.id===wt):-1,l=Math.min(U.length-1,Math.max(0,(h<0?0:h)+c)),g=U[l];g&&(Vt(g.id),Nt(((N=M.find(C=>C.fieldId===g.id))==null?void 0:N.id)??null),ge(g))},[ge,wt,U,M]);if(!$t&&!gt)return s.jsx("div",{"data-testid":"pdf-viewer",className:`epochs-pdf-viewer epochs-pdf-viewer--empty ${_??""}`.trim(),children:"No PDF file provided."});const Hi={height:r},Ln={status:st,showThumbnails:Xt,setShowThumbnails:Gt,canGoPrev:Be,canGoNext:We,handlePrev:gi,handleNext:mi,pageNumber:et,numPages:Mt,scrollToPage:pe,scale:p,handleZoomOut:xi,handleZoomIn:bi,handleFitWidth:ze,handleRotate:wi,markupTool:k,toggleMarkupTool:c=>vi(c),hasFixedSignatureFields:Ft,hasFixedTextFields:ve,pendingSignature:It,setMarkupTool:L,setSignaturePadOpen:G,annotationsLength:P.length,signaturesLength:M.length,textsLength:X.length,handleClearAnnotations:Ni,highlightHex:jn,underlineHex:kn,setHighlightHex:fi,setUnderlineHex:pi,loadDocument:Oe,handlePrint:yi,isPrinting:Jt,pdfDoc:tt,displayUrl:lt,resolvedUrl:gt,handleDownload:_i,isDownloading:b},Oi=c=>c.filter(h=>!(Ft&&(h==="highlight"||h==="underline"||h==="erase"))),Xe=wt?U.findIndex(c=>c.id===wt):0,Bi=U.filter(c=>je(c,M,Ut)).length,Ge=U.length>0?Math.round(Bi/U.length*100):0,Rn=(c,h=!1)=>{const l=Oi(c);if(l.length===0&&!h)return s.jsx("div",{className:"epochs-pdf-viewer__toolbar-group"});if(l.length===0)return s.jsx("div",{className:"epochs-pdf-viewer__toolbar-group epochs-pdf-viewer__toolbar-group--end"});const g=l.map((N,C)=>{const B=l[C-1],it=Wn(N)&&(!B||!Wn(B));return s.jsx(f.Fragment,{children:Ss(N,Ln,{showMarkupSep:it})},N)});return s.jsxs("div",{className:h?"epochs-pdf-viewer__toolbar-group epochs-pdf-viewer__toolbar-group--end":"epochs-pdf-viewer__toolbar-group",children:[g,As(Ln,new Set(l))]})};return s.jsxs("div",{"data-testid":"pdf-viewer","data-file-url":gt||void 0,className:`epochs-pdf-viewer ${_??""}`.trim(),style:Hi,children:[oe?s.jsxs("div",{className:"epochs-pdf-viewer__toolbar",children:[Rn(oe.left),Rn(oe.right,!0)]}):null,He||_t||Ft?s.jsx(Ls,{open:nt,onClose:()=>{G(!1),Bt(null),bt(void 0),at==null||at()},onSave:Ii,onSaveFieldValue:Ti,fieldType:dt,showFieldTypeTabs:!Ft,textPlaceholder:(Dn=U.find(c=>c.id===wt))==null?void 0:Dn.placeholder,initialFieldValue:wt?Ut[wt]??((Fn=U.find(c=>c.id===wt))==null?void 0:Fn.value):void 0,targetSize:(()=>{const c=U.find(h=>h.id===wt);if(!(!c||(c.type??"sign")!=="sign"))return{width:c.width,height:c.height}})(),rememberedByType:Ot,onRememberFill:(c,h)=>{vt(l=>c==="sign"?{...l,sign:h}:c==="date"?{...l,date:h}:{...l,text:h})}}):null,s.jsxs("div",{className:"epochs-pdf-viewer__content",children:[Xt?s.jsx("div",{className:"epochs-pdf-viewer__thumbnails",style:{width:w+24},children:st==="ready"&&tt?s.jsxs(s.Fragment,{children:[Array.from({length:Math.min(Mt||0,m)}).map((c,h)=>{const l=h+1;return s.jsx("div",{className:"epochs-pdf-viewer__thumb-wrap",children:s.jsx(vs,{pdfDoc:tt,pageNumber:l,isActive:l===et,rotation:F,onSelect:pe,width:w,annotations:P,signatures:M,signatureFields:U,texts:me,textFields:S})},l)}),Mt>m?s.jsxs("div",{className:"epochs-pdf-viewer__thumb-more",children:["Showing first ",m," pages"]}):null]}):s.jsx("div",{className:"epochs-pdf-viewer__muted",children:"Thumbnails"})}):null,s.jsxs("div",{ref:Rt,className:"epochs-pdf-viewer__body",children:[st==="loading"?s.jsxs("div",{className:"epochs-pdf-viewer__overlay epochs-pdf-viewer__muted",children:["Loading PDF…",s.jsx("span",{className:"epochs-pdf-viewer__spinner"})]}):null,st==="error"?s.jsxs("div",{className:"epochs-pdf-viewer__overlay epochs-pdf-viewer__error",children:["Unable to load PDF.",gt?s.jsx("a",{className:"epochs-pdf-viewer__open-link",href:gt,target:"_blank",rel:"noopener noreferrer",children:"Open file"}):null]}):null,st==="ready"&&tt?s.jsx("div",{children:Array.from({length:Mt}).map((c,h)=>{const l=h+1;return s.jsx(_s,{pdfDoc:tt,pageNumber:l,scale:p,rotation:F,markupTool:rt?k:"none",markupColor:ji,annotations:P,onAddAnnotation:ki,onRemoveAnnotation:Mi,signatures:M,pendingSignature:It,onAddSignature:Li,onUpdateSignature:Ri,onRemoveSignature:Di,onEditSignature:Ei,onDuplicateSignature:Fi,selectedSignatureId:qt,onSelectSignature:Nt,signatureFields:U,selectedSignatureFieldId:wt,onSelectSignatureField:Vt,hasFixedSignatureFields:Ft,onOpenSignaturePad:Pi,fieldValues:Ut,onFieldValueChange:Ci,onFieldValueCommit:$i,texts:X,onAddText:Si,onUpdateText:Ai,onRemoveText:Ui,selectedTextId:ne,onSelectText:Lt,textFields:S,selectedTextFieldId:re,onSelectTextField:_e,hasFixedTextFields:ve,editingTextId:ui,onEditingTextIdChange:Ie,pageRef:g=>{g&&z.current.set(l,g)}},l)})}):null]})]}),Ft||Kt?s.jsxs("div",{className:"epochs-pdf-viewer__footer",role:"navigation","aria-label":"Viewer actions",children:[Ft?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"epochs-pdf-viewer__footer-nav",children:[s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",disabled:U.length<=1||Xe<=0,onClick:()=>Tn(-1),children:"Prev"}),s.jsx("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text",disabled:U.length<=1||Xe>=U.length-1,onClick:()=>Tn(1),children:"Next"})]}),s.jsxs("div",{className:"epochs-pdf-viewer__footer-center",children:[s.jsxs("span",{className:"epochs-pdf-viewer__footer-label",children:["Field ",Math.max(1,Xe+1)," of ",U.length]}),s.jsx("div",{className:"epochs-pdf-viewer__footer-progress",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Ge,"aria-label":"Signature progress",children:s.jsx("div",{className:"epochs-pdf-viewer__footer-progress-bar",style:{width:`${Ge}%`}})}),s.jsxs("span",{className:"epochs-pdf-viewer__footer-percent",children:[Ge,"%"]})]})]}):s.jsx("div",{className:"epochs-pdf-viewer__footer-center"}),Kt?s.jsxs("button",{type:"button",className:"epochs-pdf-viewer__btn epochs-pdf-viewer__btn--text epochs-pdf-viewer__btn--primary",onClick:Kt,disabled:Ht,"aria-busy":Ht||void 0,children:[Ht?s.jsx("span",{className:"epochs-pdf-viewer__spinner epochs-pdf-viewer__spinner--btn","aria-hidden":"true"}):null,ue]}):null]}):null]})}function Zn(t){return null}Zn.displayName="Document";function Qn(t){return null}Qn.displayName="Page";function Jn(t){return null}Jn.displayName="View";function ti(t){return null}ti.displayName="Text";function ei(t){return null}ei.displayName="Image";function ni(t){return null}ni.displayName="Link";const Hs={Document:"DOCUMENT",Page:"PAGE",View:"VIEW",Text:"TEXT",Image:"IMAGE",Link:"LINK"};function Os(t){if(typeof t=="string")return t;if(typeof t=="function"){const e=t;return e.displayName||e.name||null}return null}function ii(t){const e=[],n=i=>{if(!(i==null||typeof i=="boolean")){if(Array.isArray(i)){i.forEach(n);return}e.push(i)}};return n(t),e}function si(t){return ii(t).map(e=>typeof e=="string"||typeof e=="number"?String(e):e&&typeof e=="object"&&"props"in e?si(e.props.children):"").join("")}function ri(t){const e=Os(t.type),n=e?Hs[e]:void 0;if(!n)throw new Error(`[epochs-pdf] Unsupported element "${e??"unknown"}". Use Document, Page, View, Text, Image, or Link.`);const i={...t.props},r=i.children;if(delete i.children,n==="TEXT"||n==="LINK")return{type:n,props:i,children:[],text:si(r)};const o=ii(r).filter(d=>!!d&&typeof d=="object"&&"type"in d).map(ri);return{type:n,props:i,children:o}}const oi={A4:[595.28,841.89],LETTER:[612,792],LEGAL:[612,1008]};function ai(t="A4",e="portrait"){const[n,i]=Array.isArray(t)?t:oi[t];return e==="landscape"?[i,n]:[n,i]}function ci(t={}){const e=t.padding??0;return{top:t.paddingTop??e,right:t.paddingRight??e,bottom:t.paddingBottom??e,left:t.paddingLeft??e}}function Pe(t={}){const e=t.margin??0;return{top:t.marginTop??e,right:t.marginRight??e,bottom:t.marginBottom??e,left:t.marginLeft??e}}function De(t){if(!t)return null;const e=t.trim();if(e.startsWith("#")){const i=e.slice(1);if(i.length===3){const r=parseInt(i[0]+i[0],16)/255,o=parseInt(i[1]+i[1],16)/255,d=parseInt(i[2]+i[2],16)/255;return[r,o,d]}if(i.length===6){const r=parseInt(i.slice(0,2),16)/255,o=parseInt(i.slice(2,4),16)/255,d=parseInt(i.slice(4,6),16)/255;return[r,o,d]}}const n=t.match(/rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i);return n?[Math.min(1,Number(n[1])/255),Math.min(1,Number(n[2])/255),Math.min(1,Number(n[3])/255)]:null}function xe(t,e,n=0){if(t==null)return n;if(typeof t=="number")return t;if(t.endsWith("%")){const r=Number.parseFloat(t);return Number.isFinite(r)?r/100*e:n}const i=Number.parseFloat(t);return Number.isFinite(i)?i:n}function nn(t){return t==="bold"?!0:typeof t=="number"?t>=600:!1}const Bs=12,Ws=1.4,zs=.5;function li(t,e,n){const i=e.fontSize??Bs,r=(e.lineHeight??Ws)*i,o=i*(nn(e.fontWeight)?.55:zs);if(!t)return{width:0,height:r,lines:[""]};const d=t.split(/\s+/),u=[];let w="";for(const _ of d){const x=w?`${w} ${_}`:_;x.length*o<=n||!w?w=x:(u.push(w),w=_)}w&&u.push(w);const m=Math.max(...u.map(_=>_.length*o),0);return{width:Math.min(m,n),height:u.length*r,lines:u}}function di(t,e,n,i,r){const o=t.props.style??{},d=Pe(o),u=ci(o),w=e+d.left,m=n+d.top,_=Math.max(0,xe(o.width,i,i)-d.left-d.right),x=Math.max(0,_-u.left-u.right);if(t.type==="TEXT"||t.type==="LINK"){const S=li(t.text??"",o,x),ot=xe(o.height,r,S.height+u.top+u.bottom);return{x:w,y:m,width:_,height:ot,node:t,children:[],style:o,text:t.text}}if(t.type==="IMAGE"){const S=xe(o.width,i,Math.min(200,i)),ot=xe(o.height,r,120);return{x:w,y:m,width:S-d.left-d.right,height:ot,node:t,children:[],style:o}}const y=o.flexDirection??"column",j=o.gap??0,$=[];let W=w+u.left,A=m+u.top,O=0,E=0;for(let S=0;S<t.children.length;S++){const ot=t.children[S],ht=y==="row"?Math.max(0,x-O-(S>0?j:0)):x,ft=y==="column"?Math.max(0,r-(A-n)-d.bottom):r,Q=di(ot,W,A,ht,ft);$.push(Q),y==="row"?(O+=Q.width+Pe(ot.props.style??{}).left+Pe(ot.props.style??{}).right,S<t.children.length-1&&(O+=j),W=w+u.left+O,E=Math.max(E,Q.height)):(O+=Q.height+Pe(ot.props.style??{}).top+Pe(ot.props.style??{}).bottom,S<t.children.length-1&&(O+=j),A=m+u.top+O,E=Math.max(E,Q.width))}const I=xe(o.height,r,y==="column"?O+u.top+u.bottom:E+u.top+u.bottom),J=y==="row"?xe(o.width,i,O+u.left+u.right):_,rt=o.justifyContent??"flex-start",V=o.alignItems??"stretch",ut=y==="column"?I-u.top-u.bottom:J-u.left-u.right,yt=Math.max(0,ut-O);let Y=0,Pt=j;rt==="center"&&(Y=yt/2),rt==="flex-end"&&(Y=yt),rt==="space-between"&&$.length>1&&(Pt=j+yt/($.length-1)),rt==="space-around"&&$.length>0&&(Pt=j+yt/$.length,Y=Pt/2);let xt=0;for(const S of $)y==="column"?(S.y=m+u.top+Y+xt,V==="center"?S.x=w+u.left+Math.max(0,(x-S.width)/2):V==="flex-end"?S.x=w+u.left+Math.max(0,x-S.width):V==="stretch"&&S.style.width==null&&(S.width=x),xt+=S.height+Pt):(S.x=w+u.left+Y+xt,V==="center"?S.y=m+u.top+Math.max(0,(I-u.top-u.bottom-S.height)/2):V==="flex-end"?S.y=m+u.top+Math.max(0,I-u.top-u.bottom-S.height):V==="stretch"&&S.style.height==null&&(S.height=I-u.top-u.bottom),xt+=S.width+Pt);return{x:w,y:m,width:J,height:I,node:t,children:$,style:o}}function Xs(t){if(t.type!=="DOCUMENT")throw new Error("[epochs-pdf] Root element must be <Document>.");const e=[];for(const n of t.children){if(n.type!=="PAGE")throw new Error("[epochs-pdf] Direct children of <Document> must be <Page>.");const i=n.props.size,r=n.props.orientation??"portrait",[o,d]=ai(i,r),u=n.props.style??{},w=ci(u),m={type:"VIEW",props:{style:{...u,width:o,height:d,paddingTop:w.top,paddingRight:w.right,paddingBottom:w.bottom,paddingLeft:w.left}},children:n.children},_=di(m,0,0,o,d);e.push({width:o,height:d,boxes:_.children,style:u})}return{meta:{title:String(t.props.title??"Untitled"),author:String(t.props.author??""),subject:String(t.props.subject??""),creator:String(t.props.creator??"epochs-pdf")},pages:e}}function Ce(t){return t.replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/\r/g,"\\r").replace(/\n/g,"\\n")}class Gs{constructor(){qe(this,"objects",[null]);qe(this,"offsets",[0])}addObject(e){return this.objects.push(e),this.objects.length-1}build(e){const n=this.addObject(`<< /Title (${Ce(e.meta.title)}) /Author (${Ce(e.meta.author)}) /Subject (${Ce(e.meta.subject)}) /Creator (${Ce(e.meta.creator)}) /Producer (epochs-pdf) >>`),i=this.addObject("<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica >>"),r=this.addObject("<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica-Bold >>"),o=[];for(const x of e.pages){const y=this.renderPageContent(x.boxes,x.width,x.height,x.style),j=this.addObject(`<< /Length ${y.length} >>
39
39
  stream
40
- ${b}
41
- endstream`),C=this.addObject("");o.push(C),this.objects[C]=`<< /Type /Page /Parent 0 0 R /MediaBox [0 0 ${y.width.toFixed(2)} ${y.height.toFixed(2)}] /Contents ${k} 0 R /Resources << /Font << /F1 ${i} 0 R /F2 ${r} 0 R >> >> >>`}const d=o.map(y=>`${y} 0 R`).join(" "),u=this.addObject(`<< /Type /Pages /Kids [${d}] /Count ${o.length} >>`);for(const y of o)this.objects[y]=this.objects[y].replace("/Parent 0 0 R",`/Parent ${u} 0 R`);const w=this.addObject(`<< /Type /Catalog /Pages ${u} 0 R >>`);let m=`%PDF-1.4
42
- `;this.offsets=[0];for(let y=1;y<this.objects.length;y++)this.offsets[y]=m.length,m+=`${y} 0 obj
43
- ${this.objects[y]}
40
+ ${y}
41
+ endstream`),$=this.addObject("");o.push($),this.objects[$]=`<< /Type /Page /Parent 0 0 R /MediaBox [0 0 ${x.width.toFixed(2)} ${x.height.toFixed(2)}] /Contents ${j} 0 R /Resources << /Font << /F1 ${i} 0 R /F2 ${r} 0 R >> >> >>`}const d=o.map(x=>`${x} 0 R`).join(" "),u=this.addObject(`<< /Type /Pages /Kids [${d}] /Count ${o.length} >>`);for(const x of o)this.objects[x]=this.objects[x].replace("/Parent 0 0 R",`/Parent ${u} 0 R`);const w=this.addObject(`<< /Type /Catalog /Pages ${u} 0 R >>`);let m=`%PDF-1.4
42
+ `;this.offsets=[0];for(let x=1;x<this.objects.length;x++)this.offsets[x]=m.length,m+=`${x} 0 obj
43
+ ${this.objects[x]}
44
44
  endobj
45
45
  `;const _=m.length;m+=`xref
46
46
  0 ${this.objects.length}
47
47
  `,m+=`0000000000 65535 f
48
- `;for(let y=1;y<this.objects.length;y++)m+=`${String(this.offsets[y]).padStart(10,"0")} 00000 n
48
+ `;for(let x=1;x<this.objects.length;x++)m+=`${String(this.offsets[x]).padStart(10,"0")} 00000 n
49
49
  `;return m+=`trailer
50
50
  << /Size ${this.objects.length} /Root ${w} 0 R /Info ${n} 0 R >>
51
51
  `,m+=`startxref
52
52
  ${_}
53
- %%EOF`,new TextEncoder().encode(m)}renderPageContent(e,n,i,r){const o=[],d=De(r.backgroundColor);d&&(o.push("q"),o.push(`${d[0].toFixed(3)} ${d[1].toFixed(3)} ${d[2].toFixed(3)} rg`),o.push(`0 0 ${n.toFixed(2)} ${i.toFixed(2)} re f`),o.push("Q"));const u=w=>{const{x:m,y:_,width:y,height:b,style:k,node:C,text:H}=w,A=i-_-b,L=De(k.backgroundColor);if(L&&(o.push("q"),o.push(`${L[0].toFixed(3)} ${L[1].toFixed(3)} ${L[2].toFixed(3)} rg`),o.push(`${m.toFixed(2)} ${A.toFixed(2)} ${y.toFixed(2)} ${b.toFixed(2)} re f`),o.push("Q")),k.borderWidth&&k.borderWidth>0){const Z=De(k.borderColor)??[0,0,0];o.push("q"),o.push(`${k.borderWidth} w`),o.push(`${Z[0].toFixed(3)} ${Z[1].toFixed(3)} ${Z[2].toFixed(3)} RG`),o.push(`${m.toFixed(2)} ${A.toFixed(2)} ${y.toFixed(2)} ${b.toFixed(2)} re S`),o.push("Q")}if((C.type==="TEXT"||C.type==="LINK")&&H!=null){const Z=k.fontSize??12,T=De(k.color)??[0,0,0],rt=nn(k.fontWeight)?"F2":"F1",ot=k.paddingLeft??k.padding??0,Y=k.paddingTop??k.padding??0,Q=Math.max(0,y-ot-(k.paddingRight??k.padding??0)),wt=li(H,k,Q||y),yt=(k.lineHeight??1.4)*Z;o.push("q"),o.push("BT"),o.push(`/${rt} ${Z} Tf`),o.push(`${T[0].toFixed(3)} ${T[1].toFixed(3)} ${T[2].toFixed(3)} rg`),wt.lines.forEach((q,Pt)=>{let ft=m+ot;const U=q.length*Z*(nn(k.fontWeight)?.55:.5);k.textAlign==="center"?ft=m+(y-U)/2:k.textAlign==="right"&&(ft=m+y-U-(k.paddingRight??k.padding??0));const tt=i-_-Y-Z-Pt*yt;o.push(`1 0 0 1 ${ft.toFixed(2)} ${tt.toFixed(2)} Tm`),o.push(`(${Me(q)}) Tj`)}),o.push("ET"),o.push("Q")}C.type==="IMAGE"&&(o.push("q"),o.push("0.85 0.85 0.85 rg"),o.push(`${m.toFixed(2)} ${A.toFixed(2)} ${y.toFixed(2)} ${b.toFixed(2)} re f`),o.push("0.6 0.6 0.6 RG 1 w"),o.push(`${m.toFixed(2)} ${A.toFixed(2)} ${y.toFixed(2)} ${b.toFixed(2)} re S`),o.push(`BT /F1 10 Tf 0.4 0.4 0.4 rg 1 0 0 1 ${(m+8).toFixed(2)} ${(A+b/2-4).toFixed(2)} Tm (Image) Tj ET`),o.push("Q"));for(const Z of w.children)u(Z)};for(const w of e)u(w);return o.join(`
54
- `)}}function qs(t){return new Vs().build(t)}function _n(t){const e=ri(t),n=Xs(e);return qs(n)}function Ys(t){return _n(t)}function vn(t){const e=_n(t),n=new Uint8Array(e.byteLength);return n.set(e),new Blob([n],{type:"application/pdf"})}function hi(t){return URL.createObjectURL(vn(t))}function Ks(t,e="document.pdf"){const n=hi(t),i=document.createElement("a");i.href=n,i.download=e,i.click(),URL.revokeObjectURL(n)}async function Zs(t){return _n(t)}async function Qs(t){return vn(t)}exports.ALL_TOOLBAR_TOOLS=Ss;exports.AddText=xn;exports.Clear=yn;exports.DEFAULT_TOOLBAR_LAYOUT=en;exports.Document=Zn;exports.Download=pn;exports.Erase=bn;exports.HIGHLIGHT_PRESETS=sn;exports.Highlight=gn;exports.Image=ei;exports.Link=ni;exports.Navigation=cn;exports.Open=fn;exports.PAGE_SIZES=oi;exports.Page=Qn;exports.PdfViewer=Kn;exports.Print=un;exports.Reload=hn;exports.Rotate=dn;exports.Signature=wn;exports.Text=ti;exports.Thumbnail=an;exports.UNDERLINE_PRESETS=rn;exports.Underline=mn;exports.View=Jn;exports.Zoom=ln;exports.default=Kn;exports.download=Ks;exports.hexToMarkupColor=on;exports.pdf=Ys;exports.renderToBlob=Qs;exports.renderToBuffer=Zs;exports.resolvePageSize=ai;exports.setPdfWorkerSrc=tn;exports.toBlob=vn;exports.toUrl=hi;
53
+ %%EOF`,new TextEncoder().encode(m)}renderPageContent(e,n,i,r){const o=[],d=De(r.backgroundColor);d&&(o.push("q"),o.push(`${d[0].toFixed(3)} ${d[1].toFixed(3)} ${d[2].toFixed(3)} rg`),o.push(`0 0 ${n.toFixed(2)} ${i.toFixed(2)} re f`),o.push("Q"));const u=w=>{const{x:m,y:_,width:x,height:y,style:j,node:$,text:W}=w,A=i-_-y,O=De(j.backgroundColor);if(O&&(o.push("q"),o.push(`${O[0].toFixed(3)} ${O[1].toFixed(3)} ${O[2].toFixed(3)} rg`),o.push(`${m.toFixed(2)} ${A.toFixed(2)} ${x.toFixed(2)} ${y.toFixed(2)} re f`),o.push("Q")),j.borderWidth&&j.borderWidth>0){const E=De(j.borderColor)??[0,0,0];o.push("q"),o.push(`${j.borderWidth} w`),o.push(`${E[0].toFixed(3)} ${E[1].toFixed(3)} ${E[2].toFixed(3)} RG`),o.push(`${m.toFixed(2)} ${A.toFixed(2)} ${x.toFixed(2)} ${y.toFixed(2)} re S`),o.push("Q")}if(($.type==="TEXT"||$.type==="LINK")&&W!=null){const E=j.fontSize??12,I=De(j.color)??[0,0,0],J=nn(j.fontWeight)?"F2":"F1",rt=j.paddingLeft??j.padding??0,V=j.paddingTop??j.padding??0,ut=Math.max(0,x-rt-(j.paddingRight??j.padding??0)),Z=li(W,j,ut||x),yt=(j.lineHeight??1.4)*E;o.push("q"),o.push("BT"),o.push(`/${J} ${E} Tf`),o.push(`${I[0].toFixed(3)} ${I[1].toFixed(3)} ${I[2].toFixed(3)} rg`),Z.lines.forEach((Y,Pt)=>{let xt=m+rt;const S=Y.length*E*(nn(j.fontWeight)?.55:.5);j.textAlign==="center"?xt=m+(x-S)/2:j.textAlign==="right"&&(xt=m+x-S-(j.paddingRight??j.padding??0));const ot=i-_-V-E-Pt*yt;o.push(`1 0 0 1 ${xt.toFixed(2)} ${ot.toFixed(2)} Tm`),o.push(`(${Ce(Y)}) Tj`)}),o.push("ET"),o.push("Q")}$.type==="IMAGE"&&(o.push("q"),o.push("0.85 0.85 0.85 rg"),o.push(`${m.toFixed(2)} ${A.toFixed(2)} ${x.toFixed(2)} ${y.toFixed(2)} re f`),o.push("0.6 0.6 0.6 RG 1 w"),o.push(`${m.toFixed(2)} ${A.toFixed(2)} ${x.toFixed(2)} ${y.toFixed(2)} re S`),o.push(`BT /F1 10 Tf 0.4 0.4 0.4 rg 1 0 0 1 ${(m+8).toFixed(2)} ${(A+y/2-4).toFixed(2)} Tm (Image) Tj ET`),o.push("Q"));for(const E of w.children)u(E)};for(const w of e)u(w);return o.join(`
54
+ `)}}function qs(t){return new Gs().build(t)}function _n(t){const e=ri(t),n=Xs(e);return qs(n)}function Vs(t){return _n(t)}function vn(t){const e=_n(t),n=new Uint8Array(e.byteLength);return n.set(e),new Blob([n],{type:"application/pdf"})}function hi(t){return URL.createObjectURL(vn(t))}function Ys(t,e="document.pdf"){const n=hi(t),i=document.createElement("a");i.href=n,i.download=e,i.click(),URL.revokeObjectURL(n)}async function Ks(t){return _n(t)}async function Zs(t){return vn(t)}exports.ALL_TOOLBAR_TOOLS=Fs;exports.AddText=xn;exports.Clear=yn;exports.DEFAULT_TOOLBAR_LAYOUT=en;exports.Document=Zn;exports.Download=pn;exports.Erase=bn;exports.HIGHLIGHT_PRESETS=sn;exports.Highlight=gn;exports.Image=ei;exports.Link=ni;exports.Navigation=cn;exports.Open=fn;exports.PAGE_SIZES=oi;exports.Page=Qn;exports.PdfViewer=Kn;exports.Print=un;exports.Reload=hn;exports.Rotate=dn;exports.Signature=wn;exports.Text=ti;exports.Thumbnail=an;exports.UNDERLINE_PRESETS=rn;exports.Underline=mn;exports.View=Jn;exports.Zoom=ln;exports.default=Kn;exports.download=Ys;exports.hexToMarkupColor=on;exports.pdf=Vs;exports.renderToBlob=Zs;exports.renderToBuffer=Ks;exports.resolvePageSize=ai;exports.setPdfWorkerSrc=tn;exports.toBlob=vn;exports.toUrl=hi;
55
55
  //# sourceMappingURL=epochs-pdf.cjs.map