1import{F as e,Li as t,Qa as n,Tr as r,oo as i,to as a,wr as o}from"./index-CDqRzfAd.js";import{l as s,n as c}from"./pdf-document-BplbXx-0.js";import{i as l,n as u,r as d,t as f}from"./pdf-DF2spZjY.js";import{a as p,i as m,n as h,o as g,r as _,s as v}from"./preview-BCGsksr1.js";var y=i(a(),1),b=n();u.workerSrc=new URL(`/assets/pdf.worker.min-iDqQPrd3.mjs`,``+import.meta.url).toString();var x=e=>e instanceof d||typeof e==`object`&&!!e&&`name`in e&&e.name===`RenderingCancelledException`;function S({children:e,file:t,onLoadSuccess:n}){let[r,i]=(0,y.useState)(null),a=(0,y.useRef)(n);return(0,y.useEffect)(()=>{a.current=n},[n]),(0,y.useEffect)(()=>{let e=!1,n,r;return(async()=>{i(null);let o=await t.arrayBuffer();if(e)return;n=l({data:new Uint8Array(o)});let s=await n.promise;if(e){s.destroy();return}r=s,i(s),a.current(s)})().catch(t=>{e||console.error(`Failed to load PDF document`,t)}),()=>{e=!0,r?r.destroy():n&&n.destroy()}},[t]),r?e(r):null}function C({className:e,document:n,onLoadSuccess:r,onRenderSuccess:i,pageNumber:a,pageScale:o,pageSize:s=h,showPageNumbers:c,totalPages:l}){let u=(0,y.useRef)(null),d=(0,y.useRef)(r),p=(0,y.useRef)(i),g=v(s,o);return(0,y.useEffect)(()=>{d.current=r,p.current=i},[r,i]),(0,y.useEffect)(()=>{let e=!1,t;return(async()=>{let r=u.current;if(!r)return;let i=await n.getPage(a);try{if(e){i.cleanup();return}let n=i.getViewport({scale:1}),s={height:n.height,width:n.width};d.current(a,s);let c=n.width*o,l=n.height*o,u=m(c,l),h=r.getContext(`2d`);if(!h)return;r.style.width=`${c}px`,r.style.height=`${l}px`,r.width=Math.floor(c*u),r.height=Math.floor(l*u),h.setTransform(1,0,0,1,0,0),h.clearRect(0,0,r.width,r.height);let g=i.getViewport({scale:o}),_=[u,0,0,u,0,0];t=i.render({canvas:r,canvasContext:h,viewport:g,transform:_,annotationMode:f.DISABLE,background:`white`}),await t.promise,t=void 0,e||p.current?.()}finally{i.cleanup()}})().catch(e=>{x(e)||console.error(`Failed to render PDF page ${a}`,e)}),()=>{e=!0,t&&t.cancel()}},[n,a,o]),(0,b.jsxs)(`figure`,{className:`shrink-0`,children:[c?(0,b.jsxs)(`figcaption`,{className:`mb-1 font-medium text-[0.625rem] text-muted-foreground`,children:[`Page `,a,` of `,l]}):null,(0,b.jsx)(`div`,{role:`img`,"aria-label":`Resume page ${a} of ${l}`,style:g,className:t(`aspect-page overflow-hidden rounded-md`,e),children:(0,b.jsx)(`canvas`,{ref:u})})]})}var w=100,T=180,E=(e,t,n)=>({file:e,id:t,numPages:0,pageSizes:{},phase:n?`staged`:`active`,renderedPages:[]}),D=(e,t)=>{let n=e.filter(e=>e.phase===`active`);return n.length===0?[t]:[...n,t]},O=e=>e.find(e=>e.phase===`active`)??null,k=(e,t,n)=>e.map(e=>e.id===t?{...e,numPages:n}:e),A=(e,t,n,r)=>e.map(e=>e.id===t?{...e,pageSizes:{...e.pageSizes,[n]:r}}:e),j=(e,t,n)=>{let r=!1,i=e.map(e=>{if(e.id!==t||e.renderedPages.includes(n))return e;let i=[...e.renderedPages,n],a={...e,renderedPages:i};return e.phase===`staged`&&i.length>=e.numPages?(r=!0,{...a,phase:`active`}):a});return r?i.map(e=>e.id===t?e:e.phase===`active`?{...e,phase:`exiting`}:e):i},M=(e,t)=>e.filter(e=>e.id!==t);function N({className:n,data:i,pageGap:a=16,pageLayout:l,pageScale:u,pageClassName:d,showPageNumbers:f}){let m=e(),h=i??m,v=c(h),[x,N]=(0,y.useState)([]),P=(0,y.useRef)(0),F=(0,y.useRef)(0),I=(0,y.useRef)(!1);if((0,y.useEffect)(()=>{if(!v)return;let e=!1,t=++F.current,n=I.current?w:0,r=async()=>{try{let n=await s(v).toBlob();if(e||t!==F.current)return;let r=E(n,P.current++,I.current);I.current=!0,N(e=>D(e,r))}catch{}},i=window.setTimeout(()=>{r()},n);return()=>{e=!0,window.clearTimeout(i)}},[v]),!h)return null;let L=O(x),R=p(a);return L?(0,b.jsx)(`div`,{className:t(`grid`,n),children:(0,b.jsx)(r,{initial:!1,children:x.map(e=>(0,b.jsx)(o.div,{"aria-hidden":e.phase!==`active`,style:{"--resume-preview-page-gap":R},className:t(`col-start-1 row-start-1`,e.phase!==`active`&&`pointer-events-none`),initial:{opacity:+(e.phase===`active`)},animate:{opacity:+(e.phase===`active`)},exit:{opacity:0},transition:{duration:T/1e3,ease:`easeOut`},onAnimationComplete:()=>{e.phase===`exiting`&&N(t=>M(t,e.id))},children:(0,b.jsx)(S,{file:e.file,onLoadSuccess:t=>{N(n=>k(n,e.id,t.numPages))},children:n=>(0,b.jsx)(`div`,{className:t(`flex justify-start gap-(--resume-preview-page-gap)`,l===`horizontal`?`flex-row items-start`:`flex-col items-center`),children:Array.from({length:e.numPages},(t,r)=>{let i=r+1,a=e.numPages,o=e.pageSizes[i];return(0,b.jsx)(C,{document:n,pageSize:o,pageNumber:i,pageScale:u,totalPages:a,className:d,showPageNumbers:f,onLoadSuccess:(t,n)=>{N(t=>A(t,e.id,i,n))},onRenderSuccess:()=>{e.phase===`staged`&&N(t=>j(t,e.id,i))}},`${e.id}-${i}`)})})})},e.id))})}):(0,b.jsx)(_,{pageCount:g(h),pageClassName:d,pageGap:a,pageLayout:l,pageScale:u,showPageNumbers:f})}export{N as ResumePreviewClient};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.