verben-authentication-ui 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"verben-authentication-ui.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/models/ErrorResponse.ts","../../../projects/verben-authentication-ui/src/lib/services/environment.service.ts","../../../projects/verben-authentication-ui/src/lib/services/http-web-request.service.ts","../../../projects/verben-authentication-ui/src/lib/components/reset-password/reset-password.component.ts","../../../projects/verben-authentication-ui/src/lib/components/reset-password/reset-password.component.html","../../../projects/verben-authentication-ui/src/lib/components/reset-password/reset-password.module.ts","../../../projects/verben-authentication-ui/src/lib/models/object-state.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.module.ts","../../../projects/verben-authentication-ui/src/lib/components/mail-validation/mail-validation.component.ts","../../../projects/verben-authentication-ui/src/lib/components/mail-validation/mail-validation.component.html","../../../projects/verben-authentication-ui/src/lib/components/mail-validation/mail-validation.module.ts","../../../projects/verben-authentication-ui/src/lib/components/button/button.component.ts","../../../projects/verben-authentication-ui/src/lib/components/button/button.component.html","../../../projects/verben-authentication-ui/src/lib/components/o-auth/o-auth.component.ts","../../../projects/verben-authentication-ui/src/lib/components/o-auth/o-auth.component.html","../../../projects/verben-authentication-ui/src/lib/components/sign-up/sign-up.component.ts","../../../projects/verben-authentication-ui/src/lib/components/sign-up/sign-up.component.html","../../../projects/verben-authentication-ui/src/lib/components/o-auth/o-auth.module.ts","../../../projects/verben-authentication-ui/src/lib/components/button/button.module.ts","../../../projects/verben-authentication-ui/src/lib/components/sign-up/sign-up.module.ts","../../../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/otp-input/otp-input.component.ts","../../../projects/verben-authentication-ui/src/lib/components/otp-input/otp-input.component.html","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html","../../../projects/verben-authentication-ui/src/lib/components/otp-input/otp-input.module.ts","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts","../../../projects/verben-authentication-ui/src/lib/components/mail/mail.component.ts","../../../projects/verben-authentication-ui/src/lib/components/mail/mail.component.html","../../../projects/verben-authentication-ui/src/lib/components/mail/mail.module.ts","../../../projects/verben-authentication-ui/src/lib/components/forgot-password/forgot-password.component.ts","../../../projects/verben-authentication-ui/src/lib/components/forgot-password/forgot-password.component.html","../../../projects/verben-authentication-ui/src/lib/components/forgot-password/forgot-password.module.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/sso.columns.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/helper.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/base-table-style.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/sso-form/sso-form.component.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/sso-form/sso-form.component.html","../../../projects/verben-authentication-ui/src/lib/components/sso/sso.component.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/sso.component.html","../../../projects/verben-authentication-ui/src/lib/components/sso/sso.module.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/access-request.columns.ts","../../../projects/verben-authentication-ui/src/lib/models/user-access-request-status.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/helper.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/base-table-style.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.service.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.module.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management.columns.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/helper.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/base-table-style.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management-form/use-management-form.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management-form/user-management-form.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-management/useer-management.module.ts","../../../projects/verben-authentication-ui/src/public-api.ts","../../../projects/verben-authentication-ui/src/verben-authentication-ui.ts"],"sourcesContent":["export class ErrorResponse {\n constructor(\n public ErrorMsg: string,\n public StatusCode?: number,\n public FullLog?: any\n ) {}\n}\n","// In your library's services/environment.service.ts\nimport { Injectable, InjectionToken, Inject } from '@angular/core';\n// import { ENVIRONMENT } from '../models/ENVIRONMENT_TOKEN';\n\nexport const ENVIRONMENT = new InjectionToken<Environment>('environment');\n\nexport interface Environment {\n production: boolean;\n AuthenticationAPI: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService {\n constructor(@Inject(ENVIRONMENT) private env: Environment) {}\n\n get environment(): Environment {\n return this.env;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ErrorResponse } from '../models/ErrorResponse';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpWebRequestService {\n isProd: boolean = false;\n\n constructor(private http: HttpClient, private envSvc: EnvironmentService) {\n this.isProd = this.envSvc.environment.production;\n }\n\n get(\n url: string,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ) {\n const URL = baseUrl + `/${url}`;\n return new Promise((resolve, reject) => {\n this.http\n .get<Array<any>>(URL, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .subscribe({\n next: (data) => resolve(data),\n error: (err) =>\n resolve(\n new ErrorResponse(\n err.error\n ? err.error.ErrorMsg\n ? err.error.ErrorMsg\n : err.error.errors\n ? (err.error.errors.values as string[]).toString()\n : ''\n : err.status + ' ' + err.statusText\n )\n ),\n });\n });\n }\n\n post(\n url: string,\n body: any,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ): Promise<any> {\n return new Promise((resolve, reject) => {\n this.http\n .post(baseUrl + '/' + url, JSON.stringify(body), {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .subscribe({\n next: (data) => resolve(data),\n error: (err) =>\n resolve(\n new ErrorResponse(\n err.error\n ? err.error.ErrorMsg\n ? err.error.ErrorMsg\n : err.error.errors\n ? (err.error.errors.values as string[]).toString()\n : ''\n : err.status + ' ' + err.statusText\n )\n ),\n });\n });\n }\n\n postFile(\n url: string,\n formData: FormData,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ): Promise<any> {\n return new Promise((resolve, reject) => {\n this.http.post(baseUrl + '/' + url, formData).subscribe({\n next: (data) => resolve(data),\n error: (err) =>\n resolve(\n new ErrorResponse(\n err.error\n ? err.error.ErrorMsg\n ? err.error.ErrorMsg\n : err.error.errors\n ? (err.error.errors.values as string[]).toString()\n : ''\n : err.status + ' ' + err.statusText\n )\n ),\n });\n });\n }\n\n put(\n url: string,\n body: any,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ) {\n return this.http.put(baseUrl + '/' + url, body);\n }\n\n delete(\n url: string,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ): Observable<any> {\n return this.http.delete(baseUrl + '/' + url);\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { ResetPasswordData } from './ResetPasswordData';\nimport { HttpWebRequestService } from '../../services/http-web-request.service';\n\n@Component({\n selector: 'verben-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrl: './reset-password.component.css',\n})\nexport class ResetPasswordComponent {\n @Input() title: string = 'Reset Password';\n @Input() subTitle: string = 'Create a New Password';\n @Input() buttonCaption: string = 'Submit';\n @Input() buttonTextColor?: string;\n @Input() buttonBackgroundColor?: string;\n @Input() showOldPassword: boolean = false;\n\n @Output() onSubmit: EventEmitter<ResetPasswordData> = new EventEmitter();\n @Output() onSubmitResponseEnd: EventEmitter<any> = new EventEmitter();\n\n resetPasswordForm: FormGroup;\n\n constructor(private fb: FormBuilder, private req: HttpWebRequestService) {\n this.resetPasswordForm = this.fb.group({\n OldPassword: new FormControl<string | null>(\n null,\n this.oldPasswordValidator.bind(this)\n ),\n Password: new FormControl<string | null>(null, Validators.required),\n ConfirmPassword: new FormControl<string | null>(null, [\n Validators.required,\n this.confirmPasswordValidator.bind(this),\n ]),\n });\n }\n\n checkForm(): boolean {\n return this.resetPasswordForm.valid;\n }\n\n oldPasswordValidator(control: AbstractControl): ValidationErrors | null {\n if (this.showOldPassword && control.value == null) {\n return { customValidation: true };\n }\n return null;\n }\n confirmPasswordValidator(control: AbstractControl): ValidationErrors | null {\n if (\n this.resetPasswordForm &&\n this.resetPasswordForm.controls['Password'] &&\n this.resetPasswordForm.controls['Password'].value !== control.value\n ) {\n return { customValidation: true };\n }\n return null;\n }\n\n submit() {\n if (!this.checkForm()) {\n return;\n }\n var data: ResetPasswordData = {\n OldPassword: this.showOldPassword\n ? this.resetPasswordForm.controls['OldPassword'].value\n : undefined,\n Password: this.resetPasswordForm.controls['Password'].value,\n ConfirmPassword: this.resetPasswordForm.controls['ConfirmPassword'].value,\n };\n this.onSubmit.emit(data);\n this.onSubmitResponseEnd.emit('');\n }\n}\n","<div [formGroup]=\"this.resetPasswordForm\" class=\"reset-password-container flex flex-col\">\n <div class=\"reset-password-header flex flex-col\">\n <div class=\"reset-password-title\">{{title}}</div>\n <div class=\"reset-password-subtitle\">{{subTitle}}</div>\n </div>\n <div *ngIf=\"showOldPassword\" class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">Old Password</div>\n <verbena-input bgColor=\"white\" borderRadius=\"12px\" formControlName=\"OldPassword\" type=\"password\"></verbena-input>\n </div>\n <div class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">New Password</div>\n <verbena-input bgColor=\"white\" borderRadius=\"12px\" formControlName=\"Password\" type=\"password\"></verbena-input>\n </div>\n <div class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">Confirm Password</div>\n <verbena-input bgColor=\"white\" borderRadius=\"12px\" formControlName=\"ConfirmPassword\"\n type=\"password\"></verbena-input>\n </div>\n <verbena-button fontWeight=\"700\" (click)=\"submit()\" [text]=\"buttonCaption\" width=\"100%\" [textColor]=\"buttonTextColor\"\n [bgColor]=\"buttonBackgroundColor\" borderRadius=\"25px\" [disable]=\"!this.checkForm()\"></verbena-button>\n\n</div>\n","import { NgModule } from '@angular/core';\nimport { ResetPasswordComponent } from './reset-password.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [ResetPasswordComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n ],\n exports: [ResetPasswordComponent],\n})\nexport class ResetPasswordModule {}\n","export enum ObjectState {\n New = 'New',\n Changed = 'Changed',\n Unchanged = 'Unchanged',\n Removed = 'Removed',\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, Validators } from '@angular/forms';\nimport { HttpWebRequestService } from '../../services/http-web-request.service';\nimport {UserRequestPayload} from \"../../models/UserRequest\"\nimport { ObjectState } from '../../models/object-state';\n@Component({\n selector: 'lib-user-request',\n templateUrl: './user-request.component.html',\n styleUrls: ['./user-request.component.css']\n})\nexport class UserRequestComponent {\n @Input() width: string = '500px';\n @Input() headingTitle:string=\"Request an account\"\n @Input()headingClass:string=\"font-medium text-[2rem] leading-[48px] text-[#333]\"\n @Input() customClass: 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() pd: string = '32px 48px';\n \n // Button Inputs\n @Input() text: string = 'Send Request';\n @Input() color: string = 'black';\n @Input() btnBorder: string = '1px solid #FFE681';\n @Input() btnBorderRadius: string = \"40px\";\n @Input() btnBgColor: string = '#FFE681';\n @Input() btnWidth: string = '100%';\n @Input() btnPd: string = '10px 20px';\n @Input() termsLink: string = '';\n @Input() privacyLink: string = '';\n @Input() routerLink: string = '';\n @Output() formSubmit = new EventEmitter<UserRequestPayload>();\n @Output() googleClick = new EventEmitter();\n @Output() appleClick = new EventEmitter();\n @Output() onSubmitResponseEnd: EventEmitter<any> = new EventEmitter();\n userRequestForm: FormGroup;\n\n constructor(private fb: FormBuilder) {\n this.userRequestForm = this.fb.group(\n {\n FirstName: [null, [Validators.required]],\n LastName: [null, [Validators.required]],\n Email: [null, [Validators.required, Validators.email]],\n Password: [null, [Validators.required, Validators.minLength(8)]],\n ConfirmPassword: [null, [Validators.required]],\n Terms: [false, Validators.requiredTrue] \n },\n { validators: this.passwordMatchValidator }\n );\n }\n passwordMatchValidator(control: AbstractControl): ValidationErrors | null {\n const password = control.get('Password')?.value;\n const confirmPassword = control.get('ConfirmPassword')?.value;\n\n return password === confirmPassword ? null : { passwordMismatch: true };\n }\n\n get passwordMismatchError(): boolean {\n return this.userRequestForm.hasError('passwordMismatch');\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 'max-width': this.width,\n 'height': this.height,\n 'padding': this.pd,\n };\n }\n checkForm(): boolean {\n return this.userRequestForm.valid;\n }\n handleGoogleAuth() {\n this.googleClick.emit();\n }\n handleAppleAuth() {\n this.appleClick.emit();\n }\n async submitForm() {\n if (!this.checkForm()) {\n return;\n }\n const payload:UserRequestPayload={\n FirstName: this.userRequestForm.controls[\"FirstName\"].value,\n LastName: this.userRequestForm.controls[\"LastName\"].value,\n Email:this.userRequestForm.controls[\"Email\"].value,\n Password: this.userRequestForm.controls[\"Password\"].value,\n ConfirmPassword:this.userRequestForm.controls[\"ConfirmPassword\"].value,\n Terms:this.userRequestForm.controls[\"Terms\"].value,\n UpdatedAt:new Date(),\n CreatedAt:new Date(),\n Id:\"\",\n State:ObjectState.New,\n Tenant:\"\",\n id:\"\"\n }\n this.formSubmit.emit(payload);\n this.onSubmitResponseEnd.emit(\"\")\n }\n}\n","<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid'\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength:'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <p class=\"text-[#666666] text-sm\">\n <input formControlName=\"Terms\" class=\"accent\" type=\"checkbox\" />\n By creating an account, I agree to our<br />\n <a [attr.href]=\"termsLink\" class=\"text-black text-sm font-[500] underline\"\n >Terms of use</a\n >\n and\n <a [attr.href]=\"privacyLink\" class=\"text-black font-[500] text-sm underline\"\n >Privacy Policy\n </a>\n <p *ngIf=\"userRequestForm.controls['Terms'].invalid && userRequestForm.controls['Terms'].touched\">\n <small class=\"error-text\">Please agree to the terms of use and privacy policy.</small>\n </p>\n \n <verbena-button\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n (click)=\"submitForm()\"\n [ngClass]=\"{\n 'cursor-not-allowed':!checkForm()\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n <div class=\"flex justify-center items-center OR\">\n <span></span>\n OR\n <span></span>\n </div>\n\n <verbena-button\n svg=\"google-logo\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n (click)=\"handleGoogleAuth()\"\n text=\"Continue with Google\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333]\"\n ></verbena-button>\n\n <verbena-button\n svg=\"apple-logo\"\n (click)=\"handleAppleAuth()\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with Apple\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n ></verbena-button>\n </form>\n</section>\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\nimport { UserRequestComponent } from './user-request.component';\n\n@NgModule({\n declarations: [UserRequestComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n ],\n exports: [UserRequestComponent],\n})\nexport class UserRequestModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-mail-validation',\n templateUrl: './mail-validation.component.html',\n styleUrls: ['./mail-validation.component.css']\n})\nexport class MailValidationComponent {\n @Input() customClass: 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 = '#666666';\n @Input() height: string = 'auto';\n @Input() pd: string = '32px 48px';\n @Input() width: string = '600px';\n @Input() text: string = 'Login';\n @Input() textAlign: string = 'center';\n @Input() color: string = 'black';\n @Input() textSize: string = '32px';\n @Input() btnBorder: string = '1px solid #FFE681';\n @Input() btnBorderRadius: string = \"40px\";\n @Input() btnBgColor: string = '#FFE681';\n @Input() btnWidth: string = '100%';\n @Input() btnPd: string = '7px 10px';\n\n @Output() resendOtp = new EventEmitter<void>();\n @Output() proceedToNextStep = new EventEmitter<'verified' | 'accessGranted'>();\n @Output() login = new EventEmitter<void>();\n\n currentStep: 'linkSent' | 'verified' | 'accessGranted' = 'linkSent';\n\n handleResendOtp() {\n this.resendOtp.emit();\n }\n\n goToNextStep() {\n switch (this.currentStep) {\n case 'linkSent':\n this.currentStep = 'verified';\n this.proceedToNextStep.emit(this.currentStep);\n break;\n case 'verified':\n this.currentStep = 'accessGranted';\n this.proceedToNextStep.emit(this.currentStep);\n break;\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 'max-width': this.width,\n 'margin': '0 auto',\n 'height': this.height,\n 'padding': this.pd,\n };\n }\n handleLogin() {\n this.login.emit();\n }\n}\n","<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <div *ngIf=\"currentStep === 'linkSent'\">\n <p [style.color]=\"textColor\" [style.font-size]=\"textSize\">\n Follow the link sent to your e-mail to verify your e-mail address\n </p>\n <p class=\"mt-4\" (click)=\"handleResendOtp()\">\n Didn't get a link? <a href=\"#\" class=\"underline resend\">Resend</a>\n </p>\n </div>\n\n <div *ngIf=\"currentStep === 'verified'\">\n <p [style.color]=\"textColor\" [style.font-size]=\"textSize\">\n Your e-mail has been verified! You will be notified when your access has\n been authorized\n </p>\n </div>\n\n <div *ngIf=\"currentStep === 'accessGranted'\">\n <p [style.color]=\"textColor\" [style.font-size]=\"textSize\">\n Your e-mail has been verified!\n </p>\n <div class=\"mt-4\">\n <verbena-button\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n (click)=\"handleLogin()\"\n [width]=\"btnWidth\"\n textSize=\"'22px'\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </div>\n </div>\n</section>\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\nimport { MailValidationComponent } from './mail-validation.component';\n\n@NgModule({\n declarations: [MailValidationComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n ],\n exports: [MailValidationComponent],\n})\nexport class MailValidationModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-button',\n templateUrl: './button.component.html',\n styleUrl: './button.component.css'\n})\nexport class ButtonComponent {\n @Input() text: string = '';\n @Input() color: string = 'black';\n @Input() border: string = '1px solid #FFE681';\n @Input() borderRadius:string = \"40px\"\n @Input() bgColor: string = '#FFE681';\n @Input() width: string = '100%';\n @Input() pd: string = '10px 20px';\n @Input() buttonClass: string = '';\n @Input() disabled: boolean = false;\n\n @Output() buttonClick = new EventEmitter<void>();\n\n handleClick(){ \n this.buttonClick.emit();\n }\n}\n","<verbena-button\n[text]=\"text\"\n[bgColor]=\"bgColor\"\n[textColor]=\"color\"\n[border]=\"border\"\n[borderRadius]=\"borderRadius\"\n[pd]=\"pd\"\n[width]=\"width\"\n[disable]=\"disabled\"\n[ngStyle]=\"{'cursor': disabled ? 'not-allowed' : 'pointer' }\"\nbuttonClass=\"font-medium text-[22px] leading-[33px] {{buttonClass}}\"\n(click)=\"handleClick()\"\n></verbena-button>\n","import { Component, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'verben-o-auth',\n templateUrl: './o-auth.component.html',\n styleUrl: './o-auth.component.css'\n})\nexport class OAuthComponent {\n @Output() googleClick = new EventEmitter<void>();\n @Output() appleClick = new EventEmitter<void>();\n\n oAuthWithGoogle(){ \n this.googleClick.emit();\n };\n oAuthWithApple(){ \n this.appleClick.emit();\n }\n}\n","<section class=\"oauthWrapper\"> \n <div class=\"OrFlexWrapper\">\n <hr/>\n <span>OR</span>\n <hr/>\n </div>\n <verbena-button\n svg=\"google-logo\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with Google\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333]\"\n (click)=\"oAuthWithGoogle()\"\n ></verbena-button>\n \n <verbena-button\n svg=\"apple-logo\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with Apple\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n (click)=\"oAuthWithApple()\"\n ></verbena-button>\n</section>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport { SignUpData } from '../../models/sign-up';\n\n\n@Component({\n selector: 'verben-sign-up',\n templateUrl: './sign-up.component.html',\n styleUrl: './sign-up.component.css'\n})\n\nexport class SignUpComponent {\n @Input() headlingText: string = 'Create an account';\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() height: string = 'auto';\n @Input() textColor: string = '#333';\n @Input() disabled: boolean = false;\n\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 = 'Create account';\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\n // links\n @Input() termsLink: string = '';\n @Input() privacyLink: string = '';\n @Input() routerLink: string = '';\n\n @Output() formSubmit = new EventEmitter<SignUpData>();\n @Output() googleClick = new EventEmitter();\n @Output() appleClick = new EventEmitter();\n\n signUpForm: FormGroup;\n\n constructor(private fb: FormBuilder) {\n this.signUpForm = this.fb.group({\n Firstname: new FormControl<string | null>(null, Validators.required),\n Lastname: new FormControl<string | null>(null, Validators.required),\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(8),\n ]),\n Confirmpassword: new FormControl<string | null>(null, [\n Validators.required,\n Validators.minLength(8),\n ]),\n Terms: new FormControl<boolean>(false, [Validators.requiredTrue]),\n },{ validators: this.passwordMatchValidator });\n }\n \n private passwordMatchValidator: ValidatorFn = (group: AbstractControl): ValidationErrors | null => {\n const password = group.get('Password')?.value;\n const confirmPassword = group.get('Confirmpassword')?.value;\n return password === confirmPassword ? null : { passwordMismatch: true };\n };\n\n checkForm(): boolean {\n return this.signUpForm.valid;\n }\n\n submit() {\n if (!this.checkForm()) {\n return;\n }\n const data: SignUpData = {\n Firstname: this.signUpForm.controls['Firstname'].value,\n Lastname: this.signUpForm.controls['Lastname'].value,\n Email: this.signUpForm.controls['Email'].value,\n Password: this.signUpForm.controls['Password'].value,\n Confirmpassword: this.signUpForm.controls['Confirmpassword'].value,\n Terms: this.signUpForm.controls['Terms'].value,\n };\n \n this.formSubmit.emit(data);\n }\n\n handleGoogleAuth() {\n this.googleClick.emit();\n }\n handleAppleAuth() {\n this.appleClick.emit();\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}\n\n","<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{headlingClass}}\">\n {{headlingText}}\n </h2>\n <form [formGroup]=\"signUpForm\" (ngSubmit)=\"submit()\" class=\"flexWrapper\">\n <verbena-input\n [label]=\"'First name'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"Firstname\"\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 [customErrorMessages]=\"{required:'First name is required'}\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last name'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"Lastname\"\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 [customErrorMessages]=\"{required:'Last name is required'}\"\n ></verbena-input>\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 <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 class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Confirm Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Confirmpassword\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"false\"\n [errorBorderColor]=\"'red'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <span *ngIf=\"signUpForm.hasError('passwordMismatch') && signUpForm.get('Confirmpassword')?.dirty\"> \n <small class=\"error-text\">Passwords do not match.</small>\n </span>\n </div>\n <div> \n <div class=\"checkBoxWrapper\">\n <input type=\"checkbox\" id=\"terms\" formControlName=\"Terms\" class=\"checBoxInput\" />\n <label for=\"terms\" \n class=\"break-all font-normal leading-6\"\n >By creating an account, I agree to our <a [attr.href]=\"termsLink\">Terms of use</a> and\n <a [attr.href]=\"privacyLink\">Privacy Policy</a></label\n >\n </div>\n <p *ngIf=\"signUpForm.controls['Terms'].invalid && signUpForm.controls['Terms'].touched\">\n <small class=\"error-text\">Please agree to the terms of use and privacy policy.</small>\n </p>\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 [ngStyle]=\"{'margin-top':'10px'}\"\n ></lib-button>\n <verben-o-auth \n (googleClick)=\"handleGoogleAuth()\"\n (appleClick)=\"handleAppleAuth()\"\n ></verben-o-auth>\n <p>\n Already have an account?\n <a [routerLink]=\"routerLink\" class=\"\">Log in</a>\n </p>\n </form>\n </section>\n \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthComponent } from './o-auth.component';\n\n@NgModule({\n declarations: [OAuthComponent],\n imports: [CommonModule,VerbenaInputModule,VerbenaButtonModule],\n exports: [OAuthComponent]\n})\nexport class OAuthModule {}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerbenaButtonModule } from 'verben-ng-ui';\nimport { ButtonComponent } from './button.component';\nimport { FormsModule } from '@angular/forms';\n@NgModule({\n declarations: [ButtonComponent],\n imports: [CommonModule,VerbenaButtonModule,FormsModule],\n exports: [ButtonComponent]\n})\nexport class ButtonModule {}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { SignUpComponent } from './sign-up.component';\nimport { VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthModule } from '../o-auth/o-auth.module';\nimport { ButtonModule } from '../button/button.module';\nimport { ReactiveFormsModule } from '@angular/forms';\n@NgModule({\n declarations: [SignUpComponent],\n imports: [CommonModule, FormsModule, VerbenaInputModule, RouterLink,ButtonModule,OAuthModule,ReactiveFormsModule],\n exports: [SignUpComponent]\n})\nexport class SignUpModule {}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { LoginData } from '../../models/log-in';\n\n@Component({\n selector: 'verben-sign-in',\n templateUrl: './sign-in.component.html',\n styleUrl: './sign-in.component.css'\n})\n\nexport class SignInComponent {\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() 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() routerLink: string = '';\n @Input() forgetPasswordClass: string = '';\n @Input() headlingClass: string = '';\n\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 = 'Please agree to the terms of use and privacy policy.'\n\n\n\n @Output() formSubmit = new EventEmitter<LoginData>();\n @Output() googleClick = new EventEmitter();\n @Output() appleClick = new EventEmitter();\n\n loginForm: FormGroup;\n\n constructor(private fb: FormBuilder) {\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(8),\n ]),\n });\n }\n\n checkForm(): boolean {\n return this.loginForm.valid;\n }\n\n submit() {\n if (!this.checkForm()) {\n return;\n }\n \n const data: LoginData = {\n Email: this.loginForm.controls['Email'].value,\n Password: this.loginForm.controls['Password'].value,\n };\n \n this.formSubmit.emit(data);\n }\n\n handleGoogleAuth() {\n this.googleClick.emit();\n }\n handleAppleAuth() {\n this.appleClick.emit();\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}\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit()\" class=\"flexWrapper\"> \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 class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"routerLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n\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 <verben-o-auth \n (googleClick)=\"handleGoogleAuth()\"\n (appleClick)=\"handleAppleAuth()\"\n ></verben-o-auth>\n </form>\n </section>\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SignInComponent } from '../sign-in/sign-in.component';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink} from '@angular/router';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthModule } from '../o-auth/o-auth.module';\nimport { ButtonModule } from '../button/button.module';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [SignInComponent],\n imports: [CommonModule,FormsModule,VerbenaInputModule,VerbenaButtonModule,RouterLink,OAuthModule,ButtonModule,ReactiveFormsModule],\n exports: [SignInComponent]\n})\nexport class SignInModule {}\n\n","import { Component, EventEmitter, Input, Output, OnInit } from '@angular/core';\nimport { FormBuilder, FormArray, FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'verben-otp-input',\n templateUrl: './otp-input.component.html',\n styleUrl: './otp-input.component.css'\n})\nexport class OtpInputComponent implements OnInit {\n @Input() length: number = 6;\n @Input() otpClass: string = '';\n @Output() otpChange = new EventEmitter<string>();\n\n otpForm!: FormGroup;\n\n constructor(private fb: FormBuilder) {}\n\n ngOnInit() {\n this.otpForm = this.fb.group({\n otpArray: this.fb.array(Array(this.length).fill('').map(() => new FormControl('')))\n });\n\n this.otpArray.valueChanges.subscribe(() => {\n this.emitOtp();\n });\n }\n\n get otpArray(): FormArray {\n return this.otpForm.get('otpArray') as FormArray;\n }\n\n handleInput(event: any, index: number) {\n const value = event.target.value;\n if (/\\d/.test(value)) {\n this.otpArray.at(index).setValue(value);\n\n if (index < this.length - 1) {\n this.focusNextInput(index);\n }\n } else {\n this.otpArray.at(index).setValue(''); \n }\n }\n\n handleKeydown(event: KeyboardEvent, index: number) {\n if (event.key === 'Backspace') {\n this.otpArray.at(index).setValue('');\n \n if (index > 0) {\n this.focusPreviousInput(index);\n }\n }\n }\n\n private focusNextInput(index: number) {\n const nextInput = document.getElementById(`otp-input-${index + 1}`);\n nextInput?.focus();\n }\n\n private focusPreviousInput(index: number) {\n const prevInput = document.getElementById(`otp-input-${index - 1}`);\n prevInput?.focus();\n }\n\n private emitOtp() {\n const otp = this.otpArray.value.join('');\n this.otpChange.emit(otp);\n }\n}\n","<form [formGroup]=\"otpForm\" >\n <div formArrayName=\"otpArray\" class=\"otp-container\">\n <input\n *ngFor=\"let control of otpArray.controls; let i = index\"\n [id]=\"'otp-input-' + i\"\n class=\"otp-input {{otpClass}}\"\n maxlength=\"1\"\n (input)=\"handleInput($event, i)\"\n (keydown)=\"handleKeydown($event, i)\"\n [formControlName]=\"i\"\n type=\"text\"\n />\n </div>\n</form>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\n\n@Component({\n selector: 'verben-auth-otp',\n templateUrl: './two-factor-auth-otp.component.html',\n styleUrl: './two-factor-auth-otp.component.css'\n})\n\nexport class TwoFactorAuthOtpComponent {\n @Input() customClass: string = ''\n @Input() headlingClass: string = ''\n @Input() headlingText: string = 'Two Factor Authentication'\n @Input() paragraphClass: string = ''\n @Input() resendClass: string = ''\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n @Input() margin: string = '';\n @Input() pd: 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() length: number = 6;\n @Input() otpClass: string = '';\n\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 = 'Submit';\n\n\n otpValue: string = '';\n otpForm!: FormGroup;\n\n @Output() buttonClick = new EventEmitter<string>();\n @Output() resend = new EventEmitter();\n\n constructor(private fb: FormBuilder) {}\n\n ngOnInit() {\n this.otpForm = this.fb.group({\n otpValue: ['', [Validators.required, Validators.minLength(6)]]\n });\n }\n\n onOtpChange(value: string) {\n this.otpForm.get('otpValue')?.setValue(value);\n }\n\n submitData() {\n if (this.otpForm.valid) {\n this.buttonClick.emit(this.otpForm.get('otpValue')?.value);\n }\n }\n\n resendOtp() {\n this.resend.emit();\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}\n\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">{{headlingText}}</h3>\n <div class=\"otpWrapper\"> \n <p class=\"{{paragraphClass}}\">Enter the {{length}} digit code sent to your phone number</p>\n <verben-otp-input \n [length]=\"length\" \n (otpChange)=\"onOtpChange($event)\"\n [otpClass]=\"otpClass\"\n ></verben-otp-input>\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 (buttonClick)=\"submitData()\"\n [disabled]=\"!otpForm.valid\"\n ></lib-button>\n <p class=\"resendWrapper\">\n Didn’t get a code?\n <a class=\"{{resendClass}}\" (click)=\"resendOtp()\">Resend</a>\n </p>\n \n</section>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthModule } from '../o-auth/o-auth.module';\nimport { ButtonModule } from '../button/button.module';\nimport { OtpInputComponent } from './otp-input.component';\n\n@NgModule({\n declarations: [OtpInputComponent],\n imports: [CommonModule, FormsModule,VerbenaInputModule, RouterLink,ButtonModule,OAuthModule,ReactiveFormsModule],\n exports: [OtpInputComponent]\n})\nexport class OtpInputModule {}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TwoFactorAuthOtpComponent } from './two-factor-auth-otp.component';\nimport { ButtonModule } from '../button/button.module';\nimport { OtpInputModule } from '../otp-input/otp-input.module';\nimport { RouterLink } from '@angular/router';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n\n@NgModule({\n declarations: [TwoFactorAuthOtpComponent],\n imports: [CommonModule,ButtonModule,OtpInputModule,RouterLink,ReactiveFormsModule],\n exports: [TwoFactorAuthOtpComponent]\n})\nexport class TwoFactorAuthOtpModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'verben-two-factor-auth-setup',\n templateUrl: './two-factor-auth-setup.component.html',\n styleUrl: './two-factor-auth-setup.component.css'\n})\n\nexport class TwoFactorAuthSetupComponent {\n @Input() customClass: string = ''\n @Input() headlingClass: string = ''\n @Input() headlingText: string = 'Set Up Two Factor Authentication'\n @Input() paragraphClass: string = ''\n @Input() buttonClass: string = ''\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n @Input() margin: string = '';\n @Input() pd: 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 = '';\n\n @Output() smsClick = new EventEmitter();\n @Output() mailClick = new EventEmitter();\n @Output() skipClick = new EventEmitter();\n\n \n continueWithSMS(){ \n this.smsClick.emit()\n }\n continueWithMail(){ \n this.mailClick.emit()\n }\n handleSkip(){ \n this.skipClick.emit()\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}\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">{{headlingText}}</h3>\n <div class=\"setUpBtnWrapper\">\n <verbena-button\n svg=\"2fa-mail\"\n [svgHeight]=\"16\"\n [svgWidth]=\"20\"\n text=\"Continue with Mail\"\n bgColor=\"white\"\n textColor=\"#333333\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333]\"\n (click)=\"continueWithMail()\"\n ></verbena-button>\n <verbena-button\n svg=\"2fa-sms\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with SMS\"\n bgColor=\"white\"\n textColor=\"#333333\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n (click)=\"continueWithSMS()\"\n ></verbena-button>\n <div class=\"iconWrapper\" (click)=\"handleSkip()\"> \n <p class=\"{{paragraphClass}}\">Skip for now</p>\n <verben-svg \n icon=\"skip-forward\"\n [height]=\"24\"\n [width]=\"24\"\n />\n </div>\n</div>\n</section>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TwoFactorAuthSetupComponent } from './two-factor-auth-setup.component';\nimport { SvgModule, VerbenaButtonModule } from 'verben-ng-ui';\n\n@NgModule({\n declarations: [TwoFactorAuthSetupComponent],\n imports: [CommonModule,VerbenaButtonModule,SvgModule],\n exports: [TwoFactorAuthSetupComponent]\n})\nexport class TwoFactorAuthSetupModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n\n@Component({\n selector: 'verben-mail-message',\n templateUrl: './mail.component.html',\n styleUrl: './mail.component.css'\n})\n\n\nexport class MailComponent {\n @Input() customClass: string = ''\n @Input() headlingClass: string = ''\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n @Input() margin: string = '';\n @Input() pd: 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\n @Output() buttonClick = new EventEmitter();\n\n goToLogin(){ \n this.buttonClick.emit()\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}\n\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">Your e-mail has been verified!</h3>\n <lib-button \n text=\"Login\" \n buttonClass=\"\"\n (click)=\"goToLogin()\"\n ></lib-button> \n</section>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink} from '@angular/router';\nimport { ButtonModule } from '../button/button.module';\nimport { MailComponent } from './mail.component';\n\n@NgModule({\n declarations: [MailComponent],\n imports: [CommonModule, FormsModule,RouterLink,ButtonModule],\n exports: [MailComponent]\n})\nexport class MailModule {}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { ForgotPasswordData } from './ForgotPasswordData';\n\n@Component({\n selector: 'verben-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrl: './forgot-password.component.css',\n})\nexport class ForgotPasswordComponent {\n @Input() title: string = 'Forgot Password';\n @Input() subTitle: string = 'Enter the e-mail you used during registration';\n @Input() buttonCaption: string = 'Submit';\n @Input() buttonTextColor?: string;\n @Input() buttonBackgroundColor?: string;\n\n @Output() onSubmit: EventEmitter<ForgotPasswordData> = new EventEmitter();\n\n forgotPasswordForm: FormGroup;\n\n constructor(private fb: FormBuilder) {\n this.forgotPasswordForm = this.fb.group({\n Email: new FormControl<string | null>(null, [\n Validators.required,\n this.emailValidator.bind(this),\n ]),\n });\n }\n\n isValidEmail(mail: string): boolean {\n const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n return emailPattern.test(mail);\n }\n\n emailValidator(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (this.isValidEmail(value) == false) {\n return { customValidation: true };\n }\n\n return null;\n }\n\n checkForm(): boolean {\n return this.forgotPasswordForm.valid;\n }\n\n submit() {\n if (!this.checkForm()) {\n return;\n }\n var data: ForgotPasswordData = {\n Email: this.forgotPasswordForm.controls['Email'].value,\n };\n this.onSubmit.emit(data);\n }\n}\n","<div [formGroup]=\"this.forgotPasswordForm\" class=\"reset-password-container flex flex-col\">\n <div class=\"reset-password-header flex flex-col\">\n <div class=\"reset-password-title\">{{title}}</div>\n <div class=\"reset-password-subtitle\">{{subTitle}}</div>\n </div>\n <div class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">Email</div>\n <verbena-input bgColor=\"white\" borderRadius=\"12px\" formControlName=\"Email\" type=\"email\"></verbena-input>\n </div>\n <verbena-button fontWeight=\"700\" (click)=\"submit()\" [text]=\"buttonCaption\" width=\"100%\" [textColor]=\"buttonTextColor\"\n [bgColor]=\"buttonBackgroundColor\" borderRadius=\"25px\" [disable]=\"!this.checkForm()\"></verbena-button>\n\n</div>\n","import { NgModule } from '@angular/core';\nimport { ForgotPasswordComponent } from './forgot-password.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [ForgotPasswordComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n ],\n exports: [ForgotPasswordComponent],\n})\nexport class ForgotPasswordModule {}\n","\nimport { ColumnDefinition } from 'verben-ng-ui';\nimport { SingleSignOn } from '../../models/single-sign-on';\n\nexport const columns: ColumnDefinition<SingleSignOn>[] = [\n {\n id: 'createdAt',\n header: 'Created',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'name',\n header: 'Name',\n accessorKey: 'Name',\n },\n {\n id: 'description',\n header: 'Description',\n accessorKey: 'Description',\n },\n {\n id: 'link',\n header: 'Link',\n accessorKey: 'Link',\n },\n {\n id: 'logo',\n header: 'Logo',\n accessorKey: 'Logo',\n },\n { id: 'actions', header: 'Actions', accessorKey: 'Name' },\n];\n","import { ObjectState } from '../../models/object-state';\nimport { SingleSignOn } from '../../models/single-sign-on';\n\nexport const mockData: SingleSignOn[] = new Array(10).fill(1).map((id, i) => ({\n Name: `Name ${id + i}`,\n Id: id,\n id: id.toString(),\n Description: `Sign in option ${id+i}`,\n Logo: `./assets/images/test-logo.png`,\n Link: `Link ${id+i}`,\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant ${id + i}`,\n}));\n","export const baseStyle: any = {\n width: '100%',\n fontFamily: '\"Fraunces\", serif',\n fontSize: '125%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid #D4A007',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: '#FDFDFD',\n },\n odd: {\n backgroundColor: '#F1F4FB',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n stickyTop: true,\n zIndex: 2,\n backgroundColor: '#EFF2FB',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '40px',\n },\n footer: {\n stickyBottom: true,\n zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: '#fff',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n // firstColumn: {\n // stickyLeft: true,\n // zIndex: 1,\n // },\n lastColumn: {\n stickyRight: true,\n zIndex: 1,\n },\n};\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\n\n\n@Component({\n selector: 'lib-sso-form',\n templateUrl: './sso-form.component.html',\n styleUrl: './sso-form.component.css',\n})\nexport class SsoFormComponent {\n isUploading: boolean = false;\n uploadedFileName: string | null = null;\n fileUploadError: string | null = null;\n @Input() currentData:CardData|null=null\n @Output() switchView = new EventEmitter<undefined>();\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n Description: [''],\n Name: [''],\n Link: [''],\n Logo: [''],\n });\n }\n\n ngOnInit(): void {}\n\n onSave(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n }\n }\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n onFileSelected(event: Event) {\n const input = event.target as HTMLInputElement;\n if (input.files && input.files.length > 0) {\n const file = input.files[0];\n this.fileUploadError = null;\n if (!file) {\n this.isUploading = true;\n }\n if (file.size > 5000000) {\n this.fileUploadError = 'File size exceeds 5MB limit.';\n this.uploadedFileName = null;\n this.isUploading = false; // Reset isUploading state\n } else {\n this.uploadedFileName = file.name;\n }\n } else {\n this.isUploading = false;\n }\n }\n\n removeFile() {\n this.uploadedFileName = null;\n this.fileUploadError = null;\n const fileInput = document.getElementById('attachment') as HTMLInputElement;\n if (fileInput) {\n fileInput.value = '';\n }\n }\n\n}\n","<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative\"\n>\n <verbena-input\n name=\"Name\"\n label=\"Name:\"\n formControlName=\"Name\"\n [(ngModel)]=\"currentData?.data.Name\"\n />\n <verbena-input\n label=\"Description:\"\n name=\"Description\"\n formControlName=\"Description\"\n [(ngModel)]=\"currentData?.data.Description\"\n />\n <verbena-input\n label=\"Link:\"\n name=\"Link\"\n formControlName=\"Link\"\n [(ngModel)]=\"currentData?.data.Link\"\n/>\n<span class=\"block my-2 \">Logo</span>\n<label [style.background-color]=\"'#f9f9f9'\" class=\"border cursor-pointer border-secondary-200 rounded-md w-full px-4 py-2 flex justify-between\">\n <span *ngIf=\"!uploadedFileName\">{{isUploading?\"uploading...\":\"Upload a photo\"}}</span>\n <span *ngIf=\"fileUploadError\" class=\"error\">{{ fileUploadError }}</span>\n <div *ngIf=\"uploadedFileName\" class=\"flex items-center text-sm gap-2 border border-primary rounded-lg px-3 \">\n <span>{{ uploadedFileName }}</span>\n <button\n [style.color]=\"'black'\"\n type=\"button\"\n (click)=\"removeFile()\"\n >\n &#x2715;\n </button>\n </div>\n <input\n id=\"logo\"\n[type]=\"'file'\"\n label=\"Logo:\"\n name=\"Logo\"\n accept=\"image/png\"\n formControlName=\"Logo\"\n (change)=\"onFileSelected($event)\"\n formControlName=\"Logo\"\n/>\n<span class=\"flex gap-2\">\n<span class=\"bg-primary flex icon-container rounded-md justify-center items-center\">\n <img src=\"./assets/icons/cam.png\" class=\"icon-width\"/>\n</span>\n<span class=\"bg-primary flex icon-container rounded-md justify-center items-center\">\n <img src=\"./assets/icons/file.png\" class=\"icon-width2\"/>\n</span>\n</span>\n</label>\n\n <!-- buttons -->\n <div\n class=\"flex justify-between bottom-8 left-0 right-0 px-3 pb-2 absolute\"\n style=\"\n display: flex;\n justify-content: space-between;\n position: absolute;\n padding: 8px 12px;\n right: 0;\n left: 0;\n bottom: 32;\n \"\n >\n <!-- <verbena-button\n text=\"Delete\"\n class=\"bg-secondary-200 text-[black]\"\n (click)=\"onDelete()\"\n />\n <verbena-button\n text=\"Save\"\n class=\"bg-primary text-[black]\"\n (click)=\"onSave()\"\n />\n\n <verbena-button\n text=\"Secondary Button\"\n styleType=\"secondary\"\n ></verbena-button> -->\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n [bgColor]=\"'#999999'\"\n [textColor]=\"'#404040'\"\n borderRadius=\"10px\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n text=\"Save\"\n bgColor=\"#28a745\"\n textColor=\"#404040\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n [bgColor]=\"'#FFE681'\"\n width=\"114px\"\n height=\"39px\"\n ></verbena-button>\n </div>\n</form>\n","import { Component, ViewChild } from '@angular/core';\nimport { columns } from './sso.columns';\nimport { mockData } from './helper';\nimport { baseStyle } from './base-table-style';\nimport {\n CardData,\n CardDataViewComponent,\n DataFilterType,\n DataViewComponent,\n IDataFilter,\n} from 'verben-ng-ui';\nimport { SingleSignOn } from '../../models/single-sign-on';\n\n\n\n@Component({\n selector: 'lib-sso',\n templateUrl: './sso.component.html',\n styleUrl: './sso.component.css',\n})\nexport class SsoComponent {\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n\n columns = columns;\n data = mockData;\n styles = baseStyle;\n currentData: CardData | null = null;\n isGridView = true;\n selected: CardData | null = null;\n\n cardData: CardData[] = mockData.map(({ Name, Description, Link,Logo }) => ({\n selected: false,\n title: Name,\n data: { Name, Description,Link,Logo } as Partial<SingleSignOn>,\n body: [\n { title: 'Description', value:Description??'' },\n ],\n children: [],\n }));\n\n openDetailView(name: string) {\n const cardItem = this.getCardDataByMailAddress(name);\n if (cardItem && this.cardDataView) {\n this.dataView.toggleView();\n this.cardData.forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n\n cardItem.selected = true;\n this.currentData = this.cardDataView.onItemClick(cardItem);\n }\n }\n\n getCardDataByMailAddress(name: string): CardData | undefined {\n return this.cardData.find(({ data }) => data.Name === name);\n }\n\n onViewChange(isGridView: boolean): void {\n isGridView=isGridView\n \n if (this.currentData) {\n this.cardDataView?.clearData();\n this.currentData = null;\n }\n\n if (this.selected) {\n this.cardDataView.onItemClick(this.selected);\n }\n }\n\n openFormView(index: number) {\n const item = this.cardData[index];\n console.log('ITEM = ', item);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n /**\n *\n * @param data Simple csv export for testing\n */\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n onSelectionChange(selectedRows:SingleSignOn[]) {\n console.log('Selection changed:', selectedRows);\n // Handle the selection change\n }\n\n /**\n * Copied over from card view doc until I understand usage\n */\n selectedColumnCount: number = 0;\n selectedFilterTableCount: number = 0;\n isOPen: boolean = true;\n selectedSortCount: number = 0;\n showColumn: boolean = false;\n showSort: boolean = false;\n selectedAll: boolean = false;\n visibleColumns: IDataFilter[] = columns.map((col) => ({\n checked: false,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n filterArray: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Description',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Logo',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Link',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n sortOptions: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Description',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Link',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Logo',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n clearData() {\n this.currentData = {} as CardData;\n }\n loadMore() {\n this.cardData = this.cardData.concat(this.cardData);\n }\n onColumnChange(event: boolean) {\n this.showColumn = event;\n }\n onSortChange(event: boolean) {\n this.showSort = event;\n console.log(event);\n }\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n this.onColumnChange(false);\n console.log(updatedColumns )\n this.selectedColumnCount = updatedColumns.length;\n }\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.onSortChange(false);\n this.selectedSortCount = updatedSorts.length;\n console.log(updatedSorts);\n }\n\n onStateChange(event: { key: string; value: boolean }): void {\n console.log(`State changed for ${event.key}:`, event.value);\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n [cardIcon]=\"'list-view'\"\n [tableIcon]=\"'table-view'\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"logo\">\n <ng-template #cell let-value>\n <img class=\"w-10\" [src]=\"value\"/>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow let-rowIndex>\n <div class=\"flex space-x-8\" style=\"display: flex; gap: 24px\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n stroke=\"#3479E9\"\n fill=\"white\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n stroke=\"#E20000\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"Link\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Link\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <verben-svg\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"vlcd.showChildren(item)\"\n [ngClass]=\"vlcd.showToggle(item) ? 'visible' : 'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\"\n [icon]=\"item.isChildrenExpanded ? 'minus' : 'plus'\"\n />\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex\">\n <span class=\"font-bold text-sm\">{{ item.data.Name }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"flex items-center justify-between gap-2\">\n <div>\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black text-xs font-semibold\">{{ item.data.Description }}</span>\n </div>\n <img class=\"logo-width\" [alt]=\"ciItem.title\" [src]=\"item.data.Logo\"/>\n </div>\n }\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-sso-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n ></lib-sso-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n DataViewModule,\n TableFilterModule,\n SortTableModule,\n DataExportModule,\n VisibleColumnModule,\n VerbenaButtonModule,\n CardDataViewModule,\n SvgModule,\n VerbenaInputModule,\n DataTableModule,\n VerbenaTextareaModule,\n} from 'verben-ng-ui';\nimport { SsoComponent } from './sso.component';\nimport { SsoFormComponent } from './sso-form/sso-form.component';\n@NgModule({\n declarations: [SsoComponent,SsoFormComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DataViewModule,\n TableFilterModule,\n SortTableModule,\n DataExportModule,\n VisibleColumnModule,\n VerbenaButtonModule,\n CardDataViewModule,\n VerbenaInputModule,\n SvgModule,\n VerbenaTextareaModule,\n DataTableModule,\n ],\n exports: [SsoComponent],\n})\nexport class SsoModule {}\n","import { ColumnDefinition } from 'verben-ng-ui';\nimport { UserAccessRequest } from '../../models/user-access-request';\n\nexport const columns: ColumnDefinition<UserAccessRequest>[] = [\n {\n id: 'createdAt',\n header: 'Created',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'user',\n header: 'Name',\n accessorKey: 'Name',\n },\n {\n id: 'mail',\n header: 'E-Mail',\n accessorKey: 'MailAddress',\n },\n {\n id: 'phone',\n header: 'Phone Number',\n accessorKey: 'PhoneNumber',\n },\n { id: 'actions', header: 'Actions', accessorKey: 'MailAddress' },\n];\n","export enum UserAccessRequestStatus {\n Pending,\n Approved,\n Declined,\n}\n","import { ObjectState } from '../../models/object-state';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport { UserAccessRequestStatus } from '../../models/user-access-request-status';\n\nexport const roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n];\n\nexport const mockData: UserAccessRequest[] = new Array(10)\n .fill(1)\n .map((id, i) => ({\n Name: `User ${id + i}`,\n Id: id + i,\n id: (id + i).toString(),\n MailAddress: `user${id + i}@mail.com`,\n PhoneNumber: `+23480000000${id + i}`,\n Status: randomEnum(UserAccessRequestStatus),\n RoleID: roles[Math.floor(Math.random() * roles.length)].id,\n Password: '1234567',\n ExpireOn: new Date(),\n IsSeeded: false,\n OTPExpireOn: new Date(),\n Tenants: [],\n\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant${id + i}`,\n }));\n\nfunction randomEnum<T extends object>(anEnum: T): T[keyof T] {\n const enumValues = Object.values(anEnum) as unknown as T[keyof T][];\n const randomIndex = Math.floor(Math.random() * enumValues.length);\n return enumValues[randomIndex];\n}\n","export const baseStyle: any = {\n width: '100%',\n fontFamily: '\"Fraunces\", serif',\n fontSize: '125%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid #D4A007',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: '#FDFDFD',\n },\n odd: {\n backgroundColor: '#F1F4FB',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n // stickyTop: true,\n // zIndex: 2,\n backgroundColor: '#EFF2FB',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '40px',\n },\n footer: {\n // stickyBottom: true,\n // zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: '#fff',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n // firstColumn: {\n // stickyLeft: true,\n // zIndex: 1,\n // },\n lastColumn: {\n // stickyRight: true,\n // zIndex: 1,\n },\n};\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport { UserAccessRequestStatus } from '../../models/user-access-request-status';\nimport { ObjectState } from '../../models/object-state';\n\nexport interface ServiceConfig {\n resourceEndpoint: string;\n}\n\nexport const SERVICE_CONFIG = new InjectionToken<ServiceConfig>(\n 'ServiceConfig'\n);\n\n@Injectable()\nexport class UserRequestApprovalService {\n // protected readonly baseUrl: string;\n protected readonly resourceEndpoint: string;\n roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n ];\n\n constructor() // @Inject(SERVICE_CONFIG) config: ServiceConfig // protected httpClient: HttpClient,\n {\n // this.baseUrl = environment.serviceUrl;\n // this.resourceEndpoint = config.resourceEndpoint;\n this.resourceEndpoint = '';\n }\n\n getMockUserRequests(): UserAccessRequest[] {\n return new Array(10).fill(1).map((id, i) => ({\n Name: `User ${id + i}`,\n Id: id + i,\n id: (id + i).toString(),\n MailAddress: `user${id + i}@mail.com`,\n PhoneNumber: `+23480000000${id + i}`,\n Status: randomEnum(UserAccessRequestStatus),\n RoleID: this.roles[Math.floor(Math.random() * this.roles.length)].id,\n Password: '1234567',\n ExpireOn: new Date(),\n IsSeeded: false,\n OTPExpireOn: new Date(),\n Tenants: [],\n\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant${id + i}`,\n }));\n }\n\n // getUserRequests() {\n // return this.httpClient.get<UserAccessRequest[]>(`${this.resourceEndpoint}`);\n // }\n\n // getUserRequestById(id: number) {\n // return this.httpClient.get<UserAccessRequest>(\n // `${this.resourceEndpoint}/${id}`\n // );\n // }\n\n // processUserReuqests(ids: string[], approval: boolean = true) {\n // return this.httpClient.post<UserAccessRequest[]>(\n // `${this.resourceEndpoint}`,\n // ids\n // );\n // }\n}\n\nfunction randomEnum<T extends object>(anEnum: T): T[keyof T] {\n const enumValues = Object.values(anEnum) as unknown as T[keyof T][];\n const randomIndex = Math.floor(Math.random() * enumValues.length);\n return enumValues[randomIndex];\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\nimport { roles } from '../helper';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-form',\n templateUrl: './user-request-form.component.html',\n styleUrl: './user-request-form.component.css',\n})\nexport class UserRequestFormComponent {\n @Input() set currentData(value: CardData | null) {\n if (value?.data) {\n this.form.patchValue({\n MailAddress: value.data.MailAddress || '',\n Name: value.data.Name || '',\n PhoneNumber: value.data.PhoneNumber || '',\n });\n } else {\n this.form.reset();\n }\n }\n @Output() switchView = new EventEmitter<undefined>();\n\n form: FormGroup;\n\n roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n ];\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n MailAddress: ['', { readonly: true }],\n Name: ['', { readonly: true }],\n PhoneNumber: ['', { readonly: true }],\n RoleId: [''],\n });\n }\n\n ngOnInit(): void {}\n\n onSave(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n }\n }\n\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n}\n","<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n />\n <verbena-input label=\"Name:\" name=\"Name\" type=\"text\" formControlName=\"Name\" />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div\n class=\"flex justify-between bottom-8 left-0 right-0 px-3 pb-2 absolute\"\n style=\"\n display: flex;\n justify-content: space-between;\n position: absolute;\n padding: 8px 12px;\n right: 0;\n left: 0;\n bottom: 32;\n \"\n >\n <!-- <verbena-button\n text=\"Delete\"\n class=\"bg-secondary-200 text-[black]\"\n (click)=\"onDelete()\"\n />\n <verbena-button\n text=\"Save\"\n class=\"bg-primary text-[black]\"\n (click)=\"onSave()\"\n />\n\n <verbena-button\n text=\"Secondary Button\"\n styleType=\"secondary\"\n ></verbena-button> -->\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n ></verbena-button>\n </div>\n</form>\n","import { Component, Input } from '@angular/core';\nimport { UserAccessRequestStatus } from '../../../models/user-access-request-status';\n\n@Component({\n selector: 'lib-user-access-request-status-badge',\n templateUrl: './user-access-request-status-badge.component.html',\n styleUrl: './user-access-request-status-badge.component.css',\n})\nexport class UserAccessRequestStatusBadgeComponent {\n @Input() status: UserAccessRequestStatus = UserAccessRequestStatus.Pending;\n\n badgeConfig() {\n switch (this.status) {\n case UserAccessRequestStatus.Approved:\n return { bgColor: '#CAE1CC', textColor: '#4ABB54', label: 'Approved' };\n case UserAccessRequestStatus.Declined:\n return { bgColor: '#FFDFDF', textColor: '#EB5757', label: 'Rejected' };\n default:\n return { bgColor: '#827C7C', textColor: '#C3C3C3', label: 'Pending' };\n }\n }\n}\n","<verbena-badge\n borderRadius=\"9px\"\n [bgColor]=\"badgeConfig().bgColor\"\n [textColor]=\"badgeConfig().textColor\"\n [text]=\"badgeConfig().label\"\n></verbena-badge>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit,\n signal,\n ViewChild,\n WritableSignal,\n} from '@angular/core';\nimport { columns } from './access-request.columns';\nimport { mockData } from './helper';\nimport { baseStyle } from './base-table-style';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport {\n CardData,\n CardDataViewComponent,\n ColumnDefinition,\n DataFilterType,\n DataViewComponent,\n IDataFilter,\n} from 'verben-ng-ui';\nimport { UserRequestApprovalService } from './user-request-approval.service';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-approval',\n templateUrl: './user-request-approval.component.html',\n styleUrl: './user-request-approval.component.css',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class UserRequestApprovalComponent implements OnInit {\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n\n columns: ColumnDefinition<UserAccessRequest>[] = [\n {\n id: 'createdAt',\n header: 'Created',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'user',\n header: 'Name',\n accessorKey: 'Name',\n },\n {\n id: 'mail',\n header: 'E-Mail',\n accessorKey: 'MailAddress',\n },\n {\n id: 'phone',\n header: 'Phone Number',\n accessorKey: 'PhoneNumber',\n },\n { id: 'actions', header: 'Actions', accessorKey: 'MailAddress' },\n ];\n // visibleColumnDef: WritableSignal<ColumnDefinition<UserAccessRequest>[]> =\n // signal(columns);\n visibleColumnDef = this.columns;\n data: UserAccessRequest[] = [];\n styles = baseStyle;\n currentData: CardData | null = null;\n isGridView = true;\n selected: CardData | null = null;\n\n cardData: CardData[] = mockData.map(\n ({ Name, MailAddress, PhoneNumber, RoleID, Status }) => ({\n selected: false,\n title: Name,\n data: {\n Name,\n MailAddress,\n PhoneNumber,\n RoleID,\n Status,\n } as Partial<UserAccessRequest>,\n body: [\n { title: 'Name', value: Name },\n { title: 'E-Mail Address', value: MailAddress },\n { title: 'Phone Number', value: PhoneNumber ?? '' },\n ],\n children: [],\n })\n );\n\n constructor(\n private cdr: ChangeDetectorRef,\n private service: UserRequestApprovalService\n ) {}\n\n ngOnInit(): void {\n this.data = this.service.getMockUserRequests();\n }\n\n openDetailView(mailAddress: string) {\n const cardItem = this.getCardDataByMailAddress(mailAddress);\n if (cardItem && this.cardDataView) {\n this.dataView.toggleView();\n // First reset all selections\n this.cardData.forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n\n // Set the selected item\n cardItem.selected = true;\n this.currentData = this.cardDataView.onItemClick(cardItem);\n\n // Force change detection if needed\n // this.changeDetectorRef.detectChanges();\n }\n }\n\n getCardDataByMailAddress(mailAddress: string): CardData | undefined {\n return this.cardData.find(({ data }) => data.MailAddress === mailAddress);\n }\n\n onViewChange(isGridView: boolean): void {\n this.isGridView = isGridView;\n // Reset selection when switching views\n if (this.currentData) {\n this.cardDataView?.clearData();\n this.currentData = null;\n }\n\n console.log('SELECTED', this.selected);\n\n if (this.selected) {\n this.cardDataView.onItemClick(this.selected);\n }\n }\n\n openFormView(index: number) {\n const item = this.cardData[index];\n console.log('ITEM = ', item);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n /**\n *\n * @param data Simple csv export for testing\n */\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n onSelectionChange(selectedRows: UserAccessRequest[]) {\n console.log('Selection changed:', selectedRows);\n // Handle the selection change\n }\n\n /**\n * Copied over from card view doc until I understand usage\n */\n selectedColumnCount: number = 0;\n selectedFilterTableCount: number = 0;\n isOPen: boolean = true;\n selectedSortCount: number = 0;\n showColumn: boolean = false;\n showSort: boolean = false;\n selectedAll: boolean = false;\n visibleColumns: IDataFilter[] = columns.map((col) => ({\n checked: true,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n filterArray: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'MailAddress',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'PhoneNumber',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n\n sortOptions: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'MailAddress',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'PhoneNumber',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n clearData() {\n this.currentData = {} as CardData;\n }\n loadMore() {\n this.cardData = this.cardData.concat(this.cardData);\n }\n onColumnChange(event: boolean) {\n this.showColumn = event;\n }\n onSortChange(event: boolean) {\n this.showSort = event;\n console.log(event);\n }\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n console.log(updatedColumns);\n const updatedColumnDef: ColumnDefinition<UserAccessRequest>[] = [];\n updatedColumns.forEach((col) => {\n const matchingCol = this.columns.find(\n (column) => column.header === col.name || column.id === col.name\n );\n if (matchingCol) {\n updatedColumnDef.push(matchingCol);\n }\n });\n\n console.log(updatedColumnDef);\n this.visibleColumnDef = [...updatedColumnDef];\n this.cdr.markForCheck();\n\n this.onColumnChange(false);\n this.selectedColumnCount = updatedColumns.length;\n }\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.onSortChange(false);\n this.selectedSortCount = updatedSorts.length;\n console.log(updatedSorts);\n }\n\n onStateChange(event: { key: string; value: boolean }): void {\n console.log(`State changed for ${event.key}:`, event.value);\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow >\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <verben-svg\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"vlcd.showChildren(item)\"\n [ngClass]=\"vlcd.showToggle(item) ? 'visible' : 'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\"\n [icon]=\"item.isChildrenExpanded ? 'minus' : 'plus'\"\n />\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex items-center gap-4\">\n <div class=\"space-y-1\">\n <span class=\"font-semibold text-[#404040]\">{{\n item.title\n }}</span>\n <p class=\"flex items-center\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"space-y-1\">\n <p class=\"grid\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Role</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\"\n >Manager</span\n >\n </p>\n <lib-user-access-request-status-badge\n [status]=\"item.data.Status\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n\n <!-- <div class=\"flex\">\n <span class=\"font-normal text-sm\">{{ item.title }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"\">\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black\">{{ ciItem.value }}</span>\n </div>\n } -->\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserRequestApprovalComponent } from './user-request-approval.component';\nimport {\n CardDataViewModule,\n CardModule,\n DataExportModule,\n DataTableModule,\n DataViewModule,\n DropDownModule,\n SortTableModule,\n SvgModule,\n TableFilterModule,\n VerbenaBadgeModule,\n VerbenaButtonModule,\n VerbenaInputModule,\n VisibleColumnModule,\n} from 'verben-ng-ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { UserRequestFormComponent } from './user-request-form/use-request-form.component';\nimport { UserAccessRequestStatusBadgeComponent } from './user-access-request-status-badge/user-access-request-status-badge.component';\nimport { UserRequestApprovalService } from './user-request-approval.service';\n\n@NgModule({\n declarations: [\n UserRequestApprovalComponent,\n UserRequestFormComponent,\n UserAccessRequestStatusBadgeComponent,\n ],\n imports: [\n CommonModule,\n\n DataTableModule,\n CardModule,\n SvgModule,\n DataViewModule,\n CardDataViewModule,\n SortTableModule,\n VisibleColumnModule,\n TableFilterModule,\n DataExportModule,\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n VerbenaBadgeModule,\n DropDownModule,\n ],\n providers: [UserRequestApprovalService],\n exports: [UserRequestApprovalComponent],\n})\nexport class LibUserRequestApprovalModule {}\n","import { ColumnDefinition } from 'verben-ng-ui';\nimport { UserAccessRequest } from '../../models/user-access-request';\n\n\nexport const columns: ColumnDefinition<UserAccessRequest>[] = [\n {\n id: 'createdAt',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'user',\n header: 'NAME',\n accessorKey: 'Name',\n },\n {\n id: 'mail',\n header: 'E-Mail',\n accessorKey: 'MailAddress',\n },\n {\n id: 'phone',\n header: 'PHONE NUMBER',\n accessorKey: 'PhoneNumber',\n },\n {\n id: 'address',\n header: 'ADDRESS',\n accessorKey: 'Address',\n },\n {\n id: 'role',\n header: 'ROLE',\n accessorKey: 'Role',\n\n },\n {\n id: 'status',\n header: 'STATUS',\n accessorKey: 'Status',\n\n },\n {\n id: 'actions',\n header: 'ACTIONS',\n accessorKey: 'MailAddress'\n },\n\n];\n","import { ObjectState } from '../../models/object-state';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport { UserAccessRequestStatus } from '../../models/user-access-request-status';\n\nexport const mockData: UserAccessRequest[] = new Array(10)\n .fill(1)\n .map((id, i) => ({\n Name: `User ${id + i}`,\n Id: id + i,\n id: (id + i).toString(),\n MailAddress: `user${id + i}@mail.com`,\n PhoneNumber: `+23480000000${id + i}`,\n Status: UserAccessRequestStatus.Pending,\n Address: `AAA Block`,\n\n Password: '1234567',\n ExpireOn: new Date(),\n IsSeeded: false,\n OTPExpireOn: new Date(),\n Tenants: [],\n Role: [\"Manager\"],\n\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant${id + i}`,\n }));\n","export const baseStyle: any = {\n\n fontFamily: '\"Fraunces\", serif',\n fontSize: '80%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid #D4A007',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: '#FDFDFD',\n },\n odd: {\n backgroundColor: '#F1F4FB',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n stickyTop: true,\n zIndex: 2,\n backgroundColor: '#EFF2FB',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '40px',\n },\n footer: {\n stickyBottom: true,\n zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: '#fff',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n firstColumn: {\n stickyLeft: true,\n zIndex: 1,\n },\n lastColumn: {\n stickyRight: true,\n zIndex: 1,\n },\n};\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\n// import { roles } from '../helper';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-form',\n templateUrl: './user-management-form.component.html',\n styleUrl: './user-management-form.component.css',\n})\nexport class UserManagementFormComponent {\n @Input() set currentData(value: CardData | null) {\n if (value?.data) {\n this.form.patchValue({\n MailAddress: value.data.MailAddress || '',\n Name: value.data.Name || '',\n PhoneNumber: value.data.PhoneNumber || '',\n });\n } else {\n this.form.reset();\n }\n }\n @Output() switchView = new EventEmitter<undefined>();\n\n form: FormGroup;\n\n roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n ];\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n MailAddress: ['', { readonly: true }],\n Name: ['', { readonly: true }],\n PhoneNumber: ['', { readonly: true }],\n RoleId: [''],\n });\n }\n\n ngOnInit(): void {}\n\n onSave(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n }\n }\n\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n}\n","<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n />\n <verbena-input label=\"Name:\" name=\"Name\" type=\"text\" formControlName=\"Name\" />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div\n class=\"flex justify-between bottom-8 left-0 right-0 px-3 pb-2 absolute\"\n style=\"\n display: flex;\n justify-content: space-between;\n position: absolute;\n padding: 8px 12px;\n right: 0;\n left: 0;\n bottom: 32;\n \"\n >\n <!-- <verbena-button\n text=\"Delete\"\n class=\"bg-secondary-200 text-[black]\"\n (click)=\"onDelete()\"\n />\n <verbena-button\n text=\"Save\"\n class=\"bg-primary text-[black]\"\n (click)=\"onSave()\"\n />\n\n <verbena-button\n text=\"Secondary Button\"\n styleType=\"secondary\"\n ></verbena-button> -->\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n ></verbena-button>\n </div>\n</form>\n","import { Component, ViewChild } from '@angular/core';\nimport { columns } from './user-management.columns';\nimport { mockData } from './helper';\nimport { baseStyle } from './base-table-style';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport { CardData, DataFilterType, IDataFilter, DropdownLoadEvent, DropdownChangeEvent, CardDataViewComponent, DataViewComponent } from 'verben-ng-ui';\nimport { UserAccessRequestStatus } from '../../models/user-access-request-status';\nimport { ObjectState } from '../../models/object-state';\n\ninterface TestParentObject {\n Id: string;\n Name: string;\n}\n\n@Component({\n selector: 'lib-user-management',\n templateUrl: './user-management.component.html',\n styleUrls: ['./user-management.component.css']\n})\nexport class UserManagementComponent {\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n\n\n columns = columns;\n data = mockData;\n styles = baseStyle;\n\n selectedParent?: string;\n basicOption?: string;\n selectedOption: string[] = [];\n selectedOptionTwo: string[] = [];\n selectedOptionThree?: string;\n missingObject: any;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n private generateNewUserAccessRequest(): UserAccessRequest {\n const newId = this.data.length + 1; // Incremental ID based on current data length\n\n return {\n Name: `User ${newId}`,\n Id: `${newId}`,\n id: newId,\n MailAddress: ` `,\n PhoneNumber: ``,\n Status: UserAccessRequestStatus.Pending,\n Address: ` `,\n Password: ' ',\n ExpireOn: new Date(),\n IsSeeded: false,\n OTPExpireOn: new Date(),\n Tenants: [`Tenant${newId}`],\n Role: [\"User\"],\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant${newId}`\n };\n }\n\n // Function to add a new user to mockData\n addNewUserToMockData(): UserAccessRequest {\n const newUser = this.generateNewUserAccessRequest();\n this.data.push(newUser); // Adds the new user to the data array\n\n // Optionally, update cardData with the new user entry for card display\n const newCardData: CardData = {\n selected: false,\n title: newUser.Name,\n data: {\n Name: newUser.Name,\n MailAddress: newUser.MailAddress,\n PhoneNumber: newUser.PhoneNumber,\n RoleID: newUser.Role,\n Status: newUser.Status,\n } as Partial<UserAccessRequest>,\n body: [\n { title: 'Name', value: newUser.Name },\n { title: 'E-Mail Address', value: newUser.MailAddress },\n { title: 'Phone Number', value: newUser.PhoneNumber ?? '' },\n ],\n children: [],\n };\n\n this.cardData.push(newCardData); // Update cardData array with the new user\n return newUser;\n }\n\n\n\n\n\n\n\n\n\n\n\n\n // Grid view properties\n isGridView: boolean = true;\n currentData!: CardData;\n selectedColumnCount: number = 0;\n selectedFilterTableCount: number = 0;\n isOPen: boolean = true;\n selectedSortCount: number = 0;\n showColumn: boolean = false;\n showSort: boolean = false;\n selectedAll: boolean = false;\n visibleColumns: IDataFilter[] = columns.map((col) => ({\n checked: false,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n\n\n\n\n\n\n\n\n\n\n\n filterArray: IDataFilter[] = [\n { name: 'Name', type: DataFilterType.String, checked: false },\n { name: 'MailAddress', type: DataFilterType.String, checked: false },\n { name: 'PhoneNumber', type: DataFilterType.String, checked: false },\n { name: 'CreatedAt', type: DataFilterType.Date, checked: false },\n ];\n\n sortOptions: IDataFilter[] = [\n { name: 'Name', type: DataFilterType.String, checked: false },\n { name: 'MailAddress', type: DataFilterType.String, checked: false },\n { name: 'PhoneNumber', type: DataFilterType.String, checked: false },\n { name: 'CreatedAt', type: DataFilterType.Date, checked: false },\n ];\n\n testParents: TestParentObject[] = [\n { Id: '1', Name: 'Manager' },\n { Id: '2', Name: 'Administrator' },\n { Id: '3', Name: 'Jelom' },\n ];\n\n\n\n\n\n\n\n\n\n\n cardData: CardData[] = mockData.map(\n ({ Name, MailAddress, PhoneNumber, RoleID, Status }) => ({\n selected: false,\n title: Name,\n data: {\n Name,\n MailAddress,\n PhoneNumber,\n RoleID,\n Status,\n } as Partial<UserAccessRequest>,\n body: [\n { title: 'Name', value: Name },\n { title: 'E-Mail Address', value: MailAddress },\n { title: 'Phone Number', value: PhoneNumber ?? '' },\n ],\n children: [],\n })\n );\n\n\n\n\n\n\n\n\n ngOnInit(): void {\n this.selectedParent = '1';\n this.selectedOption = ['Opt 1'];\n this.selectedOptionTwo = ['1'];\n this.selectedOptionThree = '1';\n }\n\n getParentLabel(context: any): string {\n console.log({ MissingObj: this.missingObject });\n return this.missingObject.Name;\n }\n\n async loadMoreParents(event: DropdownLoadEvent): Promise<TestParentObject[]> {\n console.log({ ParentLoadEvent: JSON.parse(JSON.stringify(event)) });\n return await new Promise((resolve) =>\n setTimeout(\n () =>\n resolve([\n { Id: '1', Name: 'Jimly' },\n { Id: '2', Name: 'Jecil' },\n { Id: '3', Name: 'Jelom' },\n { Id: '4', Name: 'Jemima' },\n { Id: '5', Name: 'Akintunde' },\n ]),\n 3000\n )\n );\n }\n\n\n\n\n\n\n\n onDropdownChange(event: DropdownChangeEvent): void {\n // console.log({\n // 'Test Parent Value': this.selectedParent,\n // ...\n // });\n }\n\n onSelectionChange(selectedRows: UserAccessRequest[]) {\n console.log('Selection changed:', selectedRows);\n // Handle the selection change\n }\n\n handleExport(exportedData: Partial<any>[]) {\n console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n\n\n\n\n\n\n\n\n\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n\n\n\n // applyFilters() {\n // this.filteredData = this.data.filter((item) => {\n // return this.filterArray.every((filter) => {\n // if (filter.checked) {\n // switch (filter.type) {\n // case DataFilterType.String:\n // return item[filter.name].toLowerCase().includes(filter.name.toLowerCase());\n // case DataFilterType.Date:\n // return new Date(item[filter.name]) >= new Date(filter.name);\n // default:\n // return true;\n // }\n // }\n // return true;\n // });\n // });\n // }\n getCardDataByMailAddress(mailAddress: string): CardData | undefined {\n console.log(\"cardData array:\", this.cardData);\n console.log(mailAddress);\n\n return this.cardData.find(({ data }) => data?.MailAddress === mailAddress);\n }\n\n openDetailView(mailAddress: string) {\n const cardItem = this.getCardDataByMailAddress(mailAddress);\n console.log(cardItem);\n\n if (cardItem && this.cardDataView) {\n this.dataView.toggleView();\n // First reset all selections\n this.cardData.forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n\n // Set the selected item\n cardItem.selected = true;\n this.currentData = this.cardDataView.onItemClick(cardItem);\n\n // Force change detection if needed\n // this.changeDetectorRef.detectChanges();\n }\n\n }\n newItem (){\n const newData = this.addNewUserToMockData();\n const newCardData: CardData = {\n selected: true,\n title: newData.Name,\n data: {\n ...newData,\n } as Partial<UserAccessRequest>,\n body: [\n { title: 'Name', value: newData.Name },\n { title: 'E-Mail Address', value: newData.MailAddress },\n { title: 'Phone Number', value: newData.PhoneNumber ?? '' },\n ],\n children: [],\n }\n\n\n if (this.dataView.isTableView) {\n this.dataView.toggleView();\n }\n // First reset all selections\n this.cardData.forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n // this.cardData = [newCardData].concat(this.cardData);\n // this.cardDataView.onItemClick(newCardData)\n\n this.cardData = [newCardData, ...this.cardData];\n\n\n\n this.currentData = this.cardDataView.onItemClick(newCardData);\n\n\n }\n\n\n\n\n\n toggleChildView(action: string) {\n if (action === 'create') {\n const newCard: CardData = {\n selected: false,\n title: 'New Card', // Default title, change as needed\n data: { Name: '', MailAddress: '', PhoneNumber: '' },\n body: [\n { title: 'Name', value: '' },\n { title: 'E-Mail Address', value: '' },\n { title: 'Phone Number', value: '' }\n ],\n children: []\n };\n\n this.cardData.push(newCard);\n }\n }\n\n\n\n\n\n\n clearData() {\n this.currentData = {} as CardData;\n }\n\n loadMore() {\n this.cardData = this.cardData.concat(this.cardData);\n }\n\n onColumnChange(event: boolean) {\n this.showColumn = event;\n }\n\n onSortChange(event: boolean) {\n this.showSort = event;\n console.log(event);\n }\n\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n this.onColumnChange(false);\n this.selectedColumnCount = updatedColumns.length;\n }\n\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.onSortChange(false);\n this.selectedSortCount = updatedSorts.length;\n console.log(updatedSorts);\n }\n\n onViewChange(isGridView: boolean): void {\n console.log('View changed to:', isGridView ? 'Grid View' : 'List View');\n }\n\n onStateChange(event: { key: string; value: boolean }): void {\n console.log(`State changed for ${event.key}:`, event.value);\n if( event.key === \"create\"){\n console.log('peace is a boy');\n\n this.newItem();\n\n // const newUser = this.newItem()\n\n // if ( newUser && this.cardDataView) {\n // this.dataView.toggleView();\n // // First reset all selections\n // this.cardData.forEach((item) => {\n // item.selected = false;\n // if (item.children) {\n // item.children.forEach((child) => (child.selected = false));\n // }\n // });\n\n\n // this.currentData = this.cardDataView.onItemClick(newUser);\n\n // // Force change detection if needed\n // // this.changeDetectorRef.detectChanges();\n // }\n\n\n\n }\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow >\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template\n #cell\n let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\"\n let-deleteRow=\"deleteRow\"\n let-value=\"value\"\n >\n <verbena-badge\n borderRadius=\"20px\"\n width=\"121px\"\n text=\"{{value}}\"\n bgColor=\"#D6F3E6\"\n textColor=\"#2DB76F\"\n pd=\"5px 15px\"\n fontSize=\"16px\"\n >\n\n\n </verbena-badge>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"role\">\n <ng-template\n #cell\n let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\"\n let-deleteRow=\"deleteRow\"\n let-value=\"value\"\n let-updateValue=\"updateValue\"\n >\n <!-- <verben-drop-down [minChar]=\"3\" [required]=\"true\" placeholder=\"Select Parent\"\n [asyncLabel]=\"this.getParentLabel.bind(this)\" invalidMessage=\"No value was provided\"\n width=\"120px\"\n (onChange)=\"onDropdownChange($event)\" [(ngModel)]=\"selectedParent\" optionLabel=\"Name\" optionValue=\"Id\"\n [options]=\"testParents\"></verben-drop-down> -->\n\n <verben-drop-down\n placeholder=\"Select Value\"\n (ngModelChange)=\"onDropdownChange($event)\"\n [options]=\"testParents\"\n optionLabel=\"Name\"\n optionValue=\"Name\"\n [ngModel]=\"value\"\n ></verben-drop-down>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <verben-svg\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"vlcd.showChildren(item)\"\n [ngClass]=\"vlcd.showToggle(item) ? 'visible' : 'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\"\n [icon]=\"item.isChildrenExpanded ? 'minus' : 'plus'\"\n />\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex items-center gap-4\">\n <div class=\"space-y-1\">\n <span class=\"font-semibold text-[#404040]\">{{\n item.title\n }}</span>\n <p class=\"flex items-center\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"space-y-1\">\n <p class=\"grid\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Role</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\"\n >Manager</span\n >\n </p>\n <!-- <lib-user-access-request-status-badge\n [status]=\"item.data.Status\"\n ></lib-user-access-request-status-badge> -->\n </div>\n </div>\n\n <!-- <div class=\"flex\">\n <span class=\"font-normal text-sm\">{{ item.title }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"\">\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black\">{{ ciItem.value }}</span>\n </div>\n } -->\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n</div>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserManagementComponent } from './user-management.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport {\n CardDataViewModule,\n CardModule,\n DataExportModule,\n DataTableModule,\n DataViewModule,\n SortTableModule,\n SvgModule,\n TableFilterModule,\n VerbenaButtonModule,\n VerbenaInputModule,\n VisibleColumnModule,\n DropDownModule,\n\n VerbenaBadgeModule\n} from 'verben-ng-ui';\nimport { UserManagementFormComponent } from './user-management-form/use-management-form.component';\n\n@NgModule({\n declarations: [UserManagementComponent, UserManagementFormComponent],\n imports: [\n CommonModule,\n\n DataTableModule,\n CardModule,\n SvgModule,\n DataViewModule,\n CardDataViewModule,\n SortTableModule,\n VisibleColumnModule,\n TableFilterModule,\n DataExportModule,\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n VerbenaBadgeModule,\n DropDownModule\n ],\n exports: [UserManagementComponent],\n})\nexport class LibUserManagementModule {}\n","/*\n * Public API Surface of verben-ng-ui\n */\n\n// export * from './lib/verben-ng-ui.service';\n// export * from './lib/verben-ng-ui.component';\n\n// Exporting modules\n\nexport * from './lib/components/reset-password/reset-password.component';\nexport * from './lib/components/reset-password/reset-password.module';\nexport * from './lib/components/reset-password/ResetPasswordData';\n//user-request-lib\nexport * from './lib/components/user-request/user-request.component';\nexport * from './lib/components/user-request/user-request.module';\nexport * from './lib/models/UserRequest';\n//mail-validation\nexport * from './lib/components/mail-validation/mail-validation.component';\nexport * from './lib/components/mail-validation/mail-validation.module';\n\n//sign up\nexport * from './lib/components/sign-up/sign-up.component';\nexport * from './lib/components/sign-up/sign-up.module';\n//sign in\nexport * from './lib/components/sign-in/sign-in.module';\nexport * from './lib/components/sign-in/sign-in.component';\n//Otp\nexport * from './lib/components/two-factor-auth-otp/two-factor-auth-otp.module';\nexport * from './lib/components/two-factor-auth-otp/two-factor-auth-otp.component';\n//2FA\nexport * from './lib/components/two-factor-auth-setup/two-factor-auth-setup.module';\nexport * from './lib/components/two-factor-auth-setup/two-factor-auth-setup.component';\n//sign up\nexport * from './lib/components/mail/mail.module';\nexport * from './lib/components/mail/mail.component';\n\nexport * from './lib/components/forgot-password/forgot-password.component';\nexport * from './lib/components/forgot-password/forgot-password.module';\nexport * from './lib/components/forgot-password/ForgotPasswordData';\nexport * from './lib/components/sso/sso.component';\nexport * from './lib/components/sso/sso.module';\n\nexport * from './lib/components/user-request-approval/user-request-approval.module';\nexport * from './lib/components/user-request-approval/user-request-approval.component';\n\nexport * from './lib/components/user-management/useer-management.module';\nexport * from './lib/components/user-management/user-management.component';\nexport * from './lib/components/user-request-approval/user-request-approval.service';\nexport * from './lib/services/environment.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.EnvironmentService","i1","i2.HttpWebRequestService","i3","i4","i2","i5.ButtonComponent","i6.OAuthComponent","i5.OAuthComponent","i6.ButtonComponent","i3.ButtonComponent","i4.OtpInputComponent","i2.ButtonComponent","columns","mockData","baseStyle","i3.SsoFormComponent","randomEnum","i1.UserRequestApprovalService","i4.UserRequestFormComponent","i5.UserAccessRequestStatusBadgeComponent","i4.UserManagementFormComponent"],"mappings":"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"}
1
+ {"version":3,"file":"verben-authentication-ui.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/models/ErrorResponse.ts","../../../projects/verben-authentication-ui/src/lib/services/environment.service.ts","../../../projects/verben-authentication-ui/src/lib/services/http-web-request.service.ts","../../../projects/verben-authentication-ui/src/lib/services/util.service.ts","../../../projects/verben-authentication-ui/src/lib/components/reset-password/reset-password.component.ts","../../../projects/verben-authentication-ui/src/lib/components/reset-password/reset-password.component.html","../../../projects/verben-authentication-ui/src/lib/components/reset-password/reset-password.module.ts","../../../projects/verben-authentication-ui/src/lib/models/object-state.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request/user-request.module.ts","../../../projects/verben-authentication-ui/src/lib/components/mail-validation/mail-validation.component.ts","../../../projects/verben-authentication-ui/src/lib/components/mail-validation/mail-validation.component.html","../../../projects/verben-authentication-ui/src/lib/components/mail-validation/mail-validation.module.ts","../../../projects/verben-authentication-ui/src/lib/components/button/button.component.ts","../../../projects/verben-authentication-ui/src/lib/components/button/button.component.html","../../../projects/verben-authentication-ui/src/lib/components/o-auth/o-auth.component.ts","../../../projects/verben-authentication-ui/src/lib/components/o-auth/o-auth.component.html","../../../projects/verben-authentication-ui/src/lib/components/sign-up/sign-up.component.ts","../../../projects/verben-authentication-ui/src/lib/components/sign-up/sign-up.component.html","../../../projects/verben-authentication-ui/src/lib/components/o-auth/o-auth.module.ts","../../../projects/verben-authentication-ui/src/lib/components/button/button.module.ts","../../../projects/verben-authentication-ui/src/lib/components/sign-up/sign-up.module.ts","../../../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/otp-input/otp-input.component.ts","../../../projects/verben-authentication-ui/src/lib/components/otp-input/otp-input.component.html","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html","../../../projects/verben-authentication-ui/src/lib/components/otp-input/otp-input.module.ts","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html","../../../projects/verben-authentication-ui/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts","../../../projects/verben-authentication-ui/src/lib/components/mail/mail.component.ts","../../../projects/verben-authentication-ui/src/lib/components/mail/mail.component.html","../../../projects/verben-authentication-ui/src/lib/components/mail/mail.module.ts","../../../projects/verben-authentication-ui/src/lib/components/forgot-password/forgot-password.component.ts","../../../projects/verben-authentication-ui/src/lib/components/forgot-password/forgot-password.component.html","../../../projects/verben-authentication-ui/src/lib/components/forgot-password/forgot-password.module.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/sso.columns.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/helper.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/base-table-style.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/sso-form/sso-form.component.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/sso-form/sso-form.component.html","../../../projects/verben-authentication-ui/src/lib/components/sso/sso.component.ts","../../../projects/verben-authentication-ui/src/lib/components/sso/sso.component.html","../../../projects/verben-authentication-ui/src/lib/components/sso/sso.module.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/access-request.columns.ts","../../../projects/verben-authentication-ui/src/lib/models/user-access-request-status.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/helper.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/base-table-style.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.service.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.module.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management.columns.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/helper.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/base-table-style.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management-form/use-management-form.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management-form/user-management-form.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-management/user-management.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-management/useer-management.module.ts","../../../projects/verben-authentication-ui/src/public-api.ts","../../../projects/verben-authentication-ui/src/verben-authentication-ui.ts"],"sourcesContent":["export class ErrorResponse {\n constructor(\n public ErrorMsg: string,\n public StatusCode?: number,\n public FullLog?: any\n ) {}\n}\n","// In your library's services/environment.service.ts\nimport { Injectable, InjectionToken, Inject } from '@angular/core';\n// import { ENVIRONMENT } from '../models/ENVIRONMENT_TOKEN';\n\nexport const ENVIRONMENT = new InjectionToken<Environment>('environment');\n\nexport interface Environment {\n production: boolean;\n AuthenticationAPI: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EnvironmentService {\n constructor(@Inject(ENVIRONMENT) private env: Environment) {}\n\n get environment(): Environment {\n return this.env;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ErrorResponse } from '../models/ErrorResponse';\nimport { EnvironmentService } from './environment.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpWebRequestService {\n isProd: boolean = false;\n\n constructor(private http: HttpClient, private envSvc: EnvironmentService) {\n this.isProd = this.envSvc.environment.production;\n }\n\n get(\n url: string,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ) {\n const URL = baseUrl + `/${url}`;\n return new Promise((resolve, reject) => {\n this.http\n .get<Array<any>>(URL, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .subscribe({\n next: (data) => resolve(data),\n error: (err) =>\n resolve(\n new ErrorResponse(\n err.error\n ? err.error.ErrorMsg\n ? err.error.ErrorMsg\n : err.error.errors\n ? (err.error.errors.values as string[]).toString()\n : ''\n : err.status + ' ' + err.statusText\n )\n ),\n });\n });\n }\n\n post(\n url: string,\n body: any,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ): Promise<any> {\n return new Promise((resolve, reject) => {\n this.http\n .post(baseUrl + '/' + url, JSON.stringify(body), {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .subscribe({\n next: (data) => resolve(data),\n error: (err) =>\n resolve(\n new ErrorResponse(\n err.error\n ? err.error.ErrorMsg\n ? err.error.ErrorMsg\n : err.error.errors\n ? (err.error.errors.values as string[]).toString()\n : ''\n : err.status + ' ' + err.statusText\n )\n ),\n });\n });\n }\n\n postFile(\n url: string,\n formData: FormData,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ): Promise<any> {\n return new Promise((resolve, reject) => {\n this.http.post(baseUrl + '/' + url, formData).subscribe({\n next: (data) => resolve(data),\n error: (err) =>\n resolve(\n new ErrorResponse(\n err.error\n ? err.error.ErrorMsg\n ? err.error.ErrorMsg\n : err.error.errors\n ? (err.error.errors.values as string[]).toString()\n : ''\n : err.status + ' ' + err.statusText\n )\n ),\n });\n });\n }\n\n put(\n url: string,\n body: any,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ) {\n return this.http.put(baseUrl + '/' + url, body);\n }\n\n delete(\n url: string,\n baseUrl: string = this.envSvc.environment.AuthenticationAPI\n ): Observable<any> {\n return this.http.delete(baseUrl + '/' + url);\n }\n}\n","import {\n Inject,\n Injectable,\n InjectionToken,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport { UTIL_SERVICE } from 'verben-ng-ui';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilService {\n constructor(\n @Optional()\n @Inject(UTIL_SERVICE)\n private parentUtilService: any\n ) {}\n\n sendBI(state: boolean): void {\n console.log({ Service: this.parentUtilService });\n if (this.parentUtilService && this.parentUtilService.sendBI) {\n this.parentUtilService.sendBI(state);\n } else {\n console.warn('Util Service is not provided');\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { ResetPasswordData } from './ResetPasswordData';\nimport { HttpWebRequestService } from '../../services/http-web-request.service';\nimport { ErrorResponse } from '../../models/ErrorResponse';\nimport { ResponseKeyValue } from '../../models/ResponseKeyValue';\nimport { PasswordRequestParam } from '../../models/PasswordRequestParam';\nimport { UtilService } from '../../services/util.service';\n\n@Component({\n selector: 'verben-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrl: './reset-password.component.css',\n})\nexport class ResetPasswordComponent {\n @Input() title: string = 'Reset Password';\n @Input() subTitle: string = 'Create a New Password';\n @Input() buttonCaption: string = 'Submit';\n @Input() buttonTextColor?: string;\n @Input() buttonBackgroundColor?: string;\n @Input() showOldPassword: boolean = false;\n @Input() firstTimeSet: boolean = false;\n @Input() token?: string;\n\n @Output() onSubmit: EventEmitter<ResetPasswordData> = new EventEmitter();\n @Output() onSubmitEnd: EventEmitter<ResponseKeyValue | ErrorResponse> =\n new EventEmitter();\n\n resetPasswordForm: FormGroup;\n\n constructor(\n private fb: FormBuilder,\n private server: HttpWebRequestService,\n private utilService: UtilService\n ) {\n this.resetPasswordForm = this.fb.group({\n OldPassword: new FormControl<string | null>(\n null,\n this.oldPasswordValidator.bind(this)\n ),\n Password: new FormControl<string | null>(null, Validators.required),\n ConfirmPassword: new FormControl<string | null>(null, [\n Validators.required,\n this.confirmPasswordValidator.bind(this),\n ]),\n });\n }\n\n checkForm(): boolean {\n return this.resetPasswordForm.valid;\n }\n\n oldPasswordValidator(control: AbstractControl): ValidationErrors | null {\n if (this.showOldPassword && control.value == null) {\n return { customValidation: true };\n }\n return null;\n }\n confirmPasswordValidator(control: AbstractControl): ValidationErrors | null {\n if (\n this.resetPasswordForm &&\n this.resetPasswordForm.controls['Password'] &&\n this.resetPasswordForm.controls['Password'].value !== control.value\n ) {\n return { customValidation: true };\n }\n return null;\n }\n\n async submit() {\n if (!this.checkForm()) {\n return;\n }\n var data: ResetPasswordData = {\n OldPassword: this.showOldPassword\n ? this.resetPasswordForm.controls['OldPassword'].value\n : undefined,\n Password: this.resetPasswordForm.controls['Password'].value,\n ConfirmPassword: this.resetPasswordForm.controls['ConfirmPassword'].value,\n };\n this.onSubmit.emit(data);\n var passwordRequest: PasswordRequestParam = {\n NewPassword: data.Password,\n OldPassword: data.OldPassword,\n Token: this.token,\n };\n this.utilService.sendBI(true);\n const res = this.firstTimeSet\n ? await this.server.post(`User/ChangeFirstTimePassword`, passwordRequest)\n : await this.server.post(\n `User/CompleteChangePasswordRequest`,\n passwordRequest\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n this.onSubmitEnd.emit(res);\n } else {\n var result = res as ResponseKeyValue;\n this.onSubmitEnd.emit(result);\n }\n }\n}\n","<div [formGroup]=\"this.resetPasswordForm\" class=\"reset-password-container flex flex-col\">\n <div class=\"reset-password-header flex flex-col\">\n <div class=\"reset-password-title\">{{title}}</div>\n <div class=\"reset-password-subtitle\">{{subTitle}}</div>\n </div>\n <div *ngIf=\"showOldPassword\" class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">Old Password</div>\n <verbena-input bgColor=\"white\" borderRadius=\"12px\" formControlName=\"OldPassword\" type=\"password\"></verbena-input>\n </div>\n <div class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">New Password</div>\n <verbena-input bgColor=\"white\" borderRadius=\"12px\" formControlName=\"Password\" type=\"password\"></verbena-input>\n </div>\n <div class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">Confirm Password</div>\n <verbena-input bgColor=\"white\" borderRadius=\"12px\" formControlName=\"ConfirmPassword\"\n type=\"password\"></verbena-input>\n </div>\n <verbena-button fontWeight=\"700\" (click)=\"submit()\" [text]=\"buttonCaption\" width=\"100%\" [textColor]=\"buttonTextColor\"\n [bgColor]=\"buttonBackgroundColor\" borderRadius=\"25px\" [disable]=\"!this.checkForm()\"></verbena-button>\n\n</div>\n","import { NgModule } from '@angular/core';\nimport { ResetPasswordComponent } from './reset-password.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [ResetPasswordComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n ],\n exports: [ResetPasswordComponent],\n})\nexport class ResetPasswordModule {}\n","export enum ObjectState {\n New = 'New',\n Changed = 'Changed',\n Unchanged = 'Unchanged',\n Removed = 'Removed',\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, Validators } from '@angular/forms';\nimport { HttpWebRequestService } from '../../services/http-web-request.service';\nimport {UserRequestPayload} from \"../../models/UserRequest\"\nimport { ObjectState } from '../../models/object-state';\n@Component({\n selector: 'lib-user-request',\n templateUrl: './user-request.component.html',\n styleUrls: ['./user-request.component.css']\n})\nexport class UserRequestComponent {\n @Input() width: string = '500px';\n @Input() headingTitle:string=\"Request an account\"\n @Input()headingClass:string=\"font-medium text-[2rem] leading-[48px] text-[#333]\"\n @Input() customClass: 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() pd: string = '32px 48px';\n \n // Button Inputs\n @Input() text: string = 'Send Request';\n @Input() color: string = 'black';\n @Input() btnBorder: string = '1px solid #FFE681';\n @Input() btnBorderRadius: string = \"40px\";\n @Input() btnBgColor: string = '#FFE681';\n @Input() btnWidth: string = '100%';\n @Input() btnPd: string = '10px 20px';\n @Input() termsLink: string = '';\n @Input() privacyLink: string = '';\n @Input() routerLink: string = '';\n @Output() formSubmit = new EventEmitter<UserRequestPayload>();\n @Output() googleClick = new EventEmitter();\n @Output() appleClick = new EventEmitter();\n @Output() onSubmitResponseEnd: EventEmitter<any> = new EventEmitter();\n userRequestForm: FormGroup;\n\n constructor(private fb: FormBuilder) {\n this.userRequestForm = this.fb.group(\n {\n FirstName: [null, [Validators.required]],\n LastName: [null, [Validators.required]],\n Email: [null, [Validators.required, Validators.email]],\n Password: [null, [Validators.required, Validators.minLength(8)]],\n ConfirmPassword: [null, [Validators.required]],\n Terms: [false, Validators.requiredTrue] \n },\n { validators: this.passwordMatchValidator }\n );\n }\n passwordMatchValidator(control: AbstractControl): ValidationErrors | null {\n const password = control.get('Password')?.value;\n const confirmPassword = control.get('ConfirmPassword')?.value;\n\n return password === confirmPassword ? null : { passwordMismatch: true };\n }\n\n get passwordMismatchError(): boolean {\n return this.userRequestForm.hasError('passwordMismatch');\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 'max-width': this.width,\n 'height': this.height,\n 'padding': this.pd,\n };\n }\n checkForm(): boolean {\n return this.userRequestForm.valid;\n }\n handleGoogleAuth() {\n this.googleClick.emit();\n }\n handleAppleAuth() {\n this.appleClick.emit();\n }\n async submitForm() {\n if (!this.checkForm()) {\n return;\n }\n const payload:UserRequestPayload={\n FirstName: this.userRequestForm.controls[\"FirstName\"].value,\n LastName: this.userRequestForm.controls[\"LastName\"].value,\n Email:this.userRequestForm.controls[\"Email\"].value,\n Password: this.userRequestForm.controls[\"Password\"].value,\n ConfirmPassword:this.userRequestForm.controls[\"ConfirmPassword\"].value,\n Terms:this.userRequestForm.controls[\"Terms\"].value,\n UpdatedAt:new Date(),\n CreatedAt:new Date(),\n Id:\"\",\n State:ObjectState.New,\n Tenant:\"\",\n id:\"\"\n }\n this.formSubmit.emit(payload);\n this.onSubmitResponseEnd.emit(\"\")\n }\n}\n","<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid'\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength:'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <p class=\"text-[#666666] text-sm\">\n <input formControlName=\"Terms\" class=\"accent\" type=\"checkbox\" />\n By creating an account, I agree to our<br />\n <a [attr.href]=\"termsLink\" class=\"text-black text-sm font-[500] underline\"\n >Terms of use</a\n >\n and\n <a [attr.href]=\"privacyLink\" class=\"text-black font-[500] text-sm underline\"\n >Privacy Policy\n </a>\n <p *ngIf=\"userRequestForm.controls['Terms'].invalid && userRequestForm.controls['Terms'].touched\">\n <small class=\"error-text\">Please agree to the terms of use and privacy policy.</small>\n </p>\n \n <verbena-button\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n (click)=\"submitForm()\"\n [ngClass]=\"{\n 'cursor-not-allowed':!checkForm()\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n <div class=\"flex justify-center items-center OR\">\n <span></span>\n OR\n <span></span>\n </div>\n\n <verbena-button\n svg=\"google-logo\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n (click)=\"handleGoogleAuth()\"\n text=\"Continue with Google\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333]\"\n ></verbena-button>\n\n <verbena-button\n svg=\"apple-logo\"\n (click)=\"handleAppleAuth()\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with Apple\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n ></verbena-button>\n </form>\n</section>\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\nimport { UserRequestComponent } from './user-request.component';\n\n@NgModule({\n declarations: [UserRequestComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n ],\n exports: [UserRequestComponent],\n})\nexport class UserRequestModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-mail-validation',\n templateUrl: './mail-validation.component.html',\n styleUrls: ['./mail-validation.component.css']\n})\nexport class MailValidationComponent {\n @Input() customClass: 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 = '#666666';\n @Input() height: string = 'auto';\n @Input() pd: string = '32px 48px';\n @Input() width: string = '600px';\n @Input() text: string = 'Login';\n @Input() textAlign: string = 'center';\n @Input() color: string = 'black';\n @Input() textSize: string = '32px';\n @Input() btnBorder: string = '1px solid #FFE681';\n @Input() btnBorderRadius: string = \"40px\";\n @Input() btnBgColor: string = '#FFE681';\n @Input() btnWidth: string = '100%';\n @Input() btnPd: string = '7px 10px';\n\n @Output() resendOtp = new EventEmitter<void>();\n @Output() proceedToNextStep = new EventEmitter<'verified' | 'accessGranted'>();\n @Output() login = new EventEmitter<void>();\n\n currentStep: 'linkSent' | 'verified' | 'accessGranted' = 'linkSent';\n\n handleResendOtp() {\n this.resendOtp.emit();\n }\n\n goToNextStep() {\n switch (this.currentStep) {\n case 'linkSent':\n this.currentStep = 'verified';\n this.proceedToNextStep.emit(this.currentStep);\n break;\n case 'verified':\n this.currentStep = 'accessGranted';\n this.proceedToNextStep.emit(this.currentStep);\n break;\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 'max-width': this.width,\n 'margin': '0 auto',\n 'height': this.height,\n 'padding': this.pd,\n };\n }\n handleLogin() {\n this.login.emit();\n }\n}\n","<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <div *ngIf=\"currentStep === 'linkSent'\">\n <p [style.color]=\"textColor\" [style.font-size]=\"textSize\">\n Follow the link sent to your e-mail to verify your e-mail address\n </p>\n <p class=\"mt-4\" (click)=\"handleResendOtp()\">\n Didn't get a link? <a href=\"#\" class=\"underline resend\">Resend</a>\n </p>\n </div>\n\n <div *ngIf=\"currentStep === 'verified'\">\n <p [style.color]=\"textColor\" [style.font-size]=\"textSize\">\n Your e-mail has been verified! You will be notified when your access has\n been authorized\n </p>\n </div>\n\n <div *ngIf=\"currentStep === 'accessGranted'\">\n <p [style.color]=\"textColor\" [style.font-size]=\"textSize\">\n Your e-mail has been verified!\n </p>\n <div class=\"mt-4\">\n <verbena-button\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n (click)=\"handleLogin()\"\n [width]=\"btnWidth\"\n textSize=\"'22px'\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n </div>\n </div>\n</section>\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\nimport { MailValidationComponent } from './mail-validation.component';\n\n@NgModule({\n declarations: [MailValidationComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n ],\n exports: [MailValidationComponent],\n})\nexport class MailValidationModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'lib-button',\n templateUrl: './button.component.html',\n styleUrl: './button.component.css'\n})\nexport class ButtonComponent {\n @Input() text: string = '';\n @Input() color: string = 'black';\n @Input() border: string = '1px solid #FFE681';\n @Input() borderRadius:string = \"40px\"\n @Input() bgColor: string = '#FFE681';\n @Input() width: string = '100%';\n @Input() pd: string = '10px 20px';\n @Input() buttonClass: string = '';\n @Input() disabled: boolean = false;\n\n @Output() buttonClick = new EventEmitter<void>();\n\n handleClick(){ \n this.buttonClick.emit();\n }\n}\n","<verbena-button\n[text]=\"text\"\n[bgColor]=\"bgColor\"\n[textColor]=\"color\"\n[border]=\"border\"\n[borderRadius]=\"borderRadius\"\n[pd]=\"pd\"\n[width]=\"width\"\n[disable]=\"disabled\"\n[ngStyle]=\"{'cursor': disabled ? 'not-allowed' : 'pointer' }\"\nbuttonClass=\"font-medium text-[22px] leading-[33px] {{buttonClass}}\"\n(click)=\"handleClick()\"\n></verbena-button>\n","import { Component, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'verben-o-auth',\n templateUrl: './o-auth.component.html',\n styleUrl: './o-auth.component.css'\n})\nexport class OAuthComponent {\n @Output() googleClick = new EventEmitter<void>();\n @Output() appleClick = new EventEmitter<void>();\n\n oAuthWithGoogle(){ \n this.googleClick.emit();\n };\n oAuthWithApple(){ \n this.appleClick.emit();\n }\n}\n","<section class=\"oauthWrapper\"> \n <div class=\"OrFlexWrapper\">\n <hr/>\n <span>OR</span>\n <hr/>\n </div>\n <verbena-button\n svg=\"google-logo\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with Google\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333]\"\n (click)=\"oAuthWithGoogle()\"\n ></verbena-button>\n \n <verbena-button\n svg=\"apple-logo\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with Apple\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n (click)=\"oAuthWithApple()\"\n ></verbena-button>\n</section>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport { SignUpData } from '../../models/sign-up';\n\n\n@Component({\n selector: 'verben-sign-up',\n templateUrl: './sign-up.component.html',\n styleUrl: './sign-up.component.css'\n})\n\nexport class SignUpComponent {\n @Input() headlingText: string = 'Create an account';\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() height: string = 'auto';\n @Input() textColor: string = '#333';\n @Input() disabled: boolean = false;\n\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 = 'Create account';\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\n // links\n @Input() termsLink: string = '';\n @Input() privacyLink: string = '';\n @Input() routerLink: string = '';\n\n @Output() formSubmit = new EventEmitter<SignUpData>();\n @Output() googleClick = new EventEmitter();\n @Output() appleClick = new EventEmitter();\n\n signUpForm: FormGroup;\n\n constructor(private fb: FormBuilder) {\n this.signUpForm = this.fb.group({\n Firstname: new FormControl<string | null>(null, Validators.required),\n Lastname: new FormControl<string | null>(null, Validators.required),\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(8),\n ]),\n Confirmpassword: new FormControl<string | null>(null, [\n Validators.required,\n Validators.minLength(8),\n ]),\n Terms: new FormControl<boolean>(false, [Validators.requiredTrue]),\n },{ validators: this.passwordMatchValidator });\n }\n \n private passwordMatchValidator: ValidatorFn = (group: AbstractControl): ValidationErrors | null => {\n const password = group.get('Password')?.value;\n const confirmPassword = group.get('Confirmpassword')?.value;\n return password === confirmPassword ? null : { passwordMismatch: true };\n };\n\n checkForm(): boolean {\n return this.signUpForm.valid;\n }\n\n submit() {\n if (!this.checkForm()) {\n return;\n }\n const data: SignUpData = {\n Firstname: this.signUpForm.controls['Firstname'].value,\n Lastname: this.signUpForm.controls['Lastname'].value,\n Email: this.signUpForm.controls['Email'].value,\n Password: this.signUpForm.controls['Password'].value,\n Confirmpassword: this.signUpForm.controls['Confirmpassword'].value,\n Terms: this.signUpForm.controls['Terms'].value,\n };\n \n this.formSubmit.emit(data);\n }\n\n handleGoogleAuth() {\n this.googleClick.emit();\n }\n handleAppleAuth() {\n this.appleClick.emit();\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}\n\n","<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{headlingClass}}\">\n {{headlingText}}\n </h2>\n <form [formGroup]=\"signUpForm\" (ngSubmit)=\"submit()\" class=\"flexWrapper\">\n <verbena-input\n [label]=\"'First name'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"Firstname\"\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 [customErrorMessages]=\"{required:'First name is required'}\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last name'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"Lastname\"\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 [customErrorMessages]=\"{required:'Last name is required'}\"\n ></verbena-input>\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 <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 class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Confirm Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Confirmpassword\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"false\"\n [errorBorderColor]=\"'red'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <span *ngIf=\"signUpForm.hasError('passwordMismatch') && signUpForm.get('Confirmpassword')?.dirty\"> \n <small class=\"error-text\">Passwords do not match.</small>\n </span>\n </div>\n <div> \n <div class=\"checkBoxWrapper\">\n <input type=\"checkbox\" id=\"terms\" formControlName=\"Terms\" class=\"checBoxInput\" />\n <label for=\"terms\" \n class=\"break-all font-normal leading-6\"\n >By creating an account, I agree to our <a [attr.href]=\"termsLink\">Terms of use</a> and\n <a [attr.href]=\"privacyLink\">Privacy Policy</a></label\n >\n </div>\n <p *ngIf=\"signUpForm.controls['Terms'].invalid && signUpForm.controls['Terms'].touched\">\n <small class=\"error-text\">Please agree to the terms of use and privacy policy.</small>\n </p>\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 [ngStyle]=\"{'margin-top':'10px'}\"\n ></lib-button>\n <verben-o-auth \n (googleClick)=\"handleGoogleAuth()\"\n (appleClick)=\"handleAppleAuth()\"\n ></verben-o-auth>\n <p>\n Already have an account?\n <a [routerLink]=\"routerLink\" class=\"\">Log in</a>\n </p>\n </form>\n </section>\n \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthComponent } from './o-auth.component';\n\n@NgModule({\n declarations: [OAuthComponent],\n imports: [CommonModule,VerbenaInputModule,VerbenaButtonModule],\n exports: [OAuthComponent]\n})\nexport class OAuthModule {}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerbenaButtonModule } from 'verben-ng-ui';\nimport { ButtonComponent } from './button.component';\nimport { FormsModule } from '@angular/forms';\n@NgModule({\n declarations: [ButtonComponent],\n imports: [CommonModule,VerbenaButtonModule,FormsModule],\n exports: [ButtonComponent]\n})\nexport class ButtonModule {}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { SignUpComponent } from './sign-up.component';\nimport { VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthModule } from '../o-auth/o-auth.module';\nimport { ButtonModule } from '../button/button.module';\nimport { ReactiveFormsModule } from '@angular/forms';\n@NgModule({\n declarations: [SignUpComponent],\n imports: [CommonModule, FormsModule, VerbenaInputModule, RouterLink,ButtonModule,OAuthModule,ReactiveFormsModule],\n exports: [SignUpComponent]\n})\nexport class SignUpModule {}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { LoginData } from '../../models/log-in';\n\n@Component({\n selector: 'verben-sign-in',\n templateUrl: './sign-in.component.html',\n styleUrl: './sign-in.component.css'\n})\n\nexport class SignInComponent {\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() 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() routerLink: string = '';\n @Input() forgetPasswordClass: string = '';\n @Input() headlingClass: string = '';\n\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 = 'Please agree to the terms of use and privacy policy.'\n\n\n\n @Output() formSubmit = new EventEmitter<LoginData>();\n @Output() googleClick = new EventEmitter();\n @Output() appleClick = new EventEmitter();\n\n loginForm: FormGroup;\n\n constructor(private fb: FormBuilder) {\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(8),\n ]),\n });\n }\n\n checkForm(): boolean {\n return this.loginForm.valid;\n }\n\n submit() {\n if (!this.checkForm()) {\n return;\n }\n \n const data: LoginData = {\n Email: this.loginForm.controls['Email'].value,\n Password: this.loginForm.controls['Password'].value,\n };\n \n this.formSubmit.emit(data);\n }\n\n handleGoogleAuth() {\n this.googleClick.emit();\n }\n handleAppleAuth() {\n this.appleClick.emit();\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}\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit()\" class=\"flexWrapper\"> \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 class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"routerLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n\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 <verben-o-auth \n (googleClick)=\"handleGoogleAuth()\"\n (appleClick)=\"handleAppleAuth()\"\n ></verben-o-auth>\n </form>\n </section>\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SignInComponent } from '../sign-in/sign-in.component';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink} from '@angular/router';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthModule } from '../o-auth/o-auth.module';\nimport { ButtonModule } from '../button/button.module';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [SignInComponent],\n imports: [CommonModule,FormsModule,VerbenaInputModule,VerbenaButtonModule,RouterLink,OAuthModule,ButtonModule,ReactiveFormsModule],\n exports: [SignInComponent]\n})\nexport class SignInModule {}\n\n","import { Component, EventEmitter, Input, Output, OnInit } from '@angular/core';\nimport { FormBuilder, FormArray, FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'verben-otp-input',\n templateUrl: './otp-input.component.html',\n styleUrl: './otp-input.component.css'\n})\nexport class OtpInputComponent implements OnInit {\n @Input() length: number = 6;\n @Input() otpClass: string = '';\n @Output() otpChange = new EventEmitter<string>();\n\n otpForm!: FormGroup;\n\n constructor(private fb: FormBuilder) {}\n\n ngOnInit() {\n this.otpForm = this.fb.group({\n otpArray: this.fb.array(Array(this.length).fill('').map(() => new FormControl('')))\n });\n\n this.otpArray.valueChanges.subscribe(() => {\n this.emitOtp();\n });\n }\n\n get otpArray(): FormArray {\n return this.otpForm.get('otpArray') as FormArray;\n }\n\n handleInput(event: any, index: number) {\n const value = event.target.value;\n if (/\\d/.test(value)) {\n this.otpArray.at(index).setValue(value);\n\n if (index < this.length - 1) {\n this.focusNextInput(index);\n }\n } else {\n this.otpArray.at(index).setValue(''); \n }\n }\n\n handleKeydown(event: KeyboardEvent, index: number) {\n if (event.key === 'Backspace') {\n this.otpArray.at(index).setValue('');\n \n if (index > 0) {\n this.focusPreviousInput(index);\n }\n }\n }\n\n private focusNextInput(index: number) {\n const nextInput = document.getElementById(`otp-input-${index + 1}`);\n nextInput?.focus();\n }\n\n private focusPreviousInput(index: number) {\n const prevInput = document.getElementById(`otp-input-${index - 1}`);\n prevInput?.focus();\n }\n\n private emitOtp() {\n const otp = this.otpArray.value.join('');\n this.otpChange.emit(otp);\n }\n}\n","<form [formGroup]=\"otpForm\" >\n <div formArrayName=\"otpArray\" class=\"otp-container\">\n <input\n *ngFor=\"let control of otpArray.controls; let i = index\"\n [id]=\"'otp-input-' + i\"\n class=\"otp-input {{otpClass}}\"\n maxlength=\"1\"\n (input)=\"handleInput($event, i)\"\n (keydown)=\"handleKeydown($event, i)\"\n [formControlName]=\"i\"\n type=\"text\"\n />\n </div>\n</form>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\n\n@Component({\n selector: 'verben-auth-otp',\n templateUrl: './two-factor-auth-otp.component.html',\n styleUrl: './two-factor-auth-otp.component.css'\n})\n\nexport class TwoFactorAuthOtpComponent {\n @Input() customClass: string = ''\n @Input() headlingClass: string = ''\n @Input() headlingText: string = 'Two Factor Authentication'\n @Input() paragraphClass: string = ''\n @Input() resendClass: string = ''\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n @Input() margin: string = '';\n @Input() pd: 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() length: number = 6;\n @Input() otpClass: string = '';\n\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 = 'Submit';\n\n\n otpValue: string = '';\n otpForm!: FormGroup;\n\n @Output() buttonClick = new EventEmitter<string>();\n @Output() resend = new EventEmitter();\n\n constructor(private fb: FormBuilder) {}\n\n ngOnInit() {\n this.otpForm = this.fb.group({\n otpValue: ['', [Validators.required, Validators.minLength(6)]]\n });\n }\n\n onOtpChange(value: string) {\n this.otpForm.get('otpValue')?.setValue(value);\n }\n\n submitData() {\n if (this.otpForm.valid) {\n this.buttonClick.emit(this.otpForm.get('otpValue')?.value);\n }\n }\n\n resendOtp() {\n this.resend.emit();\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}\n\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">{{headlingText}}</h3>\n <div class=\"otpWrapper\"> \n <p class=\"{{paragraphClass}}\">Enter the {{length}} digit code sent to your phone number</p>\n <verben-otp-input \n [length]=\"length\" \n (otpChange)=\"onOtpChange($event)\"\n [otpClass]=\"otpClass\"\n ></verben-otp-input>\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 (buttonClick)=\"submitData()\"\n [disabled]=\"!otpForm.valid\"\n ></lib-button>\n <p class=\"resendWrapper\">\n Didn’t get a code?\n <a class=\"{{resendClass}}\" (click)=\"resendOtp()\">Resend</a>\n </p>\n \n</section>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { VerbenaInputModule } from 'verben-ng-ui';\nimport { OAuthModule } from '../o-auth/o-auth.module';\nimport { ButtonModule } from '../button/button.module';\nimport { OtpInputComponent } from './otp-input.component';\n\n@NgModule({\n declarations: [OtpInputComponent],\n imports: [CommonModule, FormsModule,VerbenaInputModule, RouterLink,ButtonModule,OAuthModule,ReactiveFormsModule],\n exports: [OtpInputComponent]\n})\nexport class OtpInputModule {}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TwoFactorAuthOtpComponent } from './two-factor-auth-otp.component';\nimport { ButtonModule } from '../button/button.module';\nimport { OtpInputModule } from '../otp-input/otp-input.module';\nimport { RouterLink } from '@angular/router';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n\n@NgModule({\n declarations: [TwoFactorAuthOtpComponent],\n imports: [CommonModule,ButtonModule,OtpInputModule,RouterLink,ReactiveFormsModule],\n exports: [TwoFactorAuthOtpComponent]\n})\nexport class TwoFactorAuthOtpModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'verben-two-factor-auth-setup',\n templateUrl: './two-factor-auth-setup.component.html',\n styleUrl: './two-factor-auth-setup.component.css'\n})\n\nexport class TwoFactorAuthSetupComponent {\n @Input() customClass: string = ''\n @Input() headlingClass: string = ''\n @Input() headlingText: string = 'Set Up Two Factor Authentication'\n @Input() paragraphClass: string = ''\n @Input() buttonClass: string = ''\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n @Input() margin: string = '';\n @Input() pd: 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 = '';\n\n @Output() smsClick = new EventEmitter();\n @Output() mailClick = new EventEmitter();\n @Output() skipClick = new EventEmitter();\n\n \n continueWithSMS(){ \n this.smsClick.emit()\n }\n continueWithMail(){ \n this.mailClick.emit()\n }\n handleSkip(){ \n this.skipClick.emit()\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}\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">{{headlingText}}</h3>\n <div class=\"setUpBtnWrapper\">\n <verbena-button\n svg=\"2fa-mail\"\n [svgHeight]=\"16\"\n [svgWidth]=\"20\"\n text=\"Continue with Mail\"\n bgColor=\"white\"\n textColor=\"#333333\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333]\"\n (click)=\"continueWithMail()\"\n ></verbena-button>\n <verbena-button\n svg=\"2fa-sms\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with SMS\"\n bgColor=\"white\"\n textColor=\"#333333\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n (click)=\"continueWithSMS()\"\n ></verbena-button>\n <div class=\"iconWrapper\" (click)=\"handleSkip()\"> \n <p class=\"{{paragraphClass}}\">Skip for now</p>\n <verben-svg \n icon=\"skip-forward\"\n [height]=\"24\"\n [width]=\"24\"\n />\n </div>\n</div>\n</section>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TwoFactorAuthSetupComponent } from './two-factor-auth-setup.component';\nimport { SvgModule, VerbenaButtonModule } from 'verben-ng-ui';\n\n@NgModule({\n declarations: [TwoFactorAuthSetupComponent],\n imports: [CommonModule,VerbenaButtonModule,SvgModule],\n exports: [TwoFactorAuthSetupComponent]\n})\nexport class TwoFactorAuthSetupModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n\n@Component({\n selector: 'verben-mail-message',\n templateUrl: './mail.component.html',\n styleUrl: './mail.component.css'\n})\n\n\nexport class MailComponent {\n @Input() customClass: string = ''\n @Input() headlingClass: string = ''\n @Input() width: string = '';\n @Input() maxWidth: string = '';\n @Input() margin: string = '';\n @Input() pd: 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\n @Output() buttonClick = new EventEmitter();\n\n goToLogin(){ \n this.buttonClick.emit()\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}\n\n","<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h3 class=\"{{headlingClass}}\">Your e-mail has been verified!</h3>\n <lib-button \n text=\"Login\" \n buttonClass=\"\"\n (click)=\"goToLogin()\"\n ></lib-button> \n</section>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink} from '@angular/router';\nimport { ButtonModule } from '../button/button.module';\nimport { MailComponent } from './mail.component';\n\n@NgModule({\n declarations: [MailComponent],\n imports: [CommonModule, FormsModule,RouterLink,ButtonModule],\n exports: [MailComponent]\n})\nexport class MailModule {}","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n ValidationErrors,\n Validators,\n} from '@angular/forms';\nimport { ForgotPasswordData } from './ForgotPasswordData';\nimport { HttpWebRequestService } from '../../services/http-web-request.service';\nimport { ErrorResponse } from '../../models/ErrorResponse';\nimport { ResponseKeyValue } from '../../models/ResponseKeyValue';\nimport { UtilService } from '../../services/util.service';\n\n@Component({\n selector: 'verben-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrl: './forgot-password.component.css',\n})\nexport class ForgotPasswordComponent {\n @Input() title: string = 'Forgot Password';\n @Input() subTitle: string = 'Enter the e-mail you used during registration';\n @Input() buttonCaption: string = 'Submit';\n @Input() buttonTextColor?: string;\n @Input() buttonBackgroundColor?: string;\n\n @Output() onSubmit: EventEmitter<ForgotPasswordData> = new EventEmitter();\n @Output() onSubmitEnd: EventEmitter<ResponseKeyValue | ErrorResponse> =\n new EventEmitter();\n\n forgotPasswordForm: FormGroup;\n\n constructor(\n private fb: FormBuilder,\n private server: HttpWebRequestService,\n private utilService: UtilService\n ) {\n this.forgotPasswordForm = this.fb.group({\n Email: new FormControl<string | null>(null, [\n Validators.required,\n this.emailValidator.bind(this),\n ]),\n });\n }\n\n isValidEmail(mail: string): boolean {\n const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n return emailPattern.test(mail);\n }\n\n emailValidator(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n\n if (this.isValidEmail(value) == false) {\n return { customValidation: true };\n }\n\n return null;\n }\n\n checkForm(): boolean {\n return this.forgotPasswordForm.valid;\n }\n\n async submit() {\n if (!this.checkForm()) {\n return;\n }\n var data: ForgotPasswordData = {\n Email: this.forgotPasswordForm.controls['Email'].value,\n };\n this.onSubmit.emit(data);\n this.utilService.sendBI(true);\n const res = await this.server.get(\n `User/PasswordChangeRequest/${data.Email}`\n );\n this.utilService.sendBI(false);\n if (res instanceof ErrorResponse) {\n this.onSubmitEnd.emit(res);\n } else {\n var result = res as ResponseKeyValue;\n this.onSubmitEnd.emit(result);\n }\n }\n}\n","<div [formGroup]=\"this.forgotPasswordForm\" class=\"reset-password-container flex flex-col\">\n <div class=\"reset-password-header flex flex-col\">\n <div class=\"reset-password-title\">{{title}}</div>\n <div class=\"reset-password-subtitle\">{{subTitle}}</div>\n </div>\n <div class=\"form-field flex flex-col\">\n <div class=\"form-field-caption\">Email</div>\n <verbena-input bgColor=\"white\" borderRadius=\"12px\" formControlName=\"Email\" type=\"email\"></verbena-input>\n </div>\n <verbena-button fontWeight=\"700\" (click)=\"submit()\" [text]=\"buttonCaption\" width=\"100%\" [textColor]=\"buttonTextColor\"\n [bgColor]=\"buttonBackgroundColor\" borderRadius=\"25px\" [disable]=\"!this.checkForm()\"></verbena-button>\n\n</div>\n","import { NgModule } from '@angular/core';\nimport { ForgotPasswordComponent } from './forgot-password.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [ForgotPasswordComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n CommonModule,\n ],\n exports: [ForgotPasswordComponent],\n})\nexport class ForgotPasswordModule {}\n","\nimport { ColumnDefinition } from 'verben-ng-ui';\nimport { SingleSignOn } from '../../models/single-sign-on';\n\nexport const columns: ColumnDefinition<SingleSignOn>[] = [\n {\n id: 'createdAt',\n header: 'Created',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'name',\n header: 'Name',\n accessorKey: 'Name',\n },\n {\n id: 'description',\n header: 'Description',\n accessorKey: 'Description',\n },\n {\n id: 'link',\n header: 'Link',\n accessorKey: 'Link',\n },\n {\n id: 'logo',\n header: 'Logo',\n accessorKey: 'Logo',\n },\n { id: 'actions', header: 'Actions', accessorKey: 'Name' },\n];\n","import { ObjectState } from '../../models/object-state';\nimport { SingleSignOn } from '../../models/single-sign-on';\n\nexport const mockData: SingleSignOn[] = new Array(10).fill(1).map((id, i) => ({\n Name: `Name ${id + i}`,\n Id: id,\n id: id.toString(),\n Description: `Sign in option ${id+i}`,\n Logo: `./assets/images/test-logo.png`,\n Link: `Link ${id+i}`,\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant ${id + i}`,\n}));\n","export const baseStyle: any = {\n width: '100%',\n fontFamily: '\"Fraunces\", serif',\n fontSize: '125%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid #D4A007',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: '#FDFDFD',\n },\n odd: {\n backgroundColor: '#F1F4FB',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n stickyTop: true,\n zIndex: 2,\n backgroundColor: '#EFF2FB',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '40px',\n },\n footer: {\n stickyBottom: true,\n zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: '#fff',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n // firstColumn: {\n // stickyLeft: true,\n // zIndex: 1,\n // },\n lastColumn: {\n stickyRight: true,\n zIndex: 1,\n },\n};\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\n\n\n@Component({\n selector: 'lib-sso-form',\n templateUrl: './sso-form.component.html',\n styleUrl: './sso-form.component.css',\n})\nexport class SsoFormComponent {\n isUploading: boolean = false;\n uploadedFileName: string | null = null;\n fileUploadError: string | null = null;\n @Input() currentData:CardData|null=null\n @Output() switchView = new EventEmitter<undefined>();\n\n form: FormGroup;\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n Description: [''],\n Name: [''],\n Link: [''],\n Logo: [''],\n });\n }\n\n ngOnInit(): void {}\n\n onSave(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n }\n }\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n onFileSelected(event: Event) {\n const input = event.target as HTMLInputElement;\n if (input.files && input.files.length > 0) {\n const file = input.files[0];\n this.fileUploadError = null;\n if (!file) {\n this.isUploading = true;\n }\n if (file.size > 5000000) {\n this.fileUploadError = 'File size exceeds 5MB limit.';\n this.uploadedFileName = null;\n this.isUploading = false; // Reset isUploading state\n } else {\n this.uploadedFileName = file.name;\n }\n } else {\n this.isUploading = false;\n }\n }\n\n removeFile() {\n this.uploadedFileName = null;\n this.fileUploadError = null;\n const fileInput = document.getElementById('attachment') as HTMLInputElement;\n if (fileInput) {\n fileInput.value = '';\n }\n }\n\n}\n","<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative\"\n>\n <verbena-input\n name=\"Name\"\n label=\"Name:\"\n formControlName=\"Name\"\n [(ngModel)]=\"currentData?.data.Name\"\n />\n <verbena-input\n label=\"Description:\"\n name=\"Description\"\n formControlName=\"Description\"\n [(ngModel)]=\"currentData?.data.Description\"\n />\n <verbena-input\n label=\"Link:\"\n name=\"Link\"\n formControlName=\"Link\"\n [(ngModel)]=\"currentData?.data.Link\"\n/>\n<span class=\"block my-2 \">Logo</span>\n<label [style.background-color]=\"'#f9f9f9'\" class=\"border cursor-pointer border-secondary-200 rounded-md w-full px-4 py-2 flex justify-between\">\n <span *ngIf=\"!uploadedFileName\">{{isUploading?\"uploading...\":\"Upload a photo\"}}</span>\n <span *ngIf=\"fileUploadError\" class=\"error\">{{ fileUploadError }}</span>\n <div *ngIf=\"uploadedFileName\" class=\"flex items-center text-sm gap-2 border border-primary rounded-lg px-3 \">\n <span>{{ uploadedFileName }}</span>\n <button\n [style.color]=\"'black'\"\n type=\"button\"\n (click)=\"removeFile()\"\n >\n &#x2715;\n </button>\n </div>\n <input\n id=\"logo\"\n[type]=\"'file'\"\n label=\"Logo:\"\n name=\"Logo\"\n accept=\"image/png\"\n formControlName=\"Logo\"\n (change)=\"onFileSelected($event)\"\n formControlName=\"Logo\"\n/>\n<span class=\"flex gap-2\">\n<span class=\"bg-primary flex icon-container rounded-md justify-center items-center\">\n <img src=\"./assets/icons/cam.png\" class=\"icon-width\"/>\n</span>\n<span class=\"bg-primary flex icon-container rounded-md justify-center items-center\">\n <img src=\"./assets/icons/file.png\" class=\"icon-width2\"/>\n</span>\n</span>\n</label>\n\n <!-- buttons -->\n <div\n class=\"flex justify-between bottom-8 left-0 right-0 px-3 pb-2 absolute\"\n style=\"\n display: flex;\n justify-content: space-between;\n position: absolute;\n padding: 8px 12px;\n right: 0;\n left: 0;\n bottom: 32;\n \"\n >\n <!-- <verbena-button\n text=\"Delete\"\n class=\"bg-secondary-200 text-[black]\"\n (click)=\"onDelete()\"\n />\n <verbena-button\n text=\"Save\"\n class=\"bg-primary text-[black]\"\n (click)=\"onSave()\"\n />\n\n <verbena-button\n text=\"Secondary Button\"\n styleType=\"secondary\"\n ></verbena-button> -->\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Delete\"\n [bgColor]=\"'#999999'\"\n [textColor]=\"'#404040'\"\n borderRadius=\"10px\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n text=\"Save\"\n bgColor=\"#28a745\"\n textColor=\"#404040\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n [bgColor]=\"'#FFE681'\"\n width=\"114px\"\n height=\"39px\"\n ></verbena-button>\n </div>\n</form>\n","import { Component, ViewChild } from '@angular/core';\nimport { columns } from './sso.columns';\nimport { mockData } from './helper';\nimport { baseStyle } from './base-table-style';\nimport {\n CardData,\n CardDataViewComponent,\n DataFilterType,\n DataViewComponent,\n IDataFilter,\n} from 'verben-ng-ui';\nimport { SingleSignOn } from '../../models/single-sign-on';\n\n\n\n@Component({\n selector: 'lib-sso',\n templateUrl: './sso.component.html',\n styleUrl: './sso.component.css',\n})\nexport class SsoComponent {\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n\n columns = columns;\n data = mockData;\n styles = baseStyle;\n currentData: CardData | null = null;\n isGridView = true;\n selected: CardData | null = null;\n\n cardData: CardData[] = mockData.map(({ Name, Description, Link,Logo }) => ({\n selected: false,\n title: Name,\n data: { Name, Description,Link,Logo } as Partial<SingleSignOn>,\n body: [\n { title: 'Description', value:Description??'' },\n ],\n children: [],\n }));\n\n openDetailView(name: string) {\n const cardItem = this.getCardDataByMailAddress(name);\n if (cardItem && this.cardDataView) {\n this.dataView.toggleView();\n this.cardData.forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n\n cardItem.selected = true;\n this.currentData = this.cardDataView.onItemClick(cardItem);\n }\n }\n\n getCardDataByMailAddress(name: string): CardData | undefined {\n return this.cardData.find(({ data }) => data.Name === name);\n }\n\n onViewChange(isGridView: boolean): void {\n isGridView=isGridView\n \n if (this.currentData) {\n this.cardDataView?.clearData();\n this.currentData = null;\n }\n\n if (this.selected) {\n this.cardDataView.onItemClick(this.selected);\n }\n }\n\n openFormView(index: number) {\n const item = this.cardData[index];\n console.log('ITEM = ', item);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n /**\n *\n * @param data Simple csv export for testing\n */\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n onSelectionChange(selectedRows:SingleSignOn[]) {\n console.log('Selection changed:', selectedRows);\n // Handle the selection change\n }\n\n /**\n * Copied over from card view doc until I understand usage\n */\n selectedColumnCount: number = 0;\n selectedFilterTableCount: number = 0;\n isOPen: boolean = true;\n selectedSortCount: number = 0;\n showColumn: boolean = false;\n showSort: boolean = false;\n selectedAll: boolean = false;\n visibleColumns: IDataFilter[] = columns.map((col) => ({\n checked: false,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n filterArray: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Description',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Logo',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Link',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n sortOptions: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Description',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Link',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'Logo',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n clearData() {\n this.currentData = {} as CardData;\n }\n loadMore() {\n this.cardData = this.cardData.concat(this.cardData);\n }\n onColumnChange(event: boolean) {\n this.showColumn = event;\n }\n onSortChange(event: boolean) {\n this.showSort = event;\n console.log(event);\n }\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n this.onColumnChange(false);\n console.log(updatedColumns )\n this.selectedColumnCount = updatedColumns.length;\n }\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.onSortChange(false);\n this.selectedSortCount = updatedSorts.length;\n console.log(updatedSorts);\n }\n\n onStateChange(event: { key: string; value: boolean }): void {\n console.log(`State changed for ${event.key}:`, event.value);\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n [cardIcon]=\"'list-view'\"\n [tableIcon]=\"'table-view'\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"logo\">\n <ng-template #cell let-value>\n <img class=\"w-10\" [src]=\"value\"/>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow let-rowIndex>\n <div class=\"flex space-x-8\" style=\"display: flex; gap: 24px\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n stroke=\"#3479E9\"\n fill=\"white\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n stroke=\"#E20000\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"Link\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"Link\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <verben-svg\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"vlcd.showChildren(item)\"\n [ngClass]=\"vlcd.showToggle(item) ? 'visible' : 'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\"\n [icon]=\"item.isChildrenExpanded ? 'minus' : 'plus'\"\n />\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex\">\n <span class=\"font-bold text-sm\">{{ item.data.Name }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"flex items-center justify-between gap-2\">\n <div>\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black text-xs font-semibold\">{{ item.data.Description }}</span>\n </div>\n <img class=\"logo-width\" [alt]=\"ciItem.title\" [src]=\"item.data.Logo\"/>\n </div>\n }\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-sso-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n ></lib-sso-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n DataViewModule,\n TableFilterModule,\n SortTableModule,\n DataExportModule,\n VisibleColumnModule,\n VerbenaButtonModule,\n CardDataViewModule,\n SvgModule,\n VerbenaInputModule,\n DataTableModule,\n VerbenaTextareaModule,\n} from 'verben-ng-ui';\nimport { SsoComponent } from './sso.component';\nimport { SsoFormComponent } from './sso-form/sso-form.component';\n@NgModule({\n declarations: [SsoComponent,SsoFormComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n DataViewModule,\n TableFilterModule,\n SortTableModule,\n DataExportModule,\n VisibleColumnModule,\n VerbenaButtonModule,\n CardDataViewModule,\n VerbenaInputModule,\n SvgModule,\n VerbenaTextareaModule,\n DataTableModule,\n ],\n exports: [SsoComponent],\n})\nexport class SsoModule {}\n","import { ColumnDefinition } from 'verben-ng-ui';\nimport { UserAccessRequest } from '../../models/user-access-request';\n\nexport const columns: ColumnDefinition<UserAccessRequest>[] = [\n {\n id: 'createdAt',\n header: 'Created',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'user',\n header: 'Name',\n accessorKey: 'Name',\n },\n {\n id: 'mail',\n header: 'E-Mail',\n accessorKey: 'MailAddress',\n },\n {\n id: 'phone',\n header: 'Phone Number',\n accessorKey: 'PhoneNumber',\n },\n { id: 'actions', header: 'Actions', accessorKey: 'MailAddress' },\n];\n","export enum UserAccessRequestStatus {\n Pending,\n Approved,\n Declined,\n}\n","import { ObjectState } from '../../models/object-state';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport { UserAccessRequestStatus } from '../../models/user-access-request-status';\n\nexport const roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n];\n\nexport const mockData: UserAccessRequest[] = new Array(10)\n .fill(1)\n .map((id, i) => ({\n Name: `User ${id + i}`,\n Id: id + i,\n id: (id + i).toString(),\n MailAddress: `user${id + i}@mail.com`,\n PhoneNumber: `+23480000000${id + i}`,\n Status: randomEnum(UserAccessRequestStatus),\n RoleID: roles[Math.floor(Math.random() * roles.length)].id,\n Password: '1234567',\n ExpireOn: new Date(),\n IsSeeded: false,\n OTPExpireOn: new Date(),\n Tenants: [],\n\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant${id + i}`,\n }));\n\nfunction randomEnum<T extends object>(anEnum: T): T[keyof T] {\n const enumValues = Object.values(anEnum) as unknown as T[keyof T][];\n const randomIndex = Math.floor(Math.random() * enumValues.length);\n return enumValues[randomIndex];\n}\n","export const baseStyle: any = {\n width: '100%',\n fontFamily: '\"Fraunces\", serif',\n fontSize: '125%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid #D4A007',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: '#FDFDFD',\n },\n odd: {\n backgroundColor: '#F1F4FB',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n // stickyTop: true,\n // zIndex: 2,\n backgroundColor: '#EFF2FB',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '40px',\n },\n footer: {\n // stickyBottom: true,\n // zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: '#fff',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n // firstColumn: {\n // stickyLeft: true,\n // zIndex: 1,\n // },\n lastColumn: {\n // stickyRight: true,\n // zIndex: 1,\n },\n};\n","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport { UserAccessRequestStatus } from '../../models/user-access-request-status';\nimport { ObjectState } from '../../models/object-state';\n\nexport interface ServiceConfig {\n resourceEndpoint: string;\n}\n\nexport const SERVICE_CONFIG = new InjectionToken<ServiceConfig>(\n 'ServiceConfig'\n);\n\n@Injectable()\nexport class UserRequestApprovalService {\n // protected readonly baseUrl: string;\n protected readonly resourceEndpoint: string;\n roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n ];\n\n constructor() // @Inject(SERVICE_CONFIG) config: ServiceConfig // protected httpClient: HttpClient,\n {\n // this.baseUrl = environment.serviceUrl;\n // this.resourceEndpoint = config.resourceEndpoint;\n this.resourceEndpoint = '';\n }\n\n getMockUserRequests(): UserAccessRequest[] {\n return new Array(10).fill(1).map((id, i) => ({\n Name: `User ${id + i}`,\n Id: id + i,\n id: (id + i).toString(),\n MailAddress: `user${id + i}@mail.com`,\n PhoneNumber: `+23480000000${id + i}`,\n Status: randomEnum(UserAccessRequestStatus),\n RoleID: this.roles[Math.floor(Math.random() * this.roles.length)].id,\n Password: '1234567',\n ExpireOn: new Date(),\n IsSeeded: false,\n OTPExpireOn: new Date(),\n Tenants: [],\n\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant${id + i}`,\n }));\n }\n\n // getUserRequests() {\n // return this.httpClient.get<UserAccessRequest[]>(`${this.resourceEndpoint}`);\n // }\n\n // getUserRequestById(id: number) {\n // return this.httpClient.get<UserAccessRequest>(\n // `${this.resourceEndpoint}/${id}`\n // );\n // }\n\n // processUserReuqests(ids: string[], approval: boolean = true) {\n // return this.httpClient.post<UserAccessRequest[]>(\n // `${this.resourceEndpoint}`,\n // ids\n // );\n // }\n}\n\nfunction randomEnum<T extends object>(anEnum: T): T[keyof T] {\n const enumValues = Object.values(anEnum) as unknown as T[keyof T][];\n const randomIndex = Math.floor(Math.random() * enumValues.length);\n return enumValues[randomIndex];\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\nimport { roles } from '../helper';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-form',\n templateUrl: './user-request-form.component.html',\n styleUrl: './user-request-form.component.css',\n})\nexport class UserRequestFormComponent {\n @Input() set currentData(value: CardData | null) {\n if (value?.data) {\n this.form.patchValue({\n MailAddress: value.data.MailAddress || '',\n Name: value.data.Name || '',\n PhoneNumber: value.data.PhoneNumber || '',\n });\n } else {\n this.form.reset();\n }\n }\n @Output() switchView = new EventEmitter<undefined>();\n\n form: FormGroup;\n\n roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n ];\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n MailAddress: ['', { readonly: true }],\n Name: ['', { readonly: true }],\n PhoneNumber: ['', { readonly: true }],\n RoleId: [''],\n });\n }\n\n ngOnInit(): void {}\n\n onSave(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n }\n }\n\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n}\n","<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n />\n <verbena-input label=\"Name:\" name=\"Name\" type=\"text\" formControlName=\"Name\" />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div\n class=\"flex justify-between bottom-8 left-0 right-0 px-3 pb-2 absolute\"\n style=\"\n display: flex;\n justify-content: space-between;\n position: absolute;\n padding: 8px 12px;\n right: 0;\n left: 0;\n bottom: 32;\n \"\n >\n <!-- <verbena-button\n text=\"Delete\"\n class=\"bg-secondary-200 text-[black]\"\n (click)=\"onDelete()\"\n />\n <verbena-button\n text=\"Save\"\n class=\"bg-primary text-[black]\"\n (click)=\"onSave()\"\n />\n\n <verbena-button\n text=\"Secondary Button\"\n styleType=\"secondary\"\n ></verbena-button> -->\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n ></verbena-button>\n </div>\n</form>\n","import { Component, Input } from '@angular/core';\nimport { UserAccessRequestStatus } from '../../../models/user-access-request-status';\n\n@Component({\n selector: 'lib-user-access-request-status-badge',\n templateUrl: './user-access-request-status-badge.component.html',\n styleUrl: './user-access-request-status-badge.component.css',\n})\nexport class UserAccessRequestStatusBadgeComponent {\n @Input() status: UserAccessRequestStatus = UserAccessRequestStatus.Pending;\n\n badgeConfig() {\n switch (this.status) {\n case UserAccessRequestStatus.Approved:\n return { bgColor: '#CAE1CC', textColor: '#4ABB54', label: 'Approved' };\n case UserAccessRequestStatus.Declined:\n return { bgColor: '#FFDFDF', textColor: '#EB5757', label: 'Rejected' };\n default:\n return { bgColor: '#827C7C', textColor: '#C3C3C3', label: 'Pending' };\n }\n }\n}\n","<verbena-badge\n borderRadius=\"9px\"\n [bgColor]=\"badgeConfig().bgColor\"\n [textColor]=\"badgeConfig().textColor\"\n [text]=\"badgeConfig().label\"\n></verbena-badge>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit,\n signal,\n ViewChild,\n WritableSignal,\n} from '@angular/core';\nimport { columns } from './access-request.columns';\nimport { mockData } from './helper';\nimport { baseStyle } from './base-table-style';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport {\n CardData,\n CardDataViewComponent,\n ColumnDefinition,\n DataFilterType,\n DataViewComponent,\n IDataFilter,\n} from 'verben-ng-ui';\nimport { UserRequestApprovalService } from './user-request-approval.service';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-approval',\n templateUrl: './user-request-approval.component.html',\n styleUrl: './user-request-approval.component.css',\n // changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class UserRequestApprovalComponent implements OnInit {\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n\n columns: ColumnDefinition<UserAccessRequest>[] = [\n {\n id: 'createdAt',\n header: 'Created',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'user',\n header: 'Name',\n accessorKey: 'Name',\n },\n {\n id: 'mail',\n header: 'E-Mail',\n accessorKey: 'MailAddress',\n },\n {\n id: 'phone',\n header: 'Phone Number',\n accessorKey: 'PhoneNumber',\n },\n { id: 'actions', header: 'Actions', accessorKey: 'MailAddress' },\n ];\n // visibleColumnDef: WritableSignal<ColumnDefinition<UserAccessRequest>[]> =\n // signal(columns);\n visibleColumnDef = this.columns;\n data: UserAccessRequest[] = [];\n styles = baseStyle;\n currentData: CardData | null = null;\n isGridView = true;\n selected: CardData | null = null;\n\n cardData: CardData[] = mockData.map(\n ({ Name, MailAddress, PhoneNumber, RoleID, Status }) => ({\n selected: false,\n title: Name,\n data: {\n Name,\n MailAddress,\n PhoneNumber,\n RoleID,\n Status,\n } as Partial<UserAccessRequest>,\n body: [\n { title: 'Name', value: Name },\n { title: 'E-Mail Address', value: MailAddress },\n { title: 'Phone Number', value: PhoneNumber ?? '' },\n ],\n children: [],\n })\n );\n\n constructor(\n private cdr: ChangeDetectorRef,\n private service: UserRequestApprovalService\n ) {}\n\n ngOnInit(): void {\n this.data = this.service.getMockUserRequests();\n }\n\n openDetailView(mailAddress: string) {\n const cardItem = this.getCardDataByMailAddress(mailAddress);\n if (cardItem && this.cardDataView) {\n this.dataView.toggleView();\n // First reset all selections\n this.cardData.forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n\n // Set the selected item\n cardItem.selected = true;\n this.currentData = this.cardDataView.onItemClick(cardItem);\n\n // Force change detection if needed\n // this.changeDetectorRef.detectChanges();\n }\n }\n\n getCardDataByMailAddress(mailAddress: string): CardData | undefined {\n return this.cardData.find(({ data }) => data.MailAddress === mailAddress);\n }\n\n onViewChange(isGridView: boolean): void {\n this.isGridView = isGridView;\n // Reset selection when switching views\n if (this.currentData) {\n this.cardDataView?.clearData();\n this.currentData = null;\n }\n\n console.log('SELECTED', this.selected);\n\n if (this.selected) {\n this.cardDataView.onItemClick(this.selected);\n }\n }\n\n openFormView(index: number) {\n const item = this.cardData[index];\n console.log('ITEM = ', item);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n /**\n *\n * @param data Simple csv export for testing\n */\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n onSelectionChange(selectedRows: UserAccessRequest[]) {\n console.log('Selection changed:', selectedRows);\n // Handle the selection change\n }\n\n /**\n * Copied over from card view doc until I understand usage\n */\n selectedColumnCount: number = 0;\n selectedFilterTableCount: number = 0;\n isOPen: boolean = true;\n selectedSortCount: number = 0;\n showColumn: boolean = false;\n showSort: boolean = false;\n selectedAll: boolean = false;\n visibleColumns: IDataFilter[] = columns.map((col) => ({\n checked: true,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n filterArray: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'MailAddress',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'PhoneNumber',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n\n sortOptions: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'MailAddress',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'PhoneNumber',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n clearData() {\n this.currentData = {} as CardData;\n }\n loadMore() {\n this.cardData = this.cardData.concat(this.cardData);\n }\n onColumnChange(event: boolean) {\n this.showColumn = event;\n }\n onSortChange(event: boolean) {\n this.showSort = event;\n console.log(event);\n }\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n console.log(updatedColumns);\n const updatedColumnDef: ColumnDefinition<UserAccessRequest>[] = [];\n updatedColumns.forEach((col) => {\n const matchingCol = this.columns.find(\n (column) => column.header === col.name || column.id === col.name\n );\n if (matchingCol) {\n updatedColumnDef.push(matchingCol);\n }\n });\n\n console.log(updatedColumnDef);\n this.visibleColumnDef = [...updatedColumnDef];\n this.cdr.markForCheck();\n\n this.onColumnChange(false);\n this.selectedColumnCount = updatedColumns.length;\n }\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.onSortChange(false);\n this.selectedSortCount = updatedSorts.length;\n console.log(updatedSorts);\n }\n\n onStateChange(event: { key: string; value: boolean }): void {\n console.log(`State changed for ${event.key}:`, event.value);\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow >\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <verben-svg\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"vlcd.showChildren(item)\"\n [ngClass]=\"vlcd.showToggle(item) ? 'visible' : 'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\"\n [icon]=\"item.isChildrenExpanded ? 'minus' : 'plus'\"\n />\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex items-center gap-4\">\n <div class=\"space-y-1\">\n <span class=\"font-semibold text-[#404040]\">{{\n item.title\n }}</span>\n <p class=\"flex items-center\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"space-y-1\">\n <p class=\"grid\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Role</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\"\n >Manager</span\n >\n </p>\n <lib-user-access-request-status-badge\n [status]=\"item.data.Status\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n\n <!-- <div class=\"flex\">\n <span class=\"font-normal text-sm\">{{ item.title }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"\">\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black\">{{ ciItem.value }}</span>\n </div>\n } -->\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserRequestApprovalComponent } from './user-request-approval.component';\nimport {\n CardDataViewModule,\n CardModule,\n DataExportModule,\n DataTableModule,\n DataViewModule,\n DropDownModule,\n SortTableModule,\n SvgModule,\n TableFilterModule,\n VerbenaBadgeModule,\n VerbenaButtonModule,\n VerbenaInputModule,\n VisibleColumnModule,\n} from 'verben-ng-ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { UserRequestFormComponent } from './user-request-form/use-request-form.component';\nimport { UserAccessRequestStatusBadgeComponent } from './user-access-request-status-badge/user-access-request-status-badge.component';\nimport { UserRequestApprovalService } from './user-request-approval.service';\n\n@NgModule({\n declarations: [\n UserRequestApprovalComponent,\n UserRequestFormComponent,\n UserAccessRequestStatusBadgeComponent,\n ],\n imports: [\n CommonModule,\n\n DataTableModule,\n CardModule,\n SvgModule,\n DataViewModule,\n CardDataViewModule,\n SortTableModule,\n VisibleColumnModule,\n TableFilterModule,\n DataExportModule,\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n VerbenaBadgeModule,\n DropDownModule,\n ],\n providers: [UserRequestApprovalService],\n exports: [UserRequestApprovalComponent],\n})\nexport class LibUserRequestApprovalModule {}\n","import { ColumnDefinition } from 'verben-ng-ui';\nimport { UserAccessRequest } from '../../models/user-access-request';\n\n\nexport const columns: ColumnDefinition<UserAccessRequest>[] = [\n {\n id: 'createdAt',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'user',\n header: 'NAME',\n accessorKey: 'Name',\n },\n {\n id: 'mail',\n header: 'E-Mail',\n accessorKey: 'MailAddress',\n },\n {\n id: 'phone',\n header: 'PHONE NUMBER',\n accessorKey: 'PhoneNumber',\n },\n {\n id: 'address',\n header: 'ADDRESS',\n accessorKey: 'Address',\n },\n {\n id: 'role',\n header: 'ROLE',\n accessorKey: 'Role',\n\n },\n {\n id: 'status',\n header: 'STATUS',\n accessorKey: 'Status',\n\n },\n {\n id: 'actions',\n header: 'ACTIONS',\n accessorKey: 'MailAddress'\n },\n\n];\n","import { ObjectState } from '../../models/object-state';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport { UserAccessRequestStatus } from '../../models/user-access-request-status';\n\nexport const mockData: UserAccessRequest[] = new Array(10)\n .fill(1)\n .map((id, i) => ({\n Name: `User ${id + i}`,\n Id: id + i,\n id: (id + i).toString(),\n MailAddress: `user${id + i}@mail.com`,\n PhoneNumber: `+23480000000${id + i}`,\n Status: UserAccessRequestStatus.Pending,\n Address: `AAA Block`,\n\n Password: '1234567',\n ExpireOn: new Date(),\n IsSeeded: false,\n OTPExpireOn: new Date(),\n Tenants: [],\n Role: [\"Manager\"],\n\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant${id + i}`,\n }));\n","export const baseStyle: any = {\n\n fontFamily: '\"Fraunces\", serif',\n fontSize: '80%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid #D4A007',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: '#FDFDFD',\n },\n odd: {\n backgroundColor: '#F1F4FB',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n stickyTop: true,\n zIndex: 2,\n backgroundColor: '#EFF2FB',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '40px',\n },\n footer: {\n stickyBottom: true,\n zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: '#fff',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n firstColumn: {\n stickyLeft: true,\n zIndex: 1,\n },\n lastColumn: {\n stickyRight: true,\n zIndex: 1,\n },\n};\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\n// import { roles } from '../helper';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-form',\n templateUrl: './user-management-form.component.html',\n styleUrl: './user-management-form.component.css',\n})\nexport class UserManagementFormComponent {\n @Input() set currentData(value: CardData | null) {\n if (value?.data) {\n this.form.patchValue({\n MailAddress: value.data.MailAddress || '',\n Name: value.data.Name || '',\n PhoneNumber: value.data.PhoneNumber || '',\n });\n } else {\n this.form.reset();\n }\n }\n @Output() switchView = new EventEmitter<undefined>();\n\n form: FormGroup;\n\n roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n ];\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n MailAddress: ['', { readonly: true }],\n Name: ['', { readonly: true }],\n PhoneNumber: ['', { readonly: true }],\n RoleId: [''],\n });\n }\n\n ngOnInit(): void {}\n\n onSave(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n }\n }\n\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n}\n","<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n />\n <verbena-input label=\"Name:\" name=\"Name\" type=\"text\" formControlName=\"Name\" />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"RoleId\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div\n class=\"flex justify-between bottom-8 left-0 right-0 px-3 pb-2 absolute\"\n style=\"\n display: flex;\n justify-content: space-between;\n position: absolute;\n padding: 8px 12px;\n right: 0;\n left: 0;\n bottom: 32;\n \"\n >\n <!-- <verbena-button\n text=\"Delete\"\n class=\"bg-secondary-200 text-[black]\"\n (click)=\"onDelete()\"\n />\n <verbena-button\n text=\"Save\"\n class=\"bg-primary text-[black]\"\n (click)=\"onSave()\"\n />\n\n <verbena-button\n text=\"Secondary Button\"\n styleType=\"secondary\"\n ></verbena-button> -->\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n ></verbena-button>\n </div>\n</form>\n","import { Component, ViewChild } from '@angular/core';\nimport { columns } from './user-management.columns';\nimport { mockData } from './helper';\nimport { baseStyle } from './base-table-style';\nimport { UserAccessRequest } from '../../models/user-access-request';\nimport { CardData, DataFilterType, IDataFilter, DropdownLoadEvent, DropdownChangeEvent, CardDataViewComponent, DataViewComponent } from 'verben-ng-ui';\nimport { UserAccessRequestStatus } from '../../models/user-access-request-status';\nimport { ObjectState } from '../../models/object-state';\n\ninterface TestParentObject {\n Id: string;\n Name: string;\n}\n\n@Component({\n selector: 'lib-user-management',\n templateUrl: './user-management.component.html',\n styleUrl:'./user-management.component.css',\n})\nexport class UserManagementComponent {\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n\n\n columns = columns;\n data = mockData;\n styles = baseStyle;\n\n selectedParent?: string;\n basicOption?: string;\n selectedOption: string[] = [];\n selectedOptionTwo: string[] = [];\n selectedOptionThree?: string;\n missingObject: any;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n private generateNewUserAccessRequest(): UserAccessRequest {\n const newId = this.data.length + 1; // Incremental ID based on current data length\n\n return {\n Name: `User ${newId}`,\n Id: `${newId}`,\n id: newId,\n MailAddress: ` `,\n PhoneNumber: ``,\n Status: UserAccessRequestStatus.Pending,\n Address: ` `,\n Password: ' ',\n ExpireOn: new Date(),\n IsSeeded: false,\n OTPExpireOn: new Date(),\n Tenants: [`Tenant${newId}`],\n Role: [\"User\"],\n CreatedAt: new Date(),\n UpdatedAt: new Date(),\n State: ObjectState.New,\n Tenant: `Tenant${newId}`\n };\n }\n\n // Function to add a new user to mockData\n addNewUserToMockData(): UserAccessRequest {\n const newUser = this.generateNewUserAccessRequest();\n this.data.push(newUser); // Adds the new user to the data array\n\n // Optionally, update cardData with the new user entry for card display\n const newCardData: CardData = {\n selected: false,\n title: newUser.Name,\n data: {\n Name: newUser.Name,\n MailAddress: newUser.MailAddress,\n PhoneNumber: newUser.PhoneNumber,\n RoleID: newUser.Role,\n Status: newUser.Status,\n } as Partial<UserAccessRequest>,\n body: [\n { title: 'Name', value: newUser.Name },\n { title: 'E-Mail Address', value: newUser.MailAddress },\n { title: 'Phone Number', value: newUser.PhoneNumber ?? '' },\n ],\n children: [],\n };\n\n this.cardData.push(newCardData); // Update cardData array with the new user\n return newUser;\n }\n\n\n\n\n\n\n\n\n\n\n\n\n // Grid view properties\n isGridView: boolean = true;\n currentData!: CardData;\n selectedColumnCount: number = 0;\n selectedFilterTableCount: number = 0;\n isOPen: boolean = true;\n selectedSortCount: number = 0;\n showColumn: boolean = false;\n showSort: boolean = false;\n selectedAll: boolean = false;\n visibleColumns: IDataFilter[] = columns.map((col) => ({\n checked: false,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n\n\n\n\n\n\n\n\n\n\n\n filterArray: IDataFilter[] = [\n { name: 'Name', type: DataFilterType.String, checked: false },\n { name: 'MailAddress', type: DataFilterType.String, checked: false },\n { name: 'PhoneNumber', type: DataFilterType.String, checked: false },\n { name: 'CreatedAt', type: DataFilterType.Date, checked: false },\n ];\n\n sortOptions: IDataFilter[] = [\n { name: 'Name', type: DataFilterType.String, checked: false },\n { name: 'MailAddress', type: DataFilterType.String, checked: false },\n { name: 'PhoneNumber', type: DataFilterType.String, checked: false },\n { name: 'CreatedAt', type: DataFilterType.Date, checked: false },\n ];\n\n testParents: TestParentObject[] = [\n { Id: '1', Name: 'Manager' },\n { Id: '2', Name: 'Administrator' },\n { Id: '3', Name: 'Jelom' },\n ];\n\n\n\n\n\n\n\n\n\n\n cardData: CardData[] = mockData.map(\n ({ Name, MailAddress, PhoneNumber, RoleID, Status }) => ({\n selected: false,\n title: Name,\n data: {\n Name,\n MailAddress,\n PhoneNumber,\n RoleID,\n Status,\n } as Partial<UserAccessRequest>,\n body: [\n { title: 'Name', value: Name },\n { title: 'E-Mail Address', value: MailAddress },\n { title: 'Phone Number', value: PhoneNumber ?? '' },\n ],\n children: [],\n })\n );\n\n\n\n\n\n\n\n\n ngOnInit(): void {\n this.selectedParent = '1';\n this.selectedOption = ['Opt 1'];\n this.selectedOptionTwo = ['1'];\n this.selectedOptionThree = '1';\n }\n\n getParentLabel(context: any): string {\n console.log({ MissingObj: this.missingObject });\n return this.missingObject.Name;\n }\n\n async loadMoreParents(event: DropdownLoadEvent): Promise<TestParentObject[]> {\n console.log({ ParentLoadEvent: JSON.parse(JSON.stringify(event)) });\n return await new Promise((resolve) =>\n setTimeout(\n () =>\n resolve([\n { Id: '1', Name: 'Jimly' },\n { Id: '2', Name: 'Jecil' },\n { Id: '3', Name: 'Jelom' },\n { Id: '4', Name: 'Jemima' },\n { Id: '5', Name: 'Akintunde' },\n ]),\n 3000\n )\n );\n }\n\n\n\n\n\n\n\n onDropdownChange(event: DropdownChangeEvent): void {\n // console.log({\n // 'Test Parent Value': this.selectedParent,\n // ...\n // });\n }\n\n onSelectionChange(selectedRows: UserAccessRequest[]) {\n console.log('Selection changed:', selectedRows);\n // Handle the selection change\n }\n\n handleExport(exportedData: Partial<any>[]) {\n console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n\n\n\n\n\n\n\n\n\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n\n\n\n // applyFilters() {\n // this.filteredData = this.data.filter((item) => {\n // return this.filterArray.every((filter) => {\n // if (filter.checked) {\n // switch (filter.type) {\n // case DataFilterType.String:\n // return item[filter.name].toLowerCase().includes(filter.name.toLowerCase());\n // case DataFilterType.Date:\n // return new Date(item[filter.name]) >= new Date(filter.name);\n // default:\n // return true;\n // }\n // }\n // return true;\n // });\n // });\n // }\n getCardDataByMailAddress(mailAddress: string): CardData | undefined {\n console.log(\"cardData array:\", this.cardData);\n console.log(mailAddress);\n\n return this.cardData.find(({ data }) => data?.MailAddress === mailAddress);\n }\n\n openDetailView(mailAddress: string) {\n const cardItem = this.getCardDataByMailAddress(mailAddress);\n console.log(cardItem);\n\n if (cardItem && this.cardDataView) {\n this.dataView.toggleView();\n // First reset all selections\n this.cardData.forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n\n // Set the selected item\n cardItem.selected = true;\n this.currentData = this.cardDataView.onItemClick(cardItem);\n\n // Force change detection if needed\n // this.changeDetectorRef.detectChanges();\n }\n\n }\n newItem (){\n const newData = this.addNewUserToMockData();\n const newCardData: CardData = {\n selected: true,\n title: newData.Name,\n data: {\n ...newData,\n } as Partial<UserAccessRequest>,\n body: [\n { title: 'Name', value: newData.Name },\n { title: 'E-Mail Address', value: newData.MailAddress },\n { title: 'Phone Number', value: newData.PhoneNumber ?? '' },\n ],\n children: [],\n }\n\n\n if (this.dataView.isTableView) {\n this.dataView.toggleView();\n }\n // First reset all selections\n this.cardData.forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n // this.cardData = [newCardData].concat(this.cardData);\n // this.cardDataView.onItemClick(newCardData)\n\n this.cardData = [newCardData, ...this.cardData];\n\n\n\n this.currentData = this.cardDataView.onItemClick(newCardData);\n\n\n }\n\n\n\n\n\n toggleChildView(action: string) {\n if (action === 'create') {\n const newCard: CardData = {\n selected: false,\n title: 'New Card', // Default title, change as needed\n data: { Name: '', MailAddress: '', PhoneNumber: '' },\n body: [\n { title: 'Name', value: '' },\n { title: 'E-Mail Address', value: '' },\n { title: 'Phone Number', value: '' }\n ],\n children: []\n };\n\n this.cardData.push(newCard);\n }\n }\n\n\n\n\n\n\n clearData() {\n this.currentData = {} as CardData;\n }\n\n loadMore() {\n this.cardData = this.cardData.concat(this.cardData);\n }\n\n onColumnChange(event: boolean) {\n this.showColumn = event;\n }\n\n onSortChange(event: boolean) {\n this.showSort = event;\n console.log(event);\n }\n\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n this.onColumnChange(false);\n this.selectedColumnCount = updatedColumns.length;\n }\n\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.onSortChange(false);\n this.selectedSortCount = updatedSorts.length;\n console.log(updatedSorts);\n }\n\n onViewChange(isGridView: boolean): void {\n console.log('View changed to:', isGridView ? 'Grid View' : 'List View');\n }\n\n onStateChange(event: { key: string; value: boolean }): void {\n console.log(`State changed for ${event.key}:`, event.value);\n if( event.key === \"create\"){\n console.log('peace is a boy');\n\n this.newItem();\n\n // const newUser = this.newItem()\n\n // if ( newUser && this.cardDataView) {\n // this.dataView.toggleView();\n // // First reset all selections\n // this.cardData.forEach((item) => {\n // item.selected = false;\n // if (item.children) {\n // item.children.forEach((child) => (child.selected = false));\n // }\n // });\n\n\n // this.currentData = this.cardDataView.onItemClick(newUser);\n\n // // Force change detection if needed\n // // this.changeDetectorRef.detectChanges();\n // }\n\n\n\n }\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: true,\n isToggle:true\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data\"\n [columns]=\"columns\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow >\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <ng-template #header>\n <strong>Actions</strong>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template\n #cell\n let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\"\n let-deleteRow=\"deleteRow\"\n let-value=\"value\"\n >\n <verbena-badge\n borderRadius=\"20px\"\n width=\"121px\"\n text=\"{{value}}\"\n bgColor=\"#D6F3E6\"\n textColor=\"#2DB76F\"\n pd=\"5px 15px\"\n fontSize=\"16px\"\n >\n\n\n </verbena-badge>\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"role\">\n <ng-template\n #cell\n let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\"\n let-deleteRow=\"deleteRow\"\n let-value=\"value\"\n let-updateValue=\"updateValue\"\n >\n <!-- <verben-drop-down [minChar]=\"3\" [required]=\"true\" placeholder=\"Select Parent\"\n [asyncLabel]=\"this.getParentLabel.bind(this)\" invalidMessage=\"No value was provided\"\n width=\"120px\"\n (onChange)=\"onDropdownChange($event)\" [(ngModel)]=\"selectedParent\" optionLabel=\"Name\" optionValue=\"Id\"\n [options]=\"testParents\"></verben-drop-down> -->\n\n <verben-drop-down\n placeholder=\"Select Value\"\n (ngModelChange)=\"onDropdownChange($event)\"\n [options]=\"testParents\"\n optionLabel=\"Name\"\n optionValue=\"Name\"\n [ngModel]=\"value\"\n ></verben-drop-down>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <verben-svg\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"vlcd.showChildren(item)\"\n [ngClass]=\"vlcd.showToggle(item) ? 'visible' : 'invisible'\"\n class=\"items-center flex pr-1 cursor-pointer\"\n [icon]=\"item.isChildrenExpanded ? 'minus' : 'plus'\"\n />\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex flex-col py-2 px-4 w-full\">\n <div class=\"flex items-center gap-4\">\n <div class=\"space-y-1\">\n <span class=\"font-semibold text-[#404040]\">{{\n item.title\n }}</span>\n <p class=\"flex items-center\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Phone Number:</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\">{{\n item.data.PhoneNumber\n }}</span>\n </p>\n </div>\n\n <div class=\"space-y-1\">\n <p class=\"grid\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Role</label\n >\n <span id=\"phone\" class=\"text-sm font-medium\"\n >Manager</span\n >\n </p>\n <!-- <lib-user-access-request-status-badge\n [status]=\"item.data.Status\"\n ></lib-user-access-request-status-badge> -->\n </div>\n </div>\n\n <!-- <div class=\"flex\">\n <span class=\"font-normal text-sm\">{{ item.title }}</span>\n </div>\n @for (ciItem of item.body; track ciItem.value) {\n <div class=\"\">\n <span class=\"text-muted font-light text-xs\"\n >{{ ciItem.title }}:</span\n >\n <span class=\"text-black\">{{ ciItem.value }}</span>\n </div>\n } -->\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"float-right\">\n <div class=\"flex gap-2\">\n <span class=\"paginator-text\"\n >{{ cardData.length }} records loaded</span\n >\n <button (click)=\"loadMore()\" class=\"load-more\">Load more</button>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-export [data]=\"data\" (exportDataEvent)=\"handleExport($event)\">\n </lib-data-export>\n </div>\n </verben-data-view>\n</div>\n","\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserManagementComponent } from './user-management.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport {\n CardDataViewModule,\n CardModule,\n DataExportModule,\n DataTableModule,\n DataViewModule,\n SortTableModule,\n SvgModule,\n TableFilterModule,\n VerbenaButtonModule,\n VerbenaInputModule,\n VisibleColumnModule,\n DropDownModule,\n\n VerbenaBadgeModule\n} from 'verben-ng-ui';\nimport { UserManagementFormComponent } from './user-management-form/use-management-form.component';\n\n@NgModule({\n declarations: [UserManagementComponent, UserManagementFormComponent],\n imports: [\n CommonModule,\n\n DataTableModule,\n CardModule,\n SvgModule,\n DataViewModule,\n CardDataViewModule,\n SortTableModule,\n VisibleColumnModule,\n TableFilterModule,\n DataExportModule,\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n VerbenaBadgeModule,\n DropDownModule\n ],\n exports: [UserManagementComponent],\n})\nexport class LibUserManagementModule {}\n","/*\n * Public API Surface of verben-ng-ui\n */\n\n// export * from './lib/verben-ng-ui.service';\n// export * from './lib/verben-ng-ui.component';\n\n// Exporting modules\n\nexport * from './lib/components/reset-password/reset-password.component';\nexport * from './lib/components/reset-password/reset-password.module';\nexport * from './lib/components/reset-password/ResetPasswordData';\n//user-request-lib\nexport * from './lib/components/user-request/user-request.component';\nexport * from './lib/components/user-request/user-request.module';\nexport * from './lib/models/UserRequest';\n//mail-validation\nexport * from './lib/components/mail-validation/mail-validation.component';\nexport * from './lib/components/mail-validation/mail-validation.module';\n\n//sign up\nexport * from './lib/components/sign-up/sign-up.component';\nexport * from './lib/components/sign-up/sign-up.module';\n//sign in\nexport * from './lib/components/sign-in/sign-in.module';\nexport * from './lib/components/sign-in/sign-in.component';\n//Otp\nexport * from './lib/components/two-factor-auth-otp/two-factor-auth-otp.module';\nexport * from './lib/components/two-factor-auth-otp/two-factor-auth-otp.component';\n//2FA\nexport * from './lib/components/two-factor-auth-setup/two-factor-auth-setup.module';\nexport * from './lib/components/two-factor-auth-setup/two-factor-auth-setup.component';\n//sign up\nexport * from './lib/components/mail/mail.module';\nexport * from './lib/components/mail/mail.component';\n\nexport * from './lib/components/forgot-password/forgot-password.component';\nexport * from './lib/components/forgot-password/forgot-password.module';\nexport * from './lib/components/forgot-password/ForgotPasswordData';\nexport * from './lib/components/sso/sso.component';\nexport * from './lib/components/sso/sso.module';\n\nexport * from './lib/components/user-request-approval/user-request-approval.module';\nexport * from './lib/components/user-request-approval/user-request-approval.component';\n\nexport * from './lib/components/user-management/useer-management.module';\nexport * from './lib/components/user-management/user-management.component';\nexport * from './lib/components/user-request-approval/user-request-approval.service';\nexport * from './lib/services/environment.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.EnvironmentService","i1","i2.HttpWebRequestService","i3.UtilService","i4","i5","i3","i2","i5.ButtonComponent","i6.OAuthComponent","i5.OAuthComponent","i6.ButtonComponent","i3.ButtonComponent","i4.OtpInputComponent","i2.ButtonComponent","columns","mockData","baseStyle","i3.SsoFormComponent","randomEnum","i1.UserRequestApprovalService","i4.UserRequestFormComponent","i5.UserAccessRequestStatusBadgeComponent","i4.UserManagementFormComponent"],"mappings":"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"}