barsa-novin-ray-core 2.2.32 → 2.2.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, InjectionToken, Injectable, Optional, inject, ElementRef, SkipSelf, NgModuleFactory, Inject, Pipe, EventEmitter, Self, Output, HostBinding, ChangeDetectorRef, HostListener, ViewContainerRef, ViewChild, Directive, Renderer2, input, Injector, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, signal, NgZone, ViewChildren, TemplateRef, APP_INITIALIZER, ErrorHandler } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, InjectionToken, Injectable, Optional, inject, ElementRef, SkipSelf, NgModuleFactory, Inject, Pipe, EventEmitter, Self, Output, HostBinding, ChangeDetectorRef, HostListener, ViewContainerRef, ViewChild, Directive, Renderer2, input, Injector, NgModule, NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA, signal, APP_INITIALIZER, ErrorHandler } from '@angular/core';
3
3
  import { Subject, from, BehaviorSubject, of, combineLatest, fromEvent, forkJoin, throwError, merge, interval, filter as filter$1, tap as tap$1, concatMap as concatMap$1, catchError as catchError$1, finalize as finalize$1, Observable, takeUntil as takeUntil$1, debounceTime as debounceTime$1, switchMap as switchMap$1, timer, mergeWith } from 'rxjs';
4
4
  import * as i1 from '@angular/router';
5
5
  import { NavigationEnd, ActivatedRoute, Router, NavigationStart, RouterEvent, RouterModule } from '@angular/router';
@@ -11,15 +11,14 @@ import 'moment/locale/ar-SA';
11
11
  import moment$2 from 'moment-jalaali';
12
12
  import 'moment/locale/fa';
13
13
  import * as i1$1 from '@angular/common/http';
14
- import { HttpEventType, HttpErrorResponse, HttpHeaders, HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
14
+ import { HttpEventType, HttpErrorResponse, HttpHeaders, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
15
15
  import * as i2 from '@angular/common';
16
16
  import { DOCUMENT, CommonModule } from '@angular/common';
17
17
  import * as i4 from '@angular/platform-browser';
18
18
  import { Title } from '@angular/platform-browser';
19
19
  import RecordRTC from 'recordrtc';
20
20
  import * as i2$1 from '@angular/service-worker';
21
- import * as i1$2 from '@angular/forms';
22
- import { FormsModule, Validators, ReactiveFormsModule } from '@angular/forms';
21
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
23
22
 
24
23
  class BarsaApi {
25
24
  static { this.idGenerator = -10000; }
@@ -14023,6 +14022,7 @@ class BaseController {
14023
14022
  this.view = view;
14024
14023
  }
14025
14024
  }
14025
+
14026
14026
  class ViewBase {
14027
14027
  constructor() {
14028
14028
  this.errorMessage = signal('');
@@ -14045,108 +14045,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
14045
14045
  }]
14046
14046
  }] });
14047
14047
 
