{"version":3,"file":"PDF_Downloader.DIVwtAXf.mjs","names":["React.useRef","React.useState","React.useCallback","pageWidthMm","pageHeightMm","pdfDocument","p"],"sources":["https:/framerusercontent.com/modules/g0oQdZqO54VV05Z8mvGc/91ghSR3E0Z4qfslhuAw6/PDF_Downloader.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * PDF Downloader Trigger - Invisible PDF Handler Component\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function PDFDownloaderTrigger(props){const{operation=\"download\",contentSource=\"current-page\",externalUrl=\"\",uploadedDocument,targetFrameName=\"\",excludeSpecificAreas=false,excludeFrameNames=\"\",pageSize=\"a4\",outputFilename=\"document\",colorMode=\"rgb\",captureScale=1.5,clickDelay=0,enableKeyboardShortcuts=false,keyboardShortcut=\"ctrl+p\"}=props;const captureSpecificArea=operation===\"print\"?false:props.captureSpecificArea??false;const triggerRef=React.useRef(null);const operationLockRef=React.useRef(false);const[operationInProgress,setOperationInProgress]=React.useState(false);const[browserEnvironment,setBrowserEnvironment]=React.useState(false);const[librariesLoaded,setLibrariesLoaded]=React.useState(false);const currentRenderTarget=RenderTarget.current();const isDesignCanvas=currentRenderTarget===RenderTarget.canvas;React.useEffect(()=>{setBrowserEnvironment(typeof window!==\"undefined\"&&!!window.document);},[]);const sanitizeFilename=React.useCallback(filename=>{if(!filename||filename.trim()===\"\")return\"document\";return filename.trim().replace(/[<>:\"/\\\\|?*\\x00-\\x1f]/g,\"\").replace(/\\s+/g,\"_\").substring(0,100);},[]);const initializePDFGenerator=React.useCallback(async()=>{if(!browserEnvironment)return null;try{if(librariesLoaded){if(window.jspdf?.jsPDF)return window.jspdf.jsPDF;if(window.jsPDF)return window.jsPDF;const lib=await import(\"https://esm.sh/jspdf@2.5.1\");return lib.jsPDF||lib.default||window.jspdf?.jsPDF||window.jsPDF;}try{const lib=await import(\"https://esm.sh/jspdf@2.5.1\");setLibrariesLoaded(true);return lib.jsPDF||lib.default||window.jspdf?.jsPDF||window.jsPDF;}catch{return new Promise((resolve,reject)=>{const script=document.createElement(\"script\");script.src=\"https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js\";script.onload=()=>{setLibrariesLoaded(true);resolve(window.jspdf?.jsPDF||window.jsPDF);};script.onerror=reject;document.head.appendChild(script);});}}catch{return null;}},[browserEnvironment,librariesLoaded]);const initializeCanvasRenderer=React.useCallback(async()=>{if(!browserEnvironment)return null;try{try{const lib=await import(\"https://esm.sh/html2canvas@1.4.1\");return lib.default||lib.html2canvas;}catch{return new Promise((resolve,reject)=>{const script=document.createElement(\"script\");script.src=\"https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js\";script.onload=()=>resolve(window.html2canvas);script.onerror=reject;document.head.appendChild(script);});}}catch{return null;}},[browserEnvironment]);const initializePrintUtility=React.useCallback(async()=>{if(!browserEnvironment)return null;try{const lib=await import(\"https://esm.sh/print-js@1.6.0\");return lib.default||lib.printJS;}catch{return null;}},[browserEnvironment]);const getScrollableRoot=React.useCallback(()=>{const candidates=[document.querySelector(\"[data-framer-page-optimized]\"),document.querySelector(\"[class*='framer-'][style*='overflow']\"),document.querySelector(\"main\"),document.querySelector(\"#main\")];for(const el of candidates){if(el&&el.scrollHeight>window.innerHeight*1.1)return el;}const allDivs=Array.from(document.querySelectorAll(\"div\"));for(const div of allDivs){const style=window.getComputedStyle(div);if((style.overflow===\"auto\"||style.overflow===\"scroll\"||style.overflowY===\"auto\"||style.overflowY===\"scroll\")&&div.scrollHeight>window.innerHeight*1.1)return div;}return document.documentElement;},[]);const findTargetElement=React.useCallback(frameName=>{if(!frameName)return null;let el=document.querySelector(`[data-framer-name=\"${frameName}\"]`);if(!el){try{el=document.querySelector(frameName);}catch{}}return el||null;},[]);const hideExcludedElements=React.useCallback(()=>{const hiddenElements=[];if(excludeSpecificAreas&&excludeFrameNames.trim()){excludeFrameNames.split(\",\").map(n=>n.trim()).filter(Boolean).forEach(frameName=>{const elements=document.querySelectorAll(`[data-framer-name=\"${frameName}\"]`);elements.forEach(el=>{if(el.style.display!==\"none\"){el.style.display=\"none\";el.setAttribute(\"data-pdf-hidden\",\"true\");hiddenElements.push(el);}});if(elements.length===0){try{document.querySelectorAll(frameName).forEach(el=>{if(el.style.display!==\"none\"){el.style.display=\"none\";el.setAttribute(\"data-pdf-hidden\",\"true\");hiddenElements.push(el);}});}catch{}}});}return hiddenElements;},[excludeSpecificAreas,excludeFrameNames]);const restoreHiddenElements=React.useCallback(hiddenElements=>{hiddenElements.forEach(el=>{if(el.getAttribute(\"data-pdf-hidden\")===\"true\"){el.style.display=\"\";el.removeAttribute(\"data-pdf-hidden\");}});},[]);const applyColorModeFilter=React.useCallback(canvas=>{if(colorMode===\"rgb\")return canvas;const ctx=canvas.getContext(\"2d\");if(!ctx)return canvas;const imageData=ctx.getImageData(0,0,canvas.width,canvas.height);const data=imageData.data;for(let i=0;i<data.length;i+=4){const gray=Math.round(.299*data[i]+.587*data[i+1]+.114*data[i+2]);if(colorMode===\"grayscale\"){data[i]=data[i+1]=data[i+2]=gray;}else if(colorMode===\"blackwhite\"){const bw=gray>128?255:0;data[i]=data[i+1]=data[i+2]=bw;}}ctx.putImageData(imageData,0,0);return canvas;},[colorMode]);const waitForCaptureAssets=React.useCallback(async root=>{const imageElements=Array.from(root.querySelectorAll(\"img\"));const decodePromises=imageElements.map(img=>new Promise(resolve=>{const finish=()=>resolve();if(img.complete&&img.naturalWidth>0){if(typeof img.decode===\"function\"){img.decode().then(finish).catch(finish);}else{finish();}return;}const onDone=()=>{img.removeEventListener(\"load\",onDone);img.removeEventListener(\"error\",onDone);if(typeof img.decode===\"function\"){img.decode().then(finish).catch(finish);}else{finish();}};img.addEventListener(\"load\",onDone,{once:true});img.addEventListener(\"error\",onDone,{once:true});if(img.loading===\"lazy\")img.loading=\"eager\";}));const backgroundUrls=new Set;root.querySelectorAll(\"*\").forEach(el=>{const bg=window.getComputedStyle(el).backgroundImage;if(!bg||bg===\"none\")return;const regex=/url\\((['\"]?)(.*?)\\1\\)/g;let match;while((match=regex.exec(bg))!==null){const url=match[2];if(url&&!url.startsWith(\"data:\"))backgroundUrls.add(url);}});const backgroundPreloadPromises=Array.from(backgroundUrls).map(url=>new Promise(resolve=>{const img=new Image;img.onload=()=>resolve();img.onerror=()=>resolve();img.src=url;}));await Promise.race([Promise.allSettled([...decodePromises,...backgroundPreloadPromises]),new Promise(resolve=>setTimeout(resolve,15e3))]);},[]);const handleCurrentPageDownload=React.useCallback(async filename=>{let hiddenElements=[];const originalScrollX=window.scrollX;const originalScrollY=window.scrollY;try{const[PDFGenerator,CanvasRenderer]=await Promise.all([initializePDFGenerator(),initializeCanvasRenderer()]);if(!PDFGenerator||!CanvasRenderer){alert(\"PDF generation unavailable. Opening print dialog instead.\");window.print();return;}hiddenElements=hideExcludedElements();const targetNode=captureSpecificArea&&targetFrameName?findTargetElement(targetFrameName)||document.documentElement:pageSize===\"full-page\"?document.body:getScrollableRoot();const fullWidth=Math.max(targetNode.scrollWidth||0,targetNode.offsetWidth||0,targetNode.clientWidth||0,document.documentElement.scrollWidth||0,document.body?.scrollWidth||0,window.innerWidth);const fullHeight=Math.max(targetNode.scrollHeight||0,targetNode.offsetHeight||0,targetNode.clientHeight||0,document.documentElement.scrollHeight||0,document.body?.scrollHeight||0,window.innerHeight);try{const docFonts=document.fonts;if(docFonts?.ready)await docFonts.ready;}catch{}if(originalScrollX!==0||originalScrollY!==0){window.scrollTo(0,0);await new Promise(resolve=>requestAnimationFrame(()=>requestAnimationFrame(()=>resolve())));}await waitForCaptureAssets(targetNode);const renderedCanvas=await CanvasRenderer(targetNode,{scale:captureScale,useCORS:true,allowTaint:false,backgroundColor:\"#ffffff\",logging:false,imageTimeout:15e3,// Keep viewport-based CSS calculations consistent across runs.\nwindowWidth:window.innerWidth,windowHeight:window.innerHeight,width:fullWidth,height:fullHeight,x:0,y:0,scrollX:0,scrollY:-window.scrollY,onclone:clonedDoc=>{const freezeMotionStyle=clonedDoc.createElement(\"style\");freezeMotionStyle.textContent=\"*,*::before,*::after{animation:none!important;transition:none!important;}\";clonedDoc.head.appendChild(freezeMotionStyle);// Preserve native CSS background rendering. For image tags,\n// enforce eager loading in the cloned tree.\nclonedDoc.querySelectorAll(\"img\").forEach(img=>{img.setAttribute(\"loading\",\"eager\");});// Existing SVG <use> fix\nclonedDoc.querySelectorAll(\"svg\").forEach(svg=>{try{svg.querySelectorAll(\"use\").forEach(useEl=>{const href=useEl.getAttribute(\"href\")||useEl.getAttribute(\"xlink:href\");if(href&&href.startsWith(\"#\")){const symbolId=href.substring(1);let symbolElement=document.getElementById(symbolId);if(!symbolElement){document.querySelectorAll(\"defs\").forEach(defs=>{const found=defs.querySelector(`#${symbolId}`);if(found)symbolElement=found;});}if(symbolElement){const group=clonedDoc.createElementNS(\"http://www.w3.org/2000/svg\",\"g\");const origSvg=document.querySelector(`svg[class=\"${svg.getAttribute(\"class\")}\"]`);let fillColor=\"#000000\";if(origSvg){const st=window.getComputedStyle(origSvg);fillColor=st.color||st.fill||\"#000000\";}group.setAttribute(\"fill\",fillColor);const symbolClone=symbolElement.cloneNode(true);if(symbolClone.nodeName.toLowerCase()===\"symbol\"){while(symbolClone.firstChild){const child=symbolClone.firstChild;if(child.nodeType===1&&child.tagName){if(child.getAttribute(\"fill\")===\"currentColor\"||!child.getAttribute(\"fill\"))child.setAttribute(\"fill\",fillColor);}group.appendChild(child);}}else{group.appendChild(symbolClone);}useEl.parentNode?.replaceChild(group,useEl);}}});if(!svg.hasAttribute(\"xmlns\"))svg.setAttribute(\"xmlns\",\"http://www.w3.org/2000/svg\");}catch(err){console.error(\"SVG processing error:\",err);}});document.querySelectorAll(\"defs\").forEach(def=>{if(clonedDoc.body)clonedDoc.body.appendChild(def.cloneNode(true));});}});const processedCanvas=applyColorModeFilter(renderedCanvas);const imageFormat=\"image/jpeg\";const imageQuality=colorMode===\"blackwhite\"?.8:.9;const imgType=\"JPEG\";if(pageSize===\"full-page\"){let pageWidthMm=processedCanvas.width>processedCanvas.height?297:210;let pageHeightMm=processedCanvas.height*pageWidthMm/processedCanvas.width;// Keep within practical PDF page size limits.\nconst maxPageDimensionMm=5e3;const clampScale=Math.min(1,maxPageDimensionMm/Math.max(pageWidthMm,pageHeightMm));pageWidthMm*=clampScale;pageHeightMm*=clampScale;const pdfDocument=new PDFGenerator({orientation:pageWidthMm>pageHeightMm?\"landscape\":\"portrait\",unit:\"mm\",format:[pageWidthMm,pageHeightMm],compress:true});const imageData=processedCanvas.toDataURL(imageFormat,imageQuality);pdfDocument.addImage(imageData,imgType,0,0,pageWidthMm,pageHeightMm);pdfDocument.save(`${filename}.pdf`);return;}const pdfDocument=new PDFGenerator({orientation:processedCanvas.width>processedCanvas.height?\"landscape\":\"portrait\",unit:\"mm\",format:pageSize,compress:true});const pageWidthMm=pdfDocument.internal.pageSize.getWidth();const pageHeightMm=pdfDocument.internal.pageSize.getHeight();// Canvas pixels per mm on width axis\nconst pxPerMm=processedCanvas.width/pageWidthMm;// How many canvas pixels = one PDF page height\nconst pageHeightPx=Math.max(1,Math.floor(pageHeightMm*pxPerMm));const totalPages=Math.ceil(processedCanvas.height/pageHeightPx);for(let page=0;page<totalPages;page++){if(page>0)pdfDocument.addPage();const srcY=page*pageHeightPx;// Clamp last slice so we never exceed canvas height\nconst srcH=Math.min(pageHeightPx,processedCanvas.height-srcY);const sliceCanvas=document.createElement(\"canvas\");sliceCanvas.width=processedCanvas.width;sliceCanvas.height=srcH;const sliceCtx=sliceCanvas.getContext(\"2d\");if(sliceCtx){sliceCtx.drawImage(processedCanvas,0,srcY,processedCanvas.width,srcH,0,0,processedCanvas.width,srcH);}const sliceData=sliceCanvas.toDataURL(imageFormat,imageQuality);const sliceHeightMm=srcH/pxPerMm;pdfDocument.addImage(sliceData,imgType,0,0,pageWidthMm,sliceHeightMm);}pdfDocument.save(`${filename}.pdf`);}catch(err){alert(\"PDF generation failed. Opening print dialog as fallback.\");window.print();}finally{restoreHiddenElements(hiddenElements);if(window.scrollX!==originalScrollX||window.scrollY!==originalScrollY){window.scrollTo(originalScrollX,originalScrollY);}}},[initializePDFGenerator,initializeCanvasRenderer,hideExcludedElements,restoreHiddenElements,captureSpecificArea,targetFrameName,findTargetElement,getScrollableRoot,colorMode,applyColorModeFilter,captureScale,pageSize,waitForCaptureAssets]);const handleExternalDownload=React.useCallback(async filename=>{if(!externalUrl){alert(\"External PDF URL required\");return;}try{const response=await fetch(externalUrl,{mode:\"cors\",headers:{Accept:\"application/pdf\"}});if(!response.ok)throw new Error(`Request failed: ${response.status}`);const blob=await response.blob();const objectUrl=URL.createObjectURL(blob);const a=document.createElement(\"a\");a.href=objectUrl;a.download=`${filename}.pdf`;a.style.display=\"none\";document.body.appendChild(a);a.click();document.body.removeChild(a);setTimeout(()=>URL.revokeObjectURL(objectUrl),150);}catch{const a=document.createElement(\"a\");a.href=externalUrl;a.download=`${filename}.pdf`;a.target=\"_blank\";a.click();}},[externalUrl]);const handleUploadedFileDownload=React.useCallback(async filename=>{if(!uploadedDocument){alert(\"No document uploaded\");return;}try{const response=await fetch(uploadedDocument);const blob=await response.blob();const blobUrl=URL.createObjectURL(blob);const a=document.createElement(\"a\");a.href=blobUrl;a.download=`${filename}.pdf`;a.style.display=\"none\";document.body.appendChild(a);a.click();document.body.removeChild(a);setTimeout(()=>URL.revokeObjectURL(blobUrl),150);}catch{const a=document.createElement(\"a\");a.href=uploadedDocument;a.download=`${filename}.pdf`;a.target=\"_blank\";a.click();}},[uploadedDocument]);const handleCurrentPagePrint=React.useCallback(async filename=>{let hiddenElements=[];try{hiddenElements=hideExcludedElements();const targetNode=captureSpecificArea&&targetFrameName?findTargetElement(targetFrameName):null;if(captureSpecificArea&&targetFrameName&&targetNode){const printUtility=await initializePrintUtility();if(printUtility){printUtility({printable:targetNode,type:\"html\",documentTitle:filename,style:`@media print { \n                            body * { visibility: hidden; } \n                            [data-framer-name=\"${targetFrameName}\"], \n                            [data-framer-name=\"${targetFrameName}\"] * { visibility: visible; } \n                            [data-framer-name=\"${targetFrameName}\"] { position: absolute; left: 0; top: 0; } \n                        }`});}else{window.print();}}else{window.print();}}catch{window.print();}finally{setTimeout(()=>restoreHiddenElements(hiddenElements),1e3);}},[hideExcludedElements,restoreHiddenElements,captureSpecificArea,targetFrameName,findTargetElement,initializePrintUtility]);const handleExternalPrint=React.useCallback(async()=>{if(!externalUrl){alert(\"External PDF URL required\");return;}try{const printUtility=await initializePrintUtility();if(printUtility){printUtility({printable:externalUrl,type:\"pdf\",showModal:true,modalMessage:\"Preparing document for print...\"});}else{window.open(externalUrl,\"_blank\");}}catch{window.open(externalUrl,\"_blank\");}},[externalUrl,initializePrintUtility]);const handleUploadedFilePrint=React.useCallback(async()=>{if(!uploadedDocument){alert(\"No document uploaded\");return;}try{const printUtility=await initializePrintUtility();if(printUtility){printUtility(uploadedDocument,\"pdf\");}else{window.open(uploadedDocument,\"_blank\");}}catch{window.open(uploadedDocument,\"_blank\");}},[uploadedDocument,initializePrintUtility]);const executeMainOperation=React.useCallback(async()=>{if(!browserEnvironment||isDesignCanvas||operationInProgress||operationLockRef.current)return;operationLockRef.current=true;setOperationInProgress(true);const sanitizedFilename=sanitizeFilename(outputFilename);try{if(operation===\"download\"){if(contentSource===\"current-page\")await handleCurrentPageDownload(sanitizedFilename);else if(contentSource===\"external-url\")await handleExternalDownload(sanitizedFilename);else if(contentSource===\"uploaded-file\")await handleUploadedFileDownload(sanitizedFilename);}else if(operation===\"print\"){if(contentSource===\"current-page\")await handleCurrentPagePrint(sanitizedFilename);else if(contentSource===\"external-url\")await handleExternalPrint();else if(contentSource===\"uploaded-file\")await handleUploadedFilePrint();}}catch{}finally{operationLockRef.current=false;setOperationInProgress(false);}},[browserEnvironment,isDesignCanvas,operationInProgress,operation,contentSource,sanitizeFilename,outputFilename,handleCurrentPageDownload,handleExternalDownload,handleUploadedFileDownload,handleCurrentPagePrint,handleExternalPrint,handleUploadedFilePrint]);React.useEffect(()=>{if(!browserEnvironment||isDesignCanvas||!enableKeyboardShortcuts)return;const handleKeyPress=event=>{if(operationInProgress)return;const parts=keyboardShortcut.toLowerCase().trim().split(\"+\").map(p=>p.trim());if(!parts.length)return;const key=parts[parts.length-1];const modifiers=parts.slice(0,-1);const needsCtrl=modifiers.includes(\"ctrl\");const needsAlt=modifiers.includes(\"alt\");const needsShift=modifiers.includes(\"shift\");const needsMeta=modifiers.includes(\"meta\")||modifiers.includes(\"cmd\");const isMac=/Mac|iPhone|iPad|iPod/.test(navigator.platform)||/Mac|iPhone|iPad|iPod/.test(navigator.userAgent);const actualNeedsCtrl=needsCtrl&&!isMac;const actualNeedsMeta=needsMeta||needsCtrl&&isMac;const hasRequiredModifiers=(!actualNeedsCtrl||event.ctrlKey)&&(!needsAlt||event.altKey)&&(!needsShift||event.shiftKey)&&(!actualNeedsMeta||event.metaKey);const keyLower=event.key.toLowerCase();const codeLower=event.code.toLowerCase();const keyMatch=keyLower===key||codeLower===`key${key}`||codeLower===`digit${key}`||codeLower===key;if(hasRequiredModifiers&&keyMatch){event.preventDefault();event.stopPropagation();executeMainOperation();}};document.addEventListener(\"keydown\",handleKeyPress,true);return()=>document.removeEventListener(\"keydown\",handleKeyPress,true);},[browserEnvironment,isDesignCanvas,enableKeyboardShortcuts,keyboardShortcut,operationInProgress,executeMainOperation]);React.useEffect(()=>{if(!browserEnvironment||isDesignCanvas)return;const currentElement=triggerRef.current;if(!currentElement)return;const parentElement=currentElement.parentElement?.parentElement;if(!parentElement)return;const handleParentClick=()=>{if(operationInProgress)return;if(clickDelay>0)setTimeout(()=>executeMainOperation(),clickDelay*1e3);else executeMainOperation();};parentElement.addEventListener(\"click\",handleParentClick);return()=>parentElement.removeEventListener(\"click\",handleParentClick);},[browserEnvironment,isDesignCanvas,operationInProgress,clickDelay,executeMainOperation]);return /*#__PURE__*/_jsx(\"div\",{ref:triggerRef,className:\"pdf-trigger-component\",style:{display:\"none\",position:\"absolute\",pointerEvents:\"none\"}});}PDFDownloaderTrigger.displayName=\"PDF Downloader Trigger\";addPropertyControls(PDFDownloaderTrigger,{operation:{title:\"PDF Operation\",description:\"Choose the action to perform when the trigger is activated\",type:ControlType.Enum,options:[\"download\",\"print\"],optionTitles:[\"Download PDF\",\"Print PDF\"],defaultValue:\"download\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},contentSource:{title:\"Content Source\",description:\"Select the content source for PDF operations\",type:ControlType.Enum,options:[\"current-page\",\"external-url\",\"uploaded-file\"],optionTitles:[\"Current Page\",\"External PDF URL\",\"Uploaded PDF File\"],defaultValue:\"current-page\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},externalUrl:{title:\"PDF Document URL\",description:\"Enter the URL of the PDF document to process\",type:ControlType.String,defaultValue:\"\",placeholder:\"https://example.com/document.pdf\",hidden:props=>props.contentSource!==\"external-url\"},uploadedDocument:{title:\"Upload PDF File\",description:\"Upload a PDF file to process when the trigger is activated\",type:ControlType.File,allowedFileTypes:[\"pdf\"],hidden:props=>props.contentSource!==\"uploaded-file\"},captureSpecificArea:{title:\"Capture Specific Area\",description:\"Enable to capture only a specific frame instead of the entire page\",type:ControlType.Boolean,defaultValue:false,hidden:props=>props.contentSource!==\"current-page\"||props.operation!==\"download\"},targetFrameName:{title:\"Target Frame Name\",description:\"Enter the name of the Framer frame you want to capture\",type:ControlType.String,defaultValue:\"\",placeholder:\"MainContent\",hidden:props=>props.contentSource!==\"current-page\"||props.operation!==\"download\"||!props.captureSpecificArea},excludeSpecificAreas:{title:\"Exclude Specific Areas\",description:\"Enable to hide specific frames during PDF capture\",type:ControlType.Boolean,defaultValue:false,hidden:props=>props.contentSource!==\"current-page\"},excludeFrameNames:{title:\"Exclude Frame Names\",description:\"Enter frame names to hide during capture (separate multiple names with commas)\",type:ControlType.String,defaultValue:\"\",placeholder:\"Navbar, Footer, Sidebar\",hidden:props=>props.contentSource!==\"current-page\"||!props.excludeSpecificAreas},colorMode:{title:\"Color Mode\",description:\"Choose the color mode for PDF generation\",type:ControlType.Enum,options:[\"rgb\",\"grayscale\",\"blackwhite\"],optionTitles:[\"Full Color (RGB)\",\"Grayscale\",\"Black & White\"],defaultValue:\"rgb\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",hidden:props=>props.contentSource!==\"current-page\"||props.operation!==\"download\"},captureScale:{title:\"Capture Scale\",description:\"Controls render resolution. Lower = smaller file size, Higher = sharper quality.\\n\\n• 1.0 = Screen resolution (smallest file)\\n• 1.5 = Balanced (recommended)\\n• 2.0 = High quality\\n• 3.0 = Very sharp (large file)\",type:ControlType.Number,min:.5,max:3,step:.5,defaultValue:1.5,displayStepper:true,hidden:props=>props.contentSource!==\"current-page\"||props.operation!==\"download\"},pageSize:{title:\"Page Size\",description:\"Choose the output PDF page size. Full Page exports everything as one long PDF page (no splits).\",type:ControlType.Enum,options:[\"a4\",\"a3\",\"a5\",\"letter\",\"legal\",\"tabloid\",\"full-page\"],optionTitles:[\"A4 (210x297mm)\",\"A3 (297x420mm)\",\"A5 (148x210mm)\",\"Letter (216x279mm)\",\"Legal (216x356mm)\",\"Tabloid (279x432mm)\",\"Full Page (No Split)\"],defaultValue:\"a4\",hidden:props=>props.contentSource!==\"current-page\"||props.operation!==\"download\"},outputFilename:{title:\"Output Filename\",description:\"Set the name for the generated or downloaded PDF file (without .pdf extension)\",type:ControlType.String,defaultValue:\"document\",placeholder:\"my-document\"},enableKeyboardShortcuts:{title:\"Enable Keyboard Shortcuts\",description:\"Allow triggering PDF operations via keyboard shortcuts\",type:ControlType.Boolean,defaultValue:false},keyboardShortcut:{title:\"Keyboard Shortcut\",description:\"Set your preferred keyboard shortcut. The component automatically adapts to your platform:\\n\\n *Windows/Linux:* 'ctrl+p' = Ctrl+P\\n *macOS:* 'ctrl+p' = Cmd+P (auto-converted)\\n\\nNo need to worry about platform differences!\",type:ControlType.String,defaultValue:\"ctrl+p\",placeholder:\"ctrl+p, ctrl+s, alt+d\",hidden:props=>!props.enableKeyboardShortcuts},clickDelay:{title:\"Click Delay (s)\",description:\"Add a delay before PDF operation executes (useful for animations). Example: Create a variant with a 1.5-second loader, then set click delay to 1.5s so the PDF downloads after the loader completes.\\n\\nMade with ❤️ by [Soyeb](https://framer.link/project)\\n*Version:* 2.2.0\",type:ControlType.Number,min:0,max:10,step:.1,unit:\"s\",defaultValue:0}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PDFDownloaderTrigger\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PDF_Downloader.map"],"mappings":"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"}