{"version":3,"file":"PdfViewer.BSmCvaWI.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/qvZKCHCdYfM5c9JCshXK/sHu3K9Udxs64loPiTKIL/PdfViewer.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useEffect,useRef,useState}from\"react\";const PDFJS_URL=\"https://cdn.jsdelivr.net/npm/pdfjs-dist@5.5.207/legacy/build/pdf.min.mjs\";const PDFJS_WORKER_URL=\"https://cdn.jsdelivr.net/npm/pdfjs-dist@5.5.207/legacy/build/pdf.worker.min.mjs\";const DEFAULT_PAGE_ASPECT_RATIO=1.4;const MAX_DEVICE_PIXEL_RATIO=2;const VISIBILITY_ROOT_MARGIN=\"800px 0px\";const MIN_VIEWPORT_WIDTH_DELTA=2;let cachedPdfJsPromise=null;function resolveSource(file){const fileValue=file?.trim()??\"\";if(fileValue.length>0)return fileValue;return\"\";}function isCancellationError(error){return error instanceof Error&&(error.name===\"RenderingCancelledException\"||error.name===\"AbortException\");}function isSupportedSourceUrl(source){try{const parsedUrl=new URL(source);return parsedUrl.protocol===\"http:\"||parsedUrl.protocol===\"https:\"||parsedUrl.protocol===\"blob:\";}catch(error){return false;}}function formatPdfError(error){if(!(error instanceof Error)){return\"This PDF could not be loaded.\";}const normalizedMessage=error.message.toLowerCase();if(error.name===\"PasswordException\"||normalizedMessage.includes(\"password\")){return\"This PDF is password protected and cannot be rendered in this viewer.\";}if(normalizedMessage.includes(\"invalid pdf\")||normalizedMessage.includes(\"missing pdf\")||normalizedMessage.includes(\"unexpected server response\")){return\"This file could not be opened as a valid PDF.\";}if(normalizedMessage.includes(\"cors\")||normalizedMessage.includes(\"network\")||normalizedMessage.includes(\"fetch\")||normalizedMessage.includes(\"access\")){return\"This PDF could not be loaded. Remote PDF URLs must allow cross-origin access.\";}return error.message||\"This PDF could not be loaded.\";}function getPageAspectRatio(viewport){if(!Number.isFinite(viewport.width)||viewport.width<=0){return DEFAULT_PAGE_ASPECT_RATIO;}const aspectRatio=viewport.height/viewport.width;return Number.isFinite(aspectRatio)&&aspectRatio>0?aspectRatio:DEFAULT_PAGE_ASPECT_RATIO;}function arePageListsEqual(left,right){if(left.length!==right.length)return false;for(let index=0;index<left.length;index+=1){if(left[index]!==right[index])return false;}return true;}function loadPdfJs(){if(!cachedPdfJsPromise){const dynamicImport=new Function(\"specifier\",\"return import(specifier)\");cachedPdfJsPromise=dynamicImport(PDFJS_URL).then(module=>{const pdfjs=module.default??module;pdfjs.GlobalWorkerOptions.workerSrc=PDFJS_WORKER_URL;return pdfjs;});}return cachedPdfJsPromise;}/**\n * @framerSupportedLayoutWidth fixed\n * @framerIntrinsicWidth 720\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicHeight 900\n */export default function PdfViewer(props){const{file,backgroundColor=\"#F7F7F7\",padding=\"16px\",borderRadius=\"0px\",border={},placeholderTextColor=\"#666666\",style}=props;const isStaticRenderer=useIsStaticRenderer();const resolvedSource=resolveSource(file);const hasConfiguredSource=resolvedSource.length>0;const hasSupportedSource=hasConfiguredSource&&isSupportedSourceUrl(resolvedSource);const viewportRef=useRef(null);const pageRefs=useRef([]);const canvasRefs=useRef([]);const pdfDocumentRef=useRef(null);const renderTokenRef=useRef(0);const renderedWidthsRef=useRef([]);const renderKeyRef=useRef(\"\");const resizeFrameRef=useRef(null);const lastMeasuredWidthRef=useRef(0);const[status,setStatus]=useState(hasConfiguredSource?\"loading\":\"idle\");const[errorMessage,setErrorMessage]=useState(\"\");const[pageCount,setPageCount]=useState(0);const[viewportWidth,setViewportWidth]=useState(0);const[pageAspectRatios,setPageAspectRatios]=useState([]);const[visiblePageIndexes,setVisiblePageIndexes]=useState([]);useEffect(()=>{if(isStaticRenderer)return;const element=viewportRef.current;if(!element)return;const updateSize=()=>{const nextWidth=element.clientWidth;if(Math.abs(nextWidth-lastMeasuredWidthRef.current)<MIN_VIEWPORT_WIDTH_DELTA){return;}lastMeasuredWidthRef.current=nextWidth;setViewportWidth(nextWidth);};const scheduleSizeUpdate=()=>{if(typeof window===\"undefined\"){updateSize();return;}if(resizeFrameRef.current!==null){window.cancelAnimationFrame(resizeFrameRef.current);}resizeFrameRef.current=window.requestAnimationFrame(()=>{resizeFrameRef.current=null;updateSize();});};scheduleSizeUpdate();if(typeof ResizeObserver===\"undefined\"){if(typeof window!==\"undefined\"){window.addEventListener(\"resize\",scheduleSizeUpdate);return()=>{if(resizeFrameRef.current!==null){window.cancelAnimationFrame(resizeFrameRef.current);}window.removeEventListener(\"resize\",scheduleSizeUpdate);};}return;}const observer=new ResizeObserver(()=>scheduleSizeUpdate());observer.observe(element);return()=>{if(typeof window!==\"undefined\"&&resizeFrameRef.current!==null){window.cancelAnimationFrame(resizeFrameRef.current);}observer.disconnect();};},[isStaticRenderer]);useEffect(()=>{return()=>{renderTokenRef.current+=1;if(typeof window!==\"undefined\"&&resizeFrameRef.current!==null){window.cancelAnimationFrame(resizeFrameRef.current);}pdfDocumentRef.current?.destroy?.();pdfDocumentRef.current=null;};},[]);useEffect(()=>{if(isStaticRenderer)return;renderTokenRef.current+=1;pdfDocumentRef.current?.destroy?.();pdfDocumentRef.current=null;pageRefs.current=[];canvasRefs.current=[];renderedWidthsRef.current=[];renderKeyRef.current=\"\";setPageCount(0);setPageAspectRatios([]);setVisiblePageIndexes([]);setErrorMessage(\"\");if(!hasConfiguredSource){setStatus(\"idle\");return;}if(!hasSupportedSource){setStatus(\"error\");setErrorMessage(\"Choose a PDF file or enter a full http(s) PDF URL.\");return;}let disposed=false;let loadingTask=null;let nextDocument=null;setStatus(\"loading\");void(async()=>{try{const pdfjs=await loadPdfJs();if(disposed)return;loadingTask=pdfjs.getDocument({url:resolvedSource,withCredentials:false});nextDocument=await loadingTask.promise;if(disposed){nextDocument.destroy?.();return;}let fallbackAspectRatio=DEFAULT_PAGE_ASPECT_RATIO;if(nextDocument.numPages>0){const firstPage=await nextDocument.getPage(1);fallbackAspectRatio=getPageAspectRatio(firstPage.getViewport({scale:1}));firstPage.cleanup?.();}pdfDocumentRef.current=nextDocument;renderedWidthsRef.current=Array.from({length:nextDocument.numPages},()=>-1);setPageAspectRatios(Array.from({length:nextDocument.numPages},()=>fallbackAspectRatio));setPageCount(nextDocument.numPages);setVisiblePageIndexes(nextDocument.numPages>0?[0]:[]);setStatus(\"ready\");}catch(error){if(disposed||isCancellationError(error))return;setStatus(\"error\");setErrorMessage(formatPdfError(error));}})();return()=>{disposed=true;loadingTask?.destroy?.();nextDocument?.destroy?.();if(pdfDocumentRef.current===nextDocument){pdfDocumentRef.current=null;}};},[hasConfiguredSource,hasSupportedSource,isStaticRenderer,resolvedSource]);useEffect(()=>{if(isStaticRenderer)return;if(pageCount===0){setVisiblePageIndexes(current=>current.length===0?current:[]);return;}const viewportElement=viewportRef.current;if(!viewportElement||typeof IntersectionObserver===\"undefined\"){const nextVisiblePages=Array.from({length:pageCount},(_,index)=>index);setVisiblePageIndexes(current=>arePageListsEqual(current,nextVisiblePages)?current:nextVisiblePages);return;}const pageIndexesByElement=new Map;const visiblePages=new Set;const observer=new IntersectionObserver(entries=>{let changed=false;for(const entry of entries){const index=pageIndexesByElement.get(entry.target);if(index===undefined)continue;if(entry.isIntersecting){if(!visiblePages.has(index)){visiblePages.add(index);changed=true;}}else if(visiblePages.delete(index)){changed=true;}}if(!changed)return;const nextVisiblePages=Array.from(visiblePages).sort((left,right)=>left-right);if(nextVisiblePages.length===0&&pageCount>0){nextVisiblePages.push(0);}setVisiblePageIndexes(current=>arePageListsEqual(current,nextVisiblePages)?current:nextVisiblePages);},{root:viewportElement,rootMargin:VISIBILITY_ROOT_MARGIN,threshold:.01});pageRefs.current.slice(0,pageCount).forEach((element,index)=>{if(!element)return;pageIndexesByElement.set(element,index);observer.observe(element);});setVisiblePageIndexes(current=>{if(current.length>0)return current;return pageCount>0?[0]:current;});return()=>observer.disconnect();},[isStaticRenderer,pageCount]);useEffect(()=>{if(isStaticRenderer)return;const pdfDocument=pdfDocumentRef.current;const roundedViewportWidth=Math.round(viewportWidth);if(!pdfDocument||pageCount===0||roundedViewportWidth<1||visiblePageIndexes.length===0){return;}const renderKey=`${resolvedSource}:${roundedViewportWidth}`;if(renderKeyRef.current!==renderKey){renderKeyRef.current=renderKey;renderedWidthsRef.current=Array.from({length:pageCount},()=>-1);}const pagesToRender=visiblePageIndexes.filter(index=>{return renderedWidthsRef.current[index]!==roundedViewportWidth;});if(pagesToRender.length===0){return;}const currentToken=renderTokenRef.current+1;renderTokenRef.current=currentToken;let disposed=false;const renderTasks=[];void(async()=>{try{const devicePixelRatio=typeof window!==\"undefined\"?Math.min(window.devicePixelRatio||1,MAX_DEVICE_PIXEL_RATIO):1;for(const index of pagesToRender){if(disposed||renderTokenRef.current!==currentToken)return;const canvas=canvasRefs.current[index];if(!canvas)continue;let page=null;try{page=await pdfDocument.getPage(index+1);if(disposed||renderTokenRef.current!==currentToken){return;}const baseViewport=page.getViewport({scale:1});const nextAspectRatio=getPageAspectRatio(baseViewport);setPageAspectRatios(current=>{if(Math.abs((current[index]??DEFAULT_PAGE_ASPECT_RATIO)-nextAspectRatio)<.01){return current;}const next=current.slice();next[index]=nextAspectRatio;return next;});const scale=roundedViewportWidth/baseViewport.width;const safeScale=Number.isFinite(scale)&&scale>0?scale:1;const displayViewport=page.getViewport({scale:safeScale});const renderViewport=page.getViewport({scale:safeScale*devicePixelRatio});canvas.width=Math.max(1,Math.floor(renderViewport.width));canvas.height=Math.max(1,Math.floor(renderViewport.height));canvas.style.width=\"100%\";canvas.style.height=`${displayViewport.height}px`;canvas.style.display=\"block\";const context=canvas.getContext(\"2d\");if(!context){throw new Error(\"Canvas rendering is not available in this browser.\");}context.setTransform(1,0,0,1,0,0);context.clearRect(0,0,canvas.width,canvas.height);const renderTask=page.render({canvasContext:context,viewport:renderViewport});renderTasks.push(renderTask);await renderTask.promise;if(disposed||renderTokenRef.current!==currentToken){return;}renderedWidthsRef.current[index]=roundedViewportWidth;}finally{page?.cleanup?.();}}}catch(error){if(disposed||isCancellationError(error))return;setStatus(\"error\");setErrorMessage(formatPdfError(error));}})();return()=>{disposed=true;renderTasks.forEach(task=>task.cancel?.());};},[isStaticRenderer,pageCount,resolvedSource,viewportWidth,visiblePageIndexes]);const rootStyle={position:\"relative\",display:\"flex\",flexDirection:\"column\",width:\"100%\",height:\"100%\",minWidth:0,minHeight:0,overflow:\"hidden\",boxSizing:\"border-box\",background:backgroundColor,borderRadius,...border,...style};const contentStyle={position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",overflowY:\"auto\",overflowX:\"hidden\",boxSizing:\"border-box\",padding};const centeredStateStyle={width:\"100%\",minHeight:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",textAlign:\"center\",color:placeholderTextColor};return /*#__PURE__*/_jsx(\"div\",{style:rootStyle,children:/*#__PURE__*/_jsxs(\"div\",{ref:viewportRef,style:contentStyle,children:[isStaticRenderer?/*#__PURE__*/_jsx(\"div\",{style:centeredStateStyle,children:\"PDF preview is available in Framer Preview and on the published site.\"}):null,!isStaticRenderer&&!hasConfiguredSource?/*#__PURE__*/_jsx(\"div\",{style:centeredStateStyle,children:\"Choose a PDF file.\"}):null,!isStaticRenderer&&hasConfiguredSource&&status===\"error\"?/*#__PURE__*/_jsx(\"div\",{style:centeredStateStyle,children:errorMessage}):null,!isStaticRenderer&&hasConfiguredSource&&status===\"loading\"&&pageCount===0?/*#__PURE__*/_jsx(\"div\",{style:centeredStateStyle,children:\"Loading PDF…\"}):null,!isStaticRenderer&&hasConfiguredSource&&status!==\"error\"&&pageCount>0?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",flex:\"none\",width:\"100%\",minHeight:\"max-content\",gap:16,alignItems:\"stretch\"},children:Array.from({length:pageCount}).map((_,index)=>{const aspectRatio=pageAspectRatios[index]??DEFAULT_PAGE_ASPECT_RATIO;const reservedHeight=viewportWidth>0?Math.max(160,Math.round(viewportWidth*aspectRatio)):320;return /*#__PURE__*/_jsx(\"div\",{ref:element=>{pageRefs.current[index]=element;},style:{width:\"100%\",minHeight:`${reservedHeight}px`,background:\"#FFFFFF\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"canvas\",{ref:element=>{canvasRefs.current[index]=element;},style:{display:\"block\",width:\"100%\",maxWidth:\"100%\",background:\"#FFFFFF\"}})},index);})}):null]})});}PdfViewer.displayName=\"PDF Viewer\";addPropertyControls(PdfViewer,{file:{type:ControlType.File,title:\"PDF File\",allowedFileTypes:[\".pdf\",\"application/pdf\"]},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#F7F7F7\"},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"16px\"},borderRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"0px\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:0,borderStyle:\"solid\",borderColor:\"rgba(0, 0, 0, 0.12)\"}},placeholderTextColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#666666\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PdfViewer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"900\",\"framerIntrinsicWidth\":\"720\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PdfViewer.map"],"mappings":"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"}