{"version":3,"file":"default-src_app_modules_auth_auth_module_ts.js","mappings":"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","sources":["./src/app/common/directives/only-numbers.directive.ts","./src/app/modules/auth/auth-routing.module.ts","./src/app/modules/auth/auth.component.ts","./src/app/modules/auth/auth.component.html","./src/app/modules/auth/auth.module.ts","./src/app/modules/auth/forgot-password/forgot-password.component.ts","./src/app/modules/auth/forgot-password/forgot-password.component.html","./src/app/modules/auth/login-with-password/login-with-password.component.ts","./src/app/modules/auth/login-with-password/login-with-password.component.html","./src/app/modules/auth/login/login.component.ts","./src/app/modules/auth/login/login.component.html","./src/app/modules/auth/state/auth/auth.actions.ts","./src/app/modules/auth/state/auth/auth.effects.ts","./src/app/modules/auth/state/auth/auth.facade.service.ts","./src/app/modules/auth/state/auth/auth.reducers.ts","./src/app/modules/auth/state/auth/auth.selectors.ts","./src/app/modules/auth/verify-otp/verify-otp.component.ts","./src/app/modules/auth/verify-otp/verify-otp.component.html","./src/app/modules/ifa/popup-message/popup-message.component.ts","./src/app/modules/ifa/popup-message/popup-message.component.html","./src/app/services/notification.service.ts","./node_modules/ng-otp-input/fesm2015/ng-otp-input.js"],"sourcesContent":["import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appOnlyNumbers]'\n})\nexport class OnlyNumbersDirective {\n\n constructor(private el : ElementRef) { }\n\n @HostListener(\"input\", ['$event'])\n onInputChange(event : any){\n const initialValue = this.el.nativeElement.value;\n\n if(initialValue.length === 1){\n this.el.nativeElement.value = initialValue.replace(/[^6-9]*/g,'');\n }\n else{\n this.el.nativeElement.value = initialValue.replace(/[^0-9]*/g,'');\n }\n if(initialValue !== this.el.nativeElement.value){\n event.stopPropagation();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthComponent } from './auth.component';\nimport { LoginComponent } from './login/login.component';\n\nconst routes: Routes = [\n { \n path: '', \n component: AuthComponent \n },\n { \n path: 'login', \n component: LoginComponent\n },\n { \n path: \"**\", \n redirectTo: \"login\" \n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class AuthRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-auth',\n templateUrl: './auth.component.html',\n styleUrls: ['./auth.component.scss']\n})\nexport class AuthComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AuthRoutingModule } from './auth-routing.module';\nimport { AuthComponent } from './auth.component';\nimport { LoginComponent } from './login/login.component';\nimport { AllMaterialModule } from 'src/app/material-module';\nimport { VerifyOtpComponent } from './verify-otp/verify-otp.component';\nimport { NgOtpInputModule } from 'ng-otp-input';\nimport { AuthFacadeService } from 'src/app/modules/auth/state/auth/auth.facade.service';\nimport { AuthService } from 'src/app/modules/auth/services/auth.service';\nimport { StoreModule } from '@ngrx/store';\nimport { authReducer } from 'src/app/modules/auth/state/auth/auth.reducers';\nimport { EffectsModule } from '@ngrx/effects';\nimport { AuthEffect } from 'src/app/modules/auth/state/auth/auth.effects';\nimport { OnlyNumbersDirective } from 'src/app/common/directives/only-numbers.directive';\nimport { LoginWithPasswordComponent } from './login-with-password/login-with-password.component';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { ModalwindowModule } from 'src/app/modules/shared/modal-window/modal-window-model';\n\n\n@NgModule({\n declarations: [\n AuthComponent,\n LoginComponent,\n VerifyOtpComponent,\n OnlyNumbersDirective,\n LoginWithPasswordComponent,\n ForgotPasswordComponent\n ],\n imports: [\n ModalwindowModule,\n CommonModule,\n AuthRoutingModule,\n AllMaterialModule,\n NgOtpInputModule,\n StoreModule.forFeature('AUTH', authReducer),\n EffectsModule.forFeature([AuthEffect]),\n ],\n exports: [\n \n OnlyNumbersDirective,\n ]\n ,\n providers : [AuthFacadeService]\n})\nexport class AuthModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n close\n
\n\n\n
\n \n

You have requested to reset your password.

\n
A unique reset password link is sent to your registered email address.
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators, ValidatorFn, AbstractControl } from '@angular/forms';\nimport { AuthService } from 'src/app/modules/auth/services/auth.service';\nimport { AuthFacadeService } from 'src/app/modules/auth/state/auth/auth.facade.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NotificationService } from 'src/app/services/notification.service';\nimport { CryptoService } from 'src/app/services/crypto.service';\nimport { CookieService } from 'src/app/services/cookie.service';\nimport { PopupMessageComponent } from 'src/app/modules/navigation/popup-message/popup-message.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Constants } from 'src/app/common/constants/constants';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-login-with-password',\n templateUrl: './login-with-password.component.html',\n styleUrls: ['./login-with-password.component.scss']\n})\nexport class LoginWithPasswordComponent implements OnInit {\n form!: FormGroup;\n ref_code:any = null;\n storeData: any ;\n timeout:any=Constants.POPUP_TIMEOUT;\n emailValidation = new RegExp(\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n );\n\n constructor(private authFacadeService : AuthFacadeService, private router: Router,\n private notificationService : NotificationService, private cryptoService:CryptoService,\n private formBuilder: FormBuilder,public dialog: MatDialog,\n private route:ActivatedRoute, private utilsService : UtilsService,\n private cookieService : CookieService, private authService : AuthService) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe((parmas : any)=>{\n console.log(\"GOT Refereal code\",parmas['referral_code']);\n this.ref_code = parmas['referral_code'] || null;\n });\n localStorage.setItem('referral',String(this.ref_code));\n\n this.authFacadeService.getLoginResult$.subscribe((stores : any) => {\n this.storeData = stores;\n if(this.storeData && this.storeData.response.loginResponse){\n let encryptedToken : any = this.cryptoService.encrypt(this.storeData.response.loginResponse.token);\n this.cookieService.setCookie('token', encryptedToken);\n this.authService.fetchUser().subscribe((res : any) => {\n console.log('user',res)\n if(res && res.data && res.data.personal_details){\n const username = `${res.data.personal_details.first_name} ${res.data.personal_details.last_name}`;\n this.utilsService.onUserUpdate.next(username);\n localStorage.setItem('username', username);\n let encryptedUserId : any = this.cryptoService.encrypt(res.data.personal_details.user_id);\n localStorage.setItem('userId', encryptedUserId);\n //this.router.navigateByUrl('/dashboard');\n this.router.navigateByUrl('/dashboard/invest');\n }\n });\n\n }\n else if(this.storeData && this.storeData.response.errorMessage){\n const popup = this.dialog.open(PopupMessageComponent,{\n data:{\n title:\"Error\",\n message:this.storeData.response.errorMessage.error ?\n this.storeData.response.errorMessage.error.message : 'Error on login'\n }\n })\n popup.afterOpened().subscribe((res : any)=>{\n setTimeout(()=>{\n popup.close();\n }, this.timeout)\n })\n // this.notificationService.showError(this.storeData.response.errorMessage.error.message, \"Error\");\n }\n });\n\n this.form = this.formBuilder.group({\n mobileOrEmail: new FormControl('', [Validators.required, Validators.pattern(this.emailValidation), NoWhitespaceValidator()]),\n password: new FormControl('', [Validators.required])\n });\n }\n\n submit(){\n const data = {\n \"email\" : this.form.controls['mobileOrEmail'].value,\n \"type\" : 1,\n \"password\" : this.form.controls['password'].value,\n \"referred_by\" : this.ref_code,\n \"utmDetails\": {\n \"utmSource\": \"\",\n \"utmMedium\" :\"\",\n \"utmCampaign\": \"\"\n }\n }\n this.authFacadeService.login(data);\n }\n\n\n ngOnDestroy() : void{\n this.authFacadeService.clearState();\n }\n\n\n}\n\nexport function NoWhitespaceValidator(): ValidatorFn {\n return (control: AbstractControl): any => {\n window.setTimeout(() => {\n if (control.value && control.value != '') {\n let trimedvalue = control.value.replace(/\\s/g, '');\n control.setValue(trimedvalue);\n }\n }, 10);\n };\n}\n","
\n
\n

