PageSourceSearch

https://static-js.luxuryescapes.com/en-AU/3265.e073fdbb8d3936a5.js

js luxuryescapes.com collected 2026-10-02 06:01:00 UTC 86,780 bytes, 2 lines download raw bytes

1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{};e.SENTRY_RELEASE={id:"production-f5e5fe0"},e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[(new e.Error).stack]=function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];if(null!=i)for(var a in i)i.hasOwnProperty(a)&&(e[a]=i[a])}return e}({},e._sentryModuleMetadata[(new e.Error).stack],{"_sentryBundlerPluginAppKey:luxgroup-customer-portal":!0});var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3d9a9a4e-7a30-4020-adbe-2d99cc5408b7",e._sentryDebugIdIdentifier="sentry-dbid-3d9a9a4e-7a30-4020-adbe-2d99cc5408b7")}catch(e){}}();"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[3265],{94111(e,t,i){var a=i(474848),s=i(665673),n=i(476400),r=i(897729),o=i(430084),l=i(161648),d=i(731357),c=i(38267),u=i(410478),g=i(696023),p=i(205944),f=i(555111),m=i(876517),h=i(750142),x=i(511686),A=i(749691),b=i(632385);let M=(0,c.Ay)(l.Ay).withConfig({componentId:"sc-ff94ff04-0"})(["line-height:",";"],(0,d.D0)(20));i.d(t,{},{A:function(e){let{variant:t,quantity:i,size:l,direction:d,displayEarnPoints:c,discountBadgePosition:y="inline"}=e,[v]=(0,m.A)(),j=(0,h.GV)(x.A),w=(0,s.A)(),k=t.price!==t.regularPrice,C=t.pointsPrice!==t.pointsRegularPrice,P=t.price*i,E=t.pointsPrice*i,L=t.regularPrice*i,S=t.pointsRegularPrice*i,T=(0,b.A)(t.regularPrice,t.price),_=k&&T>=5,I="inline"===y,D=c&&j&&!!t.pointsEarnRatio,q=(0,a.jsxs)(r.A,{direction:"horizontal"===d?"horizontal":"vertical",gap:"horizontal"===d?8:"S"===l?4:8,tabletGap:24,verticalAlign:"horizontal"===d?"start":void 0,children:[(0,a.jsx)(r.A,{direction:"horizontal",gap:8,verticalAlign:"start",children:(0,a.jsxs)("div",{children:[!!E&&(0,a.jsx)(n.A,{points:E,size:l}),C&&(0,a.jsxs)(r.A,{direction:"horizontal",gap:8,verticalAlign:"center",children:[(0,a.jsx)(g.A,{value:S,colour:"light-foreground-alt"}),I&&_&&(0,a.jsx)(A.A,{discountPercentage:T,type:"exact"})]})]})}),(0,a.jsx)(p.A,{kind:"primary",direction:"vertical"}),(0,a.jsxs)(r.A,{direction:"horizontal",gap:4,children:[!!P&&!!E&&(0,a.jsx)(M,{variant:"small",colour:"light-foreground-alt",children:w.formatMessage({id:"3HTYGb6n5VJ6I02PLjXj",defaultMessage:"or",description:"Text separator between points price and cash price"})}),(0,a.jsxs)("div",{children:[!!P&&(0,a.jsx)(o.A,{"data-testid":"merch-pdp-price-amount",price:P,size:l,saleUnit:"",priceFormat:"dynamicDollar"}),k&&(0,a.jsxs)(r.A,{direction:"horizontal",gap:8,verticalAlign:"center",children:[(0,a.jsx)(u.A,{value:L,colour:"light-foreground-alt",priceFormat:"dynamicDollar"}),I&&_&&(0,a.jsx)(A.A,{discountPercentage:T,type:"exact"})]}),D&&(0,a.jsx)(f.A,{tier:v,size:"S",earnablePoints:0,pointsEarnRatio:t.pointsEarnRatio,calculationType:"ratio"})]})]})]});return"above"===y&&_?(0,a.jsxs)(r.A,{direction:"vertical",gap:16,children:[(0,a.jsx)(A.A,{discountPercentage:T,type:"exact"}),q]}):q}})},582649(e,t,i){var a=i(600625),s=i(267662);let n=async e=>{let t=await e.settings.userStore.get(`user:${e.settings.authority}:${e.settings.client_id}`);return t?a.KJ.fromStorageString(t):void 0};i.d(t,{},{createOidcUserManager:()=>{let e={authority:s.A.OIDC_AUTHORITY||"",clientId:s.A.OIDC_CLIENT_ID||"",scope:"openid email offline_access"};return new a.$5({authority:e.authority,client_id:e.clientId,scope:e.scope,redirect_uri:`${window.location.origin}/oidc-callback`,post_logout_redirect_uri:window.location.origin,userStore:new a.O({store:window.localStorage}),automaticSilentRenew:!1})},readStoredOidcUser:n})},119405(e,t,i){var a=i(474848),s=i(296540),n=i(665673),r=i(722834),o=i(813328),l=i(955293),d=i(314953),c=i(516861),u=i(267662),g=i(161648),p=i(897729),f=i(78272),m=i(196168),h=i(744718),x=i(677127),A=i(868441),b=i(336753),M=i(750142),y=i(172612),v=i(803556),j=i(107813),w=i(871942),k=i(18815),C=i(720941),P=i(821532),E=i(149091);i.d(t,{},{A:function(e){let{user:t,onModeChange:i=m.A,dismissable:L}=e,S=(0,n.A)(),T=(0,j.A)(),_=(0,s.useRef)(null),I=(0,M.GV)(v.W0),D=(0,M.jL)(),q=(0,M.GV)(e=>
1e.auth.error),[R,O]=(0,s.useState)(30),[G,N]=(0,s.useState)(!0),[z,V]=(0,s.useState)("sms");(0,P.A)(()=>{O(e=>Math.max(e-1,0))},1e3,{disabled:R<=0});let B=(0,s.useContext)(C.A).defaultContact;(0,s.useEffect)(()=>{I?T?.resolve({loggedIn:!0}):q&&N(!0)},[I,q]),(0,s.useEffect)(()=>{(0,w.trackClientEvent)({subject:"sign_in_otp",action:"impression",category:"logging",type:"operational"})},[]);let F=(0,s.useCallback)(()=>{(0,w.trackClientEvent)({subject:"sign_in_otp_resend",action:"interaction",category:"logging",type:"operational"}),O(30),V("sms"),D((0,y.Qq)(t))},[D,t]),H=(0,s.useCallback)(()=>{(0,w.trackClientEvent)({subject:"sign_in_otp_call",action:"interaction",category:"logging",type:"operational"}),O(30),V("call"),D((0,y.Qq)(t,"call"))},[D,t]),W=(0,s.useCallback)(e=>{e.preventDefault(),N(!1);let i=(0,l.Ry)(e.currentTarget);D((0,y.A_)(t,i.code))},[D,t]),Y=(0,s.useCallback)(()=>i("loginPasswordOTP"),[i]),U=S.formatMessage({id:"zdBkUU0UIw8AkPBTLjEi",defaultMessage:"Verification code",description:"Modal title for login OTP verification step dialog window"}),K=S.formatMessage({id:"5n82hheSoZxt8yTRWi4p",defaultMessage:"Something went wrong. Please try logging in with your password instead.",description:"Error message when OTP verification fails with server error"}),Z=S.formatMessage({id:"EWCDzKriSpvW5Y-DMffF",defaultMessage:"6-digit code",description:"Form field label for OTP code input field during login"}),Q=S.formatMessage({id:"_8hCtXHgFdckcvz1D--c",defaultMessage:"Enter 6-digit code",description:"Placeholder for OTP code input during login when field is empty"}),J=S.formatMessage({id:"ydj4xCsGbzQLoX0Od3-8",defaultMessage:"Code is required",description:"Validation error when OTP code field is empty during login"}),X=S.formatMessage({id:"93GllCprPh8ea081t75f",defaultMessage:"Your code must be 6 digits long",description:"Validation error when OTP code is not 6 digits during login"}),$=S.formatMessage({id:"nC8FmMNMRNbqFBBwdBTv",defaultMessage:"Submit",description:"Submit button text for OTP verification during login"}),ee=S.formatMessage({id:"1ck7CUE-sDA_fqo35aZj",defaultMessage:"Didn’t receive the SMS?",description:"Help text asking if user received the SMS during login OTP"}),et=S.formatMessage({id:"7neFS5k8h26rNxhyiNQ9",defaultMessage:"Resend code in {countDown}s",description:"Countdown text before user can resend OTP code during login"},{countDown:R}),ei=S.formatMessage({id:"2h9rbO2hH6WAt-ePo9X5",defaultMessage:"Resend code",description:"Hyperlink text to resend OTP code during login in the account access section"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(A.Ay,{title:U,onBackButtonClick:Y,dismissible:L}),(0,a.jsx)(h.A,{children:(0,a.jsx)(x.A,{children:(0,a.jsxs)(f.A,{gap:24,as:"form",onSubmit:W,name:"loginForm",children:[q?.status===500&&(0,a.jsx)(o.A,{kind:"critical",children:K}),q?.message&&500!==q.status&&(0,a.jsx)(o.A,{kind:"critical",children:q.message}),(0,a.jsx)(g.Ay,{variant:"medium",children:"call"===z?(0,a.jsx)(r.A,{id:"0_PhQhpT5RqvMekJ6B_3",defaultMessage:"We’re calling <strong>{maskedPhone}</strong> with a 6-digit code. The code is valid for 10 minutes and after that you will need to request a new one.",description:"Instructions text explaining OTP code is being delivered by voice call during login",values:{maskedPhone:t.maskedPhone,strong:e=>(0,a.jsx)("strong",{children:e})}}):(0,a.jsx)(r.A,{id:"Xv4jI5itjgVb3oh2M94I",defaultMessage:"We’ve sent a 6-digit code to <strong>{maskedPhone}</strong>. The code is valid for 10 minutes and after that you will need to request a new one.",description:"Instructions text explaining OTP code was sent during login",values:{maskedPhone:t.maskedPhone,strong:e=>(0,a.jsx)("strong",{children:e})}})}),(0,a.jsx)(b.A,{type:"text",required:!0,id:"code",name:"code",label:Z,placeholder:Q,requiredErrorMessage:J,minLength:6,maxLength:6,pattern:"^[0-9]*$",invalidErrorMessage:X,inputMode:"numeric"}),(!q||!!q&&500!==q.status)&&(0,a.jsxs)(p.A,{direction:"vertical",gap:16,horizontalAlign:"center",children:[(0,a.jsx)(d.A,{kind:"primary",size:"large",type:"submit",fit:"flex",disabled:!G,children:$}),(0,a.jsx)(E.A,{countDown:R,prompt:ee,resendLabel:R>0?et:ei,onResendSms:F,onRequestCall:H})]}),q?.status===500&&(0,a.jsx)(k.A,{contactNumber:B}),u.A.RECAPTCHA_KEY&&(0,a.jsx)(c.A,{size:"invisible",sitekey:u.A.RECAPTCHA_KEY,ref:_})]})})})]})}})},137688(e,t,i){i.r(t),i.d(t,{default:()=>tP});var a=i(474848),s=i(296540),n=i(665673),r=i(722834),o=i(750142),l=i(172612),d=i(161648),c=i(153702),u=i(78272),g=i(868441),p=i(677127),f=i(744718),m=i(196168);let h=function(e){let{user:t,onModeChange:i=m.A,dismissable:h}=e,x=(0,n.A)(),A=(0,o.jL)(),b=(0,s.useCallback)(()=>{A((0,l.BD)(t.email))},[A,t]),M=(0,s.useCallback)(()=>i("login"),[i]),y=x.formatMessage({id:"SR8Gd02QjjG-Upq4OShh",defaultMessage:"A reset link has been sent to your email",description:"Modal title after password reset link has been sent"}),v=x.formatMessage({id:"ueGidpG7IyuIipndpcY4",defaultMessage:"The reset link will expire in 24 hours. Please remember to check your spam folder.",description:"Instructions about password reset link expiry and spam folder"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:y,onBackButtonClick:M,dism
1issible:h}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)(u.A,{gap:24,children:[(0,a.jsx)(d.Ay,{variant:"large",weight:"bold",children:t.email}),(0,a.jsx)(d.Ay,{variant:"medium",children:v}),(0,a.jsx)(d.Ay,{variant:"medium",colour:"light-foreground-alt",children:(0,a.jsx)(r.A,{id:"OgSFcD_7PGjafjbK-NSm",defaultMessage:"Don’t see the email? <link>Resend the email</link>.",description:"Help text with link to resend the password reset email",values:{link:e=>(0,a.jsx)(c.A,{onClick:b,children:e})}})})]})})})]})};var x=i(336753),A=i(813328),b=i(955293),M=i(314953),y=i(320612),v=i(439714),j=i(952971),w=i(378717),k=i(267662),C=i(897729),P=i(107813),E=i(803556),L=i(871942),S=i(175160),T=i(516861),_=i(426317),I=i(136682);let D=function(e){let{user:t,onModeChange:i=m.A,onPendingSignUpOTPData:c=m.A,dismissable:u,signupContext:h,closeOnBack:D=!1}=e,q="leLiveLogin"===h,R=(0,n.A)(),O=(0,P.A)(),G=(0,s.useRef)(null),N=(0,s.useRef)(null),z=(0,o.GV)(E.W0),{currentRegionCode:V}=(0,s.useContext)(S.A),B=(0,o.GV)(e=>e.auth.error),F=(0,o.GV)(e=>e.auth.registrationValidated),H=(0,s.useRef)(null),W=(0,s.useRef)(null),[Y,U]=(0,s.useState)(""),[K,Z]=(0,s.use
1State)(null),Q=(0,s.useRef)(!1),J=(0,o.jL)(),X=(0,o.GV)(e=>e.auth.users[Y]),$=k.A.OTP_SIGN_UP_ENABLED,ee=V?.toUpperCase()==="AU",et=$&&ee,ei=!!t.email,ea=(0,I.$9)(k.A.BRAND),es=(0,s.useCallback)(()=>{if(W.current){let e=(0,b.Ry)(W.current),i=e.phoneNumber;delete e.phoneNumber;let a=i||t.phoneNumber;et&&a?(Z({...e,phone:a.phone,phonePrefix:a.prefix}),J((0,l.gk)({...e,phone:a.phone,phonePrefix:a.prefix}))):J((0,l.kz)({...e,...i?.phone&&{phone:i.phone,phonePrefix:i.prefix}},ei?"email":"phone"))}},[J,ei,et,t.phoneNumber]),en=(0,s.useCallback)(()=>{X?.exists?i("joinExistingAccount",Y):es()},[X,i,Y,es]);(0,s.useEffect)(()=>{z?O?.resolve({loggedIn:!0}):X?(Q.current=!1,en()):Q.current||U("")},[z,X]),(0,s.useEffect)(()=>{if(F&&K?.phone&&K.phonePrefix){let e={phone:K.phone,prefix:K.phonePrefix};J((0,l.VA)(e)),c(K),i("joinOTP"),Z(null)}},[F,K,J,c,i]),(0,s.useEffect)(()=>{(0,L.trackClientEvent)({subject:"sign_up_details",action:"impression",category:ei?"email":"phone",type:"operational"}),q?N.current?.focus():G.current?.focus()},[ei,q]);let er=(0,s.useCallback)(e=>{if(e.preventDefault(),ei)es();else{let i=(0,b.Ry)(e.currentTarget);X&&Y===i.email?en():(Q.current=!0,U(i.email),J((0,l.Oo)({email:i.email,phoneNumber:t.phoneNumber},H.current)))}},[J,ei,es,t,X,Y,en]),eo=(0,s.useCallback)(()=>{D?O.resolve({loggedIn:!1}):i("login")},[D,O,i]),el=q?R.formatMessage({id:"VUdoeW7Q1QB-kqDaj971",defaultMessage:"Almost there!",description:"Modal title for the simplified LE Live sign-up form"}):R.formatMessage({id:"LFdHXJIv2GHZENoCrG7W",defaultMessage:"Welcome",description:"Modal title for the sign-up form on the login or signup page"}),ed=ei?t.email:(0,_.n4)((0,_.cD)(t.phoneNumber?.phone),t.phoneNumber?.prefix),ec=R.formatMessage({id:"qI3yCJvIefvvd4V0pocL",defaultMessage:"First Name",description:"Input placeholder text for first name input on sign-up form"}),eu=R.formatMessage({id:"yMCDe33AdFwAwPBejTui",defaultMessage:"First name is required",description:"Validation error when first name is empty on sign-up"}),eg=R.formatMessage({id:"forMsLWoNmexvIDK-mad",defaultMessage:"First name",description:"Form field label for first name input on sign-up form"}),ep=R.formatMessage({id:"LOLRLNbafZ4Q-AbgS_C3",defaultMessage:"Please enter a valid first name",description:"Validation error when first name contains invalid characters"}),ef=R.formatMessage({id:"lkk7qov5lZA6JlCCn2Kp",defaultMessage:"Last Name",description:"Input placeholder text for last name input on sign-up form"}),em=R.formatMessage({id:"qVk59-TBBAd8ZRg0LfYK",defaultMessage:"Last name is required",description:"Validation error when last name is empty on sign-up"}),eh=R.formatMessage({id:"3MkAhOVLq1mijzgOOUpA",defaultMessage:"Last name",description:"Form field label for last name input on sign-up form"}),ex=R.formatMessage({id:"BYIvPmEpw57B2auMggj_",defaultMessage:"Please enter a valid last name",description:"Validation error when last name contains invalid characters"}),eA=R.formatMessage({id:"J-Wsp1oRE2INaa5AbraL",defaultMessage:"Phone number",description:"Form field label for phone number input on sign-up form"}),eb=R.formatMessage({id:"GUP0HvqiaA2hkG9GWbPN",defaultMessage:"Email address",description:"Label for email input on sign-up form on the login or signup page"}),eM=R.formatMessage({id:"ufKjACMx_4cM2-4jxWQc",defaultMessage:"Email",description:"Placeholder for email input on sign-up form when field is empty"}),ey=R.formatMessage({id:"HXRYLWTYYxUBLm7lXHJc",defaultMessage:"Email is required",description:"Form validation error when email is empty on sign-up"}),ev=R.formatMessage({id:"UHem78pNu9QHQiJi9gNk",defaultMessage:"Postcode",description:"Input placeholder text for the postcode input on sign-up form"}),ej=R.formatMessage({id:"T4iwKScc-BtUcamNSQuV",defaultMessage:"Postcode is required",description:"Validation error when postcode is empty on sign-up"}),ew=R.formatMessage({id:"iU-iFc_2311PdXubivlH",defaultMessage:"Postcode",description:"Form field label for the postcode input on sign-up form"}),ek=R.formatMessage({id:"RPUe7V9uAgMjA7jO92en",defaultMessage:"Password",description:"Input placeholder text for the password input on sign-up form"}),eC=R.formatMessage({id:"J_lDXjFMbkKkBqwer-Ea",defaultMessage:"Password is required",description:"Validation error when password is empty on sign-up"}),eP=R.formatMessage({id:"Xg9KC0gHy79s171RPHCp",defaultMessage:"Create password",description:"Form field label for the password input on sign-up form"}),eE=R.formatMessage({id:"CHwOlAdiV0c97glGlCnA",defaultMessage:"Create account",description:"Submit button text for sign-up form on the user account settings page"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:el,onBackButtonClick:eo,dismissible:u}),(0,a.jsx)(f.A,{children:(0,a.jsxs)(p.A,{children:[(0,a.jsx)("form",{name:"joinForm",onSubmit:er,ref:W,children:(0,a.jsxs)(C.A,{direction:"vertical",ga
1p:12,children:[(0,a.jsxs)(C.A,{direction:"vertical",gap:16,children:[B?.message&&(0,a.jsx)(A.A,{kind:"critical",children:B.message}),(0,a.jsxs)(d.Ay,{variant:"medium",children:[q&&(0,a.jsx)(r.A,{id:"Ml0vD7Sw-6-dAPjYvlOt",defaultMessage:"Create a password to claim your free tickets for <b>{identifier}</b>",description:"Instructional text for simplified LE Live sign-up showing the email being registered",values:{identifier:ed,b:e=>(0,a.jsx)("b",{children:e})}}),!q&&(0,a.jsx)(r.A,{id:"onVHCGv2jmO00Ex8yX-K",defaultMessage:"Let’s create an account for <b>{identifier}</b>",description:"Instructional text showing which email or phone number is being registered",values:{identifier:ed,b:e=>(0,a.jsx)("b",{children:e})}})]}),!q&&(0,a.jsxs)(C.A,{direction:"vertical",tabletDirection:"horizontal",tabletHorizontalAlign:"stretch",gap:12,children:[(0,a.jsx)(x.A,{id:"givenName",required:!0,type:"text",name:"givenName",placeholder:ec,autoComplete:"given-name",requiredErrorMessage:eu,ref:G,label:eg,pattern:"^(?=.*[^\\s])[^\\.\\$\\%\\&\\(\\)\\*!,@#\\d]*$",invalidErrorMessage:ep,minLength:2}),(0,a.jsx)(x.A,{id:"surname",required:!0,type:"text",name:"surname",placeholder:ef,autoComplete:"family-name",requiredErrorMessage:em,label:eh,pattern:"^(?=.*[^\\s])[^\\.\\$\\%\\&\\(\\)\\*!,@#\\d]*$",invalidErrorMessage:ex,minLength:2})]})]}),ei&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(v.A,{id:"email",name:"email",value:t.email}),!q&&(0,a.jsx)(j.A,{name:"phoneNumber",label:eA,required:ea||et,prefixCountry:V})]}),!ei&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(x.A,{label:eb,id:"email",required:!0,type:"email",name:"email",autoComplete:"email",placeholder:eM,requiredErrorMessage:ey,defaultValue:t.email}),(0,a.jsx)(v.A,{name:"phoneNumber.phone",value:t.phoneNumber?.phone}),(0,a.jsx)(v.A,{name:"phoneNumber.prefix",value:t.phoneNumber?.prefix})]}),k.A.signUp.showPostcode&&(0,a.jsx)(x.A,{id:"postcode",required:!0,type:"text",name:"postcode",placeholder:ev,autoComplete:"off",requiredErrorMessage:ej,label:ew}),(0,a.jsx)(v.A,{type:"text"}),(0,a.jsx)(x.A,{id:"password",required:!0,type:"password",name:"password",placeholder:ek,minLength:8,autoComplete:"new-password",requiredErrorMessage:eC,label:eP,ref:N}),(0,a.jsx)(y.A,{name:"agreeTandC","data-testid":"terms-and-privacy-agree-checkbox",required:!0,children:(0,a.jsx)(w.A,{})}),(0,a.jsx)(M.A,{kind:"primary",fit:"flex",type:"submit",size:"large",children:eE})]})}),k.A.RECAPTCHA_KEY&&(0,a.jsx)(T.A,{size:"invisible",sitekey:k.A.RECAPTCHA_KEY,ref:H})]})})]})};i(944114),i(218111),i(161701);var q=i(769939),R=i(671468),O=i(582544),G=i(45478),N=i(537824),z=i(137476),V=i(642415),B=i(731357),F=i(38267),H=i(547159);let W=F.Ay.div.withConfig({componentId:"sc-66cd764f-0"})(["display:flex;justify-content:space-between;align-items:center;gap:",";background:linear-gradient(96deg,#304dab 14.36%,#4c82df 85.9%);color:",";padding:",";border-radius:",";"],(0,B.D0)(16),e=>e.theme.palette.neutral.surface.staticWhite,(0,B.D0)(20),(0,B.D0)(8)),Y=F.Ay.div.withConfig({componentId:"sc-66cd764f-1"})(["display:flex;flex-direction:column;gap:",";"],(0,B.D0)(2)),U=(0,F.Ay)(d.Ay).withConfig({componentId:"sc-66cd764f-2"})(["color:inherit;"]),K=F.Ay.span.withConfig({componentId:"sc-66cd764f-3"})(["color:#00F1BD;"]),Z=function(){let e=(0,n.A)();return(0,a.jsxs)(W,{children:[(0,a.jsxs)(Y,{children:[(0,a.jsx)(U,{variant:"large",children:(0,a.jsx)(r.A,{id:"ULZguNSceZ1JYfnrE8xd",defaultMessage:"Sign up today to unlock a <bold>free preview</bold> <br></br>of our <bold><highlight>premium membership</highlight></bold>.",description:"Heading on the Free Preview signup modal banner promoting the free membership preview",values:{bold:e=>(0,a.jsx)(d.Ay,{as:"span",variant:"large",weight:"bold",children:e}),br:()=>(0,a.jsx)("br",{}),highlight:e=>(0,a.jsx)(K,{children:e})}})}),(0,a.jsx)(U,{variant:"small",children:e.formatMessage({id:"fOp66jQcWNxYEs3k6TGl",defaultMessage:"No credit card required",description:"Subtext beneath the heading on the Free Preview signup modal banner, noting no payment is needed"})})]}),(0,a.jsx)(H.A,{colour:"inherit",height:(0,B.D0)(20)})]})};var Q=i(629092),J=i(881126),X=i(24096),$=i(724633),ee=i(634164);i(22489),i(13579),i(720116),i(430531);var et=i(348327),ei=i(238780),ea=i(533121),es=i(811645),en=i(170946),er=i(842930
1),eo=i(825508),el=i(248307),ed=i(479396),ec=i(285214),eu=i(541395);let eg=(0,eo.Mz)(e=>(0,ec.iL)(e),e=>(0,ed.Yy)(e),e=>e.geo.airports,e=>e.checkout.cart.items,e=>e.experience.experiences,e=>(0,el.I)(e),e=>e.flights.searchV2Flights,e=>e.offer.offers,e=>(0,eu.A)(e),()=>(0,ea.v)(),(e,t,i,a,s,n,r,o,l,d)=>{let c=a[0];if(c){if("hotel"===c.itemType){let e=o[c.offerId],i=t.data.filter(e=>"hotel"===e.offerType);if(!l.hasRequiredData||!e||!t.hasRequiredData||!i?.length)return;let{grandTotal:s,savedPercentage:n}=l.data,r=i[0].itemViews[0];if("le"!==r.kind)return;let d=i.some(e=>e.isBundled),u=a.some(e=>"flight"===e.itemType);return{title:e.property?.name||r.primaryTitle,duration:c.duration,value:s,image:r.image,imageTitle:e.property?.name||r.primaryTitle,discountPercentage:n>0?n:0,isBundledWithFlights:d&&u}}else if("experience"===c.itemType){let e=s[c.experienceId];if(!l.hasRequiredData)return;let{grandTotal:t,savedPercentage:i}=l.data;return{title:e.name,durationLabel:d.formatMessage({id:"uYpOFAL0sNWQttEMZ9On",defaultMessage:"From",description:"Duration label prefix for experience price in sign-up offer details"}),value:t,image:e.images[0],imageTitle:e.images[0].title||e.name,discountPercentage:i}}else if("flight"===c.itemType){let t=e.data[0].item,a=i.find(e=>e.code===t.originAirportCode),s=i.find(e=>e.code===t.destinationAirportCode),n=c.flights[0]?.journeyId,o=Object.values(r).flatMap(e=>e?.fares[0]).find(e=>e?.id===n);return{title:d.formatMessage({id:"S4FyWagoLf4Wrhs1Kdj1",defaultMessage:"{origin} to {destination}",description:"Flight route title in sign-up offer details in the flights flow"},{origin:a?.name,destination:s?.name}),durationLabel:d.formatMessage({id:"HSG_Doy_vOadUvQgWAaI",defaultMessage:"{fareType} from",description:"Flight fare type label prefix in sign-up offer details"},{fareType:(0,ei.xF)(d,t.fareType)}),value:o?.price.all.totalRoundTripPrice||0,image:t.flights[0]?.carrierImage,imageTitle:t.flights[0]?.carrierImage?.title||"",addImagePadding:!0}}else if("tourV1"===c.itemType){let e=t.data.find(e=>"tour"===e.offerType);if(!e||!l.hasRequiredData)return;let{grandTotal:i,savedPercentage:a}=l.data;return{title:e.mainLabel,durationLabel:d.formatMessage({id:"WM5F8dY3uZsPooiZpWNj",defaultMessage:"{duration} from",description:"Tour v1 duration label prefix in sign-up offer details"},{duration:e.durationLabel}),value:i,image:e.image,imageTitle:e.mainLabel,discountPercentage:a>0?a:0}}else if("tourV2"===c.itemType){let e=t.data.find(e=>e.offerType===es.ab);if(!e||!l.hasRequiredData)return;let{grandTotal:i,savedPercentage:a}=l.data,s=n.get(c.occupancy),r=s?Array.from(s.values()):[],o=i||c.total||r[0].totalPrice||0;return{title:e.mainLabel,durationLabel:d.formatMessage({id:"k1lWC9K2mvO_F1fBRFwq",defaultMessage:"{duration} from",description:"Tour v2 duration label prefix in sign-up offer details"},{duration:e.durationLabel}),duration:c.duration,value:o,imageId:c.image.id,imageTitle:c.image.title||e.mainLabel,discountPercentage:a}}else if("car-hire"===c.itemType)return{title:c.offer.name,duration:(0,er.vZ)(c.dropOffDate,c.pickUpDate),value:c.price,image:c.offer.vehicle.image,imageTitle:c.offer.vehicle.image.title||c.offer.name,addImagePadding:!0};else if("cruise"===c.itemType){let e=t.data.filter(et.hi)[0],i=e?.offer;if(!i||!l.hasRequiredData)return;let{lowestOverallPriceDetails:a}=i.mainDepartureDetails,{discountPills:s}=a,{primaryPrice:n}=(0,en.Ok)(i,a),{grandTotal:r,savedPercentage:o}=l.data;return{title:e.mainLabel,duration:e.duration,value:r||n.total,image:e.image,imageTitle:e.image?.title||e.mainLabel,discountPercentage:o||s?.discountPercentage}}}});var ep=i(94111),ef=i(23307),em=i(194617),eh=i(955280),ex=i(32717),eA=i(63071);let eb=F.Ay.div.withConfig({componentId:"sc-fd1c61f4-0"})(["display:flex;border:1px solid ",";gap:",";padding:",";","{padding:0;}"],e=>e.theme.palette.neutral.surface.lightForeground,(0,B.D0)(12),(0,B.D0)(12),em.em.tablet),eM=(0,F.Ay)(C.A).withConfig({componentId:"sc-fd1c61f4-1"})(["padding:0;","{padding:",";padding-inline-end:0;}"],em.em.tablet,(0,B.D0)(12)),ey=F.Ay.div.withConfig({componentId:"sc-fd1c61f4-2"})(["display:flex;align-items:center;flex-shrink:0;width:auto;height:",";overflow:hidden;","{width:",";height:",";}img{height:100%;width:100%;max-width:",";object-fit:cover;}&.image-padding{padding:",";padding-inline-start:0;","{padding:0;}}"],(0,B.D0)(96),em.D5.mobile,(0,B.D0)(68),(0,B.D0)(68),(0,B.D0)(170),(0,B.D0)(12),em.D5.mobile),ev=(0,R.Ng)(function(e){return{checkoutOfferDetails:eg(e)}})(function(e){let t=(0,n.A)(),{hotelOfferDetails:i,checkoutOfferDetails:r,offerDetails:o}=e,l=i||r||o,d=l?.offer,c=l?.packageView,u=(l?.value??0)+(c?.propertyFees??0),{currentRegionCode:g}=(0,s.useContext)(S.A),p=(0,s.useMemo)(()=>[(0,eA.hx)(d,{packageView:c,currentRegionCode:g,nights:c?.package?.duration}),(0,eA.rW)(d,{packageView:c,skip:!l?.isBundledWithFlights})],[d,c,l?.isBundledWithFlights,g]);if(!l)return null;let f=l.durationLabel??"";return!l.durationLabel&&l.duration&&(f=l.isBundledWithFlights?t.formatMessage({id:"41XSdnhmY_alsWGQC5bc",defaultMessage:"{count, plural, one {# night} other {# nights}} + flights from",description:"Duration in nights with flights for account access offer preview"},{count:l.duration}):t.formatMessage({id:"i76S0_kbXfId10A_M-zf",defaultMessage:"{count, plural, one {# night} other {# nights}} from",description:'Duration in nights followed by "from" for account access offer preview'},{count:l.duration})),(0,a.jsxs)(eb,{children:[(0,a.jsxs)(eM,{direction:"vertical",ga
1p:4,fullWidth:!0,children:[(0,a.jsx)($.A,{variant:"medium",weight:"bold",lineClamp:2,children:l.title}),l.value>0&&!l.merchandiseVariant&&(0,a.jsx)(eh.A,{size:"S",caption:f,price:u,saleUnit:"total",discountPercentage:l.discountPercentage}),l.merchandiseVariant&&(0,a.jsx)(ep.A,{variant:l.merchandiseVariant,quantity:l.quantity??1,direction:"horizontal",size:"S"}),(0,a.jsx)(ex.A,{calculationRequests:p,calculationType:"estimate"})]}),(0,a.jsx)(ey,{className:(0,ee.A)({"image-padding":l.addImagePadding}),children:(0,a.jsx)(ef.A,{id:l.imageId,image:l.image,alt:l.imageTitle,dpr:2,fit:l.addImagePadding?void 0:"center"})})]})});var ej=i(87654),ew=i(36548),ek=i(880667),eC=i(589775),eP=i(511686),eE=i(967761),eL=i(919427);let eS=(0,F.Ay)(C.A).withConfig({componentId:"sc-4225fb80-0"})(["background-image:url(",");background-position:center;background-size:100%;padding:"," ",";height:",";","{padding:"," ",";height:",";}"],(0,eE.VG)("tour-catalogue-background-header"),(0,B.D0)(10),(0,B.D0)(20),(0,B.D0)(155),em.em.tablet,(0,B.D0)(24),(0,B.D0)(48),(0,B.D0)(225)),eT=(0,F.Ay)(eL.Ay).withConfig({componentId:"sc-4225fb80-1"})(["width:",";","{width:",";}"],(0,B.D0)(175),em.em.tablet,(0,B.D0)(235)),e_=function(){return(0,a.jsx)(eS,{direction:"vertical",gap:16,horizontalAlign:"start",verticalAlign:"center",children:(0,a.jsx)(eT,{colour:"dark-contrast",variant:"heading2",align:"start",children:(0,a.jsx)(r.A,{id:"dUxxZROyhoYUciKoa1Ut",defaultMessage:"Log in to <i>unlock</i> this catalogue",description:"Heading text on tour catalogue login header with italicised unlock",values:{i:e=>(0,a.jsx)("i",{children:e})}})})})};var eI=i(729738),eD=i(591461),eq=i(580148),eR=i(997305),eO=i(465375),eG=i(643146),eN=i(893227);let ez=F.Ay.div.withConfig({componentId:"sc-6cb9106a-0"})(["display:flex;align-items:center;gap:",";&::after,&::before{content:'';flex:1;border-top:1px solid ",";display:block;}"],(0,B.D0)(12),e=>e.theme.palette.neutral.surface.lightForeground),eV=F.Ay.div.withConfig({componentId:"sc-6cb9106a-1"})(["border-top:1px solid ",";padding-top:",";"],e=>e.theme.palette.neutral.surface.lightForeground,(0,B.D0)(24)),eB=(0,R.Ng)(function(e){return{error:e.auth.error,isStoreMode:e.system.storeMode}})(function(e){let{error:t,isStoreMode:i,mode:r,onModeChange:c=m.A,hotelOfferDetails:h,offerDetails:x,dismissable:y,applePrivateEmailData:v,setApplePrivateEmailData:j,guestCheckoutEnabled:S}=e,_=(0,s.useRef)(null),[I,D]=(0,s.useState)(""),R=(0,o.GV)(e=>e.auth.processing),B=(0,o.GV)(e=>e.auth.users[I]),F=(0,o.GV)(ej.VI),{shouldShowFreePreviewSignupPromo:H}=(0,eC.A)(),W=(0,o.GV)(E.W0),Y=(0,o.GV)(eP.A),U=(0,P.A)(),K=(0,eO.A)(),ee=(0,o.jL)(),et=(0,eN.av)(),ei=(0,n.A)(),ea=(0,o.GV)(eI.A),[es,en]=(0,s.useState)(0),{startEmailCheck:er,isCheckingEmail:eo,rejectionMessage:el}=(0,ek.A)(es);(0,s.useEffect)(()=>{if(!R&&B)return B.exists?void(v?ee((0,l.U_)(v)):c(B.maskedPhone?"loginPasswordOTP":"loginPassword",B.id)):v&&B.id?.endsWith("@privaterelay.appleid.com")?void c("applePrivateEmail",B.id):B.email?er(B,()=>c("join",B.id)):void c("join",B.id)},[B,R,es]),(0,s.useEffect)(()=>{(0,L.trackClientEvent)({subject:"sign_up_appear",action:"impression",category:"logging",type:"operational"})},[]),(0,s.useEffect)(()=>{W&&U?.resolve({loggedIn:!0})},[W]);let ed=(0,s.useRef)(null),ec=(0,s.useCallback)((e,t)=>{D(t),j(e),ee((0,l.Oo)({email:t},ed.current??void 0))},[ee,j]),eu=(0,s.useCallback)(()=>{(0,L.trackClientEvent)({subject:"guest_checkout_continue",action:"interaction",category:"logging",type:"operational"}),U?.resolve({loggedIn:!1,continueAsGuest:!0})},[U]),eg=(0,s.useCallback)(e=>{e.preventDefault();let t=(0,b.Ry)(e.currentTarget);(0,L.trackClientEvent)({subject:"sign_up_appear_continue",action:"interaction",category:t.phoneNumber?"phone":"email",type:"operational"}),D((t.phoneNumber?(0,l.dE)(t.phoneNumber):t.email)??""),en(e=>e+1),ee((0,l.Oo)(t,ed.current??void 0))},[ee]),ep="sharedCartInvite"===r,ef="bookingAuthorityInvite"===r,em="toursCatalogueLogin"===r,eh="phone"===K.get("login_method"),ex=eh?"phone":void 0,eA=k.A.FACEBOOK_APP_ID||k.A.GOOGLE_APP_ID||k.A.APPLE_APP_ID,eb=eh||K.has("hide_sso")&&!ef,eM=F||!!h||!!x,[ey]=(0,eG.A)(),eE=K.get("ownerName")??void 0,{title:eL,content:eS}=(0,s.useMemo)(()=>(({intl:e,isBookingFlow:t,mode:i,loyaltyEnabled:s,enabledBenefits:n,isMerchandise:r,loyaltyProgramDisplayName:o,bookingAuthorityOwnerName:l})=>
1{if("wishlistLogin"===i)return{title:e.formatMessage({id:"81MaBWDjiLr7KbNDWUxJ",defaultMessage:"Log in or sign up to save your favourite offers",description:"Title for the wishlist login modal shown when a logged-out user clicks the wishlist nav button"}),content:[{Icon:(0,a.jsx)(Q.A,{}),text:e.formatMessage({id:"cZFQsZzxtp4ysHrXxvv1",defaultMessage:"Create wishlists to organise your dream trips",description:"Benefit text for creating wishlists in the wishlist login modal"})},{Icon:(0,a.jsx)(J.A,{}),text:e.formatMessage({id:"z0QCotovz6Bw4TukudxF",defaultMessage:"Plan your perfect itinerary with AI",description:"Benefit text for AI trip planning in the wishlist login modal"})},{Icon:(0,a.jsx)(X.A,{}),text:e.formatMessage({id:"zFjToKS5qEQ8DTbjmHLd",defaultMessage:"Explore must-see attractions",description:"Benefit text for exploring attractions in the wishlist login modal"})}]};if("tripPlannerLogin"===i)return{title:e.formatMessage({id:"c1hqruFJKvpSB-77Qqas",defaultMessage:"Sign up to start planning your next escape",description:"Title for trip planner login modal in the trip planner feature"}),content:[{Icon:(0,a.jsx)(Q.A,{}),text:e.formatMessage({id:"gB1Lxnf51n92WaT3J-CT",defaultMessage:"Save your favourite offers",description:"Benefit text for saving favourite offers on the offer page"})},{Icon:(0,a.jsx)(J.A,{}),text:e.formatMessage({id:"Y_W4IEGYjZHrTiDgzaxZ",defaultMessage:"Easily plan your perfect trip",description:"Benefit text for planning trips in the trip planner feature"})},{Icon:(0,a.jsx)(X.A,{}),text:e.formatMessage({id:"z6ht1GYxd_qSe6HtdQCy",defaultMessage:"Explore must-see attractions",description:"Benefit text for exploring attractions in the loyalty benefits section"})}]};if("tripPlannerPagesLogin"===i)return{title:e.formatMessage({id:"__b1vVj9EAoorv3QQh_K",defaultMessage:"You’re one step away from your dream itinerary",description:"Title for trip planner pages login modal in the trip planner"}),content:[{Icon:(0,a.jsx)(Q.A,{}),text:e.formatMessage({id:"gB1Lxnf51n92WaT3J-CT",defaultMessage:"Save your favourite offers",description:"Benefit text for saving favourite offers on the offer page"})},{Icon:(0,a.jsx)(J.A,{}),text:e.formatMessage({id:"Y_W4IEGYjZHrTiDgzaxZ",defaultMessage:"Easily plan your perfect trip",description:"Benefit text for planning trips in the trip planner feature"})},{Icon:(0,a.jsx)(X.A,{}),text:e.formatMessage({id:"z6ht1GYxd_qSe6HtdQCy",defaultMessage:"Explore must-see attractions",description:"Benefit text for exploring attractions in the loyalty benefits section"})}]};if("requestAgentCallbackLogin"===i)return{title:e.formatMessage({id:"Xdfl9j4YR-HqZlsZsdSL",defaultMessage:"Log in to request a callback",description:"Title for request agent callback login modal in the agent portal"}),content:[{Icon:(0,a.jsx)(G.A,{}),text:e.formatMessage({id:"lHcEQjNoZXd9yl02yfxC",defaultMessage:"Unlock thousands of exclusive offers",description:"Benefit text for unlocking exclusive offers on the offer page"})},{Icon:(0,a.jsx)(N.A,{}),text:e.formatMessage({id:"xMUlykR0QTZx8ckjTyM8",defaultMessage:"Over a million trips taken every year",description:"Benefit text about trips taken in the trip planner feature"})},{Icon:(0,a.jsx)(z.A,{}),text:e.formatMessage({id:"4Z97Vg_eYdCHgliitUDp",defaultMessage:"Our local team are available 24 hours, 7 days",description:"Benefit text about local team availability in the benefits list"})}]};if("supportLogin"===i)return{title:e.formatMessage({id:"1HYQMRzetkoAW__8_5v8",defaultMessage:"Log in or sign up so we can help",description:"Modal title prompting the user to log in or sign up before accessing support chat"}),content:[]};else if("employeeOfferLogin"===i)return{title:e.formatMessage({id:"376A5RdbAVXnZeLBSLmG",defaultMessage:"Log in to your Luxury Escapes account to unlock your employee benef
1it",description:"Modal title prompting a Luxury Escapes employee to log in before viewing the staff-only credit card offer"}),content:[]};else if("leLiveLogin"===i)return{title:e.formatMessage({id:"qOq00WjiFRE1f4SHacWB",defaultMessage:"Login to claim your free tickets",description:"Heading title for LE Live event registration login modal"}),content:[{Icon:(0,a.jsx)(G.A,{}),text:e.formatMessage({id:"tM2BGuNawrIvGhuGTy_z",defaultMessage:"Thousands in prizes & giveaways",description:"Prizes benefit text for LE Live login modal in the account access section"})},{Icon:(0,a.jsx)(N.A,{}),text:e.formatMessage({id:"BUlUqhAao4Tb2xJauUL4",defaultMessage:"Exclusive event-only offers",description:"Exclusive offers benefit text for LE Live login modal"})},{Icon:(0,a.jsx)(J.A,{}),text:e.formatMessage({id:"oGARSf1JsZbAUF_ajqQC",defaultMessage:"50+ local & international exhibitors, plus travel insiders and experts",description:"Exhibitors benefit text for LE Live login modal in the account access section"})}]};else if("loyaltyLogin"===i){let t=[{Icon:(0,a.jsx)(eD.A,{}),text:e.formatMessage({id:"lBBmLSBUSxxlWLeOfGBa",defaultMessage:"Upgrade your stay",description:"Benefit text for upgrading stay in the loyalty benefits section"})},{Icon:(0,a.jsx)(eq.A,{}),text:e.formatMessage({id:"kLMU7eG_SLb2kcw_HEBW",defaultMessage:"Start your escape with chauffeur transfers",description:"Benefit text for chauffeur transfers in the airport transfer booking section"})}];return n?.lounge_pass&&t.push({Icon:(0,a.jsx)(eR.A,{}),text:e.formatMessage({id:"qazfNik9HBAIPmhcdA-W",defaultMessage:"Lounge in comfort before your flight",description:"Benefit description text for the airport lounge pass inclusion in the offer"})}),{title:e.formatMessage({id:"sqCxAC7M_4c6lvaRi2gW",defaultMessage:"Join {programName} and elevate your escapes",description:"Modal title encouraging the user to join the loyalty program and elevate their escapes"},{programName:o}),content:t}}else if("loyaltyTierUpgradeCampaignLogin"===i)return{title:e.formatMessage({id:"Sd7Yo7woNs-giIDlHPQC",defaultMessage:"Log in to activate your {programName} Status",description:"Title for the loyalty tier upgrade activation login modal"},{programName:o}),content:[]};else if("statusMatchLogin"===i)return{title:e.formatMessage({id:"zyrx6TC1hfWN2ho9rw2l",defaultMessage:"Log in to apply for Status Match",description:"Title for the status match application login modal"}),content:[]};else if("sharedCartInvite"===i)return{title:e.formatMessage({id:"jltxOpAANZbLrEvAPpoQ",defaultMessage:"You have been invited to join a shared cart",description:"Title for shared cart inv
1ite login modal in the cart view"}),content:[]};else if("bookingAuthorityInvite"===i)return l?{title:e.formatMessage({defaultMessage:"{ownerName} has invited you to their trip.",id:"Un4nQXL59DiUjrbAfCgM",description:"Title for booking authority invite login modal when invite owner name is known"},{ownerName:l}),content:[]}:{title:e.formatMessage({defaultMessage:"You’ve been invited to a booking",id:"qJ9upjz5zQZmiGmShiBC",description:"Fallback title for booking authority invite login modal when invite owner name is not provided"}),content:[]};else if(r)return{title:e.formatMessage({id:"IMFLlZnP2xwYh17ydj3Y",defaultMessage:"Log in or sign up to view this product",description:"Title for merchandise login modal in the merchandise shop section"}),content:[]};else return{title:t?e.formatMessage({id:"HvqML6ar9RckPoJ8ChLB",defaultMessage:"Log in or sign up to book this exclusive member offer",description:"Title for booking flow login modal in the booking or order summary view"}):e.formatMessage({id:"vMrSRp5LND0SRQNWJJIV",defaultMessage:"Exclusive prices and more with every booking",description:"Default title for the login modal promoting exclusive prices and member benefits"}),content:[{Icon:(0,a.jsx)(G.A,{}),text:e.formatMessage({id:"lHcEQjNoZXd9yl02yfxC",defaultMessage:"Unlock thousands of exclusive offers",description:"Benefit text for unlocking exclusive offers on the offer page"})},{Icon:(0,a.jsx)(N.A,{}),text:s?e.formatMessage({id:"p632CLlbjOWXnIFEb04M",defaultMessage:"Earn & redeem points with every booking",description:"Benefit text for earning and redeeming points in the account access section"}):e.formatMessage({id:"xMUlykR0QTZx8ckjTyM8",defaultMessage:"Over a million trips taken every year",description:"Benefit text about trips taken in the trip planner feature"})},{Icon:(0,a.jsx)(z.A,{}),text:e.formatMessage({id:"4Z97Vg_eYdCHgliitUDp",defaultMessage:"Our local team are available 24 hours, 7 days",description:"Benefit text about local team availability in the benefits list"})}]}})({intl:ei,isBookingFlow:eM,mode:r,loyaltyEnabled:Y,enabledBenefits:ey?.regionEnabledBenefits,isMerchandise:!!x?.merchandiseVariant,loyaltyProgramDisplayName:ea,bookingAuthorityOwnerName:eE}),[ei,eM,r,Y,x?.merchandiseVariant,ey?.regionEnabledBenefits,ea,eE]),eT="loyaltyTierUpgradeCampaignLogin"===r,eB="statusMatchLogin"===r,eF="employeeOfferLogin"===r,eH=k.A.LOGIN_TRUST_INDICATORS&&!eM&&!em&&!ef&&!eT&&!eB&&!eF;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(O.A,{visible:eo,floating:!0}),(0,a.jsx)(g.Ay,{title:eL,dismissible:y,isOverlay:em}),(0,a.jsxs)(f.A,{children:[em&&(0,a.jsx)(e_,{}),(0,a.jsx)(p.A,{flushVerticalTop:!!ef,children:(0,a.jsxs)(u.A,{gap:24,children:[(0,a.jsxs)(u.A,{ref:_,gap:24,as:"form",onSubmit:eg,name:"loginForm",children:[t?.message&&(0,a.jsx)(A.A,{kind:"critical",children:t.message}),!t?.message&&el&&(0,a.jsx)(A.A,{kind:"critical",children:el}),eM&&(0,a.jsx)(ev,{hotelOfferDetails:h,offerDetails:x}),ep&&(0,a.jsx)(d.Ay,{variant:"medium",children:ei.formatMessage({id:"ktTP0HMkPIKuxi4YWT86",defaultMessage:"Please log in or create an account to securely access this cart.",description:"Description text for shared cart inv
1ite in the shopping cart interface"})}),!eM&&!em&&!ep&&!ef&&!eT&&eS.length>0&&(0,a.jsx)(C.A,{direction:"vertical",gap:20,children:(0,a.jsx)(C.A,{direction:"vertical",gap:4,children:eS.map(({Icon:e,text:t})=>(0,a.jsx)($.A,{variant:"medium",startIcon:e,children:t},t))})}),H&&(0,a.jsx)(Z,{}),ef&&(0,a.jsx)(d.Ay,{variant:"medium",children:ei.formatMessage({id:"sd47eJT_7ekCoBpIVto_",defaultMessage:"Please log in or create an account to securely access this booking.",description:"Description text for booking authority invite in the account access section"})}),"loyaltyTierUpgradeCampaignLogin"===r&&(0,a.jsx)(d.Ay,{variant:"medium",children:ei.formatMessage({id:"Pser1VCqwnfmZk2r4xjo",defaultMessage:"To activate your complimentary {programName} Status, please log in or create a Luxury Escapes account.",description:"Description text for the loyalty tier upgrade activation login modal"},{programName:ea})}),"statusMatchLogin"===r&&(0,a.jsx)(d.Ay,{variant:"medium",children:ei.formatMessage({id:"u4A7qpp2D3VmlMT27WFm",defaultMessage:"To submit your status match application, please log in or create a Luxury Escapes account.",description:"Description text for the status match application login modal"})}),eH&&(0,a.jsx)(C.A,{direction:"horizontal",horizontalAlign:"center",children:(0,a.jsx)(V.A,{})}),(0,a.jsxs)(C.A,{direction:"vertical",gap:32,tabletGap:24,children:[(0,a.jsx)(ew.A,{loginMethod:ex,showLastUsedTag:!ex&&("email"===et||"phone"===et||"otp"===et)}),(0,a.jsx)(M.A,{kind:"primary",size:"large",type:"submit",disabled:eo,children:ei.formatMessage({id:"l-OntyzIV9NVn1GxzNSI",defaultMessage:"Continue",description:"Button text to continue to the next step in the multi-step booking flow"})})]}),k.A.RECAPTCHA_KEY&&(0,a.jsx)(T.A,{size:"invisible",sitekey:k.A.RECAPTCHA_KEY,ref:ed})]}),!i&&eA&&!eb&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ez,{children:(0,a.jsx)(d.Ay,{colour:"light-foreground-alt",variant:"medium",children:ei.formatMessage({id:"pvuuq7EvzXo38JF3v2OL",defaultMessage:"Other ways to log in",description:"Text for social login section divider on the login or signup page"})})}),(0,a.jsx)(q.A,{mode:"login",inline:!0,onPrivateAppleEmailLogin:ec,lastUsedLoginMethod:et})]}),(0,a.jsx)(w.A,{}),S&&(0,a.jsx)(eV,{children:(0,a.jsxs)(u.A,{gap:12,children:[(0,a.jsx)(M.A,{kind:"secondary",size:"large",fit:"full-width","data-testid":"continue-as-guest-button",onClick:eu,children:ei.formatMessage({id:"GO3r1j1m5MwmZMLDD89F",defaultMessage:"Continue without signing in",description:"Button in the login modal that lets metasearch customers go straight to checkout without a sign-in step"})}),(0,a.jsx)(w.A,{modalType:"guestCheckout"})]})})]})})]})]})});var eF=i(845390),eH=i(814888),eW=i(18815),eY=i(720941);let eU=F.Ay.div.withConfig({componentId:"sc-6932340a-0"})(["display:flex;align-items:center;width:100%;gap:",";&::after,&::before{content:'';flex:1;border-top:1px solid ",";display:block;}"],(0,B.D0)(12),e=>e.theme.palette.neutral.surface.lightForeground),eK=(0,R.Ng)(function(e){return{error:e.auth.error,processing:e.auth.processing,isStoreMode:e.system.storeMode}})(function(e){let{error:t,processing:i,user:h,isStoreMode:x,otpEnabled:y,onModeChange:j=m.A,dismissable:w,hideBackButton:S}=e,_=(0,n.A)(),[I,D]=(0,s.useState)(!1),q=(0,P.A)(),R=(0,s.useRef)(null),O=(0,o.GV)(E.W0),G=(0,eH.xF)("mobile"),N=(0,s.useContext)(eY.A).defaultContact,z
1=(0,o.GV)(e=>e.router.location.pathname)+(0,o.GV)(e=>e.router.location.search);(0,s.useEffect)(()=>{!I||i||t||j("loginOTP")},[I,i,t]),(0,s.useEffect)(()=>{O&&q?.resolve({loggedIn:!0})},[O]),(0,s.useEffect)(()=>{let e=h.email?"email":"phone";h.maskedPhone?(0,L.trackClientEvent)({subject:"sign_in_password_or_otp",action:"impression",category:e,type:"operational"}):(0,L.trackClientEvent)({subject:"sign_in_password",action:"impression",category:e,type:"operational"}),G&&h.maskedPhone||R.current?.focus()},[]);let V=(0,o.jL)(),B=(0,s.useRef)(null),F=(0,s.useCallback)(()=>{h.email&&(V((0,l.BD)(h.email,z)),j("forgotPassword"))},[V,j,h,z]),H=(0,s.useCallback)(async e=>{e.preventDefault();let t=(0,b.Ry)(e.currentTarget),i=await B.current?.executeAsync();i&&V((0,l.iD)(h,t.password,i))},[V,h]),W=(0,s.useCallback)(()=>{V((0,l.Qq)(h)),D(!0)},[V,h]),Y=(0,s.useCallback)(()=>j("login"),[j]),U=_.formatMessage({id:"21HdeiSfYnuzMMWXBjyG",defaultMessage:"Welcome back",description:"Modal title for the login password form on the login or signup page"}),K=_.formatMessage({id:"UbwTVSOrmteWPlzL8-9M",defaultMessage:"Something went wrong. Please try again.",description:"Generic server error message on login password form"}),Z=_.formatMessage({id:"_E7EubEmaia87hh9opD2",defaultMessage:"Password",description:"Label for password input on login form on the login or signup page"}),Q=_.formatMessage({id:"olLJPmhirn8DzF2ZMTID",defaultMessage:"Password",description:"Placeholder for password input on login form when field is empty"}),J=_.formatMessage({id:"nw3rYlmMfCzBrPT_YjMq",defaultMessage:"Password is required",description:"Form validation error when password is empty on login"}),X=_.formatMessage({id:"fh6_OdnO5rJp2gw_xexn",defaultMessage:"Log in with password",description:"Button text to log in with password when phone OTP is also available"}),$=_.formatMessage({id:"WGSdj5cWhYv6Jl_p_sHZ",defaultMessage:"Log in",description:"Action button label to log in with password in the account access section"}),ee=_.formatMessage({id:"N5DZh5Kzf6epuxAsDSK1",defaultMessage:"Forgot your password?",description:"Link text to initiate password reset on login form"}),et=_.formatMessage({id:"Z0m1f1f7dsAJ6z_90Cgq",defaultMessage:"Log in with email",description:"Link text to switch to email login when logging in with phone"}),ei=_.formatMessage({id:"ap5sfJYsVZqznGZiIise",defaultMessage:"or",description:"Divider text between password login and OTP login options"}),ea=_.formatMessage({id:"LiU3RpkeJG7SccReFhLp",defaultMessage:"Send me a verification code",description:"Button text to request OTP verification code via SMS"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:U,onBackButtonClick:S?void 0:Y,dismissible:w}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)(u.A,{gap:24,as:"form",onSubmit:H,name:"loginForm",children:[t?.status===500&&(0,a.jsx)(A.A,{kind:"critical",children:K}),t?.message&&500!==t.status&&(0,a.jsx)(A.A,{kind:"critical",children:t.message}),(0,a.jsxs)(u.A,{gap:16,children:[(0,a.jsxs)("fieldset",{children:[(0,a.jsx)(v.A,{id:"email",name:"email",value:h.email}),(0,a.jsx)(eF.A,{label:Z,id:"password",required:!0,name:"password",placeholder:Q,requiredErrorMessage:J,ref:R}),(0,a.jsxs)(C.A,{direction:"vertical",gap:16,horizontalAlign:"center",children:[(0,a.jsx)(M.A,{kind:"primary",size:"large",type:"submit",fit:"flex",children:h.maskedPhone?X:$}),!x&&(0,a.jsxs)(a.Fragment,{children:[h.email&&(0,a.jsx)(c.A,{onClick:F,size:"medium",children:ee}),!h.email&&(0,a.jsx)(c.A,{onClick:()=>j("login",""),size:"medium",children:et})]}),y&&h.maskedPhone&&(0,a.jsxs)(C.A,{direction:"vertical",gap:16,horizontalAlign:"center",fullWidth:!0,children:[(0,a.jsx)(eU,{children:(0,a.jsx)(d.Ay,{colour:"light-foreground-alt",variant:"medium",children:ei})}),(0,a.jsx)(M.A,{kind:"secondary",size:"large",fit:"flex",onClick:W,children:ea}),(0,a.jsx)(d.Ay,{variant:"medium",children:(0,a.jsx)(r.A,{id:"q6kqdRp614wi1ZHGkcl_",defaultMessage:"SMS will be sent to <strong>{maskedPhone}</strong>",description:"Help text showing where the OTP SMS will be sent in the account access section",values:{maskedPhone:h.maskedPhone,strong:e=>(0,a.jsx)("strong",{children:e})}})})]})]}),t?.status===500&&(0,a.jsx)(eW.A,{contactNumber:N})]}),k.A.RECAPTCHA_KEY&&(0,a.jsx)(T.A,{size:"invisible",sitekey:k.A.RECAPTCHA_KEY,ref:B})]})]})})})]})});var eZ=i(269685),eQ=i(227571);let eJ=(0,R.Ng)(function(e){return{error:e.auth.error}})(function(e){let{error:t,token:i,callbackPath:r,dismissable:c,onTokenInvalid:h=m.A}=e,M=(0,n.A)(),y=(0,s.useRef)(null),v=(0,o.jL)(),j=(0,P.A)(),w=(0,o.GV)(E.W0),k=(0,o.GV)(e=>e.auth.processing),L=(0,o.GV)(e=>
1e.auth.error),[S,T]=(0,s.useState)(!1),[_,I]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(S&&!k){if(T(!1),(0,eZ.bG)(L))return void h();w&&!L&&j.resolve({loggedIn:!0})}},[S,k,w,L]),(0,s.useEffect)(()=>{y.current?.focus()},[]);let D=M.formatMessage({id:"ORjwEpKfCMQNP4YJF0QJ",defaultMessage:"Passwords do not match",description:"Validation error when password and confirmation do not match during reset"}),q=(0,s.useCallback)(e=>{e.preventDefault();let{password:t,confirmPassword:a}=(0,b.Ry)(e.currentTarget);t!==a?I(D):(I(null),T(!0),v((0,l.cw)(i,t,r)))},[v,i,r,D]),R=M.formatMessage({id:"Uqhen_Xhri9iUBpScM6J",defaultMessage:"Update your password",description:"Modal title for the password reset form in the date selection or calendar picker"}),O=M.formatMessage({id:"9gxlu0gYd5Mvi02LqDf7",defaultMessage:"Enter a new password",description:"Instruction text on password reset form in the account access section"}),G=M.formatMessage({id:"zqbQr3mb_XyfFQLkfIYw",defaultMessage:"New password",description:"Form field label for new password input on the reset form"}),N=M.formatMessage({id:"PMd8A1J0FkoxAN7U-L3_",defaultMessage:"New password",description:"Input placeholder text for new password input on the reset form"}),z=M.formatMessage({id:"pIsIt2WkoUOn_K3NBvmh",defaultMessage:"Password is required",description:"Validation error when new password field is empty during reset"}),V=M.formatMessage({id:"cK_P_mdouZS2F0j4KYDP",defaultMessage:"Minimum 8 characters",description:"Help text showing minimum password length requirement"}),B=M.formatMessage({id:"ZE2UhGNMFlzWtKwUtGj5",defaultMessage:"Confirm new password",description:"Form field label for confirm password input on the reset form"}),F=M.formatMessage({id:"OxKJdOir0lcgJxsEzKBk",defaultMessage:"Confirm new password",description:"Placeholder for confirm password input on reset form"}),H=M.formatMessage({id:"3S1vJ6axJ1fvMS4Wu4fb",defaultMessage:"Password confirmation is required",description:"Validation error when confirm password field is empty during reset"}),W=M.formatMessage({id:"l1Di8nvcxdpjBovI7WJp",defaultMessage:"Re-enter the new password",description:"Help text for confirm password field during reset in the account access section"}),Y=M.formatMessage({id:"75R6Agycj8UTxqodBV6D",defaultMessage:"Change password",description:"Primary button text to submit password reset form in the account access section"});return(0,a.jsxs)("form",{onSubmit:q,name:"forgotPasswordForm",children:[(0,a.jsx)(g.Ay,{title:R,dismissible:c}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)(u.A,{gap:24,children:[(0,a.jsxs)(C.A,{direction:"vertical",gap:20,children:[t?.message&&(0,a.jsx)(A.A,{kind:"critical",children:t.message}),_&&(0,a.jsx)(A.A,{kind:"critical",children:_}),(0,a.jsx)(d.Ay,{variant:"large",children:O})]}),(0,a.jsx)(x.A,{id:"password",type:"password",name:"password",label:G,placeholder:N,requiredErrorMessage:z,ref:y,minLength:8,required:!0,helpText:V}),(0,a.jsx)(x.A,{id:"confirmPassword",type:"password",name:"confirmPassword",label:B,placeholder:F,requiredErrorMessage:H,minLength:8,required:!0,helpText:W})]})})}),(0,a.jsx)(eQ.A,{primaryActionProps:{children:Y,type:"submit"}})]})}),eX=function({dismissable:e}){let t=(0,n.A)(),[i,r]=(0,s.useState)(""),[o,l]=(0,s.useState)(!1),[c,m]=(0,s.useState)(!1),[h,b]=(0,s.useState)(),M=(0,s.useRef)(null);(0,s.useEffect)(()=>{M.current?.focus()},[]);let y=t.formatMessage({id:"3HoZT9I4iCEg7ooUsAG2",defaultMessage:"This password link has expired",description:"Title shown when a password reset link is expired, directing the customer to request a replacement link"}),v=t.formatMessage({id:"d8asHMo2TR5ZY5b2VOI2",defaultMessage:"Enter your email address and we’ll send you a new link to create your password.",description:"Instructions for requesting a fresh password reset link after an expired link"}),j=t.formatMessage({id:"YCOXr4_9WXxgSYVLJEEI",defaultMessage:"Email address",description:"Email address field label on the expired password reset link recovery form"}),w=t.formatMessage({id:"MqSPN4c2EcnzldVm74g5",defaultMessage:"Email address is required",description:"Validation message when the email field is empty on the expired password reset link recovery form"}),k=t.formatMessage({id:"fRHrxRwL5RnuH_iGwYnf",defaultMessage:"Send new link",description:"Button label to request a replacement password reset link after expiry"}),C=t.formatMessage({id:"YOOnqRabzLKAwB4XFYNw",defaultMessage:"Check your email",description:"Title shown after requesting a replacement password reset link"}),P=t.formatMessage({id:"uuc08OYbzbDOO_VKThhU",defaultMessage:"If an account exists for this email address, we’ve sent a new password link. It will expire in 24 hours.",description:"Generic confirmation after a replacement password reset link is requested"}),E=t.formatMessage({id:"ezMYwpTe8qmomnhltuzV",defaultMessage:"We couldn’t send a new link. Please try again.",description:"Error shown when requesting a replacement password reset link fails"}),L=(0,s.useCallback)(async e=>{e.preventDefault(),b(void 0),m(!0);try{await (0,eZ.ti)(i),l(!0)}catch{b(E)}finally{m(!1)}},[i,E]),S=(0,s.useCallback)(e=>{r(e.currentTarget.value)},[]);return o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:C,dismissible:e}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsx)(d.Ay,{variant:"large",children:P})})})]}):(0,a.jsxs)("form",{onSubmit:L,name:"expiredResetPasswordForm",children:[(0,a.jsx)(g.Ay,{title:y,dismissible:e}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)(u.A,{gap:24,children:[h&&(0,a.jsx)(A.A,{kind:"critical",children:h}),(0,a.jsx)(d.Ay,{variant:"large",children:v}),(0,a.jsx)(x.A,{id:"email",type:"email",name:"email",ref:M,label:j,autoComplete:"email",requiredErrorMessage:w,required:!0,value:i,onChange:S})]})})}),(0,a.jsx)(eQ.A,{primaryActionProps:{children:k,type:"submit",disabled:c}})]})};var e$=i(93762),e0=i(336363),e1=i(73659),e2=i(825060),e4=i(237644),e6=i(691944),e7=i(160191),e8=i(755373),e5=i.n(e8),e3=i(722664);let e9=function(e){let{onModeChange:t=m.A,onSubmit:i=m.A,defaultUser:u,dismissable:h}=e,y=(0,n.A)(),v=(0,o.jL)(),j=(0,s.useContext)(e2.A),[E,L]=(0,s.use
1State)(""),[S,_]=(0,s.useState)(!1),I=(0,o.GV)(e=>e.auth.processing),D=(0,o.GV)(e=>e.auth.users[E]),q=(0,o.GV)(e=>e.agentHub.agentStatus[E]),R=(0,o.GV)(e=>e.auth.error),O=(0,s.useRef)(null),G=(0,s.useRef)(null),N=(0,s.useRef)(null),z=(0,P.A)(),V=(0,s.useCallback)(()=>{z.resolve(),j((0,a.jsx)(e4.A,{}))},[z,j]),B=(0,s.useCallback)(e=>{e.preventDefault();let t=(0,b.Ry)(e.currentTarget);L(t.email),i(t.email),v((0,l.Oo)({email:t.email},N.current??void 0)),v((0,e0.NG)(t.email))},[]);return(0,s.useEffect)(()=>{O.current?.reset(),G.current?.focus()},[]),(0,s.useEffect)(()=>{if(E&&!I&&q&&D){if(q.data?.action==="onboard"){if(D.exists){let e=e5().stringify({token:q.data.agentId});z.resolve(),v((0,e6.lW)(e7.c,e))}else t("agentResendActivation");return}if(D.exists&&q.data?.action==="login"){t("loginPassword"),L("");return}_(!0),L("")}},[E,I,q,z,D]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:"",dismissible:h}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)("form",{ref:O,name:"agentHubLoginForm","data-testid":"agent-hub-login-form",onSubmit:B,children:[(0,a.jsxs)(C.A,{direction:"vertical",gap:12,children:[(0,a.jsxs)(C.A,{direction:"vertical",gap:24,children:[R?.message&&(0,a.jsx)(A.A,{kind:"critical",children:R.message}),(0,a.jsx)(C.A,{direction:"horizontal",horizontalAlign:"center",children:(0,a.jsx)(e$.A,{})}),(0,a.jsxs)(C.A,{direction:"vertical",gap:4,children:[(0,a.jsx)(eL.Ay,{variant:"heading4",align:"center",children:y.formatMessage({id:"E_qc34FoP0_RMj_dkW1N",defaultMessage:"Earn commission on the world’s best travel deals through {displayShortName}",description:"Agent Hub login form title promoting agent benefits"},{displayShortName:e3.X.displayShortName})}),(0,a.jsx)(d.Ay,{variant:"medium",align:"center",children:y.formatMessage({id:"P2dCMvqky-_LHHbEYbYA",defaultMessage:"Savings for your clients, commission in your pocket",description:"Agent Hub login form subtitle promoting agent benefits"})})]}),(0,a.jsxs)(C.A,{direction:"vertical",gap:12,children:[(0,a.jsx)(x.A,{label:y.formatMessage({id:"xd8kCUKuJNwenrB0AK4V",defaultMessage:"Email address",description:"Agent Hub login email input label in the travel agent hub portal"}),required:!0,type:"email",name:"email",autoComplete:"email",placeholder:y.formatMessage({id:"demJ_P8GYNhsDCDtWsql",defaultMessage:"Email",description:"Agent Hub login email input placeholder in the travel agent hub portal"}),requiredErrorMessage:y.formatMessage({id:"ZsvROTxPDbGcASad07L8",defaultMessage:"Email is required",description:"Agent Hub login email required validation error in the agent hub portal"}),ref:G,onChange:function(){_(!1),G.current?.setCustomValidity("")},defaultValue:u?.email}),S&&(0,a.jsx)(e1.Ay,{variant:"medium",colour:"critical",children:(0,a.jsx)(r.A,{id:"6uw8jlsiFgw_RjqlAl5y",defaultMessage:"This {displayShortName} account does not exist. Try again or <link>Register Now</link>",description:"Agent Hub login error message with register link in the agent hub portal",values:{displayShortName:e3.X.displayShortName,link:e=>(0,a.jsx)(c.A,{size:"caption",onClick:V,weight:"regular",children:e})}})}),(0,a.jsx)(M.A,{kind:"primary",size:"large","data-testid":"to-login-continue",type:"submit",fit:"flex",children:y.formatMessage({id:"3tuZGn3h9IGer7Cyh-L6",defaultMessage:"Continue",description:"Agent Hub login form continue button in the travel agent hub portal"})})]})]}),(0,a.jsx)(w.A,{})]}),k.A.RECAPTCHA_KEY&&(0,a.jsx)(T.A,{size:"invisible",sitekey:k.A.RECAPTCHA_KEY,ref:N})]})})})]})};var te=i(617823),tt=i(582649);async function ti(){let e=(0,tt.createOidcUserManager)();await e.signinRedirect()}var ta=i(415921);let ts=function({dismissable:e}){let t=(0,n.A)(),[i,r]=(0,s.useState)(!1),l=(0,P.A)(),c=(0,o.GV)(E.W0);(0,s.useEffect)(()=>{c&&l?.resolve({loggedIn:!0})},[c]);let u=(0,s.useCallback)(()=>{r(!0),ti().catch(e=>{r(!1),(0,ta.s)(e,{context:"oidcSignInRedirect"}).catch(()=>void 0),(0,te.t)(t.formatMessage({id:"MCKts9GjL1ZL5f1_-z0e",defaultMessage:"Could not start sign-in. Please try again.",description:"Error snackbar shown when the agent hub OIDC sign-in redirect fails to start"}),"critical")})},[t]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:"",dismissible:e}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)(C.A,{direction:"vertical",ga
1p:24,"data-testid":"agent-hub-login-v2-form",children:[(0,a.jsx)(C.A,{direction:"horizontal",horizontalAlign:"center",children:(0,a.jsx)(e$.A,{})}),(0,a.jsxs)(C.A,{direction:"vertical",gap:4,children:[(0,a.jsx)(eL.Ay,{variant:"heading4",align:"center",children:t.formatMessage({id:"fqXEN6y4cfbCyzLCFwi0",defaultMessage:"Welcome back!",description:"Title on the agent hub Auth V2 (OIDC) login modal shown above the sign-in button"})}),(0,a.jsx)(d.Ay,{variant:"medium",align:"center",children:t.formatMessage({id:"vpwWvhmMcLEoYRb6qSSa",defaultMessage:"Sign in to access your {displayShortName} portal.",description:"Subtitle on the agent hub Auth V2 (OIDC) login modal shown beneath the welcome title"},{displayShortName:e3.X.displayShortName})})]}),(0,a.jsx)(M.A,{kind:"primary",size:"large","data-testid":"agent-hub-login-v2-button",fit:"flex",disabled:i,onClick:u,children:t.formatMessage({id:"1hLDTxBcMHmdzmyfXnK3",defaultMessage:"Sign in with email and password",description:"Agent Hub OIDC login button that starts the sign-in redirect"})}),(0,a.jsx)(w.A,{})]})})})]})};var tn=i(547965);let tr=(0,R.Ng)(e=>({authError:e.auth.error,isAuthProcessing:e.auth.processing}))(function(e){let{authError:t,isAuthProcessing:i,user:r,onModeChange:u=m.A}=e,h=(0,n.A)(),x=(0,o.jL)(),y=(0,P.A)(),j=(0,o.GV)(E.W0),w=(0,s.useRef)(null),L=(0,s.useRef)(null),S=(0,s.useRef)(null),_=(0,s.useCallback)(async e=>{e.preventDefault();let t=(0,b.Ry)(e.currentTarget),i=await S.current?.executeAsync();i&&x((0,l.iD)({email:t.email},t.password,i))},[]),I=(0,s.useCallback)(()=>{w.current?.reset(),u("forgotPassword"),x((0,l.BD)(r?.email||""))},[]);(0,s.useEffect)(()=>{L.current?.focus()},[]),(0,s.useEffect)(()=>{j&&y?.resolve({loggedIn:!0})},[j]);let D=(0,s.useCallback)(()=>{u("login")},[u]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:h.formatMessage({id:"lQza7dPBJSpshRgVhca_",defaultMessage:"Welcome back",description:"Title for the agent hub password login modal in the agent portal"}),onBackButtonClick:D}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)("form",{ref:w,name:"agentHubPasswordLoginForm","data-testid":"agent-hub-password-login-form",onSubmit:_,children:[(0,a.jsxs)(C.A,{direction:"vertical",gap:20,children:[!!t?.message&&(0,a.jsx)(A.A,{kind:"critical",children:t.message}),(0,a.jsx)(d.Ay,{variant:"medium",children:h.formatMessage({id:"GCCO1xvMg6WIzA_7DaQI",defaultMessage:"Please enter your password below to continue.",description:"Agent Hub password login form instructional body text"})}),(0,a.jsxs)(C.A,{direction:"vertical",children:[(0,a.jsx)(v.A,{name:"email",value:r.email}),(0,a.jsx)(eF.A,{label:h.formatMessage({id:"ghuu_eYjTMNDm_HSGEHv",defaultMessage:"Password",description:"Agent Hub password input label in the travel agent hub portal"}),required:!0,name:"password",placeholder:h.formatMessage({id:"hpsS3cfmdeymTFiDLRqv",defaultMessage:"Password",description:"Agent Hub password input placeholder in the travel agent hub portal"}),requiredErrorMessage:h.formatMessage({id:"N_u66Mtn7oC5vW-M4ni4",defaultMessage:"Password is required",description:"Validation error shown when the travel agent submits the Agent Hub login form without entering a password"}),ref:L}),(0,a.jsxs)(C.A,{direction:"vertical",gap:16,children:[(0,a.jsx)(M.A,{kind:"primary",size:"large",type:"submit",disabled:i,children:h.formatMessage({id:"BVSmDupKOFUhlGAPN1kO",defaultMessage:"Log in",description:"Agent Hub password login form submit button in the agent portal"})}),(0,a.jsx)(C.A,{direction:"horizontal",horizontalAlign:"center",children:(0,a.jsx)(c.A,{size:"medium",onClick:I,children:h.formatMessage({id:"Ys5WXugCcVFgDzwbfCay",defaultMessage:"Forgot your password?",description:"Agent Hub forgot password link text in the travel agent hub portal"})})})]})]})]}),k.A.RECAPTCHA_KEY&&(0,a.jsx)(T.A,{size:"invisible",sitekey:k.A.RECAPTCHA_KEY,ref:S})]})})})]})});var to=i(126698);async function tl(e){return(await to.Ay.post(`/api/agent/user/${e}/resend-activation-email`,{})).result}let td=function(e){let{requestedEmail:t,onModeChange:i=m.A}=e,l=(0,n.A)(),h=(0,P.A)(),x=(0,o.GV)(e=>e.agentHub.agentStatus[t]),A=(0,s.useCallback)(()=>{i("login")},[i]),b=(0,s.useCallback)(async()=>{x?.data?.agentId&&(await tl(x.data.agentId),h.resolve(),(0,te.t)(l.formatMessage({id:"3_05DoIwegoMihCzlNS0",defaultMessage:"Activation email sent.",description:"Agent Hub snackbar confirmation after resending activation email"}),"success"))},[x,h,l]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:l.formatMessage({id:"SacD1RqvaD25nLmjZXVz",defaultMessage:"Finish setting up your account",description:"Agent Hub resend activation email modal title in the agent hub portal"}),onBackButtonClick:A}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)(u.A,{gap:20,children:[(0,a.jsx)(d.Ay,{variant:"large",children:(0,a.jsx)(r.A,{id:"mzyq3plLiY_nYWSMzYwl",defaultMessage:"Your account setup is not yet complete. To continue with your account setup, we have sent an activation email to <bold>{requestedEmail}</bold>.{br}{br}Please check your inbox and follow the instructions provided in the email to continue.",description:"Message explaining account activation is incomplete with instructions to check email",values:{requestedEmail:t,bold:e=>(0,a.jsx)("b",{children:e}),br:(0,a.jsx)("br",{})}})}),!!x?.data?.agentId&&(0,a.jsx)(d.Ay,{variant:"large",children:(0,a.jsx)(r.A,{id:"OgSFcD_7PGjafjbK-NSm",defaultMessage:"Don’t see the email? <link>Resend the email</link>.",description:"Help text with link to resend the password reset email",values:{link:e=>(0,a.jsx)(c.A,{onClick:b,children:e})}})})]})})})]})};var tc=i(119405),tu=i(846341),tg=i(92081),tp=i(148400),tf=i(403483),tm=i(45667),th=i(193033);
1let tx=(0,tu.YK)({unavailable:{defaultMessage:"Google did not share a verified mobile number. Please enter your number manually.",id:"vj4oLs3mnh8Pytp4nXKK",description:"Shown when the Google phone API returns no eligible verified phone number for the customer."},cancelled:{defaultMessage:"Google phone sharing was cancelled. You can try again or enter your number manually.",id:"hqLRNVsg3FsJFQfwIQ-h",description:"Shown when a customer closes the Google phone popup or declines the requested permission."},popup_blocked:{defaultMessage:"The Google window could not open. Please allow popups for this site and try again.",id:"Pk6VL0rnGyqcK62gsDgn",description:"Shown when the browser prevents the Google phone permission popup from opening."},account_mismatch:{defaultMessage:"Please use the same Google account you used to sign up.",id:"TmiSexQzzaUFxEK6VOSR",description:"Shown when the Google phone permission is granted from a different Google account."},failed:{defaultMessage:"We could not get your phone number from Google. Please try again or enter it manually.",id:"mHoIrR9MxknYwA6O_1VH",description:"Shown when the Google phone permission request or the backend collection request fails."},confirmFailed:{defaultMessage:"We could not save your phone number. Please try again.",id:"tGLZ7NafvfAOZjSMtC0q",description:"Shown when saving the customer confirmed Google phone number fails at the backend."},collect:{defaultMessage:"Use phone from Google",id:"x2BOehp6JoC4kVPzWyM2",description:"Button on the phone collection modal that opens Google phone sharing permissions."},confirm:{defaultMessage:"Confirm Google phone number",id:"jpsmH00XYN7G3YlTGes4",description:"Button that saves the verified phone shared by Google without an SMS verification step."},edit:{defaultMessage:"Edit phone number",id:"QgOwLNZl3zyexD9Yao_t",description:"Button that enables editing the imported Google phone number and returns to the existing manual phone form."}}),tA=(0,R.Ng)(function(e){return{error:e.auth.error,regionCode:e.geo.currentRegionCode,phone:e.auth.account.phone,email:e.auth.account.email,memberId:e.auth.account.memberId}})(function(e){let t,{regionCode:i,phone:r,email:d,memberId:c,dismissable:u,trackPromptImpression:m=!0,hasDismissed:h,onDismissChange:x}=e,v=(0,n.A)(),k=(0,s.useRef)(null),E=(0,s.useRef)(void 0),S=(0,P.A)(),T=(0,o.jL)(),[_,I]=(0,s.use
1State)(),[D,q]=(0,s.useState)(),[R,O]=(0,s.useState)(),[G,N]=(0,s.useState)(!1),[z]=(0,s.useState)(tg.gs),[V]=(0,s.useState)(()=>(0,tg.$U)(c));(0,s.useEffect)(()=>{(0,tg.z$)()},[]);let{variation:B}=(0,th.A)(tm.Oe.croAddPhoneGoogle,{canActivate:V&&!r}),F=V&&!r&&"variant"===B,[H,W]=(0,s.useState)(!1),Y="boolean"==typeof h,U=Y?!!h:H,K=(0,s.useCallback)(e=>{Y||W(e),x?.(e)},[Y,x]),Z=(0,s.useCallback)(e=>{if(e.preventDefault(),_||G)return;let t=(0,b.Ry)(e.currentTarget);E.current="manual",T((0,l.DG)({phone:t.phoneNum.phone,phonePrefix:t.phoneNum.prefix}))},[T,_,G]),Q=(0,s.useCallback)(async()=>{if(_&&!G&&k.current?.reportValidity()){N(!0),O(void 0);try{let e=await (0,eZ.i6)(_.verificationToken);E.current="google",T((0,l.$R)({phone:e.phone,phonePrefix:e.phonePrefix}))}catch{O("confirmFailed")}finally{N(!1)}}},[T,_,G]),J=(0,s.useCallback)(async()=>{if(G)return;(0,L.trackClientEvent)({subject:"add_phone_from_google_clicked",action:"interaction",category:"logging",type:"operational"}),O(void 0),N(!0);let e=await (0,tg.Xm)(z??d??"");N(!1),("preview"===e.outcome||"unavailable"===e.outcome)&&(0,L.trackClientEvent)({subject:"preview"===e.outcome?"add_phone_from_google_phone_found":"add_phone_from_google_no_phone_found",action:"interaction",category:"logging",type:"operational"}),"preview"===e.outcome?(I(e.preview),q({phone:e.preview.phone,phonePrefix:e.preview.phonePrefix})):O(e.outcome)},[d,z,G]),X=(0,s.useCallback)(()=>{I(void 0),O(void 0)},[]),$=(0,s.useCallback)(()=>{if(U)return S.resolve({loggedIn:!0});K(!0)},[S,U,K]);(0,s.useEffect)(()=>{m&&T((0,l.ZR)(new Date)),(0,L.trackClientEvent)({subject:"add_phone_number",action:"impression",category:"logging",type:"operational"})},[T,m]),(0,s.useEffect)(()=>{r?.length&&(E.current&&((0,L.trackClientEvent)({subject:"phone_number_added",action:E.current,category:"logging",type:"operational"}),E.current=void 0),(0,L.trackClientEvent)({subject:"add_phone_number",action:"interaction",category:"logging",type:"operational",optimizelyEventId:"4586532951031808",optimizelyEventKey:"add_phone_number"}),S.resolve({loggedIn:!0}))},[S,r]),t=U?v.formatMessage({id:"VCyRccvh4C61jdcUdzqs",defaultMessage:"Are you sure?",description:"Modal title when user tries to dismiss the add phone number prompt"}):v.formatMessage({id:"wviA6ESdOgBP49KT65RG",defaultMessage:"Secure your account with a mobile number",description:"Modal title for adding phone number to account in the account access section"});let ee=v.formatMessage({id:"06j1MVhGhMK9B3Yftmdi",defaultMessage:"Link your mobile to your account for added security and a smoother, faster login experience.",description:"Subtitle explaining benefits of adding a phone number"}),et=v.formatMessage({id:"4zdgDkj0smvGUStmyHH7",defaultMessage:"Adding your phone number is highly recommended to help keep your account safe",description:"Warning message when user tries to skip adding phone number"}),ei=v.formatMessage({id:"T_4RhGB0-sNJgnkOJhK2",defaultMessage:"Phone number",description:"Form field label for phone number input in add phone prompt"}),ea=v.formatMessage({id:"gOcKbwOUPcWnJ1cX6lj4",defaultMessage:"Secure my account",description:"Button text to add phone number after initial dismissal"}),es=v.formatMessage({id:"UuTr4xCfmW2QcmgjI2D2",defaultMessage:"Add mobile number",description:"Primary button text to add mobile number to account"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:t,subtitle:U?void 0:ee,dismissible:u,onCloseButtonClick:$}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsx)("form",{name:"joinForm",onSubmit:Z,children:(0,a.jsxs)(C.A,{direction:"vertical",gap:12,children:[U&&(0,a.jsx)(A.A,{kind:"warning",icon:(0,a.jsx)(tp.A,{}),children:et}),(0,a.jsx)(C.A,{direction:"vertical",gap:4,children:(0,a.jsx)(j.A,{id:"phoneNum",name:"phoneNum",label:ei,prefixCountry:i,required:!0,defaultPhoneNumber:D?.phone,defaultPhonePrefix:D?.phonePrefix,disabled:!!_||G},_?"google":"manual")}),R&&(0,a.jsx)(A.A,{kind:"warning",icon:(0,a.jsx)(tp.A,{}),children:v.formatMessage(tx[R])}),(0,a.jsx)(y.A,{ref:k,name:"agreeTandC","data-testid":"terms-and-privacy-agree-checkbox",required:!0,children:(0,a.jsx)(w.A,{modalType:"promptAddPhone"})}),!_&&(0,a.jsx)(M.A,{kind:"primary",fit:"flex",type:"submit",size:"large",disabled:G,children:U?ea:es}),!_&&F&&(0,a.jsx)(M.A,{kind:"secondary",fit:"flex",type:"button",size:"large",startIcon:(0,a.jsx)(tf.A,{}),onClick:J,disabled:G,children:v.formatMessage(tx.collect)}),_&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(M.A,{kind:"primary",fit:"flex",type:"button",size:"large",startIcon:(0,a.jsx)(tf.A,{}),onClick:Q,disabled:G,children:v.formatMessage(tx.confirm)}),(0,a.jsx)(M.A,{kind:"secondary",fit:"flex",type:"button",size:"large",onClick:X,disabled:G,children:v.formatMessage(tx.edit)})]})]})})})})]})}),tb=(0,R.Ng)(function(e){return{error:e.auth.error,isStoreMode:e.system.storeMode}})(function(e){let{error:t,user:i,isStoreMode:h,onModeChange:x=m.A,dismissable:y}=e,v=(0,n.A)(),j=(0,o.jL)(),w=(0,P.A)(),S=(0,s.useRef)(null),_=(0,s.useRef)(null),I=(0,o.GV)(E.W0),D=(0,s.useContext)(eY.A).defaultContact,q=(0,eH.xF)("mobile"),R=(0,o.GV)(e=>e.router.location.pathname)+(0,o.GV)(e=>e.router.location.search);(0,s.useEffect)(()=>{I&&(i.phoneNumber&&j((0,l.DG)({phone:i.phoneNumber.phone,phonePrefix:i.phoneNumber.prefix})),w?.resolve({loggedIn:!0}))},[I]),(0,s.useEffect)(()=>{(0,L.trackClientEvent)({subject:"sign_in_existing_account_found",action:"impression",category:"logging",type:"nonInteraction"}),q||S.current?.focus()},[]);let O=(0,s.useCallback)(()=>{i.email&&(j((0,l.BD)(i.email,R)),x("forgotPassword"))},[j,x,i,R]),G=(0,s.useCallback)(async e=>{e.preventDefault();let t=(0,b.Ry)(e.currentTarget),a=await _?.current?.executeAsync();a&&j((0,l.iD)(i,t.password,a))},[j,i]),N=(0,s.useCallback)(()=>{x("join",(0,l.dE)(i.phoneNumber))},[x,i]),z=v.formatMessage({id:"nyk2Rbiv8ElLY04cJwxV",defaultMessage:"Existing account found",description:"Modal title when an existing account is found during sign-up"}),V=v.formatMessage({id:"eTjBaTf9KIE9Ok-nFcu5",defaultMessage:"Something went wrong. Please try again.",description:"Generic server error message on existing account login"}),B=v.formatMessage({id:"CarEJFLwOBwuEZPLIwW1",defaultMessage:"Password",description:"Label for password input on existing account login"}),F=v.formatMessage({id:"SFVG5Gxeai9H4lStLNGX",defaultMessage:"Password",description:"Placeholder for password input on existing account login"}),H=v.formatMessage({id:"tG1l4CMcqw9LVNU2SGtc",defaultMessage:"Password is required",description:"Validation error when password is empty on existing account login"}),W=v.formatMessage({id:"Yg0k09CjZ2e5Xoe7HayM",defaultMessage:"Log in with password",description:"Button text to log in with password on existing account form"}),Y=v.formatMessage({id:"o5HbLl6X3vL-LkyXoity",defaultMessage:"Forgot your password?",description:"Link text to reset password on existing account login"}),U=v.formatMessage({id:"TxC9TnezVzGWz4yjoCYk",defaultMessage:"By continuing with login, your phone number will be updated with the one you entered during the initial sign-up process.",description:"Caption explaining phone number update when logging in with existing account"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:z,onBackButtonClick:N,dismissible:y}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)(u.A,{gap:24,as:"form",onSubmit:G,name:"loginForm",children:[t?.status===500&&(0,a.jsx)(A.A,{kind:"critical",children:V}),t?.message&&500!==t.status&&(0,a.jsx)(A.A,{kind:"critical",children:t.message}),(0,a.jsxs)(u.A,{gap:16,children:[(0,a.jsx)(d.Ay,{variant:"large",children:(0,a.jsx)(r.A,{id:"58PNsZdsEp4BBrYQytJq",defaultMessage:"You already have an account registered under <b>{email}</b>. Please enter your password to log in.",description:"Instructional text when existing account is found during sign-up",values:{email:i.email,b:e=>(0,a.jsx)("b",{children:e})}})}),(0,a.jsxs)("fieldset",{children:[(0,a.jsx)(eF.A,{label:B,id:"password",required:!0,name:"password",placeholder:F,requiredErrorMessage:H,ref:S}
1),(0,a.jsxs)(C.A,{direction:"vertical",gap:16,horizontalAlign:"center",children:[(0,a.jsx)(M.A,{kind:"primary",size:"large",type:"submit",fit:"flex",children:W}),!h&&(0,a.jsx)(c.A,{onClick:O,size:"medium",children:Y})]}),t?.status===500&&(0,a.jsx)(eW.A,{contactNumber:D})]}),k.A.RECAPTCHA_KEY&&(0,a.jsx)(T.A,{size:"invisible",sitekey:k.A.RECAPTCHA_KEY,ref:_}),i.phoneNumber&&(0,a.jsx)(e1.Ay,{variant:"medium",colour:"light-foreground-alt",children:U})]})]})})})]})});var tM=i(398642),ty=i(483086);let tv=F.Ay.div.withConfig({componentId:"sc-f19c7703-0"})(["padding:",";border:1px solid ",";"],(0,B.D0)(12),e=>e.theme.palette.neutral.surface.lightForeground),tj=function(e){let{user:t,onModeChange:i,applePrivateEmailData:r,setApplePrivateEmailData:c}=e,u=(0,n.A)(),m=(0,o.jL)(),h=(0,o.GV)(E.W0),x=(0,o.GV)(e=>e.auth.processing),A=(0,P.A)(),b=(0,s.useCallback)(()=>{c(null),i("login")},[c,i]),M=(0,s.useCallback)(()=>{r&&m((0,l.U_)(r))},[r,m]);(0,s.useEffect)(()=>{h&&A?.resolve({loggedIn:!0})},[h]);let y=u.formatMessage({id:"RQRsbTwwLaFFNqXcctpb",defaultMessage:"Using Apple’s Hide My Email",description:"Modal title when user signs up with Apple private email relay"}),v=u.formatMessage({id:"So0Fj1rqyejtSxP2oTa0",defaultMessage:"You’re about to create a {brand} account using a unique, random Apple email. If you’ve booked with a different email, those bookings won’t appear here - we recommend using the same email as your existing {brand} account.",description:"Warning text explaining Apple private email relay implications for account creation"},{brand:k.A.brandConfig.name}),j=u.formatMessage({id:"YZYCI-SD2rVQgc5kaHnL",defaultMessage:"Your unique email:",description:"Label above the Apple-generated email address shown during sign-up"}),w=u.formatMessage({id:"9PCQ849x8mVWUHzD0IkI",defaultMessage:"Create account",description:"Primary button text to create account with Apple private email"}),L=u.formatMessage({id:"XqO-04FRtG-cdeQLvHok",defaultMessage:"Already have an account? Log in",description:"Secondary button text to switch to login when Apple private email is detected"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:y,dismissible:!1}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)(C.A,{direction:"vertical",gap:20,children:[(0,a.jsxs)(C.A,{direction:"horizontal",gap:8,children:[(0,a.jsx)(tv,{children:(0,a.jsx)(tM.A,{})}),"luxuryescapes"===k.A.BRAND&&(0,a.jsx)(tv,{children:(0,a.jsx)(ty.A,{height:24,width:24})})]}),(0,a.jsx)(d.Ay,{variant:"large",children:v}),(0,a.jsxs)("div",{children:[(0,a.jsx)(d.Ay,{variant:"large",children:j}),(0,a.jsx)(d.Ay,{variant:"large",weight:"bold",children:t.email})]})]})})}),(0,a.jsx)(eQ.A,{primaryActionProps:{children:w,onClick:M,disabled:x},secondaryActionProps:{children:L,onClick:b,disabled:x}})]})};var tw=i(821532),tk=i(149091);let tC=function(e){let{pendingSignUpOTPData:t,onModeChange:i=m.A,hasDismissed:h}=e,y=(0,n.A)(),v=(0,P.A)(),j=(0,s.useRef)(null),w=(0,o.GV)(E.W0),S=(0,o.jL)(),I=(0,o.GV)(e=>e.auth.error),D=(0,o.GV)(e=>e.auth.processing),q=(0,o.GV)(e=>e.auth.signUpOTPVerified),[R,O]=(0,s.useState)(30),[G,N]=(0,s.useState)(!1),[z,V]=(0,s.useState)("sms");(0,tw.A)(()=>{O(e=>Math.max(e-1,0))},1e3,{disabled:R<=0});let B=(0,s.useContext)(eY.A).defaultContact,F=(0,_.n4)((0,_.cD)(t.phone??""),t.phonePrefix??"");(0,s.useEffect)(()=>{q&&G&&(N(!1),S((0,l.HV)({email:t.email,password:t.password,givenName:t.givenName,surname:t.surname,phone:t.phone,phonePrefix:t.phonePrefix,postcode:t.postcode})))},[q,G,S,t]),(0,s.useEffect)(()=>{w&&v?.resolve({loggedIn:!0})},[w]),(0,s.useEffect)(()=>{I&&G&&N(!1)},[I,G]),(0,s.useEffect)(()=>{(0,L.trackClientEvent)({subject:"sign_up_otp",action:"impression",category:"logging",type:"operational"})},[]);let H=(0,s.useMemo)(()=>({phone:t.phone,prefix:t.phonePrefix}),[t.phone,t.phonePrefix]),W=(0,s.useCallback)(()=>{(0,L.trackClientEvent)({subject:"sign_up_otp_resend",action:"interaction",category:"logging",type:"operational"}),O(30),V("sms"),S((0,l.VA)(H))},[S,H]),Y=(0,s.useCallback)(()=>{(0,L.trackClientEvent)({subject:"sign_up_otp_call",action:"interaction",category:"logging",type:"operational"}),O(30),V("call"),S((0,l.VA)(H,"call"))},[S,H]),U=(0,s.useCallback)(e=>{e.preventDefault(),N(!0);let t=(0,b.Ry)(e.currentTarget);S((0,l.Mt)(H,t.code))},[S,H]),K=(0,s.useCallback)(()=>i("join"),[i]),Z=D||G,Q=y.formatMessage({id:"obukDow62pjdjG3uCzpp",defaultMessage:"Are you sure?",description:"Modal title when user tries to dismiss the sign-up OTP verification"}),J=y.formatMessage({id:"h4BGXfuNA3QpJTNM8hLX",defaultMessage:"Verification code",description:"Modal title for sign-up OTP verification step in the flow"}),X=y.formatMessage({id:"CokbDsgDRwzfq9y6UHm0",defaultMessage:"Something went wrong. Please try again later.",description:"Generic server error message during sign-up OTP verification"}),$=y.formatMessage({id:"iaU-d0VAUYtsuJuyCTtu",defaultMessage:"6-digit code",description:"Form field label for OTP co
1de input field during sign-up"}),ee=y.formatMessage({id:"c1wFMggNHMa4pcCzPs-z",defaultMessage:"Enter 6-digit code",description:"Input placeholder text for OTP code input during sign-up"}),et=y.formatMessage({id:"mXmn0i3aOyPRhZzQSh3R",defaultMessage:"Code is required",description:"Validation error when OTP code field is empty during sign-up"}),ei=y.formatMessage({id:"_bpgjmEo7iW-zZ0qiEEx",defaultMessage:"Your code must be 6 digits long",description:"Validation error when OTP code is not 6 digits during sign-up"}),ea=y.formatMessage({id:"DWnCJGSLzfdtKZnuV2SZ",defaultMessage:"Submit",description:"Submit button text for OTP verification during sign-up"}),es=y.formatMessage({id:"5qw5gXcFCNH0-GV2_0xh",defaultMessage:"Didn’t receive the SMS?",description:"Help text asking if user received the SMS during sign-up OTP"}),en=y.formatMessage({id:"3dy7JX3aJ3qqNTGULEoY",defaultMessage:"Resend code in {countDown}s",description:"Countdown text before user can resend OTP code during sign-up"},{countDown:R}),er=y.formatMessage({id:"WMSxI3R0uQq0qnRhvfr_",defaultMessage:"Resend code",description:"Hyperlink text to resend OTP code during sign-up in the account access section"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g.Ay,{title:h?Q:J,onBackButtonClick:K,dismissible:!1}),(0,a.jsx)(f.A,{children:(0,a.jsx)(p.A,{children:(0,a.jsxs)(u.A,{gap:24,as:"form",onSubmit:U,name:"signUpOTPForm",children:[h&&(0,a.jsx)(A.A,{kind:"warning",icon:(0,a.jsx)(tp.A,{}),children:(0,a.jsx)(r.A,{id:"pPfdmIXOD76tvAOfoje0",defaultMessage:"You must verify your phone number to create an account. Alternatively, call our 24/7 support team on <link>{contactNumber}</link>.",description:"Warning text when user tries to skip phone verification during sign-up",values:{contactNumber:B.humanReadable,link:e=>(0,a.jsx)(c.A,{href:`tel:${B.number}`,rel:"nofollow",children:e})}})}),I?.status===500&&(0,a.jsx)(A.A,{kind:"critical",children:X}),I?.message&&I?.status!==500&&(0,a.jsx)(A.A,{kind:"critical",children:I.message}),(0,a.jsx)(d.Ay,{variant:"medium",children:"call"===z?(0,a.jsx)(r.A,{id:"If77TFQEPm6pGjWI9wkc",defaultMessage:"We’re calling <strong>{phone}</strong> with a 6-digit code. The code is valid for 10 minutes and after that you will need to request a new one.",description:"Instructions text explaining OTP code is being delivered by voice call during sign-up",values:{phone:F,strong:e=>(0,a.jsx)("strong",{children:e})}}):(0,a.jsx)(r.A,{id:"yV-vkLCKjc25W0f4Ro87",defaultMessage:"We’ve sent a 6-digit code to <strong>{phone}</strong>. The code is valid for 10 minutes and after that you will need to request a new one.",description:"Instructions text explaining OTP code was sent during sign-up",values:{phone:F,strong:e=>(0,a.jsx)("strong",{children:e})}})}),(0,a.jsx)(x.A,{type:"text",required:!0,id:"code",name:"code",label:$,placeholder:ee,requiredErrorMessage:et,minLength:6,maxLength:6,pattern:"^[0-9]*$",invalidErrorMessage:ei,inputMode:"numeric"}),(!I||!!I&&500!==I.status)&&(0,a.jsxs)(C.A,{direction:"vertical",gap:16,horizontalAlign:"center",children:[(0,a.jsx)(M.A,{kind:"primary",size:"large",type:"submit",fit:"flex",disabled:Z,children:ea}),(0,a.jsx)(tk.A,{countDown:R,prompt:es,resendLabel:R>0?en:er,onResendSms:W,onRequestCall:Y})]}),I?.status===500&&(0,a.jsx)(eW.A,{contactNumber:B}),k.A.RECAPTCHA_KEY&&(0,a.jsx)(T.A,{size:"invisible",sitekey:k.A.RECAPTCHA_KEY,ref:j})]})})})]})},tP=function(e){let t,{mode:i,initialMode:n,defaultEmail:r,initialUser:d,onModeChange:c,resetPasswordToken:u,resetPasswordTokenValid:g,hotelOfferDetails:p,offerDetails:f,callbackPath:m,dismissable:x,defaultAppleData:A,secondChanceDismissed:b,onSecondChanceDismissedChange:M,hideLoginPasswordBackButton:y,closeOnJoinBack:v,guestCheckoutEnabled:j}=e,[w,C]=(0,s.useState)(r??""),[P,L]=(0,s.useState)(A??null),[S,T]=(0,s.useState)(null),[_,I]=(0,s.use
1State)(!1===g),q=k.A.agentHub.isEnabled,R=(t=(0,eO.A)(),k.A.BRAND===tn.MR&&"true"!==t.get("login-v1")),O=(0,o.GV)(e=>e.auth.users[w])??d,G=(0,o.GV)(E.W0),N=(0,o.GV)(e=>e.auth.source),z=(0,o.jL)(),V=(0,s.useRef)(G),B=(0,s.useCallback)((e,t)=>{z((0,l.I0)()),c?.(e),void 0!==t&&C(t)},[z,c]),F=(0,s.useCallback)(()=>{I(!0)},[]);switch((0,s.useEffect)(()=>{!V.current&&G&&N&&(0,eN.sN)(N)&&(0,eN.il)(N),V.current=G},[G,N]),i){case"login":case"requestAgentCallbackLogin":case"tripPlannerLogin":case"tripPlannerPagesLogin":case"wishlistLogin":case"toursCatalogueLogin":case"loyaltyLogin":case"loyaltyTierUpgradeCampaignLogin":case"statusMatchLogin":case"sharedCartInvite":case"bookingAuthorityInvite":case"supportLogin":case"leLiveLogin":case"employeeOfferLogin":if(!q)return(0,a.jsx)(eB,{mode:i,onModeChange:B,hotelOfferDetails:p,offerDetails:f,dismissable:x,applePrivateEmailData:P,setApplePrivateEmailData:L,guestCheckoutEnabled:j});if(R)return(0,a.jsx)(ts,{dismissable:x});return(0,a.jsx)(e9,{dismissable:x,defaultUser:O,onSubmit:C,onModeChange:B});case"loginPassword":if(O)if(q)return(0,a.jsx)(tr,{user:O,onModeChange:B});else return(0,a.jsx)(eK,{user:O,onModeChange:B,dismissable:x,hideBackButton:y});return null;case"loginPasswordOTP":if(O)return(0,a.jsx)(eK,{otpEnabled:!0,user:O,onModeChange:B,dismissable:x,hideBackButton:y});return null;case"loginOTP":if(O)return(0,a.jsx)(tc.A,{user:O,onModeChange:B,dismissable:x});return null;case"promptAddPhone":case"promptAddPhoneOnboarding":return(0,a.jsx)(tA,{dismissable:!1,trackPromptImpression:"promptAddPhoneOnboarding"!==i,hasDismissed:b,onDismissChange:M});case"join":if(O)return(0,a.jsx)(D,{user:O,onModeChange:B,onPendingSignUpOTPData:T,dismissable:x,signupContext:n,closeOnBack:v});return null;case"joinOTP":if(S)return(0,a.jsx)(tC,{pendingSignUpOTPData:S,onModeChange:B,hasDismissed:b});return null;case"joinExistingAccount":if(O)return(0,a.jsx)(tb,{user:O,onModeChange:B,dismissable:x});return null;case"forgotPassword":if(O)return(0,a.jsx)(h,{user:O,onModeChange:B,dismissable:x});return null;case"resetPassword":if(_)return(0,a.jsx)(eX,{dismissable:x});return(0,a.jsx)(eJ,{token:u,callbackPath:m,dismissable:x,onTokenInvalid:F});case"agentResendActivation":if(q&&O?.email)return(0,a.jsx)(td,{requestedEmail:O.email,onModeChange:B});return null;case"applePrivateEmail":if(O)return(0,a.jsx)(tj,{user:O,onModeChange:B,applePrivateEmailData:P,setApplePrivateEmailData:L});return null;default:return null}}},149091(e,t,i){var a=i(474848),s=i(296540),n=i(665673),r=i(38267),o=i(161648),l=i(153702),d=i(897729);let c=r.Ay.span.withConfig({componentId:"sc-f3df5bba-0"})(["display:inline-grid;justify-items:start;font-variant-numeric:tabular-nums;white-space:nowrap;> *{grid-area:1 / 1;}"]),u=r.Ay.span.withConfig({componentId:"sc-f3df5bba-1"})(["visibility:hidden;pointer-events:none;user-select:none;"]);i.d(t,{},{A:function(e){let{countDown:t,prompt:i,resendLabel:r,onResendSms:g,onRequestCall:p,disabled:f=!1}=e,m=(0,n.A)(),[h,x]=(0,s.useState)(!1),[A,b]=(0,s.useState)(!1);h&&t>0&&!A&&b(!0);let M=(0,s.useMemo)(()=>m.formatMessage({id:"q9EG-UUq3arq4BG0g-jg",defaultMessage:"Still not receiving?",description:"Prompt shown after the customer has already resent an SMS OTP and still has not received a code"}),[m]),y=(0,s.useMemo)(()=>m.formatMessage({id:"ivaxURGSSqmcDTB5IMoi",defaultMessage:"Click to receive via phone call",description:"Link shown after the customer has already resent an SMS OTP so they can request the same code by voice call"}),[m]),v=(0,s.useCallback)(()=>{x(!0),g()},[g]),j=t>0?r.replace(/\d+/g,"00"):void 0;return(0,a.jsxs)(d.A,{direction:"vertical",gap:8,horizontalAlign:"center",children:[(0,a.jsxs)(d.A,{direction:"horizontal",gap:8,children:[(0,a.jsx)(o.Ay,{variant:"medium",children:i}),(0,a.jsxs)(c,{children:[j&&(0,a.jsx)(u,{"aria-hidden":!0,children:(0,a.jsx)(l.A,{size:"medium",wrap:"no-wrap",children:j})}),(0,a.jsx)(l.A,{size:"medium",wrap:"no-wrap",onClick:v,disabled:f||t>0,children:r})]})]}),h&&A&&0===t&&!f&&(0,a.jsxs)(d.A,{direction:"vertical",gap:4,horizontalAlign:"center",children:[(0,a.jsx)(o.Ay,{variant:"medium",children:M}),(0,a.jsx)(l.A,{size:"medium",onClick:p,children:y})]})]})}})}}]);
2//# sourceMappingURL=3265.e073fdbb8d3936a5.js.map

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.