14048
- class LoginController extends BaseController {
14049
- constructor(view) {
14050
- super(view);
14051
- this.loading = signal(false);
14052
- this.canSend = signal(false);
14053
- this._portalService = inject(PortalService);
14054
- this._httpClient = inject(HttpClient);
14055
- }
14056
- get form() {
14057
- return this.view.form;
14058
- }
14059
- sendCode(e) {
14060
- const { mobile, cap, capId } = e;
14061
- this.form.valid && this.loading.set(true);
14062
- // const x = (): void => {
14063
- // this.loading.set(false);
14064
- // };
14065
- this._httpClient
14066
- .get(`/api/openid/signin?provider=BarsaOtpLogin&mobile=${mobile}&capId=${capId}&captchaCode=${cap}`)
14067
- .pipe(finalize$1(() => {
14068
- this.loading.set(false);
14069
- }), catchError$1((err) => {
14070
- if (typeof err === 'object' && err.status === 403) {
14071
- this.view.showError(err.error.Message, err.error.Code);
14072
- }
14073
- return throwError(() => new Error(err));
14074
- }))
14075
- .subscribe((c) => {
14076
- if (c?.otpId) {
14077
- localStorage.setItem('otpId', c.otpId);
14078
- this.view.codeSent();
14079
- }
14080
- else if (!e.succeed) {
14081
- // debugger;
14082
- }
14083
- });
14084
- }
14085
- init() {
14086
- this.form.valueChanges.subscribe((c) => (this.form.valid ? this.canSend.set(true) : this.canSend.set(false)));
14087
- }
14088
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginController, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
14089
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LoginController, usesInheritance: true, ngImport: i0 }); }
14090
- }
14091
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginController, decorators: [{
14092
- type: Directive,
14093
- args: [{
14094
- standalone: false
14095
- }]
14096
- }], ctorParameters: () => [{ type: undefined }] });
14097
-
14098
- class LoginVerificationController extends BaseController {
14099
- constructor(view) {
14100
- super(view);
14101
- this.loading = signal(false);
14102
- this.canVerify = signal(false);
14103
- this._httpClient = inject(HttpClient);
14104
- }
14105
- get form() {
14106
- return this.view.form;
14107
- }
14108
- verifyCode(e) {
14109
- this.form.valid && this.loading.set(true);
14110
- const { code, cap, capId } = e;
14111
- this.form.valid && this.loading.set(true);
14112
- this._httpClient
14113
- .post(`/api/openid/callback?provider=BarsaOtpLogin`, {
14114
- otpId: localStorage.getItem('otpId'),
14115
- otpCode: code,
14116
- captchaCode: cap,
14117
- capId
14118
- })
14119
- .pipe(finalize$1(() => { }), catchError$1((err) => {
14120
- this.loading.set(false);
14121
- if (typeof err === 'object' && err.status === 403) {
14122
- this.view.showError(err.error.Message, err.error.Code);
14123
- }
14124
- return throwError(() => new Error(err));
14125
- }))
14126
- .subscribe((c) => {
14127
- if (c?.Sth) {
14128
- localStorage.removeItem('otpId');
14129
- window.localStorage.setItem(BarsaApi.LoginAction.token2StorageKey, c.Sth);
14130
- this.view.codeVerified();
14131
- }
14132
- else {
14133
- this.loading.set(false);
14134
- }
14135
- });
14136
- }
14137
- init() {
14138
- this.form.valueChanges.subscribe((c) => this.form.valid ? this.canVerify.set(true) : this.canVerify.set(false));
14139
- }
14140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginVerificationController, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
14141
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LoginVerificationController, usesInheritance: true, ngImport: i0 }); }
14142
- }
14143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginVerificationController, decorators: [{
14144
- type: Directive,
14145
- args: [{
14146
- standalone: false
14147
- }]
14148
- }], ctorParameters: () => [{ type: undefined }] });
14149
-
14150
14048
  class ButtonLoadingComponent {
14151
14049
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14152
14050
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ButtonLoadingComponent, selector: "bnrc-button-loading", inputs: { valid: "valid", loading: "loading", text: "text" }, ngImport: i0, template: "<!-- <button class=\"button\" [disabled]=\"loading\">\r\n <i [class.!tw-hidden]=\"!loading\" class=\"fa fa-circle-o-notch fa-spin\"></i\r\n >{{ (loading ? 'Wait' : text) | bbbTranslate }}\r\n</button> -->\r\n<button type=\"button\" class=\"button\" [class.button--loading]=\"loading\" [disabled]=\"loading\">\r\n <span class=\"button__text\">{{ text | bbbTranslate }}</span>\r\n</button>\r\n", styles: [":host{display:block;width:100%}.button{width:100%;position:relative;padding:8px 16px;background:#009579;border:none;outline:none;border-radius:2px;cursor:pointer}.button:active{background:#007a63}.button__text{font:700 1rem IranYekanDigits,B-Font;color:#fff;transition:all .2s}.button--loading .button__text{visibility:hidden;opacity:0}.button--loading:after{content:\"\";position:absolute;width:16px;height:16px;inset:0;margin:auto;border:4px solid transparent;border-top-color:#fff;border-radius:50%;animation:button-loading-spinner 1s ease infinite}@keyframes button-loading-spinner{0%{transform:rotate(0)}to{transform:rotate(1turn)}}\n"], dependencies: [{ kind: "pipe", type: BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -14162,180 +14060,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
14162
14060
  type: Input
14163
14061
  }] } });
14164
14062
 
