{"version":3,"file":"ngx-gilmapi-register.mjs","sources":["../../../projects/ui-angular-components/register/src/register.component.ts","../../../projects/ui-angular-components/register/src/register.component.html","../../../projects/ui-angular-components/register/src/register.module.ts","../../../projects/ui-angular-components/register/ngx-gilmapi-register.ts"],"sourcesContent":["import { Component, inject, Inject, Optional, signal, Type, ViewEncapsulation } from '@angular/core';\nimport { AbstractControl, FormBuilder, ValidationErrors, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { MessageService } from 'primeng/api';\n\nimport { RegisterConfig, RegisterCredentials, RegisterServiceInterface } from './interfaces/register.interface';\n\n@Component({\n  selector: 'ngx-gmp-register',\n  templateUrl: './register.component.html',\n  styleUrls: ['./register.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  standalone: false,\n})\nexport class GmpRegisterComponent {\n  fb = inject(FormBuilder);\n  router = inject(Router);\n  messageService = inject(MessageService);\n  activatedRoute = inject(ActivatedRoute);\n\n  private authService: RegisterServiceInterface | null = null;\n  public welcomeContentComponent: Type<any> | null = null;\n  registerConfig: RegisterConfig | null = null;\n\n  $isLoading = signal<boolean>(false);\n  $showPassword = signal<boolean>(false);\n  $showConfirmPassword = signal<boolean>(false);\n  $confirmed = signal<boolean>(false);\n\n  // Iconos de Material\n  eyeOpenIcon = 'pi pi-eye';\n  eyeClosedIcon = 'pi pi-eye-slash';\n\n  registerForm = this.fb.group(\n    {\n      username: ['', [Validators.required, Validators.minLength(3)]],\n      email: ['', [Validators.required, Validators.email]],\n      password: ['', [Validators.required, Validators.minLength(6)]],\n      confirmPassword: ['', [Validators.required]],\n    },\n    { validators: this.passwordMatchValidator },\n  );\n\n  constructor(\n    @Optional() @Inject('AUTH_SERVICE') authService: RegisterServiceInterface,\n    @Optional() @Inject('WELCOME_CONTENT_COMPONENT') welcomeContentComponent: Type<any>,\n    @Optional() @Inject('REGISTER_CONFIG') registerConfig: RegisterConfig,\n  ) {\n    this.authService = authService;\n    this.welcomeContentComponent = welcomeContentComponent;\n    this.registerConfig = registerConfig;\n  }\n\n  passwordMatchValidator(control: AbstractControl): ValidationErrors | null {\n    const password = control.get('password');\n    const confirmPassword = control.get('confirmPassword');\n    if (password && confirmPassword && password.value !== confirmPassword.value) {\n      return { passwordMismatch: true };\n    }\n    return null;\n  }\n\n  togglePasswordVisibility() {\n    this.$showPassword.update(current => !current);\n  }\n\n  toggleConfirmPasswordVisibility() {\n    this.$showConfirmPassword.update(current => !current);\n  }\n\n  toggleConfirmed() {\n    this.$confirmed.update(current => !current);\n  }\n\n  async register() {\n    this.$isLoading.set(true);\n\n    if (this.registerConfig?.showTermsCheckbox && !this.$confirmed()) {\n      this.messageService.add({\n        severity: 'error',\n        summary: 'Error de registro',\n        detail: 'Debe aceptar los términos y condiciones para continuar.',\n        life: 5000,\n      });\n      this.$isLoading.set(false);\n      return;\n    }\n    const credentials: RegisterCredentials = {\n      username: this.registerForm.value.username ?? '',\n      email: this.registerForm.value.email ?? '',\n      password: this.registerForm.value.password ?? '',\n      confirmPassword: this.registerForm.value.confirmPassword ?? '',\n    };\n\n    // Llamar al servicio de autenticación para el registro\n    this.authService?.register(credentials).subscribe({\n      next: (response: any) => {\n        this.$isLoading.set(false);\n      },\n      error: (error: any) => {\n        this.$isLoading.set(false);\n        this.messageService.add({\n          severity: 'error',\n          summary: 'Error de registro',\n          detail: error.message || 'Ocurrió un problema al registrar su cuenta. Por favor intente nuevamente.',\n          life: 5000,\n        });\n        console.error('Register error:', error);\n      },\n    });\n  }\n\n  goToLogin() {\n    if (this.registerConfig?.loginRoute) {\n      this.router.navigate([this.registerConfig.loginRoute]);\n    }\n  }\n\n  resetForm() {\n    this.registerForm.reset();\n    this.$confirmed.set(false);\n    this.registerForm.patchValue({\n      username: '',\n      email: '',\n      password: '',\n      confirmPassword: '',\n    });\n  }\n\n  isSubmitDisabled(): boolean {\n    if (this.$isLoading() || !this.registerForm.valid) {\n      return true;\n    }\n    if (this.registerConfig?.showTermsCheckbox && !this.$confirmed()) {\n      return true;\n    }\n    return false;\n  }\n}\n","<p-toast></p-toast>\n@let isLoading = $isLoading();\n<div class=\"register-page\">\n  <!-- Card Container - only has card styling on large screens -->\n  <div class=\"register-card\">\n    <!-- Left side - Register Form -->\n    <div class=\"register-panel register-panel-form\">\n      <!-- Logo -->\n      @if(registerConfig?.logoUrl) {<div class=\"register-logo-wrap\">\n        <img [src]=\"registerConfig?.logoUrl\" class=\"register-logo\" alt=\"logo\" />\n      </div>\n      }\n\n      <!-- Register Header -->\n      <h1 class=\"register-title\">Registro</h1>\n      <p class=\"register-subtitle\">Creemos su cuenta</p>\n\n      <!-- Register Form -->\n      <form [formGroup]=\"registerForm\" class=\"register-form fade-in\" (ngSubmit)=\"register()\">\n        <div class=\"form-group form-group-spaced\">\n          <label for=\"username\" class=\"register-label\">Nombre de usuario *</label>\n          <input\n            id=\"username\"\n            pInputText\n            type=\"text\"\n            class=\"input-field register-input\"\n            placeholder=\"Ingrese su nombre de usuario\"\n            formControlName=\"username\"\n          />\n        </div>\n\n        <div class=\"form-group form-group-spaced\">\n          <label for=\"email\" class=\"register-label\">Email *</label>\n          <input\n            id=\"email\"\n            pInputText\n            type=\"email\"\n            class=\"input-field register-input\"\n            placeholder=\"Ingrese su email\"\n            formControlName=\"email\"\n          />\n        </div>\n\n        <div class=\"form-group form-group-spaced\">\n          <label for=\"password\" class=\"register-label\">Contraseña *</label>\n          <div class=\"password-field-wrap\">\n            <input\n              id=\"password\"\n              pInputText\n              [type]=\"$showPassword() ? 'text' : 'password'\"\n              class=\"input-field register-input register-input-password\"\n              placeholder=\"Ingrese su contraseña\"\n              formControlName=\"password\"\n            />\n            <button\n              type=\"button\"\n              class=\"password-toggle password-toggle-button\"\n              (click)=\"togglePasswordVisibility()\"\n            >\n              <i [class]=\"$showPassword() ? eyeClosedIcon : eyeOpenIcon\"></i>\n            </button>\n          </div>\n        </div>\n\n        <div class=\"form-group form-group-spaced\">\n          <label for=\"confirmPassword\" class=\"register-label\">Confirmar contraseña *</label>\n          <div class=\"password-field-wrap\">\n            <input\n              id=\"confirmPassword\"\n              pInputText\n              [type]=\"$showConfirmPassword() ? 'text' : 'password'\"\n              class=\"input-field register-input register-input-password\"\n              placeholder=\"Confirme su contraseña\"\n              formControlName=\"confirmPassword\"\n            />\n            <button\n              type=\"button\"\n              class=\"password-toggle password-toggle-button\"\n              (click)=\"toggleConfirmPasswordVisibility()\"\n            >\n              <i [class]=\"$showConfirmPassword() ? eyeClosedIcon : eyeOpenIcon\"></i>\n            </button>\n          </div>\n        </div>\n\n        @if(registerConfig?.showTermsCheckbox) {\n        <div class=\"register-terms-row\">\n          <input\n            type=\"checkbox\"\n            id=\"terms\"\n            [checked]=\"$confirmed()\"\n            (change)=\"toggleConfirmed()\"\n            class=\"checkbox-field register-checkbox\"\n          />\n          <label for=\"terms\" class=\"register-checkbox-label\">\n            He leído y acepto los @if(registerConfig?.termsAndConditionsRoute) {\n            <a\n              [href]=\"registerConfig?.termsAndConditionsRoute\"\n              class=\"register-link\"\n              target=\"_blank\"\n            >\n              términos y condiciones\n            </a>\n            } @else { términos y condiciones }\n          </label>\n        </div>\n        }\n\n        <button\n          type=\"submit\"\n          [class]=\"\n            'submit-button register-submit-button ' +\n            (isSubmitDisabled()\n              ? 'register-submit-button-disabled'\n              : 'register-submit-button-enabled')\n          \"\n          [disabled]=\"isSubmitDisabled()\"\n        >\n          @if(isLoading) {\n          <span class=\"loading-inline\">\n            <i class=\"pi pi-spin pi-spinner loading-inline-icon\"></i>\n            Registrando...\n          </span>\n          } @else {\n          <span>Registrarse</span>\n          }\n        </button>\n\n        @if(registerConfig?.loginRoute) {\n        <div class=\"register-login-row\">\n          <span class=\"register-login-text\">\n            ¿Ya tiene una cuenta?\n            <a (click)=\"goToLogin()\" class=\"register-login-link\">\n              Iniciar sesión\n            </a>\n          </span>\n        </div>\n        }\n      </form>\n    </div>\n\n    <div *ngIf=\"welcomeContentComponent\" class=\"register-panel register-panel-welcome welcome-content\">\n      <ng-container *ngComponentOutlet=\"welcomeContentComponent\"></ng-container>\n    </div>\n  </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n  CUSTOM_ELEMENTS_SCHEMA,\n  NgModule,\n} from '@angular/core';\nimport {\n  FormsModule,\n  ReactiveFormsModule,\n} from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatInputModule } from '@angular/material/input';\nimport { RouterModule } from '@angular/router';\n\nimport { MessageService } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { MessageModule } from 'primeng/message';\nimport { PasswordModule } from 'primeng/password';\nimport { RippleModule } from 'primeng/ripple';\nimport { ToastModule } from 'primeng/toast';\n\nimport { GmpRegisterComponent } from './register.component';\n\n@NgModule({\n  declarations: [GmpRegisterComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    RouterModule.forChild([{ path: '', component: GmpRegisterComponent }]),\n    MatButtonModule,\n    MatInputModule,\n    ButtonModule,\n    CheckboxModule,\n    InputTextModule,\n    PasswordModule,\n    RippleModule,\n    ToastModule,\n    MessageModule,\n  ],\n  providers: [MessageService],\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  exports: [GmpRegisterComponent],\n})\nexport class GmpRegisterModule {\n  constructor() {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}