{"version":3,"file":"BaseConvertor.BwefL12A.mjs","names":["useState","useRef","Spinner"],"sources":["https:/framerusercontent.com/modules/XJESL1PPFmPDXsEWcbhQ/bpm7Ko7ZzmOaFshFQ11E/BaseConvertor.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/Spinner-M4EH.js@cu9oWL4NR6vIKTmbml9q\";import Button from\"https://framer.com/m/Button-idp4gz.js\";export default function BaseConvertor({outputFormat=\"jpg\",resultTitle,resultColor,// Localized text\nselectText,dropHint,convertingText,convertingSubtitle,downloadText,metaText}){const[status,setStatus]=useState(\"idle\");const[outputUrl,setOutputUrl]=useState(null);const[fileName,setFileName]=useState(null);const fileInputRef=useRef(null);const convertHEIC=file=>{if(![\"jpg\",\"png\",\"gif\"].includes(outputFormat)){console.error(\"Unsupported format.\");return;}if(typeof window===\"undefined\"){console.warn(\"SSR: skip conversion\");return;}setStatus(\"loading\");const toType=outputFormat==\"jpg\"?`image/jpeg`:`image/${outputFormat}`;import(\"heic2any\").then(mod=>{const heic2any=mod.default;return heic2any({blob:file,toType:toType});}).then(resultBlob=>{const url=URL.createObjectURL(resultBlob);setOutputUrl(url);setStatus(\"done\");}).catch(error=>{console.error(\"Conversion error:\",error);setStatus(\"idle\");});};const handleFileChange=e=>{const file=e.target.files?.[0];if(file){setFileName(file.name);convertHEIC(file);e.target.value=\"\";}};const handleDrop=e=>{e.preventDefault();const file=e.dataTransfer.files?.[0];if(file){setFileName(file.name);convertHEIC(file);e.dataTransfer.clearData();}};const handleDragOver=e=>e.preventDefault();const reset=()=>{setStatus(\"idle\");setOutputUrl(null);setFileName(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=()=>{return metaText??\"Optimized for web\";};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??\"Select your HEIC\",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??\"or drop images here\"}),/*#__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,maxWidth:\"90vw\",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:/*#__PURE__*/_jsx(\"div\",{children:convertingText??`Converting to ${outputFormat.toUpperCase()}`})}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:16,color:\"#6C6C73\",fontFamily:'\"Avenir Next W1G Regular\", \"Avenir Next W1G Regular Placeholder\", sans-serif'},children:/*#__PURE__*/_jsx(\"div\",{children:convertingSubtitle??\"Getting your image ready.\"})})]}),status===\"done\"&&outputUrl&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",padding:40,background:\"white\",borderRadius:20,textAlign:\"center\",width:460,maxWidth:\"90vw\",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??\"#0080FF\",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??`Your ${outputFormat.toUpperCase()} is ready`}),/*#__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:outputUrl,alt:`Converted ${outputFormat}`,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()})]})]}),/*#__PURE__*/_jsx(Button,{title:downloadText??\"Download\",href:outputUrl,download:convertedFileName(fileName,outputFormat)})]})]})]});}addPropertyControls(BaseConvertor,{outputFormat:{type:ControlType.Enum,options:[\"jpg\",\"png\",\"gif\",\"pdf\"],defaultValue:\"jpg\"},resultTitle:{type:ControlType.String,title:\"Result Title\",defaultValue:\"Your image is ready\"},resultColor:{type:ControlType.Color,title:\"Result Color\",defaultValue:\"#0080FF\"},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 your image\"},convertingSubtitle:{type:ControlType.String,title:\"Converting Subtitle\",defaultValue:\"Getting your image ready.\"},downloadText:{type:ControlType.String,title:\"Download Button\",defaultValue:\"Download\"},metaText:{type:ControlType.String,title:\"Meta Info\",defaultValue:\"Optimized for web\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BaseConvertor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BaseConvertor.map"],"mappings":"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"}