barsa-novin-ray-core 2.0.126 → 2.0.128

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.
Files changed (28) hide show
  1. package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +8 -1
  2. package/esm2022/lib/barsa-novin-ray-core.module.mjs +35 -12
  3. package/esm2022/lib/button-loading/button-loading.component.mjs +18 -0
  4. package/esm2022/lib/constants.mjs +9 -1
  5. package/esm2022/lib/controllers/base-controller.mjs +30 -0
  6. package/esm2022/lib/controllers/index.mjs +5 -0
  7. package/esm2022/lib/controllers/login-controller.mjs +54 -0
  8. package/esm2022/lib/controllers/login-verification-controller.mjs +54 -0
  9. package/esm2022/lib/controllers/models.mjs +2 -0
  10. package/esm2022/lib/login-enter-mobile/login-enter-mobile.component.mjs +64 -0
  11. package/esm2022/lib/login-verification/login-verification.component.mjs +79 -0
  12. package/esm2022/lib/login2/login2.component.mjs +60 -0
  13. package/esm2022/public-api.mjs +6 -1
  14. package/fesm2022/barsa-novin-ray-core.mjs +363 -10
  15. package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
  16. package/lib/barsa-novin-ray-core.module.d.ts +92 -83
  17. package/lib/button-loading/button-loading.component.d.ts +8 -0
  18. package/lib/constants.d.ts +4 -0
  19. package/lib/controllers/base-controller.d.ts +29 -0
  20. package/lib/controllers/index.d.ts +4 -0
  21. package/lib/controllers/login-controller.d.ts +22 -0
  22. package/lib/controllers/login-verification-controller.d.ts +19 -0
  23. package/lib/controllers/models.d.ts +6 -0
  24. package/lib/login-enter-mobile/login-enter-mobile.component.d.ts +24 -0
  25. package/lib/login-verification/login-verification.component.d.ts +31 -0
  26. package/lib/login2/login2.component.d.ts +34 -0
  27. package/package.json +1 -1
  28. package/public-api.d.ts +5 -0
