1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6849],{10409:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var s=a(37876),r=a(33939),i=a(93150);let l=e=>{let{label:t,loadingLabel:a,className:l="","data-testid":n,loading:d,onClickHandler:o,disabled:u=!1}=e;return(0,s.jsx)(i.A,{priority:"primary",disabled:d||u,onClick:o,className:l,label:d?a:t,"data-testid":n,children:d&&(0,s.jsx)(r.A,{"data-testid":"async-button-spinner",as:"span",animation:"border",size:"sm",role:"status","aria-hidden":"true",className:"me-1"})})}},12371:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var s=a(37876),r=a(78195),i=a(10409);let l=e=>{let{label:t,loadingLabel:a,onClick:l,className:n="","data-testid":d,disabled:o=!1}=e,u=(0,r.Y)({onClick:l});return(0,s.jsx)(i.A,{label:t,loadingLabel:a,className:n,"data-testid":d,disabled:o,...u})}},14591:(e,t,a)=>{"use strict";a.d(t,{qK:()=>r}),a(55248),a(84467),a(76959);var s=a(14232);function r(){let e=(0,s.useRef)(!0),t=(0,s.useRef)(()=>e.current);return(0,s.useEffect)(()=>(e.current=!0,()=>{e.current=!1}),[]),t.current}a(52964),new WeakMap},23858:e=>{e.exports={textInput:"dKlAcLu"}},26966:(e,t,a)=>{"use strict";a.d(t,{N:()=>r});var s=a(82443);class r{validateEmail(e){let{t}=e;if(this.state.email=this.state.email.trim(),!this.state.email){this.state.validations.email={status:s.Uf.Skipped};return}(0,s.DT)(this.state.email)?this.state.validations.email={status:s.Uf.Passed}:this.state.validations.email={status:s.Uf.Failed,error:t("validations.emailInvalid")}}validateEmailRequired(e){let{t}=e;if(this.state.email=this.state.email.trim(),!this.state.email){this.state.validations.email={status:s.Uf.Failed,error:t("validations.emailRequired")};return}(0,s.DT)(this.state.email)?this.state.validations.email={status:s.Uf.Passed}:this.state.validations.email={status:s.Uf.Failed,error:t("validations.emailInvalid")}}validatePhoneNumber(e){let{t}=e;if(this.state.phoneNumber=this.state.phoneNumber.replace(/\s/g,""),!this.state.phoneNumber){this.state.validations.phoneNumber={status:s.Uf.Skipped};return}(0,s.FY)(this.state.phoneNumber)?this.state.validations.phoneNumber={status:s.Uf.Passed}:this.state.validations.phoneNumber={status:s.Uf.Failed,error:t("validations.phoneNumberInvalid")}}validatePhoneNumberRequired(e){let{t}=e;if(this.state.phoneNumber=this.state.phoneNumber.replace(/\s/g,""),!this.state.phoneNumber){this.state.validations.phoneNumber={status:s.Uf.Failed,error:t("validations.phoneNumberRequired")};return}(0,s.FY)(this.state.phoneNumber)?this.state.validations.phoneNumber={status:s.Uf.Passed}:this.state.validations.phoneNumber={status:s.Uf.Failed,error:t("validations.phoneNumberInvalid")}}validateRegionSpecificPhoneNumberRequired(e){let{t,mobileRegionConfig:a}=e;this.validatePhoneNumberRequired({t:t}),this.state.validations.phoneNumber.status===s.Uf.Passed&&this.state.phoneNumber.replace(a.countryCode,a.shouldShowCountryCode?"":"0").length!=a.mobileNumberLength&&(this.state.validations.phoneNumber={status:s.Uf.Failed,error:t("validations.phoneNumberInvalid")})}validateEmailOrPhoneRequired(e){let{t}=e;this.state.email=this.state.email.trim(),this.state.phoneNumber=this.state.phoneNumber.trim(),this.state.email||this.state.phoneNumber||(this.state.validations.email={status:s.Uf.Failed,error:t("validations.emailOrPhoneRequired")},this.state.validations.phoneNumber={status:s.Uf.Failed,error:t("validations.emailOrPhoneRequired")})}constructor(e){this.state=e}}},33939:(e,t,a)=>{"use strict";a.d(t,{A:()=>o});var s=a(15039),r=a.n(s),i=a(14232),l=a(77346),n=a(37876);let d=i.forwardRef((e,t)=>{let{bsPrefix:a,variant:s,animation:i="border",size:d,as:o="div",className:u,...c}=e;a=(0,l.oU)(a,"spinner");let h="".concat(a,"-").concat(i);return(0,n.jsx)(o,{ref:t,...c,className:r()(u,h,d&&"".concat(h,"-").concat(d),s&&"text-".concat(s))})});d.displayName="Spinner";let o=d},43480:e=>{e.exports={p1:"u63yu_s",p1Book:"XVjDTnR",p1Bold:"CCf8TTR","p1-link":"_6evc43"}},51990:(e,t,a)=>{"use strict";a.r(t),a.d(t,{__N_SSP:()=>I,default:()=>R});var s=a(37876),r=a(49589),i=a(56970),l=a(37784),n=a(77328),d=a.n(n),o=a(14232),u=a(70564),c=a(48230),h=a.n(c),m=a(89863),p=a.n(m),f=a(65845),b=a(98130),N=a(59639),v=a(64311),g=a(12371),x=a(66898),j=a(91084),A=a(82443),S=a(58385),U=a(51708),C=a(17046),y=a(98230),D=a(7656),F=a(19100),P=a(22154),k=a(67562),w=a(26966);let B=e=>{let{externalId:t,clubGroups:a=[]}=e,r=(0,P.zj)().region,n=(0,k.r)(r),[d,c]=(0,o.useState)({firstName:"",lastName:"",email:"",ph
1oneNumber:"",dateOfBirth:null,selectedStartDate:void 0,selectedClub:void 0}),[m,B]=(0,o.useState)({firstName:{status:A.Uf.Skipped},lastName:{status:A.Uf.Skipped},email:{status:A.Uf.Skipped},phoneNumber:{status:A.Uf.Skipped},dateOfBirth:{status:A.Uf.Skipped},selectedStartDate:{status:A.Uf.Skipped},selectedClub:{status:A.Uf.Skipped}}),[I,R]=(0,o.useState)(!1),[_,M]=(0,o.useState)({type:null,message:""}),O=(e,t)=>{switch(e){case"firstName":case"lastName":if(!(null==t?void 0:t.trim()))return{status:A.Uf.Failed,error:"This field is required"};if(t.trim().length<2)return{status:A.Uf.Failed,error:"Must be at least 2 characters"};return{status:A.Uf.Passed};case"email":if(!(null==t?void 0:t.trim()))return{status:A.Uf.Failed,error:"Email is required"};if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t))return{status:A.Uf.Failed,error:"Please enter a valid email address"};return{status:A.Uf.Passed};case"phoneNumber":{if(!(null==t?void 0:t.trim()))return{status:A.Uf.Failed,error:"Phone number is required"};if(r===P.cB.australia){let e=t.trim();if(!(/^04[0-9]{8}$/.test(e)||/^\+61[0-9]{9}$/.test(e)||/^61[0-9]{9}$/.test(e)))return{status:A.Uf.Failed,error:"Please enter a valid Australian mobile number (e.g., 0412345678)"};return{status:A.Uf.Passed}}let e={phoneNumber:t,email:"",validations:{phoneNumber:{status:A.Uf.Skipped},email:{status:A.Uf.Skipped}}};return new w.N(e).validateRegionSpecificPhoneNumberRequired({t:e=>({"validations.phoneNumberRequired":"Phone number is required","validations.phoneNumberInvalid":"Please enter a valid phone number"})[e]||e,mobileRegionConfig:n}),e.validations.phoneNumber}case"dateOfBirth":{if(!t)return{status:A.Uf.Failed,error:"Date of birth is required"};let e=new Date,a=new Date(t);if(a>e)return{status:A.Uf.Failed,error:"Date of birth cannot be in the future"};let s=e.getFullYear()-a.getFullYear(),r=e.getMonth()-a.getMonth();if((r<0||0===r&&e.getDate()<a.getDate())&&s--,s<18)return{status:A.Uf.Failed,error:"You must be at least 18 years old"};if(s>120)return{status:A.Uf.Failed,error:"Please enter a valid date of birth"};return{status:A.Uf.Passed}}case"selectedStartDate":if(!t)return{status:A.Uf.Failed,error:"Please select a start date"};return{status:A.Uf.Passed};case"selectedClub":if(!t)return{status:A.Uf.Failed,error:"Please select a club"};return{status:A.Uf.Passed};default:return{status:A.Uf.Skipped}}},T=(e,t)=>{c(a=>({...a,[e]:t}));let a=O(e,t);B(t=>({...t,[e]:a}))},q=e=>{c(t=>({...t,selectedStartDate:e}));let t=O("selectedStartDate",e);B(e=>({...e,selectedStartDate:t}))},L=e=>{let t=e?a.flatMap(e=>e.clubs).find(t=>t.exerpClubID===e||t.id===e):void 0;c(e=>({...e,selectedClub:t}));let s=O("selectedClub",t);B(e=>({...e,selectedClub:s}))},E=async()=>{if(I)return;R(!0),M({type:null,message:""});let e={firstName:O("firstName",d.firstName),lastName:O("lastName",d.lastName),email:O("email",d.email),phoneNumber:O("phoneNumber",d.phoneNumber),dateOfBirth:O("dateOfBirth",d.dateOfBirth),selectedStartDate:O("selectedStartDate",d.selectedStartDate),selectedClub:O("selectedClub",d.selectedClub)};if(B(e),Object.values(e).some(e=>e.status===A.Uf.Failed))return void R(!1);try{var a;let e=await fetch("/api/general/invite-friend",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({firstName:d.firstName,lastName:d.lastName,email:d.email,phoneNumber:d.phoneNumber,dateOfBirth:(0,F.Nz)(d.dateOfBirth),startDate:d.selectedStartDate,externalId:t,selectedClubId:null==(a=d.selectedClub)?void 0:a.id})});if(!e.ok)throw Error("Failed to submit registration");await e.json(),M({type:"success",message:"Registration submitted successfully! We'll be in touch soon."}),c({firstName:"",lastName:"",email:"",phoneNumber:"",dateOfBirth:null,selectedStartDate:void 0,selectedClub:void 0}),B({firstName:{status:A.Uf.Skipped},lastName:{status:A.Uf.Skipped},email:{status:A.Uf.Skipped},phoneNumber:{status:A.Uf.Skipped},dateOfBirth:{status:A.Uf.Skipped},selectedStartDate:{status:A.Uf.Skipped},selectedClub:{status:A.Uf.Skipped}})}catch(e){console.error("Error submitting friend referral:",e),M({type:"error",message:"We weren't able to complete your registration. Please contact your club and our team will be happy to help you."})}finally{R(!1)}},V=(null==a?void 0:a.length)?(0,y.H)(a):[];return(0,s.jsxs)("div",{className:p().form,children:[(0,s.jsx)(f.A,{className:"".concat(p().header," ").concat("success"===_.type||"error"===_.type?p().centeredHeader:""),children:"Welcome to Virgin Active!"}),"success"===_.type?(0,s.jsxs)("div",{className:p().successContainer,children:[(0,s.jsx)(S.A,{}),(0,s.jsx)("h3",{className:p().successTitle,children:"Thank You!"}),(0,s.jsx)(x.A,{className:p().successMessage,children:_.message})]}):"error"===_.type?(0,s.jsxs)("div",{className:p().successContainer,children:[(0,s.jsx)("h3",{className:p().successTitle,children:"Something went wrong"}),(0,s.jsx)(x.A,{className:p().successMessage,children:_.message})]}):(0,s.jsx)(u.A,{children:(0,s.jsxs)(u.A.Group,{children:[(0,s.jsx)("h5",{className:"".concat(p().subHeader),children:"You've been referred by a friend. Complete your registration below to get started."}),(0,s.jsxs)(i.A,{children:[(0,s.jsx)("h4",{className:p().contactDetailsHeading,children:"Your Contact Details"}),(0,s.jsx)(l.A,{xs:12,md:6,lg:4,children:(0,s.jsx)(b.A,{label:"First Name",inputValue:d.firstName,error:m.firstName.status===A.Uf.Failed,errorMessage:m.firstName.error||"",onInput:e=>T("firstName",e)})}),(0,s.jsx)(l.A,{xs:12,md:6,lg:4,children:(0,s.jsx)(b.A,{label:"Last Name",inputValue:d.lastName,error:m.lastName.status===A.Uf.Failed,errorMessage:m.lastName.error||"",onInput:e=>T("lastName",e)})})]}),(0,s.jsx)(i.A,{children:(0,s.jsx)(l.A,{xs:12,lg:8,children:(0,s.jsx)(b.A,{label:"Email Address",inputValue:d.email,error:m.email.status===A.Uf.Failed,errorMessage:m.email.error||"",onInput:e=>T("email",e)})})}),(0,s.jsx)(i.A,{children:(0,s.jsxs)(l.A,{xs:12,lg:8,children:[r===P.cB.australia&&(0,s.jsx)(b.A,{label:"Phone Number",inputValue:d.phoneNumber,error:m.phoneNumber.status===A.Uf.Failed,errorMessage:m.phoneNumber.error||"",onInput:e=>T("phoneNumber",e)}),(r===P.cB.singapore||r===P.cB.thailand)&&(0,s.jsx)(N.A,{label:"Phone Number",inputValue:d.phoneNumber,error:m.phoneNumber.status===A.Uf.Failed,errorMessage:m.phoneNumber.error||"",onInput:e=>T("phoneNumber",e),...n})]})}),(0,s.jsx)(i.A,{children:(0,s.jsx)(l.A,{xs:12,lg:8,children:(0,s.jsx)(v.A,{label:"Date of Birth",error:m.dateOfBirth.status===A.Uf.Failed,errorMessage:m.dateOfBirth.error||"",onInput:e=>{c(t=>({...t,dateOfBirth:e}));let t=O("dateOfBirth",e);B(e=>({...e,dateOfBirth:t}))},inputValue:d.dateOfBirth})})}),(0,s.jsx)(i.A,{children:(0,s.jsx)(l.A,{xs:12,lg:8,children:(0,s.jsx)(C.A,{instanceId:"friend-referral-startDate",label:"Start Date",placeholder:"Select a start date",items:(0,D.Z)(),onSelect:e=>{q(null==e?void 0:e.value)},selectedValue:d.selectedStartDate?{label:d.selectedStartDate,value:d.selectedStartDate}:void 0,error:m.selectedStartDate.status===A.Uf.Failed,errorMessage:m.selectedStartDate.error||""})})}),(0,s.jsxs)(i.A,{children:[(0,s.jsx)("h4",{className:p().clubSelectionHeading,children:"Select Your Preferred Club"}),(0,s.jsx)(l.A,{lg:4,children:(0,s.jsx)(U.A,{instanceId:"friend-referral-club",label:"Club",placeholder:"Select a club",groups:V,onSelect:e=>{L(null==e?void 0:e.value)},selectedValue:d.selectedClub&&{label:d.selectedClub.name,value:d.selectedClub.exerpClubID||d.selectedClub.id},error:m.selectedClub.status===A.Uf.Failed,errorMessage:m.selectedClub.error||"",useDropdownStyle:!0})})]}),r===P.cB.singapore?(0,s.jsx)(j.A,{html:'<p>Free trial offer is only applicable for first time guests who are long term residents of Singapore with ID card. By booking a free trial, you are also agreeing to our <a href="https://assets-us-01.kc-usercontent.com/a07c5ec0-e08a-0014-c8c5-a7a73768c21f/be3637be-2f91-49b3-a571-f1c1f1cd2de3/Virgin%20Active%20Singapore%20-%20PrivacyPolicy.pdf" target="_blank" rel="noopener noreferrer">Privacy Policy</a> and opting in to receive marketing communication. You can opt-out at any time. Click <a href="https://assets-us-01.kc-usercontent.com/a07c5ec0-e08a-0014-c8c5-a7a73768c21f/f9155d9f-bc56-4549-9837-ecbc2b208147/Virgin%20Active%20Singapore%20-%20Free%2
10Trial%20TCs.pdf" target="_blank" rel="noopener noreferrer">here</a> to view full terms and conditions.</p>',className:p().privacyPolicy}):(0,s.jsxs)(x.A,{className:p().terms,children:["By submitting this form, you agree to our"," ",(0,s.jsx)(h(),{href:"/legal-stuff",children:"Terms & Conditions"}),"."]}),(0,s.jsx)(g.A,{label:"Submit Registration",loadingLabel:"Submitting...",onClick:E,className:p().submitButton,"data-testid":"submit"})]})})]})};var I=!0;let R=e=>{let{externalId:t,clubGroups:a}=e;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(d(),{children:[(0,s.jsx)("title",{children:"Join Virgin Active - Friend Referral"}),(0,s.jsx)("meta",{name:"description",content:"Complete your registration to join Virgin Active through your friend's referral"})]}),(0,s.jsx)(r.A,{children:(0,s.jsx)(i.A,{className:"justify-content-center g-0",children:(0,s.jsx)(l.A,{lg:8,xs:11,children:(0,s.jsx)(B,{externalId:t,clubGroups:a})})})})]})}},58385:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});var s=a(37876);let r=()=>(0,s.jsx)("svg",{width:"38",height:"39",viewBox:"0 0 38 39",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,s.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M33.7812 19.5C33.7812 27.6635 27.1635 34.2812 19 34.2812C10.8365 34.2812 4.21875 27.6635 4.21875 19.5C4.21875 11.3365 10.8365 4.71875 19 4.71875C27.1635 4.71875 33.7812 11.3365 33.7812 19.5ZM37.8125 19.5C37.8125 29.8899 29.3899 38.3125 19 38.3125C8.61014 38.3125 0.1875 29.8899 0.1875 19.5C0.1875 9.11014 8.61014 0.6875 19 0.6875C29.3899 0.6875 37.8125 9.11014 37.8125 19.5ZM26.1715 12.6861L16.335 22.5227L11.8641 18.0518L9.01358 20.9023L14.9097 26.7984L16.335 28.2237L17.7602 26.7984L29.022 15.5367L26.1715 12.6861Z",fill:"#31A22D"})})},60984:(e,t,a)=>{"use strict";a.d(t,{Y:()=>d});var s=a(37876),r=a(70564),i=a(67204),l=a.n(i),n=a(82750);a(14232);let d=e=>{let{error:t,errorMessage:a}=e;return(0,s.jsx)(s.Fragment,{children:t&&a&&(0,s.jsxs)(r.A.Label,{className:l().errorMessage,children:[(0,s.jsx)("div",{className:l().errorIcon,children:(0,s.jsx)(n.A,{})}),(0,s.jsx)("span",{children:a})]})})}},65030:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/iaf/[externalId]",function(){return a(51990)}])},65845:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});var s=a(37876);a(14232);var r=a(66482);let i=e=>{let{children:t,className:a,h:i}=e;return(0,s.jsx)(r.A,{h:i,className:"h1 primaryH ".concat(a||""),children:t})}},66482:(e,t,a)=>{"use strict";a.d(t,{A:()=>r});var s=a(37876);a(14232);let r=e=>{let{children:t,className:a,h:r="h2"}=e;return(0,s.jsx)(r,{className:a,children:t})}},66898:(e,t,a)=>{"use strict";a.d(t,{A:()=>l});var s=a(37876);a(14232);var r=a(43480),i=a.n(r);let l=e=>{let{children:t,className:a}=e;return(0,s.jsx)("p",{className:"".concat(i().p1," ").concat(a||""),children:t})}},67204:e=>{e.exports={errorMessage:"qjQVzUj",errorIcon:"BBzh3T3"}},78195:(e,t,a)=>{"use strict";a.d(t,{Y:()=>i});var s=a(14591),r=a(14232);let i=e=>{let{onClick:t}=e,a=(0,s.qK)(),[i,l]=(0,r.useState)(!1),n=async()=>{l(!0);try{await t()}finally{a()&&l(!1)}};return{loading:i,onClickHandler:()=>{n()}}}},79252:e=>{e.exports={dropdown:"qlNRRph"}},82443:(e,t,a)=>{"use strict";a.d(t,{DT:()=>o,Dc:()=>u,Dx:()=>m,FY:()=>c,JH:()=>h,Uf:()=>s,WU:()=>p});var s=function(e){return e[e.Passed=1]="Passed",e[e.Failed=2]="Failed",e[e.Skipped=3]="Skipped",e}({});let r=/^[a-zA-Z0-9._\-+]+@[a-zA-Z0-9.-]+\.[a-zA-Z]+$/,i=/^\+?\d{8,15}$/,l=/[\s\-()]/g,n=/^[4|5][0-9]{12,15}$/,d=/^[A-Za-z-'\s]*$/,o=e=>r.test(e),u=e=>e.replace(l,""),c=e=>i.test(u(e)),h=e=>n.test(e),m=e=>d.test(e),p=e=>{for(let t of Object.values(e))if(!t.status||2===t.status)return!1;return!0}},89863:e=>{e.exports={form:"oDj6gvy",header:"tCkRLua",subHeader:"MB6I0B8",contactDetailsHeading:"lKIu9hs",clubSelectionHeading:"SLuWzSI",referralHeading:"dTDwPLh",referralInfo:"YFPx7A6",referralId:"sI6XGbT",privacyPolicy:"__4WDpMb6",button:"nWMR5Uh",successAlert:"__9GM3NE8",errorAlert:"BezAv8Z",successContainer:"__0R5g42q",successTitle:"EjjqWkV",successMessage:"z4En1d9",terms:"RlKZHoQ",container:"zhkMQL1",centeredHeader:"t97TPO_"}},91084:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});var s=a(37876),r=a(11944),i=a.n(r),l=a(86649);let n=e=>{let{html:t,className:a}=e,r=i().sanitize(t,{ADD_ATTR:["target"]});return(0,s.jsx)("div",{className:a,children:(0,l.Ay)(r)})}},98130:(e,t,a)=>{"use strict";a.d(t,{A:()=>d});var s=a(37876);a(14232);var r=a(70564),i=a(23858),l=a.n(i),n=a(60984);let d=e=>{let{label:t,placeholder:a,error:i,errorMessage:d,onInput:o,inputValue:u,onBlur:c,className:h="",id:m}
1=e,p=m||"text-input-".concat((t||"field").replace(/\s+/g,"-").toLowerCase());return(0,s.jsxs)(r.A.Group,{className:"".concat(l().textInput," ").concat(h),children:[(0,s.jsx)(r.A.Label,{htmlFor:p,children:t}),(0,s.jsx)(r.A.Control,{id:p,value:u,onChange:e=>{o(e.target.value)},className:i?"error-input":"",type:"text","data-testid":"text-input",onBlur:c,placeholder:a}),(0,s.jsx)(n.Y,{error:i,errorMessage:d})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[6649,1944,2554,6263,3298,636,6593,8792],()=>t(65030)),_N_E=e.O()}]);
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.