14165
- class LoginEnterMobileComponent extends ViewBase {
14166
- constructor(fb) {
14167
- super();
14168
- this.fb = fb;
14169
- this.otpSent = new EventEmitter();
14170
- this.capId = signal('-');
14171
- this.showCaptcha = signal(false);
14172
- this.showCaptcha.set(false);
14173
- this.form = this.fb.group({
14174
- mobile: [
14175
- '',
14176
- Validators.compose([Validators.required, Validators.maxLength(11), forbiddenValidator(mobile_regex)])
14177
- ],
14178
- cap: [''],
14179
- capId: [this.capId(), Validators.required]
14180
- });
14181
- this.controller = new LoginController(this);
14182
- }
14183
- codeSent() {
14184
- this.otpSent.emit(this.form.value.mobile);
14185
- }
14186
- ngOnInit() {
14187
- super.ngOnInit();
14188
- }
14189
- get loading() {
14190
- return this.controller.loading();
14191
- }
14192
- get canSend() {
14193
- return this.controller.canSend();
14194
- }
14195
- onSendCode() {
14196
- this.controller.sendCode(this.form.value);
14197
- }
14198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginEnterMobileComponent, deps: [{ token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
14199
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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\">\r\n <div class=\"tw-mb-4\">\r\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>\r\n <input\r\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\"\r\n name=\"mobile\"\r\n formControlName=\"mobile\"\r\n placeholder=\"09121234567\"\r\n maxlength=\"11\"\r\n type=\"tel\"\r\n onkeypress=\"return event.charCode>=48 && event.charCode<=57\"\r\n [disabled]=\"loading\"\r\n />\r\n </div>\r\n <!-- <app-form-captcha [capId]=\"capId()\" [showCaptcha]=\"showCaptcha()\" formControlName=\"cap\"></app-form-captcha> -->\r\n <div class=\"tw-flex tw-items-center tw-mb-4\">\r\n <bnrc-button-loading\r\n [text]=\"'\u0627\u0631\u0633\u0627\u0644 \u06A9\u062F \u062A\u0627\u06CC\u06CC\u062F'\"\r\n [valid]=\"canSend\"\r\n [loading]=\"loading\"\r\n (click)=\"onSendCode()\"\r\n ></bnrc-button-loading>\r\n </div>\r\n <div\r\n class=\"tw-p-4 tw-mb-4 tw-text-sm tw-text-red-800 tw-rounded-lg tw-bg-red-50 dark:tw-bg-gray-800 dark:tw-text-red-400\"\r\n [style.visibility]=\"errorMessage() ? 'visible' : 'hidden'\"\r\n role=\"alert\"\r\n >\r\n <span class=\"tw-font-medium\">{{ 'Error' | bbbTranslate }}!</span> {{ errorMessage() }}\r\n </div>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ButtonLoadingComponent, selector: "bnrc-button-loading", inputs: ["valid", "loading", "text"] }, { kind: "pipe", type: BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14200
- }
14201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginEnterMobileComponent, decorators: [{
14202
- type: Component,
14203
- args: [{ selector: 'bnrc-login-enter-mobile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\r\n <div class=\"tw-mb-4\">\r\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>\r\n <input\r\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\"\r\n name=\"mobile\"\r\n formControlName=\"mobile\"\r\n placeholder=\"09121234567\"\r\n maxlength=\"11\"\r\n type=\"tel\"\r\n onkeypress=\"return event.charCode>=48 && event.charCode<=57\"\r\n [disabled]=\"loading\"\r\n />\r\n </div>\r\n <!-- <app-form-captcha [capId]=\"capId()\" [showCaptcha]=\"showCaptcha()\" formControlName=\"cap\"></app-form-captcha> -->\r\n <div class=\"tw-flex tw-items-center tw-mb-4\">\r\n <bnrc-button-loading\r\n [text]=\"'\u0627\u0631\u0633\u0627\u0644 \u06A9\u062F \u062A\u0627\u06CC\u06CC\u062F'\"\r\n [valid]=\"canSend\"\r\n [loading]=\"loading\"\r\n (click)=\"onSendCode()\"\r\n ></bnrc-button-loading>\r\n </div>\r\n <div\r\n class=\"tw-p-4 tw-mb-4 tw-text-sm tw-text-red-800 tw-rounded-lg tw-bg-red-50 dark:tw-bg-gray-800 dark:tw-text-red-400\"\r\n [style.visibility]=\"errorMessage() ? 'visible' : 'hidden'\"\r\n role=\"alert\"\r\n >\r\n <span class=\"tw-font-medium\">{{ 'Error' | bbbTranslate }}!</span> {{ errorMessage() }}\r\n </div>\r\n</form>\r\n" }]
14204
- }], ctorParameters: () => [{ type: i1$2.FormBuilder }], propDecorators: { otpSent: [{
14205
- type: Output
14206
- }], errorTemplate: [{
14207
- type: Input
14208
- }] } });
14209
-
14210
- class LoginVerificationComponent extends ViewBase {
14211
- constructor(fb) {
14212
- super();
14213
- this.fb = fb;
14214
- this.otpVerified = new EventEmitter();
14215
- this.changeMobile = new EventEmitter();
14216
- this.capId = signal('-');
14217
- this.showCaptcha = signal(false);
14218
- this._ngZone = inject(NgZone);
14219
- this.now = signal(getUniqueId(3));
14220
- this.form = this.fb.group({
14221
- in1: ['', Validators.compose([Validators.required, Validators.maxLength(6)])],
14222
- cap: [''],
14223
- capId: [this.capId(), Validators.required]
14224
- });
14225
- this.controller = new LoginVerificationController(this);
14226
- }
14227
- ngOnInit() {
14228
- super.ngOnInit();
14229
- this.showCaptcha.set(true);
14230
- }
14231
- showError(message, code) {
14232
- super.showError(message, code);
14233
- this.capId.set(BarsaApi.LoginFormData.CaptchaId);
14234
- }
14235
- codeVerified() {
14236
- this.otpVerified.emit();
14237
- }
14238
- onRefreshCaptcha() {
14239
- this.now.set(getUniqueId(3));
14240
- }
14241
- onVerifyCode() {
14242
- this._verifyCode();
14243
- }
14244
- _verifyCode() {
14245
- const { in1, capId, cap } = this.form.value;
14246
- this.controller.verifyCode({ code: `${in1}`, capId, cap });
14247
- }
14248
- get invArr() {
14249
- return this._inputsEl.toArray();
14250
- }
14251
- get loading() {
14252
- return this.controller.loading();
14253
- }
14254
- get canVerify() {
14255
- return this.controller.canVerify();
14256
- }
14257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginVerificationComponent, deps: [{ token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
14258
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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\">\r\n <label class=\"tw-block tw-w-full tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4 tw-text-sm\">\r\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.\r\n </label>\r\n <a\r\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\"\r\n (click)=\"changeMobile.emit()\"\r\n >\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647\r\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"tw-w-6\">\r\n <path\r\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\"\r\n fill=\"#316bec\"\r\n />\r\n </svg>\r\n </a>\r\n <div class=\"tw-flex tw-items-center tw-justify-center tw-gap-3 tw-mb-4 tw-flex-row-reverse\">\r\n <input\r\n #inputv\r\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\"\r\n maxlength=\"6\"\r\n tabindex=\"0\"\r\n onkeypress=\"return event.charCode>=48 && event.charCode<=57\"\r\n name=\"in1\"\r\n formControlName=\"in1\"\r\n />\r\n </div> \r\n <div class=\"tw-flex tw-items-center tw-mb-4\">\r\n <bnrc-button-loading\r\n #loadingBtn\r\n [text]=\"'\u062A\u0627\u06CC\u06CC\u062F \u06A9\u062F'\"\r\n [valid]=\"canVerify\"\r\n [loading]=\"loading\"\r\n (click)=\"onVerifyCode()\"\r\n ></bnrc-button-loading>\r\n </div>\r\n <div\r\n class=\"tw-p-4 tw-mb-4 tw-text-sm tw-text-red-800 tw-rounded-lg tw-bg-red-50 dark:tw-bg-gray-800 dark:tw-text-red-400\"\r\n [style.visibility]=\"errorMessage() ? 'visible' : 'hidden'\"\r\n role=\"alert\"\r\n >\r\n <span class=\"tw-font-medium\">{{ 'Error' | bbbTranslate }}!</span> {{ errorMessage() }}\r\n </div>\r\n</form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ButtonLoadingComponent, selector: "bnrc-button-loading", inputs: ["valid", "loading", "text"] }, { kind: "pipe", type: BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14259
- }
14260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginVerificationComponent, decorators: [{
14261
- type: Component,
14262
- args: [{ selector: 'bnrc-login-verification', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<form class=\"tw-px-8 tw-pt-6 tw-pb-8 tw-mb-2 tw-mt-2\" [formGroup]=\"form\">\r\n <label class=\"tw-block tw-w-full tw-text-gray-500 tw-text-md tw-font-bold tw-mb-4 tw-text-sm\">\r\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.\r\n </label>\r\n <a\r\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\"\r\n (click)=\"changeMobile.emit()\"\r\n >\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0634\u0645\u0627\u0631\u0647 \u0647\u0645\u0631\u0627\u0647\r\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" class=\"tw-w-6\">\r\n <path\r\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\"\r\n fill=\"#316bec\"\r\n />\r\n </svg>\r\n </a>\r\n <div class=\"tw-flex tw-items-center tw-justify-center tw-gap-3 tw-mb-4 tw-flex-row-reverse\">\r\n <input\r\n #inputv\r\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\"\r\n maxlength=\"6\"\r\n tabindex=\"0\"\r\n onkeypress=\"return event.charCode>=48 && event.charCode<=57\"\r\n name=\"in1\"\r\n formControlName=\"in1\"\r\n />\r\n </div> \r\n <div class=\"tw-flex tw-items-center tw-mb-4\">\r\n <bnrc-button-loading\r\n #loadingBtn\r\n [text]=\"'\u062A\u0627\u06CC\u06CC\u062F \u06A9\u062F'\"\r\n [valid]=\"canVerify\"\r\n [loading]=\"loading\"\r\n (click)=\"onVerifyCode()\"\r\n ></bnrc-button-loading>\r\n </div>\r\n <div\r\n class=\"tw-p-4 tw-mb-4 tw-text-sm tw-text-red-800 tw-rounded-lg tw-bg-red-50 dark:tw-bg-gray-800 dark:tw-text-red-400\"\r\n [style.visibility]=\"errorMessage() ? 'visible' : 'hidden'\"\r\n role=\"alert\"\r\n >\r\n <span class=\"tw-font-medium\">{{ 'Error' | bbbTranslate }}!</span> {{ errorMessage() }}\r\n </div>\r\n</form>\r\n" }]
14263
- }], ctorParameters: () => [{ type: i1$2.FormBuilder }], propDecorators: { _inputsEl: [{
14264
- type: ViewChildren,
14265
- args: ['inputv']
14266
- }], _loadingBtn: [{
14267
- type: ViewChild,
14268
- args: ['loadingBtn']
14269
- }], otpVerified: [{
14270
- type: Output
14271
- }], changeMobile: [{
14272
- type: Output
14273
- }], mobile: [{
14274
- type: Input
14275
- }], errorTemplate: [{
14276
- type: Input
14277
- }] } });
14278
-
14279
- class Login2Component {
14280
- constructor() {
14281
- this.mobile = signal('');
14282
- this.loading = signal(false);
14283
- this._router = inject(Router);
14284
- this._portalService = inject(PortalService);
14285
- this.state = signal('enter-mobile');
14286
- this.errorMessage = signal('');
14287
- this.appSettings = signal({
14288
- BackgroundUrl: '',
14289
- LogoUrl: '',
14290
- HideGovSso: true,
14291
- Section1Title: '',
14292
- Section1Description: '',
14293
- Subtitle: '',
14294
- Title: '',
14295
- GovSSOHref: ''
14296
- });
14297
- this.logoUrl = '';
14298
- this.backgroundUrl = '';
14299
- this.title = '';
14300
- this.hideGovSso = false;
14301
- }
14302
- ngOnInit() {
14303
- fetch(`/assets/login2.json?x=${BarsaApi.LoginFormData.ChangeKeyVersion}`)
14304
- .then((res) => res.json())
14305
- .then((res) => this.appSettings.set(res));
14306
- }
14307
- onOtpSent(mobile) {
14308
- this.mobile.set(mobile);
14309
- this.state.set('verification');
14310
- }
14311
- onChangeMobile() {
14312
- this.state.set('enter-mobile');
14313
- }
14314
- onOtpError(e) {
14315
- this.errorMessage.set(e.message);
14316
- }
14317
- onOtpVerfied() {
14318
- this.loading.set(true);
14319
- this._portalService
14320
- .loadServerStartupData()
14321
- .then(() => this._portalService.loadSystem())
14322
- .then(() => this._portalService.loadUserPortalSetting())
14323
- .then(() => {
14324
- this._router.navigate([this._portalService.DefaultPage?.Route || '/']);
14325
- })
14326
- .catch(() => this.loading.set(false));
14327
- }
14328
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Login2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14329
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: Login2Component, selector: "bnrc-login2", viewQueries: [{ propertyName: "_errorTemplate", first: true, predicate: ["template"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"tw-bg-white dark:tw-bg-gray-900 tw-w-full tw-h-full\">\r\n <div class=\"tw-flex tw-justify-center tw-h-screen\">\r\n <div\r\n class=\"tw-hidden tw-bg-cover lg:tw-block lg:tw-w-2/3\"\r\n [style.background-image]=\"'url(' + appSettings().BackgroundUrl + ')'\"\r\n >\r\n <div class=\"tw-flex tw-items-center tw-h-full tw-px-20 tw-bg-gray-900 tw-bg-opacity-40\">\r\n <div>\r\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-white\">{{ appSettings().Section1Title }}</h2>\r\n\r\n <p class=\"tw-max-w-xl tw-mt-3 tw-text-gray-300\">{{ appSettings().Section1Description }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\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 tw-relative\">\r\n <div class=\"tw-flex-1\">\r\n <div class=\"tw-text-center tw-flex tw-flex-col tw-items-center\">\r\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\r\n <img [src]=\"appSettings().LogoUrl\" />\r\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-center tw-text-gray-700 dark:tw-text-white\">\r\n {{ appSettings().Title }}\r\n </h2>\r\n </div>\r\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\r\n <p class=\"tw-mt-3 tw-text-gray-500 dark:tw-text-gray-300\">{{ appSettings().Subtitle }}</p>\r\n </div>\r\n </div>\r\n <div>\r\n @if(state()==='enter-mobile'){\r\n <bnrc-login-enter-mobile (otpSent)=\"onOtpSent($event)\"></bnrc-login-enter-mobile>\r\n }@else{\r\n <bnrc-login-verification\r\n [mobile]=\"mobile()\"\r\n (changeMobile)=\"onChangeMobile()\"\r\n (otpVerified)=\"onOtpVerfied()\"\r\n ></bnrc-login-verification>\r\n }\r\n </div>\r\n\r\n @if(state()==='enter-mobile' && !appSettings().HideGovSso){\r\n <div class=\"tw-absolute tw-left-0 tw-right-0 tw-pb-safe\">\r\n <div class=\"tw-relative tw-flex tw-py-5 tw-items-center tw-px-2\">\r\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\r\n <span class=\"tw-font-[IRANYekan] tw-flex-shrink tw-mx-4 tw-text-gray-400\"\r\n >\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647</span\r\n >\r\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\r\n </div>\r\n <div class=\"tw-rounded-lg back-box-color tw-w-full tw-py-3\">\r\n <div class=\"tw-flex tw-items-center tw-text-center\">\r\n <a\r\n class=\"tw-w-full tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm\"\r\n [attr.href]=\"appSettings().GovSSOHref\"\r\n >\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647 \u062F\u0648\u0644\u062A \u0645\u0646\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{font-family:IRANYekanDigits}\n"], dependencies: [{ kind: "component", type: LoginEnterMobileComponent, selector: "bnrc-login-enter-mobile", inputs: ["errorTemplate"], outputs: ["otpSent"] }, { kind: "component", type: LoginVerificationComponent, selector: "bnrc-login-verification", inputs: ["mobile", "errorTemplate"], outputs: ["otpVerified", "changeMobile"] }, { kind: "directive", type: MobileDirective, selector: "[mobile]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14330
- }
14331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Login2Component, decorators: [{
14332
- type: Component,
14333
- args: [{ selector: 'bnrc-login2', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"tw-bg-white dark:tw-bg-gray-900 tw-w-full tw-h-full\">\r\n <div class=\"tw-flex tw-justify-center tw-h-screen\">\r\n <div\r\n class=\"tw-hidden tw-bg-cover lg:tw-block lg:tw-w-2/3\"\r\n [style.background-image]=\"'url(' + appSettings().BackgroundUrl + ')'\"\r\n >\r\n <div class=\"tw-flex tw-items-center tw-h-full tw-px-20 tw-bg-gray-900 tw-bg-opacity-40\">\r\n <div>\r\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-white\">{{ appSettings().Section1Title }}</h2>\r\n\r\n <p class=\"tw-max-w-xl tw-mt-3 tw-text-gray-300\">{{ appSettings().Section1Description }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\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 tw-relative\">\r\n <div class=\"tw-flex-1\">\r\n <div class=\"tw-text-center tw-flex tw-flex-col tw-items-center\">\r\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\r\n <img [src]=\"appSettings().LogoUrl\" />\r\n <h2 class=\"tw-text-4xl tw-font-bold tw-text-center tw-text-gray-700 dark:tw-text-white\">\r\n {{ appSettings().Title }}\r\n </h2>\r\n </div>\r\n <div class=\"tw-flex tw-gap-2 tw-items-center\">\r\n <p class=\"tw-mt-3 tw-text-gray-500 dark:tw-text-gray-300\">{{ appSettings().Subtitle }}</p>\r\n </div>\r\n </div>\r\n <div>\r\n @if(state()==='enter-mobile'){\r\n <bnrc-login-enter-mobile (otpSent)=\"onOtpSent($event)\"></bnrc-login-enter-mobile>\r\n }@else{\r\n <bnrc-login-verification\r\n [mobile]=\"mobile()\"\r\n (changeMobile)=\"onChangeMobile()\"\r\n (otpVerified)=\"onOtpVerfied()\"\r\n ></bnrc-login-verification>\r\n }\r\n </div>\r\n\r\n @if(state()==='enter-mobile' && !appSettings().HideGovSso){\r\n <div class=\"tw-absolute tw-left-0 tw-right-0 tw-pb-safe\">\r\n <div class=\"tw-relative tw-flex tw-py-5 tw-items-center tw-px-2\">\r\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\r\n <span class=\"tw-font-[IRANYekan] tw-flex-shrink tw-mx-4 tw-text-gray-400\"\r\n >\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647</span\r\n >\r\n <div class=\"tw-flex-grow tw-border-t tw-border-gray-400\"></div>\r\n </div>\r\n <div class=\"tw-rounded-lg back-box-color tw-w-full tw-py-3\">\r\n <div class=\"tw-flex tw-items-center tw-text-center\">\r\n <a\r\n class=\"tw-w-full tw-text-blue-600 tw-visited:tw-text-purple-600 tw-text-sm\"\r\n [attr.href]=\"appSettings().GovSSOHref\"\r\n >\u0648\u0631\u0648\u062F \u0627\u0632 \u0637\u0631\u06CC\u0642 \u062F\u0631\u06AF\u0627\u0647 \u062F\u0648\u0644\u062A \u0645\u0646\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [":host{font-family:IRANYekanDigits}\n"] }]
14334
- }], propDecorators: { _errorTemplate: [{
14335
- type: ViewChild,
14336
- args: ['template', { static: true, read: TemplateRef }]
14337
- }] } });
14338
-
14339
14063
  class BaseUlvSettingComponent extends BaseComponent {
14340
14064
  constructor() {
14341
14065
  super(...arguments);
@@ -14588,12 +14312,6 @@ const routesDefault = [
14588
14312
  canActivate: [RedirectHomeGuard],
14589
14313
  children: [formRoutes(true)]
14590
14314
  },
14591
- {
14592
- path: 'login2',
14593
- component: Login2Component,
14594
- data: { pageData: { Route: '/login2', Module: 'BarsaLoginPage' } },
14595
- canActivate: [RedirectHomeGuard]
14596
- },
14597
14315
  {
14598
14316
  path: 'resetpassword',
14599
14317
  component: EmptyPageComponent,
@@ -14926,9 +14644,6 @@ const components = [
14926
14644
  EmptyPageComponent,
14927
14645
  FormPageComponent,
14928
14646
  FormFieldReportPageComponent,
14929
- Login2Component,
14930
- LoginEnterMobileComponent,
14931
- LoginVerificationComponent,
14932
14647
  ButtonLoadingComponent
14933
14648
  ];
14934
14649
  const directives = [
@@ -15156,9 +14871,6 @@ class BarsaNovinRayCoreModule extends BaseModule {
15156
14871
  EmptyPageComponent,
15157
14872
  FormPageComponent,
15158
14873
  FormFieldReportPageComponent,
15159
- Login2Component,
15160
- LoginEnterMobileComponent,
15161
- LoginVerificationComponent,
15162
14874
  ButtonLoadingComponent, NumeralPipe,
15163
14875
  CanUploadFilePipe,
15164
14876
  RemoveNewlinePipe,
@@ -15268,9 +14980,6 @@ class BarsaNovinRayCoreModule extends BaseModule {
15268
14980
  EmptyPageComponent,
15269
14981
  FormPageComponent,
15270
14982
  FormFieldReportPageComponent,
15271
- Login2Component,
15272
- LoginEnterMobileComponent,
15273
- LoginVerificationComponent,
15274
14983
  ButtonLoadingComponent, NumeralPipe,
15275
14984
  CanUploadFilePipe,
15276
14985
  RemoveNewlinePipe,
@@ -15385,5 +15094,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
15385
15094
  * Generated bundle index. Do not edit.
15386
15095
  */
15387
15096
 
15388
- export { APP_VERSION, AbsoluteDivBodyDirective, AffixRespondEvents, AllFilesMimeType, AnchorScrollDirective, ApiService, ApplicationBaseComponent, AttrRtlDirective, AudioMimeType, AudioRecordingService, AuthGuard, BarsaApi, BarsaDialogService, BarsaIconDictPipe, BarsaNovinRayCoreModule, BarsaSapUiFormPageModule, BarsaStorageService, BaseColumnPropsComponent, BaseComponent, BaseController, BaseDirective, BaseDynamicComponent, BaseFormToolbaritemPropsComponent, BaseItemContentPropsComponent, BaseModule, BaseReportModel, BaseUlvSettingComponent, BaseViewContentPropsComponent, BaseViewItemPropsComponent, BaseViewPropsComponent, BbbTranslatePipe, BodyClickDirective, BoolControlInfoModel, BreadcrumbService, ButtonLoadingComponent, CalculateControlInfoModel, CanUploadFilePipe, ChangeLayoutInfoCustomUi, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DateTimeToCaptionPipe, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicStyleDirective, EllapsisTextDirective, EllipsifyDirective, EmptyPageComponent, EmptyPageWithRouterAndRouterOutletComponent, EnumControlInfoModel, ExecuteDynamicCommand, ExecuteWorkflowChoiceDef, FORM_DIALOG_COMPONENT, FieldBaseComponent, FieldDirective, FieldInfoTypeEnum, FieldUiComponent, FileControlInfoModel, FileInfoCountPipe, FilePictureInfoModel, FilesValidationHelper, FillAllLayoutControls, FillEmptySpaceDirective, FilterColumnsByDetailsPipe, FilterInlineActionListPipe, FilterPipe, FilterStringPipe, FilterTabPipe, FilterToolbarControlPipe, FilterWorkflowInMobilePipe, FindColumnByDbNamePipe, FindGroup, FindLayoutSettingFromLayout94, FindPreviewColumnPipe, FindToolbarItem, FioriIconPipe, FormBaseComponent, FormCloseDirective, FormComponent, FormFieldReportPageComponent, FormNewComponent, FormPageBaseComponent, FormPageComponent, FormPanelService, FormPropsBaseComponent, FormService, FormToolbarBaseComponent, GaugeControlInfoModel, GeneralControlInfoModel, GetAllColumnsSorted, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, IconControlInfoModel, ImageLazyDirective, ImageMimeType, ImagetoPrint, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutMainContentService, LayoutPanelBaseComponent, LayoutService, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, Login2Component, LoginController, LoginEnterMobileComponent, LoginVerificationComponent, LoginVerificationController, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, PageBaseComponent, PageWithFormHandlerBaseComponent, PdfMimeType, PictureFieldSourcePipe, PictureFileControlInfoModel, PlaceHolderDirective, PortalDynamicPageResolver, PortalFormPageResolver, PortalPageComponent, PortalPageResolver, PortalPageSidebarComponent, PortalReportPageResolver, PortalService, PreventDefaulEvent, PreventDefaultDirective, PrintFilesDirective, PrintImage, PromptUpdateService, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RedirectReportNavigatorCommandComponent, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportCalendarModel, ReportContainerComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, SanitizeTextPipe, SaveImageDirective, SaveImageToFile, SaveScrollPositionService, SelectionMode, SeperatorFixPipe, ServiceWorkerCommuncationService, ServiceWorkerNotificationService, SingleRelationControlInfoModel, SortDirection, SortPipe, SortSetting, StopPropagationDirective, StringControlInfoModel, StringToNumberPipe, SubformControlInfoModel, SystemBaseComponent, TOAST_SERVICE, TableHeaderWidthMode, TableResizerDirective, ThImageOrIconePipe, TileGroupBreadcrumResolver, TilePropsComponent, TlbButtonsPipe, TotalSummaryPipe, UiService, UlvCommandDirective, UlvMainService, UntilInViewDirective, UploadService, VideoMimeType, VideoRecordingService, ViewBase, VisibleValuePipe, WordMimeType, WorfkflowwChoiceCommandDirective, availablePrefixes, calcContextMenuWidth, calculateColumnContent, calculateColumnWidth, calculateColumnWidthFitToContainer, calculateFreeColumnSize, calculateMoDataListContentWidthByColumnName, cancelRequestAnimationFrame, createFormPanelMetaConditions, createGridEditorFormPanel, easeInOutCubic, elementInViewport2, enumValueToStringSize, executeUlvCommandHandler, forbiddenValidator, formRoutes, formatBytes, fromIntersectionObserver, genrateInlineMoId, getAllItemsPerChildren, getColumnValueOfMoDataList, getComponentDefined, getControlList, getControlSizeMode, getDateService, getDeviceIsDesktop, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, getFieldValue, getFormSettings, getGridSettings, getHeaderValue, getIcon, getImagePath, getLabelWidth, getLayout94ObjectInfo, getLayoutControl, getNewMoGridEditor, getParentHeight, getRequestAnimationFrame, getResetGridSettings, getTargetRect, getUniqueId, getValidExtension, isFF, isFirefox, isFunction, isImage, isInLocalMode, isSafari, isTargetWindow, measureText, mobile_regex, number_only, requestAnimationFramePolyfill, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber };
15097
+ export { APP_VERSION, AbsoluteDivBodyDirective, AffixRespondEvents, AllFilesMimeType, AnchorScrollDirective, ApiService, ApplicationBaseComponent, AttrRtlDirective, AudioMimeType, AudioRecordingService, AuthGuard, BarsaApi, BarsaDialogService, BarsaIconDictPipe, BarsaNovinRayCoreModule, BarsaSapUiFormPageModule, BarsaStorageService, BaseColumnPropsComponent, BaseComponent, BaseController, BaseDirective, BaseDynamicComponent, BaseFormToolbaritemPropsComponent, BaseItemContentPropsComponent, BaseModule, BaseReportModel, BaseUlvSettingComponent, BaseViewContentPropsComponent, BaseViewItemPropsComponent, BaseViewPropsComponent, BbbTranslatePipe, BodyClickDirective, BoolControlInfoModel, BreadcrumbService, ButtonLoadingComponent, CalculateControlInfoModel, CanUploadFilePipe, ChangeLayoutInfoCustomUi, CodeEditorControlInfoModel, ColSetting, ColumnCustomComponentPipe, ColumnCustomUiPipe, ColumnIconPipe, ColumnResizerDirective, ColumnService, ColumnValueOfParametersPipe, ColumnValuePipe, ComboRowImagePipe, CommandControlInfoModel, ContainerComponent, ContainerService, ContextMenuPipe, ControlUiPipe, ConvertToStylePipe, CopyDirective, CountDownDirective, CustomCommand, CustomInjector, CustomRouteReuseStategy, DIALOG_SERVICE, DateHijriService, DateMiladiService, DateRanges, DateService, DateShamsiService, DateTimeControlInfoModel, DateTimeToCaptionPipe, DeviceWidth, DialogParams, DynamicCommandDirective, DynamicComponentService, DynamicFormComponent, DynamicFormToolbaritemComponent, DynamicItemComponent, DynamicLayoutComponent, DynamicStyleDirective, EllapsisTextDirective, EllipsifyDirective, EmptyPageComponent, EmptyPageWithRouterAndRouterOutletComponent, EnumControlInfoModel, ExecuteDynamicCommand, ExecuteWorkflowChoiceDef, FORM_DIALOG_COMPONENT, FieldBaseComponent, FieldDirective, FieldInfoTypeEnum, FieldUiComponent, FileControlInfoModel, FileInfoCountPipe, FilePictureInfoModel, FilesValidationHelper, FillAllLayoutControls, FillEmptySpaceDirective, FilterColumnsByDetailsPipe, FilterInlineActionListPipe, FilterPipe, FilterStringPipe, FilterTabPipe, FilterToolbarControlPipe, FilterWorkflowInMobilePipe, FindColumnByDbNamePipe, FindGroup, FindLayoutSettingFromLayout94, FindPreviewColumnPipe, FindToolbarItem, FioriIconPipe, FormBaseComponent, FormCloseDirective, FormComponent, FormFieldReportPageComponent, FormNewComponent, FormPageBaseComponent, FormPageComponent, FormPanelService, FormPropsBaseComponent, FormService, FormToolbarBaseComponent, GaugeControlInfoModel, GeneralControlInfoModel, GetAllColumnsSorted, GetDefaultMoObjectInfo, GetImgTags, GetVisibleValue, GridSetting, GroupBy, GroupByPipe, GroupByService, HeaderFacetValuePipe, HideAcceptCancelButtonsPipe, HideColumnsInmobilePipe, HistoryControlInfoModel, HorizontalLayoutService, IconControlInfoModel, ImageLazyDirective, ImageMimeType, ImagetoPrint, IndexedDbService, InputNumber, IntersectionObserverDirective, IntersectionStatus, IsExpandedNodePipe, IsImagePipe, ItemsRendererDirective, LabelmandatoryDirective, LayoutItemBaseComponent, LayoutMainContentService, LayoutPanelBaseComponent, LayoutService, LinearListControlInfoModel, LinearListHelper, ListCountPipe, ListRelationModel, LoadExternalFilesDirective, LocalStorageService, LogService, MergeFieldsToColumnsPipe, MetaobjectDataModel, MetaobjectRelationModel, MoForReportModel, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, MoReportValueConcatPipe, MoReportValuePipe, MoValuePipe, MobileDirective, ModalRootComponent, MultipleGroupByPipe, NOTIFICATAION_POPUP_SERVER, NOTIFICATION_WEBWORKER_FACTORY, NetworkStatusService, NotFoundComponent, NotificationService, NowraptextDirective, NumberBaseComponent, NumberControlInfoModel, NumbersOnlyInputDirective, NumeralPipe, PageBaseComponent, PageWithFormHandlerBaseComponent, PdfMimeType, PictureFieldSourcePipe, PictureFileControlInfoModel, PlaceHolderDirective, PortalDynamicPageResolver, PortalFormPageResolver, PortalPageComponent, PortalPageResolver, PortalPageSidebarComponent, PortalReportPageResolver, PortalService, PreventDefaulEvent, PreventDefaultDirective, PrintFilesDirective, PrintImage, PromptUpdateService, RabetehAkseTakiListiControlInfoModel, RedirectHomeGuard, RedirectReportNavigatorCommandComponent, RelatedReportControlInfoModel, RelationListControlInfoModel, RemoveNewlinePipe, RenderUlvDirective, RenderUlvPaginDirective, RenderUlvViewerDirective, ReplacePipe, ReportBaseComponent, ReportBaseInfo, ReportCalendarModel, ReportContainerComponent, ReportExtraInfo, ReportField, ReportFormModel, ReportItemBaseComponent, ReportListModel, ReportModel, ReportTreeModel, ReportViewBaseComponent, ReportViewColumn, ResizableComponent, ResizableDirective, ResizableModule, ReversePipe, RichStringControlInfoModel, RootPageComponent, RootPortalComponent, RouteFormChangeDirective, RoutingService, RowDataOption, RowNumberPipe, SanitizeTextPipe, SaveImageDirective, SaveImageToFile, SaveScrollPositionService, SelectionMode, SeperatorFixPipe, ServiceWorkerCommuncationService, ServiceWorkerNotificationService, SingleRelationControlInfoModel, SortDirection, SortPipe, SortSetting, StopPropagationDirective, StringControlInfoModel, StringToNumberPipe, SubformControlInfoModel, SystemBaseComponent, TOAST_SERVICE, TableHeaderWidthMode, TableResizerDirective, ThImageOrIconePipe, TileGroupBreadcrumResolver, TilePropsComponent, TlbButtonsPipe, TotalSummaryPipe, UiService, UlvCommandDirective, UlvMainService, UntilInViewDirective, UploadService, VideoMimeType, VideoRecordingService, ViewBase, VisibleValuePipe, WordMimeType, WorfkflowwChoiceCommandDirective, availablePrefixes, calcContextMenuWidth, calculateColumnContent, calculateColumnWidth, calculateColumnWidthFitToContainer, calculateFreeColumnSize, calculateMoDataListContentWidthByColumnName, cancelRequestAnimationFrame, createFormPanelMetaConditions, createGridEditorFormPanel, easeInOutCubic, elementInViewport2, enumValueToStringSize, executeUlvCommandHandler, forbiddenValidator, formRoutes, formatBytes, fromIntersectionObserver, genrateInlineMoId, getAllItemsPerChildren, getColumnValueOfMoDataList, getComponentDefined, getControlList, getControlSizeMode, getDateService, getDeviceIsDesktop, getDeviceIsMobile, getDeviceIsPhone, getDeviceIsTablet, getFieldValue, getFormSettings, getGridSettings, getHeaderValue, getIcon, getImagePath, getLabelWidth, getLayout94ObjectInfo, getLayoutControl, getNewMoGridEditor, getParentHeight, getRequestAnimationFrame, getResetGridSettings, getTargetRect, getUniqueId, getValidExtension, isFF, isFirefox, isFunction, isImage, isInLocalMode, isSafari, isTargetWindow, measureText, mobile_regex, number_only, requestAnimationFramePolyfill, setColumnWidthByMaxMoContentWidth, setOneDepthLevel, setTableThWidth, shallowEqual, stopPropagation, throwIfAlreadyLoaded, toNumber };
15389
15098
  //# sourceMappingURL=barsa-novin-ray-core.mjs.map