{"version":3,"file":"HeicToPDFConvertor.CsXGArFv.mjs","names":["useState","useRef","Spinner"],"sources":["https:/framerusercontent.com/modules/Y0Lyg4Khqm2cnr55qHLK/Kvw40wZNrfHp6PwGu9ux/HeicToPDFConvertor.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import Spinner from\"https://framer.com/m/BaseConvertor-OKuE.js\";import Button from\"https://framer.com/m/Button-idp4gz.js\";export default function HeicToPDFConvertor({resultTitle=\"Your PDF document is ready 🎉\",resultColor=\"#EA8D49\",selectText=\"Select your HEIC\",dropHint=\"or drop images here\",convertingText=\"Converting to PDF\",convertingSubtitle=\"Getting your image ready.\",downloadText=\"Download\",convertedAtText=\"Converted at\"}){const[status,setStatus]=useState(\"idle\");const[outputUrl,setOutputUrl]=useState(null);const[previewImage,setPreviewImage]=useState(null);const[fileName,setFileName]=useState(null);const fileInputRef=useRef(null);const outputFormat=\"pdf\";const convertHEICtoPDF=async file=>{if(typeof window===\"undefined\")return;setStatus(\"loading\");try{const heic2any=(await import(\"heic2any\")).default;const jsPDF=(await import(\"jspdf\")).jsPDF;const blob=await heic2any({blob:file,toType:\"image/png\"});const imageUrl=URL.createObjectURL(blob);const img=new Image;img.src=imageUrl;img.onload=()=>{const pdf=new jsPDF({orientation:img.width>img.height?\"landscape\":\"portrait\",unit:\"px\",format:[img.width,img.height]});pdf.addImage(img,\"PNG\",0,0,img.width,img.height);const pdfBlob=pdf.output(\"blob\");const pdfUrl=URL.createObjectURL(pdfBlob);setPreviewImage(imageUrl);setOutputUrl(pdfUrl);setStatus(\"done\");};img.onerror=()=>{throw new Error(\"Image failed to load for PDF generation.\");};}catch(e){console.error(\"PDF conversion error:\",e);setStatus(\"idle\");}};const handleFileChange=e=>{const file=e.target.files?.[0];if(file){setFileName(file.name);convertHEICtoPDF(file);e.target.value=\"\";}};const handleDrop=e=>{e.preventDefault();const file=e.dataTransfer.files?.[0];if(file){setFileName(file.name);convertHEICtoPDF(file);e.dataTransfer.clearData();}};const handleDragOver=e=>e.preventDefault();const reset=()=>{setStatus(\"idle\");setOutputUrl(null);setFileName(null);setPreviewImage(null);if(fileInputRef.current)fileInputRef.current.value=\"\";};const convertedFileName=(name,format)=>{if(!name)return`converted.${format}`;const baseName=name.replace(/\\.[^/.]+$/,\"\");return`${baseName}.${format}`;};const getConvertedMetaInfo=format=>{const messagesByFormat={default:[timeStamp()]};function timeStamp(){return`${convertedAtText} ${new Date().toLocaleTimeString([],{hour:\"2-digit\",minute:\"2-digit\"})}`;}const list=messagesByFormat[format]??messagesByFormat.default;return list[Math.floor(Math.random()*list.length)];};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsxs(\"div\",{onDrop:handleDrop,onDragOver:handleDragOver,onClick:()=>fileInputRef.current?.click(),style:{boxSizing:\"border-box\",width:278,maxWidth:\"90vw\",minHeight:150,opacity:status===\"idle\"?1:.4,pointerEvents:status===\"idle\"?\"auto\":\"none\",padding:\"24px 34px\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",borderRadius:15,border:\"1px dashed #9d9ca2\",cursor:\"pointer\",gap:16},children:[/*#__PURE__*/_jsx(Button,{title:selectText,onClick:()=>fileInputRef.current?.click(),style:{width:\"100%\"}}),/*#__PURE__*/_jsx(\"p\",{style:{color:\"#9d9ca2\",fontSize:14,fontWeight:800,fontFamily:'\"Avenir Next W1G Demi\", \"Avenir Next W1G Demi Placeholder\", sans-serif'},children:dropHint}),/*#__PURE__*/_jsx(\"input\",{type:\"file\",accept:\".heic\",onChange:handleFileChange,ref:fileInputRef,style:{display:\"none\"}})]}),status!==\"idle\"&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",backgroundColor:\"rgba(0, 0, 0, 0.6)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:1e3},children:[status===\"loading\"&&/*#__PURE__*/_jsxs(\"div\",{style:{padding:40,background:\"white\",borderRadius:20,textAlign:\"center\",width:400,boxShadow:\"0px 8px 30px rgba(0, 0, 0, 0.1)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",marginBottom:24},children:/*#__PURE__*/_jsx(Spinner,{})}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:24,fontWeight:600,color:\"#26262B\",marginBottom:8,fontFamily:'\"Avenir Next W1G Bold\", \"Avenir Next W1G Bold Placeholder\", sans-serif'},children:convertingText}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:16,color:\"#6C6C73\",fontFamily:'\"Avenir Next W1G Regular\", \"Avenir Next W1G Regular Placeholder\", sans-serif'},children:convertingSubtitle})]}),status===\"done\"&&outputUrl&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",padding:40,background:\"white\",borderRadius:20,textAlign:\"center\",width:460,boxShadow:\"0px 8px 30px rgba(0, 0, 0, 0.1)\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:reset,style:{position:\"absolute\",top:24,right:24,background:\"transparent\",border:\"none\",fontSize:24,cursor:\"pointer\",color:\"#6C6C73\"},children:\"✕\"}),/*#__PURE__*/_jsx(\"div\",{style:{width:56,height:56,borderRadius:\"50%\",backgroundColor:resultColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",margin:\"0 auto 24px auto\"},children:/*#__PURE__*/_jsx(\"span\",{style:{fontSize:28,color:\"white\"},children:\"✔\"})}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:36,fontFamily:'\"Avenir Next W1G Bold\", \"Avenir Next W1G Bold Placeholder\", sans-serif',color:\"#26262B\",fontWeight:700,marginBottom:24},children:resultTitle}),/*#__PURE__*/_jsxs(\"div\",{style:{border:\"1px solid #E4E4E7\",borderRadius:12,padding:\"12px 16px\",display:\"flex\",alignItems:\"center\",gap:12,backgroundColor:\"#FAFAFA\",marginBottom:24},children:[/*#__PURE__*/_jsx(\"img\",{src:previewImage??\"\",alt:\"Preview\",style:{width:40,height:40,borderRadius:8,objectFit:\"cover\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:16,fontFamily:'\"Avenir Next W1G Regular\", \"Avenir Next W1G Regular Placeholder\", sans-serif',color:\"#26262B\"},children:[convertedFileName(fileName,outputFormat),\" \",\"\\xa0\",/*#__PURE__*/_jsx(\"span\",{style:{color:\"#6C6C73\"},children:getConvertedMetaInfo(outputFormat)})]})]}),/*#__PURE__*/_jsx(Button,{title:downloadText,href:outputUrl,download:convertedFileName(fileName,outputFormat)})]})]})]});}addPropertyControls(HeicToPDFConvertor,{resultTitle:{type:ControlType.String,title:\"Result Title\",defaultValue:\"Your PDF document is ready 🎉\"},resultColor:{type:ControlType.Color,title:\"Result Color\",defaultValue:\"#EA8D49\"},selectText:{type:ControlType.String,title:\"Select Text\",defaultValue:\"Select your HEIC\"},dropHint:{type:ControlType.String,title:\"Drop Hint\",defaultValue:\"or drop images here\"},convertingText:{type:ControlType.String,title:\"Converting Text\",defaultValue:\"Converting to PDF\"},convertingSubtitle:{type:ControlType.String,title:\"Converting Subtitle\",defaultValue:\"Getting your image ready.\"},downloadText:{type:ControlType.String,title:\"Download Button\",defaultValue:\"Download\"},convertedAtText:{type:ControlType.String,title:'\"Converted at\" Label',defaultValue:\"Converted at\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HeicToPDFConvertor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HeicToPDFConvertor.map"],"mappings":"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"}