simpo-component-library 1.6.162 → 1.6.163

Sign up to get free protection for your applications and to get access to all the features.
@@ -3599,8 +3599,8 @@ class StorageServiceService {
3599
3599
  request.subscribe((cartResponse) => {
3600
3600
  console.log("Cart Response : ", cartResponse);
3601
3601
  const userCart = cartResponse?.[0].data[0];
3602
- if (userCart.cartId)
3603
- localStorage.setItem("cartId", userCart.cartId);
3602
+ if (userCart?.cartId)
3603
+ localStorage.setItem("cartId", userCart?.cartId);
3604
3604
  this.getUserCart().then((userCartResponse) => {
3605
3605
  userCartResponse.onsuccess = (userCartIndexDB) => {
3606
3606
  userCart.orderedItems = [...(userCartIndexDB.target.result ?? []), ...(userCart.orderedItems ?? [])];
@@ -3739,6 +3739,14 @@ class AuthenticationRequiredComponent {
3739
3739
  this.buttonLoading = false;
3740
3740
  this.businessId = localStorage.getItem("bId");
3741
3741
  this.isOTPVerified = false;
3742
+ this.passwordHidden = true;
3743
+ this.passwordStrengthCount = 0;
3744
+ this.passwordStrength = [
3745
+ { type: "minimum 8 character", active: false },
3746
+ { type: "atleast one UPPERCASE", active: false },
3747
+ { type: "atleast one lowercase", active: false },
3748
+ { type: "atleast one number", active: false },
3749
+ ];
3742
3750
  this.loginType = "OTP";
3743
3751
  }
3744
3752
  close() {
@@ -3786,6 +3794,8 @@ class AuthenticationRequiredComponent {
3786
3794
  if (this.mobileTimer)
3787
3795
  clearTimeout(this.mobileTimer);
3788
3796
  this.mobileTimer = setTimeout(() => {
3797
+ if (this.mobile.length != 10)
3798
+ return;
3789
3799
  const payload = {
3790
3800
  businessId: this.businessId,
3791
3801
  mobile: this.mobile,
@@ -3797,7 +3807,7 @@ class AuthenticationRequiredComponent {
3797
3807
  this.isOTPVerified = true;
3798
3808
  this.messageService.add({ severity: 'success', summary: 'OTP', detail: 'OTP Sent' });
3799
3809
  });
3800
- }, 500);
3810
+ }, 800);
3801
3811
  }
3802
3812
  createAccount() {
3803
3813
  const deviceInfo = {
@@ -3809,7 +3819,8 @@ class AuthenticationRequiredComponent {
3809
3819
  mobile: this.mobile,
3810
3820
  email: this.email,
3811
3821
  password: this.password,
3812
- countryCode: "+91"
3822
+ countryCode: "+91",
3823
+ enteredOtp: this.otp
3813
3824
  };
3814
3825
  this.restService.verifySignupOTP(verifySignData).subscribe((response) => {
3815
3826
  const userDetails = this.storageService.setUser(response.data);
@@ -3866,6 +3877,8 @@ class AuthenticationRequiredComponent {
3866
3877
  if (this.mobileTimer)
3867
3878
  clearTimeout(this.mobileTimer);
3868
3879
  this.mobileTimer = setTimeout(() => {
3880
+ if (this.mobile.length != 10)
3881
+ return;
3869
3882
  this.generateOTP();
3870
3883
  }, 500);
3871
3884
  }
@@ -3901,6 +3914,28 @@ class AuthenticationRequiredComponent {
3901
3914
  event.preventDefault();
3902
3915
  }
3903
3916
  }
3917
+ checkStrength() {
3918
+ this.passwordStrengthCount = 0;
3919
+ this.passwordStrengthCount += (/[A-Z]/.test(this.password)) ? 1 : 0;
3920
+ this.passwordStrengthCount += (/[a-z]/.test(this.password)) ? 1 : 0;
3921
+ this.passwordStrengthCount += (/\d/.test(this.password)) ? 1 : 0;
3922
+ this.passwordStrengthCount += (this.password.length > 8 ? 1 : 0);
3923
+ console.log(/^[A-Z]+$/.test(this.password), /^[a-z]+$/.test(this.password), /\d/.test(this.password));
3924
+ }
3925
+ getStrengthColor(index) {
3926
+ switch (this.passwordStrengthCount) {
3927
+ case 1:
3928
+ return (index < this.passwordStrengthCount ? "tomato" : "#d3d3d3ba");
3929
+ case 2:
3930
+ return (index < this.passwordStrengthCount ? "orange" : "#d3d3d3ba");
3931
+ case 3:
3932
+ return (index < this.passwordStrengthCount ? "yellow" : "#d3d3d3ba");
3933
+ case 4:
3934
+ return (index < this.passwordStrengthCount ? "lightgreen" : "#d3d3d3ba");
3935
+ default:
3936
+ return "#d3d3d3ba";
3937
+ }
3938
+ }
3904
3939
  get isEmailValid() {
3905
3940
  const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
3906
3941
  return emailRegex.test(this.email);
@@ -3912,7 +3947,7 @@ class AuthenticationRequiredComponent {
3912
3947
  return window.innerWidth <= 475;
3913
3948
  }
3914
3949
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: AuthenticationRequiredComponent, deps: [{ token: RestService }, { token: i2$3.Router }, { token: i7.MessageService }, { token: StorageServiceService }, { token: i5.MatDialog }, { token: i5.MatDialogRef, optional: true }, { token: i5$1.MatBottomSheetRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
3915
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: AuthenticationRequiredComponent, isStandalone: true, selector: "simpo-authentication-required", providers: [MessageService], ngImport: i0, template: "\r\n<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\r\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\r\n<div class=\"close-icon\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n</div>\r\n<section>\r\n <div class=\"main\"> \t\r\n <input type=\"checkbox\" id=\"chk\" aria-hidden=\"true\">\r\n\r\n <div class=\"signup\">\r\n <form>\r\n <label for=\"chk\" aria-hidden=\"true\">Login</label>\r\n <div class=\"d-flex justify-content-center\" style=\"gap: 5px;\">\r\n <div class=\"login-type\" [ngClass]=\"{'login-type__active': loginType == 'OTP'}\" (click)=\"loginType = 'OTP'\">OTP Login</div>\r\n <div class=\"login-type\" [ngClass]=\"{'login-type__active': loginType == 'PASSWORD'}\" (click)=\"loginType = 'PASSWORD'\">Password Login</div>\r\n </div>\r\n <ng-container *ngIf=\"loginType == 'PASSWORD'\">\r\n <input type=\"email\" name=\"email\" placeholder=\"Email\" required=\"\" [(ngModel)]=\"email\">\r\n <input type=\"password\" name=\"pswd\" placeholder=\"Password\" required=\"\" [(ngModel)]=\"password\">\r\n </ng-container>\r\n <ng-container *ngIf=\"loginType == 'OTP'\">\r\n <input type=\"mobile\" name=\"mobile\" placeholder=\"Mobile\" required=\"\" (keypress)=\"validateNumber($event)\" [(ngModel)]=\"mobile\" (ngModelChange)=\"enterMobile()\">\r\n <input type=\"otp\" name=\"otp\" placeholder=\"Enter received otp\" required=\"\" [(ngModel)]=\"otp\">\r\n </ng-container>\r\n <button (click)=\"login()\" *ngIf=\"!buttonLoading\" [disabled]=\"(loginType == 'PASSWORD' ? !isEmailValid : false)\">Login</button>\r\n <button *ngIf=\"buttonLoading\">Loading...</button>\r\n </form>\r\n </div>\r\n\r\n <div class=\"login\">\r\n <form>\r\n <label for=\"chk\" aria-hidden=\"true\">Sign up</label>\r\n <input type=\"email\" name=\"email\" placeholder=\"Email\" required=\"\" [(ngModel)]=\"email\">\r\n <input type=\"mobile\" name=\"mobile\" placeholder=\"Mobile\" required=\"\" (keypress)=\"validateNumber($event)\" [(ngModel)]=\"mobile\" (ngModelChange)=\"sendSignupOTP()\">\r\n <div class=\"position-relative\">\r\n <input type=\"otp\" name=\"otp\" placeholder=\"OTP\" required=\"\" [(ngModel)]=\"otp\" (ngModelChange)=\"verifySignupOTP()\" (keypress)=\"validateOTP($event)\">\r\n <mat-icon title=\"OTP Verified\" *ngIf=\"isOTPVerified\">check_circle</mat-icon>\r\n <mat-icon title=\"OTP not Verified\" *ngIf=\"!isOTPVerified\">cancel</mat-icon>\r\n </div>\r\n <input type=\"password\" name=\"password\" placeholder=\"Create Password\" required=\"\" [(ngModel)]=\"password\">\r\n <button (click)=\"createAccount()\" [disabled]=\"!isEmailValid || !isPasswordValid || !isOTPVerified\">Sign up</button>\r\n </form>\r\n \r\n </div>\r\n </div>\r\n</section>", styles: ["section{margin:0;padding:0;display:flex;justify-content:center;align-items:center;height:100%;font-family:Jost,sans-serif;background:linear-gradient(to bottom,#0f0c29,#302b63,#24243e)}.close-icon{position:absolute;top:10px;right:10px;background-color:#fff;border-radius:50%;padding:5px;height:30px;width:30px;display:flex;align-items:center;justify-content:center;cursor:pointer}.close-icon .mat-icon{position:relative;right:2px}.login-type{background-color:#fff;border:#573b8a;color:#573b8a;width:130px!important;font-size:14px!important;padding:5px;border-radius:5px;display:flex;justify-content:center;cursor:pointer}.login-type__active{width:150px!important;font-size:14px!important;font-weight:500!important;padding:5px;border-radius:5px;display:flex;justify-content:center;cursor:pointer;font-weight:800!important;border:1px solid #573b8a}.main{width:350px;height:500px;background:red;overflow:hidden;background:url(https://doc-08-2c-docs.googleusercontent.com/docs/securesc/68c90smiglihng9534mvqmq1946dmis5/fo0picsp1nhiucmc0l25s29respgpr4j/1631524275000/03522360960922298374/03522360960922298374/1Sx0jhdpEpnNIydS4rnN4kHSJtU1EyWka?e=view&authuser=0&nonce=gcrocepgbb17m&user=03522360960922298374&hash=tfhgbs86ka6divo3llbvp93mg4csvb38) no-repeat center/ cover;border-radius:10px;box-shadow:5px 20px 50px #000}#chk{display:none}.signup{position:relative;width:100%;height:100%}label{color:#fff;font-size:2.3em;justify-content:center;display:flex;margin:50px 50px 20px;font-weight:700;cursor:pointer;transition:.5s ease-in-out}input{width:80%;height:10px;background:#e0dede;justify-content:center;display:flex;margin:20px auto;padding:18px;border:none;outline:none;border-radius:5px}button{width:80%!important;height:40px;margin:10px auto;justify-content:center;display:block;color:#fff;background:#573b8a;font-size:1em;font-weight:700;outline:none;border:none;border-radius:5px;transition:.2s ease-in;cursor:pointer}button:hover{background:#6d44b8}.login{height:460px;background:#eee;border-radius:60%/10%;transform:translateY(-180px);transition:.8s ease-in-out}.login label{color:#573b8a;transform:scale(.6)}.mat-icon{position:absolute;top:9px;right:40px;font-size:18px}#chk:checked~.login{transform:translateY(-500px)}#chk:checked~.login label{transform:scale(1)}#chk:checked~.signup label{transform:scale(.6)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i17.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
3950
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: AuthenticationRequiredComponent, isStandalone: true, selector: "simpo-authentication-required", providers: [MessageService], ngImport: i0, template: "\r\n<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\r\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\r\n<div class=\"close-icon\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n</div>\r\n<section>\r\n <div class=\"main\">\r\n <input type=\"checkbox\" id=\"chk\" aria-hidden=\"true\">\r\n\r\n <div class=\"signup\">\r\n <form>\r\n <label for=\"chk\" aria-hidden=\"true\">Login</label>\r\n <div class=\"d-flex justify-content-center\" style=\"gap: 5px;\">\r\n <div class=\"login-type\" [ngClass]=\"{'login-type__active': loginType == 'OTP'}\" (click)=\"loginType = 'OTP'\">OTP Login</div>\r\n <div class=\"login-type\" [ngClass]=\"{'login-type__active': loginType == 'PASSWORD'}\" (click)=\"loginType = 'PASSWORD'\">Password Login</div>\r\n </div>\r\n <ng-container *ngIf=\"loginType == 'PASSWORD'\">\r\n <input type=\"email\" name=\"email\" placeholder=\"Email\" required=\"\" [(ngModel)]=\"email\">\r\n <div class=\"position-relative\">\r\n <input [type]=\"passwordHidden ? 'password' : 'text'\" name=\"password\" placeholder=\"Create Password\" required=\"\" [(ngModel)]=\"password\">\r\n <mat-icon class=\"password-visiblity\" (click)=\"passwordHidden = !passwordHidden\">{{passwordHidden ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"loginType == 'OTP'\">\r\n <input type=\"mobile\" name=\"mobile\" placeholder=\"Mobile\" required=\"\" (keypress)=\"validateNumber($event)\" [(ngModel)]=\"mobile\" (ngModelChange)=\"enterMobile()\">\r\n <input type=\"otp\" name=\"otp\" placeholder=\"Enter received otp\" required=\"\" [(ngModel)]=\"otp\">\r\n </ng-container>\r\n <button (click)=\"login()\" *ngIf=\"!buttonLoading\" [disabled]=\"(loginType == 'PASSWORD' ? !isEmailValid : false)\">Login</button>\r\n <button *ngIf=\"buttonLoading\">Loading...</button>\r\n </form>\r\n </div>\r\n\r\n <div class=\"login\">\r\n <form>\r\n <label for=\"chk\" aria-hidden=\"true\">Sign up</label>\r\n <input type=\"email\" name=\"email\" placeholder=\"Email\" required=\"\" [(ngModel)]=\"email\">\r\n <input type=\"mobile\" name=\"mobile\" placeholder=\"Mobile\" required=\"\" (keypress)=\"validateNumber($event)\" [(ngModel)]=\"mobile\" (ngModelChange)=\"sendSignupOTP()\">\r\n <div class=\"position-relative\">\r\n <input type=\"otp\" name=\"otp\" placeholder=\"OTP\" required=\"\" [(ngModel)]=\"otp\" (keypress)=\"validateOTP($event)\">\r\n <!-- <mat-icon style=\"color: lightgreen;\" class=\"otp-checked\" title=\"OTP Verified\" *ngIf=\"isOTPVerified\">check_circle</mat-icon>\r\n <mat-icon style=\"color: tomato;\" class=\"otp-checked\" title=\"OTP not Verified\" *ngIf=\"!isOTPVerified\">cancel</mat-icon> -->\r\n </div>\r\n <div class=\"position-relative\">\r\n <input [type]=\"passwordHidden ? 'password' : 'text'\" name=\"password\" placeholder=\"Create Password\" required=\"\" [(ngModel)]=\"password\" (ngModelChange)=\"checkStrength()\">\r\n <mat-icon class=\"password-visiblity\" (click)=\"passwordHidden = !passwordHidden\">{{passwordHidden ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n <div class=\"strength-bar-container\">\r\n <div *ngFor=\"let strength of passwordStrength; let idx = index\" class=\"strength-bar\" [style.backgroundColor]=\"getStrengthColor(idx)\"></div>\r\n </div>\r\n </div>\r\n <button (click)=\"createAccount()\" [disabled]=\"!isEmailValid || !isPasswordValid || (otp.length != 6)\">Sign up</button>\r\n </form>\r\n\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["section{margin:0;padding:0;display:flex;justify-content:center;align-items:center;height:100%;font-family:Jost,sans-serif;background:linear-gradient(to bottom,#0f0c29,#302b63,#24243e)}.close-icon{position:absolute;top:10px;right:10px;background-color:#fff;border-radius:50%;padding:5px;height:30px;width:30px;display:flex;align-items:center;justify-content:center;cursor:pointer}.close-icon .mat-icon{position:absolute;top:5px;right:1px;font-size:20px}.login-type{background-color:#fff;border:#573b8a;color:#573b8a;width:130px!important;font-size:14px!important;padding:5px;border-radius:5px;display:flex;justify-content:center;cursor:pointer}.login-type__active{width:150px!important;font-size:14px!important;font-weight:500!important;padding:5px;border-radius:5px;display:flex;justify-content:center;cursor:pointer;font-weight:800!important;border:1px solid #573b8a}.main{width:350px;height:500px;background:red;overflow:hidden;background:url(https://doc-08-2c-docs.googleusercontent.com/docs/securesc/68c90smiglihng9534mvqmq1946dmis5/fo0picsp1nhiucmc0l25s29respgpr4j/1631524275000/03522360960922298374/03522360960922298374/1Sx0jhdpEpnNIydS4rnN4kHSJtU1EyWka?e=view&authuser=0&nonce=gcrocepgbb17m&user=03522360960922298374&hash=tfhgbs86ka6divo3llbvp93mg4csvb38) no-repeat center/ cover;border-radius:10px;box-shadow:5px 20px 50px #000}.otp-checked{position:absolute;top:7px;right:43px;font-size:20px;cursor:default!important}.password-visiblity{position:absolute;top:7px;right:43px;font-size:20px}.strength-bar-container{display:flex;justify-content:space-between;width:80%!important;margin:auto;position:relative;top:-10px}.strength-bar{height:8px;width:23.5%;border-radius:6px;background-color:#d3d3d3ba}.mat-icon{cursor:pointer}#chk{display:none}.signup{position:relative;width:100%;height:100%}label{color:#fff;font-size:2.3em;justify-content:center;display:flex;margin:50px 50px 20px;font-weight:700;cursor:pointer;transition:.5s ease-in-out}input{width:80%;height:10px;background:#e0dede;justify-content:center;display:flex;margin:20px auto;padding:18px;border:none;outline:none;border-radius:5px}button{width:80%!important;height:40px;margin:10px auto;justify-content:center;display:block;color:#fff;background:#573b8a;font-size:1em;font-weight:700;outline:none;border:none;border-radius:5px;transition:.2s ease-in;cursor:pointer}button:hover{background:#6d44b8}.login{height:460px;background:#eee;border-radius:60%/10%;transform:translateY(-180px);transition:.8s ease-in-out}.login label{color:#573b8a;transform:scale(.6)}#chk:checked~.login{transform:translateY(-500px)}#chk:checked~.login label{transform:scale(1)}#chk:checked~.signup label{transform:scale(.6)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i17.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
3916
3951
  }
3917
3952
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: AuthenticationRequiredComponent, decorators: [{
3918
3953
  type: Component,
@@ -3921,7 +3956,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
3921
3956
  FormsModule,
3922
3957
  ToastModule,
3923
3958
  MatIconModule
3924
- ], providers: [MessageService], template: "\r\n<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\r\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\r\n<div class=\"close-icon\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n</div>\r\n<section>\r\n <div class=\"main\"> \t\r\n <input type=\"checkbox\" id=\"chk\" aria-hidden=\"true\">\r\n\r\n <div class=\"signup\">\r\n <form>\r\n <label for=\"chk\" aria-hidden=\"true\">Login</label>\r\n <div class=\"d-flex justify-content-center\" style=\"gap: 5px;\">\r\n <div class=\"login-type\" [ngClass]=\"{'login-type__active': loginType == 'OTP'}\" (click)=\"loginType = 'OTP'\">OTP Login</div>\r\n <div class=\"login-type\" [ngClass]=\"{'login-type__active': loginType == 'PASSWORD'}\" (click)=\"loginType = 'PASSWORD'\">Password Login</div>\r\n </div>\r\n <ng-container *ngIf=\"loginType == 'PASSWORD'\">\r\n <input type=\"email\" name=\"email\" placeholder=\"Email\" required=\"\" [(ngModel)]=\"email\">\r\n <input type=\"password\" name=\"pswd\" placeholder=\"Password\" required=\"\" [(ngModel)]=\"password\">\r\n </ng-container>\r\n <ng-container *ngIf=\"loginType == 'OTP'\">\r\n <input type=\"mobile\" name=\"mobile\" placeholder=\"Mobile\" required=\"\" (keypress)=\"validateNumber($event)\" [(ngModel)]=\"mobile\" (ngModelChange)=\"enterMobile()\">\r\n <input type=\"otp\" name=\"otp\" placeholder=\"Enter received otp\" required=\"\" [(ngModel)]=\"otp\">\r\n </ng-container>\r\n <button (click)=\"login()\" *ngIf=\"!buttonLoading\" [disabled]=\"(loginType == 'PASSWORD' ? !isEmailValid : false)\">Login</button>\r\n <button *ngIf=\"buttonLoading\">Loading...</button>\r\n </form>\r\n </div>\r\n\r\n <div class=\"login\">\r\n <form>\r\n <label for=\"chk\" aria-hidden=\"true\">Sign up</label>\r\n <input type=\"email\" name=\"email\" placeholder=\"Email\" required=\"\" [(ngModel)]=\"email\">\r\n <input type=\"mobile\" name=\"mobile\" placeholder=\"Mobile\" required=\"\" (keypress)=\"validateNumber($event)\" [(ngModel)]=\"mobile\" (ngModelChange)=\"sendSignupOTP()\">\r\n <div class=\"position-relative\">\r\n <input type=\"otp\" name=\"otp\" placeholder=\"OTP\" required=\"\" [(ngModel)]=\"otp\" (ngModelChange)=\"verifySignupOTP()\" (keypress)=\"validateOTP($event)\">\r\n <mat-icon title=\"OTP Verified\" *ngIf=\"isOTPVerified\">check_circle</mat-icon>\r\n <mat-icon title=\"OTP not Verified\" *ngIf=\"!isOTPVerified\">cancel</mat-icon>\r\n </div>\r\n <input type=\"password\" name=\"password\" placeholder=\"Create Password\" required=\"\" [(ngModel)]=\"password\">\r\n <button (click)=\"createAccount()\" [disabled]=\"!isEmailValid || !isPasswordValid || !isOTPVerified\">Sign up</button>\r\n </form>\r\n \r\n </div>\r\n </div>\r\n</section>", styles: ["section{margin:0;padding:0;display:flex;justify-content:center;align-items:center;height:100%;font-family:Jost,sans-serif;background:linear-gradient(to bottom,#0f0c29,#302b63,#24243e)}.close-icon{position:absolute;top:10px;right:10px;background-color:#fff;border-radius:50%;padding:5px;height:30px;width:30px;display:flex;align-items:center;justify-content:center;cursor:pointer}.close-icon .mat-icon{position:relative;right:2px}.login-type{background-color:#fff;border:#573b8a;color:#573b8a;width:130px!important;font-size:14px!important;padding:5px;border-radius:5px;display:flex;justify-content:center;cursor:pointer}.login-type__active{width:150px!important;font-size:14px!important;font-weight:500!important;padding:5px;border-radius:5px;display:flex;justify-content:center;cursor:pointer;font-weight:800!important;border:1px solid #573b8a}.main{width:350px;height:500px;background:red;overflow:hidden;background:url(https://doc-08-2c-docs.googleusercontent.com/docs/securesc/68c90smiglihng9534mvqmq1946dmis5/fo0picsp1nhiucmc0l25s29respgpr4j/1631524275000/03522360960922298374/03522360960922298374/1Sx0jhdpEpnNIydS4rnN4kHSJtU1EyWka?e=view&authuser=0&nonce=gcrocepgbb17m&user=03522360960922298374&hash=tfhgbs86ka6divo3llbvp93mg4csvb38) no-repeat center/ cover;border-radius:10px;box-shadow:5px 20px 50px #000}#chk{display:none}.signup{position:relative;width:100%;height:100%}label{color:#fff;font-size:2.3em;justify-content:center;display:flex;margin:50px 50px 20px;font-weight:700;cursor:pointer;transition:.5s ease-in-out}input{width:80%;height:10px;background:#e0dede;justify-content:center;display:flex;margin:20px auto;padding:18px;border:none;outline:none;border-radius:5px}button{width:80%!important;height:40px;margin:10px auto;justify-content:center;display:block;color:#fff;background:#573b8a;font-size:1em;font-weight:700;outline:none;border:none;border-radius:5px;transition:.2s ease-in;cursor:pointer}button:hover{background:#6d44b8}.login{height:460px;background:#eee;border-radius:60%/10%;transform:translateY(-180px);transition:.8s ease-in-out}.login label{color:#573b8a;transform:scale(.6)}.mat-icon{position:absolute;top:9px;right:40px;font-size:18px}#chk:checked~.login{transform:translateY(-500px)}#chk:checked~.login label{transform:scale(1)}#chk:checked~.signup label{transform:scale(.6)}\n"] }]
3959
+ ], providers: [MessageService], template: "\r\n<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\r\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\r\n<div class=\"close-icon\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n</div>\r\n<section>\r\n <div class=\"main\">\r\n <input type=\"checkbox\" id=\"chk\" aria-hidden=\"true\">\r\n\r\n <div class=\"signup\">\r\n <form>\r\n <label for=\"chk\" aria-hidden=\"true\">Login</label>\r\n <div class=\"d-flex justify-content-center\" style=\"gap: 5px;\">\r\n <div class=\"login-type\" [ngClass]=\"{'login-type__active': loginType == 'OTP'}\" (click)=\"loginType = 'OTP'\">OTP Login</div>\r\n <div class=\"login-type\" [ngClass]=\"{'login-type__active': loginType == 'PASSWORD'}\" (click)=\"loginType = 'PASSWORD'\">Password Login</div>\r\n </div>\r\n <ng-container *ngIf=\"loginType == 'PASSWORD'\">\r\n <input type=\"email\" name=\"email\" placeholder=\"Email\" required=\"\" [(ngModel)]=\"email\">\r\n <div class=\"position-relative\">\r\n <input [type]=\"passwordHidden ? 'password' : 'text'\" name=\"password\" placeholder=\"Create Password\" required=\"\" [(ngModel)]=\"password\">\r\n <mat-icon class=\"password-visiblity\" (click)=\"passwordHidden = !passwordHidden\">{{passwordHidden ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"loginType == 'OTP'\">\r\n <input type=\"mobile\" name=\"mobile\" placeholder=\"Mobile\" required=\"\" (keypress)=\"validateNumber($event)\" [(ngModel)]=\"mobile\" (ngModelChange)=\"enterMobile()\">\r\n <input type=\"otp\" name=\"otp\" placeholder=\"Enter received otp\" required=\"\" [(ngModel)]=\"otp\">\r\n </ng-container>\r\n <button (click)=\"login()\" *ngIf=\"!buttonLoading\" [disabled]=\"(loginType == 'PASSWORD' ? !isEmailValid : false)\">Login</button>\r\n <button *ngIf=\"buttonLoading\">Loading...</button>\r\n </form>\r\n </div>\r\n\r\n <div class=\"login\">\r\n <form>\r\n <label for=\"chk\" aria-hidden=\"true\">Sign up</label>\r\n <input type=\"email\" name=\"email\" placeholder=\"Email\" required=\"\" [(ngModel)]=\"email\">\r\n <input type=\"mobile\" name=\"mobile\" placeholder=\"Mobile\" required=\"\" (keypress)=\"validateNumber($event)\" [(ngModel)]=\"mobile\" (ngModelChange)=\"sendSignupOTP()\">\r\n <div class=\"position-relative\">\r\n <input type=\"otp\" name=\"otp\" placeholder=\"OTP\" required=\"\" [(ngModel)]=\"otp\" (keypress)=\"validateOTP($event)\">\r\n <!-- <mat-icon style=\"color: lightgreen;\" class=\"otp-checked\" title=\"OTP Verified\" *ngIf=\"isOTPVerified\">check_circle</mat-icon>\r\n <mat-icon style=\"color: tomato;\" class=\"otp-checked\" title=\"OTP not Verified\" *ngIf=\"!isOTPVerified\">cancel</mat-icon> -->\r\n </div>\r\n <div class=\"position-relative\">\r\n <input [type]=\"passwordHidden ? 'password' : 'text'\" name=\"password\" placeholder=\"Create Password\" required=\"\" [(ngModel)]=\"password\" (ngModelChange)=\"checkStrength()\">\r\n <mat-icon class=\"password-visiblity\" (click)=\"passwordHidden = !passwordHidden\">{{passwordHidden ? 'visibility_off' : 'visibility'}}</mat-icon>\r\n <div class=\"strength-bar-container\">\r\n <div *ngFor=\"let strength of passwordStrength; let idx = index\" class=\"strength-bar\" [style.backgroundColor]=\"getStrengthColor(idx)\"></div>\r\n </div>\r\n </div>\r\n <button (click)=\"createAccount()\" [disabled]=\"!isEmailValid || !isPasswordValid || (otp.length != 6)\">Sign up</button>\r\n </form>\r\n\r\n </div>\r\n </div>\r\n</section>\r\n", styles: ["section{margin:0;padding:0;display:flex;justify-content:center;align-items:center;height:100%;font-family:Jost,sans-serif;background:linear-gradient(to bottom,#0f0c29,#302b63,#24243e)}.close-icon{position:absolute;top:10px;right:10px;background-color:#fff;border-radius:50%;padding:5px;height:30px;width:30px;display:flex;align-items:center;justify-content:center;cursor:pointer}.close-icon .mat-icon{position:absolute;top:5px;right:1px;font-size:20px}.login-type{background-color:#fff;border:#573b8a;color:#573b8a;width:130px!important;font-size:14px!important;padding:5px;border-radius:5px;display:flex;justify-content:center;cursor:pointer}.login-type__active{width:150px!important;font-size:14px!important;font-weight:500!important;padding:5px;border-radius:5px;display:flex;justify-content:center;cursor:pointer;font-weight:800!important;border:1px solid #573b8a}.main{width:350px;height:500px;background:red;overflow:hidden;background:url(https://doc-08-2c-docs.googleusercontent.com/docs/securesc/68c90smiglihng9534mvqmq1946dmis5/fo0picsp1nhiucmc0l25s29respgpr4j/1631524275000/03522360960922298374/03522360960922298374/1Sx0jhdpEpnNIydS4rnN4kHSJtU1EyWka?e=view&authuser=0&nonce=gcrocepgbb17m&user=03522360960922298374&hash=tfhgbs86ka6divo3llbvp93mg4csvb38) no-repeat center/ cover;border-radius:10px;box-shadow:5px 20px 50px #000}.otp-checked{position:absolute;top:7px;right:43px;font-size:20px;cursor:default!important}.password-visiblity{position:absolute;top:7px;right:43px;font-size:20px}.strength-bar-container{display:flex;justify-content:space-between;width:80%!important;margin:auto;position:relative;top:-10px}.strength-bar{height:8px;width:23.5%;border-radius:6px;background-color:#d3d3d3ba}.mat-icon{cursor:pointer}#chk{display:none}.signup{position:relative;width:100%;height:100%}label{color:#fff;font-size:2.3em;justify-content:center;display:flex;margin:50px 50px 20px;font-weight:700;cursor:pointer;transition:.5s ease-in-out}input{width:80%;height:10px;background:#e0dede;justify-content:center;display:flex;margin:20px auto;padding:18px;border:none;outline:none;border-radius:5px}button{width:80%!important;height:40px;margin:10px auto;justify-content:center;display:block;color:#fff;background:#573b8a;font-size:1em;font-weight:700;outline:none;border:none;border-radius:5px;transition:.2s ease-in;cursor:pointer}button:hover{background:#6d44b8}.login{height:460px;background:#eee;border-radius:60%/10%;transform:translateY(-180px);transition:.8s ease-in-out}.login label{color:#573b8a;transform:scale(.6)}#chk:checked~.login{transform:translateY(-500px)}#chk:checked~.login label{transform:scale(1)}#chk:checked~.signup label{transform:scale(.6)}\n"] }]
3925
3960
  }], ctorParameters: () => [{ type: RestService }, { type: i2$3.Router }, { type: i7.MessageService }, { type: StorageServiceService }, { type: i5.MatDialog }, { type: i5.MatDialogRef, decorators: [{
3926
3961
  type: Optional
3927
3962
  }] }, { type: i5$1.MatBottomSheetRef, decorators: [{