ng-ipa-library 7.0.2 → 8.0.0

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.
@@ -15,8 +15,6 @@ import momentHijri from 'moment-hijri';
15
15
  import * as i2 from '@ng-bootstrap/ng-bootstrap';
16
16
  import { NgbDatepickerI18n, NgbCalendarIslamicUmalqura, NgbCalendar, NgbCalendarGregorian, NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';
17
17
  export * from '@ng-bootstrap/ng-bootstrap';
18
- import { NgSelectModule } from '@ng-select/ng-select';
19
- export * from '@ng-select/ng-select';
20
18
  import { BehaviorSubject, Observable, throwError } from 'rxjs';
21
19
  import * as i2$3 from '@angular/common/http';
22
20
  import { HttpResponse } from '@angular/common/http';
@@ -27,10 +25,10 @@ class HijriDatePipe {
27
25
  momentHijri.locale(lang);
28
26
  return momentHijri(date).format(format);
29
27
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HijriDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
31
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: HijriDatePipe, isStandalone: false, name: "hijriDate" }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: HijriDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
29
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: HijriDatePipe, isStandalone: false, name: "hijriDate" }); }
32
30
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HijriDatePipe, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: HijriDatePipe, decorators: [{
34
32
  type: Pipe,
35
33
  args: [{
36
34
  name: 'hijriDate',
@@ -39,11 +37,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
39
37
  }] });
40
38
 
41
39
  class PipesModule {
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
43
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: PipesModule, declarations: [HijriDatePipe], exports: [HijriDatePipe] }); }
44
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PipesModule }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
41
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: PipesModule, declarations: [HijriDatePipe], exports: [HijriDatePipe] }); }
42
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: PipesModule }); }
45
43
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PipesModule, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: PipesModule, decorators: [{
47
45
  type: NgModule,
48
46
  args: [{
49
47
  declarations: [HijriDatePipe],
@@ -331,10 +329,10 @@ class IPAFormService {
331
329
  return false;
332
330
  }
333
331
  }
334
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IPAFormService, deps: [{ token: i2.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Injectable }); }
335
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IPAFormService, providedIn: 'root' }); }
332
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IPAFormService, deps: [{ token: i2.NgbDateParserFormatter }], target: i0.ɵɵFactoryTarget.Injectable }); }
333
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IPAFormService, providedIn: 'root' }); }
336
334
  }
