verben-authentication-ui 1.0.19 → 1.0.21

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.
@@ -59,6 +59,7 @@ class SignInComponent {
59
59
  inputBorder = '1px solid #66666659';
60
60
  inputBorderRadius = '12px';
61
61
  termsErrorText = 'Please agree to the terms of use and privacy policy.';
62
+ urlKeyOverride = null;
62
63
  formSubmit = new EventEmitter();
63
64
  onSubmitEnd = new EventEmitter();
64
65
  onGoogleAuthResponse = new EventEmitter();
@@ -115,13 +116,18 @@ class SignInComponent {
115
116
  });
116
117
  }
117
118
  async getTenantConfig() {
118
- const isLocalhost = window?.location?.hostname === "localhost";
119
- const payload = isLocalhost
119
+ const isLocalhost = window?.location?.hostname === 'localhost';
120
+ const payload = this.urlKeyOverride
120
121
  ? {
121
- Key: "UrlKey",
122
- Value: "https://bovas.white360.net",
122
+ Key: 'UrlKey',
123
+ Value: this.urlKeyOverride,
123
124
  }
124
- : undefined;
125
+ : isLocalhost
126
+ ? {
127
+ Key: 'UrlKey',
128
+ Value: 'https://bovas.white360.net',
129
+ }
130
+ : undefined;
125
131
  try {
126
132
  const res = await this.server.post(`Tenant/GetTenantConfigByUrlKey`, payload);
127
133
  this.tenantDetails = res;
@@ -231,7 +237,7 @@ class SignInComponent {
231
237
  };
232
238
  }
233
239
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInComponent, deps: [{ token: i1.FormBuilder }, { token: i2.HttpWebRequestService }, { token: i2.UtilService }, { token: i2.EnvironmentService }, { token: i3.ActivatedRoute }, { token: i3.Router }, { token: i2.EncryptionService }], target: i0.ɵɵFactoryTarget.Component });
234
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignInComponent, selector: "verben-sign-in", inputs: { headlingText: "headlingText", width: "width", maxWidth: "maxWidth", margin: "margin", pd: "pd", customClass: "customClass", headlingClass: "headlingClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", forgetPasswordClass: "forgetPasswordClass", requestAccessClass: "requestAccessClass", createAccountClass: "createAccountClass", createAccountLinkClass: "createAccountLinkClass", forgetPasswordLink: "forgetPasswordLink", createAccountLink: "createAccountLink", requestAccessLink: "requestAccessLink", btnClass: "btnClass", btnBgColor: "btnBgColor", btnColor: "btnColor", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnPd: "btnPd", btnText: "btnText", inputLabelColor: "inputLabelColor", inputBgColor: "inputBgColor", inputBorder: "inputBorder", inputBorderRadius: "inputBorderRadius", termsErrorText: "termsErrorText" }, outputs: { formSubmit: "formSubmit", onSubmitEnd: "onSubmitEnd", onGoogleAuthResponse: "onGoogleAuthResponse", onSubmitGoogleAuth: "onSubmitGoogleAuth", tenantConfigLoaded: "tenantConfigLoaded", googleClick: "googleClick", microsoftClick: "microsoftClick", appleClick: "appleClick" }, ngImport: i0, template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit('InApp')\" class=\"flexWrapper\"> \n <div class=\"formWrapper\" *ngIf=\"showform\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [passLength]=\"5\"\n [customErrorMessages]=\"{\n password:'Password is required'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n </div>\n <div> \n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n \n </div>\n </form>\n <div> \n <div *ngIf=\"AuthMechanisms !== null\"> \n <verben-o-auth \n [authMechanisms]=\"AuthMechanisms\"\n ></verben-o-auth>\n </div>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </section>\n ", styles: ["a{text-decoration:underline}.flexWrapper{display:flex;flex-direction:column;gap:20px;margin-top:12px}.formWrapper{display:flex;flex-direction:column;gap:20px}.pwdWrapper{display:flex;justify-content:flex-end;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i5.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.OAuthComponent, selector: "verben-o-auth", inputs: ["authMechanisms"], outputs: ["emitMechanismFn"] }, { kind: "component", type: i7.ButtonComponent, selector: "lib-button", inputs: ["text", "color", "border", "borderRadius", "bgColor", "width", "pd", "buttonClass", "disabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
240
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignInComponent, selector: "verben-sign-in", inputs: { headlingText: "headlingText", width: "width", maxWidth: "maxWidth", margin: "margin", pd: "pd", customClass: "customClass", headlingClass: "headlingClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", forgetPasswordClass: "forgetPasswordClass", requestAccessClass: "requestAccessClass", createAccountClass: "createAccountClass", createAccountLinkClass: "createAccountLinkClass", forgetPasswordLink: "forgetPasswordLink", createAccountLink: "createAccountLink", requestAccessLink: "requestAccessLink", btnClass: "btnClass", btnBgColor: "btnBgColor", btnColor: "btnColor", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnPd: "btnPd", btnText: "btnText", inputLabelColor: "inputLabelColor", inputBgColor: "inputBgColor", inputBorder: "inputBorder", inputBorderRadius: "inputBorderRadius", termsErrorText: "termsErrorText", urlKeyOverride: "urlKeyOverride" }, outputs: { formSubmit: "formSubmit", onSubmitEnd: "onSubmitEnd", onGoogleAuthResponse: "onGoogleAuthResponse", onSubmitGoogleAuth: "onSubmitGoogleAuth", tenantConfigLoaded: "tenantConfigLoaded", googleClick: "googleClick", microsoftClick: "microsoftClick", appleClick: "appleClick" }, ngImport: i0, template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit('InApp')\" class=\"flexWrapper\"> \n <div class=\"formWrapper\" *ngIf=\"showform\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [passLength]=\"5\"\n [customErrorMessages]=\"{\n password:'Password is required'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n </div>\n <div> \n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n \n </div>\n </form>\n <div> \n <div *ngIf=\"AuthMechanisms !== null\"> \n <verben-o-auth \n [authMechanisms]=\"AuthMechanisms\"\n ></verben-o-auth>\n </div>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </section>\n ", styles: ["a{text-decoration:underline}.flexWrapper{display:flex;flex-direction:column;gap:20px;margin-top:12px}.formWrapper{display:flex;flex-direction:column;gap:20px}.pwdWrapper{display:flex;justify-content:flex-end;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i5.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.OAuthComponent, selector: "verben-o-auth", inputs: ["authMechanisms"], outputs: ["emitMechanismFn"] }, { kind: "component", type: i7.ButtonComponent, selector: "lib-button", inputs: ["text", "color", "border", "borderRadius", "bgColor", "width", "pd", "buttonClass", "disabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
235
241
  }
236
242
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInComponent, decorators: [{
237
243
  type: Component,
@@ -300,6 +306,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
300
306
  type: Input
301
307
  }], termsErrorText: [{
302
308
  type: Input
309
+ }], urlKeyOverride: [{
310
+ type: Input
303
311
  }], formSubmit: [{
304
312
  type: Output
305
313
  }], onSubmitEnd: [{
@@ -1 +1 @@
1
- {"version":3,"file":"verben-authentication-ui-src-lib-components-sign-in.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/components/sign-in/sign-in.component.ts","../../../projects/verben-authentication-ui/src/lib/components/sign-in/sign-in.component.html","../../../projects/verben-authentication-ui/src/lib/components/sign-in/sign-in.module.ts","../../../projects/verben-authentication-ui/src/lib/components/sign-in/verben-authentication-ui-src-lib-components-sign-in.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { LoginData } from 'verben-authentication-ui/src/lib/models';\nimport { HttpWebRequestService } from 'verben-authentication-ui/src/lib/services';\nimport { UtilService } from 'verben-authentication-ui/src/lib/services';\nimport { ErrorResponse } from 'verben-authentication-ui/src/lib/models';\nimport { ResponseKeyValue } from 'verben-authentication-ui/src/lib/models';\nimport { EnvironmentService } from 'verben-authentication-ui/src/lib/services';\nimport {\n AuthMechanism,\n MechanismType,\n} from 'verben-authentication-ui/src/lib/models';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IOauthResp } from 'verben-authentication-ui/src/lib/models';\nimport { TenantConfig } from 'verben-authentication-ui/src/lib/models';\nimport { EncryptionService } from 'verben-authentication-ui/src/lib/services';\nimport CryptoJS from 'crypto-js';\nimport { UserAgentType } from 'verben-authentication-ui/src/lib/models';\n@Component({\n selector: 'verben-sign-in',\n templateUrl: './sign-in.component.html',\n styleUrl: './sign-in.component.css',\n})\nexport class SignInComponent implements OnInit {\n @Input() headlingText: string = 'Sign in';\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n @Input() margin: string = '';\n @Input() pd: string = '';\n @Input() customClass: string = '';\n @Input() headlingClass: string = '';\n @Input() bgColor: string = '#fff';\n @Input() boxShadow: string = '4px 4px 4px rgba(0, 0, 0, 0.25)';\n @Input() border: string = '1px solid #66666680';\n @Input() borderRadius: string = '24px';\n @Input() textColor: string = '#333';\n @Input() height: string = 'auto';\n @Input() forgetPasswordClass: string = '';\n @Input() requestAccessClass: string = '';\n @Input() createAccountClass: string = '';\n @Input() createAccountLinkClass: string = '';\n\n // links\n @Input() forgetPasswordLink: string = '';\n @Input() createAccountLink: string = '';\n @Input() requestAccessLink: string = '';\n // button styles\n @Input() btnClass: string = '';\n @Input() btnBgColor: string = '#FFE681';\n @Input() btnColor: string = '';\n @Input() btnBorder: string = '';\n @Input() btnBorderRadius: string = '24px';\n @Input() btnPd: string = '';\n @Input() btnText: string = 'Log in';\n\n //inputStyles\n @Input() inputLabelColor: string = '';\n @Input() inputBgColor: string = 'transparent';\n @Input() inputBorder: string = '1px solid #66666659';\n @Input() inputBorderRadius: string = '12px';\n @Input() termsErrorText: string =\n 'Please agree to the terms of use and privacy policy.';\n\n @Output() formSubmit = new EventEmitter<LoginData>();\n @Output() onSubmitEnd: EventEmitter<ResponseKeyValue | ErrorResponse> =\n new EventEmitter();\n @Output() onGoogleAuthResponse: EventEmitter<\n ResponseKeyValue | ErrorResponse\n > = new EventEmitter();\n @Output() onSubmitGoogleAuth: EventEmitter<ResponseKeyValue | ErrorResponse> =\n new EventEmitter();\n @Output() tenantConfigLoaded = new EventEmitter<TenantConfig | null>();\n @Output() googleClick = new EventEmitter();\n @Output() microsoftClick = new EventEmitter();\n @Output() appleClick = new EventEmitter();\n\n tenantDetails: any | null = null;\n AuthMechanisms: AuthMechanism[] | null = null;\n showform: boolean = false;\n loginForm: FormGroup;\n apiKey: string=''\n secret: string;\n isLoading: boolean = false;\n code: string = '';\n type: string = '';\n mechanismType: string = '';\n OauthData: IOauthResp = {\n AccessToken: '',\n Email: '',\n FirstName: '',\n LastName: '',\n };\n configData: TenantConfig | null = null;\n\n constructor(\n private fb: FormBuilder,\n private server: HttpWebRequestService,\n private utilService: UtilService,\n private envSvc: EnvironmentService,\n private route: ActivatedRoute,\n private router: Router,\n private encryptionService: EncryptionService\n ) {\n this.loginForm = this.fb.group({\n Email: new FormControl<string | null>(null, [\n Validators.required,\n Validators.email,\n ]),\n Password: new FormControl<string | null>(null, [\n Validators.required,\n Validators.minLength(5),\n ]),\n });\n this.secret = this.envSvc.environment.Secret;\n }\n\n async ngOnInit() {\n await this.getTenantConfig();\n this.route.queryParams.subscribe((params) => {\n this.code = params['code'];\n this.type = params['type'];\n if (this.code) {\n this.verifyUserDetails();\n }\n });\n }\n\nasync getTenantConfig() {\n const isLocalhost = window?.location?.hostname === \"localhost\";\n const payload = isLocalhost\n ? {\n Key: \"UrlKey\",\n Value: \"https://bovas.white360.net\",\n }\n : undefined;\n\n try {\n const res = await this.server.post<TenantConfig>(\n `Tenant/GetTenantConfigByUrlKey`,\n payload\n );\n this.tenantDetails = res;\n this.apiKey = this.tenantDetails.TenantId\n this.configData = res;\n\n this.AuthMechanisms = this.tenantDetails?.AuthMechanisms?.filter(\n (m:AuthMechanism) => m.UserAgent === UserAgentType.Web\n );\n\n if (\n !this.AuthMechanisms?.length ||\n !this.AuthMechanisms.some((m) => m.AuthMechanism === MechanismType.InApp)\n ) {\n this.showform = false;\n } else {\n this.showform = true;\n }\n\n this.tenantConfigLoaded.emit(this.configData);\n } catch (err) {\n this.tenantConfigLoaded.emit(null);\n }\n}\n\n\n checkForm(): boolean {\n return this.loginForm.valid;\n }\n\n async verifyUserDetails() {\n if (this.AuthMechanisms !== null && this.apiKey) {\n const data: any = this.AuthMechanisms.find((item) =>\n item.AuthMechanism.includes(this.type)\n );\n const payload = {\n AuthCode: this.code,\n Tenant: this.apiKey,\n AuthMechanism: data.AuthMechanism,\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `Authentication/GetUserDetails`,\n payload\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return;\n } else {\n var result = res as IOauthResp;\n this.OauthData = {\n AccessToken: result?.AccessToken,\n Email: result?.Email,\n FirstName: result?.FirstName,\n LastName: result?.LastName,\n };\n\n this.submit(data.AuthMechanism);\n }\n }\n }\n\n async submit(type: string) {\n let data: LoginData = {\n MailAddress: '',\n Password: '',\n LoginType: type,\n Tenant: this.tenantDetails.TenantId,\n Secrete: this.secret,\n Token: '',\n };\n\n if (type === MechanismType.InApp && this.checkForm()) {\n data = {\n ...data,\n MailAddress: this.loginForm.controls['Email'].value,\n Password: String(\n CryptoJS.MD5(this.loginForm.controls['Password'].value)\n ),\n };\n } else if (\n type === MechanismType.Google ||\n type === MechanismType.Microsoft\n ) {\n data = {\n ...data,\n MailAddress: this.OauthData?.Email,\n Token: this.OauthData?.AccessToken,\n };\n }\n\n this.formSubmit.emit(data);\n this.utilService.sendBI(true); // Preserving your utilService call\n this.isLoading = true;\n\n try {\n const res = await this.server.post(`Authentication/Login`, data);\n console.log('Response:', res);\n this.utilService.sendBI(false); // Stop utilService tracking on success/failure\n this.isLoading = false;\n\n if (res instanceof ErrorResponse) {\n this.onSubmitEnd.emit(res);\n } else {\n const result = res as ResponseKeyValue;\n this.onSubmitEnd.emit(result);\n }\n } catch (error) {\n this.utilService.sendBI(false); // Stop utilService tracking on error\n this.isLoading = false;\n console.error('Error during login:', error);\n }\n }\n\n get styles() {\n return {\n 'background-color': this.bgColor,\n 'box-shadow': this.boxShadow,\n border: this.border,\n 'border-radius': this.borderRadius,\n color: this.textColor,\n width: this.width,\n 'max-width': this.maxWidth,\n margin: this.margin,\n height: this.height,\n padding: this.pd,\n };\n }\n}\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit('InApp')\" class=\"flexWrapper\"> \n <div class=\"formWrapper\" *ngIf=\"showform\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [passLength]=\"5\"\n [customErrorMessages]=\"{\n password:'Password is required'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n </div>\n <div> \n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n \n </div>\n </form>\n <div> \n <div *ngIf=\"AuthMechanisms !== null\"> \n <verben-o-auth \n [authMechanisms]=\"AuthMechanisms\"\n ></verben-o-auth>\n </div>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </section>\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SignInComponent } from './sign-in.component';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthModule } from 'verben-authentication-ui/src/lib/components/o-auth';\nimport { ButtonModule } from 'verben-authentication-ui/src/lib/components/button';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [SignInComponent],\n imports: [\n CommonModule,\n FormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n RouterLink,\n OAuthModule,\n ButtonModule,\n ReactiveFormsModule,\n ],\n exports: [SignInComponent],\n})\nexport class SignInModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verben-authentication-ui-src-lib-components-sign-in.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/components/sign-in/sign-in.component.ts","../../../projects/verben-authentication-ui/src/lib/components/sign-in/sign-in.component.html","../../../projects/verben-authentication-ui/src/lib/components/sign-in/sign-in.module.ts","../../../projects/verben-authentication-ui/src/lib/components/sign-in/verben-authentication-ui-src-lib-components-sign-in.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { LoginData } from 'verben-authentication-ui/src/lib/models';\nimport { HttpWebRequestService } from 'verben-authentication-ui/src/lib/services';\nimport { UtilService } from 'verben-authentication-ui/src/lib/services';\nimport { ErrorResponse } from 'verben-authentication-ui/src/lib/models';\nimport { ResponseKeyValue } from 'verben-authentication-ui/src/lib/models';\nimport { EnvironmentService } from 'verben-authentication-ui/src/lib/services';\nimport {\n AuthMechanism,\n MechanismType,\n} from 'verben-authentication-ui/src/lib/models';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IOauthResp } from 'verben-authentication-ui/src/lib/models';\nimport { TenantConfig } from 'verben-authentication-ui/src/lib/models';\nimport { EncryptionService } from 'verben-authentication-ui/src/lib/services';\nimport CryptoJS from 'crypto-js';\nimport { UserAgentType } from 'verben-authentication-ui/src/lib/models';\n@Component({\n selector: 'verben-sign-in',\n templateUrl: './sign-in.component.html',\n styleUrl: './sign-in.component.css',\n})\nexport class SignInComponent implements OnInit {\n @Input() headlingText: string = 'Sign in';\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n @Input() margin: string = '';\n @Input() pd: string = '';\n @Input() customClass: string = '';\n @Input() headlingClass: string = '';\n @Input() bgColor: string = '#fff';\n @Input() boxShadow: string = '4px 4px 4px rgba(0, 0, 0, 0.25)';\n @Input() border: string = '1px solid #66666680';\n @Input() borderRadius: string = '24px';\n @Input() textColor: string = '#333';\n @Input() height: string = 'auto';\n @Input() forgetPasswordClass: string = '';\n @Input() requestAccessClass: string = '';\n @Input() createAccountClass: string = '';\n @Input() createAccountLinkClass: string = '';\n\n // links\n @Input() forgetPasswordLink: string = '';\n @Input() createAccountLink: string = '';\n @Input() requestAccessLink: string = '';\n // button styles\n @Input() btnClass: string = '';\n @Input() btnBgColor: string = '#FFE681';\n @Input() btnColor: string = '';\n @Input() btnBorder: string = '';\n @Input() btnBorderRadius: string = '24px';\n @Input() btnPd: string = '';\n @Input() btnText: string = 'Log in';\n\n //inputStyles\n @Input() inputLabelColor: string = '';\n @Input() inputBgColor: string = 'transparent';\n @Input() inputBorder: string = '1px solid #66666659';\n @Input() inputBorderRadius: string = '12px';\n @Input() termsErrorText: string =\n 'Please agree to the terms of use and privacy policy.';\n @Input() urlKeyOverride: string | null = null;\n\n @Output() formSubmit = new EventEmitter<LoginData>();\n @Output() onSubmitEnd: EventEmitter<ResponseKeyValue | ErrorResponse> =\n new EventEmitter();\n @Output() onGoogleAuthResponse: EventEmitter<\n ResponseKeyValue | ErrorResponse\n > = new EventEmitter();\n @Output() onSubmitGoogleAuth: EventEmitter<ResponseKeyValue | ErrorResponse> =\n new EventEmitter();\n @Output() tenantConfigLoaded = new EventEmitter<TenantConfig | null>();\n @Output() googleClick = new EventEmitter();\n @Output() microsoftClick = new EventEmitter();\n @Output() appleClick = new EventEmitter();\n\n tenantDetails: any | null = null;\n AuthMechanisms: AuthMechanism[] | null = null;\n showform: boolean = false;\n loginForm: FormGroup;\n apiKey: string = '';\n secret: string;\n isLoading: boolean = false;\n code: string = '';\n type: string = '';\n mechanismType: string = '';\n OauthData: IOauthResp = {\n AccessToken: '',\n Email: '',\n FirstName: '',\n LastName: '',\n };\n configData: TenantConfig | null = null;\n\n constructor(\n private fb: FormBuilder,\n private server: HttpWebRequestService,\n private utilService: UtilService,\n private envSvc: EnvironmentService,\n private route: ActivatedRoute,\n private router: Router,\n private encryptionService: EncryptionService\n ) {\n this.loginForm = this.fb.group({\n Email: new FormControl<string | null>(null, [\n Validators.required,\n Validators.email,\n ]),\n Password: new FormControl<string | null>(null, [\n Validators.required,\n Validators.minLength(5),\n ]),\n });\n this.secret = this.envSvc.environment.Secret;\n }\n\n async ngOnInit() {\n await this.getTenantConfig();\n this.route.queryParams.subscribe((params) => {\n this.code = params['code'];\n this.type = params['type'];\n if (this.code) {\n this.verifyUserDetails();\n }\n });\n }\n\n async getTenantConfig() {\n const isLocalhost = window?.location?.hostname === 'localhost';\n const payload = this.urlKeyOverride\n ? {\n Key: 'UrlKey',\n Value: this.urlKeyOverride,\n }\n : isLocalhost\n ? {\n Key: 'UrlKey',\n Value: 'https://bovas.white360.net',\n }\n : undefined;\n\n try {\n const res = await this.server.post<TenantConfig>(\n `Tenant/GetTenantConfigByUrlKey`,\n payload\n );\n this.tenantDetails = res;\n this.apiKey = this.tenantDetails.TenantId;\n this.configData = res;\n\n this.AuthMechanisms = this.tenantDetails?.AuthMechanisms?.filter(\n (m: AuthMechanism) => m.UserAgent === UserAgentType.Web\n );\n\n if (\n !this.AuthMechanisms?.length ||\n !this.AuthMechanisms.some(\n (m) => m.AuthMechanism === MechanismType.InApp\n )\n ) {\n this.showform = false;\n } else {\n this.showform = true;\n }\n\n this.tenantConfigLoaded.emit(this.configData);\n } catch (err) {\n this.tenantConfigLoaded.emit(null);\n }\n }\n\n checkForm(): boolean {\n return this.loginForm.valid;\n }\n\n async verifyUserDetails() {\n if (this.AuthMechanisms !== null && this.apiKey) {\n const data: any = this.AuthMechanisms.find((item) =>\n item.AuthMechanism.includes(this.type)\n );\n const payload = {\n AuthCode: this.code,\n Tenant: this.apiKey,\n AuthMechanism: data.AuthMechanism,\n };\n\n this.utilService.sendBI(true);\n const res = await this.server.post(\n `Authentication/GetUserDetails`,\n payload\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n return;\n } else {\n var result = res as IOauthResp;\n this.OauthData = {\n AccessToken: result?.AccessToken,\n Email: result?.Email,\n FirstName: result?.FirstName,\n LastName: result?.LastName,\n };\n\n this.submit(data.AuthMechanism);\n }\n }\n }\n\n async submit(type: string) {\n let data: LoginData = {\n MailAddress: '',\n Password: '',\n LoginType: type,\n Tenant: this.tenantDetails.TenantId,\n Secrete: this.secret,\n Token: '',\n };\n\n if (type === MechanismType.InApp && this.checkForm()) {\n data = {\n ...data,\n MailAddress: this.loginForm.controls['Email'].value,\n Password: String(\n CryptoJS.MD5(this.loginForm.controls['Password'].value)\n ),\n };\n } else if (\n type === MechanismType.Google ||\n type === MechanismType.Microsoft\n ) {\n data = {\n ...data,\n MailAddress: this.OauthData?.Email,\n Token: this.OauthData?.AccessToken,\n };\n }\n\n this.formSubmit.emit(data);\n this.utilService.sendBI(true); // Preserving your utilService call\n this.isLoading = true;\n\n try {\n const res = await this.server.post(`Authentication/Login`, data);\n console.log('Response:', res);\n this.utilService.sendBI(false); // Stop utilService tracking on success/failure\n this.isLoading = false;\n\n if (res instanceof ErrorResponse) {\n this.onSubmitEnd.emit(res);\n } else {\n const result = res as ResponseKeyValue;\n this.onSubmitEnd.emit(result);\n }\n } catch (error) {\n this.utilService.sendBI(false); // Stop utilService tracking on error\n this.isLoading = false;\n console.error('Error during login:', error);\n }\n }\n\n get styles() {\n return {\n 'background-color': this.bgColor,\n 'box-shadow': this.boxShadow,\n border: this.border,\n 'border-radius': this.borderRadius,\n color: this.textColor,\n width: this.width,\n 'max-width': this.maxWidth,\n margin: this.margin,\n height: this.height,\n padding: this.pd,\n };\n }\n}\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit('InApp')\" class=\"flexWrapper\"> \n <div class=\"formWrapper\" *ngIf=\"showform\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [passLength]=\"5\"\n [customErrorMessages]=\"{\n password:'Password is required'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n </div>\n <div> \n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n \n </div>\n </form>\n <div> \n <div *ngIf=\"AuthMechanisms !== null\"> \n <verben-o-auth \n [authMechanisms]=\"AuthMechanisms\"\n ></verben-o-auth>\n </div>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </section>\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SignInComponent } from './sign-in.component';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthModule } from 'verben-authentication-ui/src/lib/components/o-auth';\nimport { ButtonModule } from 'verben-authentication-ui/src/lib/components/button';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [SignInComponent],\n imports: [\n CommonModule,\n FormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n RouterLink,\n OAuthModule,\n ButtonModule,\n ReactiveFormsModule,\n ],\n exports: [SignInComponent],\n})\nexport class SignInModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verben-authentication-ui",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^18.2.0",
6
6
  "@angular/common": "^14.0.0 || ^18.0.0",
@@ -95,12 +95,6 @@
95
95
  "esm": "./esm2022/src/lib/components/o-auth/verben-authentication-ui-src-lib-components-o-auth.mjs",
96
96
  "default": "./fesm2022/verben-authentication-ui-src-lib-components-o-auth.mjs"
97
97
  },
98
- "./src/lib/components/otp-input": {
99
- "types": "./src/lib/components/otp-input/index.d.ts",
100
- "esm2022": "./esm2022/src/lib/components/otp-input/verben-authentication-ui-src-lib-components-otp-input.mjs",
101
- "esm": "./esm2022/src/lib/components/otp-input/verben-authentication-ui-src-lib-components-otp-input.mjs",
102
- "default": "./fesm2022/verben-authentication-ui-src-lib-components-otp-input.mjs"
103
- },
104
98
  "./src/lib/components/reset-password": {
105
99
  "types": "./src/lib/components/reset-password/index.d.ts",
106
100
  "esm2022": "./esm2022/src/lib/components/reset-password/verben-authentication-ui-src-lib-components-reset-password.mjs",
@@ -131,6 +125,12 @@
131
125
  "esm": "./esm2022/src/lib/components/sso/verben-authentication-ui-src-lib-components-sso.mjs",
132
126
  "default": "./fesm2022/verben-authentication-ui-src-lib-components-sso.mjs"
133
127
  },
128
+ "./src/lib/components/otp-input": {
129
+ "types": "./src/lib/components/otp-input/index.d.ts",
130
+ "esm2022": "./esm2022/src/lib/components/otp-input/verben-authentication-ui-src-lib-components-otp-input.mjs",
131
+ "esm": "./esm2022/src/lib/components/otp-input/verben-authentication-ui-src-lib-components-otp-input.mjs",
132
+ "default": "./fesm2022/verben-authentication-ui-src-lib-components-otp-input.mjs"
133
+ },
134
134
  "./src/lib/components/two-factor-auth-otp": {
135
135
  "types": "./src/lib/components/two-factor-auth-otp/index.d.ts",
136
136
  "esm2022": "./esm2022/src/lib/components/two-factor-auth-otp/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs",
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, OnInit, QueryList } from '@angular/core';
1
+ import { ChangeDetectorRef, OnChanges, OnInit, QueryList, SimpleChanges } from '@angular/core';
2
2
  import { RoleControlService } from './role-control.service';
3
3
  import { CardData, CardDataViewComponent, ColumnDefinition, ColumnDirective, DataTableComponent, DataViewComponent, IDataFilter, VerbenPopUpComponent } from 'verben-ng-ui';
4
4
  import { Role } from 'verben-authentication-ui/src/lib/models';
@@ -18,7 +18,7 @@ import { Subject } from 'rxjs';
18
18
  import { PermissionConfig } from 'verben-authentication-ui/src/lib/models';
19
19
  import { ImportService } from 'verben-authentication-ui/src/lib/services';
20
20
  import * as i0 from "@angular/core";
21
- export declare class RoleControlComponent implements OnInit {
21
+ export declare class RoleControlComponent implements OnInit, OnChanges {
22
22
  private authService;
23
23
  private roleControlSvc;
24
24
  private utilService;
@@ -66,6 +66,7 @@ export declare class RoleControlComponent implements OnInit {
66
66
  private currentSearchTerm;
67
67
  constructor(authService: AuthorizationService, roleControlSvc: RoleControlService, utilService: UtilService, server: HttpWebRequestService, cdr: ChangeDetectorRef, fb: FormBuilder, envSvc: EnvironmentService, importService: ImportService<MappedRole>);
68
68
  ngOnInit(): Promise<void>;
69
+ ngOnChanges(changes: SimpleChanges): Promise<void>;
69
70
  getSavedContexts(): Promise<ApplicationRoleContext[] | undefined>;
70
71
  getAllRoles(): Promise<Role[] | undefined>;
71
72
  loadMore(): Promise<void>;
@@ -52,6 +52,7 @@ export declare class SignInComponent implements OnInit {
52
52
  inputBorder: string;
53
53
  inputBorderRadius: string;
54
54
  termsErrorText: string;
55
+ urlKeyOverride: string | null;
55
56
  formSubmit: EventEmitter<LoginData>;
56
57
  onSubmitEnd: EventEmitter<ResponseKeyValue | ErrorResponse>;
57
58
  onGoogleAuthResponse: EventEmitter<ResponseKeyValue | ErrorResponse>;
@@ -91,5 +92,5 @@ export declare class SignInComponent implements OnInit {
91
92
  padding: string;
92
93
  };
93
94
  static ɵfac: i0.ɵɵFactoryDeclaration<SignInComponent, never>;
94
- static ɵcmp: i0.ɵɵComponentDeclaration<SignInComponent, "verben-sign-in", never, { "headlingText": { "alias": "headlingText"; "required": false; }; "width": { "alias": "width"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "pd": { "alias": "pd"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "headlingClass": { "alias": "headlingClass"; "required": false; }; "bgColor": { "alias": "bgColor"; "required": false; }; "boxShadow": { "alias": "boxShadow"; "required": false; }; "border": { "alias": "border"; "required": false; }; "borderRadius": { "alias": "borderRadius"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "height": { "alias": "height"; "required": false; }; "forgetPasswordClass": { "alias": "forgetPasswordClass"; "required": false; }; "requestAccessClass": { "alias": "requestAccessClass"; "required": false; }; "createAccountClass": { "alias": "createAccountClass"; "required": false; }; "createAccountLinkClass": { "alias": "createAccountLinkClass"; "required": false; }; "forgetPasswordLink": { "alias": "forgetPasswordLink"; "required": false; }; "createAccountLink": { "alias": "createAccountLink"; "required": false; }; "requestAccessLink": { "alias": "requestAccessLink"; "required": false; }; "btnClass": { "alias": "btnClass"; "required": false; }; "btnBgColor": { "alias": "btnBgColor"; "required": false; }; "btnColor": { "alias": "btnColor"; "required": false; }; "btnBorder": { "alias": "btnBorder"; "required": false; }; "btnBorderRadius": { "alias": "btnBorderRadius"; "required": false; }; "btnPd": { "alias": "btnPd"; "required": false; }; "btnText": { "alias": "btnText"; "required": false; }; "inputLabelColor": { "alias": "inputLabelColor"; "required": false; }; "inputBgColor": { "alias": "inputBgColor"; "required": false; }; "inputBorder": { "alias": "inputBorder"; "required": false; }; "inputBorderRadius": { "alias": "inputBorderRadius"; "required": false; }; "termsErrorText": { "alias": "termsErrorText"; "required": false; }; }, { "formSubmit": "formSubmit"; "onSubmitEnd": "onSubmitEnd"; "onGoogleAuthResponse": "onGoogleAuthResponse"; "onSubmitGoogleAuth": "onSubmitGoogleAuth"; "tenantConfigLoaded": "tenantConfigLoaded"; "googleClick": "googleClick"; "microsoftClick": "microsoftClick"; "appleClick": "appleClick"; }, never, never, false, never>;
95
+ static ɵcmp: i0.ɵɵComponentDeclaration<SignInComponent, "verben-sign-in", never, { "headlingText": { "alias": "headlingText"; "required": false; }; "width": { "alias": "width"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "pd": { "alias": "pd"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "headlingClass": { "alias": "headlingClass"; "required": false; }; "bgColor": { "alias": "bgColor"; "required": false; }; "boxShadow": { "alias": "boxShadow"; "required": false; }; "border": { "alias": "border"; "required": false; }; "borderRadius": { "alias": "borderRadius"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "height": { "alias": "height"; "required": false; }; "forgetPasswordClass": { "alias": "forgetPasswordClass"; "required": false; }; "requestAccessClass": { "alias": "requestAccessClass"; "required": false; }; "createAccountClass": { "alias": "createAccountClass"; "required": false; }; "createAccountLinkClass": { "alias": "createAccountLinkClass"; "required": false; }; "forgetPasswordLink": { "alias": "forgetPasswordLink"; "required": false; }; "createAccountLink": { "alias": "createAccountLink"; "required": false; }; "requestAccessLink": { "alias": "requestAccessLink"; "required": false; }; "btnClass": { "alias": "btnClass"; "required": false; }; "btnBgColor": { "alias": "btnBgColor"; "required": false; }; "btnColor": { "alias": "btnColor"; "required": false; }; "btnBorder": { "alias": "btnBorder"; "required": false; }; "btnBorderRadius": { "alias": "btnBorderRadius"; "required": false; }; "btnPd": { "alias": "btnPd"; "required": false; }; "btnText": { "alias": "btnText"; "required": false; }; "inputLabelColor": { "alias": "inputLabelColor"; "required": false; }; "inputBgColor": { "alias": "inputBgColor"; "required": false; }; "inputBorder": { "alias": "inputBorder"; "required": false; }; "inputBorderRadius": { "alias": "inputBorderRadius"; "required": false; }; "termsErrorText": { "alias": "termsErrorText"; "required": false; }; "urlKeyOverride": { "alias": "urlKeyOverride"; "required": false; }; }, { "formSubmit": "formSubmit"; "onSubmitEnd": "onSubmitEnd"; "onGoogleAuthResponse": "onGoogleAuthResponse"; "onSubmitGoogleAuth": "onSubmitGoogleAuth"; "tenantConfigLoaded": "tenantConfigLoaded"; "googleClick": "googleClick"; "microsoftClick": "microsoftClick"; "appleClick": "appleClick"; }, never, never, false, never>;
95
96
  }