@@ -0,0 +1,54 @@
1
+ import { Directive, inject, signal } from '@angular/core';
2
+ import { BaseController } from './base-controller';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { catchError, finalize, throwError } from 'rxjs';
5
+ import { BarsaApi } from '../abstract-classes';
6
+ import * as i0 from "@angular/core";
7
+ export class LoginVerificationController extends BaseController {
8
+ constructor(view) {
9
+ super(view);
10
+ this.loading = signal(false);
11
+ this.canVerify = signal(false);
12
+ this._httpClient = inject(HttpClient);
13
+ }
14
+ get form() {
15
+ return this.view.form;
16
+ }
17
+ verifyCode(e) {
18
+ this.form.valid && this.loading.set(true);
19
+ const { code, cap, capId } = e;
20
+ this.form.valid && this.loading.set(true);
21
+ this._httpClient
22
+ .post(`/api/openid/callback?provider=BarsaOtpLogin`, {
23
+ otpId: localStorage.getItem('otpId'),
24
+ otpCode: code,
25
+ captchaCode: cap,
26
+ capId
27
+ })
28
+ .pipe(finalize(() => {
29
+ this.loading.set(false);
30
+ }), catchError((err) => {
31
+ if (typeof err === 'object' && err.status === 403) {
32
+ this.view.showError(err.error.Message, err.error.Code);
33
+ }
34
+ return throwError(() => new Error(err));
35
+ }))
36
+ .subscribe((c) => {
37
+ if (c?.Sth) {
38
+ localStorage.removeItem('otpId');
39
+ window.localStorage.setItem(BarsaApi.LoginAction.token2StorageKey, c.Sth);
40
+ this.view.codeVerified();
41
+ }
42
+ });
43
+ }
44
+ init() {
45
+ this.form.valueChanges.subscribe((c) => this.form.valid ? this.canVerify.set(true) : this.canVerify.set(false));
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LoginVerificationController, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
48
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: LoginVerificationController, usesInheritance: true, ngImport: i0 }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LoginVerificationController, decorators: [{
51
+ type: Directive,
52
+ args: [{}]
53
+ }], ctorParameters: () => [{ type: undefined }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tdmVyaWZpY2F0aW9uLWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2NvbnRyb2xsZXJzL2xvZ2luLXZlcmlmaWNhdGlvbi1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFhLE1BQU0sbUJBQW1CLENBQUM7QUFFOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRS9DLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxjQUFzQztJQUluRixZQUFZLElBQTRCO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUpoQixZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFHakMsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUNELFVBQVUsQ0FBQyxDQUFDO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXO2FBQ1gsSUFBSSxDQUFrQiw2Q0FBNkMsRUFBRTtZQUNsRSxLQUFLLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDcEMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsR0FBRztZQUNoQixLQUFLO1NBQ1IsQ0FBQzthQUNELElBQUksQ0FDRCxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDZixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztnQkFDVCxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNqQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsSUFBSTtRQUNBLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQ3pFLENBQUM7SUFDTixDQUFDOzhHQTVDUSwyQkFBMkI7a0dBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFEdkMsU0FBUzttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbnRyb2xsZXIsIElWaWV3QmFzZSB9IGZyb20gJy4vYmFzZS1jb250cm9sbGVyJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzJztcbkBEaXJlY3RpdmUoe30pXG5leHBvcnQgY2xhc3MgTG9naW5WZXJpZmljYXRpb25Db250cm9sbGVyIGV4dGVuZHMgQmFzZUNvbnRyb2xsZXI8SUxvZ2luVmVyaWZpY2F0aW9uVmlldz4ge1xuICAgIGxvYWRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICAgIGNhblZlcmlmeSA9IHNpZ25hbChmYWxzZSk7XG4gICAgX2h0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgY29uc3RydWN0b3IodmlldzogSUxvZ2luVmVyaWZpY2F0aW9uVmlldykge1xuICAgICAgICBzdXBlcih2aWV3KTtcbiAgICB9XG4gICAgZ2V0IGZvcm0oKTogRm9ybUdyb3VwIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlldy5mb3JtO1xuICAgIH1cbiAgICB2ZXJpZnlDb2RlKGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtLnZhbGlkICYmIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIGNvbnN0IHsgY29kZSwgY2FwLCBjYXBJZCB9ID0gZTtcbiAgICAgICAgdGhpcy5mb3JtLnZhbGlkICYmIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX2h0dHBDbGllbnRcbiAgICAgICAgICAgIC5wb3N0PHsgU3RoOiBzdHJpbmcgfT4oYC9hcGkvb3BlbmlkL2NhbGxiYWNrP3Byb3ZpZGVyPUJhcnNhT3RwTG9naW5gLCB7XG4gICAgICAgICAgICAgICAgb3RwSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdvdHBJZCcpLFxuICAgICAgICAgICAgICAgIG90cENvZGU6IGNvZGUsXG4gICAgICAgICAgICAgICAgY2FwdGNoYUNvZGU6IGNhcCxcbiAgICAgICAgICAgICAgICBjYXBJZFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZXJyID09PSAnb2JqZWN0JyAmJiBlcnIuc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlldy5zaG93RXJyb3IoZXJyLmVycm9yLk1lc3NhZ2UsIGVyci5lcnJvci5Db2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXJyKSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYz8uU3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdvdHBJZCcpO1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oQmFyc2FBcGkuTG9naW5BY3Rpb24udG9rZW4yU3RvcmFnZUtleSwgYy5TdGgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpZXcuY29kZVZlcmlmaWVkKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIGluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjKSA9PlxuICAgICAgICAgICAgdGhpcy5mb3JtLnZhbGlkID8gdGhpcy5jYW5WZXJpZnkuc2V0KHRydWUpIDogdGhpcy5jYW5WZXJpZnkuc2V0KGZhbHNlKVxuICAgICAgICApO1xuICAgIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUxvZ2luVmVyaWZpY2F0aW9uVmlldyBleHRlbmRzIElWaWV3QmFzZSB7XG4gICAgZm9ybTogRm9ybUdyb3VwO1xuICAgIGNvZGVWZXJpZmllZDogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9jb250cm9sbGVycy9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUFwaVJlc3VsdCB7XG4gICAgZGF0YTogYW55O1xuICAgIGVycm9yPzogYW55O1xuICAgIHN1Y2NlZWQ6IGJvb2xlYW47XG59XG5leHBvcnQgdHlwZSBMb2dpblN0YXRlID0gJ2VudGVyLW1vYmlsZScgfCAndmVyaWZpY2F0aW9uJztcbiJdfQ==
@@ -0,0 +1,64 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output, signal } from '@angular/core';
2
+ import { LoginController, ViewBase } from '../controllers';
3
+ import { Validators } from '@angular/forms';
4
+ import { forbiddenValidator, mobile_regex } from '../constants';
5
+ import { MessageToastService, ToastBottomCenterPosition } from '@fundamental-ngx/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "../button-loading/button-loading.component";
9
+ export class LoginEnterMobileComponent extends ViewBase {
10
+ constructor(fb) {
11
+ super();
12
+ this.fb = fb;
13
+ this.otpSent = new EventEmitter();
14
+ this.capId = signal('-');
15
+ this.showCaptcha = signal(false);
16
+ this.messageToastService = inject(MessageToastService);
17
+ this.showCaptcha.set(false);
18
+ this.form = this.fb.group({
19
+ mobile: [
20
+ '',
21
+ Validators.compose([Validators.required, Validators.maxLength(11), forbiddenValidator(mobile_regex)])
22
+ ],
23
+ cap: [''],
24
+ capId: [this.capId(), Validators.required]
25
+ });
26
+ this.controller = new LoginController(this);
27
+ }
28
+ showError(message, code) {
29
+ super.showError(message, code);
30
+ this.messageToastService.open(this.errorTemplate, {
31
+ duration: 5000,
32
+ positionStrategy: ToastBottomCenterPosition,
33
+ data: {
34
+ message
35
+ }
36
+ });
37
+ }
38
+ codeSent() {
39
+ this.otpSent.emit(this.form.value.mobile);
40
+ }
41
+ ngOnInit() {
42
+ super.ngOnInit();
43
+ }
44
+ get loading() {
45
+ return this.controller.loading();
46
+ }
47
+ get canSend() {
48
+ return this.controller.canSend();
49
+ }
50
+ onSendCode() {
51
+ this.controller.sendCode(this.form.value);
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LoginEnterMobileComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: LoginEnterMobileComponent, selector: "bnrc-login-enter-mobile", inputs: { errorTemplate: "errorTemplate" }, outputs: { otpSent: "otpSent" }, usesInheritance: true, ngImport: i0, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\n <div class=\"tw-mb-4\">\n <label class=\"tw-block tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4\" for=\"username\"> \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647 </label>\n <input\n class=\"tw-rounded-lg tw-border tw-w-full tw-py-4 tw-px-3 tw-text-gray-700 tw-leading-tight tw-focus:tw-outline-none tw-focus:tw-shadow-outline\"\n name=\"mobile\"\n formControlName=\"mobile\"\n placeholder=\"09121234567\"\n maxlength=\"11\"\n type=\"tel\"\n [disabled]=\"loading\"\n />\n </div>\n <!-- <app-form-captcha [capId]=\"capId()\" [showCaptcha]=\"showCaptcha()\" formControlName=\"cap\"></app-form-captcha> -->\n <div class=\"tw-flex tw-items-center\">\n <bnrc-button-loading\n [text]=\"'\u0627\u0631\u0633\u0627\u0644 \u06A9\u062F \u062A\u0627\u06CC\u06CC\u062F'\"\n [valid]=\"canSend\"\n [loading]=\"loading\"\n (click)=\"onSendCode()\"\n ></bnrc-button-loading>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.ButtonLoadingComponent, selector: "bnrc-button-loading", inputs: ["valid", "loading", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LoginEnterMobileComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'bnrc-login-enter-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\n <div class=\"tw-mb-4\">\n <label class=\"tw-block tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4\" for=\"username\"> \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647 </label>\n <input\n class=\"tw-rounded-lg tw-border tw-w-full tw-py-4 tw-px-3 tw-text-gray-700 tw-leading-tight tw-focus:tw-outline-none tw-focus:tw-shadow-outline\"\n name=\"mobile\"\n formControlName=\"mobile\"\n placeholder=\"09121234567\"\n maxlength=\"11\"\n type=\"tel\"\n [disabled]=\"loading\"\n />\n </div>\n <!-- <app-form-captcha [capId]=\"capId()\" [showCaptcha]=\"showCaptcha()\" formControlName=\"cap\"></app-form-captcha> -->\n <div class=\"tw-flex tw-items-center\">\n <bnrc-button-loading\n [text]=\"'\u0627\u0631\u0633\u0627\u0644 \u06A9\u062F \u062A\u0627\u06CC\u06CC\u062F'\"\n [valid]=\"canSend\"\n [loading]=\"loading\"\n (click)=\"onSendCode()\"\n ></bnrc-button-loading>\n </div>\n</form>\n" }]
59
+ }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { otpSent: [{
60
+ type: Output
61
+ }], errorTemplate: [{
62
+ type: Input
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZW50ZXItbW9iaWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvbG9naW4tZW50ZXItbW9iaWxlL2xvZ2luLWVudGVyLW1vYmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2xvZ2luLWVudGVyLW1vYmlsZS9sb2dpbi1lbnRlci1tb2JpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQVF2RixNQUFNLE9BQU8seUJBQTBCLFNBQVEsUUFBeUI7SUFTcEUsWUFBb0IsRUFBZTtRQUMvQixLQUFLLEVBQUUsQ0FBQztRQURRLE9BQUUsR0FBRixFQUFFLENBQWE7UUFSekIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFJL0MsVUFBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1Qix3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUk5QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3RCLE1BQU0sRUFBRTtnQkFDSixFQUFFO2dCQUNGLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQzthQUN4RztZQUNELEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzdDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELFNBQVMsQ0FBQyxPQUFlLEVBQUUsSUFBWTtRQUNuQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDOUMsUUFBUSxFQUFFLElBQUk7WUFDZCxnQkFBZ0IsRUFBRSx5QkFBeUI7WUFDM0MsSUFBSSxFQUFFO2dCQUNGLE9BQU87YUFDVjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQTlDUSx5QkFBeUI7a0dBQXpCLHlCQUF5QixtS0NyQnRDLDRuQ0F1QkE7OzJGREZhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07Z0ZBR3JDLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0UsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIHNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMb2dpblZpZXcsIExvZ2luQ29udHJvbGxlciwgVmlld0Jhc2UgfSBmcm9tICcuLi9jb250cm9sbGVycyc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZm9yYmlkZGVuVmFsaWRhdG9yLCBtb2JpbGVfcmVnZXggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWVzc2FnZVRvYXN0U2VydmljZSwgVG9hc3RCb3R0b21DZW50ZXJQb3NpdGlvbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1sb2dpbi1lbnRlci1tb2JpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1lbnRlci1tb2JpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9sb2dpbi1lbnRlci1tb2JpbGUuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luRW50ZXJNb2JpbGVDb21wb25lbnQgZXh0ZW5kcyBWaWV3QmFzZTxMb2dpbkNvbnRyb2xsZXI+IGltcGxlbWVudHMgSUxvZ2luVmlldyB7XG4gICAgQE91dHB1dCgpIG90cFNlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBASW5wdXQoKSBlcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIGNvbnRyb2xsZXI6IExvZ2luQ29udHJvbGxlcjtcbiAgICBmb3JtOiBGb3JtR3JvdXA7XG4gICAgY2FwSWQgPSBzaWduYWwoJy0nKTtcbiAgICBzaG93Q2FwdGNoYSA9IHNpZ25hbChmYWxzZSk7XG4gICAgbWVzc2FnZVRvYXN0U2VydmljZSA9IGluamVjdChNZXNzYWdlVG9hc3RTZXJ2aWNlKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2hvd0NhcHRjaGEuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICBtb2JpbGU6IFtcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDExKSwgZm9yYmlkZGVuVmFsaWRhdG9yKG1vYmlsZV9yZWdleCldKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGNhcDogWycnXSxcbiAgICAgICAgICAgIGNhcElkOiBbdGhpcy5jYXBJZCgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb250cm9sbGVyID0gbmV3IExvZ2luQ29udHJvbGxlcih0aGlzKTtcbiAgICB9XG4gICAgc2hvd0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgY29kZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNob3dFcnJvcihtZXNzYWdlLCBjb2RlKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlVG9hc3RTZXJ2aWNlLm9wZW4odGhpcy5lcnJvclRlbXBsYXRlLCB7XG4gICAgICAgICAgICBkdXJhdGlvbjogNTAwMCxcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IFRvYXN0Qm90dG9tQ2VudGVyUG9zaXRpb24sXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29kZVNlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3RwU2VudC5lbWl0KHRoaXMuZm9ybS52YWx1ZS5tb2JpbGUpO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG4gICAgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIubG9hZGluZygpO1xuICAgIH1cbiAgICBnZXQgY2FuU2VuZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5jYW5TZW5kKCk7XG4gICAgfVxuICAgIG9uU2VuZENvZGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udHJvbGxlci5zZW5kQ29kZSh0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwidHctcHgtOCB0dy1wdC02IHR3LXBiLTggdHctbWItMiB0dy1tdC0yXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cInR3LW1iLTRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwidHctYmxvY2sgdHctdGV4dC1ncmF5LTUwMCB0dy10ZXh0LW1kIHR3LWZvbnQtYm9sZCB0dy1tYi00XCIgZm9yPVwidXNlcm5hbWVcIj4g2LTZhdin2LHZhyDZh9mF2LHYp9mHIDwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1yb3VuZGVkLWxnIHR3LWJvcmRlciB0dy13LWZ1bGwgdHctcHktNCB0dy1weC0zIHR3LXRleHQtZ3JheS03MDAgdHctbGVhZGluZy10aWdodCB0dy1mb2N1czp0dy1vdXRsaW5lLW5vbmUgdHctZm9jdXM6dHctc2hhZG93LW91dGxpbmVcIlxuICAgICAgICAgICAgbmFtZT1cIm1vYmlsZVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtb2JpbGVcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIwOTEyMTIzNDU2N1wiXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCIxMVwiXG4gICAgICAgICAgICB0eXBlPVwidGVsXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIDxhcHAtZm9ybS1jYXB0Y2hhIFtjYXBJZF09XCJjYXBJZCgpXCIgW3Nob3dDYXB0Y2hhXT1cInNob3dDYXB0Y2hhKClcIiBmb3JtQ29udHJvbE5hbWU9XCJjYXBcIj48L2FwcC1mb3JtLWNhcHRjaGE+IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJ0dy1mbGV4IHR3LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8Ym5yYy1idXR0b24tbG9hZGluZ1xuICAgICAgICAgICAgW3RleHRdPVwiJ9in2LHYs9in2YQg2qnYryDYqtin24zbjNivJ1wiXG4gICAgICAgICAgICBbdmFsaWRdPVwiY2FuU2VuZFwiXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlbmRDb2RlKClcIlxuICAgICAgICA+PC9ibnJjLWJ1dHRvbi1sb2FkaW5nPlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
@@ -0,0 +1,79 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, NgZone, Output, signal, ViewChild, ViewChildren } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { ViewBase, LoginVerificationController } from '../controllers';
4
+ import { MessageToastService, ToastBottomCenterPosition } from '@fundamental-ngx/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "../button-loading/button-loading.component";
8
+ export class LoginVerificationComponent extends ViewBase {
9
+ constructor(fb) {
10
+ super();
11
+ this.fb = fb;
12
+ this.otpVerified = new EventEmitter();
13
+ this.changeMobile = new EventEmitter();
14
+ this.capId = signal('-');
15
+ this.showCaptcha = signal(false);
16
+ this._ngZone = inject(NgZone);
17
+ this.messageToastService = inject(MessageToastService);
18
+ this.showCaptcha.set(false);
19
+ this.form = this.fb.group({
20
+ in1: ['', Validators.compose([Validators.required, Validators.maxLength(6)])],
21
+ cap: [''],
22
+ capId: [this.capId(), Validators.required]
23
+ });
24
+ this.controller = new LoginVerificationController(this);
25
+ }
26
+ ngOnInit() {
27
+ super.ngOnInit();
28
+ }
29
+ codeVerified() {
30
+ this.otpVerified.emit();
31
+ }
32
+ showError(message, code) {
33
+ super.showError(message, code);
34
+ this.messageToastService.open(this.errorTemplate, {
35
+ duration: 5000,
36
+ positionStrategy: ToastBottomCenterPosition,
37
+ data: {
38
+ message
39
+ }
40
+ });
41
+ }
42
+ onVerifyCode() {
43
+ this._verifyCode();
44
+ }
45
+ _verifyCode() {
46
+ const { in1, capId, cap } = this.form.value;
47
+ this.controller.verifyCode({ code: `${in1}`, capId, cap });
48
+ }
49
+ get invArr() {
50
+ return this._inputsEl.toArray();
51
+ }
52
+ get loading() {
53
+ return this.controller.loading();
54
+ }
55
+ get canVerify() {
56
+ return this.controller.canVerify();
57
+ }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LoginVerificationComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: LoginVerificationComponent, selector: "bnrc-login-verification", inputs: { mobile: "mobile", errorTemplate: "errorTemplate" }, outputs: { otpVerified: "otpVerified", changeMobile: "changeMobile" }, viewQueries: [{ propertyName: "_loadingBtn", first: true, predicate: ["loadingBtn"], descendants: true }, { propertyName: "_inputsEl", predicate: ["inputv"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\n <label class=\"tw-block tw-w-full tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4 tw-text-sm\">\n \u06A9\u062F \u0627\u0631\u0633\u0627\u0644 \u0634\u062F\u0647 \u0628\u0647 \u0634\u0645\u0627\u0631\u0647 <strong>{{ mobile }}</strong> \u0631\u0627 \u0648\u0627\u0631\u062F \u0646\u0645\u0627\u06CC\u06CC\u062F.\n </label>\n <a\n class=\"tw-inline-flex tw-flex tw-gap-3 tw-items-center tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm tw-font-extrabold tw-mb-4\"\n (click)=\"changeMobile.emit()\"\n >\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"tw-w-6\">\n <path\n d=\"M5,18H9.24a1,1,0,0,0,.71-.29l6.92-6.93h0L19.71,8a1,1,0,0,0,0-1.42L15.47,2.29a1,1,0,0,0-1.42,0L11.23,5.12h0L4.29,12.05a1,1,0,0,0-.29.71V17A1,1,0,0,0,5,18ZM14.76,4.41l2.83,2.83L16.17,8.66,13.34,5.83ZM6,13.17l5.93-5.93,2.83,2.83L8.83,16H6ZM21,20H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z\"\n fill=\"#316bec\"\n />\n </svg>\n </a>\n <div class=\"tw-flex tw-items-center tw-justify-center tw-gap-3 tw-mb-4 tw-flex-row-reverse\">\n <input\n #inputv\n class=\"tw-rounded-lg tw-border tw-w-full tw-py-4 tw-px-3 tw-text-gray-700 tw-leading-tight tw-focus:tw-outline-none tw-focus:tw-shadow-outline\"\n maxlength=\"6\"\n tabindex=\"0\"\n name=\"in1\"\n formControlName=\"in1\"\n />\n </div>\n <div class=\"tw-flex tw-items-center\">\n <bnrc-button-loading\n #loadingBtn\n [text]=\"'\u062A\u0627\u06CC\u06CC\u062F \u06A9\u062F'\"\n [valid]=\"canVerify\"\n [loading]=\"loading\"\n (click)=\"onVerifyCode()\"\n ></bnrc-button-loading>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.ButtonLoadingComponent, selector: "bnrc-button-loading", inputs: ["valid", "loading", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LoginVerificationComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'bnrc-login-verification', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\n <label class=\"tw-block tw-w-full tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4 tw-text-sm\">\n \u06A9\u062F \u0627\u0631\u0633\u0627\u0644 \u0634\u062F\u0647 \u0628\u0647 \u0634\u0645\u0627\u0631\u0647 <strong>{{ mobile }}</strong> \u0631\u0627 \u0648\u0627\u0631\u062F \u0646\u0645\u0627\u06CC\u06CC\u062F.\n </label>\n <a\n class=\"tw-inline-flex tw-flex tw-gap-3 tw-items-center tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm tw-font-extrabold tw-mb-4\"\n (click)=\"changeMobile.emit()\"\n >\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"tw-w-6\">\n <path\n d=\"M5,18H9.24a1,1,0,0,0,.71-.29l6.92-6.93h0L19.71,8a1,1,0,0,0,0-1.42L15.47,2.29a1,1,0,0,0-1.42,0L11.23,5.12h0L4.29,12.05a1,1,0,0,0-.29.71V17A1,1,0,0,0,5,18ZM14.76,4.41l2.83,2.83L16.17,8.66,13.34,5.83ZM6,13.17l5.93-5.93,2.83,2.83L8.83,16H6ZM21,20H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z\"\n fill=\"#316bec\"\n />\n </svg>\n </a>\n <div class=\"tw-flex tw-items-center tw-justify-center tw-gap-3 tw-mb-4 tw-flex-row-reverse\">\n <input\n #inputv\n class=\"tw-rounded-lg tw-border tw-w-full tw-py-4 tw-px-3 tw-text-gray-700 tw-leading-tight tw-focus:tw-outline-none tw-focus:tw-shadow-outline\"\n maxlength=\"6\"\n tabindex=\"0\"\n name=\"in1\"\n formControlName=\"in1\"\n />\n </div>\n <div class=\"tw-flex tw-items-center\">\n <bnrc-button-loading\n #loadingBtn\n [text]=\"'\u062A\u0627\u06CC\u06CC\u062F \u06A9\u062F'\"\n [valid]=\"canVerify\"\n [loading]=\"loading\"\n (click)=\"onVerifyCode()\"\n ></bnrc-button-loading>\n </div>\n</form>\n" }]
64
+ }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { _inputsEl: [{
65
+ type: ViewChildren,
66
+ args: ['inputv']
67
+ }], _loadingBtn: [{
68
+ type: ViewChild,
69
+ args: ['loadingBtn']
70
+ }], otpVerified: [{
71
+ type: Output
72
+ }], changeMobile: [{
73
+ type: Output
74
+ }], mobile: [{
75
+ type: Input
76
+ }], errorTemplate: [{
77
+ type: Input
78
+ }] } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tdmVyaWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvbG9naW4tdmVyaWZpY2F0aW9uL2xvZ2luLXZlcmlmaWNhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2xvZ2luLXZlcmlmaWNhdGlvbi9sb2dpbi12ZXJpZmljYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFFTixNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQTBCLDJCQUEyQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFRdkYsTUFBTSxPQUFPLDBCQUNULFNBQVEsUUFBcUM7SUFnQjdDLFlBQW9CLEVBQWU7UUFDL0IsS0FBSyxFQUFFLENBQUM7UUFEUSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBWHpCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLNUMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRzlDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEIsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzdDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUNELFNBQVMsQ0FBQyxPQUFlLEVBQUUsSUFBWTtRQUNuQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDOUMsUUFBUSxFQUFFLElBQUk7WUFDZCxnQkFBZ0IsRUFBRSx5QkFBeUI7WUFDM0MsSUFBSSxFQUFFO2dCQUNGLE9BQU87YUFDVjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxXQUFXO1FBQ1AsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUNELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzhHQTVEUSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwrWUN6QnZDLG84REFtQ0E7OzJGRFZhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07Z0ZBTXZCLFNBQVM7c0JBQWhDLFlBQVk7dUJBQUMsUUFBUTtnQkFDRyxXQUFXO3NCQUFuQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ2IsV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNFLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZpZXdCYXNlLCBJTG9naW5WZXJpZmljYXRpb25WaWV3LCBMb2dpblZlcmlmaWNhdGlvbkNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb250cm9sbGVycyc7XG5pbXBvcnQgeyBNZXNzYWdlVG9hc3RTZXJ2aWNlLCBUb2FzdEJvdHRvbUNlbnRlclBvc2l0aW9uIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLWxvZ2luLXZlcmlmaWNhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLXZlcmlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2xvZ2luLXZlcmlmaWNhdGlvbi5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5WZXJpZmljYXRpb25Db21wb25lbnRcbiAgICBleHRlbmRzIFZpZXdCYXNlPExvZ2luVmVyaWZpY2F0aW9uQ29udHJvbGxlcj5cbiAgICBpbXBsZW1lbnRzIElMb2dpblZlcmlmaWNhdGlvblZpZXdcbntcbiAgICBAVmlld0NoaWxkcmVuKCdpbnB1dHYnKSBfaW5wdXRzRWw6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgICBAVmlld0NoaWxkKCdsb2FkaW5nQnRuJykgX2xvYWRpbmdCdG46IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQE91dHB1dCgpIG90cFZlcmlmaWVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2VNb2JpbGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQElucHV0KCkgbW9iaWxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXJyb3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBjb250cm9sbGVyOiBMb2dpblZlcmlmaWNhdGlvbkNvbnRyb2xsZXI7XG4gICAgZm9ybTogRm9ybUdyb3VwO1xuICAgIGNhcElkID0gc2lnbmFsKCctJyk7XG5cbiAgICBzaG93Q2FwdGNoYSA9IHNpZ25hbChmYWxzZSk7XG4gICAgX25nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIG1lc3NhZ2VUb2FzdFNlcnZpY2UgPSBpbmplY3QoTWVzc2FnZVRvYXN0U2VydmljZSk7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zaG93Q2FwdGNoYS5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIGluMTogWycnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDYpXSldLFxuICAgICAgICAgICAgY2FwOiBbJyddLFxuICAgICAgICAgICAgY2FwSWQ6IFt0aGlzLmNhcElkKCksIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbnRyb2xsZXIgPSBuZXcgTG9naW5WZXJpZmljYXRpb25Db250cm9sbGVyKHRoaXMpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIGNvZGVWZXJpZmllZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdHBWZXJpZmllZC5lbWl0KCk7XG4gICAgfVxuICAgIHNob3dFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGNvZGU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBzdXBlci5zaG93RXJyb3IobWVzc2FnZSwgY29kZSk7XG4gICAgICAgIHRoaXMubWVzc2FnZVRvYXN0U2VydmljZS5vcGVuKHRoaXMuZXJyb3JUZW1wbGF0ZSwge1xuICAgICAgICAgICAgZHVyYXRpb246IDUwMDAsXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBUb2FzdEJvdHRvbUNlbnRlclBvc2l0aW9uLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG9uVmVyaWZ5Q29kZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmVyaWZ5Q29kZSgpO1xuICAgIH1cbiAgICBfdmVyaWZ5Q29kZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBpbjEsIGNhcElkLCBjYXAgfSA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgICAgICAgdGhpcy5jb250cm9sbGVyLnZlcmlmeUNvZGUoeyBjb2RlOiBgJHtpbjF9YCwgY2FwSWQsIGNhcCB9KTtcbiAgICB9XG4gICAgZ2V0IGludkFycigpOiBFbGVtZW50UmVmW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5wdXRzRWwudG9BcnJheSgpO1xuICAgIH1cbiAgICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5sb2FkaW5nKCk7XG4gICAgfVxuICAgIGdldCBjYW5WZXJpZnkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuY2FuVmVyaWZ5KCk7XG4gICAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJ0dy1weC04IHR3LXB0LTYgdHctcGItOCB0dy1tYi0yIHR3LW10LTJcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJ0dy1ibG9jayB0dy13LWZ1bGwgdHctdGV4dC1ncmF5LTUwMCB0dy10ZXh0LW1kIHR3LWZvbnQtYm9sZCB0dy1tYi00IHR3LXRleHQtc21cIj5cbiAgICAgICAg2qnYryDYp9ix2LPYp9mEINi02K/ZhyDYqNmHINi02YXYp9ix2YcgPHN0cm9uZz57eyBtb2JpbGUgfX08L3N0cm9uZz4g2LHYpyDZiNin2LHYryDZhtmF2KfbjNuM2K8uXG4gICAgPC9sYWJlbD5cbiAgICA8YVxuICAgICAgICBjbGFzcz1cInR3LWlubGluZS1mbGV4IHR3LWZsZXggdHctZ2FwLTMgdHctaXRlbXMtY2VudGVyIHR3LXRleHQtYmx1ZS02MDAgdHctdmlzaXRlZDp0dy10ZXh0LXB1cnBsZS02MDAgdHctdGV4dC1zbSB0dy1mb250LWV4dHJhYm9sZCB0dy1tYi00XCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZU1vYmlsZS5lbWl0KClcIlxuICAgICAgICA+2YjbjNix2KfbjNi0INi02YXYp9ix2Ycg2YfZhdix2KfZh1xuICAgICAgICA8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgY2xhc3M9XCJ0dy13LTZcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk01LDE4SDkuMjRhMSwxLDAsMCwwLC43MS0uMjlsNi45Mi02LjkzaDBMMTkuNzEsOGExLDEsMCwwLDAsMC0xLjQyTDE1LjQ3LDIuMjlhMSwxLDAsMCwwLTEuNDIsMEwxMS4yMyw1LjEyaDBMNC4yOSwxMi4wNWExLDEsMCwwLDAtLjI5LjcxVjE3QTEsMSwwLDAsMCw1LDE4Wk0xNC43Niw0LjQxbDIuODMsMi44M0wxNi4xNyw4LjY2LDEzLjM0LDUuODNaTTYsMTMuMTdsNS45My01LjkzLDIuODMsMi44M0w4LjgzLDE2SDZaTTIxLDIwSDNhMSwxLDAsMCwwLDAsMkgyMWExLDEsMCwwLDAsMC0yWlwiXG4gICAgICAgICAgICAgICAgZmlsbD1cIiMzMTZiZWNcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgPC9hPlxuICAgIDxkaXYgY2xhc3M9XCJ0dy1mbGV4IHR3LWl0ZW1zLWNlbnRlciB0dy1qdXN0aWZ5LWNlbnRlciB0dy1nYXAtMyB0dy1tYi00IHR3LWZsZXgtcm93LXJldmVyc2VcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXR2XG4gICAgICAgICAgICBjbGFzcz1cInR3LXJvdW5kZWQtbGcgdHctYm9yZGVyIHR3LXctZnVsbCB0dy1weS00IHR3LXB4LTMgdHctdGV4dC1ncmF5LTcwMCB0dy1sZWFkaW5nLXRpZ2h0IHR3LWZvY3VzOnR3LW91dGxpbmUtbm9uZSB0dy1mb2N1czp0dy1zaGFkb3ctb3V0bGluZVwiXG4gICAgICAgICAgICBtYXhsZW5ndGg9XCI2XCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICBuYW1lPVwiaW4xXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImluMVwiXG4gICAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInR3LWZsZXggdHctaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxibnJjLWJ1dHRvbi1sb2FkaW5nXG4gICAgICAgICAgICAjbG9hZGluZ0J0blxuICAgICAgICAgICAgW3RleHRdPVwiJ9iq2KfbjNuM2K8g2qnYrydcIlxuICAgICAgICAgICAgW3ZhbGlkXT1cImNhblZlcmlmeVwiXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblZlcmlmeUNvZGUoKVwiXG4gICAgICAgID48L2JucmMtYnV0dG9uLWxvYWRpbmc+XG4gICAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { PortalService } from '../services/portal.service';
4
+ import { BarsaApi } from '../abstract-classes';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../login-enter-mobile/login-enter-mobile.component";
7
+ import * as i2 from "../login-verification/login-verification.component";
8
+ import * as i3 from "../directives/mobile.directive";
9
+ export class Login2Component {
10
+ constructor() {
11
+ this.mobile = signal('');
12
+ this.loading = signal(false);
13
+ this._router = inject(Router);
14
+ this._portalService = inject(PortalService);
15
+ this.state = signal('enter-mobile');
16
+ this.appSettings = signal({
17
+ BackgroundUrl: '',
18
+ LogoUrl: '',
19
+ HideGovSso: true,
20
+ Section1Title: '',
21
+ Section1Description: '',
22
+ Subtitle: '',
23
+ Title: ''
24
+ });
25
+ this.logoUrl = '';
26
+ this.backgroundUrl = '';
27
+ this.title = '';
28
+ this.hideGovSso = false;
29
+ }
30
+ ngOnInit() {
31
+ fetch(`/assets/login2.json?x=${BarsaApi.LoginFormData.ChangeKeyVersion}`)
32
+ .then((res) => res.json())
33
+ .then((res) => this.appSettings.set(res));
34
+ }
35
+ onOtpSent(mobile) {
36
+ this.mobile.set(mobile);
37
+ this.state.set('verification');
38
+ }
39
+ onChangeMobile() {
40
+ this.state.set('enter-mobile');
41
+ }
42
+ onOtpVerfied() {
43
+ this.loading.set(true);
44
+ this._portalService
45
+ .loadServerStartupData()
46
+ .then(() => this._portalService.loadSystem())
47
+ .then(() => this._portalService.loadUserPortalSetting())
48
+ .then(() => {
49
+ this._router.navigate([this._portalService.DefaultPage?.Route || '/']);
50
+ })
51
+ .catch(() => this.loading.set(false));
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: Login2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: Login2Component, selector: "bnrc-login2", ngImport: i0, template: "<div class=\"tw-bg-white dark:tw-bg-gray-900 tw-w-full tw-h-full\">\n <div class=\"tw-flex tw-justify-center tw-h-screen\">\n <div\n class=\"tw-hidden tw-bg-cover lg:tw-block lg:tw-w-2/3\"\n [style.background-image]=\"'url(' + appSettings().BackgroundUrl + ')'\"\n >\n <div class=\"tw-flex tw-items-center tw-h-full tw-px-20 tw-bg-gray-900 tw-bg-opacity-40\">\n <div>\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-white\">{{ appSettings().Section1Title }}</h2>\n\n <p class=\"tw-max-w-xl tw-mt-3 tw-text-gray-300\">{{ appSettings().Section1Description }}</p>\n </div>\n </div>\n </div>\n\n <div class=\"tw-flex tw-items-center tw-w-full tw-max-w-md tw-px-6 tw-mx-auto lg:tw-w-2/6\">\n <div class=\"tw-flex-1\">\n <div class=\"tw-text-center tw-flex tw-flex-col tw-items-center\">\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\n <img [src]=\"appSettings().LogoUrl\" />\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-center tw-text-gray-700 dark:tw-text-white\">\n {{ appSettings().Title }}\n </h2>\n </div>\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\n <p class=\"tw-mt-3 tw-text-gray-500 dark:tw-text-gray-300\">{{ appSettings().Subtitle }}</p>\n </div>\n </div>\n <div>\n @if(state()==='enter-mobile'){\n <bnrc-login-enter-mobile\n (otpSent)=\"onOtpSent($event)\"\n [errorTemplate]=\"template\"\n ></bnrc-login-enter-mobile>\n }@else{\n <bnrc-login-verification\n [mobile]=\"mobile()\"\n (changeMobile)=\"onChangeMobile()\"\n (otpVerified)=\"onOtpVerfied()\"\n [errorTemplate]=\"template\"\n ></bnrc-login-verification>\n }\n </div>\n @if(state()==='enter-mobile' && !appSettings().HideGovSso){\n <div class=\"tw-relative tw-flex tw-py-5 tw-items-center tw-px-2\">\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\n <span class=\"tw-font-[IRANYekan] tw-flex-shrink tw-mx-4 tw-text-gray-400\">\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647</span>\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\n </div>\n <div class=\"tw-rounded-lg back-box-color tw-w-full tw-py-3\">\n <div class=\"tw-flex tw-items-center tw-text-center\">\n <a class=\"tw-w-full tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm\" href=\"\"\n >\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647 \u062F\u0648\u0644\u062A \u0645\u0646\n </a>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n<ng-template let-messageToast #template>\n <p class=\"error\" [dismissible]=\"true\">{{ messageToast.data.message }}</p>\n</ng-template>\n", styles: [":host{font-family:IRANYekanDigits}\n"], dependencies: [{ kind: "component", type: i1.LoginEnterMobileComponent, selector: "bnrc-login-enter-mobile", inputs: ["errorTemplate"], outputs: ["otpSent"] }, { kind: "component", type: i2.LoginVerificationComponent, selector: "bnrc-login-verification", inputs: ["mobile", "errorTemplate"], outputs: ["otpVerified", "changeMobile"] }, { kind: "directive", type: i3.MobileDirective, selector: "[mobile]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: Login2Component, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'bnrc-login2', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tw-bg-white dark:tw-bg-gray-900 tw-w-full tw-h-full\">\n <div class=\"tw-flex tw-justify-center tw-h-screen\">\n <div\n class=\"tw-hidden tw-bg-cover lg:tw-block lg:tw-w-2/3\"\n [style.background-image]=\"'url(' + appSettings().BackgroundUrl + ')'\"\n >\n <div class=\"tw-flex tw-items-center tw-h-full tw-px-20 tw-bg-gray-900 tw-bg-opacity-40\">\n <div>\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-white\">{{ appSettings().Section1Title }}</h2>\n\n <p class=\"tw-max-w-xl tw-mt-3 tw-text-gray-300\">{{ appSettings().Section1Description }}</p>\n </div>\n </div>\n </div>\n\n <div class=\"tw-flex tw-items-center tw-w-full tw-max-w-md tw-px-6 tw-mx-auto lg:tw-w-2/6\">\n <div class=\"tw-flex-1\">\n <div class=\"tw-text-center tw-flex tw-flex-col tw-items-center\">\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\n <img [src]=\"appSettings().LogoUrl\" />\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-center tw-text-gray-700 dark:tw-text-white\">\n {{ appSettings().Title }}\n </h2>\n </div>\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\n <p class=\"tw-mt-3 tw-text-gray-500 dark:tw-text-gray-300\">{{ appSettings().Subtitle }}</p>\n </div>\n </div>\n <div>\n @if(state()==='enter-mobile'){\n <bnrc-login-enter-mobile\n (otpSent)=\"onOtpSent($event)\"\n [errorTemplate]=\"template\"\n ></bnrc-login-enter-mobile>\n }@else{\n <bnrc-login-verification\n [mobile]=\"mobile()\"\n (changeMobile)=\"onChangeMobile()\"\n (otpVerified)=\"onOtpVerfied()\"\n [errorTemplate]=\"template\"\n ></bnrc-login-verification>\n }\n </div>\n @if(state()==='enter-mobile' && !appSettings().HideGovSso){\n <div class=\"tw-relative tw-flex tw-py-5 tw-items-center tw-px-2\">\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\n <span class=\"tw-font-[IRANYekan] tw-flex-shrink tw-mx-4 tw-text-gray-400\">\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647</span>\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\n </div>\n <div class=\"tw-rounded-lg back-box-color tw-w-full tw-py-3\">\n <div class=\"tw-flex tw-items-center tw-text-center\">\n <a class=\"tw-w-full tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm\" href=\"\"\n >\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647 \u062F\u0648\u0644\u062A \u0645\u0646\n </a>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n<ng-template let-messageToast #template>\n <p class=\"error\" [dismissible]=\"true\">{{ messageToast.data.message }}</p>\n</ng-template>\n", styles: [":host{font-family:IRANYekanDigits}\n"] }]
59
+ }], ctorParameters: () => [] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvbG9naW4yL2xvZ2luMi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2xvZ2luMi9sb2dpbjIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFRL0MsTUFBTSxPQUFPLGVBQWU7SUFtQnhCO1FBbEJBLFdBQU0sR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLFVBQUssR0FBK0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNELGdCQUFXLEdBQTZCLE1BQU0sQ0FBQztZQUMzQyxhQUFhLEVBQUUsRUFBRTtZQUNqQixPQUFPLEVBQUUsRUFBRTtZQUNYLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsUUFBUSxFQUFFLEVBQUU7WUFDWixLQUFLLEVBQUUsRUFBRTtTQUNaLENBQUMsQ0FBQztRQUNILFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUNKLENBQUM7SUFDaEIsUUFBUTtRQUNKLEtBQUssQ0FBQyx5QkFBeUIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQ3BFLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3pCLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsU0FBUyxDQUFDLE1BQWM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELGNBQWM7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsWUFBWTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjO2FBQ2QscUJBQXFCLEVBQUU7YUFDdkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDNUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQzthQUN2RCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQTFDUSxlQUFlO2tHQUFmLGVBQWUsbURDWjVCLGc4R0FnRUE7OzJGRHBEYSxlQUFlO2tCQU4zQixTQUFTOytCQUNJLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUG9ydGFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BvcnRhbC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2luU3RhdGUgfSBmcm9tICcuLi9jb250cm9sbGVycyc7XG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtbG9naW4yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9naW4yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vbG9naW4yLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIG1vYmlsZSA9IHNpZ25hbCgnJyk7XG4gICAgbG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gICAgX3JvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIF9wb3J0YWxTZXJ2aWNlID0gaW5qZWN0KFBvcnRhbFNlcnZpY2UpO1xuICAgIHN0YXRlOiBXcml0YWJsZVNpZ25hbDxMb2dpblN0YXRlPiA9IHNpZ25hbCgnZW50ZXItbW9iaWxlJyk7XG4gICAgYXBwU2V0dGluZ3M6IFdyaXRhYmxlU2lnbmFsPFNldHRpbmdzPiA9IHNpZ25hbCh7XG4gICAgICAgIEJhY2tncm91bmRVcmw6ICcnLFxuICAgICAgICBMb2dvVXJsOiAnJyxcbiAgICAgICAgSGlkZUdvdlNzbzogdHJ1ZSxcbiAgICAgICAgU2VjdGlvbjFUaXRsZTogJycsXG4gICAgICAgIFNlY3Rpb24xRGVzY3JpcHRpb246ICcnLFxuICAgICAgICBTdWJ0aXRsZTogJycsXG4gICAgICAgIFRpdGxlOiAnJ1xuICAgIH0pO1xuICAgIGxvZ29VcmwgPSAnJztcbiAgICBiYWNrZ3JvdW5kVXJsID0gJyc7XG4gICAgdGl0bGUgPSAnJztcbiAgICBoaWRlR292U3NvID0gZmFsc2U7XG4gICAgY29uc3RydWN0b3IoKSB7fVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBmZXRjaChgL2Fzc2V0cy9sb2dpbjIuanNvbj94PSR7QmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5DaGFuZ2VLZXlWZXJzaW9ufWApXG4gICAgICAgICAgICAudGhlbigocmVzKSA9PiByZXMuanNvbigpKVxuICAgICAgICAgICAgLnRoZW4oKHJlcykgPT4gdGhpcy5hcHBTZXR0aW5ncy5zZXQocmVzKSk7XG4gICAgfVxuICAgIG9uT3RwU2VudChtb2JpbGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vYmlsZS5zZXQobW9iaWxlKTtcbiAgICAgICAgdGhpcy5zdGF0ZS5zZXQoJ3ZlcmlmaWNhdGlvbicpO1xuICAgIH1cbiAgICBvbkNoYW5nZU1vYmlsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGF0ZS5zZXQoJ2VudGVyLW1vYmlsZScpO1xuICAgIH1cbiAgICBvbk90cFZlcmZpZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2VcbiAgICAgICAgICAgIC5sb2FkU2VydmVyU3RhcnR1cERhdGEoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5fcG9ydGFsU2VydmljZS5sb2FkU3lzdGVtKCkpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLl9wb3J0YWxTZXJ2aWNlLmxvYWRVc2VyUG9ydGFsU2V0dGluZygpKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbdGhpcy5fcG9ydGFsU2VydmljZS5EZWZhdWx0UGFnZT8uUm91dGUgfHwgJy8nXSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMubG9hZGluZy5zZXQoZmFsc2UpKTtcbiAgICB9XG59XG5pbnRlcmZhY2UgU2V0dGluZ3Mge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgU3VidGl0bGU6IHN0cmluZztcbiAgICBTZWN0aW9uMVRpdGxlOiBzdHJpbmc7XG4gICAgU2VjdGlvbjFEZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIExvZ29Vcmw6IHN0cmluZztcbiAgICBCYWNrZ3JvdW5kVXJsOiBzdHJpbmc7XG4gICAgSGlkZUdvdlNzbzogYm9vbGVhbjtcbn1cbiIsIjxkaXYgY2xhc3M9XCJ0dy1iZy13aGl0ZSBkYXJrOnR3LWJnLWdyYXktOTAwIHR3LXctZnVsbCB0dy1oLWZ1bGxcIj5cbiAgICA8ZGl2IGNsYXNzPVwidHctZmxleCB0dy1qdXN0aWZ5LWNlbnRlciB0dy1oLXNjcmVlblwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInR3LWhpZGRlbiB0dy1iZy1jb3ZlciBsZzp0dy1ibG9jayBsZzp0dy13LTIvM1wiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyBhcHBTZXR0aW5ncygpLkJhY2tncm91bmRVcmwgKyAnKSdcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHctZmxleCB0dy1pdGVtcy1jZW50ZXIgdHctaC1mdWxsIHR3LXB4LTIwIHR3LWJnLWdyYXktOTAwIHR3LWJnLW9wYWNpdHktNDBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ0dy10ZXh0LTR4bCB0dy1mb250LWJvbGQgdHctdGV4dC13aGl0ZVwiPnt7IGFwcFNldHRpbmdzKCkuU2VjdGlvbjFUaXRsZSB9fTwvaDI+XG5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0dy1tYXgtdy14bCB0dy1tdC0zIHR3LXRleHQtZ3JheS0zMDBcIj57eyBhcHBTZXR0aW5ncygpLlNlY3Rpb24xRGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInR3LWZsZXggdHctaXRlbXMtY2VudGVyIHR3LXctZnVsbCB0dy1tYXgtdy1tZCB0dy1weC02IHR3LW14LWF1dG8gbGc6dHctdy0yLzZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dy1mbGV4LTFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHctdGV4dC1jZW50ZXIgdHctZmxleCB0dy1mbGV4LWNvbCB0dy1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR3LWZsZXggdHctZ2FwLTIgdHctaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiYXBwU2V0dGluZ3MoKS5Mb2dvVXJsXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInR3LXRleHQtNHhsIHR3LWZvbnQtYm9sZCB0dy10ZXh0LWNlbnRlciB0dy10ZXh0LWdyYXktNzAwIGRhcms6dHctdGV4dC13aGl0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGFwcFNldHRpbmdzKCkuVGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHctZmxleCB0dy1nYXAtMiB0dy1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidHctbXQtMyB0dy10ZXh0LWdyYXktNTAwIGRhcms6dHctdGV4dC1ncmF5LTMwMFwiPnt7IGFwcFNldHRpbmdzKCkuU3VidGl0bGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIEBpZihzdGF0ZSgpPT09J2VudGVyLW1vYmlsZScpe1xuICAgICAgICAgICAgICAgICAgICA8Ym5yYy1sb2dpbi1lbnRlci1tb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIChvdHBTZW50KT1cIm9uT3RwU2VudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvclRlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYm5yYy1sb2dpbi1lbnRlci1tb2JpbGU+XG4gICAgICAgICAgICAgICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgPGJucmMtbG9naW4tdmVyaWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBbbW9iaWxlXT1cIm1vYmlsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VNb2JpbGUpPVwib25DaGFuZ2VNb2JpbGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAob3RwVmVyaWZpZWQpPVwib25PdHBWZXJmaWVkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9yVGVtcGxhdGVdPVwidGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9ibnJjLWxvZ2luLXZlcmlmaWNhdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIEBpZihzdGF0ZSgpPT09J2VudGVyLW1vYmlsZScgJiYgIWFwcFNldHRpbmdzKCkuSGlkZUdvdlNzbyl7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR3LXJlbGF0aXZlIHR3LWZsZXggdHctcHktNSB0dy1pdGVtcy1jZW50ZXIgdHctcHgtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHctZmxleC1ncm93IHR3LWJvcmRlci10IHR3LWJvcmRlci1ncmF5LTQwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR3LWZvbnQtW0lSQU5ZZWthbl0gdHctZmxleC1zaHJpbmsgdHctbXgtNCB0dy10ZXh0LWdyYXktNDAwXCI+2YjYsdmI2K8g2KfYsiDYt9ix24zZgiDYr9ix2q/Yp9mHPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHctZmxleC1ncm93IHR3LWJvcmRlci10IHR3LWJvcmRlci1ncmF5LTQwMFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dy1yb3VuZGVkLWxnIGJhY2stYm94LWNvbG9yIHR3LXctZnVsbCB0dy1weS0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dy1mbGV4IHR3LWl0ZW1zLWNlbnRlciB0dy10ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ0dy13LWZ1bGwgdHctdGV4dC1ibHVlLTYwMCB0dy12aXNpdGVkOnR3LXRleHQtcHVycGxlLTYwMCB0dy10ZXh0LXNtXCIgaHJlZj1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPtmI2LHZiNivINin2LIg2LfYsduM2YIg2K/Ysdqv2KfZhyDYr9mI2YTYqiDZhdmGXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlVG9hc3QgI3RlbXBsYXRlPlxuICAgIDxwIGNsYXNzPVwiZXJyb3JcIiBbZGlzbWlzc2libGVdPVwidHJ1ZVwiPnt7IG1lc3NhZ2VUb2FzdC5kYXRhLm1lc3NhZ2UgfX08L3A+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -17,7 +17,12 @@ export * from './lib/report-container/report-container.component';
17
17
  export * from './lib/form/form.component';
18
18
  export * from './lib/field-ui/field-ui.component';
19
19
  export * from './lib/form-page-routing';
20
+ export * from './lib/controllers';
20
21
  export * from './lib/modal-root.component';
22
+ export * from './lib/login-enter-mobile/login-enter-mobile.component';
23
+ export * from './lib/login-verification/login-verification.component';
24
+ export * from './lib/button-loading/button-loading.component';
25
+ export * from './lib/login2/login2.component';
21
26
  /*
22
27
  * Public API Surface of barsa-novin-ray-core
23
28
  */
@@ -36,4 +41,4 @@ export * from './lib/resizable-module/resizable.component';
36
41
  export * from './lib/resizable-module/resizable.directive';
37
42
  export * from './lib/resizable-module/resizable.module';
38
43
  export * from './lib/barsa-novin-ray-core.module';
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUdBQW1HLENBQUM7QUFDbEgsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLHFGQUFxRixDQUFDO0FBQ3BHLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0M7O0dBRUc7QUFDSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2VtcHR5LXBhZ2Utd2l0aC1yb3V0ZXItYW5kLXJvdXRlci1vdXRsZXQvZW1wdHktcGFnZS13aXRoLXJvdXRlci1hbmQtcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1wdHktcGFnZS9lbXB0eS1wYWdlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlZGlyZWN0LXJlcG9ydC1uYXZpZ2F0b3ItY29tbWFuZC9yZWRpcmVjdC1yZXBvcnQtbmF2aWdhdG9yLWNvbW1hbmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BvcnRhbC1wYWdlL3BvcnRhbC1wYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb3J0YWwtcGFnZS9wb3J0YWwtc2lkZWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHluYW1pYy1jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcm9vdC1wb3J0YWwvcm9vdC1wb3J0YWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fic3RyYWN0LWNsYXNzZXMvYmFzZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXNvbHZlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS1zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLW5ldy9mb3JtLW5ldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVwb3J0LWNvbnRhaW5lci9yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkLXVpL2ZpZWxkLXVpLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLXBhZ2Utcm91dGluZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsLXJvb3QuY29tcG9uZW50Jztcbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYmFyc2Etbm92aW4tcmF5LWNvcmVcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5qZGVjdGlvbi10b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWJzdHJhY3QtY2xhc3Nlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLXVsdi1zZXR0aW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mcm9tLWludGVyc2VjdGlvbi1vYnNlcnZlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20tcm91dGUtcmV1c2Utc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC1ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWRpcmVjdC1ob21lLWd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jvb3QtcGFnZS9yb290LXBhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc2l6YWJsZS1tb2R1bGUvcmVzaXphYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXNpemFibGUtbW9kdWxlL3Jlc2l6YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzaXphYmxlLW1vZHVsZS9yZXNpemFibGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLW5vdmluLXJheS1jb3JlLm1vZHVsZSc7XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUdBQW1HLENBQUM7QUFDbEgsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLHFGQUFxRixDQUFDO0FBQ3BHLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDOztHQUVHO0FBQ0gsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9lbXB0eS1wYWdlLXdpdGgtcm91dGVyLWFuZC1yb3V0ZXItb3V0bGV0L2VtcHR5LXBhZ2Utd2l0aC1yb3V0ZXItYW5kLXJvdXRlci1vdXRsZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtcHR5LXBhZ2UvZW1wdHktcGFnZS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWRpcmVjdC1yZXBvcnQtbmF2aWdhdG9yLWNvbW1hbmQvcmVkaXJlY3QtcmVwb3J0LW5hdmlnYXRvci1jb21tYW5kLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb3J0YWwtcGFnZS9wb3J0YWwtcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcG9ydGFsLXBhZ2UvcG9ydGFsLXNpZGViYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2R5bmFtaWMtY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jvb3QtcG9ydGFsL3Jvb3QtcG9ydGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2Jhc2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1uZXcvZm9ybS1uZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlcG9ydC1jb250YWluZXIvcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZC11aS9maWVsZC11aS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1wYWdlLXJvdXRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbGxlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kYWwtcm9vdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9naW4tZW50ZXItbW9iaWxlL2xvZ2luLWVudGVyLW1vYmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9naW4tdmVyaWZpY2F0aW9uL2xvZ2luLXZlcmlmaWNhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uLWxvYWRpbmcvYnV0dG9uLWxvYWRpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvZ2luMi9sb2dpbjIuY29tcG9uZW50Jztcbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYmFyc2Etbm92aW4tcmF5LWNvcmVcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5qZGVjdGlvbi10b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWJzdHJhY3QtY2xhc3Nlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLXVsdi1zZXR0aW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mcm9tLWludGVyc2VjdGlvbi1vYnNlcnZlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20tcm91dGUtcmV1c2Utc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC1ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWRpcmVjdC1ob21lLWd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jvb3QtcGFnZS9yb290LXBhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc2l6YWJsZS1tb2R1bGUvcmVzaXphYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXNpemFibGUtbW9kdWxlL3Jlc2l6YWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzaXphYmxlLW1vZHVsZS9yZXNpemFibGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhcnNhLW5vdmluLXJheS1jb3JlLm1vZHVsZSc7XG4iXX0=