{"version":3,"file":"PublicApplicationForm.DlvxemgV.mjs","names":["useState","useMemo","useCallback","startTransition","_Fragment","__esmMin","init_ssg_sandbox_shims","te","ne","window","_e","l","pe","p","c","init_jsx_runtime","init_npm_react_18_3_1","init_framer_B1b760uK","ControlType","addPropertyControls","PublicApplicationForm","props","formMode","mode","isCareers","isPartner","isContact","values","setValues","selectedCV","setSelectedCV","selectedCoverLetter","setSelectedCoverLetter","selectedCertificate","setSelectedCertificate","selectedPartnerFile","setSelectedPartnerFile","consent","setConsent","errors","setErrors","feedback","setFeedback","feedbackType","setFeedbackType","focusedField","setFocusedField","isSubmitting","setIsSubmitting","fields","title","consentText","applicationNotice","baseInputStyle","border","radius","text","font","getFieldStyle","fieldName","fieldId","key","setValue","current","value","validate","nextErrors","emailRegex","field","documents","document","file","renderDocumentUpload","id","label","required","setFile","event","next","handleSubmit","effectiveEndpoint","CONTACT_API_ENDPOINT","PARTNER_API_ENDPOINT","formData","response","result","serverErrors","messages","frontendKey","error","style","common","option","accent","init_PublicApplicationForm"],"sources":["https:/framerusercontent.com/modules/G9KBz82qYn8aJsCSTzIj/nwwYbNxuM5JYXCmZPCpK/PublicApplicationForm.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{startTransition,useCallback,useMemo,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const CONTACT_API_ENDPOINT=\"http://127.0.0.1:8000/api/contact\";const PARTNER_API_ENDPOINT=\"http://127.0.0.1:8000/api/partner\";export default function PublicApplicationForm(props){const{mode,endpoint,accent,text,border,background,radius,font,style}=props;const formMode=(mode||\"contact\").toLowerCase();const isCareers=formMode===\"careers\";const isPartner=formMode===\"partner\";const isContact=formMode===\"contact\";const[values,setValues]=useState(()=>({position:typeof window!==\"undefined\"?new URLSearchParams(window.location.search).get(\"position\")||(window.location.hash===\"#it-support-engineer\"?\"IT Support Engineer\":window.location.hash===\"#it-support-intern\"?\"IT Support Intern\":\"\"):\"\"}));const[selectedCV,setSelectedCV]=useState(null);const[selectedCoverLetter,setSelectedCoverLetter]=useState(null);const[selectedCertificate,setSelectedCertificate]=useState(null);const[selectedPartnerFile,setSelectedPartnerFile]=useState(null);const[consent,setConsent]=useState(false);const[errors,setErrors]=useState({});const[feedback,setFeedback]=useState(\"\");const[feedbackType,setFeedbackType]=useState(\"\");const[focusedField,setFocusedField]=useState(\"\");const[isSubmitting,setIsSubmitting]=useState(false);const fields=isCareers?[{key:\"position\",label:\"Position applied for\",required:true,kind:\"position\"},{key:\"fullName\",label:\"Full name\",required:true},{key:\"email\",label:\"Email address\",required:true,kind:\"email\"},{key:\"phone\",label:\"Phone number (include country code)\",required:true,kind:\"tel\"},{key:\"location\",label:\"Current location\",required:true},{key:\"education\",label:\"Highest education level\",required:true,kind:\"select\",options:[\"High school\",\"TVET / Diploma\",\"Bachelor's degree\",\"Master's degree\",\"PhD\",\"Other\"]},{key:\"study\",label:\"Field of study\",required:true},{key:\"experience\",label:\"Relevant work experience\",required:true,kind:\"textarea\"},{key:\"skills\",label:\"Relevant skills\",required:true,kind:\"textarea\"},{key:\"motivation\",label:\"Short motivation statement\",required:true,kind:\"textarea\"},{key:\"linkedin\",label:\"Portfolio or LinkedIn URL (optional)\",kind:\"url\"}]:isPartner?[{key:\"companyName\",label:\"Company or organization name\",required:true},{key:\"website\",label:\"Company website (optional)\",kind:\"url\"},{key:\"countryCity\",label:\"Country and city of registration or operation\",required:true},{key:\"address\",label:\"Business address\",required:true,kind:\"textarea\"},{key:\"businessEmail\",label:\"Business email address\",required:true,kind:\"email\"},{key:\"contactName\",label:\"Contact person's full name\",required:true},{key:\"contactTitle\",label:\"Contact person's position or job title\",required:true},{key:\"businessPhone\",label:\"Business phone number (include country code)\",required:true,kind:\"tel\"},{key:\"industry\",label:\"Type of organization or industry\",required:true},{key:\"category\",label:\"Partnership category\",required:true,kind:\"select\",options:[\"Technology reseller\",\"Systems integrator\",\"Distributor\",\"Service delivery partner\",\"Strategic partner\",\"Other\"]},{key:\"technologies\",label:\"Products, services, or technologies you specialize in\",required:true,kind:\"textarea\"},{key:\"value\",label:\"Proposed partnership and mutual business value\",required:true,kind:\"textarea\"},{key:\"certifications\",label:\"Relevant certifications, vendor authorizations, or existing technology partnerships (optional)\",kind:\"textarea\"}]:[{key:\"name\",label:\"Name\",required:true},{key:\"email\",label:\"Email\",required:true,kind:\"email\"},{key:\"phone\",label:\"Phone\",required:true,kind:\"tel\"},{key:\"company\",label:\"Company\",required:true},{key:\"focusField\",label:\"Service interest\",required:true},{key:\"message\",label:\"How can we help?\",required:true,kind:\"textarea\"}];const title=isCareers?\"Job application\":isPartner?\"Company partnership enquiry\":\"Contact BeOnline\";const consentText=isCareers?\"I consent to the processing of my application information. *\":isPartner?\"I consent to the processing of this business information. *\":\"I consent to being contacted regarding this request. *\";const applicationNotice=isCareers?\"Complete the fields below and attach your CV, cover letter, and educational certificate as PDF files. Each file must be 5MB or smaller.\":isPartner?\"Tell us about your organization and the partnership you would like to explore.\":\"Send BeOnline your enquiry and our team can follow up with you.\";const baseInputStyle=useMemo(()=>({width:\"100%\",minHeight:44,border:\"1px solid \"+border,borderRadius:radius,padding:\"10px 12px\",outline:\"none\",color:text,background:\"#FFFFFF\",boxSizing:\"border-box\",fontSize:\"clamp(15px, 1vw, 16px)\",fontWeight:font?.fontWeight,fontFamily:\"Inter, Arial, sans-serif\",fontStyle:font?.fontStyle,letterSpacing:font?.letterSpacing,lineHeight:1.6}),[border,radius,text,font]);const getFieldStyle=useCallback(fieldName=>({...baseInputStyle,border:\"1px solid \"+(errors[fieldName]?\"#C43737\":border),boxShadow:focusedField===fieldName?\"0 0 0 3px rgba(21,158,174,0.18)\":\"none\"}),[baseInputStyle,border,errors,focusedField]);const fieldId=key=>\"beonline-\"+formMode+\"-\"+key;const setValue=(key,value)=>{startTransition(()=>{setValues(current=>({...current,[key]:value}));});};const validate=useCallback(()=>{const nextErrors={};const emailRegex=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;for(const field of fields){const value=(values[field.key]||\"\").trim();if(field.required&&!value){nextErrors[field.key]=field.label+\" is required.\";}if(field.kind===\"email\"&&value&&!emailRegex.test(value)){nextErrors[field.key]=\"Please enter a valid email address.\";}if(field.kind===\"url\"&&value){try{new URL(value);}catch{nextErrors[field.key]=\"Please enter a valid URL, including https://.\";}}}const documents=isCareers?[{key:\"cv\",label:\"CV or resume\",file:selectedCV},{key:\"coverLetter\",label:\"cover letter\",file:selectedCoverLetter},{key:\"certificate\",label:\"educational certificate\",file:selectedCertificate}]:[];for(const document of documents){if(!document.file){nextErrors[document.key]=`Please upload your ${document.label} PDF.`;continue;}const file=document.file;const isPdf=file.name.toLowerCase().endsWith(\".pdf\")&&(!file.type||file.type===\"application/pdf\");if(!isPdf){nextErrors[document.key]=\"Please upload a PDF file.\";}else if(file.size>5*1024*1024){nextErrors[document.key]=\"File must be 5MB or smaller.\";}}if(isPartner&&selectedPartnerFile){const file=selectedPartnerFile;const isPdf=file.name.toLowerCase().endsWith(\".pdf\")&&(!file.type||file.type===\"application/pdf\");if(!isPdf){nextErrors.partnerDocument=\"Please upload a PDF file.\";}else if(file.size>5*1024*1024){nextErrors.partnerDocument=\"File must be 5MB or smaller.\";}}if(!consent){nextErrors.consent=\"Consent is required.\";}setErrors(nextErrors);return Object.keys(nextErrors).length===0;},[fields,values,isCareers,isPartner,selectedCV,selectedCoverLetter,selectedCertificate,selectedPartnerFile,consent]);const renderDocumentUpload=(key,label,file,setFile,required=true)=>{const id=fieldId(key);return /*#__PURE__*/_jsxs(\"label\",{htmlFor:id,style:{gridColumn:\"1 / -1\",display:\"grid\",gap:6,minWidth:0,fontWeight:500},children:[label,required?\" *\":\" (optional)\",\" (PDF, maximum 5MB)\",/*#__PURE__*/_jsx(\"input\",{id:id,name:key,type:\"file\",accept:\".pdf,application/pdf\",required:required,\"aria-invalid\":Boolean(errors[key]),\"aria-describedby\":errors[key]?id+\"-error\":undefined,onChange:event=>{setFile(event.target.files?.[0]||null);setErrors(current=>{const next={...current};delete next[key];return next;});},style:{...baseInputStyle,padding:8,background:\"#FFFFFF\"}}),file&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:13,lineHeight:1.5,fontWeight:400},children:[\"Selected: \",file.name]}),errors[key]&&/*#__PURE__*/_jsx(\"span\",{id:id+\"-error\",role:\"alert\",style:{color:\"#B42318\",fontSize:13,fontWeight:400},children:errors[key]})]},key);};const handleSubmit=async event=>{event.preventDefault();setFeedback(\"\");setFeedbackType(\"\");if(!validate()){setFeedbackType(\"error\");setFeedback(\"Please correct the highlighted fields before submitting.\");return;}// Careers is not connected to a backend yet.\nif(isCareers){setFeedbackType(\"error\");setFeedback(\"Your details have been checked, but job applications are not connected to the submission system yet. Nothing has been sent. Please contact contact@beonlineict.com.\");return;}const effectiveEndpoint=isContact?CONTACT_API_ENDPOINT:PARTNER_API_ENDPOINT;const formData=new FormData;Object.entries(values).forEach(([key,value])=>{formData.append(key,value);});formData.append(\"consent\",consent?\"Yes\":\"No\");if(isPartner&&selectedPartnerFile){formData.append(\"partnerDocument\",selectedPartnerFile);}setIsSubmitting(true);try{const response=await fetch(effectiveEndpoint,{method:\"POST\",headers:{Accept:\"application/json\"},body:formData});const result=await response.json().catch(()=>null);if(!response.ok||result?.success!==true){if(result?.errors){const serverErrors={};Object.entries(result.errors).forEach(([key,messages])=>{const frontendKey=key===\"company_name\"?\"companyName\":key===\"country_city\"?\"countryCity\":key===\"business_email\"?\"businessEmail\":key===\"contact_name\"?\"contactName\":key===\"contact_title\"?\"contactTitle\":key===\"business_phone\"?\"businessPhone\":key===\"partnerDocument\"?\"partnerDocument\":key;serverErrors[frontendKey]=Array.isArray(messages)?String(messages[0]):String(messages);});setErrors(current=>({...current,...serverErrors}));throw new Error(\"Please check the highlighted fields and try again.\");}throw new Error(result?.message||\"The submission could not be completed. Please try again.\");}setFeedbackType(\"success\");if(isPartner){setFeedback(result.email_notification_sent===false?\"Your partnership enquiry has been received and saved. Our team will follow up with you.\":\"Your partnership enquiry has been submitted successfully. Our team will review it and get in touch.\");}else{setFeedback(result.email_notification_sent===false?\"Your message has been received and saved. Our team will follow up with you.\":\"Thank you! Your message has been submitted successfully. Our team will get back to you.\");}setValues(isCareers?{position:values.position||\"\"}:{});setConsent(false);setSelectedPartnerFile(null);const fileInputs=event.currentTarget.querySelectorAll('input[type=\"file\"]');fileInputs.forEach(input=>{input.value=\"\";});}catch(error){console.error(\"Form submission error:\",error);setFeedbackType(\"error\");setFeedback(error instanceof Error?error.message:\"Something went wrong. Please try again.\");}finally{setIsSubmitting(false);}};return /*#__PURE__*/_jsxs(\"form\",{style:{...style,position:\"relative\",width:\"100%\",minWidth:0,minHeight:\"fit-content\",background,color:text,border:\"1px solid \"+border,borderRadius:radius,padding:20,display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(min(100%, 280px), 1fr))\",gap:16,boxSizing:\"border-box\",fontSize:\"clamp(15px, 1vw, 16px)\",fontFamily:\"Inter, Arial, sans-serif\",lineHeight:1.6},onSubmit:handleSubmit,\"aria-label\":title,noValidate:true,children:[!isContact&&/*#__PURE__*/_jsxs(\"div\",{style:{gridColumn:\"1 / -1\",display:\"grid\",gap:8},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,color:text,fontSize:\"clamp(22px, 2.2vw, 24px)\",lineHeight:1.2,fontWeight:600},children:title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:text,fontSize:14,fontWeight:400,lineHeight:1.6},children:applicationNotice})]}),fields.map(field=>{const id=fieldId(field.key);const common={id,name:field.key,required:Boolean(field.required),\"aria-invalid\":Boolean(errors[field.key]),\"aria-describedby\":errors[field.key]?id+\"-error\":undefined,value:values[field.key]||\"\",onChange:event=>setValue(field.key,event.target.value),onFocus:()=>startTransition(()=>setFocusedField(field.key)),onBlur:()=>startTransition(()=>setFocusedField(\"\")),style:getFieldStyle(field.key)};return /*#__PURE__*/_jsxs(\"label\",{htmlFor:id,style:{display:\"grid\",gap:6,minWidth:0,gridColumn:field.kind===\"textarea\"||field.key===\"position\"?\"1 / -1\":undefined,fontWeight:500},children:[field.label,field.required?\" *\":\"\",field.kind===\"textarea\"?/*#__PURE__*/_jsx(\"textarea\",{...common,rows:4}):field.kind===\"select\"?/*#__PURE__*/_jsxs(\"select\",{...common,children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"Select an option\"}),(field.options||[]).map(option=>/*#__PURE__*/_jsx(\"option\",{value:option,children:option},option))]}):/*#__PURE__*/_jsx(\"input\",{...common,type:field.kind===\"position\"?\"text\":field.kind||\"text\",readOnly:field.kind===\"position\",autoComplete:field.key===\"email\"||field.key===\"businessEmail\"?\"email\":field.key===\"phone\"||field.key===\"businessPhone\"?\"tel\":undefined}),errors[field.key]&&/*#__PURE__*/_jsx(\"span\",{id:id+\"-error\",role:\"alert\",style:{color:\"#B42318\",fontSize:13,fontWeight:400,lineHeight:1.5},children:errors[field.key]})]},field.key);}),isCareers&&/*#__PURE__*/_jsxs(_Fragment,{children:[renderDocumentUpload(\"cv\",\"CV or Resume\",selectedCV,setSelectedCV),renderDocumentUpload(\"coverLetter\",\"Cover Letter\",selectedCoverLetter,setSelectedCoverLetter),renderDocumentUpload(\"certificate\",\"Educational Certificate\",selectedCertificate,setSelectedCertificate)]}),isPartner&&/*#__PURE__*/_jsx(_Fragment,{children:renderDocumentUpload(\"partnerDocument\",\"Company profile or supporting document\",selectedPartnerFile,setSelectedPartnerFile,false)}),/*#__PURE__*/_jsxs(\"label\",{style:{gridColumn:\"1 / -1\",display:\"flex\",gap:10,alignItems:\"flex-start\",fontWeight:400},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",required:true,\"aria-invalid\":Boolean(errors.consent),checked:consent,onChange:event=>{setConsent(event.target.checked);setErrors(current=>{const next={...current};delete next.consent;return next;});}}),/*#__PURE__*/_jsx(\"span\",{children:consentText})]}),errors.consent&&/*#__PURE__*/_jsx(\"div\",{role:\"alert\",style:{gridColumn:\"1 / -1\",color:\"#B42318\",fontSize:13},children:errors.consent}),/*#__PURE__*/_jsxs(\"div\",{style:{gridColumn:\"1 / -1\",display:\"flex\",flexWrap:\"wrap\",alignItems:\"center\",gap:14},children:[/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:isSubmitting,style:{border:\"none\",borderRadius:radius,padding:\"12px 18px\",background:isSubmitting?\"#7BAEB5\":accent,color:\"#FFFFFF\",cursor:isSubmitting?\"not-allowed\":\"pointer\",fontSize:\"clamp(15px, 1vw, 16px)\",fontWeight:600,fontFamily:\"inherit\",opacity:isSubmitting?.8:1},children:isSubmitting?\"Submitting...\":\"Submit\"}),isCareers&&/*#__PURE__*/_jsx(\"a\",{href:\"/careers\",style:{color:accent,fontWeight:600},children:\"Back to vacancies\"})]}),/*#__PURE__*/_jsx(\"div\",{\"aria-live\":\"polite\",role:\"status\",style:{gridColumn:\"1 / -1\",minHeight:20,color:feedbackType===\"error\"?\"#B42318\":feedbackType===\"success\"?\"#16803C\":text,fontSize:13,lineHeight:1.5},children:feedback}),isCareers&&/*#__PURE__*/_jsx(\"p\",{style:{gridColumn:\"1 / -1\",margin:0,color:text,fontSize:12,lineHeight:1.5},children:\"Job applications are not connected to the submission system yet.\"})]});}addPropertyControls(PublicApplicationForm,{mode:{type:ControlType.Enum,options:[\"contact\",\"partner\",\"careers\"],optionTitles:[\"Contact\",\"Partner\",\"Careers\"],defaultValue:\"contact\",title:\"Mode\"},endpoint:{type:ControlType.String,defaultValue:\"\",title:\"Endpoint\",placeholder:\"Not connected\"},accent:{type:ControlType.Color,defaultValue:\"#159EAE\",title:\"Accent\"},text:{type:ControlType.Color,defaultValue:\"#102E49\",title:\"Text\"},border:{type:ControlType.Color,defaultValue:\"#C7D5DF\",title:\"Border\"},background:{type:ControlType.Color,defaultValue:\"#F2F7FB\",title:\"Background\"},radius:{type:ControlType.Number,defaultValue:12,min:0,max:40,step:1,title:\"Radius\"},font:{type:ControlType.Font,controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},title:\"Font\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PublicApplicationForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PublicApplicationForm.map"],"mappings":"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"}