337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IPAFormService, decorators: [{
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IPAFormService, decorators: [{
338
336
  type: Injectable,
339
337
  args: [{
340
338
  providedIn: 'root',
@@ -393,10 +391,10 @@ class TextInputComponent {
393
391
  this.errorMsg = this.validationService.getErrorMessage(this.formControl, this.patternErrorMsg, this.isArabicForm);
394
392
  return this.errorMsg;
395
393
  }
396
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TextInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
397
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: TextInputComponent, isStandalone: false, selector: "ipa-text-input", inputs: { id: "id", type: "type", label: "label", placeholder: "placeholder", required: "required", patternErrorMsg: "patternErrorMsg", onlyNumber: "onlyNumber", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <input #input id=\"{{id}}\" class=\"form-control p-2 {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" (input)=\"checkIsNumber($event)\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
394
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TextInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
395
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TextInputComponent, isStandalone: false, selector: "ipa-text-input", inputs: { id: "id", type: "type", label: "label", placeholder: "placeholder", required: "required", patternErrorMsg: "patternErrorMsg", onlyNumber: "onlyNumber", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <input #input id=\"{{id}}\" class=\"form-control p-2 {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" (input)=\"checkIsNumber($event)\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
398
396
  }
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TextInputComponent, decorators: [{
397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TextInputComponent, decorators: [{
400
398
  type: Component,
401
399
  args: [{ selector: 'ipa-text-input', standalone: false, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <input #input id=\"{{id}}\" class=\"form-control p-2 {{classes}}\" [type]=\"type\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" (input)=\"checkIsNumber($event)\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n </div>" }]
402
400
  }], ctorParameters: () => [{ type: IPAFormService }, { type: i2$1.NgControl, decorators: [{
@@ -468,10 +466,10 @@ class TextareaInputComponent {
468
466
  this.errorMsg = this.validationService.getErrorMessage(this.formControl, this.patternErrorMsg, this.isArabicForm);
469
467
  return this.errorMsg;
470
468
  }
471
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TextareaInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
472
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: TextareaInputComponent, isStandalone: false, selector: "ipa-textarea-input", inputs: { id: "id", label: "label", placeholder: "placeholder", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" style=\"height: 135px;\"\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\r\n </textarea>\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n</div>", styles: [".form-floating label{min-width:100%}.form-floating label:before{content:\"\";position:absolute;top:.9em;z-index:-1;width:110%;height:2em;background-color:#fff;box-shadow:0 -1px #fff}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.95;color:gray}@media(max-width:1699px){.form-floating label:before{width:107%!important}}@media(max-width:770px){.form-floating label:before{width:97%!important}}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
469
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TextareaInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
470
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: TextareaInputComponent, isStandalone: false, selector: "ipa-textarea-input", inputs: { id: "id", label: "label", placeholder: "placeholder", required: "required", patternErrorMsg: "patternErrorMsg", pattern: "pattern", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" style=\"height: 135px;\"\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\r\n </textarea>\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n</div>", styles: [".form-floating label{min-width:100%}.form-floating label:before{content:\"\";position:absolute;top:.9em;z-index:-1;width:110%;height:2em;background-color:#fff;box-shadow:0 -1px #fff}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.95;color:gray}@media(max-width:1699px){.form-floating label:before{width:107%!important}}@media(max-width:770px){.form-floating label:before{width:97%!important}}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
473
471
  }
474
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TextareaInputComponent, decorators: [{
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TextareaInputComponent, decorators: [{
475
473
  type: Component,
476
474
  args: [{ selector: 'ipa-textarea-input', standalone: false, template: "<!-- platform code design system -->\n<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n <textarea #input id=\"{{id}}\" class=\"form-control {{classes}}\" [required]=\"required\" pattern=\"{{pattern}}\"\n placeholder=\"{{placeholder}}\" [formControl]=\"formControl\" (input)=\"onChange(controlDir.control?.value)\"\n (blur)=\"onTouched()\" style=\"height: 135px;\"\n [ngClass]=\"{\r\n 'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\r\n </textarea>\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n</div>", styles: [".form-floating label{min-width:100%}.form-floating label:before{content:\"\";position:absolute;top:.9em;z-index:-1;width:110%;height:2em;background-color:#fff;box-shadow:0 -1px #fff}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.95;color:gray}@media(max-width:1699px){.form-floating label:before{width:107%!important}}@media(max-width:770px){.form-floating label:before{width:97%!important}}\n"] }]
477
475
  }], ctorParameters: () => [{ type: IPAFormService }, { type: i2$1.NgControl, decorators: [{
@@ -590,12 +588,12 @@ class DropdownInputComponent {
590
588
  }
591
589
  });
592
590
  }
593
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropdownInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
594
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: DropdownInputComponent, isStandalone: false, selector: "ipa-dropdown-input", inputs: { id: "id", label: "label", items: "items", textField: "textField", valueField: "valueField", required: "required", firstItemLabel: "firstItemLabel", searchable: "searchable", notFoundText: "notFoundText", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm", fromGenerateForm: "fromGenerateForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0, template: "<!-- platform code design system -->\n<div class=\"form-group w-100 position-relative {{containerClasses}}\">\n <div class=\"d-flex gap-1 mb-2\">\n <label for=\"select{{id}}\" class=\"form-label mb-0\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n </div>\n <!-- Standard hidden select -->\n <select #select id=\"select{{id}}\" class=\"form-select d-none\" [required]=\"required\" [formControl]=\"formControl\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n @if (firstItemLabel) {\n <option value=\"\">{{firstItemLabel}}</option>\n }\n @for (item of items; track item) {\n <option\n [value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\n {{textField ? item[textField] : item}}\n </option>\n }\n </select>\n <!-- Custom Dropdown Wrapper -->\n <div class=\"dropdown custom-dropdown-wrapper-{{id}} {{containerClasses}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center {{classes}}\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n <span class=\"selected-text\">{{label}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-100\" style=\"max-height: 500px; overflow-y: auto;\">\n @if (firstItemLabel) {\n <li>\n <span (click)=\"dropdownItemClicked(-1)\" class=\"dropdown-item active first-item-{{id}}\" href=\"javascript:void(0);\"\n [attr.data-value]=\"''\">{{firstItemLabel}}\n </span>\n </li>\n }\n @for (item of items; track item; let i = $index) {\n <li>\n <span (click)=\"dropdownItemClicked(i)\" class=\"dropdown-item\" href=\"javascript:void(0);\"\n [attr.data-value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\n {{textField ? item[textField] : item}}</span>\n </li>\n }\n </ul>\n </div>\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback ms-3\">\n {{errorMsg}}\n </div>\n }\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
591
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DropdownInputComponent, deps: [{ token: IPAFormService }, { token: i2$1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
592
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DropdownInputComponent, isStandalone: false, selector: "ipa-dropdown-input", inputs: { id: "id", label: "label", items: "items", textField: "textField", valueField: "valueField", required: "required", firstItemLabel: "firstItemLabel", searchable: "searchable", notFoundText: "notFoundText", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm", fromGenerateForm: "fromGenerateForm" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0, template: "<!-- platform code design system -->\r\n<div class=\"form-group w-100 position-relative {{containerClasses}}\">\r\n <div class=\"d-flex gap-1 mb-2\">\r\n <label for=\"select{{id}}\" class=\"form-label mb-0\">@if (required) {\r\n <span class=\"text-danger\">*</span>\r\n } {{label}}</label>\r\n </div>\r\n <!-- Standard hidden select -->\r\n <select #select id=\"select{{id}}\" class=\"form-select d-none\" [required]=\"required\" [formControl]=\"formControl\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\r\n @if (firstItemLabel) {\r\n <option value=\"\">{{firstItemLabel}}</option>\r\n }\r\n @for (item of items; track item) {\r\n <option\r\n [value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\r\n {{textField ? item[textField] : item}}\r\n </option>\r\n }\r\n </select>\r\n <!-- Custom Dropdown Wrapper -->\r\n <div class=\"dropdown custom-dropdown-wrapper-{{id}} {{containerClasses}}\">\r\n <button\r\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center {{classes}}\"\r\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\r\n <span class=\"selected-text\">{{label}}</span>\r\n </button>\r\n <ul class=\"dropdown-menu dropdown-menu-end w-100\" style=\"max-height: 500px; overflow-y: auto;\">\r\n @if (firstItemLabel) {\r\n <li>\r\n <span (click)=\"dropdownItemClicked(-1)\" class=\"dropdown-item active first-item-{{id}}\" href=\"javascript:void(0);\"\r\n [attr.data-value]=\"''\">{{firstItemLabel}}\r\n </span>\r\n </li>\r\n }\r\n @for (item of items; track item; let i = $index) {\r\n <li>\r\n <span (click)=\"dropdownItemClicked(i)\" class=\"dropdown-item\" href=\"javascript:void(0);\"\r\n [attr.data-value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\r\n {{textField ? item[textField] : item}}</span>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n @if (errorMessage !== null) {\r\n <div class=\"invalid-feedback ms-3\">\r\n {{errorMsg}}\r\n </div>\r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
595
593
  }
596
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DropdownInputComponent, decorators: [{
594
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DropdownInputComponent, decorators: [{
597
595
  type: Component,
598
- args: [{ selector: 'ipa-dropdown-input', standalone: false, template: "<!-- platform code design system -->\n<div class=\"form-group w-100 position-relative {{containerClasses}}\">\n <div class=\"d-flex gap-1 mb-2\">\n <label for=\"select{{id}}\" class=\"form-label mb-0\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}}</label>\n </div>\n <!-- Standard hidden select -->\n <select #select id=\"select{{id}}\" class=\"form-select d-none\" [required]=\"required\" [formControl]=\"formControl\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n @if (firstItemLabel) {\n <option value=\"\">{{firstItemLabel}}</option>\n }\n @for (item of items; track item) {\n <option\n [value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\n {{textField ? item[textField] : item}}\n </option>\n }\n </select>\n <!-- Custom Dropdown Wrapper -->\n <div class=\"dropdown custom-dropdown-wrapper-{{id}} {{containerClasses}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center {{classes}}\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n <span class=\"selected-text\">{{label}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-100\" style=\"max-height: 500px; overflow-y: auto;\">\n @if (firstItemLabel) {\n <li>\n <span (click)=\"dropdownItemClicked(-1)\" class=\"dropdown-item active first-item-{{id}}\" href=\"javascript:void(0);\"\n [attr.data-value]=\"''\">{{firstItemLabel}}\n </span>\n </li>\n }\n @for (item of items; track item; let i = $index) {\n <li>\n <span (click)=\"dropdownItemClicked(i)\" class=\"dropdown-item\" href=\"javascript:void(0);\"\n [attr.data-value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\n {{textField ? item[textField] : item}}</span>\n </li>\n }\n </ul>\n </div>\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback ms-3\">\n {{errorMsg}}\n </div>\n }\n</div>" }]
596
+ args: [{ selector: 'ipa-dropdown-input', standalone: false, template: "<!-- platform code design system -->\r\n<div class=\"form-group w-100 position-relative {{containerClasses}}\">\r\n <div class=\"d-flex gap-1 mb-2\">\r\n <label for=\"select{{id}}\" class=\"form-label mb-0\">@if (required) {\r\n <span class=\"text-danger\">*</span>\r\n } {{label}}</label>\r\n </div>\r\n <!-- Standard hidden select -->\r\n <select #select id=\"select{{id}}\" class=\"form-select d-none\" [required]=\"required\" [formControl]=\"formControl\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\r\n @if (firstItemLabel) {\r\n <option value=\"\">{{firstItemLabel}}</option>\r\n }\r\n @for (item of items; track item) {\r\n <option\r\n [value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\r\n {{textField ? item[textField] : item}}\r\n </option>\r\n }\r\n </select>\r\n <!-- Custom Dropdown Wrapper -->\r\n <div class=\"dropdown custom-dropdown-wrapper-{{id}} {{containerClasses}}\">\r\n <button\r\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center {{classes}}\"\r\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\"\r\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\r\n <span class=\"selected-text\">{{label}}</span>\r\n </button>\r\n <ul class=\"dropdown-menu dropdown-menu-end w-100\" style=\"max-height: 500px; overflow-y: auto;\">\r\n @if (firstItemLabel) {\r\n <li>\r\n <span (click)=\"dropdownItemClicked(-1)\" class=\"dropdown-item active first-item-{{id}}\" href=\"javascript:void(0);\"\r\n [attr.data-value]=\"''\">{{firstItemLabel}}\r\n </span>\r\n </li>\r\n }\r\n @for (item of items; track item; let i = $index) {\r\n <li>\r\n <span (click)=\"dropdownItemClicked(i)\" class=\"dropdown-item\" href=\"javascript:void(0);\"\r\n [attr.data-value]=\"valueField ? fromGenerateForm ? item[textField] : item[valueField] : item\">\r\n {{textField ? item[textField] : item}}</span>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n @if (errorMessage !== null) {\r\n <div class=\"invalid-feedback ms-3\">\r\n {{errorMsg}}\r\n </div>\r\n }\r\n</div>" }]
599
597
  }], ctorParameters: () => [{ type: IPAFormService }, { type: i2$1.NgControl, decorators: [{
600
598
  type: Self
601
599
  }] }], propDecorators: { input: [{
@@ -643,10 +641,10 @@ class LoaderService {
643
641
  addExceptionUrl(url) {
644
642
  this.urls.push(url);
645
643
  }
646
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
647
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderService, providedIn: 'root' }); }
644
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
645
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LoaderService, providedIn: 'root' }); }
648
646
  }
649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderService, decorators: [{
647
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LoaderService, decorators: [{
650
648
  type: Injectable,
651
649
  args: [{
652
650
  providedIn: 'root',
@@ -676,10 +674,10 @@ class LoaderComponent {
676
674
  this.cdr.detectChanges();
677
675
  });
678
676
  }
679
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderComponent, deps: [{ token: LoaderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
680
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: LoaderComponent, isStandalone: false, selector: "ipa-loader", inputs: { isLocal: "isLocal" }, ngImport: i0, template: "@if (loading && isLocal) {\n <div id=\"cover-spin\">\n <div class=\"spinner\"></div>\n </div>\n}\n", styles: ["#cover-spin{display:flex}\n"] }); }
677
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LoaderComponent, deps: [{ token: LoaderService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
678
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: LoaderComponent, isStandalone: false, selector: "ipa-loader", inputs: { isLocal: "isLocal" }, ngImport: i0, template: "@if (loading && isLocal) {\n <div id=\"cover-spin\">\n <div class=\"spinner\"></div>\n </div>\n}\n", styles: ["#cover-spin{display:flex}\n"] }); }
681
679
  }
682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoaderComponent, decorators: [{
680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LoaderComponent, decorators: [{
683
681
  type: Component,
684
682
  args: [{ selector: 'ipa-loader', standalone: false, template: "@if (loading && isLocal) {\n <div id=\"cover-spin\">\n <div class=\"spinner\"></div>\n </div>\n}\n", styles: ["#cover-spin{display:flex}\n"] }]
685
683
  }], ctorParameters: () => [{ type: LoaderService }, { type: i0.ChangeDetectorRef }], propDecorators: { isLocal: [{
@@ -823,10 +821,10 @@ class FileUploadComponent {
823
821
  dictRemoveFile: '',
824
822
  };
825
823
  }
826
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
827
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: FileUploadComponent, isStandalone: false, selector: "ipa-file-upload", inputs: { isArabicForm: "isArabicForm", label: "label", required: "required", acceptedFiles: "acceptedFiles", multiple: "multiple", maxFileSize: "maxFileSize", method: "method", autoUpload: "autoUpload", apiUrl: "apiUrl", authorization: "authorization", disabled: "disabled" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, viewQueries: [{ propertyName: "dropzoneDir", first: true, predicate: DropzoneDirective, descendants: true }], ngImport: i0, template: "@if(multiple === 1) {\n <div class=\"file-upload-label\"> {{label}}</div>\n <div class=\"file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"single-file-upload\" [ngClass]=\"{'disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\n (addedFile)=\"fileWasAdded($event)\" (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n <br><br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br><br>\n }\n }\n }@else{\n <div class=\"file-upload-label form-label\"> {{label}}</div>\n <div class=\"multiple-file-upload text-center d-flex flex-column align-items-center \"\n [ngClass]=\"{'multiple-disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\" (dragLeave)=\"dragEnter = false\"\n (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\" [class.multiple-drag-hover]=\"dragEnter\"\n (sending)=\"sending($event)\" (reset)=\"reset($event)\" (addedFile)=\"fileWasAdded($event)\"\n (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n <div>\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/file-upload.svg\">\n </div>\n <div class=\"multiple-file-upload-text\">\n {{isArabicForm ? '\u0627\u0633\u062D\u0628 \u0648 \u0623\u0641\u0644\u062A \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0647\u0646\u0627 \u0644\u0644\u0631\u0641\u0639' : 'Drag and drop files here to upload'}}\n </div>\n <div class=\"multiple-file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"tp-link\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n </div>\n <br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br>\n }\n }\n }", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.DropzoneDirective, selector: "[dropzone]", inputs: ["disabled", "dropzone"], outputs: ["init", "error", "success", "sending", "canceled", "complete", "processing", "drop", "dragStart", "dragEnd", "dragEnter", "dragOver", "dragLeave", "thumbnail", "addedFile", "addedFiles", "removedFile", "uploadProgress", "maxFilesReached", "maxFilesExceeded", "errorMultiple", "successMultiple", "sendingMultiple", "canceledMultiple", "completeMultiple", "processingMultiple", "reset", "queueComplete", "totalUploadProgress"], exportAs: ["ngxDropzone"] }] }); }
824
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
825
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: FileUploadComponent, isStandalone: false, selector: "ipa-file-upload", inputs: { isArabicForm: "isArabicForm", label: "label", required: "required", acceptedFiles: "acceptedFiles", multiple: "multiple", maxFileSize: "maxFileSize", method: "method", autoUpload: "autoUpload", apiUrl: "apiUrl", authorization: "authorization", disabled: "disabled" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, viewQueries: [{ propertyName: "dropzoneDir", first: true, predicate: DropzoneDirective, descendants: true }], ngImport: i0, template: "@if(multiple === 1) {\n <div class=\"file-upload-label\"> {{label}}</div>\n <div class=\"file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"single-file-upload\" [ngClass]=\"{'disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\n (addedFile)=\"fileWasAdded($event)\" (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n <br><br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br><br>\n }\n }\n }@else{\n <div class=\"file-upload-label form-label\"> {{label}}</div>\n <div class=\"multiple-file-upload text-center d-flex flex-column align-items-center \"\n [ngClass]=\"{'multiple-disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\" (dragLeave)=\"dragEnter = false\"\n (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\" [class.multiple-drag-hover]=\"dragEnter\"\n (sending)=\"sending($event)\" (reset)=\"reset($event)\" (addedFile)=\"fileWasAdded($event)\"\n (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n <div>\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/file-upload.svg\">\n </div>\n <div class=\"multiple-file-upload-text\">\n {{isArabicForm ? '\u0627\u0633\u062D\u0628 \u0648 \u0623\u0641\u0644\u062A \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0647\u0646\u0627 \u0644\u0644\u0631\u0641\u0639' : 'Drag and drop files here to upload'}}\n </div>\n <div class=\"multiple-file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"tp-link\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n </div>\n <br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br>\n }\n }\n }", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.DropzoneDirective, selector: "[dropzone]", inputs: ["disabled", "dropzone"], outputs: ["init", "error", "success", "sending", "canceled", "complete", "processing", "drop", "dragStart", "dragEnd", "dragEnter", "dragOver", "dragLeave", "thumbnail", "addedFile", "addedFiles", "removedFile", "uploadProgress", "maxFilesReached", "maxFilesExceeded", "errorMultiple", "successMultiple", "sendingMultiple", "canceledMultiple", "completeMultiple", "processingMultiple", "reset", "queueComplete", "totalUploadProgress"], exportAs: ["ngxDropzone"] }] }); }
828
826
  }
829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FileUploadComponent, decorators: [{
827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: FileUploadComponent, decorators: [{
830
828
  type: Component,
831
829
  args: [{ selector: 'ipa-file-upload', standalone: false, template: "@if(multiple === 1) {\n <div class=\"file-upload-label\"> {{label}}</div>\n <div class=\"file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"single-file-upload\" [ngClass]=\"{'disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (sending)=\"sending($event)\" (reset)=\"reset($event)\"\n (addedFile)=\"fileWasAdded($event)\" (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n <br><br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br><br>\n }\n }\n }@else{\n <div class=\"file-upload-label form-label\"> {{label}}</div>\n <div class=\"multiple-file-upload text-center d-flex flex-column align-items-center \"\n [ngClass]=\"{'multiple-disabled': disabled}\" [disabled]=\"disabled\" [dropzone]=\"config\"\n (error)=\"onUploadError($event)\" tabindex=\"0\" (keydown.enter)=\"onEnterKey($event)\"\n (keydown.space)=\"onEnterKey($event)\" (queueComplete)=\"operationCompleted($event)\"\n (success)=\"onUploadSuccess($event)\" (dragenter)=\"dragEnter = true\" (dragLeave)=\"dragEnter = false\"\n (drop)=\"dragEnter = false\" (dragEnd)=\"dragEnter = false\" [class.multiple-drag-hover]=\"dragEnter\"\n (sending)=\"sending($event)\" (reset)=\"reset($event)\" (addedFile)=\"fileWasAdded($event)\"\n (maxFilesExceeded)=\"maxFilesExceeded($event)\">\n <div>\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/file-upload.svg\">\n </div>\n <div class=\"multiple-file-upload-text\">\n {{isArabicForm ? '\u0627\u0633\u062D\u0628 \u0648 \u0623\u0641\u0644\u062A \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0647\u0646\u0627 \u0644\u0644\u0631\u0641\u0639' : 'Drag and drop files here to upload'}}\n </div>\n <div class=\"multiple-file-upload-description\">\n {{fileMessage}}\n </div>\n <div class=\"tp-link\">\n {{isArabicForm ? '\u062A\u0635\u0641\u062D \u0627\u0644\u0645\u0644\u0641\u0627\u062A' : 'Browse Files'}}\n </div>\n </div>\n <br>\n @if (currentFiles.length > 0) {\n @for (file of currentFiles; track file) {\n <div class=\"uploaded-file \" [ngClass]=\"{'uploaded-file-error': file.error}\">\n <img [src]=\"file.error ? fileIconError : fileIconDone\"> {{ file.file.name }}\n <div style=\"margin-right: auto;\" (click)=\"deleteFile(file.file)\" title=\"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0641\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/upload-close.svg\">\n </div>\n @if (file.error) {\n @if (file.error) {\n <div class=\"flex-wrap-newline\"></div>\n }\n <div class=\"uploaded-helper\">{{file.error}}</div>\n }\n </div><br>\n }\n }\n }", styles: [".subtitle{border-bottom:none;display:block;line-height:2}.file-upload{border:dashed 1px #ccc;display:block;min-height:150px;border-radius:15px;width:350px;cursor:pointer;position:relative;margin:auto}.upload-overlay{position:absolute;width:100%;height:100%}.upload-btn-wrapper{text-align:center}.upload-icon{margin-right:5px}.list-unstyled{margin:10px!important;padding:14px!important;list-style:none}.allowed-extensions{color:#4d7297}\n"] }]
832
830
  }], ctorParameters: () => [{ type: i1.ToastrService }], propDecorators: { dropzoneDir: [{
@@ -892,10 +890,10 @@ class RecaptchaComponent {
892
890
  registerOnTouched(fn) {
893
891
  this.onTouched = fn;
894
892
  }
895
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i2$1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
896
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: RecaptchaComponent, isStandalone: false, selector: "ipa-recaptcha", inputs: { siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, viewQueries: [{ propertyName: "recaptcha", first: true, predicate: ["recaptcha"], descendants: true }], ngImport: i0, template: "<ngx-recaptcha2 #recaptcha [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" (success)=\"onChange($event)\"\n (error)=\"onChange(null)\" (expire)=\"onChange(null)\">\n</ngx-recaptcha2>", styles: [""], dependencies: [{ kind: "component", type: i2$2.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size"] }] }); }
893
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i2$1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
894
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: RecaptchaComponent, isStandalone: false, selector: "ipa-recaptcha", inputs: { siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, viewQueries: [{ propertyName: "recaptcha", first: true, predicate: ["recaptcha"], descendants: true }], ngImport: i0, template: "<ngx-recaptcha2 #recaptcha [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" (success)=\"onChange($event)\"\n (error)=\"onChange(null)\" (expire)=\"onChange(null)\">\n</ngx-recaptcha2>", styles: [""], dependencies: [{ kind: "component", type: i2$2.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size"] }] }); }
897
895
  }
898
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: RecaptchaComponent, decorators: [{
896
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: RecaptchaComponent, decorators: [{
899
897
  type: Component,
900
898
  args: [{ selector: 'ipa-recaptcha', standalone: false, template: "<ngx-recaptcha2 #recaptcha [siteKey]=\"siteKey\" [size]=\"recaptchaSize\" [hl]=\"lang\" [theme]=\"theme\" [type]=\"recaptchaType\"\n [useGlobalDomain]=\"useGlobalDomain\" (success)=\"onChange($event)\"\n (error)=\"onChange(null)\" (expire)=\"onChange(null)\">\n</ngx-recaptcha2>" }]
901
899
  }], ctorParameters: () => [{ type: i2$1.NgControl, decorators: [{
@@ -1026,10 +1024,10 @@ class GenerateFormComponent {
1026
1024
  let selectedItems = items.filter((item) => item.checkbox);
1027
1025
  return selectedItems.length > 0 ? selectedItems : null;
1028
1026
  }
1029
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GenerateFormComponent, deps: [{ token: IPAFormService }], target: i0.ɵɵFactoryTarget.Component }); }
1030
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: GenerateFormComponent, isStandalone: false, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", isArabicForm: "isArabicForm", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\n @for (column of form.columns; track column) {\n <div>\n @switch (column.type) {\n <!-- TEXTAREA -->\n @case ('textArea') {\n <div>\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-textarea-input>\n </div>\n }\n <!-- DROP DOWN LIST -->\n @case ('select') {\n <div>\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\" [classes]=\"column.inputClasses!\"\n [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\n </ipa-dropdown-input>\n </div>\n }\n <!-- CHECKBOX -->\n @case ('checkbox') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (control of getFormControls(column.formControlName).controls; track control; let i = $index) {\n <ng-container [formArrayName]=\"'items'+ column.formControlName\">\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\n type=\"checkbox\" formControlName=\"checkbox\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+control.value[column.valueField!]\">\n {{control.value[column.textField!]}}\n </label>\n </div>\n </ng-container>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- RADIO -->\n @case ('radio') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (item of column.data; track item; let i = $index) {\n <div class=\"form-check {{column.inputClasses}}\">\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\n [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\n {{item[column.textField!]}}\n </label>\n </div>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- FILE UPLOAD -->\n @case ('file') {\n <div [class]=\"column.containerClasses\">\n <ipa-file-upload [isArabicForm]=\"isArabicForm\" [required]=\"column.required\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \"\n [authorization]=\"column.authorization!\" ngDefaultControl [formControlName]=\"column.formControlName\"\n (successUpload)=\"SuccessUpload($event)\" (fileAdded)=\"FileAdded($event, column.formControlName)\"\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\n </ipa-file-upload>\n </div>\n }\n <!-- recaptcha -->\n @case ('recaptcha') {\n <div [class]=\"column.containerClasses\">\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\n formControlName=\"{{column.formControlName}}\">\n </ipa-recaptcha>\n </div>\n }\n <!-- DEFAULT -->\n @default {\n <div>\n <ipa-text-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\" [type]=\"column.type\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-text-input>\n </div>\n }\n }\n </div>\n }\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "label", "placeholder", "required", "patternErrorMsg", "onlyNumber", "pattern", "classes", "containerClasses", "isArabicForm"] }, { kind: "component", type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "label", "placeholder", "required", "patternErrorMsg", "pattern", "classes", "containerClasses", "isArabicForm"] }, { kind: "component", type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "firstItemLabel", "searchable", "notFoundText", "classes", "containerClasses", "isArabicForm", "fromGenerateForm"] }, { kind: "component", type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["isArabicForm", "label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization", "disabled"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { kind: "component", type: RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }] }); }
1027
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GenerateFormComponent, deps: [{ token: IPAFormService }], target: i0.ɵɵFactoryTarget.Component }); }
1028
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: GenerateFormComponent, isStandalone: false, selector: "ipa-generate-form", inputs: { generateForm: "generateForm", form: "form", isArabicForm: "isArabicForm", siteKey: "siteKey", recaptchaSize: "recaptchaSize", lang: "lang", recaptchaType: "recaptchaType", theme: "theme", useGlobalDomain: "useGlobalDomain" }, outputs: { successUpload: "successUpload", fileAdded: "fileAdded", fileDeleted: "fileDeleted" }, ngImport: i0, template: "<form [formGroup]=\"generateForm\">\n @for (column of form.columns; track column) {\n <div>\n @switch (column.type) {\n <!-- TEXTAREA -->\n @case ('textArea') {\n <div>\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-textarea-input>\n </div>\n }\n <!-- DROP DOWN LIST -->\n @case ('select') {\n <div>\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\" [classes]=\"column.inputClasses!\"\n [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\n </ipa-dropdown-input>\n </div>\n }\n <!-- CHECKBOX -->\n @case ('checkbox') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (control of getFormControls(column.formControlName).controls; track control; let i = $index) {\n <ng-container [formArrayName]=\"'items'+ column.formControlName\">\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\n type=\"checkbox\" formControlName=\"checkbox\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+control.value[column.valueField!]\">\n {{control.value[column.textField!]}}\n </label>\n </div>\n </ng-container>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- RADIO -->\n @case ('radio') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (item of column.data; track item; let i = $index) {\n <div class=\"form-check {{column.inputClasses}}\">\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\n [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\n {{item[column.textField!]}}\n </label>\n </div>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- FILE UPLOAD -->\n @case ('file') {\n <div [class]=\"column.containerClasses\">\n <ipa-file-upload [isArabicForm]=\"isArabicForm\" [required]=\"column.required\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \"\n [authorization]=\"column.authorization!\" ngDefaultControl [formControlName]=\"column.formControlName\"\n (successUpload)=\"SuccessUpload($event)\" (fileAdded)=\"FileAdded($event, column.formControlName)\"\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\n </ipa-file-upload>\n </div>\n }\n <!-- recaptcha -->\n @case ('recaptcha') {\n <div [class]=\"column.containerClasses\">\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\n formControlName=\"{{column.formControlName}}\">\n </ipa-recaptcha>\n </div>\n }\n <!-- DEFAULT -->\n @default {\n <div>\n <ipa-text-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\" [type]=\"column.type\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-text-input>\n </div>\n }\n }\n </div>\n }\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i2$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: TextInputComponent, selector: "ipa-text-input", inputs: ["id", "type", "label", "placeholder", "required", "patternErrorMsg", "onlyNumber", "pattern", "classes", "containerClasses", "isArabicForm"] }, { kind: "component", type: TextareaInputComponent, selector: "ipa-textarea-input", inputs: ["id", "label", "placeholder", "required", "patternErrorMsg", "pattern", "classes", "containerClasses", "isArabicForm"] }, { kind: "component", type: DropdownInputComponent, selector: "ipa-dropdown-input", inputs: ["id", "label", "items", "textField", "valueField", "required", "firstItemLabel", "searchable", "notFoundText", "classes", "containerClasses", "isArabicForm", "fromGenerateForm"] }, { kind: "component", type: FileUploadComponent, selector: "ipa-file-upload", inputs: ["isArabicForm", "label", "required", "acceptedFiles", "multiple", "maxFileSize", "method", "autoUpload", "apiUrl", "authorization", "disabled"], outputs: ["successUpload", "fileAdded", "fileDeleted"] }, { kind: "component", type: RecaptchaComponent, selector: "ipa-recaptcha", inputs: ["siteKey", "recaptchaSize", "lang", "recaptchaType", "theme", "useGlobalDomain"] }] }); }
1031
1029
  }
1032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GenerateFormComponent, decorators: [{
1030
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GenerateFormComponent, decorators: [{
1033
1031
  type: Component,
1034
1032
  args: [{ selector: 'ipa-generate-form', standalone: false, template: "<form [formGroup]=\"generateForm\">\n @for (column of form.columns; track column) {\n <div>\n @switch (column.type) {\n <!-- TEXTAREA -->\n @case ('textArea') {\n <div>\n <ipa-textarea-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-textarea-input>\n </div>\n }\n <!-- DROP DOWN LIST -->\n @case ('select') {\n <div>\n <ipa-dropdown-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [items]=\"column.data!\"\n [valueField]=\"column.valueField!\" [textField]=\"column.textField!\" [required]=\"column.required\"\n [searchable]=\"column.searchable!\" [notFoundText]=\"column.notFoundText!\" [classes]=\"column.inputClasses!\"\n [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\" [fromGenerateForm]=\"true\">\n </ipa-dropdown-input>\n </div>\n }\n <!-- CHECKBOX -->\n @case ('checkbox') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (control of getFormControls(column.formControlName).controls; track control; let i = $index) {\n <ng-container [formArrayName]=\"'items'+ column.formControlName\">\n <div class=\"form-check {{column.inputClasses}}\" [formGroupName]=\"i\">\n <input [id]=\"column.formControlName+control.value[column.valueField!]\" class=\"form-check-input\"\n type=\"checkbox\" formControlName=\"checkbox\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+control.value[column.valueField!]\">\n {{control.value[column.textField!]}}\n </label>\n </div>\n </ng-container>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- RADIO -->\n @case ('radio') {\n <div [class]=\"column.containerClasses\">\n <label>\n @if (column.required) {\n <span class=\"text-danger\">*</span>\n }\n {{isArabicForm? column.arabicLabel : column.englishLabel}}\n </label>\n @for (item of column.data; track item; let i = $index) {\n <div class=\"form-check {{column.inputClasses}}\">\n <input [id]=\"column.formControlName+item[column.valueField!]\" class=\"form-check-input\" type=\"radio\"\n [formControlName]=\"column.formControlName\" [value]=\"item[column.textField!]\">\n <label class=\"form-check-label\" [for]=\"column.formControlName+item[column.valueField!]\">\n {{item[column.textField!]}}\n </label>\n </div>\n }\n @if (getErrorMessage(column.formControlName) !== null) {\n <div class=\"invalid-feedback\" style=\"display: block !important;\">\n {{errorMsg}}\n </div>\n }\n </div>\n }\n <!-- FILE UPLOAD -->\n @case ('file') {\n <div [class]=\"column.containerClasses\">\n <ipa-file-upload [isArabicForm]=\"isArabicForm\" [required]=\"column.required\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [acceptedFiles]=\"column.acceptedFiles!\"\n [multiple]=\"column.multipleFile!\" [maxFileSize]=\"column.size!\" [method]=\"column.apiURlMethod!\"\n [autoUpload]=\"column.autoUploadFile!\" [apiUrl]=\"column.apiUrl?? 'apiUrl' \"\n [authorization]=\"column.authorization!\" ngDefaultControl [formControlName]=\"column.formControlName\"\n (successUpload)=\"SuccessUpload($event)\" (fileAdded)=\"FileAdded($event, column.formControlName)\"\n (fileDeleted)=\"FileDeleted($event, column.formControlName)\">\n </ipa-file-upload>\n </div>\n }\n <!-- recaptcha -->\n @case ('recaptcha') {\n <div [class]=\"column.containerClasses\">\n <ipa-recaptcha [recaptchaSize]=\"recaptchaSize\" [lang]=\"isArabicForm? 'ar':'en'\" [theme]=\"theme\"\n [recaptchaType]=\"recaptchaType\" [useGlobalDomain]=\"useGlobalDomain\"\n formControlName=\"{{column.formControlName}}\">\n </ipa-recaptcha>\n </div>\n }\n <!-- DEFAULT -->\n @default {\n <div>\n <ipa-text-input [formControlName]=\"column.formControlName\" [id]=\"column.formControlName\" [type]=\"column.type\"\n [label]=\"isArabicForm? column.arabicLabel : column.englishLabel\" [required]=\"column.required\"\n [placeholder]=\"isArabicForm? column.arabicLabel : column.englishLabel\"\n [patternErrorMsg]=\"isArabicForm? column.patternArErrorMsg! : column.patternEnErrorMsg!\"\n [classes]=\"column.inputClasses!\" [containerClasses]=\"column.containerClasses!\" [isArabicForm]=\"isArabicForm\">\n </ipa-text-input>\n </div>\n }\n }\n </div>\n }\n</form>" }]
1035
1033
  }], ctorParameters: () => [{ type: IPAFormService }], propDecorators: { generateForm: [{
@@ -1166,10 +1164,10 @@ class DatepickerComponent {
1166
1164
  });
1167
1165
  });
1168
1166
  }
1169
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DatepickerComponent, deps: [{ token: IPAFormService }, { token: i2.NgbCalendar }, { token: i2$1.NgControl, self: true }, { token: i2.NgbInputDatepickerConfig }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1170
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: DatepickerComponent, isStandalone: false, selector: "ipa-datepicker", inputs: { id: "id", label: "label", patternErrorMsg: "patternErrorMsg", required: "required", maxDate: "maxDate", minDate: "minDate", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i2.NgbDatepickerMonth, selector: "ngb-datepicker-month", inputs: ["month"] }] }); }
1167
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DatepickerComponent, deps: [{ token: IPAFormService }, { token: i2.NgbCalendar }, { token: i2$1.NgControl, self: true }, { token: i2.NgbInputDatepickerConfig }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1168
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: DatepickerComponent, isStandalone: false, selector: "ipa-datepicker", inputs: { id: "id", label: "label", patternErrorMsg: "patternErrorMsg", required: "required", maxDate: "maxDate", minDate: "minDate", classes: "classes", containerClasses: "containerClasses", isArabicForm: "isArabicForm" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i2.NgbDatepickerMonth, selector: "ngb-datepicker-month", inputs: ["month"] }] }); }
1171
1169
  }
1172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DatepickerComponent, decorators: [{
1170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: DatepickerComponent, decorators: [{
1173
1171
  type: Component,
1174
1172
  args: [{ selector: 'ipa-datepicker', standalone: false, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"] }]
1175
1173
  }], ctorParameters: () => [{ type: IPAFormService }, { type: i2.NgbCalendar }, { type: i2$1.NgControl, decorators: [{
@@ -1225,10 +1223,10 @@ class IslamicI18n extends NgbDatepickerI18n {
1225
1223
  getDayAriaLabel(date) {
1226
1224
  return `${date.day}-${date.month}-${date.year}`;
1227
1225
  }
1228
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IslamicI18n, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1229
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IslamicI18n }); }
1226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IslamicI18n, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1227
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IslamicI18n }); }
1230
1228
  }
1231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IslamicI18n, decorators: [{
1229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: IslamicI18n, decorators: [{
1232
1230
  type: Injectable
1233
1231
  }] });
1234
1232
 
@@ -1237,13 +1235,13 @@ class HijriDatepickerComponent extends DatepickerComponent {
1237
1235
  super(...arguments);
1238
1236
  this.isHijriDatepicker = true;
1239
1237
  }
1240
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HijriDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1241
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: HijriDatepickerComponent, isStandalone: false, selector: "ipa-hijri-datepicker", providers: [
1238
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: HijriDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: HijriDatepickerComponent, isStandalone: false, selector: "ipa-hijri-datepicker", providers: [
1242
1240
  { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },
1243
1241
  { provide: NgbDatepickerI18n, useClass: IslamicI18n },
1244
1242
  ], usesInheritance: true, ngImport: i0, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i2.NgbDatepickerMonth, selector: "ngb-datepicker-month", inputs: ["month"] }] }); }
1245
1243
  }
1246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HijriDatepickerComponent, decorators: [{
1244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: HijriDatepickerComponent, decorators: [{
1247
1245
  type: Component,
1248
1246
  args: [{ selector: 'ipa-hijri-datepicker', providers: [
1249
1247
  { provide: NgbCalendar, useClass: NgbCalendarIslamicUmalqura },
@@ -1279,10 +1277,10 @@ class Gregorian18n extends NgbDatepickerI18n {
1279
1277
  getDayAriaLabel(date) {
1280
1278
  return `${date.day}-${date.month}-${date.year}`;
1281
1279
  }
1282
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Gregorian18n, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1283
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Gregorian18n }); }
1280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: Gregorian18n, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1281
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: Gregorian18n }); }
1284
1282
  }
1285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Gregorian18n, decorators: [{
1283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: Gregorian18n, decorators: [{
1286
1284
  type: Injectable
1287
1285
  }] });
1288
1286
 
@@ -1291,13 +1289,13 @@ class GregorianDatepickerComponent extends DatepickerComponent {
1291
1289
  super(...arguments);
1292
1290
  this.isHijriDatepicker = false;
1293
1291
  }
1294
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GregorianDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1295
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: GregorianDatepickerComponent, isStandalone: false, selector: "ipa-gregorian-datepicker", providers: [
1292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GregorianDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1293
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: GregorianDatepickerComponent, isStandalone: false, selector: "ipa-gregorian-datepicker", providers: [
1296
1294
  { provide: NgbCalendar, useClass: NgbCalendarGregorian },
1297
1295
  { provide: NgbDatepickerI18n, useClass: Gregorian18n },
1298
1296
  ], usesInheritance: true, ngImport: i0, template: "<div class=\"{{containerClasses}}\">\n <label class=\"form-label\" for=\"{{id}}\">@if (required) {\n <span class=\"text-danger\">*</span>\n } {{label}} </label>\n <input id=\"{{id}}\" class=\"form-control {{classes}}\" [formControl]=\"formControl\" [firstDayOfWeek]=\"7\" ngbDatepicker\n #d=\"ngbDatepicker\" [maxDate]=\"maxDate\" [minDate]=\"minDate\" [required]=\"required\"\n style=\"outline: unset; z-index: unset !important;\" autocomplete=\"off\" (blur)=\"onTouched()\" placeholder=\"{{label}}\"\n (click)=\"openDatepicker($event)\" [contentTemplate]=\"contentTemplate\" [navigation]=\"'none'\"\n [placement]=\"'bottom-end'\" [autoClose]=\"true\" [dayTemplate]=\"dayTemplate\"\n [ngClass]=\"{'is-invalid is-invalid:focus': (controlDir.control?.invalid && (controlDir.control?.dirty || controlDir.control?.touched)) && errorMsg}\">\n\n @if (errorMessage !== null) {\n <div class=\"invalid-feedback\">\n {{errorMsg}}\n </div>\n }\n <ng-template #dayTemplate let-date let-currentMonth=\"currentMonth\" let-selected=\"selected\" let-disabled=\"disabled\"\n let-focused=\"focused\">\n <div ngbdatepickerdayview [class.bg-primary]=\"selected\" [class.outside]=\"date.month !== currentMonth\">\n {{ date.day }}\n </div>\n </ng-template>\n <ng-template #contentTemplate let-dp>\n <div class=\"p-2\">\n <div class=\"custom-month-grid\">\n @for (month of dp.state.months; track month.month) {\n <div class=\"d-flex justify-content-between\" style=\"height: 40px;\">\n <div class=\"d-inline-flex\">\n <span class=\"align-content-center me-2\">{{ dp.i18n.getMonthShortName(month.month) }}</span>\n <div class=\"dropdown custom-dropdown-wrapper-{{id}}\">\n <button\n class=\"form-control dropdown-toggle w-100 text-end d-flex justify-content-between align-items-center\"\n type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\n <span class=\"selected-text\">{{dp.state.focusedDate.year}}</span>\n </button>\n <ul class=\"dropdown-menu dropdown-menu-end w-50\" style=\"max-height: 360px; overflow-y: auto;\">\n @for (year of years; track year; let i = $index) {\n <li (click)=\"navigateYear(dp, year);\">\n <span class=\"dropdown-item\" href=\"javascript:void(0);\" [attr.data-value]=\"year\"\n [ngClass]=\"{'active': dp.state.focusedDate.year === year}\">\n {{year}}\n </span>\n </li>\n }\n </ul>\n </div>\n </div>\n <div>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, -1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year <= minYear) && (minDate?.month && (+dp.state.focusedDate.month <= minDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\"\n style=\"transform: rotate(-180deg);\" />\n </button>\n <button type=\"button\" class=\"tp-link tp-link-subtle\" (click)=\"navigate(dp, 1)\"\n [ngClass]=\"{'disabled': (+dp.state.focusedDate.year >= maxYear) && (maxDate?.month && (+dp.state.focusedDate.month >= maxDate.month))}\">\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/arrow.svg\" alt=\"Calender Icon\" />\n </button>\n </div>\n </div>\n <ngb-datepicker-month [month]=\"month\"></ngb-datepicker-month>\n }\n </div>\n </div>\n </ng-template>\n</div>", styles: [".calenderBtn{cursor:pointer;background-color:transparent;color:#6c757d;border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.calenderBtn:hover{color:#fff;background-color:#6c757d;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.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: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i2.NgbDatepickerMonth, selector: "ngb-datepicker-month", inputs: ["month"] }] }); }
1299
1297
  }
1300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: GregorianDatepickerComponent, decorators: [{
1298
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GregorianDatepickerComponent, decorators: [{
1301
1299
  type: Component,
1302
1300
  args: [{ selector: 'ipa-gregorian-datepicker', providers: [
1303
1301
  { provide: NgbCalendar, useClass: NgbCalendarGregorian },
@@ -1332,10 +1330,10 @@ class ShareButtonComponent {
1332
1330
  script.setAttribute('init', '');
1333
1331
  document.body.appendChild(script);
1334
1332
  }
1335
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ShareButtonComponent, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
1336
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ShareButtonComponent, isStandalone: false, selector: "ipa-share-button", inputs: { title: "title", tooltip: "tooltip", containerClasses: "containerClasses", description: "description", btnLabel: "btnLabel" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown {{containerClasses}}\">\r\n <button class=\"tp-link \" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" [title]=\"tooltip\">\r\n {{btnLabel}}\r\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/share-08.svg\">\r\n </button>\r\n <div id=\"share\" class=\"dropdown-menu shareon\" style=\"width: max-content\" [attr.data-text]=\"description\">\r\n <a class=\"twitter\" [attr.data-title]=\"title\"></a>\r\n <a class=\"whatsapp\" [attr.data-title]=\"title\"></a>\r\n <a class=\"facebook\" [attr.data-title]=\"title\"></a>\r\n <a class=\"linkedin\" [attr.data-title]=\"title\"></a>\r\n <a class=\"telegram\" [attr.data-title]=\"title\"></a>\r\n <a class=\"copy-url\" (click)=\"alertSuccessCopy()\"></a>\r\n </div>\r\n</div>", styles: [""] }); }
1333
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ShareButtonComponent, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
1334
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: ShareButtonComponent, isStandalone: false, selector: "ipa-share-button", inputs: { title: "title", tooltip: "tooltip", containerClasses: "containerClasses", description: "description", btnLabel: "btnLabel" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown {{containerClasses}}\">\r\n <button class=\"tp-link \" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" [title]=\"tooltip\">\r\n {{btnLabel}}\r\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/share-08.svg\">\r\n </button>\r\n <div id=\"share\" class=\"dropdown-menu shareon\" style=\"width: max-content\" [attr.data-text]=\"description\">\r\n <a class=\"twitter\" [attr.data-title]=\"title\"></a>\r\n <a class=\"whatsapp\" [attr.data-title]=\"title\"></a>\r\n <a class=\"facebook\" [attr.data-title]=\"title\"></a>\r\n <a class=\"linkedin\" [attr.data-title]=\"title\"></a>\r\n <a class=\"telegram\" [attr.data-title]=\"title\"></a>\r\n <a class=\"copy-url\" (click)=\"alertSuccessCopy()\"></a>\r\n </div>\r\n</div>", styles: [""] }); }
1337
1335
  }
1338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ShareButtonComponent, decorators: [{
1336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ShareButtonComponent, decorators: [{
1339
1337
  type: Component,
1340
1338
  args: [{ selector: 'ipa-share-button', standalone: false, template: "<div class=\"dropdown {{containerClasses}}\">\r\n <button class=\"tp-link \" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\" [title]=\"tooltip\">\r\n {{btnLabel}}\r\n <img src=\"/_catalogs/masterpage/ar-sa/CPS/assets/img/internal/share-08.svg\">\r\n </button>\r\n <div id=\"share\" class=\"dropdown-menu shareon\" style=\"width: max-content\" [attr.data-text]=\"description\">\r\n <a class=\"twitter\" [attr.data-title]=\"title\"></a>\r\n <a class=\"whatsapp\" [attr.data-title]=\"title\"></a>\r\n <a class=\"facebook\" [attr.data-title]=\"title\"></a>\r\n <a class=\"linkedin\" [attr.data-title]=\"title\"></a>\r\n <a class=\"telegram\" [attr.data-title]=\"title\"></a>\r\n <a class=\"copy-url\" (click)=\"alertSuccessCopy()\"></a>\r\n </div>\r\n</div>" }]
1341
1339
  }], ctorParameters: () => [{ type: i1.ToastrService }], propDecorators: { title: [{
@@ -1351,8 +1349,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1351
1349
  }] } });
1352
1350
 
1353
1351
  class NgIPALibraryModule {
1354
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgIPALibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1355
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: NgIPALibraryModule, declarations: [TextInputComponent,
1352
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: NgIPALibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1353
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: NgIPALibraryModule, declarations: [TextInputComponent,
1356
1354
  TextareaInputComponent,
1357
1355
  DropdownInputComponent,
1358
1356
  LoaderComponent,
@@ -1369,8 +1367,7 @@ class NgIPALibraryModule {
1369
1367
  DropzoneModule,
1370
1368
  NgxCaptchaModule,
1371
1369
  PipesModule,
1372
- NgbDatepickerModule,
1373
- NgSelectModule], exports: [TextInputComponent,
1370
+ NgbDatepickerModule], exports: [TextInputComponent,
1374
1371
  TextareaInputComponent,
1375
1372
  DropdownInputComponent,
1376
1373
  LoaderComponent,
@@ -1381,17 +1378,16 @@ class NgIPALibraryModule {
1381
1378
  GregorianDatepickerComponent,
1382
1379
  RecaptchaComponent,
1383
1380
  ShareButtonComponent] }); }
1384
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgIPALibraryModule, imports: [CommonModule,
1381
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: NgIPALibraryModule, imports: [CommonModule,
1385
1382
  FormsModule,
1386
1383
  ReactiveFormsModule,
1387
1384
  ToastrModule,
1388
1385
  DropzoneModule,
1389
1386
  NgxCaptchaModule,
1390
1387
  PipesModule,
1391
- NgbDatepickerModule,
1392
- NgSelectModule, PipesModule] }); }
1388
+ NgbDatepickerModule, PipesModule] }); }
1393
1389
  }
1394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: NgIPALibraryModule, decorators: [{
1390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: NgIPALibraryModule, decorators: [{
1395
1391
  type: NgModule,
1396
1392
  args: [{
1397
1393
  declarations: [
@@ -1416,7 +1412,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1416
1412
  NgxCaptchaModule,
1417
1413
  PipesModule,
1418
1414
  NgbDatepickerModule,
1419
- NgSelectModule,
1420
1415
  ],
1421
1416
  exports: [
1422
1417
  TextInputComponent,
@@ -1480,10 +1475,10 @@ class LoadingInterceptor {
1480
1475
  }
1481
1476
  return false;
1482
1477
  }
1483
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoadingInterceptor, deps: [{ token: LoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1484
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoadingInterceptor }); }
1478
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LoadingInterceptor, deps: [{ token: LoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1479
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LoadingInterceptor }); }
1485
1480
  }
1486
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LoadingInterceptor, decorators: [{
1481
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: LoadingInterceptor, decorators: [{
1487
1482
  type: Injectable
1488
1483
  }], ctorParameters: () => [{ type: LoaderService }] });
1489
1484
 
@@ -1548,10 +1543,10 @@ class CommonService {
1548
1543
  }
1549
1544
  return html.join('\r\n');
1550
1545
  }
1551
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommonService, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1552
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommonService, providedIn: 'root' }); }
1546
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CommonService, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1547
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CommonService, providedIn: 'root' }); }
1553
1548
  }
1554
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CommonService, decorators: [{
1549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CommonService, decorators: [{
1555
1550
  type: Injectable,
1556
1551
  args: [{
1557
1552
  providedIn: 'root',
@@ -1599,10 +1594,10 @@ class ErrorService {
1599
1594
  });
1600
1595
  messageToast.appendChild(icon);
1601
1596
  }
1602
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorService, deps: [{ token: i1.ToastrService }, { token: CommonService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1603
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorService, providedIn: 'root' }); }
1597
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ErrorService, deps: [{ token: i1.ToastrService }, { token: CommonService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1598
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ErrorService, providedIn: 'root' }); }
1604
1599
  }
1605
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorService, decorators: [{
1600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ErrorService, decorators: [{
1606
1601
  type: Injectable,
1607
1602
  args: [{
1608
1603
  providedIn: 'root',
@@ -1643,10 +1638,10 @@ class ErrorInterceptor {
1643
1638
  }
1644
1639
  return false;
1645
1640
  }
1646
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorInterceptor, deps: [{ token: ErrorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1647
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorInterceptor }); }
1641
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ErrorInterceptor, deps: [{ token: ErrorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1642
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ErrorInterceptor }); }
1648
1643
  }
1649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ErrorInterceptor, decorators: [{
1644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ErrorInterceptor, decorators: [{
1650
1645
  type: Injectable
1651
1646
  }], ctorParameters: () => [{ type: ErrorService }] });
1652
1647
 
@@ -1710,10 +1705,10 @@ class AuthService {
1710
1705
  .join(''));
1711
1706
  return JSON.parse(jsonPayload);
1712
1707
  }
1713
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1714
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AuthService, providedIn: 'root' }); }
1708
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1709
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AuthService, providedIn: 'root' }); }
1715
1710
  }
1716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AuthService, decorators: [{
1711
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AuthService, decorators: [{
1717
1712
  type: Injectable,
1718
1713
  args: [{
1719
1714
  providedIn: 'root',
@@ -1730,10 +1725,10 @@ class TokenService {
1730
1725
  addExceptionUrl(url) {
1731
1726
  this.urls.push(url);
1732
1727
  }
1733
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1734
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenService, providedIn: 'root' }); }
1728
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1729
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TokenService, providedIn: 'root' }); }
1735
1730
  }
1736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenService, decorators: [{
1731
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TokenService, decorators: [{
1737
1732
  type: Injectable,
1738
1733
  args: [{
1739
1734
  providedIn: 'root',
@@ -1808,10 +1803,10 @@ class TokenInterceptor {
1808
1803
  }
1809
1804
  return false;
1810
1805
  }
1811
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenInterceptor, deps: [{ token: AuthService }, { token: i2$3.HttpClient }, { token: LoaderService }, { token: TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1812
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenInterceptor }); }
1806
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TokenInterceptor, deps: [{ token: AuthService }, { token: i2$3.HttpClient }, { token: LoaderService }, { token: TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1807
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TokenInterceptor }); }
1813
1808
  }
1814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TokenInterceptor, decorators: [{
1809
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: TokenInterceptor, decorators: [{
1815
1810
  type: Injectable
1816
1811
  }], ctorParameters: () => [{ type: AuthService }, { type: i2$3.HttpClient }, { type: LoaderService }, { type: TokenService }] });
1817
1812
 
@@ -1842,10 +1837,10 @@ class myIPATokenInterceptor {
1842
1837
  }
1843
1838
  return false;
1844
1839
  }
1845
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: myIPATokenInterceptor, deps: [{ token: AuthService }, { token: TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1846
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: myIPATokenInterceptor }); }
1840
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: myIPATokenInterceptor, deps: [{ token: AuthService }, { token: TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1841
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: myIPATokenInterceptor }); }
1847
1842
  }
1848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: myIPATokenInterceptor, decorators: [{
1843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: myIPATokenInterceptor, decorators: [{
1849
1844
  type: Injectable
1850
1845
  }], ctorParameters: () => [{ type: AuthService }, { type: TokenService }] });
1851
1846
 
@@ -1986,10 +1981,10 @@ class BreadcrumbsService {
1986
1981
  lastSpan?.classList.add(...['bc-current']);
1987
1982
  lastSpan.innerHTML = lastSpanLink.innerHTML;
1988
1983
  }
1989
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1990
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsService, providedIn: 'root' }); }
1984
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: BreadcrumbsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1985
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: BreadcrumbsService, providedIn: 'root' }); }
1991
1986
  }
1992
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsService, decorators: [{
1987
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: BreadcrumbsService, decorators: [{
1993
1988
  type: Injectable,
1994
1989
  args: [{
1995
1990
  providedIn: 'root',
@@ -2153,10 +2148,10 @@ class BreadcrumbsV2Service {
2153
2148
  const span = this.createSpan(lastSpan.innerHTML);
2154
2149
  lastSpan.replaceWith(span);
2155
2150
  }
2156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsV2Service, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2157
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsV2Service, providedIn: 'root' }); }
2151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: BreadcrumbsV2Service, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2152
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: BreadcrumbsV2Service, providedIn: 'root' }); }
2158
2153
  }
2159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BreadcrumbsV2Service, decorators: [{
2154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: BreadcrumbsV2Service, decorators: [{
2160
2155
  type: Injectable,
2161
2156
  args: [{
2162
2157
  providedIn: 'root',