@cleartrip/ct-platform-login-form 1.2.0 → 1.2.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import './index.scss';
2
2
  import { LoginFormProps } from './LoginForm.types';
3
- declare const LoginForm: ({ fallbackUri, isBottomSheet, skipProfileFlow, sendUserInsights, isFkLoginEnabled, ravenPayload, hotelsLoyaltyFlow, enableProfileFetch, isPrivacyPolicyVisible, onAuthSuccess, onAuthFailure, }: LoginFormProps) => import("react/jsx-runtime").JSX.Element;
3
+ declare const LoginForm: ({ fallbackUri, isLoginModule, skipProfileFlow, sendUserInsights, isFkLoginEnabled, ravenPayload, hotelsLoyaltyFlow, enableProfileFetch, isPrivacyPolicyVisible, onAuthSuccess, onAuthFailure, }: LoginFormProps) => import("react/jsx-runtime").JSX.Element;
4
4
  export default LoginForm;
5
5
  //# sourceMappingURL=LoginForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../packages/components/LoginForm/src/LoginForm.tsx"],"names":[],"mappings":"AAoBA,OAAO,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,QAAA,MAAM,SAAS,oMAYZ,cAAc,4CAiLhB,CAAC;AACF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../packages/components/LoginForm/src/LoginForm.tsx"],"names":[],"mappings":"AAoBA,OAAO,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,QAAA,MAAM,SAAS,oMAYZ,cAAc,4CAuLhB,CAAC;AACF,eAAe,SAAS,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export interface LoginFormProps {
2
2
  fallbackUri: string;
3
- isBottomSheet: boolean;
3
+ isLoginModule: boolean;
4
4
  skipProfileFlow: boolean;
5
5
  onAuthSuccess: (action?: boolean) => void;
6
6
  onAuthFailure: (loginMethod: string) => void;
