{"version":3,"file":"hta-login.mjs","sources":["../../../projects/hta-login/src/lib/hta-login.service.ts","../../../projects/hta-login/src/lib/hta-login.component.ts","../../../projects/hta-login/src/lib/hta-login.component.html","../../../projects/hta-login/src/public-api.ts","../../../projects/hta-login/src/hta-login.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class HtaLoginService {\r\n\r\n  constructor() { }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {\r\n  FormGroup,\r\n  FormBuilder,\r\n  FormsModule,\r\n  ReactiveFormsModule,\r\n  Validators,\r\n  FormControl,\r\n} from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { ToastrModule, ToastrService } from 'ngx-toastr';\r\n\r\ninterface LoginFormControl {\r\n  key: string;\r\n  value: any;\r\n  required: boolean;\r\n}\r\n\r\n@Component({\r\n  selector: 'lib-hta-login',\r\n  standalone: true,\r\n  imports: [\r\n    ReactiveFormsModule,\r\n    FormsModule,\r\n    CommonModule,\r\n    HttpClientModule,\r\n    ToastrModule,\r\n  ],\r\n  templateUrl: './hta-login.component.html',\r\n  styleUrl: './hta-login.component.css',\r\n})\r\nexport class HtaLoginComponent implements OnInit {\r\n  passwordVisible: boolean = false;\r\n\r\n  @Input() title: string = 'Login';\r\n\r\n  @Input() loginInputType: 'email' | 'username' = 'username';\r\n  @Input() placeholderEmail!: string;\r\n  @Input() placeholderUser!: string;\r\n  @Input() rememberMe!: string;\r\n  @Input() forgotPassword!: string;\r\n  @Input() passwordTitle!: string;\r\n\r\n  @Input() placeholderPassword!: string;\r\n  @Input() buttonText!: string;\r\n\r\n  @Input() isLoading: boolean = false;\r\n  @Input() isShowPassword: boolean = true;\r\n  @Input() isRememberMe: boolean = true;\r\n  @Input() isForgotPassword: boolean = true;\r\n  @Input() isShowOrSocialBtns: boolean = true;\r\n  @Input() isFacebookLogin: boolean = true;\r\n  @Input() isGoogleLogin: boolean = true;\r\n  @Input() isShowCompanyLogo: boolean = true;\r\n  @Input() CompanyLogoSrc: string = '';\r\n\r\n  @Input() wholePageContainerStyle: any = {\r\n    display: 'flex',\r\n    alignItems: 'center',\r\n    justifyContent: 'center',\r\n    height: '100vh',\r\n    width: '100vw',\r\n  };\r\n\r\n  @Input() loginWrapperStyle: any = {\r\n    display: 'flex',\r\n    flexDirection: 'column',\r\n    alignItems: 'center',\r\n    justifyContent: 'center',\r\n    height: 'auto',\r\n    width: '500px',\r\n    borderRadius: '56px',\r\n    padding: '2px',\r\n    margin: 'auto',\r\n    boxShadow: '0px 4px 15px rgba(0, 0, 0, 0.2)',\r\n    background:\r\n      'linear-gradient(180deg, var(--primary-color) 25%, rgba(33, 150, 243, 0) 50%)',\r\n  };\r\n\r\n  @Input() eyeShowPassword: any = {\r\n    position: 'absolute',\r\n    background: 'none',\r\n    border: 'none',\r\n    cursor: 'pointer',\r\n    left: '30px',\r\n    bottom: '31px',\r\n  };\r\n\r\n  @Input() direction: any = {\r\n    direction: 'rtl',\r\n  };\r\n\r\n  @Input() apiUrl: string = '';\r\n\r\n  @Output() loginSuccess = new EventEmitter<any>();\r\n  @Output() loginFailure = new EventEmitter<any>();\r\n\r\n  value: string = '';\r\n  password: string = '';\r\n\r\n  checked: boolean = false;\r\n  email: string = '';\r\n  username: string = '';\r\n\r\n  formGroupName!: FormGroup;\r\n\r\n  @Output() loginSubmit = new EventEmitter<{\r\n    email: string;\r\n    username: string;\r\n    password: string;\r\n  }>();\r\n\r\n  @Input() usernameControl: LoginFormControl = {\r\n    key: 'username',\r\n    value: '',\r\n    required: true,\r\n  };\r\n\r\n  @Input() passwordControl: LoginFormControl = {\r\n    key: 'password',\r\n    value: '',\r\n    required: true,\r\n  };\r\n\r\n  @Input() formControls: LoginFormControl[] = [];\r\n\r\n  constructor(\r\n    private fb: FormBuilder,\r\n    private http: HttpClient,\r\n    private toastr: ToastrService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    // this.formGroupName = this.fb.group({\r\n    //   loginInputFields: ['', Validators.required],\r\n    //   password: ['', Validators.required],\r\n    //   rememberMe: [false],\r\n    // });\r\n    let group: any = {};\r\n    group[this.usernameControl.key] = new FormControl(\r\n      this.usernameControl.value,\r\n      Validators.required\r\n    );\r\n    group[this.passwordControl.key] = new FormControl(\r\n      this.passwordControl.value,\r\n      Validators.required\r\n    );\r\n    this.formControls.forEach((control) => {\r\n      group[control.key] = control.required\r\n        ? new FormControl(control.value || '', Validators.required)\r\n        : new FormControl(control.value || '');\r\n    });\r\n    this.formGroupName = new FormGroup(group);\r\n    console.log(this.formGroupName);\r\n  }\r\n\r\n  onSubmit() {\r\n    if (this.formGroupName.valid) {\r\n      const loginLoad = this.formGroupName.value;\r\n\r\n      this.http.post(this.apiUrl, loginLoad).subscribe({\r\n        next: (response: any) => {\r\n          this.toastr.success('Login Successful!');\r\n          this.loginSuccess.emit(response);\r\n        },\r\n        error: (error: any) => {\r\n          console.error('Login Failed:', error);\r\n\r\n          if (error.status === 400) {\r\n            this.toastr.error('Invalid credentials, please try again!');\r\n          } else if (error.status === 500) {\r\n            this.toastr.error('Server error, please try again later.');\r\n          } else {\r\n            this.toastr.error('An error occurred, please try again.');\r\n          }\r\n\r\n          this.loginFailure.emit(error);\r\n        },\r\n      });\r\n    } else {\r\n      this.toastr.error('Please provide all required fields!');\r\n    }\r\n  }\r\n\r\n  togglePasswordVisibility() {\r\n    this.passwordVisible = !this.passwordVisible;\r\n    const passwordField = document.getElementById(\r\n      'password'\r\n    ) as HTMLInputElement;\r\n    passwordField.type = this.passwordVisible ? 'text' : 'password';\r\n  }\r\n}\r\n","<form [formGroup]=\"formGroupName\">\r\n  <div [ngStyle]=\"wholePageContainerStyle\">\r\n    <div [ngStyle]=\"loginWrapperStyle\">\r\n      <div [ngStyle]=\"direction\" class=\"details-container mx-auto p-4\">\r\n        @if (isShowCompanyLogo) {\r\n\r\n        <div class=\"company-logo\">\r\n          <img [src]=\"CompanyLogoSrc\" alt=\"Company Logo\" />\r\n        </div>\r\n        }\r\n        <div class=\"inputs-container\">\r\n          <label class=\"inputs-labels\" for=\"inputField\" class=\"form-label\">\r\n            {{\r\n            loginInputType === \"email\" ? \"البريد الالكتروني\" : \"اسم المستخدم\"\r\n            }}\r\n          </label>\r\n          <input type=\"text\" class=\"form-control input-fields\" id=\"loginInputFields\"\r\n            [formControlName]=\"usernameControl.key\" [placeholder]=\"\r\n              loginInputType === 'email' ? placeholderEmail : placeholderUser\r\n            \" />\r\n        </div>\r\n        <div class=\"inputs-container position-relative\">\r\n          <label class=\"inputs-labels\" for=\"password\" class=\"form-label\">\r\n            {{ passwordTitle }}\r\n          </label>\r\n          <input type=\"password\" class=\"input-group form-control input-fields\" id=\"password\"\r\n            [formControlName]=\"passwordControl.key\" [placeholder]=\"placeholderPassword\"\r\n            aria-describedby=\"passwordHelp\" />\r\n\r\n          @if (isShowPassword) {\r\n          <div [ngStyle]=\"eyeShowPassword\">\r\n            <i (click)=\"togglePasswordVisibility()\" [class]=\"\r\n                passwordVisible\r\n                  ? 'icon fa-solid fa-eye'\r\n                  : 'icon fa-solid fa-eye-slash'\r\n              \"></i>\r\n          </div>\r\n          }\r\n        </div>\r\n\r\n        <!-- <div class=\"mt-2\">\r\n      <p class=\"fw-bold\">اقتراحات:</p>\r\n      <ul>\r\n        <li>على الأقل ٨ حروف</li>\r\n        <li>على الأقل حرف واحد كبير</li>\r\n        <li>على الأقل حرف واحد صغير</li>\r\n        <li>على الأقل رقم واحد</li>\r\n      </ul>\r\n    </div> -->\r\n\r\n        <div class=\"d-flex justify-content-between align-items-center mb-3\" class=\"remember-forgot\">\r\n          @if (isRememberMe) {\r\n          <div class=\"form-check\">\r\n            <input class=\"form-check-input\" type=\"checkbox\" id=\"rememberMe\" formControlName=\"rememberMe\" />\r\n            <label class=\"form-check-label\" for=\"rememberMe\">\r\n              {{ rememberMe }}\r\n            </label>\r\n          </div>\r\n          } @if (isForgotPassword) {\r\n          <a href=\"#\">{{ forgotPassword }}</a>\r\n          }\r\n        </div>\r\n\r\n        <div class=\"text-center btn-container\">\r\n          <button type=\"submit\" class=\"submit-btn btn btn-primary\" [disabled]=\"formGroupName.invalid || isLoading\"\r\n            (click)=\"onSubmit()\">\r\n            {{ isLoading ? \"Loading...\" : buttonText }}\r\n          </button>\r\n        </div>\r\n\r\n        @if (isShowOrSocialBtns) {\r\n        <div class=\"or-social-btns\">\r\n          <div class=\"or-row\">\r\n            <p>or</p>\r\n          </div>\r\n\r\n          <div class=\"social-media-btn\">\r\n            @if (isGoogleLogin) {\r\n            <button class=\"google-btn btn btn-primary\">\r\n              <i class=\"fa-brands fa-google\"></i>\r\n              Sign in with Google\r\n            </button>\r\n            } @if (isFacebookLogin) {\r\n            <button class=\"facebook-btn btn btn-primary\">\r\n              <i class=\"fa-brands fa-facebook-f\"></i>\r\n              Connect with Facebook\r\n            </button>\r\n            }\r\n          </div>\r\n        </div>\r\n        }\r\n      </div>\r\n    </div>\r\n  </div>\r\n</form>","/*\r\n * Public API Surface of hta-login\r\n */\r\n\r\nexport * from './lib/hta-login.service';\r\nexport * from './lib/hta-login.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}