1import{j as e,d as j,r as T}from"./vendor-react-DfYGAhtm.js";import{b as E,c as A}from"./vendor-forms-BP-7CbAP.js";import{m as r,G as m,g as p,y as F,B as g,t as C}from"./index-DsBgCU7r.js";import{s as M}from"./success-C0L8gZxS.js";import{t as _}from"./savings-targeted-goals-BG697KhM.js";import{u as w}from"./useAnalytics-HP01GbIH.js";import{S as P}from"./StepPageLayout-DdZUweau.js";import{M as R}from"./Modal-DS-VW05m.js";import{a as q,g as G}from"./errors-BYKXB8DF.js";import{u as N}from"./enquiryPolicyApi-9jp9YRr5.js";import{a,V as b,o as B,T as s,x as k,F as z}from"./vendor-ui-DA_r9yXk.js";import{e as D}from"./enquiryFormSchema-B3D0L4pA.js";import"./vendor-icons-1odZwi-b.js";import"./vendor-state-BsBVN-fX.js";const O=()=>N("targeted-goals"),I=({children:t})=>e.jsx(a,{bg:"white",borderRadius:"2xl",p:{base:6,md:10},background:`linear-gradient(145deg, ${r.white.DEFAULT} 0%, ${r.orange[50]} 100%)`,border:"1px solid",borderColor:r.border.secondary,children:t}),re=()=>{const t=j(),{track:d}=w(),{submitEnquiryAsync:x,isSubmitting:c}=O(),{register:i,handleSubmit:h,formState:{errors:o}}=E({resolver:A(D),defaultValues:{name:"",phoneNumber:"",email:"",message:""}}),[y,n]=T.useState(!1),f=async l=>{try{await x({productType:"TARGETED_GOALS_PLAN",fullName:l.name.trim(),phone:l.phoneNumber.replace(/\D/g,""),email:l.email.trim(),message:l.message.trim()}),d(g.FORM_OTHERS_SUBMITTED,{product_type:"others"}),n(!0)}catch(u){if(q(u))return;d(g.FORM_OTHERS_SUBMIT_FAILED,{product_type:"others",failure_reason:"server_error"}),C.error(G(u)??"We could not submit your request. Please try again.")}},S=()=>{n(!1),t("/")};return e.jsxs(P,{items:[],onGoBack:()=>t(-1),contentMaxW:"800px",mobileContentOnly:!0,children:[e.jsx(I,{children:e.jsxs(b,{align:"stretch",gap:6,children:[e.jsxs(a,{children:[e.jsx(B,{src:_,alt:"Targeted Goals Plan",boxSize:"48px",objectFit:"contain",mb:2}),e.jsx(s,{fontSize:{base:"4xl",md:"5xl"},color:r.text.primary,fontWeight:"semibold",children:"Targeted Goals Plan"}),e.jsx(s,{fontSize:"md",color:r.text.gray,children:"Tell us about the goal you're saving toward and we'll get back with options that fit."})]}),e.jsxs(a,{as:"form",onSubmit:h(f),border:"1px solid",borderColor:r.border.primary,borderRadius:"16px",p:{base:4,md:5},bg:r.white.DEFAULT,children:[e.jsxs(b,{gap:4,align:"stretch",mb:{base:4,md:6},children:[e.jsx(m,{label:"Name",placeholder:"e.g. Mr John Doe",bg:r.gray[50],border:"1px solid",borderColor:r.gray[200],error:o.name?.message,...i("name")}),e.jsx(m,{label:"Phone Number",type:"tel",placeholder:"e.g. 09000112233",inputMode:"numeric",bg:r.gray[50],border:"1px solid",borderColor:r.gray[200],error:o.phoneNumber?.message,...i("phoneNumber")}),e.jsx(m,{label:"Email Address",type:"email",placeholder:"e.g. [email protected]",bg:r.gray[50],border:"1px solid",borderColor:r.gray[200],error:o.email?.message,...i("email")}),e.jsxs(a,{children:[e.jsx(s,{fontSize:"sm",color:r.text.info,mb:2,children:"Message"}),e.jsx(k,{placeholder:"Describe your target goal, timeline, and any questions.",minH:"120px",resize:"vertical",p:4,borderRadius:"16px",bg:r.gray[50],border:"1px solid",borderColor:o.message?r.error[500]:r.gray[200],_focus:{borderColor:o.message?r.error[500]:r.orange[400],boxShadow:o.message?`0 0 0 1px ${r.error[500]}`:`0 0 0 1px ${r.orange[400]}`},...i("message")}),o.message?.message?e.jsx(a,{mt:1.5,children:e.jsx(s,{textStyle:"text-sm-regular",color:r.error[500],children:o.message.message})}):null]})]}),e.jsx(z,{justify:"flex-end",mt:{base:1,md:0},children:e.jsx(p,{buttonType:"primary",text:"Submit enquiry",size:"lg",type:"submit",loading:c,disabled:c,minW:"170px"})})]})]})}),e.jsx(R,{open:y,onClose:()=>n(!1),showCloseButton:!1,closeOnEscape:!1,closeOnInteractOutside:!1,maxW:"460px",contentProps:{borderRadius:"28px",overflow:"hidden"},bodyProps:{p:0},children:e.jsxs(a,{px:{base:6,md:10},py:{base:8,md:10},bg:"radial-gradient(circle at top, #E8FBEA 0%, #FFFFFF 56%)",textAlign:"center",children:[e.jsx(F,{data:M,autoplay:!0}),e.jsxs(s,{color:r.text.primary,fontSize:{base:"3xl",md:"4xl"},fontWeight:"semibold",lineHeight:"1.2",mb:3,children:["Request Submitted",e.jsx("br",{}),"Successfully"]}),e.jsx(s,{fontSize:"sm",color:r.text.gray,mb:8,children:"Great job! Your Targeted Goals Plan enquiry has been submitted successfully."}),e.jsx(p,{buttonType:"primary",text:"Back home",size:"lg",type:"button",onClick:S,fullWidth:!0})]})})]})};export{re as default};
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.