@@ -1,2 +1,546 @@
1
- "use strict";var e=require("tslib"),n=require("react/jsx-runtime"),i=require("react"),t=require("@cleartrip/ct-platform-utils"),a=require("@cleartrip/ct-design-toast"),r=require("@cleartrip/ct-platform-constants"),o=require("@cleartrip/ct-design-field"),l=require("@cleartrip/ct-design-spacer"),s=require("@cleartrip/ct-design-spinner"),_=require("@cleartrip/ct-design-typography"),c=require("@cleartrip/ct-design-alert-callout"),d=require("@cleartrip/ct-design-icons"),u=require("classnames"),p=require("@cleartrip/ct-design-button"),g=require("@cleartrip/ct-design-divider"),m=require("@cleartrip/ct-platform-assets");function v(e){return e&&e.__esModule?e:{default:e}}var f=v(u);function x(e,n){void 0===n&&(n={});var i=n.insertAt;if(e&&"undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===i&&t.firstChild?t.insertBefore(a,t.firstChild):t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}var N={mobileinput_seperatortext:"index-module_mobileinput_seperatortext__-KDOp",footer_text:"index-module_footer_text__nkeJv",otp_container:"index-module_otp_container__1CE4N",otp_box_wrapper:"index-module_otp_box_wrapper__sM2Ba",login_otp_input:"index-module_login_otp_input__L-3P8",login_otp_error:"index-module_login_otp_error__o3y2L",nonUtilsSelector_toast:"index-module_nonUtilsSelector_toast__lvWmB"};x(".index-module_mobileinput_seperatortext__-KDOp{background:#fff;left:0;margin:0 auto;position:absolute;right:0;text-align:center;top:-10px;width:40px}.index-module_footer_text__nkeJv{color:grey!important;font-size:12px!important}.index-module_otp_container__1CE4N{display:flex;flex-direction:column;margin-top:24px}.index-module_otp_box_wrapper__sM2Ba{margin-right:8px}.index-module_login_otp_input__L-3P8{font-size:24px!important;font-style:normal;font-weight:600!important;height:56px!important;line-height:28px;padding:auto;text-align:center;width:56px!important}.index-module_login_otp_error__o3y2L{padding-top:4px}.index-module_nonUtilsSelector_toast__lvWmB{bottom:12px!important;margin-bottom:12px;margin:0 auto!important;padding:12px 16px!important;width:calc(100% - 48px)!important;z-index:2000}");var h="index-module_loader__container__VX-VO",T="index-module_three-dots-loader__i7R-R";x('.index-module_loader__container__VX-VO{align-items:center;background:#fff;border-radius:32px;box-shadow:0 8px 24px 0 rgba(26,26,26,.1);display:flex;height:34px;justify-content:center;left:50%;padding:12px;position:absolute;top:50%;transform:translate(-50%,-50%);width:66px}.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R{animation:index-module_three-dots-loader__i7R-R 1s linear infinite alternate;animation-delay:.5s;background-color:#1a1a1a;border-radius:5px;height:8px;position:relative;width:8px}.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R:after,.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R:before{content:"";display:inline-block;position:absolute;top:0}.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R:before{animation:index-module_three-dots-loader__i7R-R 1s infinite alternate;animation-delay:0s;background-color:#1a1a1a;border-radius:5px;height:8px;left:-15px;width:8px}.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R:after{animation:index-module_three-dots-loader__i7R-R 1s infinite alternate;animation-delay:1s;background-color:#1a1a1a;border-radius:5px;height:8px;left:15px;width:8px}@keyframes index-module_three-dots-loader__i7R-R{0%{background-color:#1a1a1a}50%,to{background-color:grey}}');var S,b=function(){return n.jsx("div",e.__assign({className:h},{children:n.jsx("div",{className:T})}))};!function(e){e[e.DETECTING=0]="DETECTING",e[e.FAILED=1]="FAILED",e[e.DETECTED=2]="DETECTED"}(S||(S={}));var O=function(a){var u=a.mobileNumber,p=a.errorCallout,g=a.ravenPayload,m=a.otpInputHeight,v=a.skipProfileFlow,f=a.otpResendDisabled,x=a.hotelsLoyaltyFlow,h=a.getOTP,T=a.setCtaDisabled,O=a.setErrorCallout,y=a.setMobileNumber,E=a.setShowMobilePage,C=a.handleLoginSuccess,k=a.handleLoginFailure,I=i.useRef(Array(4).fill(null)),L=i.useState(S.DETECTING),w=L[0],A=L[1],P=i.useState(r.LOGIN_CONSTANTS.OTP_COUNTDOWN),j=P[0],D=P[1],R=i.useState(""),G=R[0],F=R[1],U=i.useState(!0),V=U[0],M=U[1],K=i.useState(!1),B=K[0],q=K[1],H=i.useState(""),X=H[0],W=H[1],z=i.useState(!0),Y=z[0],Q=z[1],J=i.useState(!1),Z=J[0],$=J[1],ee=i.useRef(),ne=i.useRef(),ie="CT";i.useEffect((function(){te();var n=t.getRavenEventProps();t.ravenSDKTrigger("u_login_click",e.__assign({action_name:"login_otp_screen_opened",login_form:null==n?void 0:n.loginForm,login_type:"native",vertical:null==n?void 0:n.vertical,page_name:null==n?void 0:n.pageName},g))}),[]),i.useEffect((function(){t.isIOSApp()&&Q(!1)}),[]),i.useEffect((function(){te()}),[]),i.useEffect((function(){Z||(I.current[0].focus(),I.current[0].click())}),[Z]),i.useEffect((function(){0===j&&M(!1)}),[j]),i.useEffect((function(){var e;return V&&j>0&&(e=setInterval((function(){D((function(e){return e-1}))}),1e3)),function(){clearInterval(e)}}),[V,j]);var te=i.useCallback((function(){return e.__awaiter(void 0,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,t.autoReadOtp()];case 1:return n=e.sent(),F(n),A(S.DETECTED),(null==n?void 0:n.length)===r.LOGIN_CONSTANTS.OTP_LENGTH&&re&&re(n,!0),[3,3];case 2:return"NOT_SUPPORTED"===e.sent()&&Q(!1),[3,3];case 3:return[2]}}))}))}),[Y]),ae=i.useCallback((function(n){var i=t.getRavenEventProps();t.ravenSDKTrigger("u_login_error",e.__assign({action_name:"otp_incorrect",login_form:null==i?void 0:i.loginForm,login_type:"native",vertical:null==i?void 0:i.vertical,page_name:null==i?void 0:i.pageName},g));var a=null==n?void 0:n.message;"OTP_VALIDATE_LIMIT_EXCEEDED"!==a&&F(""),I.current[0].focus(),I.current[0].click();var o=r.LOGIN_CONSTANTS[a],l="string"==typeof o?o:r.LOGIN_CONSTANTS.INVALID_OTP;W(l)}),[I]),re=i.useCallback((function(n,i){return e.__awaiter(void 0,void 0,void 0,(function(){var a,o,l,s,_;return e.__generator(this,(function(c){switch(c.label){case 0:return c.trys.push([0,2,,3]),a=t.getRavenEventProps(),t.ravenSDKTrigger("u_login_click",e.__assign({action_name:"otp_entered",login_form:null==a?void 0:a.loginForm,login_type:"native",entry_type:i?"autodetected":"manual_entry",vertical:null==a?void 0:a.vertical,page_name:null==a?void 0:a.pageName},g)),n===ee.current&&ne.current&&ne.current-Date.now()<=100?[2]:(ee.current=n,ne.current=Date.now(),x&&$(!0),[4,t.validateOtp(u,n)]);case 1:return o=c.sent(),l=o.status,s=o.action,200!==Number(l)||t.isEmpty(s)?(x&&$(!1),k(ie)):(q(!0),W(""),t.updateNativeOnLogin(),"SIGNUP"===s?(v||(window.location.href=r.NAVIGATION_ROUTES.PERSONAL_DETAILS+"?onboardingFlow=true"),C(ie,!0)):C(ie)),[3,3];case 2:return _=c.sent(),x&&$(!1),k(ie),ae(_),[3,3];case 3:return[2]}}))}))}),[ee,ne,q,A,W,ae]),oe=function(){return e.__awaiter(void 0,void 0,void 0,(function(){var n,i,a,o,l;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,navigator.clipboard.readText()];case 1:return(n=e.sent())&&t.isNumeric(n)&&(i=n.slice(0,r.LOGIN_CONSTANTS.OTP_LENGTH).split(""),null===(o=I.current[r.LOGIN_CONSTANTS.OTP_LENGTH-1])||void 0===o||o.focus(),null===(l=I.current[r.LOGIN_CONSTANTS.OTP_LENGTH-1])||void 0===l||l.click(),a=i.join(""),F(a),a.length===r.LOGIN_CONSTANTS.OTP_LENGTH&&re(a,!1)),[2]}}))}))},le=i.useCallback((function(e,n){var i,a;O(""),""!==e.target.value&&n<I.current.length-1&&(null===(i=I.current[n+1])||void 0===i||i.focus(),null===(a=I.current[n+1])||void 0===a||a.click());var o=I.current.map((function(e){return t.isHTMLInputElement(e)?e.value:""})).join("").slice(0,4);F(o),o.length===r.LOGIN_CONSTANTS.OTP_LENGTH&&re(o,!1)}),[F,re]),se=i.useCallback((function(e,n){var i,t,a;"Backspace"===e.key&&n>0&&""===(null===(i=I.current[n])||void 0===i?void 0:i.value)&&(e.preventDefault(),null===(t=I.current[n-1])||void 0===t||t.focus(),null===(a=I.current[n-1])||void 0===a||a.click())}),[I]),_e=i.useCallback((function(){D(r.LOGIN_CONSTANTS.OTP_COUNTDOWN),M(!0),h(u);var n=t.getRavenEventProps();t.ravenSDKTrigger("u_login_error",e.__assign({action_name:"resend_otp_clicked",login_form:null==n?void 0:n.loginForm,login_type:"native",vertical:null==n?void 0:n.vertical,page_name:null==n?void 0:n.pageName},g))}),[D,M]),ce=i.useCallback((function(){T(!0),E(!0),y("")}),[E]);return n.jsxs("div",e.__assign({className:"flex flex-column bg-neutral-100",style:{height:m}},{children:[p&&n.jsx(c.AlertCallout,{variant:"error",textNode:p,prefixIconNode:n.jsx(d.InfoIcon,{fill:"red"}),style:{color:"#ffff",backgroundColor:"#db201e"},className:"fs-12"}),n.jsxs("div",e.__assign({className:"flex flex-bottom"},{children:[n.jsxs(_.Typography,e.__assign({variant:"HM1",color:"heading"},{children:[r.LOGIN_CONSTANTS.OTP_TEXT," ",n.jsx("br",{}),u]})),n.jsx("div",e.__assign({className:"pl-2",onClick:ce},{children:n.jsx(d.Edit,{})}))]})),n.jsxs("div",e.__assign({className:N.otp_container},{children:[n.jsxs("div",e.__assign({className:"flex",style:x?{width:"max-content",position:"relative"}:{}},{children:[e.__spreadArray([],Array(r.LOGIN_CONSTANTS.OTP_LENGTH),!0).map((function(i,t){return n.jsx("div",e.__assign({className:N.otp_box_wrapper},{children:n.jsx(o.FieldV2,{prompt:{hasError:!!X},type:"number",placeholder:"",value:G[t],max:1,inputMode:"numeric",className:N.login_otp_input,variant:"md",ref:function(e){e&&(I.current[t]=e)},onKeyDown:function(e){return se(e,t)},onChange:function(e){return le(e,t)},onPaste:oe,autoFocus:0===t,disabled:!(!x||!Z)})}),t)})),x&&Z&&n.jsx(b,{})]})),!!X&&n.jsx(_.Typography,e.__assign({variant:"P1",color:"warning",className:N.login_otp_error},{children:X}))]})),n.jsx(l.Spacer,{className:"pt-2"}),w===S.DETECTING&&!B&&Y&&j>r.LOGIN_CONSTANTS.RESEND_OTP_COUNTDOWN&&n.jsxs("div",e.__assign({className:"flex flex-middle"},{children:[n.jsx(s.Spinner,{width:"20px",height:"20px",borderColor:"#11a670",className:"bg-neutral-900 bc-black"}),n.jsx(_.Typography,e.__assign({variant:"B3",className:"fs-12 fw-500 ml-1 c-neutral-700"},{children:r.LOGIN_CONSTANTS.AUTO_DETECTING_TEXT}))]})),w===S.DETECTING&&j<=r.LOGIN_CONSTANTS.RESEND_OTP_COUNTDOWN&&Y&&!B&&n.jsx(n.Fragment,{children:n.jsxs("div",e.__assign({className:"flex"},{children:[n.jsx(_.Typography,e.__assign({variant:"B3",className:"fs-12 fw-500 c-neutral-700 "},{children:r.LOGIN_CONSTANTS.OTP_RESEND_TEXT})),n.jsx(l.Spacer,{className:"ml-1"}),f?n.jsx(_.Typography,e.__assign({className:"color-neutral-200 fw-500",variant:"B3"},{children:r.LOGIN_CONSTANTS.RESEND_CTA})):n.jsxs(n.Fragment,{children:[0===j&&n.jsx(n.Fragment,{children:n.jsx(_.Typography,e.__assign({isClickable:!0,variant:"B3",onClick:_e,color:"link",className:"\n fs-12 fw-500 c-pointer"},{children:r.LOGIN_CONSTANTS.RESEND_CTA}))}),j>0&&n.jsx(_.Typography,e.__assign({color:"disabled",variant:"B3"},{children:" Resend ("+j+"s)"}))]})]}))}),!X&&B&&n.jsx(n.Fragment,{children:n.jsxs("div",e.__assign({className:"flex flex-middle"},{children:[n.jsx(d.CheckCircle,{}),n.jsx(_.Typography,e.__assign({variant:"P1",color:"success",className:"fs-12"},{children:w===S.DETECTED?r.LOGIN_CONSTANTS.AUTO_DETECTED_TEXT:r.LOGIN_CONSTANTS.VERIFIED_MESSAGE}))]}))}),n.jsx(l.Spacer,{className:"mt-24"})]}))},y={loader:"index-module_loader__63LeU","With-full-opacity":"index-module_With-full-opacity__ZSY-U",loader__content:"index-module_loader__content__Q6kJl",loader__spinner:"index-module_loader__spinner__6B3AR","loader-rotate":"index-module_loader-rotate__efcf3",loader__heading:"index-module_loader__heading__7YZ3N",loader__text:"index-module_loader__text__1QcLi"};x(".index-module_loader__63LeU{align-items:center;background-color:hsla(0,0%,100%,.95);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:0}.index-module_loader__63LeU.index-module_With-full-opacity__ZSY-U{background-color:#fff}.index-module_loader__content__Q6kJl{max-width:280px;text-align:center}.index-module_loader__spinner__6B3AR{animation:index-module_loader-rotate__efcf3 .8s linear infinite;border:2px solid rgba(51,102,204,.3);border-radius:50%;border-top-color:#36c;display:inline-block;height:30px;margin-bottom:10px;position:relative;width:30px}.index-module_loader__heading__7YZ3N{color:#000;font-size:18px;font-weight:600;margin-bottom:5px}.index-module_loader__text__1QcLi{color:rgba(0,0,0,.8);font-size:16px;line-height:1.5}");var E=function(i){var t=i.title,a=i.message,r=i.className;return n.jsx("div",e.__assign({className:"".concat(y.utilswrapper," utilswrapper")},{children:n.jsx("div",e.__assign({className:f.default(y.loader,r)},{children:n.jsxs("div",e.__assign({className:y.loader__content},{children:[n.jsx("div",{className:y.loader__spinner}),n.jsx("h5",e.__assign({className:y.loader__heading},{children:t})),n.jsx("p",e.__assign({className:y.loader__text},{children:a}))]}))}))}))},C=function(a){var l=a.sendingOtp,s=a.ctaDisabled,u=a.getOTP,v=a.setErrorCallout,f=a.errorCallout,x=a.mobileNumber,h=a.setMobileInputHeight,T=a.setMobileNumber,S=a.fallbackUri,b=a.skipProfileFlow,O=a.ravenPayload,y=a.hotelsLoyaltyFlow,E=a.isFkLoginEnabled,C=void 0===E||E,k=a.isPrivacyPolicyVisible,I=void 0===k||k,L=i.useState(t.isFKSSOEnabled)[0],w=i.useState(!1),A=w[0],P=w[1],j=i.useRef(null),D=i.useRef(null);i.useEffect((function(){if(D.current){var e=D.current.clientHeight;h(e)}}),[D.current]),i.useEffect((function(){var e;return j.current&&(e=setTimeout((function(){var e;null===(e=j.current)||void 0===e||e.focus()}),100)),function(){clearTimeout(e)}}),[]),i.useEffect((function(){t.isAndroidApp()&&F()}),[]);var R=i.useCallback((function(){return e.__awaiter(void 0,void 0,void 0,(function(){var n,i;return e.__generator(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),n=t.getRavenEventProps(),t.ravenSDKTrigger("u_login_click",e.__assign({action_name:"login_with_flipkart_clicked",login_form:null==n?void 0:n.loginForm,login_type:"fk_sso",vertical:null==n?void 0:n.vertical,page_name:null==n?void 0:n.pageName},O)),P(!0),[4,t.handleFKSSO(S,b)];case 1:return i=a.sent(),y||P(!1),t.isPwa()&&(window.location.href=i),[3,3];case 2:return a.sent(),P(!1),[3,3];case 3:return[2]}}))}))}),[]),G=i.useCallback((function(n,i){void 0===i&&(i=!1),v("");var a=n.target.value||"";if(a=a.replace(t.MULTI_SPACE," ").trimStart(),T(a),t.isValidMobileNumber(n.target.value)){u(a);var r=t.getRavenEventProps();t.ravenSDKTrigger("u_login_click",e.__assign({action_name:"get_otp_clicked",login_form:null==r?void 0:r.loginForm,login_type:"native",entry_type:"auto_click",vertical:null==r?void 0:r.vertical,page_name:null==r?void 0:r.pageName},O)),i?t.ravenSDKTrigger("u_login_click",e.__assign({action_name:"phone_number_autodetected",login_form:null==r?void 0:r.loginForm,login_type:"native",entry_type:"autodetected",vertical:null==r?void 0:r.vertical,page_name:null==r?void 0:r.pageName},O)):t.ravenSDKTrigger("u_login_click",e.__assign({action_name:"phone_number_entered",login_form:null==r?void 0:r.loginForm,login_type:"native",entry_type:"manual_entry",vertical:null==r?void 0:r.vertical,page_name:null==r?void 0:r.pageName},O))}}),[T]),F=i.useCallback((function(){return e.__awaiter(void 0,void 0,void 0,(function(){var n,i;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,t.showMobileNumberHint()];case 1:return n=e.sent(),i={target:{value:n}},n&&G(i,!0),[2]}}))}))}),[G]),U=i.useCallback((function(){var n=t.getRavenEventProps();t.ravenSDKTrigger("u_login_click",e.__assign({action_name:"policy_click",login_form:null==n?void 0:n.loginForm,login_type:"native",vertical:null==n?void 0:n.vertical,page_name:null==n?void 0:n.pageName},O)),window.location.href=r.NAVIGATION_ROUTES.PRIVACY_POLICY}),[]),V=i.useCallback((function(){var n=t.getRavenEventProps();t.ravenSDKTrigger("u_login_click",e.__assign({action_name:"tnc_click",login_form:null==n?void 0:n.loginForm,login_type:"native",vertical:null==n?void 0:n.vertical,page_name:null==n?void 0:n.pageName},O)),window.location.href=r.NAVIGATION_ROUTES.TERMS}),[]);return n.jsxs("div",e.__assign({className:"flex flex-column",ref:D},{children:[f&&n.jsx(c.AlertCallout,{variant:"error",textNode:f,prefixIconNode:n.jsx(d.InfoIcon,{fill:"red"}),style:{color:"#ffff",backgroundColor:"#db201e"},className:"fs-12"}),n.jsx(_.Typography,e.__assign({variant:"HM1",color:"heading",className:"mb-4 fs-24"},{children:r.LOGIN_CONSTANTS.LOGIN_TO_CT})),n.jsx("label",e.__assign({style:{visibility:"hidden",width:"0.1px",height:"0.1px"},htmlFor:"phonenumber"},{children:"Phone number"})),n.jsx(o.PhoneField,{onChange:G,value:x,name:"phonenumber",placeholder:"",inputMode:"numeric",ref:j,min:0,max:10,autoFocus:!0,countryCode:r.LOGIN_CONSTANTS.COUNTRY_CODE}),n.jsx(p.Button,e.__assign({color:"primary",size:"medium",minWidth:"160px",disabled:s,loading:l,className:"my-6",onClick:function(){return u(x)}},{children:r.LOGIN_CONSTANTS.GET_OTP})),L&&C&&n.jsxs(n.Fragment,{children:[n.jsxs("div",e.__assign({className:"my-6 p-relative"},{children:[n.jsx(g.Divider,{}),n.jsx("span",e.__assign({className:"".concat(N.mobileinput_seperatortext)},{children:"or"}))]})),n.jsx(p.Button,e.__assign({variant:"outline",size:"medium",className:"my-6",loading:A,onClick:R,showLeftIcon:!A,LeftIcon:n.jsx("img",{src:m.FlipkartLogo})},{children:r.LOGIN_CONSTANTS.FK_LOGIN_CTA}))]}),I&&n.jsxs("div",e.__assign({className:"pt-8 pb-6"},{children:[n.jsx(g.Divider,{}),n.jsxs("div",e.__assign({className:"flex flex-middle \n flex-center flex-wrap pt-2"},{children:[n.jsx(_.Typography,e.__assign({variant:"P1",className:N.footer_text},{children:r.LOGIN_CONSTANTS.FOOTER_TEXT})),n.jsx(_.Typography,e.__assign({variant:"P1",color:"link",className:"pl-1 fs-12",isClickable:!0,onClick:U},{children:r.LOGIN_CONSTANTS.PRIVACY_CTA})),n.jsx(_.Typography,e.__assign({className:"px-1 fs-12 c-neutral-700",variant:"P1"},{children:"& "})),n.jsx(_.Typography,e.__assign({variant:"P1",color:"link",isClickable:!0,onClick:V,className:"fs-12"},{children:r.LOGIN_CONSTANTS.TNC_CTA}))]}))]}))]}))};exports.LoginForm=function(o){var l=o.fallbackUri,s=o.isBottomSheet,_=o.skipProfileFlow,c=o.sendUserInsights,d=o.isFkLoginEnabled,u=o.ravenPayload,p=void 0===u?{}:u,g=o.hotelsLoyaltyFlow,m=o.enableProfileFetch,v=o.isPrivacyPolicyVisible,f=o.onAuthSuccess,x=o.onAuthFailure,h=i.useState(!0),T=h[0],S=h[1],b=i.useState(!0),y=b[0],k=b[1],I=i.useState(!1),L=I[0],w=I[1],A=i.useState(""),P=A[0],j=A[1],D=i.useState(0),R=D[0],G=D[1],F=i.useState(""),U=F[0],V=F[1],M=i.useState(!1),K=M[0],B=M[1],q=i.useState(!1),H=q[0],X=q[1],W=i.useState(!1),z=W[0],Y=W[1],Q=i.useCallback((function(n){return e.__awaiter(void 0,void 0,void 0,(function(){var i,a,o,l;return e.__generator(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),k(!1),w(!0),t.triggerOTPListener(),[4,t.sendLoginOtp(n)];case 1:return i=e.sent(),"SUCCESS"===(i||{}).status&&(S(!1),w(!1)),[3,3];case 2:return a=e.sent(),console.error(a),o=(a||{}).message,w(!1),l=o&&r.LOGIN_CONSTANTS[o],V(String(l||r.LOGIN_CONSTANTS.GENERIC_ERROR_MESSAGE)),"OTP_SEND_LIMIT_EXCEEDED"===o&&B(!0),[3,3];case 3:return[2]}}))}))}),[T,S]),J=i.useCallback((function(n,i){var a=t.getRavenEventProps(),r=e.__assign({action_name:"login_successful",login_form:null==a?void 0:a.loginForm,login_type:"native",login_new:i?"sign_up":"sign_in",vertical:null==a?void 0:a.vertical,page_name:null==a?void 0:a.pageName},p);c?t.sendEventWithUserInsights("u_login_success",r):t.ravenSDKTrigger("u_login_success",r),m&&t.handleProfileFetch(),g||s||i&&!_||X(!0),f(i)}),[p,s,_,c,g,m]),Z=i.useCallback((function(e){x(e)}),[]),$=function(){Y(!0)};return i.useEffect((function(){window&&(window.showSigninLoaderScreen=$);var e=t.getQueryParam("fkSSOstatus"),n="FK";"signin"===e&&(t.isAndroidApp()&&t.updateNativeAndroidOnSignIn(),J(n)),"signup"===e&&(t.isAndroidApp()&&t.updateNativeAndroidOnSignIn(),J(n,!0)),"failure"===e&&Z(n)}),[]),n.jsxs("div",e.__assign({className:"".concat(N.utilswrapper," utilswrapper")},{children:[H&&n.jsx(a.Toast,{text:"Logged in successfully!",show:H,className:"".concat(N.nonUtilsSelector_toast),closeTimeout:2e3}),z&&n.jsx(E,{title:"Please wait",message:"Signing in...",className:"z-10 bg-white"}),T?n.jsx(C,{device:"PWA",ctaDisabled:y,sendingOtp:L,getOTP:Q,mobileNumber:P,setMobileNumber:j,setMobileInputHeight:G,fallbackUri:l,skipProfileFlow:_,setErrorCallout:V,errorCallout:U,ravenPayload:p,hotelsLoyaltyFlow:g,isFkLoginEnabled:d,isPrivacyPolicyVisible:v}):n.jsx(O,{mobileNumber:P,getOTP:Q,setCtaDisabled:k,setShowMobilePage:S,handleLoginSuccess:J,handleLoginFailure:Z,otpInputHeight:R,setMobileNumber:j,setErrorCallout:V,errorCallout:U,otpResendDisabled:K,ravenPayload:p,skipProfileFlow:_,hotelsLoyaltyFlow:g})]}))};
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('react');
6
+ var ctPlatformUtils = require('@cleartrip/ct-platform-utils');
7
+ var ctDesignToast = require('@cleartrip/ct-design-toast');
8
+ var ctPlatformConstants = require('@cleartrip/ct-platform-constants');
9
+ var ctDesignField = require('@cleartrip/ct-design-field');
10
+ var ctDesignSpacer = require('@cleartrip/ct-design-spacer');
11
+ var ctDesignSpinner = require('@cleartrip/ct-design-spinner');
12
+ var ctDesignTypography = require('@cleartrip/ct-design-typography');
13
+ var ctDesignAlertCallout = require('@cleartrip/ct-design-alert-callout');
14
+ var ctDesignIcons = require('@cleartrip/ct-design-icons');
15
+ var classNames = require('classnames');
16
+ var ctDesignButton = require('@cleartrip/ct-design-button');
17
+ var ctDesignDivider = require('@cleartrip/ct-design-divider');
18
+ var ctPlatformAssets = require('@cleartrip/ct-platform-assets');
19
+
20
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
21
+
22
+ var classNames__default = /*#__PURE__*/_interopDefault(classNames);
23
+
24
+ function styleInject(css, ref) {
25
+ if (ref === void 0) ref = {};
26
+ var insertAt = ref.insertAt;
27
+ if (!css || typeof document === 'undefined') {
28
+ return;
29
+ }
30
+ var head = document.head || document.getElementsByTagName('head')[0];
31
+ var style = document.createElement('style');
32
+ style.type = 'text/css';
33
+ if (insertAt === 'top') {
34
+ if (head.firstChild) {
35
+ head.insertBefore(style, head.firstChild);
36
+ } else {
37
+ head.appendChild(style);
38
+ }
39
+ } else {
40
+ head.appendChild(style);
41
+ }
42
+ if (style.styleSheet) {
43
+ style.styleSheet.cssText = css;
44
+ } else {
45
+ style.appendChild(document.createTextNode(css));
46
+ }
47
+ }
48
+
49
+ var css_248z$2 = ".index-module_mobileinput_seperatortext__-KDOp{background:#fff;left:0;margin:0 auto;position:absolute;right:0;text-align:center;top:-10px;width:40px}.index-module_footer_text__nkeJv{color:grey!important;font-size:12px!important}.index-module_otp_container__1CE4N{display:flex;flex-direction:column;margin-top:24px}.index-module_otp_box_wrapper__sM2Ba{margin-right:8px}.index-module_login_otp_input__L-3P8{font-size:24px!important;font-style:normal;font-weight:600!important;height:56px!important;line-height:28px;padding:auto;text-align:center;width:56px!important}.index-module_login_otp_error__o3y2L{padding-top:4px}.index-module_nonUtilsSelector_toast__lvWmB{bottom:12px!important;margin-bottom:12px;margin:0 auto!important;padding:12px 16px!important;width:calc(100% - 48px)!important;z-index:2000}";
50
+ var styles = {"mobileinput_seperatortext":"index-module_mobileinput_seperatortext__-KDOp","footer_text":"index-module_footer_text__nkeJv","otp_container":"index-module_otp_container__1CE4N","otp_box_wrapper":"index-module_otp_box_wrapper__sM2Ba","login_otp_input":"index-module_login_otp_input__L-3P8","login_otp_error":"index-module_login_otp_error__o3y2L","nonUtilsSelector_toast":"index-module_nonUtilsSelector_toast__lvWmB"};
51
+ styleInject(css_248z$2);
52
+
53
+ var css_248z$1 = ".index-module_loader__container__VX-VO{align-items:center;background:#fff;border-radius:32px;box-shadow:0 8px 24px 0 rgba(26,26,26,.1);display:flex;height:34px;justify-content:center;left:50%;padding:12px;position:absolute;top:50%;transform:translate(-50%,-50%);width:66px}.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R{animation:index-module_three-dots-loader__i7R-R 1s linear infinite alternate;animation-delay:.5s;background-color:#1a1a1a;border-radius:5px;height:8px;position:relative;width:8px}.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R:after,.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R:before{content:\"\";display:inline-block;position:absolute;top:0}.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R:before{animation:index-module_three-dots-loader__i7R-R 1s infinite alternate;animation-delay:0s;background-color:#1a1a1a;border-radius:5px;height:8px;left:-15px;width:8px}.index-module_loader__container__VX-VO .index-module_three-dots-loader__i7R-R:after{animation:index-module_three-dots-loader__i7R-R 1s infinite alternate;animation-delay:1s;background-color:#1a1a1a;border-radius:5px;height:8px;left:15px;width:8px}@keyframes index-module_three-dots-loader__i7R-R{0%{background-color:#1a1a1a}50%,to{background-color:grey}}";
54
+ var Styles$1 = {"loader__container":"index-module_loader__container__VX-VO","three-dots-loader":"index-module_three-dots-loader__i7R-R"};
55
+ styleInject(css_248z$1);
56
+
57
+ var ThreeDotsLoader = function () {
58
+ return (jsxRuntime.jsx("div", tslib.__assign({ className: Styles$1['loader__container'] }, { children: jsxRuntime.jsx("div", { className: Styles$1['three-dots-loader'] }) })));
59
+ };
60
+
61
+ var AutoDetectState;
62
+ (function (AutoDetectState) {
63
+ AutoDetectState[AutoDetectState["DETECTING"] = 0] = "DETECTING";
64
+ AutoDetectState[AutoDetectState["FAILED"] = 1] = "FAILED";
65
+ AutoDetectState[AutoDetectState["DETECTED"] = 2] = "DETECTED";
66
+ })(AutoDetectState || (AutoDetectState = {}));
67
+ var OtpInput = function (_a) {
68
+ var mobileNumber = _a.mobileNumber, errorCallout = _a.errorCallout, ravenPayload = _a.ravenPayload, otpInputHeight = _a.otpInputHeight, skipProfileFlow = _a.skipProfileFlow, otpResendDisabled = _a.otpResendDisabled, hotelsLoyaltyFlow = _a.hotelsLoyaltyFlow, getOTP = _a.getOTP, setCtaDisabled = _a.setCtaDisabled, setErrorCallout = _a.setErrorCallout, setMobileNumber = _a.setMobileNumber, setShowMobilePage = _a.setShowMobilePage, handleLoginSuccess = _a.handleLoginSuccess, handleLoginFailure = _a.handleLoginFailure;
69
+ var inputRefs = react.useRef(Array(4).fill(null));
70
+ var _b = react.useState(AutoDetectState.DETECTING), autoDetecting = _b[0], setAutoDetecting = _b[1];
71
+ var _c = react.useState(ctPlatformConstants.LOGIN_CONSTANTS.OTP_COUNTDOWN), countdown = _c[0], setCountdown = _c[1];
72
+ var _d = react.useState(''), otp = _d[0], setOtp = _d[1];
73
+ var _f = react.useState(true), countdownEnabled = _f[0], setCountdownEnabled = _f[1];
74
+ var _g = react.useState(false), verifiedOtp = _g[0], setVerifiedOtp = _g[1];
75
+ var _h = react.useState(''), otpErrorMessage = _h[0], setOtpErrorMessage = _h[1];
76
+ var _j = react.useState(true), enableAutoDetect = _j[0], setEnableAutoDetect = _j[1];
77
+ var _k = react.useState(false), showOtpVerificationLoader = _k[0], setShowOtpVerificationLoader = _k[1];
78
+ var lastOtpRequest = react.useRef();
79
+ var lastOtpRequestTimeStamp = react.useRef();
80
+ var loginMethod = 'CT';
81
+ react.useEffect(function () {
82
+ autoDetect();
83
+ var eventProps = ctPlatformUtils.getRavenEventProps();
84
+ ctPlatformUtils.ravenSDKTrigger('u_login_click', tslib.__assign({ action_name: 'login_otp_screen_opened', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
85
+ }, []);
86
+ react.useEffect(function () {
87
+ if (ctPlatformUtils.isIOSApp()) {
88
+ setEnableAutoDetect(false);
89
+ }
90
+ }, []);
91
+ react.useEffect(function () {
92
+ autoDetect();
93
+ }, []);
94
+ react.useEffect(function () {
95
+ if (!showOtpVerificationLoader) {
96
+ inputRefs.current[0].focus();
97
+ inputRefs.current[0].click();
98
+ }
99
+ }, [showOtpVerificationLoader]);
100
+ react.useEffect(function () {
101
+ if (countdown === 0) {
102
+ setCountdownEnabled(false);
103
+ }
104
+ }, [countdown]);
105
+ react.useEffect(function () {
106
+ var interval;
107
+ if (countdownEnabled && countdown > 0) {
108
+ interval = setInterval(function () {
109
+ setCountdown(function (prevCountdown) { return prevCountdown - 1; });
110
+ }, 1000);
111
+ }
112
+ return function () {
113
+ clearInterval(interval);
114
+ };
115
+ }, [countdownEnabled, countdown]);
116
+ var autoDetect = react.useCallback(function () { return tslib.__awaiter(void 0, void 0, void 0, function () {
117
+ var otp_1, _e_1;
118
+ return tslib.__generator(this, function (_a) {
119
+ switch (_a.label) {
120
+ case 0:
121
+ _a.trys.push([0, 2, , 3]);
122
+ return [4, ctPlatformUtils.autoReadOtp()];
123
+ case 1:
124
+ otp_1 = _a.sent();
125
+ setOtp(otp_1);
126
+ setAutoDetecting(AutoDetectState.DETECTED);
127
+ if ((otp_1 === null || otp_1 === void 0 ? void 0 : otp_1.length) === ctPlatformConstants.LOGIN_CONSTANTS.OTP_LENGTH &&
128
+ handleOtpComplete) {
129
+ handleOtpComplete(otp_1, true);
130
+ }
131
+ return [3, 3];
132
+ case 2:
133
+ _e_1 = _a.sent();
134
+ if (_e_1 === 'NOT_SUPPORTED') {
135
+ setEnableAutoDetect(false);
136
+ }
137
+ return [3, 3];
138
+ case 3: return [2];
139
+ }
140
+ });
141
+ }); }, [enableAutoDetect]);
142
+ var handleOtpValidationError = react.useCallback(function (e) {
143
+ var eventProps = ctPlatformUtils.getRavenEventProps();
144
+ ctPlatformUtils.ravenSDKTrigger('u_login_error', tslib.__assign({ action_name: 'otp_incorrect', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
145
+ var message = e === null || e === void 0 ? void 0 : e.message;
146
+ if (message !== 'OTP_VALIDATE_LIMIT_EXCEEDED') {
147
+ setOtp('');
148
+ }
149
+ inputRefs.current[0].focus();
150
+ inputRefs.current[0].click();
151
+ var messageValue = ctPlatformConstants.LOGIN_CONSTANTS[message];
152
+ var toastMessage = typeof messageValue === 'string'
153
+ ? messageValue
154
+ : ctPlatformConstants.LOGIN_CONSTANTS.INVALID_OTP;
155
+ setOtpErrorMessage(toastMessage);
156
+ }, [inputRefs]);
157
+ var handleOtpComplete = react.useCallback(function (otp, autodetected) { return tslib.__awaiter(void 0, void 0, void 0, function () {
158
+ var eventProps, response, status_1, action, e_1;
159
+ return tslib.__generator(this, function (_a) {
160
+ switch (_a.label) {
161
+ case 0:
162
+ _a.trys.push([0, 2, , 3]);
163
+ eventProps = ctPlatformUtils.getRavenEventProps();
164
+ ctPlatformUtils.ravenSDKTrigger('u_login_click', tslib.__assign({ action_name: 'otp_entered', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', entry_type: !autodetected ? 'manual_entry' : 'autodetected', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
165
+ if (otp === lastOtpRequest.current &&
166
+ lastOtpRequestTimeStamp.current &&
167
+ lastOtpRequestTimeStamp.current - Date.now() <= 100) {
168
+ return [2];
169
+ }
170
+ lastOtpRequest.current = otp;
171
+ lastOtpRequestTimeStamp.current = Date.now();
172
+ if (hotelsLoyaltyFlow) {
173
+ setShowOtpVerificationLoader(true);
174
+ }
175
+ return [4, ctPlatformUtils.validateOtp(mobileNumber, otp)];
176
+ case 1:
177
+ response = _a.sent();
178
+ status_1 = response.status, action = response.action;
179
+ if (Number(status_1) === 200 && !ctPlatformUtils.isEmpty(action)) {
180
+ setVerifiedOtp(true);
181
+ setOtpErrorMessage('');
182
+ ctPlatformUtils.updateNativeOnLogin();
183
+ if (action === 'SIGNUP') {
184
+ if (!skipProfileFlow) {
185
+ window.location.href =
186
+ ctPlatformConstants.NAVIGATION_ROUTES.PERSONAL_DETAILS +
187
+ '?onboardingFlow=true';
188
+ }
189
+ handleLoginSuccess(loginMethod, true);
190
+ }
191
+ else {
192
+ handleLoginSuccess(loginMethod);
193
+ }
194
+ }
195
+ else {
196
+ if (hotelsLoyaltyFlow) {
197
+ setShowOtpVerificationLoader(false);
198
+ }
199
+ handleLoginFailure(loginMethod);
200
+ }
201
+ return [3, 3];
202
+ case 2:
203
+ e_1 = _a.sent();
204
+ if (hotelsLoyaltyFlow) {
205
+ setShowOtpVerificationLoader(false);
206
+ }
207
+ handleLoginFailure(loginMethod);
208
+ handleOtpValidationError(e_1);
209
+ return [3, 3];
210
+ case 3: return [2];
211
+ }
212
+ });
213
+ }); }, [
214
+ lastOtpRequest,
215
+ lastOtpRequestTimeStamp,
216
+ setVerifiedOtp,
217
+ setAutoDetecting,
218
+ setOtpErrorMessage,
219
+ handleOtpValidationError,
220
+ ]);
221
+ var handleOnPaste = function () { return tslib.__awaiter(void 0, void 0, void 0, function () {
222
+ var clipboardData, pastedArr, pastedString;
223
+ var _a, _b;
224
+ return tslib.__generator(this, function (_c) {
225
+ switch (_c.label) {
226
+ case 0: return [4, navigator.clipboard.readText()];
227
+ case 1:
228
+ clipboardData = _c.sent();
229
+ if (clipboardData && ctPlatformUtils.isNumeric(clipboardData)) {
230
+ pastedArr = clipboardData
231
+ .slice(0, ctPlatformConstants.LOGIN_CONSTANTS.OTP_LENGTH)
232
+ .split('');
233
+ (_a = inputRefs.current[ctPlatformConstants.LOGIN_CONSTANTS.OTP_LENGTH - 1]) === null || _a === void 0 ? void 0 : _a.focus();
234
+ (_b = inputRefs.current[ctPlatformConstants.LOGIN_CONSTANTS.OTP_LENGTH - 1]) === null || _b === void 0 ? void 0 : _b.click();
235
+ pastedString = pastedArr.join('');
236
+ setOtp(pastedString);
237
+ if (pastedString.length === ctPlatformConstants.LOGIN_CONSTANTS.OTP_LENGTH) {
238
+ handleOtpComplete(pastedString, false);
239
+ }
240
+ }
241
+ return [2];
242
+ }
243
+ });
244
+ }); };
245
+ var handleInput = react.useCallback(function (event, index) {
246
+ var _a, _b;
247
+ setErrorCallout('');
248
+ var value = event.target.value;
249
+ if (value !== '' && index < inputRefs.current.length - 1) {
250
+ (_a = inputRefs.current[index + 1]) === null || _a === void 0 ? void 0 : _a.focus();
251
+ (_b = inputRefs.current[index + 1]) === null || _b === void 0 ? void 0 : _b.click();
252
+ }
253
+ var inputValues = inputRefs.current.map(function (ref) {
254
+ if (ctPlatformUtils.isHTMLInputElement(ref)) {
255
+ return ref.value;
256
+ }
257
+ return '';
258
+ });
259
+ var otpValue = inputValues.join('').slice(0, 4);
260
+ setOtp(otpValue);
261
+ if (otpValue.length === ctPlatformConstants.LOGIN_CONSTANTS.OTP_LENGTH) {
262
+ handleOtpComplete(otpValue, false);
263
+ }
264
+ }, [setOtp, handleOtpComplete]);
265
+ var handleKeyDown = react.useCallback(function (e, index) {
266
+ var _a, _b, _c;
267
+ if (e.key === 'Backspace' &&
268
+ index > 0 &&
269
+ ((_a = inputRefs.current[index]) === null || _a === void 0 ? void 0 : _a.value) === '') {
270
+ e.preventDefault();
271
+ (_b = inputRefs.current[index - 1]) === null || _b === void 0 ? void 0 : _b.focus();
272
+ (_c = inputRefs.current[index - 1]) === null || _c === void 0 ? void 0 : _c.click();
273
+ }
274
+ }, [inputRefs]);
275
+ var onResendOtpClick = react.useCallback(function () {
276
+ setCountdown(ctPlatformConstants.LOGIN_CONSTANTS.OTP_COUNTDOWN);
277
+ setCountdownEnabled(true);
278
+ getOTP(mobileNumber);
279
+ var eventProps = ctPlatformUtils.getRavenEventProps();
280
+ ctPlatformUtils.ravenSDKTrigger('u_login_error', tslib.__assign({ action_name: 'resend_otp_clicked', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
281
+ }, [setCountdown, setCountdownEnabled]);
282
+ var onEditCLick = react.useCallback(function () {
283
+ setCtaDisabled(true);
284
+ setShowMobilePage(true);
285
+ setMobileNumber('');
286
+ }, [setShowMobilePage]);
287
+ return (jsxRuntime.jsxs("div", tslib.__assign({ className: 'flex flex-column bg-neutral-100', style: { height: otpInputHeight } }, { children: [errorCallout && (jsxRuntime.jsx(ctDesignAlertCallout.AlertCallout, { variant: 'error', textNode: errorCallout, prefixIconNode: jsxRuntime.jsx(ctDesignIcons.InfoIcon, { fill: 'red' }), style: {
288
+ color: '#ffff',
289
+ backgroundColor: '#db201e',
290
+ }, className: 'fs-12' })), jsxRuntime.jsxs("div", tslib.__assign({ className: 'flex flex-bottom' }, { children: [jsxRuntime.jsxs(ctDesignTypography.Typography, tslib.__assign({ variant: 'HM1', color: 'heading' }, { children: [ctPlatformConstants.LOGIN_CONSTANTS.OTP_TEXT, " ", jsxRuntime.jsx("br", {}), mobileNumber] })), jsxRuntime.jsx("div", tslib.__assign({ className: 'pl-2', onClick: onEditCLick }, { children: jsxRuntime.jsx(ctDesignIcons.Edit, {}) }))] })), jsxRuntime.jsxs("div", tslib.__assign({ className: styles.otp_container }, { children: [jsxRuntime.jsxs("div", tslib.__assign({ className: 'flex', style: hotelsLoyaltyFlow
291
+ ? { width: 'max-content', position: 'relative' }
292
+ : {} }, { children: [tslib.__spreadArray([], Array(ctPlatformConstants.LOGIN_CONSTANTS.OTP_LENGTH), true).map(function (_, i) { return (jsxRuntime.jsx("div", tslib.__assign({ className: styles.otp_box_wrapper }, { children: jsxRuntime.jsx(ctDesignField.FieldV2, { prompt: {
293
+ hasError: !!otpErrorMessage,
294
+ }, type: 'number', placeholder: '', value: otp[i], max: 1, inputMode: 'numeric', className: styles.login_otp_input, variant: 'md', ref: function (ref) {
295
+ if (ref) {
296
+ inputRefs.current[i] = ref;
297
+ }
298
+ }, onKeyDown: function (e) { return handleKeyDown(e, i); }, onChange: function (e) { return handleInput(e, i); }, onPaste: handleOnPaste, autoFocus: i === 0, disabled: hotelsLoyaltyFlow &&
299
+ showOtpVerificationLoader
300
+ ? true
301
+ : false }) }), i)); }), hotelsLoyaltyFlow && showOtpVerificationLoader && (jsxRuntime.jsx(ThreeDotsLoader, {}))] })), !!otpErrorMessage && (jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'P1', color: 'warning', className: styles.login_otp_error }, { children: otpErrorMessage })))] })), jsxRuntime.jsx(ctDesignSpacer.Spacer, { className: 'pt-2' }), autoDetecting === AutoDetectState.DETECTING &&
302
+ !verifiedOtp &&
303
+ enableAutoDetect &&
304
+ countdown >
305
+ ctPlatformConstants.LOGIN_CONSTANTS.RESEND_OTP_COUNTDOWN && (jsxRuntime.jsxs("div", tslib.__assign({ className: 'flex flex-middle' }, { children: [jsxRuntime.jsx(ctDesignSpinner.Spinner, { width: '20px', height: '20px', borderColor: '#11a670', className: 'bg-neutral-900 bc-black' }), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'B3', className: 'fs-12 fw-500 ml-1 c-neutral-700' }, { children: ctPlatformConstants.LOGIN_CONSTANTS.AUTO_DETECTING_TEXT }))] }))), autoDetecting === AutoDetectState.DETECTING &&
306
+ countdown <= ctPlatformConstants.LOGIN_CONSTANTS.RESEND_OTP_COUNTDOWN &&
307
+ enableAutoDetect &&
308
+ !verifiedOtp && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", tslib.__assign({ className: 'flex' }, { children: [jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'B3', className: 'fs-12 fw-500 c-neutral-700 ' }, { children: ctPlatformConstants.LOGIN_CONSTANTS.OTP_RESEND_TEXT })), jsxRuntime.jsx(ctDesignSpacer.Spacer, { className: 'ml-1' }), otpResendDisabled ? (jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ className: 'color-neutral-200 fw-500', variant: 'B3' }, { children: ctPlatformConstants.LOGIN_CONSTANTS.RESEND_CTA }))) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [countdown === 0 && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ isClickable: true, variant: 'B3', onClick: onResendOtpClick, color: 'link', className: '\n fs-12 fw-500 c-pointer' }, { children: ctPlatformConstants.LOGIN_CONSTANTS.RESEND_CTA })) })), countdown > 0 && (jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ color: 'disabled', variant: 'B3' }, { children: ' Resend (' + countdown + 's)' })))] }))] })) })), !otpErrorMessage && verifiedOtp && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", tslib.__assign({ className: 'flex flex-middle' }, { children: [jsxRuntime.jsx(ctDesignIcons.CheckCircle, {}), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'P1', color: 'success', className: 'fs-12' }, { children: autoDetecting === AutoDetectState.DETECTED
309
+ ? ctPlatformConstants.LOGIN_CONSTANTS.AUTO_DETECTED_TEXT
310
+ : ctPlatformConstants.LOGIN_CONSTANTS.VERIFIED_MESSAGE }))] })) })), jsxRuntime.jsx(ctDesignSpacer.Spacer, { className: 'mt-24' })] })));
311
+ };
312
+
313
+ var css_248z = ".index-module_loader__63LeU{align-items:center;background-color:hsla(0,0%,100%,.95);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:0}.index-module_loader__63LeU.index-module_With-full-opacity__ZSY-U{background-color:#fff}.index-module_loader__content__Q6kJl{max-width:280px;text-align:center}.index-module_loader__spinner__6B3AR{animation:index-module_loader-rotate__efcf3 .8s linear infinite;border:2px solid rgba(51,102,204,.3);border-radius:50%;border-top-color:#36c;display:inline-block;height:30px;margin-bottom:10px;position:relative;width:30px}.index-module_loader__heading__7YZ3N{color:#000;font-size:18px;font-weight:600;margin-bottom:5px}.index-module_loader__text__1QcLi{color:rgba(0,0,0,.8);font-size:16px;line-height:1.5}";
314
+ var Styles = {"loader":"index-module_loader__63LeU","With-full-opacity":"index-module_With-full-opacity__ZSY-U","loader__content":"index-module_loader__content__Q6kJl","loader__spinner":"index-module_loader__spinner__6B3AR","loader-rotate":"index-module_loader-rotate__efcf3","loader__heading":"index-module_loader__heading__7YZ3N","loader__text":"index-module_loader__text__1QcLi"};
315
+ styleInject(css_248z);
316
+
317
+ var Loader = function (_a) {
318
+ var title = _a.title, message = _a.message, className = _a.className;
319
+ return (jsxRuntime.jsx("div", tslib.__assign({ className: "".concat(Styles['utilswrapper'], " utilswrapper") }, { children: jsxRuntime.jsx("div", tslib.__assign({ className: classNames__default.default(Styles['loader'], className) }, { children: jsxRuntime.jsxs("div", tslib.__assign({ className: Styles['loader__content'] }, { children: [jsxRuntime.jsx("div", { className: Styles['loader__spinner'] }), jsxRuntime.jsx("h5", tslib.__assign({ className: Styles['loader__heading'] }, { children: title })), jsxRuntime.jsx("p", tslib.__assign({ className: Styles['loader__text'] }, { children: message }))] })) })) })));
320
+ };
321
+
322
+ var MobileInput = function (_a) {
323
+ var sendingOtp = _a.sendingOtp, ctaDisabled = _a.ctaDisabled, getOTP = _a.getOTP, setErrorCallout = _a.setErrorCallout, errorCallout = _a.errorCallout, mobileNumber = _a.mobileNumber, setMobileInputHeight = _a.setMobileInputHeight, setMobileNumber = _a.setMobileNumber, fallbackUri = _a.fallbackUri, skipProfileFlow = _a.skipProfileFlow, ravenPayload = _a.ravenPayload, hotelsLoyaltyFlow = _a.hotelsLoyaltyFlow, _b = _a.isFkLoginEnabled, isFkLoginEnabled = _b === void 0 ? true : _b, _c = _a.isPrivacyPolicyVisible, isPrivacyPolicyVisible = _c === void 0 ? true : _c;
324
+ var fkSSOEnabled = react.useState(ctPlatformUtils.isFKSSOEnabled)[0];
325
+ var _d = react.useState(false), fkButtonLoading = _d[0], setFkButtonLoading = _d[1];
326
+ var inputRef = react.useRef(null);
327
+ var mobileViewRef = react.useRef(null);
328
+ react.useEffect(function () {
329
+ if (mobileViewRef.current) {
330
+ var height = mobileViewRef.current.clientHeight;
331
+ setMobileInputHeight(height);
332
+ }
333
+ }, [mobileViewRef.current]);
334
+ react.useEffect(function () {
335
+ var timeout;
336
+ if (inputRef.current) {
337
+ timeout = setTimeout(function () {
338
+ var _a;
339
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
340
+ }, 100);
341
+ }
342
+ return function () {
343
+ clearTimeout(timeout);
344
+ };
345
+ }, []);
346
+ react.useEffect(function () {
347
+ if (ctPlatformUtils.isAndroidApp()) {
348
+ autoDetectMobileNumber();
349
+ }
350
+ }, []);
351
+ var handleFKSSOClick = react.useCallback(function () { return tslib.__awaiter(void 0, void 0, void 0, function () {
352
+ var eventProps, redirectUrl;
353
+ return tslib.__generator(this, function (_a) {
354
+ switch (_a.label) {
355
+ case 0:
356
+ _a.trys.push([0, 2, , 3]);
357
+ eventProps = ctPlatformUtils.getRavenEventProps();
358
+ ctPlatformUtils.ravenSDKTrigger('u_login_click', tslib.__assign({ action_name: 'login_with_flipkart_clicked', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'fk_sso', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
359
+ setFkButtonLoading(true);
360
+ return [4, ctPlatformUtils.handleFKSSO(fallbackUri, skipProfileFlow)];
361
+ case 1:
362
+ redirectUrl = _a.sent();
363
+ if (!hotelsLoyaltyFlow) {
364
+ setFkButtonLoading(false);
365
+ }
366
+ if (ctPlatformUtils.isPwa()) {
367
+ window.location.href = redirectUrl;
368
+ }
369
+ return [3, 3];
370
+ case 2:
371
+ _a.sent();
372
+ setFkButtonLoading(false);
373
+ return [3, 3];
374
+ case 3: return [2];
375
+ }
376
+ });
377
+ }); }, []);
378
+ var handleInputChange = react.useCallback(function (event, autoDetected) {
379
+ if (autoDetected === void 0) { autoDetected = false; }
380
+ setErrorCallout('');
381
+ var value = event.target.value || '';
382
+ value = value.replace(ctPlatformUtils.MULTI_SPACE, ' ').trimStart();
383
+ setMobileNumber(value);
384
+ var validMobileNo = ctPlatformUtils.isValidMobileNumber(event.target.value);
385
+ if (validMobileNo) {
386
+ getOTP(value);
387
+ var eventProps = ctPlatformUtils.getRavenEventProps();
388
+ ctPlatformUtils.ravenSDKTrigger('u_login_click', tslib.__assign({ action_name: 'get_otp_clicked', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', entry_type: 'auto_click', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
389
+ if (!autoDetected) {
390
+ ctPlatformUtils.ravenSDKTrigger('u_login_click', tslib.__assign({ action_name: 'phone_number_entered', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', entry_type: 'manual_entry', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
391
+ }
392
+ else {
393
+ ctPlatformUtils.ravenSDKTrigger('u_login_click', tslib.__assign({ action_name: 'phone_number_autodetected', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', entry_type: 'autodetected', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
394
+ }
395
+ }
396
+ }, [setMobileNumber]);
397
+ var autoDetectMobileNumber = react.useCallback(function () { return tslib.__awaiter(void 0, void 0, void 0, function () {
398
+ var autoDetectedNumber, simulatedEvent;
399
+ return tslib.__generator(this, function (_a) {
400
+ switch (_a.label) {
401
+ case 0: return [4, ctPlatformUtils.showMobileNumberHint()];
402
+ case 1:
403
+ autoDetectedNumber = _a.sent();
404
+ simulatedEvent = {
405
+ target: {
406
+ value: autoDetectedNumber,
407
+ },
408
+ };
409
+ if (autoDetectedNumber) {
410
+ handleInputChange(simulatedEvent, true);
411
+ }
412
+ return [2];
413
+ }
414
+ });
415
+ }); }, [handleInputChange]);
416
+ var handlePrivacyPolicyClick = react.useCallback(function () {
417
+ var eventProps = ctPlatformUtils.getRavenEventProps();
418
+ ctPlatformUtils.ravenSDKTrigger('u_login_click', tslib.__assign({ action_name: 'policy_click', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
419
+ window.location.href = ctPlatformConstants.NAVIGATION_ROUTES.PRIVACY_POLICY;
420
+ }, []);
421
+ var handleTermsOfUseClick = react.useCallback(function () {
422
+ var eventProps = ctPlatformUtils.getRavenEventProps();
423
+ ctPlatformUtils.ravenSDKTrigger('u_login_click', tslib.__assign({ action_name: 'tnc_click', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload));
424
+ window.location.href = ctPlatformConstants.NAVIGATION_ROUTES.TERMS;
425
+ }, []);
426
+ return (jsxRuntime.jsxs("div", tslib.__assign({ className: 'flex flex-column', ref: mobileViewRef }, { children: [errorCallout && (jsxRuntime.jsx(ctDesignAlertCallout.AlertCallout, { variant: 'error', textNode: errorCallout, prefixIconNode: jsxRuntime.jsx(ctDesignIcons.InfoIcon, { fill: 'red' }), style: {
427
+ color: '#ffff',
428
+ backgroundColor: '#db201e',
429
+ }, className: 'fs-12' })), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'HM1', color: 'heading', className: 'mb-4 fs-24' }, { children: ctPlatformConstants.LOGIN_CONSTANTS.LOGIN_TO_CT })), jsxRuntime.jsx("label", tslib.__assign({ style: {
430
+ visibility: 'hidden',
431
+ width: '0.1px',
432
+ height: '0.1px',
433
+ }, htmlFor: 'phonenumber' }, { children: "Phone number" })), jsxRuntime.jsx(ctDesignField.PhoneField, { onChange: handleInputChange, value: mobileNumber, name: 'phonenumber', placeholder: '', inputMode: 'numeric', ref: inputRef, min: 0, max: 10, autoFocus: true, countryCode: ctPlatformConstants.LOGIN_CONSTANTS.COUNTRY_CODE }), jsxRuntime.jsx(ctDesignButton.Button, tslib.__assign({ color: 'primary', size: 'medium', minWidth: '160px', disabled: ctaDisabled, loading: sendingOtp, className: 'my-6', onClick: function () { return getOTP(mobileNumber); } }, { children: ctPlatformConstants.LOGIN_CONSTANTS.GET_OTP })), fkSSOEnabled && isFkLoginEnabled && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", tslib.__assign({ className: 'my-6 p-relative' }, { children: [jsxRuntime.jsx(ctDesignDivider.Divider, {}), jsxRuntime.jsx("span", tslib.__assign({ className: "".concat(styles.mobileinput_seperatortext) }, { children: "or" }))] })), jsxRuntime.jsx(ctDesignButton.Button, tslib.__assign({ variant: 'outline', size: 'medium', className: 'my-6', loading: fkButtonLoading, onClick: handleFKSSOClick, showLeftIcon: !fkButtonLoading, LeftIcon: jsxRuntime.jsx("img", { src: ctPlatformAssets.FlipkartLogo }) }, { children: ctPlatformConstants.LOGIN_CONSTANTS.FK_LOGIN_CTA }))] })), isPrivacyPolicyVisible && (jsxRuntime.jsxs("div", tslib.__assign({ className: 'pt-8 pb-6' }, { children: [jsxRuntime.jsx(ctDesignDivider.Divider, {}), jsxRuntime.jsxs("div", tslib.__assign({ className: 'flex flex-middle \n flex-center flex-wrap pt-2' }, { children: [jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'P1', className: styles.footer_text }, { children: ctPlatformConstants.LOGIN_CONSTANTS.FOOTER_TEXT })), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'P1', color: 'link', className: 'pl-1 fs-12', isClickable: true, onClick: handlePrivacyPolicyClick }, { children: ctPlatformConstants.LOGIN_CONSTANTS.PRIVACY_CTA })), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ className: 'px-1 fs-12 c-neutral-700', variant: 'P1' }, { children: '& ' })), jsxRuntime.jsx(ctDesignTypography.Typography, tslib.__assign({ variant: 'P1', color: 'link', isClickable: true, onClick: handleTermsOfUseClick, className: 'fs-12' }, { children: ctPlatformConstants.LOGIN_CONSTANTS.TNC_CTA }))] }))] })))] })));
434
+ };
435
+
436
+ var LoginForm = function (_a) {
437
+ var fallbackUri = _a.fallbackUri, isLoginModule = _a.isLoginModule, skipProfileFlow = _a.skipProfileFlow, sendUserInsights = _a.sendUserInsights, isFkLoginEnabled = _a.isFkLoginEnabled, _b = _a.ravenPayload, ravenPayload = _b === void 0 ? {} : _b, hotelsLoyaltyFlow = _a.hotelsLoyaltyFlow, enableProfileFetch = _a.enableProfileFetch, isPrivacyPolicyVisible = _a.isPrivacyPolicyVisible, onAuthSuccess = _a.onAuthSuccess, onAuthFailure = _a.onAuthFailure;
438
+ var _c = react.useState(true), showMobilePage = _c[0], setShowMobilePage = _c[1];
439
+ var _d = react.useState(true), ctaDisabled = _d[0], setCtaDisabled = _d[1];
440
+ var _e = react.useState(false), sendingOtp = _e[0], setSendingOtp = _e[1];
441
+ var _f = react.useState(''), mobileNumber = _f[0], setMobileNumber = _f[1];
442
+ var _g = react.useState(0), mobileInputHeight = _g[0], setMobileInputHeight = _g[1];
443
+ var _h = react.useState(''), errorCallout = _h[0], setErrorCallout = _h[1];
444
+ var _j = react.useState(false), otpResendDisabled = _j[0], setOtpResendDisabled = _j[1];
445
+ var _k = react.useState(false), showSuccess = _k[0], setShowSuccess = _k[1];
446
+ var _l = react.useState(false), showSigninLoader = _l[0], setShowSigninLoader = _l[1];
447
+ var getOTP = react.useCallback(function (mobileNumber) { return tslib.__awaiter(void 0, void 0, void 0, function () {
448
+ var res, status_1, err_1, message, errorMessage;
449
+ return tslib.__generator(this, function (_a) {
450
+ switch (_a.label) {
451
+ case 0:
452
+ _a.trys.push([0, 2, , 3]);
453
+ setCtaDisabled(false);
454
+ setSendingOtp(true);
455
+ ctPlatformUtils.triggerOTPListener();
456
+ return [4, ctPlatformUtils.sendLoginOtp(mobileNumber)];
457
+ case 1:
458
+ res = _a.sent();
459
+ status_1 = (res || {}).status;
460
+ if (status_1 === 'SUCCESS') {
461
+ setShowMobilePage(false);
462
+ setSendingOtp(false);
463
+ }
464
+ return [3, 3];
465
+ case 2:
466
+ err_1 = _a.sent();
467
+ console.error(err_1);
468
+ message = (err_1 || {}).message;
469
+ setSendingOtp(false);
470
+ errorMessage = message && ctPlatformConstants.LOGIN_CONSTANTS[message];
471
+ if (errorMessage) {
472
+ setErrorCallout(String(errorMessage));
473
+ }
474
+ else {
475
+ setErrorCallout(String(ctPlatformConstants.LOGIN_CONSTANTS.GENERIC_ERROR_MESSAGE));
476
+ }
477
+ if (message === 'OTP_SEND_LIMIT_EXCEEDED') {
478
+ setOtpResendDisabled(true);
479
+ }
480
+ return [3, 3];
481
+ case 3: return [2];
482
+ }
483
+ });
484
+ }); }, [showMobilePage, setShowMobilePage]);
485
+ var handleLoginSuccess = react.useCallback(function (loginMethod, isSignUp) {
486
+ var eventProps = ctPlatformUtils.getRavenEventProps();
487
+ var payload = tslib.__assign({ action_name: 'login_successful', login_form: eventProps === null || eventProps === void 0 ? void 0 : eventProps.loginForm, login_type: 'native', login_new: isSignUp ? 'sign_up' : 'sign_in', vertical: eventProps === null || eventProps === void 0 ? void 0 : eventProps.vertical, page_name: eventProps === null || eventProps === void 0 ? void 0 : eventProps.pageName }, ravenPayload);
488
+ if (sendUserInsights) {
489
+ ctPlatformUtils.sendEventWithUserInsights('u_login_success', payload);
490
+ }
491
+ else {
492
+ ctPlatformUtils.ravenSDKTrigger('u_login_success', payload);
493
+ }
494
+ if (enableProfileFetch) {
495
+ ctPlatformUtils.handleProfileFetch();
496
+ }
497
+ if (!hotelsLoyaltyFlow &&
498
+ !isLoginModule &&
499
+ (!isSignUp || skipProfileFlow)) {
500
+ setShowSuccess(true);
501
+ }
502
+ onAuthSuccess(isSignUp);
503
+ }, [
504
+ ravenPayload,
505
+ isLoginModule,
506
+ skipProfileFlow,
507
+ sendUserInsights,
508
+ hotelsLoyaltyFlow,
509
+ enableProfileFetch,
510
+ ]);
511
+ var handleLoginFailure = react.useCallback(function (loginMethod) {
512
+ onAuthFailure(loginMethod);
513
+ }, []);
514
+ var showSigninLoaderScreen = function () {
515
+ setShowSigninLoader(true);
516
+ };
517
+ react.useEffect(function () {
518
+ if (isLoginModule) {
519
+ return;
520
+ }
521
+ if (window) {
522
+ window['showSigninLoaderScreen'] = showSigninLoaderScreen;
523
+ }
524
+ var queryValue = ctPlatformUtils.getQueryParam('fkSSOstatus');
525
+ var loginMethod = 'FK';
526
+ if (queryValue === 'signin') {
527
+ if (ctPlatformUtils.isAndroidApp()) {
528
+ ctPlatformUtils.updateNativeAndroidOnSignIn();
529
+ }
530
+ handleLoginSuccess(loginMethod);
531
+ }
532
+ if (queryValue === 'signup') {
533
+ if (ctPlatformUtils.isAndroidApp()) {
534
+ ctPlatformUtils.updateNativeAndroidOnSignIn();
535
+ }
536
+ handleLoginSuccess(loginMethod, true);
537
+ }
538
+ if (queryValue === 'failure') {
539
+ handleLoginFailure(loginMethod);
540
+ }
541
+ }, []);
542
+ return (jsxRuntime.jsxs("div", tslib.__assign({ className: "".concat(styles['utilswrapper'], " utilswrapper") }, { children: [showSuccess && (jsxRuntime.jsx(ctDesignToast.Toast, { text: 'Logged in successfully!', show: showSuccess, className: "".concat(styles['nonUtilsSelector_toast']), closeTimeout: 2000 })), showSigninLoader && (jsxRuntime.jsx(Loader, { title: 'Please wait', message: 'Signing in...', className: 'z-10 bg-white' })), showMobilePage ? (jsxRuntime.jsx(MobileInput, { device: 'PWA', ctaDisabled: ctaDisabled, sendingOtp: sendingOtp, getOTP: getOTP, mobileNumber: mobileNumber, setMobileNumber: setMobileNumber, setMobileInputHeight: setMobileInputHeight, fallbackUri: fallbackUri, skipProfileFlow: skipProfileFlow, setErrorCallout: setErrorCallout, errorCallout: errorCallout, ravenPayload: ravenPayload, hotelsLoyaltyFlow: hotelsLoyaltyFlow, isFkLoginEnabled: isFkLoginEnabled, isPrivacyPolicyVisible: isPrivacyPolicyVisible })) : (jsxRuntime.jsx(OtpInput, { mobileNumber: mobileNumber, getOTP: getOTP, setCtaDisabled: setCtaDisabled, setShowMobilePage: setShowMobilePage, handleLoginSuccess: handleLoginSuccess, handleLoginFailure: handleLoginFailure, otpInputHeight: mobileInputHeight, setMobileNumber: setMobileNumber, setErrorCallout: setErrorCallout, errorCallout: errorCallout, otpResendDisabled: otpResendDisabled, ravenPayload: ravenPayload, skipProfileFlow: skipProfileFlow, hotelsLoyaltyFlow: hotelsLoyaltyFlow }))] })));
543
+ };
544
+
545
+ exports.LoginForm = LoginForm;
2
546
  //# sourceMappingURL=ct-platform-login-form.cjs.js.map