1import{d as R,C as j,r as y,i as z,w as D,n as k,c as p,b as d,p as u,k as t,g as o,l as s,m as H,z as F,L as M,E as q,v as P,e as g,f as x,h as m,Q as N}from"./app-D8aYVF87.js";import{_ as f,a as b,b as c}from"./Label.vue_vue_type_script_setup_true_lang-D4C40NMe.js";import{_ as Y}from"./TextLink.vue_vue_type_script_setup_true_lang-Bavns-n5.js";import{_ as E}from"./index-tcfBVQ-6.js";import{L as Q,A as W}from"./AuthLayout-CMw0HCkG.js";import{c as G}from"./createLucideIcon-CoY9UKie.js";import{E as X,a as A}from"./eye-rFcf71Vi.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */import"./Primitive-SmALb3gF.js";/** 2 * @license lucide-vue-next v0.468.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const C=G("CircleAlertIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),Z={class:"tabs",role:"tablist","aria-label":"Registration steps"},ee=["aria-selected"],se=["aria-selected"],ae=["onKeydown"],oe={id:"panel-1",role:"tabpanel","aria-labelledby":"tab-1",class:"grid gap-6 sm:gap-7"},re={class:"grid gap-2"},te={class:"lbl-row"},ie={key:0,id:"name-tip",class:"field-callout warn",role:"status"},le={class:"grid gap-2"},ne={class:"lbl-row"},de={key:0,id:"business-tip",class:"field-callout warn",role:"status"},ue={class:"grid gap-2"},me={class:"lbl-row"},pe={key:0,id:"email-tip",class:"field-callout warn",role:"status"},fe={class:"grid gap-2"},be={class:"lbl-row"},ce={key:0,id:"phone-tip",class:"field-callout warn",role:"status"},ve={id:"panel-2",role:"tabpanel","aria-labelledby":"tab-2",class:"grid gap-6 sm:gap-7"},we={class:"grid gap-2"},ye={class:"lbl-row"},ge={class:"relative"},he=["aria-label"],_e={class:"grid gap-2"},ke={class:"relative"},xe=["aria-label"],Ce={class:"flex flex-col-reverse sm:flex-row items-stretch sm:items-center gap-3"},Ve={key:1},$e={class:"text-center text-sm auth-helper"},Ee=R({__name:"Register",setup(Se){const a=j({name:"",email:"",phone:"",business_name:"",password:"",password_confirmation:""}),n=y(1),h=y(null),S=y(null),l=z({name:!1,business:!1,email:!1,phone:!1}),v=y(!1),w=y(!1),O=()=>v.value=!v.value,U=()=>w.value=!w.value;function B(i){a.clearErrors(),Object.entries(i).forEach(([e,r])=>a.setError(e,r))}function I(){const i={};return a.name?.trim()||(i.name="Full name is required."),a.business_name?.trim()||(i.business_name="Business name is required."),a.email?.trim()?/^\S+@\S+\.\S+$/.test(a.email)||(i.email="Enter a valid email."):i.email="Email is required.",a.phone?.trim()||(i.phone="Phone is required."),Object.keys(i).length?(B(i),!1):!0}function L(){const i={};return a.password?String(a.password).length<8&&(i.password="Password must be at least 8 characters."):i.password="Password is required.",a.password_confirmation||(i.password_confirmation="Please confirm your password."),a.password&&a.password_confirmation&&a.password!==a.password_confirmation&&(i.password_confirmation="Passwords do not match."),Object.keys(i).length?(B(i),!1):!0}async function _(i){if(i===1){n.value=1,await k(),h.value?.focus();return}if(!I()){n.value=1,await k(),h.value?.focus();return}a.clearErrors(),n.value=2,await k(),S.value?.focus()}const V=()=>_(2),T=()=>_(1),$=()=>{if(n.value===1)return V();L()&&a.post(route("register.store"),{onFinish:()=>a.reset("password","password_confirmation")})},K=()=>{n.value===1?V():$()};return D(()=>a.errors,async i=>{const e=["name","email","phone","business_name"];n.value===2&&e.some(r=>i[r])&&(n.value=1,await k(),h.value?.focus())},{deep:!0}),(i,e)=>(d(),p(W,{title:"Create an account",description:"Enter your details, then set a password.","logo-light":"/assets/brand/FraudSpyday.png","logo-dark":"/assets/brand/FraudSpydark.png","app-name":"FraudSpy"},{default:u(()=>[t(s(H),{title:"Register"}),o("div",Z,[o("button",{type:"button",class:F(["tab-btn",{active:n.value===1}]),role:"tab","aria-selected":n.value===1,"aria-controls":"panel-1",onClick:e[0]||(e[0]=r=>_(1))},[...e[20]||(e[20]=[o("span",{class:"tab-bullet"},"1",-1),o("span",{class:"tab-label"},"Your details",-1)])],10,ee),o("button",{type:"button",class:F(["tab-btn",{active:n.value===2}]),role:"tab","aria-selected":n.value===2,"aria-controls":"panel-2",onClick:e[1]||(e[1]=r=>_(2))},[...e[21]||(e[21]=[o("span",{class:"tab-bullet"},"2",-1),o("span",{class:"tab-label"},"Set password",-1)])],10,se)]),o("form",{method:"POST",onSubmit:q($,["prevent"]),onKeydown:M(q(K,["prevent"]),["enter"]),class:"flex flex-col gap-6 sm:gap-7 pb-safe"},[P(o("div",oe,[o("div",re,[o("div",te,[t(s(f),{for:"name",class:"font-semibold text-foreground"},{default:u(()=>[...e[22]||(e[22]=[m("Full Name",-1)])]),_:1})]),t(s(b),{id:"name",ref_key:"nameEl",ref:h,name:"name",type:"text",required:"",autofocus:"",autocomplete:"name",modelValue:s(a).name,"onUpdate:modelValue":e[2]||(e[2]=r=>s(a).name=r),placeholder:"Full Name",class:"auth-input","aria-invalid":!!s(a).errors.name,"aria-describedby":s(a).errors.name?"name-error name-tip":void 0,onFocus:e[3]||(e[3]=r=>l.name=!0),onBlur:e[4]||(e[4]=r=>l.name=!1),onClick:e[5]||(e[5]=r=>l.name=!0)},null,8,["modelValue","aria-invalid","aria-describedby"]),t(c,{id:"name-error",message:s(a).errors.name},null,8,["message"]),l.name&&!s(a).errors.name?(d(),g("div",ie,[t(s(C),{class:"icon"}),e[23]||(e[23]=o("div",null,"FIO should match a valid NID/Passport.",-1))])):x("",!0)]),o("div",le,[o("div",ne,[t(s(f),{for:"business_name",class:"font-semibold text-foreground"},{default:u(()=>
6[...e[24]||(e[24]=[m("Business Name",-1)])]),_:1})]),t(s(b),{id:"business_name",name:"business_name",type:"text",required:"",modelValue:s(a).business_name,"onUpdate:modelValue":e[6]||(e[6]=r=>s(a).business_name=r),placeholder:"Your Business Name",class:"auth-input","aria-invalid":!!s(a).errors.business_name,"aria-describedby":s(a).errors.business_name?"business-error business-tip":void 0,onFocus:e[7]||(e[7]=r=>l.business=!0),onBlur:e[8]||(e[8]=r=>l.business=!1),onClick:e[9]||(e[9]=r=>l.business=!0)},null,8,["modelValue","aria-invalid","aria-describedby"]),t(c,{id:"business-error",message:s(a).errors.business_name},null,8,["message"]),l.business&&!s(a).errors.business_name?(d(),g("div",de,[t(s(C),{class:"icon"}),e[25]||(e[25]=o("div",null,"সঠিঠবà§à¦¯à¦¬à¦¸à¦¾à¦° নাম না দিলৠà¦à¦ªà¦¨à¦¾à¦° à¦
à§à¦¯à¦¾à¦à¦¾à¦à¦¨à§à¦ বà§à¦¯à¦¾à¦¨ à¦à¦°à¦¾ হতৠপারà§à¥¤",-1))])):x("",!0)]),o("div",ue,[o("div",me,[t(s(f),{for:"email",class:"font-semibold text-foreground"},{default:u(()=>[...e[26]||(e[26]=[m("Email",-1)])]),_:1})]),t(s(b),{id:"email",name:"email",type:"email",required:"",autocomplete:"email",autocapitalize:"off",autocorrect:"off",modelValue:s(a).email,"onUpdate:modelValue":e[10]||(e[10]=r=>s(a).email=r),placeholder:"[email protected]",class:"auth-input","aria-invalid":!!s(a).errors.email,"aria-describedby":s(a).errors.email?"email-error email-tip":void 0,onFocus:e[11]||(e[11]=r=>l.email=!0),onBlur:e[12]||(e[12]=r=>l.email=!1),onClick:e[13]||(e[13]=r=>l.email=!0)},null,8,["modelValue","aria-invalid","aria-describedby"]),t(c,{id:"email-error",message:s(a).errors.email},null,8,["message"]),l.email&&!s(a).errors.email?(d(),g("div",pe,[t(s(C),{class:"icon"}),e[27]||(e[27]=o("div",null,"Verification code will be sent to this email.",-1))])):x("",!0)]),o("div",fe,[o("div",be,[t(s(f),{for:"phone",class:"font-semibold text-foreground"},{default:u(()=>[...e[28]||(e[28]=[m("Phone Number (WhatsApp)",-1)])]),_:1})]),t(s(b),{id:"phone",name:"phone",type:"tel",inputmode:"tel",required:"",autocomplete:"tel",modelValue:s(a).phone,"onUpdate:modelValue":e[14]||(e[14]=r=>s(a).phone=r),placeholder:"+8801XXXXXXXXX",class:"auth-input","aria-invalid":!!s(a).errors.phone,"aria-describedby":s(a).errors.phone?"phone-error phone-tip":void 0,onFocus:e[15]||(e[15]=r=>l.phone=!0),onBlur:e[16]||(e[16]=r=>l.phone=!1),onClick:e[17]||(e[17]=r=>l.phone=!0)},null,8,["modelValue","aria-invalid","aria-describedby"]),t(c,{id:"phone-error",message:s(a).errors.phone},null,8,["message"]),l.phone&&!s(a).errors.phone?(d(),g("div",ce,[t(s(C),{class:"icon"}),e[29]||(e[29]=o("div",null,"Verification code will be sent to this number.",-1))])):x("",!0)]),t(s(E),{type:"button",class:"mt-1 w-full h-11 rounded-xl font-bold bg-[var(--primary)] hover:bg-[color-mix(in oklab,var(--primary) 88%,black 12%)] text-[var(--primary-foreground)] shadow-sm hover:shadow transition active:scale-[0.98] touch-manipulation",disabled:s(a).processing,onClick:V},{default:u(()=>[...e[30]||(e[30]=[m(" Continue ",-1)])]),_:1},8,["disabled"])],512),[[N,n.value===1]]),P(o("div",ve,[o("div",we,[o("div",ye,[t(s(f),{for:"password",class:"font-semibold text-foreground"},{default:u(()=>[...e[31]||(e[31]=[m("Password",-1)])]),_:1}),e[32]||(e[32]=o("span",{class:"hint-right sr-only"},"Min 8 characters",-1))]),o("div",ge,[t(s(b),{id:"password",ref_key:"pwdEl",ref:S,name:"password",type:v.value?"text":"password",required:"",minlength:"8",autocomplete:"new-password",modelValue:s(a).password,"onUpdate:modelValue":e[18]||(e[18]=r=>s(a).password=r),placeholder:"Create a password",class:"auth-input pr-14","aria-invalid":!!s(a).errors.password,"aria-describedby":s(a).errors.password?"password-error":void 0},null,8,["type","modelValue","aria-invalid","aria-describedby"]),o("button",{type:"button","aria-label":v.value?"Hide password":"Show password",class:"eye-btn",onClick:O},[v.value?(d(),p(s(A),{key:1})):(d(),p(s(X),{key:0}))],8,he)]),t(c,{id:"password-error",message:s(a).errors.password},null,8,["message"])]),o("div",_e,[t(s(f),{for:"password_confirmation",class:"font-semibold text-foreground"},{default:u(()=>[...e[33]||(e[33]=[m("Confirm Password",-1)])]),_:1}),o("div",ke,[t(s(b),{id:"password_confirmation",name:"password_confirmation",type:w.value?"text":"password",required:"",minlength:"8",autocomplete:"new-password",modelValue:s(a).password_confirmation,"onUpdate:modelValue":e[19]||(e[19]=r=>s(a).password_confirmation=r),placeholder:"Confirm your password",class:"auth-input pr-14","aria-invalid":!!s(a).errors.password_confirmation,"aria-describedby":s(a).errors.password_confirmation?"password2-error":void 0},null,8,["type","modelValue","aria-invalid","aria-describedby"]),o("button",{type:"button","aria-label":w.value?"Hide password":"Show password",class:"eye-btn",onClick:U},[w.value?(d(),p(s(A),{key:1})):(d(),p(s(X),{key:0}))],8,xe)]),t(c,{id:"password2-error",message:s(a).errors.password_confirmation},null,8,["message"])]),o("div",Ce,[t(s(E),{type:"button",variant:"ghost",class:"h-11 rounded-xl px-4 font-semibold border border-[var(--border)] w-full sm:w-auto touch-manipulation",disabled:s(a).processing,onClick:T},{default:u(()=>[...e[34]||(e[34]=[m(" â Back ",-1)])]),_:1},8,["disabled"]),t(s(E),{type:"button",class:"w-full sm:flex-1 h-11 rounded-xl font-bold bg-[var(--primary)] hover:bg-[color-mix(in oklab,var(--primary) 88
6%,black 12%)] text-[var(--primary-foreground)] shadow-sm hover:shadow transition active:scale-[0.98] touch-manipulation",disabled:s(a).processing,onClick:$},{default:u(()=>[s(a).processing?(d(),p(s(Q),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(d(),g("span",Ve,"Create account"))]),_:1},8,["disabled"])])],512),[[N,n.value===2]]),e[37]||(e[37]=o("input",{type:"submit",class:"sr-only","aria-hidden":"true",tabindex:"-1"},null,-1)),o("div",$e,[e[36]||(e[36]=m(" Already have an account? ",-1)),t(Y,{href:i.route("login"),class:"ml-1 auth-link"},{default:u(()=>[...e[35]||(e[35]=[m("Log in",-1)])]),_:1},8,["href"])])],40,ae)]),_:1}))}}),Le=J(Ee,[["__scopeId","data-v-e0e33964"]]);export{Le 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.