{"version":3,"file":"PDF_viewer_code.BG8imCpl.mjs","names":["React.useState","React.useRef","React.useCallback","_Fragment","__esmMin","le","init_ssg_sandbox_shims","init_npm_react_18_3_1","ce","init_jsx_runtime","ne","p","_e","de","window","RenderTarget","addPropertyControls","init_framer_DymZktPS","ControlType","loadPdfJs","pdfjsPromise","PDFJS_URL","lib","mod","PDFJS_WORKER","PDFView","props","src","sourceType","pdfFile","pdfUrl","onCanvas","doc","setDoc","status","setStatus","errorMsg","setErrorMsg","numPages","setNumPages","currentPage","setCurrentPage","pageInput","setPageInput","zoomMode","setZoomMode","initialView","customScale","setCustomScale","rotation","setRotation","containerW","setContainerW","thumbsOpen","setThumbsOpen","searchOpen","setSearchOpen","searchQuery","setSearchQuery","matches","setMatches","matchIndex","setMatchIndex","searching","setSearching","searchNote","setSearchNote","isFullscreen","setIsFullscreen","moreOpen","setMoreOpen","rootRef","scrollRef","pageWrapRefs","canvasRefs","thumbRefs","basePageW","baseDims","prevScaleRef","renderSeq","textCache","pdfjsRef","ocrWorkerRef","searchRun","lastQuery","scrollSpyLock","compact","veryCompact","overflowMenu","thumbsAllowed","showThumbnails","cancelled","loadingTask","pdfjs","pdf","page1","vp1","err","el","ro","entries","scrollW","fitScale","swapDims","effScale","effScaleKey","d0","fitEff","pageFitH","minRootH","showToolbar","anchor","probe","i","w","prevContentW","dims","canvas","h","contentRatio","scaleRef","pinchStartDist","pinchStartScale","dist","t","clampScale","s","onTouchStart","onTouchMove","next","onTouchEnd","onWheel","seq","pagesToRender","dpr","timer","n","page","vpBase","viewport","ctx","scale","vp","onScroll","goToPage","clamped","smooth","zoomBy","base","factor","fetchBlobUrl","blob","handleDownload","blobUrl","a","downloadName","handleFullscreen","fn","getOcrWorker","createWorker","ocrPage","worker","runId","pw","out","wd","data","text","x0","y0","ph","x1","y1","getPageTokens","cached","tokens","tc","it","tx","fh","strip","goToMatch","m","list","idx","y","runSearch","q","qWords","found","jumped","tk","txt","cw","ok","j","l","r","b","cancelSearch","stepMatch","dir","btn","toolbarText","divider","inputStyle","Btn","title","active","accent","toolbarHasContent","showPageControls","showZoomControls","showRotate","showSearch","showDownload","showFullscreen","thumbsVisible","viewerBg","cornerRadius","toolbarBg","v","icons","EmptyState","pageHits","pageShadow","gi","spinner","color","PDFJS_VERSION","I","init_PDF_viewer_code","extra"],"sources":["https:/framerusercontent.com/modules/aHlYKMu8D6fNsFmPkvWW/nOIyLPTVFclXMeMrwcuW/PDF_viewer_code.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * PDF Viewer — a full-featured, responsive PDF viewer for Framer.\n *\n * • Attach a PDF file directly OR point to an external URL\n * • Toolbar, page navigation, zoom, rotate, search, thumbnails,\n *   download and fullscreen — each one can be switched\n *   on/off from the component's property panel\n * • Continuous-scroll rendering powered by Mozilla's pdf.js\n * • Adapts to any size: toolbar compacts on narrow layouts,\n *   pages re-fit to the available width automatically\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 860\n * @framerIntrinsicHeight 640\n * @framerDisableUnlink\n */// ---------------------------------------------------------------- pdf.js ---\nconst PDFJS_VERSION=\"3.11.174\";const PDFJS_URL=`https://esm.sh/pdfjs-dist@${PDFJS_VERSION}`;const PDFJS_WORKER=`https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${PDFJS_VERSION}/pdf.worker.min.js`;// feedback contact (shown in the property panel)\nconst FEEDBACK_EMAIL=\"nawazmomin.work@gmail.com\";let pdfjsPromise=null;function loadPdfJs(){if(!pdfjsPromise){pdfjsPromise=import(/* @vite-ignore */PDFJS_URL).then(mod=>{const lib=mod.default??mod;lib.GlobalWorkerOptions.workerSrc=PDFJS_WORKER;return lib;});}return pdfjsPromise;}// ------------------------------------------------------------------ icons ---\nconst I=(d,extra)=>/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"path\",{d:d}),extra]});const icons={prev:()=>I(\"M15 18l-6-6 6-6\"),next:()=>I(\"M9 18l6-6-6-6\"),zoomOut:()=>I(\"M21 21l-4.35-4.35M5 11h12\",/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\"})),zoomIn:()=>I(\"M21 21l-4.35-4.35M11 8v6M8 11h6\",/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\"})),fit:()=>I(\"M3 5v14M21 5v14M7 12h10M10 9l-3 3 3 3M14 9l3 3-3 3\"),rotate:()=>I(\"M21 12a9 9 0 1 1-2.64-6.36M21 3v6h-6\"),search:()=>I(\"M21 21l-4.35-4.35\",/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\"})),download:()=>I(\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3\"),more:()=>I(\"\",/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"5\",r:\"1.6\",fill:\"currentColor\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"1.6\",fill:\"currentColor\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"19\",r:\"1.6\",fill:\"currentColor\",stroke:\"none\"})]})),expand:()=>I(\"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\"),collapse:()=>I(\"M4 14h6v6M20 10h-6V4M14 10l7-7M3 21l7-7\"),sidebar:()=>I(\"M9 3v18\",/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"18\",height:\"18\",rx:\"2\"})),close:()=>I(\"M18 6L6 18M6 6l12 12\"),doc:()=>I(\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zM14 2v6h6\")};// -------------------------------------------------------------- component ---\nexport default function PDFView(props){const{sourceType,pdfFile,pdfUrl,showToolbar,showPageControls,showZoomControls,showRotate,showSearch,showThumbnails,showDownload,showFullscreen,initialView,toolbarBg,toolbarText,accent,viewerBg,pageShadow,cornerRadius,downloadName}=props;const src=sourceType===\"file\"?pdfFile:pdfUrl;const onCanvas=RenderTarget.current()===RenderTarget.canvas;// ---- state -------------------------------------------------------------\nconst[doc,setDoc]=React.useState(null);const[status,setStatus]=React.useState(\"idle\");const[errorMsg,setErrorMsg]=React.useState(\"\");const[numPages,setNumPages]=React.useState(0);const[currentPage,setCurrentPage]=React.useState(1);const[pageInput,setPageInput]=React.useState(\"1\");const[zoomMode,setZoomMode]=React.useState(initialView===\"fit\"?\"fit\":\"custom\");const[customScale,setCustomScale]=React.useState(1);const[rotation,setRotation]=React.useState(0);const[containerW,setContainerW]=React.useState(0);const[thumbsOpen,setThumbsOpen]=React.useState(false);const[searchOpen,setSearchOpen]=React.useState(false);const[searchQuery,setSearchQuery]=React.useState(\"\");const[matches,setMatches]=React.useState([])// one entry per hit, with highlight rect\n;const[matchIndex,setMatchIndex]=React.useState(-1);const[searching,setSearching]=React.useState(false);const[searchNote,setSearchNote]=React.useState(\"\");const[isFullscreen,setIsFullscreen]=React.useState(false);const[moreOpen,setMoreOpen]=React.useState(false);// ---- refs --------------------------------------------------------------\nconst rootRef=React.useRef(null);const scrollRef=React.useRef(null);const pageWrapRefs=React.useRef([]);const canvasRefs=React.useRef([]);const thumbRefs=React.useRef([]);const basePageW=React.useRef(612)// width of page 1 at scale 1\n;const baseDims=React.useRef([])// per-page [w, h] at scale 1\n;const prevScaleRef=React.useRef(1);const renderSeq=React.useRef(0);const textCache=React.useRef(new Map)// per-page searchable tokens\n;const pdfjsRef=React.useRef(null);const ocrWorkerRef=React.useRef(null);const searchRun=React.useRef(0);const lastQuery=React.useRef(\"\");const scrollSpyLock=React.useRef(false);const compact=containerW>0&&containerW<620;const veryCompact=containerW>0&&containerW<440;const overflowMenu=containerW>0&&containerW<520// tuck secondary actions into a More menu\n;React.useEffect(()=>{if(!overflowMenu)setMoreOpen(false);},[overflowMenu]);const thumbsAllowed=showThumbnails&&containerW>=560;// ---- load document -------------------------------------------------------\nReact.useEffect(()=>{let cancelled=false;let loadingTask=null;setDoc(null);setNumPages(0);setCurrentPage(1);setPageInput(\"1\");setMatches([]);setMatchIndex(-1);textCache.current.clear();baseDims.current=[];if(!src){setStatus(\"idle\");return;}setStatus(\"loading\");loadPdfJs().then(pdfjs=>{if(cancelled)return;pdfjsRef.current=pdfjs;loadingTask=pdfjs.getDocument({url:src,withCredentials:false});return loadingTask.promise;}).then(async pdf=>{if(cancelled||!pdf)return;const page1=await pdf.getPage(1);if(cancelled)return;const vp1=page1.getViewport({scale:1});basePageW.current=vp1.width;baseDims.current[0]=[vp1.width,vp1.height];setDoc(pdf);setNumPages(pdf.numPages);setStatus(\"ready\");}).catch(err=>{if(cancelled)return;setStatus(\"error\");setErrorMsg(err?.name===\"MissingPDFException\"||err?.status===404?\"The PDF could not be found at that address.\":err?.name===\"UnexpectedResponseException\"||/CORS|fetch/i.test(String(err?.message))?\"The file's server blocked the request (CORS). Host the PDF on a server that allows cross-origin access, or upload it directly.\":\"This file could not be opened as a PDF.\");});return()=>{cancelled=true;if(loadingTask)loadingTask.destroy().catch(()=>{});};},[src]);// ---- track container size ------------------------------------------------\nReact.useEffect(()=>{const el=rootRef.current;if(!el)return;const ro=new ResizeObserver(entries=>{setContainerW(Math.round(entries[0].contentRect.width));});ro.observe(el);return()=>ro.disconnect();},[]);// ---- effective scale -------------------------------------------------------\nconst scrollW=Math.max(0,containerW-(thumbsOpen&&thumbsAllowed?148:0)-32// page gutter\n);const fitScale=scrollW>0?scrollW/basePageW.current:1;const swapDims=rotation%180!==0;const effScale=zoomMode===\"fit\"?swapDims?fitScale*.75:fitScale:customScale;const effScaleKey=Math.round(effScale*100);// Minimum component height = one full page at fit-width + toolbar + gutter,\n// so the page is always fully visible and never cropped. Based on the FIT\n// scale (not the current zoom) so zooming in doesn't balloon the layout.\nconst d0=baseDims.current[0];const fitEff=swapDims?fitScale*.75:fitScale;const pageFitH=d0?(swapDims?d0[0]:d0[1])*fitEff:0;const minRootH=status===\"ready\"&&pageFitH>0?Math.ceil(pageFitH+(showToolbar?44:0)+32):240;// ---- instant zoom: resize the page canvases immediately and keep the\n// scroll viewport anchored, so only the pages scale — never the container.\n// The debounced effect below then redraws each page sharply at the new scale.\nReact.useLayoutEffect(()=>{if(status!==\"ready\")return;const el=scrollRef.current;// Anchor BEFORE resizing: find which page sits at the viewport center and\n// how far into it we are. Pure ratio math drifts across pages because the\n// 16px gaps between pages don't scale with zoom.\nlet anchor=null;if(el&&el.scrollTop>1){const probe=el.scrollTop+el.clientHeight/2;for(let i=0;i<numPages;i++){const w=pageWrapRefs.current[i];if(!w)continue;if(w.offsetTop<=probe){anchor={i,frac:Math.min(1.5,Math.max(0,(probe-w.offsetTop)/Math.max(1,w.offsetHeight))),x:el.scrollLeft+el.clientWidth/2};}else break;}}const prevContentW=el?el.scrollWidth:0;for(let i=0;i<numPages;i++){const dims=baseDims.current[i]??baseDims.current[0];const canvas=canvasRefs.current[i];if(!dims||!canvas)continue;const w=swapDims?dims[1]:dims[0];const h=swapDims?dims[0]:dims[1];canvas.style.width=`${Math.floor(w*effScale)}px`;canvas.style.height=`${Math.floor(h*effScale)}px`;}// Restore AFTER resizing: put the same point of the same page back at the\n// viewport center, so pinch/zoom never jumps to another page.\nif(el&&anchor){const w=pageWrapRefs.current[anchor.i];if(w){el.scrollTop=Math.max(0,w.offsetTop+anchor.frac*w.offsetHeight-el.clientHeight/2);}const contentRatio=prevContentW>0?el.scrollWidth/prevContentW:1;el.scrollLeft=Math.max(0,anchor.x*contentRatio-el.clientWidth/2);}prevScaleRef.current=effScale;},[effScaleKey,rotation,numPages,status]);// live scale for gesture handlers (native listeners can't see fresh state)\nconst scaleRef=React.useRef(effScale);scaleRef.current=effScale;// ---- pinch-to-zoom (mobile) & ctrl/cmd + wheel (trackpad pinch on desktop) ----\n// Native listeners with passive:false — React's synthetic touch events are\n// passive, so preventDefault (needed to stop browser viewport zoom) won't work.\nReact.useEffect(()=>{const el=scrollRef.current;if(!el)return;let pinchStartDist=0;let pinchStartScale=1;const dist=t=>Math.hypot(t[0].clientX-t[1].clientX,t[0].clientY-t[1].clientY);const clampScale=s=>Math.max(.25,Math.min(4,s));const onTouchStart=e=>{if(e.touches.length===2){pinchStartDist=dist(e.touches);pinchStartScale=scaleRef.current;}};const onTouchMove=e=>{if(e.touches.length===2&&pinchStartDist>0){e.preventDefault()// keep the browser from zooming the whole site\n;const next=clampScale(pinchStartScale*dist(e.touches)/pinchStartDist);setZoomMode(\"custom\");setCustomScale(next);}};const onTouchEnd=e=>{if(e.touches.length<2)pinchStartDist=0;};const onWheel=e=>{if(!e.ctrlKey&&!e.metaKey)return;// plain wheel keeps scrolling\ne.preventDefault();const next=clampScale(scaleRef.current*Math.exp(-e.deltaY*.0018));setZoomMode(\"custom\");setCustomScale(next);};el.addEventListener(\"touchstart\",onTouchStart,{passive:true});el.addEventListener(\"touchmove\",onTouchMove,{passive:false});el.addEventListener(\"touchend\",onTouchEnd,{passive:true});el.addEventListener(\"touchcancel\",onTouchEnd,{passive:true});el.addEventListener(\"wheel\",onWheel,{passive:false});return()=>{el.removeEventListener(\"touchstart\",onTouchStart);el.removeEventListener(\"touchmove\",onTouchMove);el.removeEventListener(\"touchend\",onTouchEnd);el.removeEventListener(\"touchcancel\",onTouchEnd);el.removeEventListener(\"wheel\",onWheel);};},[status]);// ---- render pages -----------------------------------------------------------\nReact.useEffect(()=>{if(!doc||status!==\"ready\")return;const seq=++renderSeq.current;const pagesToRender=onCanvas?Math.min(1,numPages):numPages;const dpr=Math.min(window.devicePixelRatio||1,2);const timer=setTimeout(async()=>{for(let n=1;n<=pagesToRender;n++){if(renderSeq.current!==seq)return;try{const page=await doc.getPage(n);if(renderSeq.current!==seq)return;const vpBase=page.getViewport({scale:1});baseDims.current[n-1]=[vpBase.width,vpBase.height];const viewport=page.getViewport({scale:effScale,rotation});const canvas=canvasRefs.current[n-1];if(!canvas)continue;canvas.width=Math.floor(viewport.width*dpr);canvas.height=Math.floor(viewport.height*dpr);canvas.style.width=`${Math.floor(viewport.width)}px`;canvas.style.height=`${Math.floor(viewport.height)}px`;const ctx=canvas.getContext(\"2d\");if(!ctx)continue;await page.render({canvasContext:ctx,viewport,transform:dpr!==1?[dpr,0,0,dpr,0,0]:undefined}).promise;}catch(_){/* page render cancelled / failed — skip */}}},120)// debounce resize-driven re-renders\n;return()=>clearTimeout(timer);},[doc,status,effScaleKey,rotation,numPages,onCanvas]);// ---- render thumbnails -------------------------------------------------------\nReact.useEffect(()=>{if(!doc||!thumbsOpen||!thumbsAllowed||onCanvas)return;let cancelled=false;(async()=>{for(let n=1;n<=numPages;n++){if(cancelled)return;const canvas=thumbRefs.current[n-1];if(!canvas||canvas.dataset.done===\"1\")continue;try{const page=await doc.getPage(n);if(cancelled)return;const vp1=page.getViewport({scale:1});const scale=104/vp1.width;const vp=page.getViewport({scale});canvas.width=Math.floor(vp.width);canvas.height=Math.floor(vp.height);const ctx=canvas.getContext(\"2d\");if(!ctx)continue;await page.render({canvasContext:ctx,viewport:vp}).promise;canvas.dataset.done=\"1\";}catch(_){}}})();return()=>{cancelled=true;};},[doc,thumbsOpen,thumbsAllowed,numPages,onCanvas]);// ---- scroll spy (current page) -------------------------------------------------\nconst onScroll=React.useCallback(()=>{if(scrollSpyLock.current)return;const el=scrollRef.current;if(!el)return;const probe=el.scrollTop+el.clientHeight*.4;for(let i=0;i<pageWrapRefs.current.length;i++){const w=pageWrapRefs.current[i];if(!w)continue;if(probe>=w.offsetTop&&probe<w.offsetTop+w.offsetHeight){if(currentPage!==i+1){setCurrentPage(i+1);setPageInput(String(i+1));}break;}}},[currentPage]);// ---- actions ------------------------------------------------------------------\nconst goToPage=(n,smooth=true)=>{const clamped=Math.max(1,Math.min(numPages,n));const w=pageWrapRefs.current[clamped-1];const el=scrollRef.current;if(w&&el){scrollSpyLock.current=true;el.scrollTo({top:w.offsetTop-12,behavior:smooth?\"smooth\":\"auto\"});setTimeout(()=>scrollSpyLock.current=false,smooth?450:50);}setCurrentPage(clamped);setPageInput(String(clamped));};const zoomBy=factor=>{const base=zoomMode===\"fit\"?effScale:customScale;setZoomMode(\"custom\");setCustomScale(Math.max(.25,Math.min(4,base*factor)));};const fetchBlobUrl=async()=>{if(!src)return null;try{const res=await fetch(src);const blob=await res.blob();return URL.createObjectURL(blob);}catch{return null;}};const handleDownload=async()=>{const blobUrl=await fetchBlobUrl()??src;if(!blobUrl)return;const a=document.createElement(\"a\");a.href=blobUrl;a.download=downloadName||\"document.pdf\";document.body.appendChild(a);a.click();a.remove();};const handleFullscreen=()=>{const el=rootRef.current;if(!el)return;if(document.fullscreenElement){document.exitFullscreen();}else{el.requestFullscreen?.();}};React.useEffect(()=>{const fn=()=>setIsFullscreen(Boolean(document.fullscreenElement));document.addEventListener(\"fullscreenchange\",fn);return()=>document.removeEventListener(\"fullscreenchange\",fn);},[]);// ---- search ----------------------------------------------------------------------\n// Tokens carry their position as % of the unrotated page, so highlights stay\n// correct at every zoom level and rotation.\nconst getOcrWorker=async()=>{if(!ocrWorkerRef.current){setSearchNote(\"Loading text recognition…\");const mod=await import(/* @vite-ignore */\"https://esm.sh/tesseract.js@5.1.0\");const createWorker=mod.createWorker??mod.default?.createWorker;ocrWorkerRef.current=await createWorker(\"eng\");}return ocrWorkerRef.current;};React.useEffect(()=>()=>{ocrWorkerRef.current?.terminate?.();},[]);/** OCR a scanned page and return word tokens with bounding boxes. */const ocrPage=async(page,pw,ph,n,runId)=>{try{const worker=await getOcrWorker();if(searchRun.current!==runId)return[];setSearchNote(`Reading scanned page ${n} of ${numPages}…`);const scale=Math.min(2,1600/pw);const vp=page.getViewport({scale,rotation:0});const canvas=document.createElement(\"canvas\");canvas.width=Math.floor(vp.width);canvas.height=Math.floor(vp.height);const ctx=canvas.getContext(\"2d\");if(!ctx)return[];await page.render({canvasContext:ctx,viewport:vp}).promise;const{data}=await worker.recognize(canvas);const out=[];for(const wd of data?.words??[]){const text=wd.text?.trim();if(!text)continue;const{x0,y0,x1,y1}=wd.bbox;out.push({text,l:x0/(pw*scale)*100,t:y0/(ph*scale)*100,w:(x1-x0)/(pw*scale)*100,h:(y1-y0)/(ph*scale)*100,ocr:true});}return out;}catch{return[];}};/** Get searchable tokens for a page — pdf text layer first, OCR if the page has no text. */const getPageTokens=async(n,runId)=>{const cached=textCache.current.get(n);if(cached)return cached;const pdfjs=pdfjsRef.current;const page=await doc.getPage(n);const vp=page.getViewport({scale:1,rotation:0});const pw=vp.width;const ph=vp.height;let tokens=[];try{const tc=await page.getTextContent();for(const it of tc.items){if(!it.str||!it.str.trim())continue;const tx=pdfjs.Util.transform(vp.transform,it.transform);const fh=Math.hypot(tx[2],tx[3])||it.height||10;tokens.push({text:it.str,l:tx[4]/pw*100,t:(tx[5]-fh)/ph*100,w:it.width/pw*100,h:fh*1.15/ph*100});}}catch{}const textLen=tokens.reduce((s,t)=>s+t.text.trim().length,0);if(textLen<8){// no embedded text — scanned page, fall back to OCR\ntokens=await ocrPage(page,pw,ph,n,runId);}if(searchRun.current===runId)textCache.current.set(n,tokens);return tokens;};const strip=s=>s.toLowerCase().replace(RegExp(\"[^\\\\p{L}\\\\p{N}]+\",\"gu\"),\"\");const goToMatch=(idx,list)=>{const m=list[idx];if(!m)return;const w=pageWrapRefs.current[m.page-1];const el=scrollRef.current;if(w&&el){scrollSpyLock.current=true;const y=w.offsetTop+m.t/100*w.offsetHeight-el.clientHeight*.3;el.scrollTo({top:Math.max(0,y),behavior:\"smooth\"});setTimeout(()=>scrollSpyLock.current=false,450);}setCurrentPage(m.page);setPageInput(String(m.page));};const runSearch=async()=>{const q=searchQuery.trim().toLowerCase();lastQuery.current=q;const runId=++searchRun.current;setMatches([]);setMatchIndex(-1);if(!q||!doc){setSearching(false);setSearchNote(\"\");return;}setSearching(true);const qWords=q.split(/\\s+/).map(strip).filter(Boolean);const found=[];let jumped=false;for(let n=1;n<=numPages;n++){if(searchRun.current!==runId)return;setSearchNote(`Searching page ${n} of ${numPages}…`);const tokens=await getPageTokens(n,runId);if(searchRun.current!==runId)return;// matches inside a single token\nfor(const tk of tokens){const txt=tk.text.toLowerCase();if(tk.ocr){// OCR word: Tesseract's word box is exact; estimating sub-word\n// character positions is not — highlight the whole word.\nif(txt.includes(q))found.push({page:n,l:tk.l,t:tk.t,w:tk.w,h:tk.h});continue;}// pdf text item: substring with proportional character width\nlet i=txt.indexOf(q);while(i!==-1){const cw=tk.w/Math.max(1,tk.text.length);found.push({page:n,l:tk.l+cw*i,t:tk.t,w:cw*q.length,h:tk.h});i=txt.indexOf(q,i+q.length);}}// phrase across consecutive word tokens (OCR pages tokenize per word)\nif(qWords.length>1){for(let i=0;i+qWords.length<=tokens.length;i++){let ok=true;for(let j=0;j<qWords.length;j++){if(strip(tokens[i+j].text)!==qWords[j]){ok=false;break;}}if(ok){const seq=tokens.slice(i,i+qWords.length);const l=Math.min(...seq.map(s=>s.l));const t=Math.min(...seq.map(s=>s.t));const r=Math.max(...seq.map(s=>s.l+s.w));const b=Math.max(...seq.map(s=>s.t+s.h));found.push({page:n,l,t,w:r-l,h:b-t});}}}setMatches([...found])// stream results in as pages complete\n;if(!jumped&&found.length>0){jumped=true;setMatchIndex(0);goToMatch(0,found);}}if(searchRun.current!==runId)return;setSearching(false);setSearchNote(\"\");if(found.length===0)setMatchIndex(-1);};const cancelSearch=()=>{searchRun.current++;setSearching(false);setSearchNote(\"\");};const stepMatch=dir=>{if(matches.length===0)return;const next=(matchIndex+dir+matches.length)%matches.length;setMatchIndex(next);goToMatch(next,matches);};// ---- styles -----------------------------------------------------------------------\nconst btn={display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:30,height:30,borderRadius:7,border:\"none\",background:\"transparent\",color:toolbarText,cursor:\"pointer\",flexShrink:0,padding:0,opacity:.85,transition:\"background 0.15s, opacity 0.15s\"};const divider={width:1,height:18,background:toolbarText,opacity:.18,flexShrink:0,margin:\"0 2px\"};const inputStyle={background:\"rgba(127,127,127,0.18)\",border:\"none\",borderRadius:6,color:toolbarText,font:\"500 12px/1 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",textAlign:\"center\",outline:\"none\"};const Btn=({title,onClick,active,children})=>/*#__PURE__*/_jsx(\"button\",{title:title,\"aria-label\":title,onClick:onClick,style:{...btn,background:active?accent:\"transparent\",color:active?\"#fff\":toolbarText,opacity:active?1:.85},onMouseEnter:e=>{if(!active)e.currentTarget.style.background=\"rgba(127,127,127,0.22)\";},onMouseLeave:e=>{if(!active)e.currentTarget.style.background=\"transparent\";},children:children});// any toolbar content at all?\nconst toolbarHasContent=showPageControls||showZoomControls||showRotate||showSearch||showThumbnails&&thumbsAllowed||showDownload||showFullscreen;const thumbsVisible=showThumbnails&&thumbsAllowed&&thumbsOpen&&status===\"ready\";// ---- render -----------------------------------------------------------------------\nreturn /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{width:\"100%\",height:\"100%\",minHeight:minRootH,display:\"flex\",flexDirection:\"column\",background:viewerBg,borderRadius:cornerRadius,overflow:\"hidden\",fontFamily:\"-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\",position:\"relative\"},children:[showToolbar&&toolbarHasContent&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:veryCompact?2:4,padding:\"0 8px\",height:44,background:toolbarBg,color:toolbarText,flexShrink:0,zIndex:2,boxShadow:\"0 1px 0 rgba(0,0,0,0.12)\"},children:[showThumbnails&&thumbsAllowed&&/*#__PURE__*/_jsx(Btn,{title:\"Toggle thumbnails\",onClick:()=>setThumbsOpen(v=>!v),active:thumbsOpen,children:icons.sidebar()}),showPageControls&&numPages>0&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Btn,{title:\"Previous page\",onClick:()=>goToPage(currentPage-1),children:icons.prev()}),/*#__PURE__*/_jsx(\"input\",{value:pageInput,onChange:e=>setPageInput(e.target.value.replace(/[^0-9]/g,\"\")),onKeyDown:e=>{if(e.key===\"Enter\")goToPage(parseInt(pageInput||\"1\",10));},onBlur:()=>goToPage(parseInt(pageInput||\"1\",10)),style:{...inputStyle,width:34,height:26},\"aria-label\":\"Page number\"}),!veryCompact&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:12,opacity:.6,whiteSpace:\"nowrap\"},children:[\"/ \",numPages]}),/*#__PURE__*/_jsx(Btn,{title:\"Next page\",onClick:()=>goToPage(currentPage+1),children:icons.next()})]}),showZoomControls&&/*#__PURE__*/_jsxs(_Fragment,{children:[!veryCompact&&/*#__PURE__*/_jsx(\"div\",{style:divider}),/*#__PURE__*/_jsx(Btn,{title:\"Zoom out\",onClick:()=>zoomBy(1/1.25),children:icons.zoomOut()}),!compact&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:12,opacity:.7,width:40,textAlign:\"center\",fontVariantNumeric:\"tabular-nums\"},children:[Math.round(effScale*100),\"%\"]}),/*#__PURE__*/_jsx(Btn,{title:\"Zoom in\",onClick:()=>zoomBy(1.25),children:icons.zoomIn()}),/*#__PURE__*/_jsx(Btn,{title:\"Fit to width\",onClick:()=>setZoomMode(\"fit\"),active:zoomMode===\"fit\",children:icons.fit()})]}),showRotate&&!overflowMenu&&/*#__PURE__*/_jsx(Btn,{title:\"Rotate 90\\xb0\",onClick:()=>setRotation(r=>(r+90)%360),children:icons.rotate()}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1}}),showSearch&&/*#__PURE__*/_jsx(Btn,{title:\"Search document\",onClick:()=>setSearchOpen(v=>!v),active:searchOpen,children:icons.search()}),showDownload&&!overflowMenu&&/*#__PURE__*/_jsx(Btn,{title:\"Download PDF\",onClick:handleDownload,children:icons.download()}),showFullscreen&&/*#__PURE__*/_jsx(Btn,{title:isFullscreen?\"Exit fullscreen\":\"Fullscreen\",onClick:handleFullscreen,children:isFullscreen?icons.collapse():icons.expand()}),overflowMenu&&(showRotate||showDownload)&&/*#__PURE__*/_jsx(Btn,{title:\"More options\",onClick:()=>setMoreOpen(v=>!v),active:moreOpen,children:icons.more()})]}),moreOpen&&overflowMenu&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{onClick:()=>setMoreOpen(false),style:{position:\"absolute\",inset:0,zIndex:4}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:48,right:8,zIndex:5,background:toolbarBg,borderRadius:10,boxShadow:\"0 8px 24px rgba(0,0,0,0.35)\",padding:6,minWidth:168,display:\"flex\",flexDirection:\"column\"},children:[showRotate&&/*#__PURE__*/_jsxs(\"button\",{onClick:()=>{setRotation(r=>(r+90)%360);setMoreOpen(false);},style:{display:\"flex\",alignItems:\"center\",gap:10,padding:\"9px 10px\",border:\"none\",background:\"transparent\",color:toolbarText,fontSize:13,borderRadius:7,cursor:\"pointer\",textAlign:\"left\"},children:[icons.rotate(),\" Rotate 90\\xb0\"]}),showDownload&&/*#__PURE__*/_jsxs(\"button\",{onClick:()=>{handleDownload();setMoreOpen(false);},style:{display:\"flex\",alignItems:\"center\",gap:10,padding:\"9px 10px\",border:\"none\",background:\"transparent\",color:toolbarText,fontSize:13,borderRadius:7,cursor:\"pointer\",textAlign:\"left\"},children:[icons.download(),\" Download\"]})]})]}),showSearch&&searchOpen&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",flexWrap:\"wrap\",gap:6,padding:\"6px 8px\",background:toolbarBg,color:toolbarText,flexShrink:0,boxShadow:\"0 1px 0 rgba(0,0,0,0.12)\",zIndex:2},children:[/*#__PURE__*/_jsx(\"input\",{autoFocus:true,placeholder:\"Find in document…\",value:searchQuery,onChange:e=>setSearchQuery(e.target.value),onKeyDown:e=>{if(e.key===\"Enter\"){const q=searchQuery.trim().toLowerCase();if(q!==lastQuery.current)runSearch();else if(matches.length)stepMatch(e.shiftKey?-1:1);else runSearch();}if(e.key===\"Escape\"){cancelSearch();setSearchOpen(false);}},style:{...inputStyle,flex:\"1 1 120px\",minWidth:0,height:28,textAlign:\"left\",padding:\"0 10px\"}}),/*#__PURE__*/_jsx(\"button\",{onClick:searching?cancelSearch:runSearch,style:{...btn,width:\"auto\",padding:\"0 12px\",background:accent,color:\"#fff\",fontSize:12,fontWeight:600,opacity:1,whiteSpace:\"nowrap\"},children:searching?\"Stop\":\"Find\"}),matches.length>0&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:11,opacity:.7,fontVariantNumeric:\"tabular-nums\",whiteSpace:\"nowrap\"},children:[matchIndex+1,\"/\",matches.length]}),/*#__PURE__*/_jsx(Btn,{title:\"Previous match\",onClick:()=>stepMatch(-1),children:icons.prev()}),/*#__PURE__*/_jsx(Btn,{title:\"Next match\",onClick:()=>stepMatch(1),children:icons.next()})]}),!searching&&matches.length===0&&matchIndex===-1&&lastQuery.current&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:11,opacity:.55,whiteSpace:\"nowrap\"},children:\"No matches\"}),/*#__PURE__*/_jsx(Btn,{title:\"Close search\",onClick:()=>{cancelSearch();setSearchOpen(false);},children:icons.close()}),searching&&searchNote&&/*#__PURE__*/_jsx(\"div\",{style:{flexBasis:\"100%\",fontSize:11,opacity:.55,paddingLeft:2},children:searchNote})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:\"1 1 0\",minHeight:0,position:\"relative\",overflow:\"hidden\"},children:[thumbsVisible&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,top:0,bottom:0,width:148,overflowY:\"auto\",background:\"rgba(0,0,0,0.14)\",padding:\"12px 0\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:12,boxSizing:\"border-box\",zIndex:1},children:Array.from({length:numPages},(_,i)=>/*#__PURE__*/_jsxs(\"div\",{onClick:()=>goToPage(i+1),style:{cursor:\"pointer\",textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:el=>thumbRefs.current[i]=el,style:{display:\"block\",background:\"#fff\",borderRadius:3,outline:currentPage===i+1?`2px solid ${accent}`:\"1px solid rgba(0,0,0,0.25)\",outlineOffset:2}}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11,marginTop:5,color:toolbarText,opacity:currentPage===i+1?1:.5,fontWeight:currentPage===i+1?700:400},children:i+1})]},i))}),/*#__PURE__*/_jsxs(\"div\",{ref:scrollRef,onScroll:onScroll,style:{position:\"absolute\",top:0,bottom:0,right:0,left:thumbsVisible?148:0,overflow:\"auto\",touchAction:\"pan-x pan-y\",overscrollBehavior:\"contain\"},children:[status!==\"ready\"&&/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:[status===\"idle\"&&/*#__PURE__*/_jsx(EmptyState,{color:toolbarText,text:\"Attach a PDF file or paste a PDF link in the component settings.\"}),status===\"loading\"&&/*#__PURE__*/_jsx(EmptyState,{color:toolbarText,text:\"Loading document…\",spinner:true,accent:accent}),status===\"error\"&&/*#__PURE__*/_jsx(EmptyState,{color:toolbarText,text:errorMsg})]}),status===\"ready\"&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:16,padding:16,boxSizing:\"border-box\",width:\"max-content\",minWidth:\"100%\",margin:\"0 auto\"},children:Array.from({length:onCanvas?Math.min(1,numPages):numPages},(_,i)=>{const pageHits=matches.filter(m=>m.page===i+1);const dims=baseDims.current[i]??baseDims.current[0];return /*#__PURE__*/_jsxs(\"div\",{ref:el=>pageWrapRefs.current[i]=el,style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:el=>canvasRefs.current[i]=el,style:{display:\"block\",background:\"#fff\",borderRadius:2,boxShadow:pageShadow?\"0 2px 14px rgba(0,0,0,0.28)\":\"none\"}}),pageHits.length>0&&dims&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"50%\",top:\"50%\",width:Math.floor(dims[0]*effScale),height:Math.floor(dims[1]*effScale),transform:`translate(-50%, -50%) rotate(${rotation}deg)`,pointerEvents:\"none\"},children:matches.map((m,gi)=>m.page===i+1?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:`${m.l}%`,top:`${m.t}%`,width:`${Math.max(m.w,.4)}%`,height:`${Math.max(m.h,.6)}%`,background:gi===matchIndex?\"rgba(255, 150, 0, 0.55)\":\"rgba(255, 230, 0, 0.45)\",borderRadius:2,mixBlendMode:\"multiply\"}},gi):null)})]},i);})})]})]})]});}// ---------------------------------------------------------------- empty state ---\nfunction EmptyState({text,color,spinner,accent}){return /*#__PURE__*/_jsxs(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:14,color,opacity:.65,textAlign:\"center\",padding:32,maxWidth:360,margin:\"auto\",fontSize:13,lineHeight:1.5},children:[spinner?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{width:26,height:26,borderRadius:\"50%\",border:`3px solid rgba(127,127,127,0.25)`,borderTopColor:accent??color,animation:\"pdfv-spin 0.8s linear infinite\"}}),/*#__PURE__*/_jsx(\"style\",{children:`@keyframes pdfv-spin { to { transform: rotate(360deg) } }`})]}):/*#__PURE__*/_jsx(\"span\",{style:{opacity:.8},children:icons.doc()}),/*#__PURE__*/_jsx(\"span\",{children:text})]});}// ------------------------------------------------------------ property controls ---\nPDFView.defaultProps={sourceType:\"url\",pdfUrl:\"https://raw.githubusercontent.com/mozilla/pdf.js/master/web/compressed.tracemonkey-pldi-09.pdf\",showToolbar:true,showPageControls:true,showZoomControls:true,showRotate:true,showSearch:true,showThumbnails:true,showDownload:true,showFullscreen:true,initialView:\"fit\",toolbarBg:\"#1F2329\",toolbarText:\"#E8EAED\",accent:\"#3D7BFD\",viewerBg:\"#2B2F36\",pageShadow:true,cornerRadius:12,downloadName:\"document.pdf\"};addPropertyControls(PDFView,{sourceType:{type:ControlType.Enum,title:\"Source\",options:[\"file\",\"url\"],optionTitles:[\"Upload file\",\"External link\"],displaySegmentedControl:true},pdfFile:{type:ControlType.File,title:\"PDF file\",allowedFileTypes:[\"pdf\"],hidden:p=>p.sourceType!==\"file\"},pdfUrl:{type:ControlType.String,title:\"PDF link\",placeholder:\"https://example.com/file.pdf\",hidden:p=>p.sourceType!==\"url\"},initialView:{type:ControlType.Enum,title:\"Open at\",options:[\"fit\",\"actual\"],optionTitles:[\"Fit width\",\"100%\"],displaySegmentedControl:true},showToolbar:{type:ControlType.Boolean,title:\"Toolbar\"},showPageControls:{type:ControlType.Boolean,title:\"Page nav\",hidden:p=>!p.showToolbar},showZoomControls:{type:ControlType.Boolean,title:\"Zoom\",hidden:p=>!p.showToolbar},showRotate:{type:ControlType.Boolean,title:\"Rotate\",hidden:p=>!p.showToolbar},showSearch:{type:ControlType.Boolean,title:\"Search\",hidden:p=>!p.showToolbar},showThumbnails:{type:ControlType.Boolean,title:\"Thumbnails\",hidden:p=>!p.showToolbar},showDownload:{type:ControlType.Boolean,title:\"Download\",hidden:p=>!p.showToolbar},showFullscreen:{type:ControlType.Boolean,title:\"Fullscreen\",hidden:p=>!p.showToolbar},downloadName:{type:ControlType.String,title:\"File name\",placeholder:\"document.pdf\",hidden:p=>!p.showDownload},toolbarBg:{type:ControlType.Color,title:\"Toolbar\"},toolbarText:{type:ControlType.Color,title:\"Icons\"},accent:{type:ControlType.Color,title:\"Accent\"},viewerBg:{type:ControlType.Color,title:\"Background\"},pageShadow:{type:ControlType.Boolean,title:\"Page shadow\"},cornerRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:40,step:1,description:\"Feedback at: \"+FEEDBACK_EMAIL}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PDFView\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PDF_viewer_code.map"],"mappings":"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"}