1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2390],{2390:(e,t,a)=>{a.r(t),a.d(t,{default:()=>d});var l=a(5155),r=a(2115),n=a(63),s=a(2663);let i=()=>(0,l.jsx)("span",{className:"ml-1.5 h-4 w-4 animate-spin rounded-full border-2 border-solid border-white border-t-transparent dark:border-t-transparent"});var o=a(8122);function d(e){var t,a;let{variant:d="full",className:p="",heading:x,subheading:h,defaults:g,apiEndpoint:f="/api/contact",onSuccessRedirect:b,idPrefix:y="contact"}=e,v="full"===d,[j,w]=(0,r.useState)(!1),[N,k]=(0,r.useState)({}),[S,q]=(0,r.useState)(null!=(a=null==g||null==(t=g.message)?void 0:t.length)?a:0),E=(0,r.useRef)(null),C=(0,n.useRouter)(),P="".concat(y,"-title"),B=e=>{var t,a;return(null==(a=E.current)||null==(t=a.elements.namedItem(e))?void 0:t.value)||""},V=e=>e.trim().length>=2,F=e=>/^[0-9+()\-\s]{7,}$/.test(e.trim()),I=e=>/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/i.test(e.trim()),_=e=>!v||e.trim().length>=10,D=(0,r.useMemo)(()=>{let e={},t=B("name"),a=B("phone"),l=B("email"),r=B("message");return N.name&&!V(t)&&(e.name="Please enter at least 2 characters."),N.phone&&!F(a)&&(e.phone="Enter a valid phone number (digits, +, -, () allowed)."),v&&N.email&&!I(l)&&(e.email="Enter a valid email."),v&&N.message&&!_(r)&&(e.message="Please add at least 10 characters."),e},[N,v]);function M(e){k(t=>({...t,[e]:!0}))}async function O(e){var t;e.preventDefault();let a=e.currentTarget;if(null==(t=a.elements.namedItem("company"))?void 0:t.value)return;let l=Object.fromEntries(new FormData(a).entries()),r=String(l.name||""),n=String(l.phone||""),i=String(l.email||""),o=String(l.message||"");if(!V(r)||!F(n)||v&&!I(i)||!_(o)){k({name:!0,phone:!0,email:!0,message:!0}),s.Ay.error("Please fix the highlighted fields.");return}try{w(!0);let e=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...l,variant:d,page:window.location.pathname,referrer:"undefined"!=typeof document&&document.referrer||""})});if(!e.ok){let t="Failed to send message.";try{let a=await e.json();(null==a?void 0:a.error)&&(t=String(a.error))}catch(e){}throw Error(t)}s.Ay.success(v?"Your message has been sent. Weâll be in touch soon.":"Callback request received. Weâll call you shortly."),a.reset(),k({}),q(0),b&&C.push(b)}catch(e){s.Ay.error((null==e?void 0:e.message)||"Something went wrong. Please try again.")}finally{w(!1)}}let R=null!=x?x:v?"Book a FREE consultation":"Request a quick callback",T=null!=h?h:v?"Tell us a bit about your case. An advisor will respond within 24 hours.":"Share your name and phone â weâll call you back soon.";return(0,l.jsxs)("section",{className:["relative w-full max-w-xl mx-auto rounded-2xl bg-white dark:bg-neutral-950 ring-1 ring-neutral-200 dark:ring-neutral-800 shadow-sm p-5 sm:p-6",p].join(" "),"aria-labelledby":P,children:[(0,l.jsx)(m,{}),(0,l.jsxs)("header",{className:"relative",children:[(0,l.jsxs)("div",{className:"inline-flex items-center gap-2 text-[12px] text-primary",children:[(0,l.jsx)("span",{className:"inline-flex h-1.5 w-1.5 rounded-full bg-primary"}),(0,l.jsx)("span",{className:"font-semibold",children:"Get in touch"})]}),(0,l.jsx)("h2",{id:P,className:"mt-2 text-xl sm:text-2xl font-semibold text-neutral-900 dark:text-neutral-50",children:R}
1),(0,l.jsx)("p",{className:"mt-1 text-sm text-neutral-600 dark:text-neutral-400",children:T})]}),(0,l.jsxs)("form",{ref:E,onSubmit:O,noValidate:!0,className:"relative mt-4 grid grid-cols-1 gap-4 md:grid-cols-2",children:[(0,l.jsx)("input",{type:"text",name:"company",tabIndex:-1,autoComplete:"off",className:"hidden","aria-hidden":"true"}),(0,l.jsx)(u,{id:"".concat(y,"-name"),name:"name",label:"Full name",icon:(0,l.jsx)(o.JXP,{}),placeholder:"Jane Doe",defaultValue:null==g?void 0:g.name,onBlur:()=>M("name"),invalid:!!D.name,help:D.name,required:!0}),(0,l.jsx)(u,{id:"".concat(y,"-phone"),name:"phone",label:"Phone number",icon:(0,l.jsx)(o.QFc,{}),placeholder:"+1 555 555 5555",defaultValue:null==g?void 0:g.phone,onBlur:()=>M("phone"),invalid:!!D.phone,help:D.phone||"Digits, +, -, () are ok.",required:!0,inputMode:"tel",pattern:"[0-9+\\-\\(\\)\\s]{7,}"}),v&&(0,l.jsx)(u,{id:"".concat(y,"-email"),name:"email",label:"Email address",icon:(0,l.jsx)(o.pHD,{}),placeholder:"[email protected]",defaultValue:null==g?void 0:g.email,onBlur:()=>M("email"),invalid:!!D.email,help:D.email,required:!0,type:"email",className:"md:col-span-2"}),v&&(0,l.jsx)(c,{id:"".concat(y,"-message"),name:"message",label:"Your message",icon:(0,l.jsx)(o.mEP,{}),placeholder:"Share a few details about your situationâ¦",defaultValue:null==g?void 0:g.message,onBlur:()=>M("message"),onInput:e=>q(e),invalid:!!D.message,help:D.message||"".concat(S,"/1000"),rows:5,required:!0,className:"md:col-span-2"}),v&&(0,l.jsxs)("label",{className:"md:col-span-2 flex items-start gap-2 text-sm text-neutral-700 dark:text-neutral-300",children:[(0,l.jsx)("input",{type:"checkbox",name:"consent",value:"yes",className:"mt-0.5 h-4 w-4 rounded border-neutral-300 dark:border-neutral-700 text-primary focus:ring-2 focus:ring-primary"}),"I agree to be contacted about my inquiry. We never sell your data."]}),(0,l.jsxs)("div",{className:"md:col-span-2",children:[(0,l.jsx)("button",{type:"submit",disabled:j,className:"inline-flex w-full items-center justify-center gap-2 rounded-xl px-5 py-3 text-[15px] font-semibold bg-primary text-white hover:brightness-110 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:opacity-60 disabled:cursor-not-allowed transition-all","aria-live":"polite",children:j?(0,l.jsx)(i,{}):v?"Send message":"Request callback"}),(0,l.jsxs)("p",{className:"mt-2 text-[12px] text-neutral-600 dar
1k:text-neutral-400",children:["We respond within one business day. By submitting, you accept our"," ",(0,l.jsx)("a",{href:"/privacy-policy",className:"underline text-primary",children:"privacy policy"}),"."]})]})]}),(0,l.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"ContactPage",name:"Contact / Consultation",description:"Get in touch for an immigration consultation or request a callback."})}})]})}function u(e){let{id:t,name:a,label:r,icon:n,placeholder:s,help:i,invalid:o,required:d,defaultValue:u,type:c="text",className:m="",inputMode:p,pattern:x,onBlur:h}=e;return(0,l.jsxs)("div",{className:["relative",m].join(" "),children:[(0,l.jsxs)("div",{className:"relative",children:[n?(0,l.jsx)("span",{className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-neutral-400 dark:text-neutral-500","aria-hidden":!0,children:n}):null,(0,l.jsx)("input",{id:t,name:a,type:c,placeholder:" ","aria-invalid":o||void 0,required:d,defaultValue:u,inputMode:p,pattern:x,onBlur:h,className:["peer w-full rounded-xl bg-white dark:bg-neutral-950 ring-1 ring-neutral-300 dark:ring-neutral-700 px-10 py-3 text-sm text-neutral-900 dark:text-neutral-50 focus:outline-none focus:ring-2 focus:ring-primary",o?"ring-red-400 focus:ring-red-500":""].join(" ")}),(0,l.jsxs)("label",{htmlFor:t,className:"pointer-events-none absolute left-10 top-1/2 -translate-y-1/2 bg-transparent px-1 text-sm text-neutral-500 dark:text-neutral-400 transition-all peer-focus:top-0 peer-focus:-translate-y-1/2 peer-focus:text-[12px] peer-focus:text-primary peer-not-placeholder-shown:top-0 peer-not-placeholder-shown:-translate-y-1/2 peer-not-placeholder-shown:text-[12px]",children:[r,d?(0,l.jsx)("span",{className:"ml-1 text-red-600",children:"*"}):null]})]}),i?(0,l.jsx)("p",{className:["mt-1 text-[12px]",o?"text-red-600 dark:text-red-400":"text-neutral-500 dark:text-neutral-400"].join(" "),role:o?"alert":void 0,children:i}):null]})}function c(e){let{id:t,name:a,label:r,icon:n,placeholder:s,help:i,invalid:o,required:d,defaultValue:u,rows:c=5,className:m="",onBlur:p,onInput:x}=e;return(0,l.jsxs)("div",{className:["relative",m].join(" "),children:[(0,l.jsxs)("div",{className:"relative",children:[n?(0,l.jsx)("span",{className:"pointer-events-none absolute left-3 top-3 text-neutral-400 dark:text-neutral-500","aria-hidden":!0,children:n}):null,(0,l.jsx)("textarea",{id:t,name:a,placeholder:" ","aria-invalid":o||void 0,required:d,defaultValue:u,rows:c,onBlur:p,onInput:e=>null==x?void 0:x(e.target.value.length),className:["peer w-full rounded-xl bg-white dark:bg-neutral-950 ring-1 ring-neutral-300 dark:ring-neutral-700 px-10 py-3 text-sm text-neutral-900 dark:text-neutral-50 focus:outline-none focus:ring-2 focus:ring-primary resize-y",o?"ring-red-400 focus:ring-red-500":""].join(" ")}),(0,l.jsxs)("label",{htmlFor:t,className:"pointer-events-none absolute left-10 top-3 bg-transparent px-1 text-sm text-neutral-500 dark:text-neutral-400 transition-all peer-focus:top-0 peer-focus:-translate-y-1/2 peer-focus:text-[12px] peer-focus:text-primary peer-not-placeholder-shown:top-0 peer-not-placeholder-shown:-translate-y-1/2 peer-not-placeholder-shown:text-[12px]",children:[r,d?(0,l.jsx)("span",{className:"ml-1 text-red-600",children:"*"}):null]})]}),i?(0,l.jsx)("p",{className:["mt-1 text-[12px]",o?"text-red-600 dark:text-red-400":"text-neutral-500 dark:text-neutral-400"].join(" "),role:o?"alert":void 0,children:i}):null]})}function m(){return(0,l.jsxs)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0",children:[(0,l.jsx)("div",{className:"absolute -top-10 -left-10 h-36 w-36 rounded-full bg-primary/10 blur-3xl"}),(0,l.jsx)("div",{className:"absolute -bottom-10 -right-10 h-48 w-48 rounded-full bg-primary/10 blur-3xl"}),(0,l.jsxs)("svg",{className:"absolute inset-0 h-full w-full opacity-[0.04] dark:opacity-[0.07]",children:[(0,l.jsx)("defs",{children:(0,l.jsx)("pattern",{id:"grid-cf",width:"24",height:"24",patternUnits:"userSpaceOnUse",children:(0,l.jsx)("path",{d:"M24 0H0V24",fill:"none",stroke:"currentColor",strokeWidth:"0.75"})})}),(0,l.jsx)("rect",{width:"100%",height:"100%",fill:"url(#grid-cf)",className:"text-primary"})]})]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.