{"version":3,"file":"tapsellorg-angular-material-library-src-lib-auth.mjs","sources":["../../projects/pegah-library/src/lib/auth/constants.ts","../../projects/pegah-library/src/lib/auth/auth-layout/auth-layout.component.ts","../../projects/pegah-library/src/lib/auth/auth-layout/auth-layout.component.html","../../projects/pegah-library/src/lib/auth/login/login.component.ts","../../projects/pegah-library/src/lib/auth/login/login.component.html","../../projects/pegah-library/src/lib/auth/forget-password/forget-password.component.ts","../../projects/pegah-library/src/lib/auth/forget-password/forget-password.component.html","../../projects/pegah-library/src/lib/auth/register/register.component.ts","../../projects/pegah-library/src/lib/auth/register/register.component.html","../../projects/pegah-library/src/lib/auth/login-otp/login-otp.component.ts","../../projects/pegah-library/src/lib/auth/login-otp/login-otp.component.html","../../projects/pegah-library/src/lib/auth/verification-code/verification-code.component.ts","../../projects/pegah-library/src/lib/auth/verification-code/verification-code.component.html","../../projects/pegah-library/src/lib/auth/complete-user-data/complete-user-data.component.ts","../../projects/pegah-library/src/lib/auth/complete-user-data/complete-user-data.component.html","../../projects/pegah-library/src/lib/auth/auth.module.ts","../../projects/pegah-library/src/lib/auth/tapsellorg-angular-material-library-src-lib-auth.ts"],"sourcesContent":["import { PghAuthLayoutInfo } from './models';\n\nexport const PGH_AUTH_LAYOUT_INFO: PghAuthLayoutInfo = {\n  login: {\n    sideTitle: '',\n    redirectTitle: 'ثبت‌نام',\n    redirectPath: 'register',\n  },\n  register: {\n    sideTitle: '',\n    redirectTitle: 'ورود به حساب کاربری',\n    redirectPath: 'login',\n  },\n  'forget-password': {\n    sideTitle: '',\n    redirectTitle: '',\n    redirectPath: '',\n  },\n  'reset-password': {\n    sideTitle: '',\n    redirectTitle: '',\n    redirectPath: '',\n  },\n  'email-verify': {\n    sideTitle: '',\n    redirectTitle: '',\n    redirectPath: '',\n  },\n  'otp-login': {\n    sideTitle: 'ورود',\n    redirectTitle: 'ثبت نام',\n    redirectPath: 'otp-login',\n  },\n  'otp-verification-code': {\n    sideTitle: 'تایید کد',\n    redirectTitle: 'ورود',\n    redirectPath: 'otp-login',\n  },\n};\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  input,\n  model,\n  OnInit,\n  output,\n  signal,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { PghBreakpoints } from '@tapsellorg/angular-material-library/media';\nimport { withDestroy } from '@tapsellorg/angular-material-library/src/lib/common';\nimport { filter, takeUntil } from 'rxjs';\nimport { PGH_AUTH_LAYOUT_INFO } from '../constants';\nimport { PghAuthLayoutInfo, PghLayoutLogoInfo } from '../models';\n\n@Component({\n  selector: 'pgh-auth-layout',\n  templateUrl: './auth-layout.component.html',\n  styleUrls: ['./auth-layout.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('formContainerAnimation', [\n      transition(':enter', [\n        style({ opacity: 0, width: 0 }),\n        animate('.5s ease-out', style({ opacity: 1, width: '60%' })),\n      ]),\n      transition(':leave', [animate('.5s ease-in', style({ width: 0, padding: 0, opacity: 0 }))]),\n    ]),\n  ],\n  standalone: false,\n})\nexport class PghAuthLayoutComponent extends withDestroy() implements OnInit {\n  readonly hasBackButton = input<boolean>(true);\n  readonly hasBackToLogin = input<boolean>(false);\n  readonly hasSupportButton = input<boolean>(true);\n  readonly supportButtonClick = output<void>();\n  readonly isUserPanel = input<boolean>(true);\n  readonly loginButtonText = input('ورود');\n  readonly supportPhoneNumber = input<string>('02191090986');\n  readonly routeName = signal<string>('login');\n  readonly isMobile = signal<boolean>(false);\n  readonly layoutInfo = signal<PghAuthLayoutInfo | undefined>(undefined);\n  readonly logos = input<PghLayoutLogoInfo[]>([\n    {\n      src: 'https://cdn.tapture.ir/tapsell/web/front/web-logo/tapsell-new/logos/white-transparent/Full+Logo+1000px.svg',\n      alt: 'Tapsell Logo',\n      width: 100,\n    },\n    {\n      src: 'https://cdn.tapture.ir/tapsell/web/front/web-logo/mediaad/white-logo.png',\n      alt: 'media Logo',\n      width: 100,\n    },\n  ]);\n\n  isOpened = model<boolean>(false);\n\n  constructor(\n    private router: Router,\n    private breakpointObserver: BreakpointObserver,\n    private cdr: ChangeDetectorRef,\n  ) {\n    super();\n    this.layoutInfo.set(PGH_AUTH_LAYOUT_INFO);\n  }\n\n  ngOnInit(): void {\n    this.onObserveBreakpoints();\n    this.getRouteName();\n  }\n\n  onSupportClick() {\n    this.supportButtonClick.emit();\n  }\n\n  goToLogin() {\n    this.router.navigateByUrl('/login');\n  }\n\n  goBack() {\n    this.isOpened.set(false);\n  }\n\n  goToRegister() {\n    this.router.navigateByUrl('/register');\n  }\n\n  private onObserveBreakpoints() {\n    this.breakpointObserver\n      .observe(PghBreakpoints.md)\n      .pipe(takeUntil(this._destroyed$))\n      .subscribe(result => {\n        this.isMobile.set(!result.matches);\n        this.cdr.detectChanges();\n      });\n  }\n\n  getRouteName() {\n    this.router.events\n      .pipe(filter(event => event instanceof NavigationEnd))\n      .subscribe((event: any) => {\n        this.routeName.set(event.url.split('/')[1].split('?')[0]);\n        this.cdr.detectChanges();\n      });\n  }\n}\n","<div class=\"pgh-auth-layout container\" [class.mobile]=\"isMobile()\" dark=\"false\">\n  @if (isOpened()) {\n  <div\n    class=\"pgh-form-container flex-column\"\n    [class.mobile]=\"isMobile()\"\n    [@formContainerAnimation]\n    [@.disabled]=\"isMobile()\"\n  >\n    @if (!isMobile()) { @if(!hasBackToLogin()){\n    <div class=\"d-flex align-self-start cursor-pointer\" (click)=\"goBack()\">\n      <mat-icon svgIcon=\"arrow_forward_ios\" style=\"width: 20px\" class=\"align-self-end\"></mat-icon>\n      <span>بازگشت</span>\n    </div>\n    }@else{\n    <ng-container [ngTemplateOutlet]=\"backToLogin\"></ng-container>\n    } }\n    <ng-template #backToLogin>\n      <a mat-stroked-button color=\"primary\" [routerLink]=\"['/login']\" class=\"mb-4 align-self-start\">\n        <mat-icon class=\"arrow-right-icon\" svgIcon=\"keyboard_arrow_right\"></mat-icon>\n        <span>بازگشت</span>\n      </a>\n    </ng-template>\n    <div class=\"content-block w-100 flex-column d-flex justify-content-center\">\n      <div class=\"w-100 d-flex flex-row-reverse\">\n        @if (isMobile() && hasBackButton()) {\n        <mat-icon svgIcon=\"arrow_back_ios\" class=\"cursor-pointer\" (click)=\"goBack()\"></mat-icon>\n        }\n      </div>\n      <ng-content></ng-content>\n      <div class=\"pgh-form-subtitle mt-3\" [class.mobile]=\"isMobile()\">\n        @if (hasSupportButton() && !isMobile()) {\n        <div class=\"d-flex align-items-center\">\n          <mat-icon svgIcon=\"support_agent\"></mat-icon>\n          <button mat-button color=\"primary\" (click)=\"onSupportClick()\">نیاز به کمک دارم</button>\n        </div>\n        } @if (isUserPanel()) {\n        <a [routerLink]=\"['/' + layoutInfo()![routeName()].redirectPath]\">\n          {{ layoutInfo()![routeName()].redirectTitle }}\n        </a>\n        }\n      </div>\n    </div>\n  </div>\n  }\n  <div\n    class=\"pgh-side-part p-4\"\n    [class.close]=\"!isOpened()\"\n    [class.mobile-open]=\"isOpened() && isMobile()\"\n    [class.mobile]=\"isMobile()\"\n  >\n    @if (isOpened()) {\n    <div class=\"d-flex flex-column justify-content-center align-items-center w-100\">\n      <span class=\"font-size-24 mt-5\">{{ layoutInfo()![routeName()].sideTitle }}</span>\n    </div>\n    }\n    <div class=\"pgh-auth-logos\">\n      @for (logo of logos(); track logo; let i = $index) {\n      <img [src]=\"logo.src\" [alt]=\"logo.alt\" [width]=\"logo.width\" />\n      @if (i !== logos().length - 1) {\n      <mat-divider [vertical]=\"true\" class=\"logos-divider mx-2\"></mat-divider>\n      } }\n    </div>\n    @if (!isOpened()) {\n    <div class=\"w-100 flex-grow-1\">\n      <button\n        mat-button\n        mat-raised-button\n        class=\"big-mat-button col-12 mb-3\"\n        (click)=\"goToLogin(); isOpened.set(true)\"\n      >\n        <span class=\"text-primary\">{{ loginButtonText() }}</span>\n      </button>\n      @if (isUserPanel()) {\n      <button\n        mat-button\n        mat-stroked-button\n        class=\"big-mat-button col-12\"\n        (click)=\"goToRegister(); isOpened.set(true)\"\n      >\n        <span>ثبت‌نام</span>\n      </button>\n      } @if (hasSupportButton()) {\n      <div class=\"d-flex align-items-center ms-auto me-auto justify-content-center mt-2\">\n        <mat-icon svgIcon=\"support_agent\"></mat-icon>\n        <button mat-button (click)=\"onSupportClick()\">نیاز به کمک دارم</button>\n      </div>\n      }\n    </div>\n    } @if (isUserPanel()) {\n    <a class=\"text-white d-flex align-items-center\" href=\"tel:{{ supportPhoneNumber() }}\">\n      {{\n        supportPhoneNumber()?.slice(0, 3) +\n          '-' +\n          supportPhoneNumber()?.slice(4, supportPhoneNumber()?.length)\n      }}\n      <mat-icon svgIcon=\"call\" class=\"ms-2\"></mat-icon>\n    </a>\n    }\n  </div>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  input,\n  OnChanges,\n  OnInit,\n  output,\n  signal,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { PghLoader } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghLoginForm } from '../models';\nimport { Params } from '@angular/router';\n\n@Component({\n  selector: 'pgh-login',\n  templateUrl: './login.component.html',\n  styleUrls: ['./login.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class PghLoginComponent implements OnInit, OnChanges {\n  pageTitle = input('ورود');\n  description = input('ورود به پنل مدیااد و تپسل با یک حساب');\n  includeForgetPasswordLink = input(false);\n  includeRegisterLink = input(false);\n  type = input<'EMAIL' | 'USERNAME'>('EMAIL');\n  formSubmit = output<PghLoginForm>();\n  submitLoader = input<PghLoader>();\n  buttonText = input('ورود');\n\n  form: UntypedFormGroup = this.formBuilder.group({\n    email: [''],\n    password: ['', { validators: [Validators.required] }],\n  });\n  isPasswordRevealed = signal(false);\n  forgetPasswordLinkQueryParams = signal<Params | undefined>(undefined);\n\n  constructor(private formBuilder: UntypedFormBuilder) {}\n\n  ngOnChanges(): void {\n    this.form\n      .get('email')\n      ?.setValidators(\n        this.type() === 'EMAIL' ? [Validators.required, Validators.email] : [Validators.required],\n      );\n  }\n\n  ngOnInit(): void {\n    this.bindEmailValueChanges();\n  }\n\n  onSubmit(): void {\n    if (this.form.invalid) return;\n\n    this.formSubmit.emit(this.form.value);\n  }\n\n  bindEmailValueChanges() {\n    this.form.get('email')?.valueChanges.subscribe(value => {\n      if (value) {\n        this.forgetPasswordLinkQueryParams.set({\n          email: value,\n        });\n      } else {\n        this.forgetPasswordLinkQueryParams.set(undefined);\n      }\n    });\n  }\n}\n","<div class=\"pgh-login\">\n  <header>\n    <h1 class=\"font-weight-bold text-center font-size-18\">{{ pageTitle() }}</h1>\n  </header>\n  <p class=\"text-center\">{{ description() }}</p>\n  <form [formGroup]=\"form\" (submit)=\"onSubmit()\" class=\"mt-2\">\n    @if (type() === 'USERNAME') {\n    <mat-form-field class=\"w-100\">\n      <mat-label>ایمیل</mat-label>\n      <input\n        matInput\n        type=\"text\"\n        formControlName=\"email\"\n        autocomplete=\"username\"\n        name=\"username\"\n        class=\"text-left ltr\"\n        autocapitalize=\"none\"\n        autofocus\n      />\n      <mat-error *pghFieldError=\"let message\">\n        {{ message }}\n      </mat-error>\n    </mat-form-field>\n    } @if (type() === 'EMAIL') {\n    <mat-form-field class=\"w-100\">\n      <mat-label>ایمیل</mat-label>\n      <input\n        matInput\n        type=\"email\"\n        formControlName=\"email\"\n        autocomplete=\"email\"\n        name=\"email\"\n        class=\"text-left ltr\"\n        autofocus\n      />\n      <mat-error *pghFieldError=\"let message\">\n        {{ message }}\n      </mat-error>\n    </mat-form-field>\n    }\n\n    <mat-form-field class=\"w-100\">\n      <mat-label>رمز عبور</mat-label>\n      <input\n        matInput\n        type=\"password\"\n        formControlName=\"password\"\n        autocomplete=\"current-password\"\n        [pghShowPassword]=\"isPasswordRevealed()\"\n        name=\"password\"\n        class=\"ltr\"\n      />\n      <button\n        type=\"button\"\n        mat-icon-button\n        matSuffix\n        (click)=\"isPasswordRevealed.set(!isPasswordRevealed())\"\n      >\n        <mat-icon [svgIcon]=\"isPasswordRevealed() ? 'visibility_off' : 'visibility'\"></mat-icon>\n      </button>\n      <mat-error *pghFieldError=\"let message\">\n        {{ message }}\n      </mat-error>\n    </mat-form-field>\n    @if (includeForgetPasswordLink()) {\n    <div class=\"mb-3\">\n      <a [routerLink]=\"['/forget-password']\" [queryParams]=\"forgetPasswordLinkQueryParams()\">\n        فراموشی رمز عبور\n      </a>\n    </div>\n    }\n\n    <button\n      mat-raised-button\n      color=\"primary\"\n      class=\"big-mat-button col-12\"\n      id=\"Accounts_Login\"\n      type=\"submit\"\n      [pghLoader]=\"submitLoader()\"\n      [pghLoaderType]=\"'button'\"\n    >\n      <span>{{ buttonText() }}</span>\n    </button>\n  </form>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  input,\n  OnInit,\n  output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { PghLoader } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghForgetPasswordForm } from '../models';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n  selector: 'pgh-forget-password',\n  templateUrl: './forget-password.component.html',\n  styleUrls: ['./forget-password.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class PghForgetPasswordComponent implements OnInit {\n  readonly formSubmit = output<PghForgetPasswordForm>();\n  readonly submitLoader = input<PghLoader>();\n  readonly initialEmailValue = input<string>();\n\n  form = this.formBuilder.group({\n    email: ['', { validators: [Validators.required, Validators.email] }],\n  });\n\n  constructor(private formBuilder: UntypedFormBuilder, private route: ActivatedRoute) {}\n\n  ngOnInit(): void {\n    this.form\n      .get('email')\n      ?.setValue(this.initialEmailValue() || this.route.snapshot.queryParamMap.get('email'));\n  }\n\n  recoverPassword(): void {\n    if (this.form.invalid) return;\n    const email = this.form.get('email')?.value;\n    this.formSubmit.emit({ email });\n  }\n}\n","<div class=\"pgh-forget-password\">\n  <header>\n    <h1 class=\"font-weight-bold text-center font-size-18\">فراموشی رمز عبور</h1>\n    <p class=\"text-center\">برای تغییر رمز عبور، ایمیل خود را وارد کنید</p>\n  </header>\n  <form [formGroup]=\"form\" (submit)=\"recoverPassword()\" class=\"mt-2\">\n    <mat-form-field class=\"w-100\">\n      <mat-label>ایمیل</mat-label>\n      <input\n        matInput\n        formControlName=\"email\"\n        type=\"email\"\n        name=\"email\"\n        autocomplete=\"email\"\n        placeholder=\"email@example.com\"\n        class=\"text-left ltr\"\n        autofocus\n      />\n      <mat-error *pghFieldError=\"let message\">{{ message }}</mat-error>\n    </mat-form-field>\n\n    <button\n      mat-raised-button\n      color=\"primary\"\n      class=\"big-mat-button col-12\"\n      type=\"submit\"\n      [pghLoader]=\"submitLoader()\"\n      [pghLoaderType]=\"'button'\"\n    >\n      تایید\n    </button>\n  </form>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  effect,\n  input,\n  output,\n  signal,\n  untracked,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { PghLoader } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghFormValidators } from '@tapsellorg/angular-material-library/src/lib/input';\nimport { PghRegisterForm, PghRegistrationFormContent } from '../models';\n\n@Component({\n  selector: 'pgh-register',\n  templateUrl: './register.component.html',\n  styleUrls: ['./register.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class PghRegisterComponent {\n  formSubmit = output<PghRegisterForm>();\n  submitLoader = input<PghLoader>();\n  registrationFormContent = input<PghRegistrationFormContent>({\n    mainDescription:\n      'استفاده از <strong>همه</strong> خدمات تبلیغاتی تپسل (وبسایت و اپلیکیشن) فقط با ساخت <strong>یک</strong> حساب کاربری',\n    privacyAgencyTitle: ' قوانین و مقررات تپسل',\n    privacyLink:\n      'https://college.tapsell.ir/%D9%82%D9%88%D8%A7%D9%86%DB%8C%D9%86-%D9%88-%D9%85%D9%82%D8%B1%D8%B1%D8%A7%D8%AA/',\n  });\n  userOptions = input<{ value: string; label: string; description: string }[]>(\n    this.getDefaultOptions(),\n  );\n  isPasswordRevealed = signal<boolean>(false);\n\n  form: UntypedFormGroup = this.formBuilder.group({\n    firstName: ['', { validators: [Validators.required] }],\n    lastName: ['', { validators: [Validators.required] }],\n    email: ['', { validators: [Validators.required, Validators.email] }],\n    phone: ['', { validators: [Validators.required, PghFormValidators.phoneNumberValidator()] }],\n    password: [\n      '',\n      {\n        validators: [\n          Validators.required,\n          PghFormValidators.hasCapitalCase(),\n          PghFormValidators.hasNumber(),\n          PghFormValidators.hasSmallCase(),\n          Validators.minLength(8),\n        ],\n      },\n    ],\n    acceptPolicies: [false, { validators: [Validators.requiredTrue] }],\n    userType: ['advertiser', { validators: [Validators.required] }],\n  });\n\n  passwordValidationRules = [\n    { key: 'minlength', message: 'شامل حداقل ۸ کاراکتر' },\n    { key: 'hasCapitalCase', message: 'شامل حداقل یک حرف بزرگ' },\n    { key: 'hasSmallCase', message: 'شامل حداقل یک حرف کوچک' },\n    { key: 'hasNumber', message: 'شامل حداقل یک عدد' },\n  ];\n\n  constructor(private formBuilder: UntypedFormBuilder) {\n    this.initializeOptions();\n  }\n\n  onUserTypeClick(value: string): void {\n    this.form.get('userType')?.setValue(value);\n  }\n\n  onSubmit(): void {\n    if (this.form.invalid) return;\n\n    this.formSubmit.emit(this.form.value);\n  }\n\n  initializeOptions(): void {\n    effect(() => {\n      untracked(() => this.setDefaultUserType());\n    });\n  }\n\n  private getDefaultOptions(): { value: string; label: string; description: string }[] {\n    return [\n      {\n        value: 'advertiser',\n        label: 'تبلیغ‌دهنده',\n        description: 'می‌خواهم کسب‌وکارم را در وبسایت‌ها یا اپلیکیشن‌ها تبلیغ کنم',\n      },\n      {\n        value: 'publisher',\n        label: 'نمایش‌دهنده',\n        description: 'می‌خواهم با نمایش دادن تبلیغات در وبسایت یا اپلیکیشن خود، درآمد کسب کنم',\n      },\n      {\n        value: 'both',\n        label: 'هر دو',\n        description: 'می‌خواهم هم کسب‌وکارم را تبلیغ کنم و هم از نمایش تبلیغات درآمد کسب کنم',\n      },\n    ];\n  }\n\n  private setDefaultUserType(): void {\n    const defaultValue = this.userOptions().length > 0 ? this.userOptions()[0].value : '';\n    this.form.get('userType')?.setValue(defaultValue);\n  }\n}\n","<header>\n  <h1 class=\"font-weight-bold text-center font-size-18\">ثبت‌نام</h1>\n</header>\n<p class=\"text-center\" [innerHTML]=\"registrationFormContent().mainDescription\"></p>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n  <div class=\"row\">\n    <mat-form-field class=\"col-12 col-md-6\">\n      <mat-label>نام</mat-label>\n      <input matInput formControlName=\"firstName\" type=\"text\" name=\"name\" autocomplete=\"name\" />\n      <mat-error *pghFieldError=\"let message\">{{ message }}</mat-error>\n    </mat-form-field>\n\n    <mat-form-field class=\"col-12 col-md-6\">\n      <mat-label>نام خانوادگی</mat-label>\n      <input\n        matInput\n        formControlName=\"lastName\"\n        type=\"text\"\n        name=\"family-name\"\n        autocomplete=\"family-name\"\n      />\n      <mat-error *pghFieldError=\"let message\">{{ message }}</mat-error>\n    </mat-form-field>\n  </div>\n\n  <mat-form-field class=\"w-100\">\n    <mat-label>ایمیل</mat-label>\n    <input\n      matInput\n      formControlName=\"email\"\n      type=\"email\"\n      name=\"email\"\n      autocomplete=\"email\"\n      placeholder=\"email@example.com\"\n      pghPersianNumbersToEnglish\n      class=\"font-english-numbers\"\n    />\n    <mat-error *pghFieldError=\"let message\">{{ message }}</mat-error>\n  </mat-form-field>\n\n  <mat-form-field class=\"w-100\">\n    <mat-label>شماره‌ی موبایل</mat-label>\n    <input\n      matInput\n      formControlName=\"phone\"\n      type=\"tel\"\n      name=\"tel\"\n      autocomplete=\"tel\"\n      placeholder=\"09xxxxxxxxx\"\n      pghPersianNumbersToEnglish\n    />\n    <mat-error *pghFieldError=\"let message\">{{ message }}</mat-error>\n  </mat-form-field>\n\n  <mat-form-field class=\"w-100\" style=\"margin-bottom: -0.8em\">\n    <mat-label>رمز عبور</mat-label>\n    <input\n      matInput\n      formControlName=\"password\"\n      type=\"password\"\n      name=\"new-password\"\n      [pghShowPassword]=\"isPasswordRevealed()\"\n      autocomplete=\"new-password\"\n    />\n    <button\n      type=\"button\"\n      mat-icon-button\n      matSuffix\n      (click)=\"isPasswordRevealed.set(!isPasswordRevealed())\"\n    >\n      <mat-icon\n        class=\"fz-20\"\n        [svgIcon]=\"isPasswordRevealed() ? 'visibility_off' : 'remove_red_eye'\"\n      ></mat-icon>\n    </button>\n  </mat-form-field>\n\n  @for(rule of passwordValidationRules; track rule.key){\n  <div class=\"font-size-14\">\n    <li\n      [ngClass]=\"{\n        'text-success':\n          !form.get('password')?.hasError(rule.key) &&\n          form.get('password')?.dirty &&\n          form.get('password')?.value,\n        'text-danger': form.get('password')?.hasError(rule.key) && form.get('password')?.dirty,\n        'text-muted': !form.get('password')?.dirty || !form.get('password')?.value\n      }\"\n    >\n      {{ rule.message }}\n    </li>\n  </div>\n  }\n\n  <div class=\"mb-3 mt-4\">\n    <p>نوع حساب کاربری</p>\n\n    <div class=\"pgh-user-type-section d-flex justify-content-between\">\n      @for (option of userOptions(); track option.value){\n      <div\n        class=\"pgh-user-type-item\"\n        [class.selected]=\"form.get('userType')?.value === option?.value\"\n        (click)=\"onUserTypeClick(option.value)\"\n      >\n        <strong>\n          {{ option.label }}\n        </strong>\n\n        <div>\n          <small>\n            {{ option.description }}\n          </small>\n        </div>\n      </div>\n      }\n    </div>\n  </div>\n\n  <mat-checkbox formControlName=\"acceptPolicies\">\n    <a\n      class=\"text-decoration-underline\"\n      href=\"{{ registrationFormContent().privacyLink }}\"\n      target=\"_blank\"\n    >\n      {{ registrationFormContent().privacyAgencyTitle }}\n    </a>\n    را می‌پذیرم.\n  </mat-checkbox>\n  @if (form.get('acceptPolicies')?.invalid && form.get('acceptPolicies')?.touched) {\n  <span class=\"mat-error\">تا زمانی‌که قوانین را نپذیرید نمی‌توانید ثبت‌نام کنید.</span>\n  }\n  <button\n    mat-raised-button\n    color=\"primary\"\n    class=\"big-mat-button col-12 mt-3\"\n    id=\"Send_Email_Verification\"\n    type=\"submit\"\n    [pghLoader]=\"submitLoader()\"\n  >\n    <span>دریافت کد تایید</span>\n  </button>\n</form>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  inject,\n  input,\n  output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { RouterModule } from '@angular/router';\nimport {\n  PghFormValidators,\n  PghInputModule,\n} from '@tapsellorg/angular-material-library/src/lib/input';\nimport { PghLoader, PghLoaderModule } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghLayoutOtpLoginInfo, PghOtpLoginForm } from '../models';\n\n@Component({\n  selector: 'pgh-login-otp',\n  imports: [\n    MatFormFieldModule,\n    ReactiveFormsModule,\n    MatInputModule,\n    MatButtonModule,\n    PghInputModule,\n    PghLoaderModule,\n    MatIconModule,\n    RouterModule,\n  ],\n  templateUrl: './login-otp.component.html',\n  styleUrl: './login-otp.component.scss',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PghLoginOtpComponent {\n  private formBuilder = inject(FormBuilder);\n  readonly pageTitle = input.required<string>();\n  readonly buttonText = input.required<string>();\n  readonly description = input<string>('ورود به پنل کاربری');\n  readonly submitLoader = input<PghLoader>();\n  readonly formSubmit = output<PghOtpLoginForm>();\n  readonly registrationFormContent = input<PghLayoutOtpLoginInfo>({\n    privacyAgencyTitle: ' قوانین و مقررات تپسل',\n    privacyLink:\n      'https://college.tapsell.ir/%D9%82%D9%88%D8%A7%D9%86%DB%8C%D9%86-%D9%88-%D9%85%D9%82%D8%B1%D8%B1%D8%A7%D8%AA/',\n  });\n\n  form: FormGroup = this.formBuilder.group({\n    phone: ['', { validators: [Validators.required, PghFormValidators.phoneNumberValidator()] }],\n  });\n\n  onSubmit() {\n    if (this.form.invalid) return;\n\n    this.formSubmit.emit(this.form.value);\n  }\n}\n","<div class=\"pgh-login\">\n  <header>\n    <h1 class=\"font-weight-bold text-center font-size-18\">{{ pageTitle() }}</h1>\n  </header>\n  <p class=\"text-center\">{{ description() }}</p>\n  <form [formGroup]=\"form\" (submit)=\"onSubmit()\" class=\"mt-2\">\n    <mat-form-field class=\"w-100\">\n      <mat-label>شماره‌ی موبایل</mat-label>\n      <input\n        matInput\n        formControlName=\"phone\"\n        type=\"tel\"\n        name=\"tel\"\n        autocomplete=\"tel\"\n        placeholder=\"09xxxxxxxxx\"\n        pghPersianNumbersToEnglish\n      />\n      <mat-error *pghFieldError=\"let message\">{{ message }}</mat-error>\n    </mat-form-field>\n\n    <button\n      mat-raised-button\n      color=\"primary\"\n      class=\"big-mat-button col-12\"\n      id=\"Accounts_Login\"\n      type=\"submit\"\n      [pghLoader]=\"submitLoader()\"\n      [pghLoaderType]=\"'button'\"\n      [disabled]=\"form.invalid\"\n    >\n      <span>{{ buttonText() }}</span>\n    </button>\n\n    <div class=\"mt-3 mb-5 text-center\">\n      ورود یا ثبت‌نام شما به معنی پذیرش\n      <a\n        class=\"text-decoration-underline\"\n        href=\"{{ registrationFormContent().privacyLink }}\"\n        target=\"_blank\"\n      >\n        {{ registrationFormContent().privacyAgencyTitle }}\n      </a>\n      است\n    </div>\n  </form>\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  inject,\n  input,\n  output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { PghLayoutOtpLoginInfo } from '../models';\nimport { RouterModule } from '@angular/router';\nimport { MatIconModule } from '@angular/material/icon';\nimport {\n  PghCountdownTimerModule,\n  PghCountdownTimerService,\n} from '@tapsellorg/angular-material-library/src/lib/countdown-timer';\nimport { PghPinInputComponent } from '@tapsellorg/angular-material-library/src/lib/pin-input';\nimport { PghLoader, PghLoaderModule } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghInputModule } from '@tapsellorg/angular-material-library/src/lib/input';\n@Component({\n  selector: 'pgh-verification-code',\n  imports: [\n    MatButtonModule,\n    PghInputModule,\n    PghLoaderModule,\n    RouterModule,\n    MatIconModule,\n    PghCountdownTimerModule,\n    PghPinInputComponent,\n  ],\n  templateUrl: './verification-code.component.html',\n  styleUrl: './verification-code.component.scss',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PghVerificationCodeComponent {\n  private pghCountdownTimerService = inject(PghCountdownTimerService);\n  readonly pageTitle = input.required<string>();\n  readonly buttonText = input.required<string>();\n  readonly description = input<string>('کد تایید به شماره ۰۹۱۲۳۴۵۶۷۸۹ پیامک شد');\n  readonly codeLength = input<number>(5);\n  readonly submitLoader = input<PghLoader>();\n  readonly resendDurationSeconds = input<number>(120);\n  readonly canEditPhoneNumber = input<boolean>(true);\n  readonly isPrivacyTextVisible = input<boolean>(true);\n  readonly registrationFormContent = input<PghLayoutOtpLoginInfo>({\n    privacyAgencyTitle: 'قوانین و مقررات تپسل',\n    privacyLink:\n      'https://college.tapsell.ir/%D9%82%D9%88%D8%A7%D9%86%DB%8C%D9%86-%D9%88-%D9%85%D9%82%D8%B1%D8%B1%D8%A7%D8%AA/',\n  });\n  readonly resendCode = output();\n  readonly submitCode = output<string>();\n  isButtonDisabled: boolean = true;\n  currentCode: string = '';\n\n  // this called every time when user changed the code\n  onCodeChanged(code: string) {\n    if (code.length < this.codeLength()) this.isButtonDisabled = true;\n  }\n\n  // this called only if user entered full code\n  onCodeCompleted(code: string) {\n    this.isButtonDisabled = false;\n    this.currentCode = code;\n  }\n\n  reSendVerificationCode() {\n    this.pghCountdownTimerService.restartTimer(this.resendDurationSeconds());\n    this.resendCode.emit();\n  }\n\n  onSubmit() {\n    this.submitCode.emit(this.currentCode);\n  }\n}\n","<div class=\"pgh-login\">\n  <header>\n    <h1 class=\"font-weight-bold text-center font-size-18\">{{ pageTitle() }}</h1>\n  </header>\n  <p class=\"text-center\">{{ description() }}</p>\n\n  @if (canEditPhoneNumber()) {\n  <p class=\"text-center font-size-14\">\n    <a mat-button color=\"accent\" [routerLink]=\"['/login']\" class=\"text-center\">\n      <mat-icon class=\"arrow-right-icon\" svgIcon=\"edit\"></mat-icon>\n      <span>ویرایش شماره موبایل</span>\n    </a>\n  </p>\n  }\n\n  <div dir=\"ltr\" class=\"mb-3\">\n    <pgh-pin-input\n      [isCodeHidden]=\"false\"\n      [codeLength]=\"codeLength()\"\n      [initialFocusField]=\"0\"\n      (codeChanged)=\"onCodeChanged($event)\"\n      (codeCompleted)=\"onCodeCompleted($event); onSubmit()\"\n    ></pgh-pin-input>\n  </div>\n\n  <pgh-countdown-timer\n    class=\"mb-3\"\n    [durationInSeconds]=\"resendDurationSeconds()\"\n    [restartButtonText]=\"'دریافت دوباره کد'\"\n    (restartTimerClick)=\"reSendVerificationCode()\"\n  ></pgh-countdown-timer>\n\n  <button\n    mat-raised-button\n    color=\"primary\"\n    class=\"big-mat-button col-12 mt-3\"\n    id=\"Accounts_Login\"\n    type=\"submit\"\n    [pghLoader]=\"submitLoader()\"\n    [pghLoaderType]=\"'button'\"\n    [disabled]=\"isButtonDisabled\"\n    (click)=\"onSubmit()\"\n  >\n    <span>{{ buttonText() }}</span>\n  </button>\n\n  @if (isPrivacyTextVisible()) {\n  <div class=\"mt-3 mb-5 text-center\">\n    ورود یا ثبت‌نام شما به معنی پذیرش\n    <a\n      class=\"text-decoration-underline\"\n      href=\"{{ registrationFormContent().privacyLink }}\"\n      target=\"_blank\"\n    >\n      {{ registrationFormContent().privacyAgencyTitle }}\n    </a>\n    است\n  </div>\n  }\n</div>\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  inject,\n  input,\n  output,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { RouterModule } from '@angular/router';\nimport { PghLoader, PghLoaderModule } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghInputModule } from '@tapsellorg/angular-material-library/src/lib/input';\nimport { PghLayoutOtpLoginInfo, PghOtpCompleteUserDataForm } from '../models';\n\n@Component({\n  selector: 'pgh-complete-user-data',\n  imports: [\n    MatFormFieldModule,\n    ReactiveFormsModule,\n    MatInputModule,\n    MatButtonModule,\n    PghInputModule,\n    PghLoaderModule,\n    MatIconModule,\n    RouterModule,\n  ],\n  templateUrl: './complete-user-data.component.html',\n  styleUrl: './complete-user-data.component.scss',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PghCompleteUserDataComponent {\n  private formBuilder = inject(FormBuilder);\n  readonly buttonText = input.required<string>();\n  readonly pageTitle = input.required<string>();\n  readonly submitLoader = input<PghLoader>();\n  readonly description = input<string>('برای ورود اطلاعات کاربری خود را تکمیل کنید');\n  readonly formSubmit = output<PghOtpCompleteUserDataForm>();\n  readonly registrationFormContent = input<PghLayoutOtpLoginInfo>({\n    privacyAgencyTitle: ' قوانین و مقررات تپسل',\n    privacyLink:\n      'https://college.tapsell.ir/%D9%82%D9%88%D8%A7%D9%86%DB%8C%D9%86-%D9%88-%D9%85%D9%82%D8%B1%D8%B1%D8%A7%D8%AA/',\n  });\n\n  form: FormGroup = this.formBuilder.group({\n    firstName: ['', { validators: [Validators.required] }],\n    lastName: ['', { validators: [Validators.required] }],\n  });\n\n  onSubmit() {\n    if (this.form.invalid) return;\n\n    this.formSubmit.emit(this.form.value);\n  }\n}\n","<header>\n  <h1 class=\"font-weight-bold text-center font-size-18\">{{ pageTitle() }}</h1>\n</header>\n<p class=\"text-center\">\n  {{ description() }}\n</p>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n  <div class=\"row\">\n    <mat-form-field class=\"col-12 col-md-6\">\n      <mat-label>نام</mat-label>\n      <input matInput formControlName=\"firstName\" type=\"text\" name=\"name\" autocomplete=\"name\" />\n      <mat-error *pghFieldError=\"let message\">{{ message }}</mat-error>\n    </mat-form-field>\n\n    <mat-form-field class=\"col-12 col-md-6\">\n      <mat-label>نام خانوادگی</mat-label>\n      <input\n        matInput\n        formControlName=\"lastName\"\n        type=\"text\"\n        name=\"family-name\"\n        autocomplete=\"family-name\"\n      />\n      <mat-error *pghFieldError=\"let message\">{{ message }}</mat-error>\n    </mat-form-field>\n  </div>\n\n  <button\n    mat-raised-button\n    color=\"primary\"\n    class=\"big-mat-button col-12 mt-2\"\n    id=\"Send_Email_Verification\"\n    type=\"submit\"\n    [pghLoader]=\"submitLoader()\"\n  >\n    <span>{{ buttonText() }}</span>\n  </button>\n\n  <div class=\"mt-3 mb-5 text-center\">\n    ورود یا ثبت‌نام شما به معنی پذیرش\n    <a\n      class=\"text-decoration-underline\"\n      href=\"{{ registrationFormContent().privacyLink }}\"\n      target=\"_blank\"\n    >\n      {{ registrationFormContent().privacyAgencyTitle }}\n    </a>\n    است\n  </div>\n</form>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { PghAuthLayoutComponent } from './auth-layout/auth-layout.component';\nimport { PghLoginComponent } from './login/login.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { PghInputModule } from '@tapsellorg/angular-material-library/src/lib/input';\nimport { PghLoaderModule } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghForgetPasswordComponent } from './forget-password/forget-password.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { PghRegisterComponent } from './register/register.component';\nimport { PghPageHeadModule } from '@tapsellorg/angular-material-library/src/lib/page-head';\nimport { PghMediaModule } from '@tapsellorg/angular-material-library/media';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { PghCountdownTimerModule } from '@tapsellorg/angular-material-library/src/lib/countdown-timer';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { PghLoginOtpComponent } from './login-otp/login-otp.component';\nimport { PghVerificationCodeComponent } from './verification-code/verification-code.component';\nimport { PghCompleteUserDataComponent } from './complete-user-data/complete-user-data.component';\n\n@NgModule({\n  declarations: [\n    PghAuthLayoutComponent,\n    PghLoginComponent,\n    PghForgetPasswordComponent,\n    PghRegisterComponent,\n  ],\n  imports: [\n    CommonModule,\n    RouterModule,\n    ReactiveFormsModule,\n    MatFormFieldModule,\n    MatInputModule,\n    MatButtonModule,\n    PghInputModule,\n    PghLoaderModule,\n    MatIconModule,\n    PghPageHeadModule,\n    PghMediaModule,\n    MatCheckboxModule,\n    MatRadioModule,\n    PghCountdownTimerModule,\n    MatDividerModule,\n    PghLoginOtpComponent,\n    PghVerificationCodeComponent,\n    PghCompleteUserDataComponent,\n  ],\n  exports: [\n    PghAuthLayoutComponent,\n    PghLoginComponent,\n    PghForgetPasswordComponent,\n    PghRegisterComponent,\n    PghLoginOtpComponent,\n    PghVerificationCodeComponent,\n    PghCompleteUserDataComponent,\n  ],\n})\nexport class PghAuthModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i5","i1","i2","i3","i6"],"mappings":"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"}