{"version":3,"file":"lz9MhEsdV.B_tKVOX7.mjs","names":["React.useState","React.useRef","React.useCallback","_Fragment","React.forwardRef"],"sources":["https:/framerusercontent.com/modules/aHlYKMu8D6fNsFmPkvWW/nOIyLPTVFclXMeMrwcuW/PDF_viewer_code.js","https:/framerusercontent.com/modules/gmR4zeUaoSuWOVCMVY4I/Bkna9iqvD0ivteZVkaGu/lz9MhEsdV.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","// Generated by Framer (85eaff3)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 18 17 C 19.105 17 20 16.105 20 15 L 20 5 C 20 3.895 19.105 3 18 3 L 10.1 3 C 9.42 3.007 8.784 2.668 8.41 2.1 L 7.6 0.9 C 7.23 0.338 6.603 0 5.93 0 L 2 0 C 0.895 0 0 0.895 0 2 L 0 15 C 0 16.105 0.895 17 2 17 Z\" fill=\"transparent\" height=\"17px\" id=\"GxOhkx_Dv\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(2 3)\" width=\"20px\"/></svg>';const getProps=({color,height,id,width,width1,...props})=>{return{...props,JEeZYcamG:width1??props.JEeZYcamG??2,P_DcoRcrY:color??props.P_DcoRcrY??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,P_DcoRcrY,JEeZYcamG,...restProps}=getProps(props);const href=useSVGTemplate(\"2901992599\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-VnW5m\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m973uw\":P_DcoRcrY,\"--js9iwy\":JEeZYcamG,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-VnW5m { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"P_DcoRcrY\":\"color\",\"JEeZYcamG\":\"width1\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Folder\",\"color\":{\"type\":\"variable\",\"value\":\"1m973uw\"},\"set\":{\"localId\":\"vectorSet/ZsiCCGPvG\",\"id\":\"ZsiCCGPvG\",\"moduleId\":\"Y7SpbVH16cWqMhj75z1M\"}}\n */const Icon=withCSS(Component,css,\"framer-VnW5m\");Icon.displayName=\"Folder\";export default Icon;addPropertyControls(Icon,{P_DcoRcrY:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},JEeZYcamG:{defaultValue:2,displayStepper:true,hidden:false,max:16,min:1,title:\"Width\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"P_DcoRcrY\\\":\\\"color\\\",\\\"JEeZYcamG\\\":\\\"width1\\\"}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Folder\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1m973uw\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/ZsiCCGPvG\\\",\\\"id\\\":\\\"ZsiCCGPvG\\\",\\\"moduleId\\\":\\\"Y7SpbVH16cWqMhj75z1M\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}