{"version":3,"file":"Fileupload.oM3Cc4d_.mjs","names":["useRef","useState","useCallback"],"sources":["https:/framerusercontent.com/modules/PS7T1h838ykzy3tiuUck/EZ4Cf5wqBMIvndLRfHG4/Fileupload.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useRef,useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const ICONS={paperclip:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M21.44 11.05l-9.19 9.19a5.5 5.5 0 01-7.78-7.78l9.2-9.19a3.5 3.5 0 014.95 4.95l-9.2 9.19a1.5 1.5 0 01-2.12-2.12l8.49-8.48\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})}),upload:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 16V4M12 4l-4 4M12 4l4 4M4 17v2a2 2 0 002 2h12a2 2 0 002-2v-2\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})}),document:/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M14 2v6h6\",stroke:\"currentColor\",strokeWidth:\"1.8\",strokeLinejoin:\"round\"})]})};export default function FileUpload(props){const{title,subtext,buttonLabel,errorTooLarge,errorType,fieldName,required,multiple,accept,maxSizeMB,padding,gap,borderRadius,borderWidth,borderStyle,align,enableDropzone,backgroundColor,backgroundColorActive,borderColor,borderColorActive,titleFont,titleColor,subtextFont,subtextColor,showButton,buttonLabelFont,buttonTextColor,buttonBackground,buttonBackgroundHover,buttonBorderColor,buttonBorderWidth,buttonRadius,buttonPaddingX,buttonPaddingY,icon,iconColor,chipBackground,chipTextColor,chipFont,errorColor,requiredColor,uploadEndpoint,linkFieldName,uploadingText,uploadedText,uploadErrorText,successColor}=props;const inputRef=useRef(null);const[files,setFiles]=useState([]);const[isDragActive,setIsDragActive]=useState(false);const[isButtonHover,setIsButtonHover]=useState(false);const[error,setError]=useState(\"\");const[uploadStatus,setUploadStatus]=useState(\"idle\");const[uploadedLinks,setUploadedLinks]=useState(\"\");const isCanvas=RenderTarget.current()===RenderTarget.canvas;const acceptedTypesList=accept.split(\",\").map(t=>t.trim()).filter(Boolean);const validate=useCallback(candidates=>{let err=\"\";const valid=[];for(const f of candidates){if(maxSizeMB>0&&f.size>maxSizeMB*1024*1024){err=errorTooLarge;continue;}if(acceptedTypesList.length>0){const okType=acceptedTypesList.some(t=>{if(t.startsWith(\".\")){return f.name.toLowerCase().endsWith(t.toLowerCase());}if(t.endsWith(\"/*\")){return f.type.startsWith(t.replace(\"/*\",\"/\"));}return f.type===t;});if(!okType){err=errorType;continue;}}valid.push(f);}return{valid,err};},[maxSizeMB,acceptedTypesList,errorTooLarge,errorType]);const fileToBase64=file=>new Promise((resolve,reject)=>{const reader=new FileReader;reader.onload=()=>{const result=reader.result;// strip the \"data:mime/type;base64,\" prefix\n    resolve(result.split(\",\")[1]||\"\");};reader.onerror=reject;reader.readAsDataURL(file);});const uploadFilesToDrive=useCallback(async list=>{if(!uploadEndpoint||isCanvas||list.length===0)return;setUploadStatus(\"uploading\");try{const links=[];for(const file of list){const data=await fileToBase64(file);const res=await fetch(uploadEndpoint,{method:\"POST\",// text/plain avoids a CORS preflight against\n// Apps Script, which doesn't handle OPTIONS.\nheaders:{\"Content-Type\":\"text/plain;charset=utf-8\"},body:JSON.stringify({filename:file.name,mimeType:file.type||\"application/octet-stream\",data})});const json=await res.json();if(!json.ok)throw new Error(json.error||\"Upload failed\");links.push(json.url);}setUploadedLinks(links.join(\", \"));setUploadStatus(\"done\");}catch(err){console.error(\"Drive upload failed:\",err);setUploadStatus(\"error\");}},[uploadEndpoint,isCanvas]);const applyFiles=useCallback(list=>{if(!list||list.length===0)return;const incoming=Array.from(list);const{valid,err}=validate(incoming);setError(err);if(valid.length===0)return;setFiles(prev=>{const next=multiple?[...prev,...valid]:[valid[0]];syncInputFiles(next);uploadFilesToDrive(next);return next;});},[validate,multiple,uploadFilesToDrive]);// Keep the real <input type=\"file\"> in sync so Framer's Form\n// actually submits these files as part of its FormData.\nconst syncInputFiles=list=>{if(!inputRef.current)return;const dt=new DataTransfer;list.forEach(f=>dt.items.add(f));inputRef.current.files=dt.files;};const handleInputChange=e=>{applyFiles(e.target.files);};const removeFile=index=>{setFiles(prev=>{const next=prev.filter((_,i)=>i!==index);syncInputFiles(next);if(next.length===0){setUploadedLinks(\"\");setUploadStatus(\"idle\");}else{uploadFilesToDrive(next);}return next;});setError(\"\");};const openPicker=()=>{if(isCanvas)return;inputRef.current?.click();};const handleDrop=e=>{e.preventDefault();setIsDragActive(false);if(isCanvas)return;applyFiles(e.dataTransfer.files);};const formatSize=bytes=>{if(bytes<1024)return`${bytes} B`;if(bytes<1024*1024)return`${(bytes/1024).toFixed(0)} KB`;return`${(bytes/(1024*1024)).toFixed(1)} MB`;};const containerActive=isDragActive;const iconEl=icon!==\"none\"?ICONS[icon]:null;return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",display:\"flex\",flexDirection:\"column\",gap,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{onDragOver:e=>{if(!enableDropzone)return;e.preventDefault();setIsDragActive(true);},onDragLeave:()=>enableDropzone&&setIsDragActive(false),onDrop:enableDropzone?handleDrop:undefined,onClick:enableDropzone?openPicker:undefined,style:{boxSizing:\"border-box\",width:\"100%\",padding,borderRadius,borderWidth,borderStyle,borderColor:containerActive?borderColorActive:borderColor,backgroundColor:containerActive?backgroundColorActive:backgroundColor,display:\"flex\",flexDirection:\"column\",alignItems:align===\"center\"?\"center\":\"flex-start\",textAlign:align,gap,cursor:enableDropzone?\"pointer\":\"default\",transition:\"background-color 120ms ease, border-color 120ms ease\"},children:[title&&/*#__PURE__*/_jsxs(\"div\",{style:{...titleFont,color:titleColor,margin:0},children:[title,required&&/*#__PURE__*/_jsx(\"span\",{style:{color:requiredColor},children:\" *\"})]}),subtext&&/*#__PURE__*/_jsx(\"div\",{style:{...subtextFont,color:subtextColor,margin:0},children:subtext}),showButton&&/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:e=>{e.stopPropagation();openPicker();},onMouseEnter:()=>setIsButtonHover(true),onMouseLeave:()=>setIsButtonHover(false),style:{marginTop:4,display:\"inline-flex\",alignItems:\"center\",gap:8,...buttonLabelFont,color:buttonTextColor,background:isButtonHover?buttonBackgroundHover:buttonBackground,border:`${buttonBorderWidth}px solid ${buttonBorderColor}`,borderRadius:buttonRadius,padding:`${buttonPaddingY}px ${buttonPaddingX}px`,cursor:\"pointer\",transition:\"background-color 120ms ease\"},children:[iconEl&&/*#__PURE__*/_jsx(\"span\",{style:{color:iconColor,display:\"inline-flex\",alignItems:\"center\"},children:iconEl}),buttonLabel]}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,type:\"file\",name:fieldName,required:required&&files.length===0,multiple:multiple,accept:accept||undefined,onChange:handleInputChange,onClick:e=>e.stopPropagation(),style:{position:\"absolute\",width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0,0,0,0)\",whiteSpace:\"nowrap\",border:0}}),/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:linkFieldName,value:uploadedLinks,readOnly:true})]}),uploadEndpoint&&uploadStatus!==\"idle\"&&/*#__PURE__*/_jsxs(\"div\",{style:{...subtextFont,color:uploadStatus===\"error\"?errorColor:uploadStatus===\"done\"?successColor:subtextColor,margin:0},children:[uploadStatus===\"uploading\"&&uploadingText,uploadStatus===\"done\"&&uploadedText,uploadStatus===\"error\"&&uploadErrorText]}),error&&/*#__PURE__*/_jsx(\"div\",{style:{...subtextFont,color:errorColor,margin:0},children:error}),files.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:6,width:\"100%\"},children:files.map((f,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:10,padding:\"8px 12px\",borderRadius:Math.max(6,borderRadius/2),background:chipBackground},children:[/*#__PURE__*/_jsxs(\"span\",{style:{...chipFont,color:chipTextColor,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:[f.name,\" \\xb7 \",formatSize(f.size)]}),/*#__PURE__*/_jsx(\"span\",{onClick:()=>removeFile(i),style:{...chipFont,color:chipTextColor,cursor:\"pointer\",opacity:.6,flexShrink:0},children:\"Remove\"})]},`${f.name}-${i}`))})]});}FileUpload.defaultProps={title:\"Upload Resume\",subtext:\"Upload 1 supported file: PDF, document, or image. Max 100 MB.\",buttonLabel:\"Add File\",errorTooLarge:\"That file is too large.\",errorType:\"That file type isn't supported.\",fieldName:\"resume\",required:false,multiple:false,accept:\".pdf,.doc,.docx,image/*\",maxSizeMB:100,padding:20,gap:8,borderRadius:12,borderWidth:1,borderStyle:\"solid\",align:\"left\",enableDropzone:true,backgroundColor:\"#FBF9F6\",backgroundColorActive:\"#F3EFE8\",borderColor:\"#FBF9F6\",borderColorActive:\"#C9A98C\",titleFont:{fontSize:22,fontWeight:500},titleColor:\"#1A1A1A\",subtextFont:{fontSize:14,fontWeight:400},subtextColor:\"#9C9791\",showButton:true,buttonLabelFont:{fontSize:14,fontWeight:500},buttonTextColor:\"#1A1A1A\",buttonBackground:\"#FFFFFF\",buttonBackgroundHover:\"#F3EFE8\",buttonBorderColor:\"#DAD4CB\",buttonBorderWidth:1,buttonRadius:8,buttonPaddingX:16,buttonPaddingY:10,icon:\"paperclip\",iconColor:\"#1A1A1A\",chipBackground:\"#F3EFE8\",chipTextColor:\"#1A1A1A\",chipFont:{fontSize:13,fontWeight:400},errorColor:\"#D64545\",requiredColor:\"#000000\",uploadEndpoint:\"\",linkFieldName:\"resumeLink\",uploadingText:\"Uploading…\",uploadedText:\"Uploaded ✓\",uploadErrorText:\"Upload failed — try again.\",successColor:\"#2F9E5B\"};addPropertyControls(FileUpload,{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Upload Resume\"},subtext:{type:ControlType.String,title:\"Subtext\",defaultValue:\"Upload 1 supported file: PDF, document, or image. Max 100 MB.\",displayTextArea:true},buttonLabel:{type:ControlType.String,title:\"Button Label\",defaultValue:\"Add File\"},fieldName:{type:ControlType.String,title:\"Field Name\",defaultValue:\"resume\",description:\"The form field name this maps to at your Form destination.\"},required:{type:ControlType.Boolean,title:\"Required\"},requiredColor:{type:ControlType.Color,title:\"Required Mark Color\",defaultValue:\"#000000\",hidden:props=>!props.required},multiple:{type:ControlType.Boolean,title:\"Allow Multiple\"},accept:{type:ControlType.String,title:\"Accepted Types\",defaultValue:\".pdf,.doc,.docx,image/*\",description:\"Comma-separated: extensions (.pdf), MIME types, or wildcards (image/*).\"},maxSizeMB:{type:ControlType.Number,title:\"Max Size (MB)\",defaultValue:100,min:0},// --- Layout ---\nalign:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\"],optionTitles:[\"Left\",\"Center\"],defaultValue:\"left\"},enableDropzone:{type:ControlType.Boolean,title:\"Drag & Drop\"},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:20,min:0},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0},borderRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:12,min:0},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:1,min:0},borderStyle:{type:ControlType.Enum,title:\"Border Style\",options:[\"solid\",\"dashed\",\"dotted\"],defaultValue:\"solid\"},// --- Container colors ---\nbackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FBF9F6\"},backgroundColorActive:{type:ControlType.Color,title:\"Background (Drag)\",defaultValue:\"#F3EFE8\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#FBF9F6\"},borderColorActive:{type:ControlType.Color,title:\"Border (Drag)\",defaultValue:\"#C9A98C\"},// --- Title ---\ntitleFont:{type:ControlType.Font,title:\"Title Font\",defaultValue:{fontSize:22,fontWeight:500},controls:\"extended\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"#1A1A1A\"},// --- Subtext ---\nsubtextFont:{type:ControlType.Font,title:\"Subtext Font\",defaultValue:{fontSize:14,fontWeight:400},controls:\"extended\"},subtextColor:{type:ControlType.Color,title:\"Subtext Color\",defaultValue:\"#9C9791\"},// --- Button ---\nshowButton:{type:ControlType.Boolean,title:\"Show Button\",defaultValue:true},buttonLabelFont:{type:ControlType.Font,title:\"Button Font\",defaultValue:{fontSize:14,fontWeight:500},controls:\"extended\",hidden:props=>!props.showButton},buttonTextColor:{type:ControlType.Color,title:\"Button Text\",defaultValue:\"#1A1A1A\",hidden:props=>!props.showButton},buttonBackground:{type:ControlType.Color,title:\"Button Fill\",defaultValue:\"#FFFFFF\",hidden:props=>!props.showButton},buttonBackgroundHover:{type:ControlType.Color,title:\"Button Fill (Hover)\",defaultValue:\"#F3EFE8\",hidden:props=>!props.showButton},buttonBorderColor:{type:ControlType.Color,title:\"Button Border\",defaultValue:\"#DAD4CB\",hidden:props=>!props.showButton},buttonBorderWidth:{type:ControlType.Number,title:\"Button Border Width\",defaultValue:1,min:0,hidden:props=>!props.showButton},buttonRadius:{type:ControlType.Number,title:\"Button Radius\",defaultValue:8,min:0,hidden:props=>!props.showButton},buttonPaddingX:{type:ControlType.Number,title:\"Button Padding X\",defaultValue:16,min:0,hidden:props=>!props.showButton},buttonPaddingY:{type:ControlType.Number,title:\"Button Padding Y\",defaultValue:10,min:0,hidden:props=>!props.showButton},// --- Icon ---\nicon:{type:ControlType.Enum,title:\"Icon\",options:[\"paperclip\",\"upload\",\"document\",\"none\"],optionTitles:[\"Paperclip\",\"Upload\",\"Document\",\"None\"],defaultValue:\"paperclip\",hidden:props=>!props.showButton},iconColor:{type:ControlType.Color,title:\"Icon Color\",defaultValue:\"#1A1A1A\",hidden:props=>!props.showButton||props.icon===\"none\"},// --- File chips ---\nchipBackground:{type:ControlType.Color,title:\"Chip Background\",defaultValue:\"#F3EFE8\"},chipTextColor:{type:ControlType.Color,title:\"Chip Text\",defaultValue:\"#1A1A1A\"},chipFont:{type:ControlType.Font,title:\"Chip Font\",defaultValue:{fontSize:13,fontWeight:400},controls:\"extended\"},// --- Errors ---\nerrorTooLarge:{type:ControlType.String,title:\"Error: Too Large\",defaultValue:\"That file is too large.\"},errorType:{type:ControlType.String,title:\"Error: Bad Type\",defaultValue:\"That file type isn't supported.\"},errorColor:{type:ControlType.Color,title:\"Error Color\",defaultValue:\"#D64545\"},// --- Google Sheets file support ---\nuploadEndpoint:{type:ControlType.String,title:\"Upload Endpoint\",defaultValue:\"\",description:\"Paste your Google Apps Script Web App URL (ends in /exec). Required for the file link to appear in Google Sheets — see DriveUploadScript.gs.\"},linkFieldName:{type:ControlType.String,title:\"Link Field Name\",defaultValue:\"resumeLink\",description:\"Must exactly match the column header in your Google Sheet.\"},uploadingText:{type:ControlType.String,title:\"Text: Uploading\",defaultValue:\"Uploading…\"},uploadedText:{type:ControlType.String,title:\"Text: Uploaded\",defaultValue:\"Uploaded ✓\"},uploadErrorText:{type:ControlType.String,title:\"Text: Upload Error\",defaultValue:\"Upload failed — try again.\"},successColor:{type:ControlType.Color,title:\"Success Color\",defaultValue:\"#2F9E5B\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FileUpload\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Fileupload.map"],"mappings":"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"}