Login

\n
\n
\n

Enter your phone number or email

\n \n \n \n

Enter password

\n \n \n \n\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
","import { ChangeDetectorRef, Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport { FormControl, Validators, FormGroup, ValidatorFn, AbstractControl, FormBuilder } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router,ActivatedRoute } from '@angular/router';\nimport { VerifyOtpComponent } from '../verify-otp/verify-otp.component';\nimport { AuthFacadeService } from 'src/app/modules/auth/state/auth/auth.facade.service';\nimport { NotificationService } from 'src/app/services/notification.service';\nimport { CryptoService } from 'src/app/services/crypto.service';\nimport { AuthService } from '../services/auth.service';\nimport { PopupMessageComponent } from '../../navigation/popup-message/popup-message.component';\nimport { Constants } from 'src/app/common/constants/constants';\nimport { CookieService } from 'src/app/services/cookie.service';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { Subscription } from 'rxjs';\nimport { ForgotPasswordComponent } from '../forgot-password/forgot-password.component';\nimport { ModalWindowService } from 'src/app/modules/shared/modal-window/modal-window-service';\n\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n @ViewChild('ngMobileOtpInput') ngMobileOtpInputRef: any;\n emailFormControl = new FormControl('', [Validators.required, Validators.email]);\n sendotp: boolean = false;\n otp!: string;\n verifyOtp: boolean = false;\n errorMsg!: string;\n form!: FormGroup;\n formSubmit: boolean = false;\n storeData: any ;\n encryptedToken : any;\n counter:any;\n ref_code:any = null;\n flag:boolean = false;\n disableResend:boolean = true;\n disableTimer: boolean = false;\n timer : any;\n mobileValidation:boolean = false;\n isMobile : boolean = false;\n isMail : boolean = false;\n timeout:any=Constants.POPUP_TIMEOUT;\n NO_SPECIAL_CHAR = new RegExp(/^[a-zA-Z0-9.]+$/);\n emailValidation = new RegExp(\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n );\n mobValidation = new RegExp(/^[0-9]{10}$/)\n MOB = new RegExp(/[6-9]/);\n NUM = new RegExp(/[0-9]/);\n isPassword: boolean = false;\n generateOTPSubscription = new Subscription();\n verifyOTPSubscription = new Subscription();\n loginSubscription = new Subscription();\n\n constructor(private authFacadeService : AuthFacadeService, private router: Router, public dialog: MatDialog,\n private notificationService : NotificationService, private cryptoService:CryptoService,\n private formBuilder: FormBuilder, private authService: AuthService,\n private route:ActivatedRoute,private utilsService : UtilsService,\n private cookieService : CookieService,private modalService: ModalWindowService) {\n this.authService.showOTP.subscribe((response:any)=>{\n this.sendotp = response;\n })\n }\n\n config = {\n allowNumbersOnly: true,\n length: 6,\n inputStyles: {\n fontSize:'25px'\n },\n };\n\n // validateInput(c:FormControl){\n // return (this.NO_SPECIAL_CHAR.test(c.value)||(this.emailValidation.test(c.value)||this.mobValidation.test(c.value)))?null:{\n // validateInput:{\n // valid:false\n // }\n // };\n // }\n ngOnInit(): void {\n localStorage.clear();\n this.route.queryParams.subscribe(parmas=>{\n console.log(\"GOT Refereal code\",parmas['referral_code']);\n this.ref_code = parmas['referral_code'] || null;\n });\n localStorage.setItem('referral',String(this.ref_code));\n\n this.ref_code = localStorage.getItem('referral');\n this.generateOTPSubscription = this.authFacadeService.getGenerateOTPResult$.subscribe((stores : any) => {\n this.storeData = stores;\n if(this.storeData && this.storeData.generateOTPResponse){\n this.sendotp = true;\n this.flag = true;\n }\n else if(this.storeData && this.storeData.response.errorMessage){\n const popup = this.dialog.open(PopupMessageComponent,{\n data:{\n title:\"Error\",\n message:this.storeData.response.errorMessage.error.message\n }\n })\n popup.afterOpened().subscribe(res=>{\n setTimeout(()=>{\n popup.close();\n }, this.timeout)\n })\n // this.notificationService.showError(this.storeData.response.errorMessage.error.message, \"Error\");\n }\n });\n\n this.verifyOTPSubscription = this.authFacadeService.getVerifyOTPResult$.subscribe((stores : any) => {\n this.storeData = stores;\n if(this.storeData && this.storeData.response.verifyOTPResponse){\n this.encryptedToken = this.cryptoService.encrypt(this.storeData.response.verifyOTPResponse.token);\n //localStorage.setItem('token', this.encryptedToken);\n this.cookieService.setCookie('token', this.encryptedToken);\n if(window.location.href.includes('ifa'))\n {\n //this.router.navigate(['/ifa/dashboard']);\n this.router.navigate(['/ifa/dashboard/invest']);\n }\n else{\n //this.router.navigate(['/dashboard']);\n this.router.navigate(['/dashboard/invest']);\n //this.router.navigate(['/onboarding']);\n }\n }\n else if(this.storeData && this.storeData.response.verifyOTPErrorMessage){\n const popup = this.dialog.open(PopupMessageComponent,{\n data:{\n title:\"Error\",\n message:this.storeData.response.verifyOTPErrorMessage.error.message\n }\n })\n popup.afterOpened().subscribe(res=>{\n setTimeout(()=>{\n popup.close();\n }, this.timeout)\n })\n // this.notificationService.showError(this.storeData.response.verifyOTPErrorMessage.error.message, \"Error\");\n }\n });\n\n\n this.loginSubscription = this.authFacadeService.getLoginResult$.subscribe((stores : any) => {\n this.storeData = stores;\n if(this.storeData && this.storeData.response.loginResponse){\n let encryptedToken : any = this.cryptoService.encrypt(this.storeData.response.loginResponse.token);\n this.cookieService.setCookie('token', encryptedToken);\n this.authService.fetchUser().subscribe((res : any) => {\n console.log('user',res)\n if(res && res.data && res.data.personal_details){\n const username = `${res.data.personal_details.first_name} ${res.data.personal_details.last_name}`;\n let encryptedRefUrl : any = res.data.personal_details.referral_link ? this.cryptoService.encrypt(res.data.personal_details.referral_link) : res.data.personal_details.referral_link;\n this.utilsService.onUserUpdate.next({username : username, referral_link : res.data.personal_details.referral_link});\n localStorage.setItem('username', username);\n localStorage.setItem('referral_link', encryptedRefUrl);\n let encryptedUserId : any = this.cryptoService.encrypt(res.data.personal_details.user_id);\n localStorage.setItem('userId', encryptedUserId);\n if(window.location.href.includes('ifa'))\n {\n //this.router.navigate(['/ifa/dashboard']);\n this.router.navigate(['/ifa/dashboard/invet']);\n }\n else{\n //this.router.navigate(['/dashboard']);\n this.router.navigate(['/dashboard/invest']);\n //this.router.navigate(['/onboarding']);\n }\n }\n });\n\n }\n else if(this.storeData && this.storeData.response.loginErrorMessage){\n\n const errorPopup = this.dialog.open(PopupMessageComponent,{\n data:{\n title:\"Error\",\n message:this.storeData.response.loginErrorMessage.error ?\n this.storeData.response.loginErrorMessage.error.message : 'Error on login'\n }\n })\n errorPopup.afterOpened().subscribe((res : any)=>{\n setTimeout(()=>{\n errorPopup.close();\n }, this.timeout)\n })\n // this.notificationService.showError(this.storeData.response.errorMessage.error.message, \"Error\");\n }\n });\n\n this.form = this.formBuilder.group({\n mobileOrEmail: new FormControl('', [Validators.required,Validators.pattern(/^(\\d{10}|\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,4}))$/)]),\n userPassword: new FormControl('', [Validators.required])\n },\n {\n validator : EmailMobileValidator('mobileOrEmail')\n }\n );\n }\n\n submit() {\n this.formSubmit = true;\n localStorage.clear();\n if( this.form.value.mobileOrEmail){\n let fieldVal = this.form.value.mobileOrEmail;\n if (fieldVal != '' && !this.flag) {\n let type = 1\n if(window.location.href.includes('ifa')){\n type = 3\n }\n this.authFacadeService.generateOTP(fieldVal, type)\n this.flag=true;\n this.setTimer()\n this.disableTimer = false;\n this.disableResend = true;\n // this.sendotp = true;\n }\n }\n }\n\n onMobileOtpChange(otp: string) {\n this.otp = otp;\n if (otp.length === 6) {\n this.verifyOtp = true;\n this.errorMsg = \"\";\n } else {\n this.verifyOtp = false;\n // this.errorMsg = \"Please enter valid OTP\";\n }\n }\n openRegisign(id: string) {\n this.modalService.open(id);\n }\n\n closeModal(id: string) {\n this.modalService.close(id);\n}\n\n\n verify() {\n // console.log(\"Referral Code\",this.ref_code);\n let type = 1\n if(window.location.href.includes('ifa')){\n type = 3\n }\n this.authFacadeService.verifyOTP(this.form.value.mobileOrEmail , this.otp, type,this.ref_code == \"null\" ? null : this.ref_code)\n // if( this.verifyOtp == true) {\n // this.router.navigateByUrl('/onbording');\n // } else {\n // this.verifyOtp = false;\n // this.errorMsg = \"Please enter valid otp\";\n // }\n }\n public checkMobileOrMail(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } => {\n const input = control.value;\n let emailregx = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\n let mobileregx = /^(\\+\\d{1,3}[- ]?)?\\d{10}$/;\n let valid: boolean = emailregx.test(input) || mobileregx.test(input) ;\n\n return !valid ? { typeError: { valid } } : {};\n };\n }\n\n checkValid(e:any,text:any):any{\n let key = e.key;\n if(text==='mob'){\n let mob = this.form.controls['mobileOrEmail'].value;\n if(mob.length === 0){\n if(this.MOB.test(key)===true){\n return true;\n }\n else{\n return false;\n }\n }\n else{\n if(this.NUM.test(key)===true){\n return true;\n }\n else{\n return false;\n }\n }\n }\n }\n\n keyPressNumbers(event : any) {\n var charCode = (event.which) ? event.which : event.keyCode;\n // Only Numbers 0-9\n if ((charCode < 48 || charCode > 57)) {\n event.preventDefault();\n return false;\n } else {\n return true;\n }\n }\n\n forgot_password() {\n if(this.form.value.mobileOrEmail){\n let type = 1\n if(window.location.href.includes('ifa')){\n type = 3\n }\n const data = {\n \"email\" : this.form.value.mobileOrEmail,\n \"type\" : type,\n }\n const promise = this.authService.forgotPassword(data)\n\n promise.then((res : any) => {\n const popup = this.dialog.open(ForgotPasswordComponent);\n popup.afterOpened().subscribe(res=>{\n setTimeout(()=>{\n popup.close();\n }, this.timeout)\n })\n })\n .catch((error : any) => {\n const popup = this.dialog.open(PopupMessageComponent,{\n data:{\n title:\"Error\",\n message:error.error.message\n }\n })\n popup.afterOpened().subscribe(res=>{\n setTimeout(()=>{\n popup.close();\n }, this.timeout)\n })\n })\n }\n }\n\n onFocusOutEvent(event : any) {\n this.isMobile = false;\n this.isMail = false;\n if(this.form.value.mobileOrEmail)\n if (this.emailValidation.test(this.form.value.mobileOrEmail))\n {\n this.isMail = true;\n }\n if (this.mobValidation.test(this.form.value.mobileOrEmail))\n {\n this.isMobile = true;\n }\n\n event.preventDefault();\n return;\n }\n\n onChangeEvent(event : any){\n this.mobileValidation = false;\n if(!this.mobValidation.test(this.form.value.mobileOrEmail))\n {\n event.preventDefault();\n this.mobileValidation = true\n return;\n }\n\n }\n\n terms(){\n const url = this.router.serializeUrl(\n this.router.createUrlTree(['/tnc'])\n );\n window.open(url, '_blank');\n }\n\n setTimer() {\n let seconds: number = 1 * 60;\n let textSec: any = \"0\";\n let statSec: number = 60;\n let sec:number = 60;\n\n const prefix = 1 < 10 ? \"0\" : \"\";\n\n this.timer = setInterval(() => {\n seconds--;\n if (statSec != 0) statSec--;\n else statSec = 59;\n\n if (statSec < 10) {\n textSec = \"0\" + statSec;\n } else textSec = statSec;\n\n this.counter = `${prefix}${Math.floor(seconds / 60)}:${textSec}`;\n if (seconds == 0) {\n clearInterval(this.timer);\n this.disableResend =false;\n this.disableTimer = true;\n this.flag=false;\n }\n }, 1000);\n }\n\n goBack() {\n this.sendotp = false;\n this.disableResend =false;\n this.disableTimer = true;\n this.flag=false;\n clearInterval(this.timer);\n }\n\n ngAfterViewInit(): void {\n if(!window.location.href.includes('ifa')){\n this.openRegisign('certificatemodal-regis')\n }\n }\n\n ngOnDestroy() : void{\n this.generateOTPSubscription.unsubscribe();\n this.verifyOTPSubscription.unsubscribe();\n this.loginSubscription.unsubscribe();\n this.authFacadeService.clearState();\n }\n\n withPassword() {\n let type = 1\n if(window.location.href.includes('ifa')){\n type = 3\n }\n this.isPassword = true;\n if(this.form.value.mobileOrEmail && this.form.value.userPassword){\n const data = {\n \"email\" : this.form.value.mobileOrEmail,\n \"type\" : type,\n \"password\" : this.form.value.userPassword,\n \"referred_by\" : this.ref_code,\n \"utmDetails\": {\n \"utmSource\": \"\",\n \"utmMedium\" :\"\",\n \"utmCampaign\": \"\"\n }\n }\n this.authFacadeService.login(data);\n }\n }\n}\n\nexport function NoWhitespaceValidator(): ValidatorFn {\n return (control: AbstractControl): any => {\n window.setTimeout(() => {\n if (control.value && control.value != '') {\n let trimedvalue = control.value.replace(/\\s/g, '');\n control.setValue(trimedvalue);\n }\n }, 10);\n };\n}\n\nexport function EmailMobileValidator (\n mobileOrEmail: string\n) {\n return (formGroup: FormGroup) => {\n let MOB = new RegExp(/[6-9]/);\n let mobileVal = new RegExp(/^[0-9]{10}$/)\n const mobileOrEmailControl = formGroup.controls[mobileOrEmail];\n if (mobileOrEmailControl.value) {\n const mobNumber = Number(mobileOrEmailControl.value);\n if(mobNumber){\n if( mobileOrEmailControl.value.length == 10){\n const firstNum = mobileOrEmailControl.value.charAt(0)\n if(!MOB.test(firstNum)){\n mobileOrEmailControl.setErrors({ isMobileInValid : true });\n }\n }\n else if(!mobileVal.test(mobileOrEmailControl.value))\n {\n mobileOrEmailControl.setErrors({ isMobileInValid : true });\n }\n }\n } else {\n mobileOrEmailControl.setErrors(null);\n }\n\n return;\n };\n}\n","
\r\n
\r\n

