{"version":3,"file":"FileOrLinkField.CS1wXcTp.mjs","names":["useRef","useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/Hr38By6Alm7BG41pwTup/k3DmiPlJ5E1JJmlneiV5/FileOrLinkField.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useState}from\"react\";import{createPortal}from\"react-dom\";/**\n * File or Link Field\n * ------------------\n * Compact dashed field that opens a modal to upload a file (drag & drop / browse)\n * OR paste a link. The resulting URL is written to a hidden <input name>, so it\n * travels with a normal Framer form submission as text (Framer forms cannot carry\n * file binaries — the file is uploaded to storage and only its URL is submitted).\n *\n * When `required` is on, the hidden input is tagged data-required-field=\"true\" so\n * a success modal can auto-detect it without a manual field list.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 320\n * @framerIntrinsicHeight 120\n * @framerDisableUnlink\n */export default function FileOrLinkField(props){const{name,required,accept,maxSizeMB,provider,uploadcareKey,cdnBase,cloudinaryCloud,cloudinaryPreset,fieldTitle,fieldHint,modalTitle,modalSubtitle,dropTitle,dropHint,linkLabel,linkPlaceholder,doneLabel,cancelLabel,background,borderColor,activeColor,invalidColor,accent,textColor,subTextColor,radius,style}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const containerRef=useRef(null);const fileInputRef=useRef(null);const[open,setOpen]=useState(false);const[value,setValue]=useState(\"\");const[fileName,setFileName]=useState(\"\");const[linkDraft,setLinkDraft]=useState(\"\");const[linkError,setLinkError]=useState(\"\");const[status,setStatus]=useState(\"idle\");const[progress,setProgress]=useState(0);const[error,setError]=useState(\"\");const[dragging,setDragging]=useState(false);const[invalid,setInvalid]=useState(false);const uploadConfigured=provider===\"uploadcare\"&&!!uploadcareKey||provider===\"cloudinary\"&&!!cloudinaryCloud&&!!cloudinaryPreset;useEffect(()=>{if(isCanvas||!required)return;const form=containerRef.current?.closest(\"form\");if(!form)return;const onSubmit=e=>{if(!value){e.preventDefault();e.stopPropagation();setInvalid(true);}};form.addEventListener(\"submit\",onSubmit,true);return()=>form.removeEventListener(\"submit\",onSubmit,true);},[isCanvas,required,value]);const validateFile=file=>{const okType=!accept||accept.split(\",\").map(a=>a.trim().toLowerCase()).some(a=>{if(!a)return false;if(a.endsWith(\"/*\"))return file.type.startsWith(a.slice(0,-1));if(a.startsWith(\".\"))return file.name.toLowerCase().endsWith(a);return file.type.toLowerCase()===a;});if(!okType)return\"Wrong file type.\";if(maxSizeMB>0&&file.size>maxSizeMB*1024*1024)return`File is larger than ${maxSizeMB}MB.`;return\"\";};const upload=async file=>{const err=validateFile(file);if(err){setStatus(\"error\");setError(err);return;}if(!uploadConfigured){setStatus(\"error\");setError(\"Upload isn't set up yet — paste a link instead, or configure the provider.\");return;}setStatus(\"uploading\");setError(\"\");setProgress(0);try{let url=\"\";if(provider===\"uploadcare\"){const form=new FormData;form.append(\"UPLOADCARE_PUB_KEY\",uploadcareKey);form.append(\"UPLOADCARE_STORE\",\"auto\");form.append(\"file\",file);const res=await xhrUpload(\"https://upload.uploadcare.com/base/\",form,setProgress);const base=(cdnBase||\"https://ucarecdn.com\").replace(/\\/+$/,\"\");url=`${base}/${res.file}/${cleanName(file.name)}`;}else{const form=new FormData;form.append(\"file\",file);form.append(\"upload_preset\",cloudinaryPreset);const res=await xhrUpload(`https://api.cloudinary.com/v1_1/${cloudinaryCloud}/auto/upload`,form,setProgress);url=res.secure_url;}if(!url)throw new Error(\"No URL returned\");setValue(url);setFileName(file.name);setLinkDraft(\"\");setLinkError(\"\");setInvalid(false);setStatus(\"done\");// Upload finished — close the modal automatically.\nsetOpen(false);}catch(e){setStatus(\"error\");setError(\"Upload failed. Try again or paste a link.\");}};const onPickFiles=files=>{if(files&&files[0])upload(files[0]);};const confirmLink=()=>{const normalized=normalizeUrl(linkDraft);if(!normalized){setLinkError(\"Please paste a link first.\");return;}if(!isValidUrl(normalized)){setLinkError(\"Enter a valid URL (e.g. https://example.com/...).\");return;}setValue(normalized);setFileName(\"\");setLinkError(\"\");setInvalid(false);setStatus(\"idle\");setOpen(false);};const clearValue=()=>{setValue(\"\");setFileName(\"\");setLinkDraft(\"\");setLinkError(\"\");setStatus(\"idle\");setProgress(0);setError(\"\");};const fieldBorder=invalid?invalidColor:dragging?activeColor:borderColor;const wrapperStyle={position:\"relative\",width:\"100%\",height:\"100%\",fontFamily:\"Inter, sans-serif\",...style};const fieldStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:\"6px\",width:\"100%\",minHeight:\"104px\",height:\"100%\",boxSizing:\"border-box\",padding:\"20px\",borderRadius:radius,border:`1.5px dashed ${fieldBorder}`,background,color:textColor,cursor:\"pointer\",textAlign:\"center\",transition:\"border-color 0.15s ease, background 0.15s ease\"};const filled=!!value;return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:wrapperStyle,children:[/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:name,value:value,\"data-required-field\":required?\"true\":undefined}),/*#__PURE__*/_jsx(\"div\",{style:fieldStyle,onClick:()=>setOpen(true),onDragOver:e=>{e.preventDefault();setDragging(true);},onDragLeave:()=>setDragging(false),onDrop:e=>{e.preventDefault();setDragging(false);onPickFiles(e.dataTransfer.files);},children:filled?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",maxWidth:\"100%\"},children:[/*#__PURE__*/_jsx(LinkIcon,{color:accent}),/*#__PURE__*/_jsx(\"span\",{style:{color:textColor,fontSize:\"14px\",fontWeight:500,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",maxWidth:\"220px\"},children:fileName||value}),/*#__PURE__*/_jsx(\"button\",{onClick:e=>{e.stopPropagation();clearValue();},style:{border:\"none\",background:\"transparent\",cursor:\"pointer\",color:subTextColor,fontSize:\"16px\",lineHeight:1,padding:\"2px\"},\"aria-label\":\"Remove\",children:\"✕\"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(FileIcon,{color:accent}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"14px\",fontWeight:500,color:textColor},children:fieldTitle}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"12px\",color:subTextColor},children:fieldHint})]})}),open&&typeof document!==\"undefined\"&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{onClick:()=>setOpen(false),style:{position:\"fixed\",inset:0,background:\"rgba(0, 0, 0, 0.25)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:1e5,padding:\"20px\",fontFamily:\"Inter, sans-serif\"},children:/*#__PURE__*/_jsxs(\"div\",{onClick:e=>e.stopPropagation(),style:{width:\"100%\",maxWidth:\"480px\",background:\"#fff\",borderRadius:\"16px\",overflow:\"hidden\",boxShadow:\"0 20px 60px rgba(15,23,42,0.25)\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"24px 24px 16px\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"20px\",fontWeight:600,letterSpacing:-.25,color:textColor},children:modalTitle}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"14px\",color:subTextColor,marginTop:\"4px\"},children:modalSubtitle}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>setOpen(false),\"aria-label\":\"Close\",style:{position:\"absolute\",top:\"20px\",right:\"20px\",border:\"none\",background:\"transparent\",cursor:\"pointer\",color:subTextColor,fontSize:\"20px\",lineHeight:1},children:\"✕\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{borderTop:\"1px dashed #E2E8F0\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"24px\"},children:[/*#__PURE__*/_jsxs(\"div\",{onClick:()=>fileInputRef.current?.click(),onDragOver:e=>{e.preventDefault();setDragging(true);},onDragLeave:()=>setDragging(false),onDrop:e=>{e.preventDefault();setDragging(false);onPickFiles(e.dataTransfer.files);},style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:\"10px\",padding:\"40px 20px\",borderRadius:\"12px\",border:`1.5px dashed ${dragging?activeColor:\"#C7CBDB\"}`,background:dragging?\"rgba(0,153,255,0.04)\":\"transparent\",cursor:\"pointer\",textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"56px\",height:\"56px\",borderRadius:\"50%\",background:\"rgba(13,89,242,0.10)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(FileIcon,{color:accent,size:26})}),status===\"uploading\"?/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",maxWidth:\"260px\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:\"14px\",color:textColor,marginBottom:\"8px\"},children:[\"Uploading… \",progress,\"%\"]}),/*#__PURE__*/_jsx(\"div\",{style:{height:\"6px\",borderRadius:\"3px\",background:\"#E2E8F0\",overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:`${progress}%`,background:accent,transition:\"width 0.15s ease\"}})})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:\"15px\",color:textColor},children:[dropTitle.split(\"browse\")[0],/*#__PURE__*/_jsx(\"span\",{style:{color:accent,fontWeight:600},children:dropTitle.includes(\"browse\")?\"browse\":\"\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"13px\",color:subTextColor},children:dropHint})]}),status===\"error\"&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"13px\",color:invalidColor},children:error}),/*#__PURE__*/_jsx(\"input\",{ref:fileInputRef,type:\"file\",accept:accept,style:{display:\"none\"},onChange:e=>onPickFiles(e.target.files)})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"12px\",margin:\"20px 0\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{flex:1,height:\"1px\",background:\"#E2E8F0\"}}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"11px\",letterSpacing:\"0.08em\",color:subTextColor,fontWeight:600},children:\"OR PASTE A LINK\"}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,height:\"1px\",background:\"#E2E8F0\"}})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"14px\",fontWeight:500,color:textColor,marginBottom:\"8px\"},children:linkLabel}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",padding:\"12px\",borderRadius:radius,border:`1px solid ${linkError?invalidColor:\"#E2E8F0\"}`,background:\"#fff\"},children:[/*#__PURE__*/_jsx(LinkIcon,{color:subTextColor}),/*#__PURE__*/_jsx(\"input\",{type:\"url\",value:linkDraft,onChange:e=>{setLinkDraft(e.target.value);if(linkError)setLinkError(\"\");},onKeyDown:e=>{if(e.key===\"Enter\"){e.preventDefault();confirmLink();}},placeholder:linkPlaceholder,style:{border:\"none\",outline:\"none\",width:\"100%\",fontSize:\"15px\",color:textColor,background:\"transparent\",fontFamily:\"Inter, sans-serif\"}})]}),linkError&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"13px\",color:invalidColor,marginTop:\"8px\"},children:linkError})]}),/*#__PURE__*/_jsx(\"div\",{style:{borderTop:\"1px dashed #E2E8F0\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"flex-end\",alignItems:\"center\",gap:\"12px\",padding:\"16px 16px\",background:\"#F8FAFC\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>setOpen(false),style:{border:\"none\",background:\"transparent\",cursor:\"pointer\",fontSize:\"15px\",color:textColor,fontWeight:500,padding:\"10px 12px\"},children:cancelLabel}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>{if(linkDraft.trim())confirmLink();else setOpen(false);},style:{border:\"none\",cursor:\"pointer\",fontSize:\"15px\",color:\"#fff\",fontWeight:550,padding:\"12px 24px\",borderRadius:\"10px\",background:accent},children:doneLabel})]})]})}),document.body)]});}function xhrUpload(url,form,onProgress){return new Promise((resolve,reject)=>{const xhr=new XMLHttpRequest;xhr.open(\"POST\",url);xhr.upload.onprogress=e=>{if(e.lengthComputable)onProgress(Math.round(e.loaded/e.total*100));};xhr.onload=()=>{if(xhr.status>=200&&xhr.status<300){try{resolve(JSON.parse(xhr.responseText));}catch{reject(new Error(\"Bad response\"));}}else{reject(new Error(\"HTTP \"+xhr.status));}};xhr.onerror=()=>reject(new Error(\"Network error\"));xhr.send(form);});}// Uploadcare strips spaces / unsafe chars from stored filenames. Mirror that so\n// the submitted URL is clean (no %20) and matches the file in your dashboard.\nfunction cleanName(name){return name.replace(/\\s+/g,\"\").replace(/[^a-zA-Z0-9._-]+/g,\"\")||\"file\";}// Add https:// if the user didn't type a scheme.\nfunction normalizeUrl(v){const t=v.trim();if(!t)return\"\";return/^https?:\\/\\//i.test(t)?t:`https://${t}`;}function isValidUrl(v){try{const u=new URL(v);if(u.protocol!==\"http:\"&&u.protocol!==\"https:\")return false;// Require a dot in the host (rejects plain text like \"hello\").\nreturn u.hostname.includes(\".\")&&u.hostname.length>=3;}catch{return false;}}function FileIcon({color,size=24}){return /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M14 2v6h6\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 18v-6M9 15l3-3 3 3\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]});}function LinkIcon({color,size=18}){return /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M10 13a5 5 0 0 0 7.07 0l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M14 11a5 5 0 0 0-7.07 0l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\",stroke:color,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]});}FileOrLinkField.defaultProps={name:\"Resume\",required:true,accept:\"application/pdf,.pdf\",maxSizeMB:5,provider:\"uploadcare\",uploadcareKey:\"\",cdnBase:\"https://ucarecdn.com\",cloudinaryCloud:\"\",cloudinaryPreset:\"\",fieldTitle:\"Drag and drop or browse\",fieldHint:\"PDF up to 5MB\",modalTitle:\"Upload Resume\",modalSubtitle:\"Choose how you'd like to submit your professional history.\",dropTitle:\"Drag and drop or browse\",dropHint:\"PDF up to 5MB\",linkLabel:\"Portfolio or Case Study Link\",linkPlaceholder:\"https://drive.google.com/...\",doneLabel:\"Done\",cancelLabel:\"Cancel\",background:\"rgb(255, 255, 255)\",borderColor:\"rgb(199, 203, 219)\",activeColor:\"rgb(0, 153, 255)\",invalidColor:\"rgb(255, 90, 111)\",accent:\"rgb(13, 89, 242)\",textColor:\"rgb(15, 23, 42)\",subTextColor:\"rgb(148, 163, 184)\",radius:\"12px\",stiffness:500,damping:60,mass:1};addPropertyControls(FileOrLinkField,{name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"Resume\",description:\"Submitted with the form (as the file URL / link).\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:true},accept:{type:ControlType.String,title:\"Accept\",defaultValue:\"application/pdf,.pdf\",description:\"Comma list of mime types / extensions.\"},maxSizeMB:{type:ControlType.Number,title:\"Max Size\",defaultValue:5,min:1,max:100,step:1,unit:\"MB\"},provider:{type:ControlType.Enum,title:\"Provider\",options:[\"uploadcare\",\"cloudinary\"],optionTitles:[\"Uploadcare\",\"Cloudinary\"],defaultValue:\"uploadcare\",displaySegmentedControl:true},uploadcareKey:{type:ControlType.String,title:\"Uploadcare Key\",defaultValue:\"\",hidden:p=>p.provider!==\"uploadcare\"},cdnBase:{type:ControlType.String,title:\"CDN Base\",defaultValue:\"https://ucarecdn.com\",description:\"Uploadcare delivery domain. Leave default, or paste your project CDN (e.g. https://xxxx.ucarecd.net) to match your dashboard.\",hidden:p=>p.provider!==\"uploadcare\"},cloudinaryCloud:{type:ControlType.String,title:\"Cloud Name\",defaultValue:\"\",hidden:p=>p.provider!==\"cloudinary\"},cloudinaryPreset:{type:ControlType.String,title:\"Upload Preset\",defaultValue:\"\",hidden:p=>p.provider!==\"cloudinary\"},fieldTitle:{type:ControlType.String,title:\"Field Title\",defaultValue:\"Drag and drop or browse\"},fieldHint:{type:ControlType.String,title:\"Field Hint\",defaultValue:\"PDF up to 5MB\"},modalTitle:{type:ControlType.String,title:\"Modal Title\",defaultValue:\"Upload Resume\"},modalSubtitle:{type:ControlType.String,title:\"Modal Subtitle\",defaultValue:\"Choose how you'd like to submit your professional history.\"},dropTitle:{type:ControlType.String,title:\"Drop Title\",defaultValue:\"Drag and drop or browse\"},dropHint:{type:ControlType.String,title:\"Drop Hint\",defaultValue:\"PDF up to 5MB\"},linkLabel:{type:ControlType.String,title:\"Link Label\",defaultValue:\"Portfolio or Case Study Link\"},linkPlaceholder:{type:ControlType.String,title:\"Link Placeholder\",defaultValue:\"https://drive.google.com/...\"},doneLabel:{type:ControlType.String,title:\"Done Label\",defaultValue:\"Done\"},cancelLabel:{type:ControlType.String,title:\"Cancel Label\",defaultValue:\"Cancel\"},background:{type:ControlType.Color,title:\"Fill\",defaultValue:\"rgb(255, 255, 255)\"},borderColor:{type:ControlType.Color,title:\"Dashed Border\",defaultValue:\"rgb(199, 203, 219)\"},activeColor:{type:ControlType.Color,title:\"Active\",defaultValue:\"rgb(0, 153, 255)\"},invalidColor:{type:ControlType.Color,title:\"Invalid\",defaultValue:\"rgb(255, 90, 111)\"},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"rgb(13, 89, 242)\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"rgb(15, 23, 42)\"},subTextColor:{type:ControlType.Color,title:\"Sub Text\",defaultValue:\"rgb(148, 163, 184)\"},radius:{type:ControlType.String,title:\"Radius\",defaultValue:\"12px\"},stiffness:{type:ControlType.Number,title:\"Stiffness\",defaultValue:500,min:1,max:1e3,step:10},damping:{type:ControlType.Number,title:\"Damping\",defaultValue:60,min:1,max:100,step:1},mass:{type:ControlType.Number,title:\"Mass\",defaultValue:1,min:.1,max:5,step:.1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FileOrLinkField\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"120\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"320\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FileOrLinkField.map"],"mappings":"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"}