Login / Register

\r\n
\r\n
\r\n
\r\n

Enter your email/mobile no.

\r\n \r\n \r\n \r\n \r\n \r\n \r\n Please enter valid email or mobile no. \r\n
\r\n\r\n \r\n
\r\n

Please enter OTP we have sent on your mobile

\r\n \r\n {{errorMsg}}\r\n
\r\n

{{this.counter}}

\r\n

Resend OTP

\r\n
\r\n
\r\n You will receive OTP on this number\r\n
\r\n

Enter your password

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n I agree to the terms and conditions \r\n
\r\n
\r\n \r\n
\r\n Forgot Password?\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Hey there, We've got our P2P license
to continue investing with us please click on INVEST NOW!
\r\n
\r\n INVEST NOW\r\n Log In \r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { createAction, props } from '@ngrx/store';\r\n\r\nconst AUTH : string = 'AUTH';\r\n\r\nexport const Login = createAction(`${AUTH} Login`,(payload: any = {}) => payload);\r\nexport const LoginSuccess = createAction(`${AUTH} Login Success`, \r\n props<{response : any}>());\r\nexport const LoginFailure = createAction(`${AUTH} Login Failure`, \r\n props<{error : any}>());\r\n\r\n \r\nexport const GenerateOTP = createAction(`${AUTH} GenerateOTP`,(payload: any) => payload)\r\n\r\nexport const OTPSuccess = createAction(`${AUTH} OTP Success`, \r\n props<{response : any}>());\r\nexport const OTPFailure = createAction(`${AUTH} OTP Failure`, \r\n props<{error : any}>());\r\n \r\nexport const VerifyOTP = createAction(`${AUTH} VerifyOTP`,(payload: any) => payload);\r\n\r\nexport const VerifyOTPSuccess = createAction(`${AUTH} VerifyOTP Success`, \r\n props<{response : any}>());\r\n\r\nexport const VerifyOTPFailure = createAction(`${AUTH} VerifyOTP Failure`, \r\nprops<{error : any}>()); \r\n\r\n\r\nexport const clearState = createAction(`${AUTH} Clear AUTH State`);\r\n ","import { Injectable } from '@angular/core';\r\nimport { Observable, of as observableOf} from 'rxjs';\r\nimport { catchError, map, startWith, switchMap } from 'rxjs/operators';\r\nimport { tap } from 'rxjs/operators';\r\nimport { Actions, createEffect, ofType, Effect } from '@ngrx/effects';\r\nimport * as AuthActions from './auth.actions';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog'\r\nimport { PopupMessageComponent } from 'src/app/modules/ifa/popup-message/popup-message.component';\r\n\r\n@Injectable()\r\nexport class AuthEffect {\r\n constructor(\r\n private actions$ : Actions,\r\n private authService : AuthService,\r\n private router: Router,\r\n private dialog:MatDialog,\r\n ){ }\r\n\r\n @Effect()\r\n Login$: Observable = this.actions$.pipe(\r\n ofType(AuthActions.Login),\r\n switchMap((payload : any) => {\r\n return this.authService\r\n .loginUser(payload.data)\r\n .pipe(\r\n map((response: any) => {\r\n if (response != null && response.token) {\r\n // console.log('LogIn', response); \r\n return AuthActions.LoginSuccess({response : response});\r\n }\r\n else {\r\n return AuthActions.LoginFailure({\r\n error: {error : 'Incorrect email and/or password.'},\r\n });\r\n }\r\n }),\r\n catchError((error) => {\r\n // console.log('LogIn', error);\r\n return observableOf(AuthActions.LoginFailure({ error: error }));\r\n })\r\n );\r\n })\r\n );\r\n \r\n @Effect()\r\n GenerateOTP$: Observable = this.actions$.pipe(\r\n ofType(AuthActions.GenerateOTP),\r\n switchMap((payload : any) => {\r\n return this.authService\r\n .generateOTP(payload.mobileOrEmail, payload.userType)\r\n .pipe(\r\n map((response: any) => {\r\n if (response != null && response.status == 'OK') { \r\n this.authService.showOTP.next(true); \r\n return AuthActions.OTPSuccess({response : response});\r\n }\r\n else {\r\n this.authService.showOTP.next(false);\r\n return AuthActions.OTPFailure({\r\n error: response,\r\n });\r\n }\r\n }),\r\n catchError((error) => {\r\n // console.log('OTP generate', error);\r\n return observableOf(AuthActions.OTPFailure({ error: error }));\r\n })\r\n );\r\n })\r\n );\r\n\r\n @Effect()\r\n VerifyOTP$: Observable = this.actions$.pipe(\r\n ofType(AuthActions.VerifyOTP),\r\n switchMap((payload : any) => {\r\n return this.authService\r\n .verifyOTP(payload.phone, payload.otp, payload.userType,payload.ref_code)\r\n .pipe(\r\n map((response: any) => {\r\n if (response != null && response.status == 'OK') { \r\n return AuthActions.VerifyOTPSuccess({response : response});\r\n }\r\n else if (response != null && response.status == 'FAIL' && response.message == 'User not Registered')\r\n {\r\n \r\n const popup = this.dialog.open(PopupMessageComponent,{\r\n data:{\r\n title:\"newUserRegi\",\r\n message: response.message\r\n }\r\n });\r\n popup.afterOpened().subscribe((res : any)=>{\r\n setTimeout(()=>{\r\n popup.close();\r\n },10000);\r\n window.location.reload();\r\n })\r\n \r\n return true;\r\n }\r\n else {\r\n return AuthActions.VerifyOTPFailure({\r\n error: response,\r\n });\r\n }\r\n }),\r\n catchError((error) => {\r\n // console.log('OTP generate', error);\r\n return observableOf(AuthActions.VerifyOTPFailure({ error: error }));\r\n })\r\n );\r\n })\r\n );\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport * as AuthSelectors from './auth.selectors';\r\nimport * as AuthActions from './auth.actions';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/modules/auth/services/auth.service';\r\n\r\n@Injectable()\r\nexport class AuthFacadeService {\r\n getLoginResult$ = this.store.select(AuthSelectors.getLoginResult);\r\n getGenerateOTPResult$ = this.store.select(AuthSelectors.getGenerateOTPResult);\r\n getVerifyOTPResult$ = this.store.select(AuthSelectors.getVerifyOTPResult);\r\n\r\n\r\n constructor(private store : Store, private authService : AuthService, private router : Router) {\r\n\r\n }\r\n\r\n login(data : any){\r\n this.store.dispatch(\r\n AuthActions.Login({data : data})\r\n )\r\n }\r\n\r\n generateOTP(mobileOrEmail : string, type : any){\r\n this.store.dispatch(\r\n AuthActions.GenerateOTP({mobileOrEmail : mobileOrEmail, userType : type})\r\n )\r\n }\r\n\r\n verifyOTP(mobileOrEmail : string, otp : string, type : any, ref_code:any){\r\n this.store.dispatch(\r\n AuthActions.VerifyOTP({phone : mobileOrEmail, otp : otp, userType : type, ref_code:ref_code})\r\n )\r\n }\r\n\r\n onOTPVerifySuccess(response : any){\r\n if ( response &&\r\n response.status\r\n ) {\r\n this.authService.setTokens(response);\r\n localStorage.setItem(\r\n 'refreshToken',\r\n response.RefreshToken\r\n );\r\n //this.authService.startTokenUpdateTimer((response.ExpiresIn / 60) - 5);\r\n //this.router.navigateByUrl('/onboarding');\r\n this.router.navigateByUrl('/dashboard/invest');\r\n }\r\n }\r\n\r\n clearState(){\r\n this.store.dispatch(\r\n AuthActions.clearState()\r\n )\r\n }\r\n\r\n\r\n}\r\n","import { createEntityAdapter, EntityState } from '@ngrx/entity';\r\nimport { createReducer, on } from '@ngrx/store';\r\nimport * as AuthActions from './auth.actions';\r\n\r\nexport interface AuthState {\r\n isAuthenticated: boolean;\r\n loginResponse: any | null;\r\n generateOTPResponse: any | null;\r\n verifyOTPResponse: any | null;\r\n errorMessage: string | null;\r\n loginErrorMessage: string | null;\r\n verifyOTPErrorMessage: string | null;\r\n}\r\n\r\nconst initialValues = {\r\n isAuthenticated: false,\r\n loginResponse: null,\r\n generateOTPResponse: null,\r\n verifyOTPResponse: null,\r\n errorMessage: null,\r\n loginErrorMessage:null,\r\n verifyOTPErrorMessage: null,\r\n}\r\n\r\n// export const authAdapter = createEntityAdapter({\r\n// selectId : (storeColl : StoreData) => storeColl.selectId\r\n// })\r\n\r\nexport const initialAuthState : AuthState = {\r\n ...initialValues\r\n}\r\n\r\nexport const authReducer = createReducer(\r\n initialAuthState,\r\n on(AuthActions.LoginSuccess, (state, action) => {\r\n return {\r\n ...state,\r\n errorMessage : null,\r\n isAuthenticated: true,\r\n loginResponse: action.response,\r\n loginErrorMessage : null,\r\n verifyOTPErrorMessage:null\r\n }\r\n }), \r\n on(AuthActions.LoginFailure, (state, action) => {\r\n return {\r\n ...state,\r\n loginErrorMessage : action.error,\r\n errorMessage : null,\r\n verifyOTPErrorMessage:null\r\n }\r\n }), \r\n on(AuthActions.OTPFailure, (state, action) => {\r\n return {\r\n ...state, \r\n errorMessage: action.error,\r\n loginErrorMessage : null,\r\n verifyOTPErrorMessage : null\r\n }\r\n }) ,\r\n on(AuthActions.VerifyOTPSuccess, (state, action) => {\r\n return {\r\n ...state,\r\n isAuthenticated: true,\r\n errorMessage : null,\r\n loginErrorMessage : null,\r\n verifyOTPErrorMessage : null,\r\n verifyOTPResponse: action.response,\r\n }\r\n }),\r\n on(AuthActions.VerifyOTPFailure, (state, action) => {\r\n return {\r\n ...state,\r\n initialAuthState, \r\n errorMessage : null,\r\n loginErrorMessage : null,\r\n verifyOTPErrorMessage : action.error\r\n }\r\n }),\r\n on(AuthActions.clearState, state => {\r\n return {\r\n ...initialAuthState\r\n }\r\n })\r\n\r\n\r\n\r\n);","import * as AuthReducer from \"./auth.reducers\";\r\nimport { createSelector } from '@ngrx/store';\r\nimport { createFeatureSelector } from '@ngrx/store';\r\n\r\nconst selectAuthState = createFeatureSelector('AUTH')\r\n// const { selectAll } = AuthReducer.authAdapter.getSelectors();\r\n\r\nexport const getLoginResult = createSelector(selectAuthState, (state) => {\r\n return {\r\n response : state\r\n }\r\n})\r\n\r\nexport const getGenerateOTPResult = createSelector(selectAuthState, (state) => {\r\n return {\r\n response : state\r\n }\r\n})\r\n\r\n\r\nexport const getVerifyOTPResult = createSelector(selectAuthState, (state) => {\r\n return {\r\n response : state\r\n }\r\n})","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { NgOtpInputComponent } from 'ng-otp-input';\n\n@Component({\n selector: 'app-verify-otp',\n templateUrl: './verify-otp.component.html',\n styleUrls: ['./verify-otp.component.scss']\n})\nexport class VerifyOtpComponent implements OnInit {\n @ViewChild('ngMobileOtpInput') ngMobileOtpInputRef: any;\n resendotp: boolean = false;\n\n config = {\n allowNumbersOnly: true,\n length: 6,\n inputStyles: {\n color: 'rgba(0, 0, 0, 0.3)',\n fontSize:'25px'\n },\n };\n constructor(private router: Router,public dialogRef: MatDialogRef) { }\n\n ngOnInit(): void { \n setTimeout(()=>{ \n this.resendotp = true;\n }, 2000); \n }\n\n onMobileOtpChange(otp:any) {\n // console.log(otp); \n }\n\n goDashboard() {\n this.dialogRef.close();\n if(window.location.href.includes('ifa'))\n {\n this.router.navigate(['/ifa/dashboard']);\n }else{\n this.router.navigate(['/dashboard']);\n }\n }\n\n}\n","
\n

Please enter OTP we have sent on your mobile

\n
\n \n
\n
\n \n
Resend OTP
\n
\n
","import { Dialog } from '@angular/cdk/dialog';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-popup-message',\n templateUrl: './popup-message.component.html',\n styleUrls: ['./popup-message.component.scss']\n})\nexport class PopupMessageComponent implements OnInit {\n wSuccess:boolean=false;\n iSuccess:boolean=false;\n iFailure:boolean = false;\n error: boolean = false;\n nomSuccess:boolean=false;\n nomFailure:boolean = false;\n neftFailure:boolean=false;\n investorSuccess: boolean = false;\n title !:string;\n newUserRegi : boolean = false;\n constructor(\n public dialogRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:{title:string, message:string}) { }\n\n ngOnInit(): void {\n if (this.data.title === \"WSuccess\"){\n this.wSuccess = true;\n this.iSuccess = false;\n this.iFailure = false;\n this.nomSuccess = false;\n this.investorSuccess = false;\n }\n else if(this.data.title === 'investorSuccess'){\n this.investorSuccess = true;\n this.iSuccess = false;\n this.iFailure = false;\n this.wSuccess = false;\n this.nomSuccess = false;\n }\n else if(this.data.title === 'Success'){\n this.iSuccess = true;\n this.iFailure = false;\n this.wSuccess = false;\n this.nomSuccess = false;\n this.investorSuccess = false;\n }\n else if(this.data.title === 'failure'){\n this.iFailure=true;\n this.iSuccess=false;\n this.wSuccess=false;\n this.nomSuccess = false;\n this.investorSuccess = false;\n }\n else if(this.data.title === 'Error'){\n this.error = true;\n this.iFailure = false;\n this.iSuccess = false;\n this.wSuccess = false;\n this.nomSuccess = false;\n this.investorSuccess = false;\n }\n else if(this.data.title === \"nomSuccess\"){\n this.nomSuccess=true;\n this.error = false;\n this.iFailure = false;\n this.iSuccess = false;\n this.wSuccess = false;\n this.investorSuccess = false;\n }\n else if(this.data.title === \"nomFaliure\"){\n this.nomFailure=true;\n this.nomSuccess=false;\n this.error = false;\n this.iFailure = false;\n this.iSuccess = false;\n this.wSuccess = false;\n this.investorSuccess = false;\n }\n else if(this.data.title === \"newUserRegi\"){\n this.newUserRegi = true;\n this.nomFailure=false;\n this.nomSuccess=false;\n this.error = false;\n this.iFailure = false;\n this.iSuccess = false;\n this.wSuccess = false;\n this.investorSuccess = false;\n }\n if(this.data.message == 'sql: no rows in result set'){\n this.data.message = \"No data found\";\n }\n }\n \n\n}\n","
\n close\n
\n\n
\n
\n
\n \n \n

Congratulations!

\n

{{data.message}}

\n
\n \n
\n
\n
\n\n
\n
\n
\n \n \n

Congratulations!

\n

We have received your investment will be reflected in your portfolio in within 24 hours.

\n
\n \n
\n
\n
\n\n
\n
\n
\n \n \n \n\n

Something went wrong

\n

Your payment was Unsuccessful. Please try again in sometime.

\n
For any issues, email us at
info@creditfaircapital.in
\n
\n
\n
\n\n
\n
\n
\n \n \n\n

Thank you

\n

Your withdrawal request has been accepted. The requested amount will be transfered to your selected bank account within 2 working days.

\n
\n
\n
\n
\n\n
\n
\n
\n \n \n \n \n
{{this.data.message}}
\n\n \n \n \n
\n
\n
\n\n
\n
\n
\n \n \n\n

Congratulations!

\n

Nominee added successfully.

\n
\n
\n
\n
\n\n
\n
\n
\n \n \n

Oops..!

\n

There was an error in adding the nominee.

\n
\n
\n
\n
\n\n\n
\n
\n
\n \n \n
{{this.data.message}}
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { ToastrService } from 'ngx-toastr';\n\n@Injectable({\nprovidedIn: 'root'\n})\nexport class NotificationService {\n\nconstructor(private toastr: ToastrService) { }\n\nshowSuccess(message: string | undefined, title: string | undefined){\n this.toastr.success(message, title)\n}\n\nshowError(message: string | undefined, title: string | undefined){\n if(!environment.DISABLE_ERROR){\n this.toastr.error(message, title)\n }\n}\n\nshowInfo(message: string | undefined, title: string | undefined){\n this.toastr.info(message, title)\n}\n\nshowWarning(message: string | undefined, title: string | undefined){\n this.toastr.warning(message, title)\n}\n\n}","import * as i0 from '@angular/core';\nimport { Pipe, EventEmitter, Component, Input, Output, NgModule } from '@angular/core';\nimport * as i3 from '@angular/forms';\nimport { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport * as i2 from '@angular/common';\nimport { CommonModule } from '@angular/common';\n\nclass KeyboardUtil {\r\n static ifBackspaceOrDelete(event) {\r\n return this.ifKey(event, 'Backspace;Delete;Del');\r\n }\r\n static ifRightArrow(event) {\r\n return this.ifKey(event, 'ArrowRight;Right');\r\n }\r\n static ifLeftArrow(event) {\r\n return this.ifKey(event, 'ArrowLeft;Left');\r\n }\r\n static ifSpacebar(event) {\r\n return this.ifKey(event, 'Spacebar; '); //don't remove the space after ; as this will check for space key\r\n }\r\n static ifKey(event, keys) {\r\n let keysToCheck = keys.split(';');\r\n return keysToCheck.some(k => k === event.key);\r\n }\r\n}\n\nclass KeysPipe {\r\n transform(value) {\r\n return Object.keys(value);\r\n }\r\n}\r\n/** @nocollapse */ KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\r\n/** @nocollapse */ KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: KeysPipe, name: \"keys\" });\r\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: KeysPipe, decorators: [{\r\n type: Pipe,\r\n args: [{\r\n name: 'keys'\r\n }]\r\n }] });\n\nclass NgOtpInputComponent {\r\n constructor(keysPipe) {\r\n this.keysPipe = keysPipe;\r\n this.config = { length: 4 };\r\n // tslint:disable-next-line: no-output-on-prefix\r\n this.onInputChange = new EventEmitter();\r\n this.inputControls = new Array(this.config.length);\r\n this.componentKey = Math.random()\r\n .toString(36)\r\n .substring(2) + new Date().getTime().toString(36);\r\n }\r\n get inputType() {\r\n var _a, _b;\r\n return ((_a = this.config) === null || _a === void 0 ? void 0 : _a.isPasswordInput)\r\n ? 'password'\r\n : ((_b = this.config) === null || _b === void 0 ? void 0 : _b.allowNumbersOnly)\r\n ? 'tel'\r\n : 'text';\r\n }\r\n ngOnInit() {\r\n this.otpForm = new FormGroup({});\r\n for (let index = 0; index < this.config.length; index++) {\r\n this.otpForm.addControl(this.getControlName(index), new FormControl());\r\n }\r\n this.otpForm.valueChanges.subscribe((v) => {\r\n this.keysPipe.transform(this.otpForm.controls).forEach((k) => {\r\n var val = this.otpForm.controls[k].value;\r\n if (val && val.length > 1) {\r\n if (val.length >= this.config.length) {\r\n this.setValue(val);\r\n }\r\n else {\r\n this.rebuildValue();\r\n }\r\n }\r\n });\r\n });\r\n }\r\n ngAfterViewInit() {\r\n if (!this.config.disableAutoFocus) {\r\n const containerItem = document.getElementById(`c_${this.componentKey}`);\r\n if (containerItem) {\r\n const ele = containerItem.getElementsByClassName('otp-input')[0];\r\n if (ele && ele.focus) {\r\n ele.focus();\r\n }\r\n }\r\n }\r\n }\r\n getControlName(idx) {\r\n return `ctrl_${idx}`;\r\n }\r\n onKeyDown($event, inputIdx) {\r\n if (KeyboardUtil.ifSpacebar($event)) {\r\n $event.preventDefault();\r\n return false;\r\n }\r\n }\r\n onInput($event) {\r\n let newVal = this.currentVal ? `${this.currentVal}${$event.target.value}` : $event.target.value;\r\n if (this.config.allowNumbersOnly && !this.validateNumber(newVal)) {\r\n $event.target.value = '';\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n return;\r\n }\r\n }\r\n onKeyUp($event, inputIdx) {\r\n const nextInputId = this.appendKey(`otp_${inputIdx + 1}`);\r\n const prevInputId = this.appendKey(`otp_${inputIdx - 1}`);\r\n if (KeyboardUtil.ifRightArrow($event)) {\r\n $event.preventDefault();\r\n this.setSelected(nextInputId);\r\n return;\r\n }\r\n if (KeyboardUtil.ifLeftArrow($event)) {\r\n $event.preventDefault();\r\n this.setSelected(prevInputId);\r\n return;\r\n }\r\n if (KeyboardUtil.ifBackspaceOrDelete($event) && !$event.target.value) {\r\n this.setSelected(prevInputId);\r\n this.rebuildValue();\r\n return;\r\n }\r\n if (!$event.target.value) {\r\n return;\r\n }\r\n if (this.ifValidKeyCode($event)) {\r\n this.setSelected(nextInputId);\r\n }\r\n this.rebuildValue();\r\n }\r\n validateNumber(val) {\r\n return val && /^\\d*\\.?\\d*$/.test(val);\r\n }\r\n appendKey(id) {\r\n return `${id}_${this.componentKey}`;\r\n }\r\n setSelected(eleId) {\r\n this.focusTo(eleId);\r\n const ele = document.getElementById(eleId);\r\n if (ele && ele.setSelectionRange) {\r\n setTimeout(() => {\r\n ele.setSelectionRange(0, 1);\r\n }, 0);\r\n }\r\n }\r\n ifValidKeyCode(event) {\r\n const inp = event.key;\r\n const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n return (isMobile ||\r\n /[a-zA-Z0-9-_]/.test(inp) ||\r\n (this.config.allowKeyCodes &&\r\n this.config.allowKeyCodes.includes(event.keyCode)));\r\n }\r\n focusTo(eleId) {\r\n const ele = document.getElementById(eleId);\r\n if (ele) {\r\n ele.focus();\r\n }\r\n }\r\n // method to set component value\r\n setValue(value) {\r\n if (this.config.allowNumbersOnly && isNaN(value)) {\r\n return;\r\n }\r\n this.otpForm.reset();\r\n if (!value) {\r\n this.rebuildValue();\r\n return;\r\n }\r\n value = value.toString().replace(/\\s/g, ''); // remove whitespace\r\n Array.from(value).forEach((c, idx) => {\r\n if (this.otpForm.get(this.getControlName(idx))) {\r\n this.otpForm.get(this.getControlName(idx)).setValue(c);\r\n }\r\n });\r\n if (!this.config.disableAutoFocus) {\r\n const containerItem = document.getElementById(`c_${this.componentKey}`);\r\n var indexOfElementToFocus = value.length < this.config.length ? value.length : (this.config.length - 1);\r\n let ele = containerItem.getElementsByClassName('otp-input')[indexOfElementToFocus];\r\n if (ele && ele.focus) {\r\n ele.focus();\r\n }\r\n }\r\n this.rebuildValue();\r\n }\r\n rebuildValue() {\r\n var _a;\r\n let val = '';\r\n this.keysPipe.transform(this.otpForm.controls).forEach(k => {\r\n if (this.otpForm.controls[k].value) {\r\n let ctrlVal = this.otpForm.controls[k].value;\r\n let isLengthExceed = ctrlVal.length > 1;\r\n let isCaseTransformEnabled = !this.config.allowNumbersOnly && this.config.letterCase && (this.config.letterCase.toLocaleLowerCase() == 'upper' || this.config.letterCase.toLocaleLowerCase() == 'lower');\r\n ctrlVal = ctrlVal[0];\r\n let transformedVal = isCaseTransformEnabled ? this.config.letterCase.toLocaleLowerCase() == 'upper' ? ctrlVal.toUpperCase() : ctrlVal.toLowerCase() : ctrlVal;\r\n if (isCaseTransformEnabled && transformedVal == ctrlVal) {\r\n isCaseTransformEnabled = false;\r\n }\r\n else {\r\n ctrlVal = transformedVal;\r\n }\r\n val += ctrlVal;\r\n if (isLengthExceed || isCaseTransformEnabled) {\r\n this.otpForm.controls[k].setValue(ctrlVal);\r\n }\r\n }\r\n });\r\n if ((_a = this.formCtrl) === null || _a === void 0 ? void 0 : _a.setValue) {\r\n this.formCtrl.setValue(val);\r\n }\r\n this.onInputChange.emit(val);\r\n this.currentVal = val;\r\n }\r\n handlePaste(e) {\r\n // Get pasted data via clipboard API\r\n let clipboardData = e.clipboardData || window['clipboardData'];\r\n if (clipboardData) {\r\n var pastedData = clipboardData.getData('Text');\r\n }\r\n // Stop data actually being pasted into div\r\n e.stopPropagation();\r\n e.preventDefault();\r\n if (!pastedData || (this.config.allowNumbersOnly && !this.validateNumber(pastedData))) {\r\n return;\r\n }\r\n this.setValue(pastedData);\r\n }\r\n}\r\n/** @nocollapse */ NgOtpInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputComponent, deps: [{ token: KeysPipe }], target: i0.ɵɵFactoryTarget.Component });\r\n/** @nocollapse */ NgOtpInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: NgOtpInputComponent, selector: \"ng-otp-input\", inputs: { config: \"config\", formCtrl: \"formCtrl\" }, outputs: { onInputChange: \"onInputChange\" }, ngImport: i0, template: \"
\\r\\n \\r\\n
\", styles: [\".otp-input{width:50px;height:50px;border-radius:4px;border:solid 1px #c5c5c5;text-align:center;font-size:32px}.ng-otp-input-wrapper .otp-input:not(:last-child){margin-right:8px}@media screen and (max-width: 767px){.otp-input{width:40px;font-size:24px;height:40px}}@media screen and (max-width: 420px){.otp-input{width:30px;font-size:18px;height:30px}}\\n\"], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { type: i2.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: i3.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i3.PatternValidator, selector: \"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]\", inputs: [\"pattern\"] }, { type: i3.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i3.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }], pipes: { \"keys\": KeysPipe } });\r\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputComponent, decorators: [{\r\n type: Component,\r\n args: [{\r\n // tslint:disable-next-line: component-selector\r\n selector: 'ng-otp-input',\r\n templateUrl: './ng-otp-input.component.html',\r\n styleUrls: ['./ng-otp-input.component.scss']\r\n }]\r\n }], ctorParameters: function () { return [{ type: KeysPipe }]; }, propDecorators: { config: [{\r\n type: Input\r\n }], onInputChange: [{\r\n type: Output\r\n }], formCtrl: [{\r\n type: Input\r\n }] } });\n\nclass NgOtpInputModule {\r\n}\r\n/** @nocollapse */ NgOtpInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\r\n/** @nocollapse */ NgOtpInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputModule, declarations: [NgOtpInputComponent, KeysPipe], imports: [CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule], exports: [NgOtpInputComponent] });\r\n/** @nocollapse */ NgOtpInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputModule, providers: [KeysPipe], imports: [[\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]] });\r\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputModule, decorators: [{\r\n type: NgModule,\r\n args: [{\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n declarations: [NgOtpInputComponent, KeysPipe],\r\n exports: [NgOtpInputComponent],\r\n providers: [KeysPipe]\r\n }]\r\n }] });\n\nclass Config {\r\n}\n\n/*\r\n * Public API Surface of ng-otp-input\r\n */\n\n/**\r\n * Generated bundle index. Do not edit.\r\n */\n\nexport { NgOtpInputComponent, Config as NgOtpInputConfig, NgOtpInputModule };\n"],"names":["i0","Pipe","EventEmitter","Component","Input","Output","NgModule","i3","FormGroup","FormControl","FormsModule","ReactiveFormsModule","i2","CommonModule","KeyboardUtil","ifBackspaceOrDelete","event","ifKey","ifRightArrow","ifLeftArrow","ifSpacebar","keys","keysToCheck","split","some","k","key","KeysPipe","transform","value","Object","ɵfac","ɵpipe","type","args","name","NgOtpInputComponent","constructor","keysPipe","config","length","onInputChange","inputControls","Array","componentKey","Math","random","toString","substring","Date","getTime","inputType","_a","_b","isPasswordInput","allowNumbersOnly","ngOnInit","otpForm","index","addControl","getControlName","valueChanges","subscribe","v","controls","forEach","val","setValue","rebuildValue","ngAfterViewInit","disableAutoFocus","containerItem","document","getElementById","ele","getElementsByClassName","focus","idx","onKeyDown","$event","inputIdx","preventDefault","onInput","newVal","currentVal","target","validateNumber","stopPropagation","onKeyUp","nextInputId","appendKey","prevInputId","setSelected","ifValidKeyCode","test","id","eleId","focusTo","setSelectionRange","setTimeout","inp","isMobile","navigator","userAgent","allowKeyCodes","includes","keyCode","isNaN","reset","replace","from","c","get","indexOfElementToFocus","ctrlVal","isLengthExceed","isCaseTransformEnabled","letterCase","toLocaleLowerCase","transformedVal","toUpperCase","toLowerCase","formCtrl","emit","handlePaste","e","clipboardData","window","pastedData","getData","ɵcmp","NgIf","NgStyle","NgForOf","DefaultValueAccessor","PatternValidator","NgControlStatus","FormControlDirective","selector","templateUrl","styleUrls","NgOtpInputModule","ɵmod","ɵinj","imports","declarations","exports","providers","Config","NgOtpInputConfig"],"sourceRoot":"webpack:///","x_google_ignoreList":[21]}