@qbs-origin/origin-form 0.5.0 → 0.6.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.
Files changed (60) hide show
  1. package/esm2022/lib/action-step-handler.mjs +3 -3
  2. package/esm2022/lib/auth-client.service.mjs +3 -3
  3. package/esm2022/lib/formly/baseFormlyControlComponent.mjs +3 -3
  4. package/esm2022/lib/formly/baseFormlyStepComponent.mjs +3 -3
  5. package/esm2022/lib/formly/custom-section-separator.component.mjs +3 -3
  6. package/esm2022/lib/formly/form-section-separator.component.mjs +3 -3
  7. package/esm2022/lib/formly/formly-action.mjs +3 -3
  8. package/esm2022/lib/formly/formly-checkbox/formly-checkbox.component.mjs +3 -3
  9. package/esm2022/lib/formly/formly-dictionary-dropdown-tree/formly-dictionary-dropdown-tree.component.mjs +3 -3
  10. package/esm2022/lib/formly/formly-download-documents/formly-download-documents.component.mjs +3 -3
  11. package/esm2022/lib/formly/formly-enrol-card/formly-enrol-card.component.mjs +3 -3
  12. package/esm2022/lib/formly/formly-field-stepper/formly-field-stepper.component.mjs +3 -3
  13. package/esm2022/lib/formly/formly-generate-documents/formly-generate-documents.component.mjs +3 -3
  14. package/esm2022/lib/formly/formly-identification.component.mjs +3 -3
  15. package/esm2022/lib/formly/formly-open-banking/formly-open-banking.component.mjs +3 -3
  16. package/esm2022/lib/formly/formly-paragraph/formly-paragraph.component.mjs +3 -3
  17. package/esm2022/lib/formly/formly-radio/formly-radio-component.mjs +3 -3
  18. package/esm2022/lib/formly/formly-row-fille.mjs +3 -3
  19. package/esm2022/lib/formly/formly-scan-id/formly-scan-id.component.mjs +3 -3
  20. package/esm2022/lib/formly/formly-sign/formly-sign.component.mjs +5 -5
  21. package/esm2022/lib/formly/formly-upload-documents/formly-upload-documents.component.mjs +3 -3
  22. package/esm2022/lib/formly/formly-validate-contact-info/formly-validate-contact-info.component.mjs +3 -3
  23. package/esm2022/lib/formly/formly-view-documents/formly-view-documents.component.mjs +3 -3
  24. package/esm2022/lib/formly/formly-view-offers/formly-view-offers.component.mjs +3 -3
  25. package/esm2022/lib/origin-form-auth.service.mjs +3 -3
  26. package/esm2022/lib/origin-form-token.interceptor.mjs +3 -3
  27. package/esm2022/lib/origin-form.component.mjs +3 -3
  28. package/esm2022/lib/origin-form.module.mjs +6 -6
  29. package/esm2022/lib/origin-form.service.mjs +3 -3
  30. package/esm2022/lib/others/check-list.database.mjs +3 -3
  31. package/esm2022/lib/others/config-service.mjs +3 -3
  32. package/esm2022/lib/others/external-link.directive.mjs +3 -3
  33. package/esm2022/lib/others/flux-helper.mjs +3 -3
  34. package/esm2022/lib/others/picker.component.mjs +3 -3
  35. package/esm2022/lib/others/translation.pipe.mjs +3 -3
  36. package/esm2022/lib/others/translations-helper.mjs +3 -3
  37. package/esm2022/lib/services/applicationData.service.mjs +3 -3
  38. package/esm2022/lib/services/auth-http.service.mjs +3 -3
  39. package/esm2022/lib/services/dialog.service.mjs +3 -3
  40. package/esm2022/lib/services/dictionary.service.mjs +3 -3
  41. package/esm2022/lib/services/forms.service.mjs +3 -3
  42. package/esm2022/lib/services/labels.service.mjs +3 -3
  43. package/esm2022/lib/services/language.service.mjs +3 -3
  44. package/esm2022/lib/services/open-banking.service.mjs +3 -3
  45. package/esm2022/lib/services/origin-form-signalr-handler.service.mjs +3 -3
  46. package/esm2022/lib/services/origin-form-signalr.service.mjs +3 -3
  47. package/esm2022/lib/services/otp.service.mjs +3 -3
  48. package/esm2022/lib/services/proxy.service.mjs +3 -3
  49. package/esm2022/lib/services/scroll-to-error.service.mjs +3 -3
  50. package/esm2022/lib/services/translation.service.mjs +3 -3
  51. package/esm2022/lib/shared-components/confirmation.component.mjs +3 -3
  52. package/esm2022/lib/shared-components/dictionaries-tree.component.mjs +3 -3
  53. package/esm2022/lib/shared-components/grid.component.mjs +3 -3
  54. package/esm2022/lib/shared-components/treeview/treeview.component.mjs +3 -3
  55. package/esm2022/lib/theme-injector.service.mjs +3 -3
  56. package/fesm2022/qbs-origin-origin-form.mjs +168 -168
  57. package/fesm2022/qbs-origin-origin-form.mjs.map +1 -1
  58. package/lib/formly/formly-sign/formly-sign.component.d.ts +1 -1
  59. package/lib/origin-form.module.d.ts +1 -1
  60. package/package.json +2 -2
@@ -50,8 +50,8 @@ import * as i15 from '@angular/material/menu';
50
50
  import { MatMenuModule } from '@angular/material/menu';
51
51
  import * as i3$1 from '@angular/material/radio';
52
52
  import { MatRadioModule } from '@angular/material/radio';
53
- import * as i3$2 from 'sign-lib';
54
- import { SignLibModule } from 'sign-lib';
53
+ import * as i3$2 from '@qbs-origin/sign-lib';
54
+ import { SignLibModule } from '@qbs-origin/sign-lib';
55
55
  import * as i2$2 from '@angular/material/card';
56
56
  import { MatCardModule } from '@angular/material/card';
57
57
  import * as i10 from '@angular/material/paginator';
@@ -90,8 +90,8 @@ import { PdfViewerModule } from 'ng2-pdf-viewer';
90
90
  import * as i3$3 from '@angular/platform-browser';
91
91
 
92
92
  class CustomSectionComponent extends FieldType {
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomSectionComponent, selector: "formly-custom-section", usesInheritance: true, ngImport: i0, template: `
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CustomSectionComponent, selector: "formly-custom-section", usesInheritance: true, ngImport: i0, template: `
95
95
  <div class="custom-section">
96
96
  <ng-container *ngFor="let field of field.fieldGroup">
97
97
  <formly-field
@@ -102,7 +102,7 @@ class CustomSectionComponent extends FieldType {
102
102
  </div>
103
103
  `, isInline: true, styles: [".custom-section{display:grid;gap:5px;margin-bottom:5px;grid-template-columns:repeat(12,1fr)}.full-width{grid-column:span 12}.half-width{grid-column:span 6}.quarter-width{grid-column:span 3}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.FormlyField, selector: "formly-field", inputs: ["field"] }] }); }
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomSectionComponent, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomSectionComponent, decorators: [{
106
106
  type: Component,
107
107
  args: [{ selector: 'formly-custom-section', template: `
108
108
  <div class="custom-section">
@@ -126,8 +126,8 @@ class FormSectionSeparatorComponent extends FieldType {
126
126
  }
127
127
  }
128
128
  }
129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormSectionSeparatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormSectionSeparatorComponent, selector: "form-section-separator", usesInheritance: true, ngImport: i0, template: `
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormSectionSeparatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormSectionSeparatorComponent, selector: "form-section-separator", usesInheritance: true, ngImport: i0, template: `
131
131
  <div class="separator" style="margin: 2% ;">
132
132
  <h2 *ngIf="to && to['title']" [ngStyle]="heading2Style">
133
133
  {{ to['title'] }}
@@ -136,7 +136,7 @@ class FormSectionSeparatorComponent extends FieldType {
136
136
  </div>
137
137
  `, isInline: true, styles: [".separator{margin:2% 0}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
138
138
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormSectionSeparatorComponent, decorators: [{
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormSectionSeparatorComponent, decorators: [{
140
140
  type: Component,
141
141
  args: [{ selector: 'form-section-separator', template: `
142
142
  <div class="separator" style="margin: 2% ;">
@@ -1221,10 +1221,10 @@ class TranslationsHelper {
1221
1221
  });
1222
1222
  return list;
1223
1223
  }
1224
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationsHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1225
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationsHelper, providedIn: 'root' }); }
1224
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TranslationsHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1225
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TranslationsHelper, providedIn: 'root' }); }
1226
1226
  }
1227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationsHelper, decorators: [{
1227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TranslationsHelper, decorators: [{
1228
1228
  type: Injectable,
1229
1229
  args: [{
1230
1230
  providedIn: 'root',
@@ -1247,10 +1247,10 @@ class TranslationService {
1247
1247
  }
1248
1248
  return translated;
1249
1249
  }
1250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1251
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationService, providedIn: 'root' }); }
1250
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1251
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TranslationService, providedIn: 'root' }); }
1252
1252
  }
1253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationService, decorators: [{
1253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TranslationService, decorators: [{
1254
1254
  type: Injectable,
1255
1255
  args: [{ providedIn: 'root' }]
1256
1256
  }], ctorParameters: () => [] });
@@ -1262,10 +1262,10 @@ class TranslatePipe {
1262
1262
  transform(value, args) {
1263
1263
  return this.translationService.translate(value);
1264
1264
  }
1265
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslatePipe, deps: [{ token: TranslationService }], target: i0.ɵɵFactoryTarget.Pipe }); }
1266
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TranslatePipe, name: "translate", pure: false }); }
1265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TranslatePipe, deps: [{ token: TranslationService }], target: i0.ɵɵFactoryTarget.Pipe }); }
1266
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TranslatePipe, name: "translate", pure: false }); }
1267
1267
  }
1268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslatePipe, decorators: [{
1268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TranslatePipe, decorators: [{
1269
1269
  type: Pipe,
1270
1270
  args: [{
1271
1271
  name: 'translate',
@@ -2653,10 +2653,10 @@ class FluxHelper {
2653
2653
  const document = formModel.documents.find((d) => d.id === documentId);
2654
2654
  return document?.name || '';
2655
2655
  }
2656
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FluxHelper, deps: [{ token: TranslatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
2657
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FluxHelper, providedIn: 'root' }); }
2656
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FluxHelper, deps: [{ token: TranslatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
2657
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FluxHelper, providedIn: 'root' }); }
2658
2658
  }
2659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FluxHelper, decorators: [{
2659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FluxHelper, decorators: [{
2660
2660
  type: Injectable,
2661
2661
  args: [{
2662
2662
  providedIn: 'root',
@@ -3545,10 +3545,10 @@ class BaseFormlyStepComponent extends FieldType {
3545
3545
  }
3546
3546
  return errorMessage;
3547
3547
  }
3548
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseFormlyStepComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3549
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BaseFormlyStepComponent, selector: "base-formly-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
3548
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFormlyStepComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3549
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BaseFormlyStepComponent, selector: "base-formly-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
3550
3550
  }
3551
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseFormlyStepComponent, decorators: [{
3551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFormlyStepComponent, decorators: [{
3552
3552
  type: Component,
3553
3553
  args: [{
3554
3554
  selector: 'base-formly-component',
@@ -3583,8 +3583,8 @@ class FormlyActionComponent extends BaseFormlyStepComponent {
3583
3583
  });
3584
3584
  }
3585
3585
  }
3586
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyActionComponent, selector: "formly-field-action", outputs: { actionCompleted: "actionCompleted" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
3586
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3587
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyActionComponent, selector: "formly-field-action", outputs: { actionCompleted: "actionCompleted" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
3588
3588
  <div class="loader-container">
3589
3589
  <mat-spinner *ngIf="loading" class="l-x-auto"></mat-spinner>
3590
3590
  </div>
@@ -3593,7 +3593,7 @@ class FormlyActionComponent extends BaseFormlyStepComponent {
3593
3593
  </ng-container>
3594
3594
  `, isInline: true, styles: [".loader-container{display:flex;justify-content:center;align-items:center;padding-top:5vh;padding-bottom:5vh}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
3595
3595
  }
3596
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyActionComponent, decorators: [{
3596
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyActionComponent, decorators: [{
3597
3597
  type: Component,
3598
3598
  args: [{ selector: 'formly-field-action', template: `
3599
3599
  <div class="loader-container">
@@ -3644,10 +3644,10 @@ class ExternalLinkDirective {
3644
3644
  }
3645
3645
  });
3646
3646
  }
3647
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExternalLinkDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3648
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ExternalLinkDirective, selector: "[appExternalLink]", ngImport: i0 }); }
3647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExternalLinkDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3648
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ExternalLinkDirective, selector: "[appExternalLink]", ngImport: i0 }); }
3649
3649
  }
3650
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExternalLinkDirective, decorators: [{
3650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExternalLinkDirective, decorators: [{
3651
3651
  type: Directive,
3652
3652
  args: [{
3653
3653
  selector: '[appExternalLink]',
@@ -3690,10 +3690,10 @@ class FormlyCheckboxComponent extends FieldType {
3690
3690
  this.cd.detectChanges();
3691
3691
  }
3692
3692
  }
3693
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3694
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyCheckboxComponent, selector: "formly-checkbox", usesInheritance: true, ngImport: i0, template: "<div class=\"mat-mdc-text-field-wrapper mdc-checkbox-field\" appExternalLink>\n <mat-checkbox [formControl]=\"checkbox\">\n <markdown [data]=\"props['label']\"></markdown>\n </mat-checkbox>\n\n <div *ngIf=\"showError\" class=\"text-error m-l-20\">\n {{ requiredMessage }}\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "component", type: i4$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: ExternalLinkDirective, selector: "[appExternalLink]" }] }); }
3693
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3694
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyCheckboxComponent, selector: "formly-checkbox", usesInheritance: true, ngImport: i0, template: "<div class=\"mat-mdc-text-field-wrapper mdc-checkbox-field\" appExternalLink>\n <mat-checkbox [formControl]=\"checkbox\">\n <markdown [data]=\"props['label']\"></markdown>\n </mat-checkbox>\n\n <div *ngIf=\"showError\" class=\"text-error m-l-20\">\n {{ requiredMessage }}\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "component", type: i4$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: ExternalLinkDirective, selector: "[appExternalLink]" }] }); }
3695
3695
  }
3696
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyCheckboxComponent, decorators: [{
3696
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyCheckboxComponent, decorators: [{
3697
3697
  type: Component,
3698
3698
  args: [{ selector: 'formly-checkbox', template: "<div class=\"mat-mdc-text-field-wrapper mdc-checkbox-field\" appExternalLink>\n <mat-checkbox [formControl]=\"checkbox\">\n <markdown [data]=\"props['label']\"></markdown>\n </mat-checkbox>\n\n <div *ngIf=\"showError\" class=\"text-error m-l-20\">\n {{ requiredMessage }}\n </div>\n</div>\n" }]
3699
3699
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
@@ -3748,10 +3748,10 @@ class ConfigService {
3748
3748
  readConfig() {
3749
3749
  return this.configuration;
3750
3750
  }
3751
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigService, deps: [{ token: i1$1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable }); }
3752
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigService, providedIn: 'root' }); }
3751
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfigService, deps: [{ token: i1$1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable }); }
3752
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfigService, providedIn: 'root' }); }
3753
3753
  }
3754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigService, decorators: [{
3754
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfigService, decorators: [{
3755
3755
  type: Injectable,
3756
3756
  args: [{
3757
3757
  providedIn: 'root',
@@ -3810,10 +3810,10 @@ class AuthenticationClient {
3810
3810
  }
3811
3811
  return urlEncodedParams.toString();
3812
3812
  }
3813
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthenticationClient, deps: [{ token: i1$1.HttpClient }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
3814
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthenticationClient, providedIn: 'root' }); }
3813
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthenticationClient, deps: [{ token: i1$1.HttpClient }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
3814
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthenticationClient, providedIn: 'root' }); }
3815
3815
  }
3816
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthenticationClient, decorators: [{
3816
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthenticationClient, decorators: [{
3817
3817
  type: Injectable,
3818
3818
  args: [{
3819
3819
  providedIn: 'root',
@@ -3845,10 +3845,10 @@ class OriginFormAuthService {
3845
3845
  tokenObservable() {
3846
3846
  return this.tokenSubject.asObservable();
3847
3847
  }
3848
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormAuthService, deps: [{ token: AuthenticationClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
3849
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormAuthService, providedIn: 'root' }); }
3848
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormAuthService, deps: [{ token: AuthenticationClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
3849
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormAuthService, providedIn: 'root' }); }
3850
3850
  }
3851
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormAuthService, decorators: [{
3851
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormAuthService, decorators: [{
3852
3852
  type: Injectable,
3853
3853
  args: [{
3854
3854
  providedIn: 'root',
@@ -3919,10 +3919,10 @@ class AuthHttpService {
3919
3919
  return retryRequest();
3920
3920
  }
3921
3921
  }
3922
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthHttpService, deps: [{ token: i1$1.HttpClient }, { token: OriginFormAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3923
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthHttpService, providedIn: 'root' }); }
3922
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthHttpService, deps: [{ token: i1$1.HttpClient }, { token: OriginFormAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3923
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthHttpService, providedIn: 'root' }); }
3924
3924
  }
3925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthHttpService, decorators: [{
3925
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthHttpService, decorators: [{
3926
3926
  type: Injectable,
3927
3927
  args: [{
3928
3928
  providedIn: 'root', // Ensures it is available in the application using the library
@@ -4114,10 +4114,10 @@ class DictionaryService {
4114
4114
  }
4115
4115
  return this.http.get(url);
4116
4116
  }
4117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionaryService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4118
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionaryService }); }
4117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DictionaryService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4118
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DictionaryService }); }
4119
4119
  }
4120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionaryService, decorators: [{
4120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DictionaryService, decorators: [{
4121
4121
  type: Injectable
4122
4122
  }], ctorParameters: () => [{ type: AuthHttpService }] });
4123
4123
 
@@ -4180,10 +4180,10 @@ class ChecklistDatabase {
4180
4180
  }
4181
4181
  this.dataChange.next(filteredTreeData);
4182
4182
  }
4183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecklistDatabase, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4184
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecklistDatabase }); }
4183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChecklistDatabase, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4184
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChecklistDatabase }); }
4185
4185
  }
4186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecklistDatabase, decorators: [{
4186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChecklistDatabase, decorators: [{
4187
4187
  type: Injectable
4188
4188
  }], ctorParameters: () => [] });
4189
4189
 
@@ -4376,10 +4376,10 @@ class AppTreeviewComponent {
4376
4376
  const filterValue = event.target.value;
4377
4377
  return this.filterText(filterValue);
4378
4378
  }
4379
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppTreeviewComponent, deps: [{ token: ChecklistDatabase }, { token: TranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
4380
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AppTreeviewComponent, selector: "app-treeview", inputs: { allowAddItems: "allowAddItems", autoSelectDescendants: "autoSelectDescendants", allowCheckItems: "allowCheckItems", allowFilter: "allowFilter" }, outputs: { selectionChanged: "selectionChanged" }, providers: [ChecklistDatabase], ngImport: i0, template: "<mat-form-field class=\"full-width p-10\"\n *ngIf=\"allowFilter\"\n appearance=\"outline\">\n <mat-label> {{ commonKeys.actions.filter | translate }}</mat-label>\n <input matInput\n minlength=\"1\"\n (keyup)=\"applyFilter($event)\"\n placeholder=\"{{ commonKeys.actions.filter }}\"\n #input />\n</mat-form-field>\n\n<!--<cdk-virtual-scroll-viewport itemSize=\"30\" class=\"dictionary-viewport\">-->\n<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <!-- Leaf Nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node\"\n matTreeNodePadding>\n <button mat-icon-button disabled></button>\n <!-- Node Content -->\n <ng-container>\n <!-- Checkbox for Selectable Nodes when checkboxes are allowed -->\n <ng-container *ngIf=\"node.canSelect && allowCheckItems\">\n <mat-checkbox class=\"checklist-leaf-node\"\n [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"leafItemSelectionToggle(node)\"\n color=\"primary\">\n {{ node.name }}\n </mat-checkbox>\n </ng-container>\n <!-- Clickable Label for Selectable Nodes when checkboxes are not allowed -->\n <ng-container *ngIf=\"node.canSelect && !allowCheckItems\">\n <mat-label class=\"mdc-label\"\n style=\"cursor: pointer\"\n (click)=\"leafItemSelectionToggle(node)\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n <!-- Non-clickable Label for Non-selectable Nodes -->\n <ng-container *ngIf=\"!node.canSelect\">\n <mat-label class=\"mdc-label\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n </ng-container>\n </mat-tree-node>\n\n <!-- Nodes with Children -->\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\"\n matTreeNodePadding>\n <!-- Expand/Collapse Button -->\n <button mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'Toggle ' + node.name\"\n *ngIf=\"!node.hideArrow\">\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n </button>\n <!-- Node Content -->\n <ng-container>\n <!-- Checkbox for Selectable Nodes when checkboxes are allowed -->\n <ng-container *ngIf=\"node.canSelect && allowCheckItems\">\n <mat-checkbox [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"selectionToggle(node)\"\n color=\"primary\">\n {{ node.name }}\n </mat-checkbox>\n </ng-container>\n <!-- Clickable Label for Selectable Nodes when checkboxes are not allowed -->\n <ng-container *ngIf=\"node.canSelect && !allowCheckItems\">\n <mat-label class=\"mdc-label\"\n style=\"cursor: pointer\"\n (click)=\"leafItemSelectionToggle(node)\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n <!-- Non-clickable Label for Non-selectable Nodes -->\n <ng-container *ngIf=\"!node.canSelect\">\n <mat-label class=\"mdc-label\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n </ng-container>\n <!-- Add New Item Button -->\n <button mat-icon-button (click)=\"addNewItem(node)\" *ngIf=\"allowAddItems\">\n <mat-icon>add</mat-icon>\n </button>\n </mat-tree-node>\n</mat-tree>\n<!--</cdk-virtual-scroll-viewport>-->\n", styles: [".dictionary-viewport{height:400px;width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i4$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i7.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i7.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i7.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i7.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "component", type: i4$3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
4379
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppTreeviewComponent, deps: [{ token: ChecklistDatabase }, { token: TranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
4380
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AppTreeviewComponent, selector: "app-treeview", inputs: { allowAddItems: "allowAddItems", autoSelectDescendants: "autoSelectDescendants", allowCheckItems: "allowCheckItems", allowFilter: "allowFilter" }, outputs: { selectionChanged: "selectionChanged" }, providers: [ChecklistDatabase], ngImport: i0, template: "<mat-form-field class=\"full-width p-10\"\n *ngIf=\"allowFilter\"\n appearance=\"outline\">\n <mat-label> {{ commonKeys.actions.filter | translate }}</mat-label>\n <input matInput\n minlength=\"1\"\n (keyup)=\"applyFilter($event)\"\n placeholder=\"{{ commonKeys.actions.filter }}\"\n #input />\n</mat-form-field>\n\n<!--<cdk-virtual-scroll-viewport itemSize=\"30\" class=\"dictionary-viewport\">-->\n<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <!-- Leaf Nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node\"\n matTreeNodePadding>\n <button mat-icon-button disabled></button>\n <!-- Node Content -->\n <ng-container>\n <!-- Checkbox for Selectable Nodes when checkboxes are allowed -->\n <ng-container *ngIf=\"node.canSelect && allowCheckItems\">\n <mat-checkbox class=\"checklist-leaf-node\"\n [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"leafItemSelectionToggle(node)\"\n color=\"primary\">\n {{ node.name }}\n </mat-checkbox>\n </ng-container>\n <!-- Clickable Label for Selectable Nodes when checkboxes are not allowed -->\n <ng-container *ngIf=\"node.canSelect && !allowCheckItems\">\n <mat-label class=\"mdc-label\"\n style=\"cursor: pointer\"\n (click)=\"leafItemSelectionToggle(node)\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n <!-- Non-clickable Label for Non-selectable Nodes -->\n <ng-container *ngIf=\"!node.canSelect\">\n <mat-label class=\"mdc-label\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n </ng-container>\n </mat-tree-node>\n\n <!-- Nodes with Children -->\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\"\n matTreeNodePadding>\n <!-- Expand/Collapse Button -->\n <button mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'Toggle ' + node.name\"\n *ngIf=\"!node.hideArrow\">\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n </button>\n <!-- Node Content -->\n <ng-container>\n <!-- Checkbox for Selectable Nodes when checkboxes are allowed -->\n <ng-container *ngIf=\"node.canSelect && allowCheckItems\">\n <mat-checkbox [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"selectionToggle(node)\"\n color=\"primary\">\n {{ node.name }}\n </mat-checkbox>\n </ng-container>\n <!-- Clickable Label for Selectable Nodes when checkboxes are not allowed -->\n <ng-container *ngIf=\"node.canSelect && !allowCheckItems\">\n <mat-label class=\"mdc-label\"\n style=\"cursor: pointer\"\n (click)=\"leafItemSelectionToggle(node)\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n <!-- Non-clickable Label for Non-selectable Nodes -->\n <ng-container *ngIf=\"!node.canSelect\">\n <mat-label class=\"mdc-label\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n </ng-container>\n <!-- Add New Item Button -->\n <button mat-icon-button (click)=\"addNewItem(node)\" *ngIf=\"allowAddItems\">\n <mat-icon>add</mat-icon>\n </button>\n </mat-tree-node>\n</mat-tree>\n<!--</cdk-virtual-scroll-viewport>-->\n", styles: [".dictionary-viewport{height:400px;width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i4$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i7.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i7.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i7.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i7.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "component", type: i4$3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
4381
4381
  }
4382
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppTreeviewComponent, decorators: [{
4382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppTreeviewComponent, decorators: [{
4383
4383
  type: Component,
4384
4384
  args: [{ selector: 'app-treeview', providers: [ChecklistDatabase], template: "<mat-form-field class=\"full-width p-10\"\n *ngIf=\"allowFilter\"\n appearance=\"outline\">\n <mat-label> {{ commonKeys.actions.filter | translate }}</mat-label>\n <input matInput\n minlength=\"1\"\n (keyup)=\"applyFilter($event)\"\n placeholder=\"{{ commonKeys.actions.filter }}\"\n #input />\n</mat-form-field>\n\n<!--<cdk-virtual-scroll-viewport itemSize=\"30\" class=\"dictionary-viewport\">-->\n<mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <!-- Leaf Nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node\"\n matTreeNodePadding>\n <button mat-icon-button disabled></button>\n <!-- Node Content -->\n <ng-container>\n <!-- Checkbox for Selectable Nodes when checkboxes are allowed -->\n <ng-container *ngIf=\"node.canSelect && allowCheckItems\">\n <mat-checkbox class=\"checklist-leaf-node\"\n [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"leafItemSelectionToggle(node)\"\n color=\"primary\">\n {{ node.name }}\n </mat-checkbox>\n </ng-container>\n <!-- Clickable Label for Selectable Nodes when checkboxes are not allowed -->\n <ng-container *ngIf=\"node.canSelect && !allowCheckItems\">\n <mat-label class=\"mdc-label\"\n style=\"cursor: pointer\"\n (click)=\"leafItemSelectionToggle(node)\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n <!-- Non-clickable Label for Non-selectable Nodes -->\n <ng-container *ngIf=\"!node.canSelect\">\n <mat-label class=\"mdc-label\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n </ng-container>\n </mat-tree-node>\n\n <!-- Nodes with Children -->\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\"\n matTreeNodePadding>\n <!-- Expand/Collapse Button -->\n <button mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'Toggle ' + node.name\"\n *ngIf=\"!node.hideArrow\">\n <mat-icon class=\"mat-icon-rtl-mirror\">\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n </button>\n <!-- Node Content -->\n <ng-container>\n <!-- Checkbox for Selectable Nodes when checkboxes are allowed -->\n <ng-container *ngIf=\"node.canSelect && allowCheckItems\">\n <mat-checkbox [checked]=\"checklistSelection.isSelected(node)\"\n (change)=\"selectionToggle(node)\"\n color=\"primary\">\n {{ node.name }}\n </mat-checkbox>\n </ng-container>\n <!-- Clickable Label for Selectable Nodes when checkboxes are not allowed -->\n <ng-container *ngIf=\"node.canSelect && !allowCheckItems\">\n <mat-label class=\"mdc-label\"\n style=\"cursor: pointer\"\n (click)=\"leafItemSelectionToggle(node)\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n <!-- Non-clickable Label for Non-selectable Nodes -->\n <ng-container *ngIf=\"!node.canSelect\">\n <mat-label class=\"mdc-label\">\n {{ node.name }}\n </mat-label>\n </ng-container>\n </ng-container>\n <!-- Add New Item Button -->\n <button mat-icon-button (click)=\"addNewItem(node)\" *ngIf=\"allowAddItems\">\n <mat-icon>add</mat-icon>\n </button>\n </mat-tree-node>\n</mat-tree>\n<!--</cdk-virtual-scroll-viewport>-->\n", styles: [".dictionary-viewport{height:400px;width:100%}\n"] }]
4385
4385
  }], ctorParameters: () => [{ type: ChecklistDatabase }, { type: TranslatePipe }], propDecorators: { allowAddItems: [{
@@ -4644,10 +4644,10 @@ class DictionariesTreeComponent {
4644
4644
  var news = s.replace(/"valueTranslations":/g, '"translations":');
4645
4645
  return JSON.parse(news);
4646
4646
  }
4647
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionariesTreeComponent, deps: [{ token: DictionaryService }], target: i0.ɵɵFactoryTarget.Component }); }
4648
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DictionariesTreeComponent, selector: "app-dictionaries-tree", inputs: { dictionaryId: "dictionaryId", selectedValueIds: "selectedValueIds", allowCheckItems: "allowCheckItems", allowFilter: "allowFilter", drawReferenceDictionariesAsSeparateNode: "drawReferenceDictionariesAsSeparateNode", drawChildDictionariesAsSeparateNode: "drawChildDictionariesAsSeparateNode", drawRootNode: "drawRootNode", filterText: "filterText", allowSelectNonLeafNodes: "allowSelectNonLeafNodes", languageId: "languageId", valuesIdsToShow: "valuesIdsToShow", hideParentArrow: "hideParentArrow", preloadedDictionary: "preloadedDictionary", preloadedDictionaries: "preloadedDictionaries", usePreloadedData: "usePreloadedData" }, outputs: { selectedDictionaryValuesChanged: "selectedDictionaryValuesChanged" }, viewQueries: [{ propertyName: "treeViewControl", first: true, predicate: ["treeView"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-spinner *ngIf=\"isLoading === true\" class=\"m-x-auto\"></mat-spinner>\n<app-treeview #treeView [autoSelectDescendants]=\"false\"\n [allowCheckItems]=\"allowCheckItems\"\n [allowFilter]=\"allowFilter\"\n (selectionChanged)=\"onTreeSelectionChanged($event)\">\n\n</app-treeview>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: AppTreeviewComponent, selector: "app-treeview", inputs: ["allowAddItems", "autoSelectDescendants", "allowCheckItems", "allowFilter"], outputs: ["selectionChanged"] }] }); }
4647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DictionariesTreeComponent, deps: [{ token: DictionaryService }], target: i0.ɵɵFactoryTarget.Component }); }
4648
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DictionariesTreeComponent, selector: "app-dictionaries-tree", inputs: { dictionaryId: "dictionaryId", selectedValueIds: "selectedValueIds", allowCheckItems: "allowCheckItems", allowFilter: "allowFilter", drawReferenceDictionariesAsSeparateNode: "drawReferenceDictionariesAsSeparateNode", drawChildDictionariesAsSeparateNode: "drawChildDictionariesAsSeparateNode", drawRootNode: "drawRootNode", filterText: "filterText", allowSelectNonLeafNodes: "allowSelectNonLeafNodes", languageId: "languageId", valuesIdsToShow: "valuesIdsToShow", hideParentArrow: "hideParentArrow", preloadedDictionary: "preloadedDictionary", preloadedDictionaries: "preloadedDictionaries", usePreloadedData: "usePreloadedData" }, outputs: { selectedDictionaryValuesChanged: "selectedDictionaryValuesChanged" }, viewQueries: [{ propertyName: "treeViewControl", first: true, predicate: ["treeView"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-spinner *ngIf=\"isLoading === true\" class=\"m-x-auto\"></mat-spinner>\n<app-treeview #treeView [autoSelectDescendants]=\"false\"\n [allowCheckItems]=\"allowCheckItems\"\n [allowFilter]=\"allowFilter\"\n (selectionChanged)=\"onTreeSelectionChanged($event)\">\n\n</app-treeview>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: AppTreeviewComponent, selector: "app-treeview", inputs: ["allowAddItems", "autoSelectDescendants", "allowCheckItems", "allowFilter"], outputs: ["selectionChanged"] }] }); }
4649
4649
  }
4650
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionariesTreeComponent, decorators: [{
4650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DictionariesTreeComponent, decorators: [{
4651
4651
  type: Component,
4652
4652
  args: [{ selector: 'app-dictionaries-tree', template: "<mat-spinner *ngIf=\"isLoading === true\" class=\"m-x-auto\"></mat-spinner>\n<app-treeview #treeView [autoSelectDescendants]=\"false\"\n [allowCheckItems]=\"allowCheckItems\"\n [allowFilter]=\"allowFilter\"\n (selectionChanged)=\"onTreeSelectionChanged($event)\">\n\n</app-treeview>\n" }]
4653
4653
  }], ctorParameters: () => [{ type: DictionaryService }], propDecorators: { treeViewControl: [{
@@ -4912,10 +4912,10 @@ class FormlyDictionaryDropdownTreeComponent extends FieldType {
4912
4912
  getDictionaryLabel(dictionaryId) {
4913
4913
  return this.dictionaryLabels[dictionaryId] || '';
4914
4914
  }
4915
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyDictionaryDropdownTreeComponent, deps: [{ token: DictionaryService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
4916
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyDictionaryDropdownTreeComponent, selector: "formly-dictionary-dropdown-tree", inputs: { dictionaryId: "dictionaryId" }, outputs: { selectedValue: "selectedValue" }, viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "autoInput", first: true, predicate: ["autoInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form>\n <mat-label class=\"component-data-label m-l-2\" [ngStyle]=\"labelStyle\">\n {{ label }}</mat-label\n >\n <mat-form-field class=\"full-width\">\n <input\n type=\"text\"\n placeholder=\"{{ selectedValueText }}\"\n #autoInput\n aria-label=\"Text\"\n matInput\n [matAutocomplete]=\"auto\"\n (input)=\"filterChanged($event)\"\n (focus)=\"openAutocomplete()\"\n />\n <mat-icon matSuffix (click)=\"toggleAutocomplete($event)\"\n >keyboard_arrow_down</mat-icon\n >\n <mat-autocomplete\n #matAutocomplete=\"matAutocomplete\"\n #auto=\"matAutocomplete\"\n autoActiveFirstOption\n (optionSelected)=\"\n onSelectedDictionaryValuesChanged([$event.option.value])\n \"\n >\n <mat-option disabled>{{\n formlyKeys.selectAnItem | translate\n }}</mat-option>\n <app-dictionaries-tree\n [allowCheckItems]=\"false\"\n [drawReferenceDictionariesAsSeparateNode]=\"false\"\n [drawChildDictionariesAsSeparateNode]=\"false\"\n [drawRootNode]=\"false\"\n [filterText]=\"filteredText\"\n [allowSelectNonLeafNodes]=\"true\"\n [selectedValueIds]=\"selectedValueIds\"\n [languageId]=\"currentLanguageId\"\n [valuesIdsToShow]=\"valuesIdsToShow\"\n [selectedRelatedDictionaries]=\"selectedRelatedDictionaries\"\n [dictionaryLabels]=\"dictionaryLabels\"\n [preloadedDictionary]=\"preloadedDictionary\"\n [preloadedDictionaries]=\"preloadedDictionaries\"\n [usePreloadedData]=\"usePreloadedData\"\n (selectedDictionaryValuesChanged)=\"\n onSelectedDictionaryValuesChanged($event)\n \"\n >\n </app-dictionaries-tree>\n </mat-autocomplete>\n </mat-form-field>\n\n <formly-validation-message *ngIf=\"showError\" [field]=\"field\">\n </formly-validation-message>\n</form>\n", styles: ["formly-validation-message{color:red;font-size:12px}::ng-deep .mat-mdc-autocomplete-panel>app-dictionaries-tree>app-treeview>cdk-virtual-scroll-viewport{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "component", type: DictionariesTreeComponent, selector: "app-dictionaries-tree", inputs: ["dictionaryId", "selectedValueIds", "allowCheckItems", "allowFilter", "drawReferenceDictionariesAsSeparateNode", "drawChildDictionariesAsSeparateNode", "drawRootNode", "filterText", "allowSelectNonLeafNodes", "languageId", "valuesIdsToShow", "hideParentArrow", "preloadedDictionary", "preloadedDictionaries", "usePreloadedData"], outputs: ["selectedDictionaryValuesChanged"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
4915
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyDictionaryDropdownTreeComponent, deps: [{ token: DictionaryService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
4916
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyDictionaryDropdownTreeComponent, selector: "formly-dictionary-dropdown-tree", inputs: { dictionaryId: "dictionaryId" }, outputs: { selectedValue: "selectedValue" }, viewQueries: [{ propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }, { propertyName: "autoInput", first: true, predicate: ["autoInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form>\n <mat-label class=\"component-data-label m-l-2\" [ngStyle]=\"labelStyle\">\n {{ label }}</mat-label\n >\n <mat-form-field class=\"full-width\">\n <input\n type=\"text\"\n placeholder=\"{{ selectedValueText }}\"\n #autoInput\n aria-label=\"Text\"\n matInput\n [matAutocomplete]=\"auto\"\n (input)=\"filterChanged($event)\"\n (focus)=\"openAutocomplete()\"\n />\n <mat-icon matSuffix (click)=\"toggleAutocomplete($event)\"\n >keyboard_arrow_down</mat-icon\n >\n <mat-autocomplete\n #matAutocomplete=\"matAutocomplete\"\n #auto=\"matAutocomplete\"\n autoActiveFirstOption\n (optionSelected)=\"\n onSelectedDictionaryValuesChanged([$event.option.value])\n \"\n >\n <mat-option disabled>{{\n formlyKeys.selectAnItem | translate\n }}</mat-option>\n <app-dictionaries-tree\n [allowCheckItems]=\"false\"\n [drawReferenceDictionariesAsSeparateNode]=\"false\"\n [drawChildDictionariesAsSeparateNode]=\"false\"\n [drawRootNode]=\"false\"\n [filterText]=\"filteredText\"\n [allowSelectNonLeafNodes]=\"true\"\n [selectedValueIds]=\"selectedValueIds\"\n [languageId]=\"currentLanguageId\"\n [valuesIdsToShow]=\"valuesIdsToShow\"\n [selectedRelatedDictionaries]=\"selectedRelatedDictionaries\"\n [dictionaryLabels]=\"dictionaryLabels\"\n [preloadedDictionary]=\"preloadedDictionary\"\n [preloadedDictionaries]=\"preloadedDictionaries\"\n [usePreloadedData]=\"usePreloadedData\"\n (selectedDictionaryValuesChanged)=\"\n onSelectedDictionaryValuesChanged($event)\n \"\n >\n </app-dictionaries-tree>\n </mat-autocomplete>\n </mat-form-field>\n\n <formly-validation-message *ngIf=\"showError\" [field]=\"field\">\n </formly-validation-message>\n</form>\n", styles: ["formly-validation-message{color:red;font-size:12px}::ng-deep .mat-mdc-autocomplete-panel>app-dictionaries-tree>app-treeview>cdk-virtual-scroll-viewport{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "component", type: DictionariesTreeComponent, selector: "app-dictionaries-tree", inputs: ["dictionaryId", "selectedValueIds", "allowCheckItems", "allowFilter", "drawReferenceDictionariesAsSeparateNode", "drawChildDictionariesAsSeparateNode", "drawRootNode", "filterText", "allowSelectNonLeafNodes", "languageId", "valuesIdsToShow", "hideParentArrow", "preloadedDictionary", "preloadedDictionaries", "usePreloadedData"], outputs: ["selectedDictionaryValuesChanged"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
4917
4917
  }
4918
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyDictionaryDropdownTreeComponent, decorators: [{
4918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyDictionaryDropdownTreeComponent, decorators: [{
4919
4919
  type: Component,
4920
4920
  args: [{ selector: 'formly-dictionary-dropdown-tree', template: "<form>\n <mat-label class=\"component-data-label m-l-2\" [ngStyle]=\"labelStyle\">\n {{ label }}</mat-label\n >\n <mat-form-field class=\"full-width\">\n <input\n type=\"text\"\n placeholder=\"{{ selectedValueText }}\"\n #autoInput\n aria-label=\"Text\"\n matInput\n [matAutocomplete]=\"auto\"\n (input)=\"filterChanged($event)\"\n (focus)=\"openAutocomplete()\"\n />\n <mat-icon matSuffix (click)=\"toggleAutocomplete($event)\"\n >keyboard_arrow_down</mat-icon\n >\n <mat-autocomplete\n #matAutocomplete=\"matAutocomplete\"\n #auto=\"matAutocomplete\"\n autoActiveFirstOption\n (optionSelected)=\"\n onSelectedDictionaryValuesChanged([$event.option.value])\n \"\n >\n <mat-option disabled>{{\n formlyKeys.selectAnItem | translate\n }}</mat-option>\n <app-dictionaries-tree\n [allowCheckItems]=\"false\"\n [drawReferenceDictionariesAsSeparateNode]=\"false\"\n [drawChildDictionariesAsSeparateNode]=\"false\"\n [drawRootNode]=\"false\"\n [filterText]=\"filteredText\"\n [allowSelectNonLeafNodes]=\"true\"\n [selectedValueIds]=\"selectedValueIds\"\n [languageId]=\"currentLanguageId\"\n [valuesIdsToShow]=\"valuesIdsToShow\"\n [selectedRelatedDictionaries]=\"selectedRelatedDictionaries\"\n [dictionaryLabels]=\"dictionaryLabels\"\n [preloadedDictionary]=\"preloadedDictionary\"\n [preloadedDictionaries]=\"preloadedDictionaries\"\n [usePreloadedData]=\"usePreloadedData\"\n (selectedDictionaryValuesChanged)=\"\n onSelectedDictionaryValuesChanged($event)\n \"\n >\n </app-dictionaries-tree>\n </mat-autocomplete>\n </mat-form-field>\n\n <formly-validation-message *ngIf=\"showError\" [field]=\"field\">\n </formly-validation-message>\n</form>\n", styles: ["formly-validation-message{color:red;font-size:12px}::ng-deep .mat-mdc-autocomplete-panel>app-dictionaries-tree>app-treeview>cdk-virtual-scroll-viewport{overflow:hidden}\n"] }]
4921
4921
  }], ctorParameters: () => [{ type: DictionaryService }, { type: i0.ChangeDetectorRef }], propDecorators: { autocompleteTrigger: [{
@@ -4967,10 +4967,10 @@ class BaseFormlyControlComponent extends FieldType {
4967
4967
  }
4968
4968
  return errorMessage;
4969
4969
  }
4970
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseFormlyControlComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
4971
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BaseFormlyControlComponent, selector: "base-formly-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
4970
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFormlyControlComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
4971
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BaseFormlyControlComponent, selector: "base-formly-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
4972
4972
  }
4973
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseFormlyControlComponent, decorators: [{
4973
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFormlyControlComponent, decorators: [{
4974
4974
  type: Component,
4975
4975
  args: [{
4976
4976
  selector: 'base-formly-component',
@@ -5111,10 +5111,10 @@ class ApplicationDataService {
5111
5111
  };
5112
5112
  return this.http.post(url, payload);
5113
5113
  }
5114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDataService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5115
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDataService }); }
5114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApplicationDataService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5115
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApplicationDataService }); }
5116
5116
  }
5117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDataService, decorators: [{
5117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApplicationDataService, decorators: [{
5118
5118
  type: Injectable
5119
5119
  }], ctorParameters: () => [{ type: AuthHttpService }] });
5120
5120
 
@@ -5160,10 +5160,10 @@ class DialogService {
5160
5160
  openDialog(component, config) {
5161
5161
  return this.dialog.open(component, config);
5162
5162
  }
5163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, deps: [{ token: i1$2.MatSnackBar }, { token: i1$3.MatDialog }, { token: TranslatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
5164
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, providedIn: 'root' }); }
5163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogService, deps: [{ token: i1$2.MatSnackBar }, { token: i1$3.MatDialog }, { token: TranslatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
5164
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogService, providedIn: 'root' }); }
5165
5165
  }
5166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, decorators: [{
5166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogService, decorators: [{
5167
5167
  type: Injectable,
5168
5168
  args: [{ providedIn: 'root' }]
5169
5169
  }], ctorParameters: () => [{ type: i1$2.MatSnackBar }, { type: i1$3.MatDialog }, { type: TranslatePipe }] });
@@ -5274,10 +5274,10 @@ class FormlyDownloadDocumentsComponent extends BaseFormlyControlComponent {
5274
5274
  });
5275
5275
  }
5276
5276
  }
5277
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyDownloadDocumentsComponent, deps: [{ token: ApplicationDataService }, { token: DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5278
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyDownloadDocumentsComponent, selector: "app-formly-download-documents", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"title\">\n {{ title }}\n</p>\n<p *ngIf=\"isLoading === false && (!documents || documents.length === 0)\">\n {{ getErrorTranslationMessage(\"noDocumentsToDownload\") }}\n</p>\n<mat-spinner *ngIf=\"isLoading === true\" class=\"m-x-auto\"></mat-spinner>\n<table *ngIf=\"isLoading === false && documents\">\n <thead class=\"table-head\">\n <tr>\n <th>\n {{ \"document\" | translate }}\n </th>\n <th>\n {{ \"common.actions.download\" | translate }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-detail\">\n <tr *ngFor=\"let doc of documents; let i = index\">\n <td class=\"text-center\">\n {{ doc.name }}\n </td>\n <td class=\"text-center d-flex justify-content-center align-items-center\">\n <button\n (click)=\"downloadDocument(doc, i)\"\n mat-stroked-button\n color=\"primary\"\n class=\"custom-field\"\n >\n <mat-icon>download</mat-icon>\n {{ \"common.actions.download\" | translate }}\n </button>\n <div class=\"m-x-1 upload-spinner\">\n <mat-spinner\n *ngIf=\"isDownloading && docIndex === i\"\n mode=\"indeterminate\"\n [diameter]=\"30\"\n ></mat-spinner>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [".upload-spinner{width:30px!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5277
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyDownloadDocumentsComponent, deps: [{ token: ApplicationDataService }, { token: DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5278
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyDownloadDocumentsComponent, selector: "app-formly-download-documents", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"title\">\n {{ title }}\n</p>\n<p *ngIf=\"isLoading === false && (!documents || documents.length === 0)\">\n {{ getErrorTranslationMessage(\"noDocumentsToDownload\") }}\n</p>\n<mat-spinner *ngIf=\"isLoading === true\" class=\"m-x-auto\"></mat-spinner>\n<table *ngIf=\"isLoading === false && documents\">\n <thead class=\"table-head\">\n <tr>\n <th>\n {{ \"document\" | translate }}\n </th>\n <th>\n {{ \"common.actions.download\" | translate }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-detail\">\n <tr *ngFor=\"let doc of documents; let i = index\">\n <td class=\"text-center\">\n {{ doc.name }}\n </td>\n <td class=\"text-center d-flex justify-content-center align-items-center\">\n <button\n (click)=\"downloadDocument(doc, i)\"\n mat-stroked-button\n color=\"primary\"\n class=\"custom-field\"\n >\n <mat-icon>download</mat-icon>\n {{ \"common.actions.download\" | translate }}\n </button>\n <div class=\"m-x-1 upload-spinner\">\n <mat-spinner\n *ngIf=\"isDownloading && docIndex === i\"\n mode=\"indeterminate\"\n [diameter]=\"30\"\n ></mat-spinner>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [".upload-spinner{width:30px!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
5279
5279
  }
5280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyDownloadDocumentsComponent, decorators: [{
5280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyDownloadDocumentsComponent, decorators: [{
5281
5281
  type: Component,
5282
5282
  args: [{ selector: 'app-formly-download-documents', template: "<p *ngIf=\"title\">\n {{ title }}\n</p>\n<p *ngIf=\"isLoading === false && (!documents || documents.length === 0)\">\n {{ getErrorTranslationMessage(\"noDocumentsToDownload\") }}\n</p>\n<mat-spinner *ngIf=\"isLoading === true\" class=\"m-x-auto\"></mat-spinner>\n<table *ngIf=\"isLoading === false && documents\">\n <thead class=\"table-head\">\n <tr>\n <th>\n {{ \"document\" | translate }}\n </th>\n <th>\n {{ \"common.actions.download\" | translate }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-detail\">\n <tr *ngFor=\"let doc of documents; let i = index\">\n <td class=\"text-center\">\n {{ doc.name }}\n </td>\n <td class=\"text-center d-flex justify-content-center align-items-center\">\n <button\n (click)=\"downloadDocument(doc, i)\"\n mat-stroked-button\n color=\"primary\"\n class=\"custom-field\"\n >\n <mat-icon>download</mat-icon>\n {{ \"common.actions.download\" | translate }}\n </button>\n <div class=\"m-x-1 upload-spinner\">\n <mat-spinner\n *ngIf=\"isDownloading && docIndex === i\"\n mode=\"indeterminate\"\n [diameter]=\"30\"\n ></mat-spinner>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [".upload-spinner{width:30px!important}\n"] }]
5283
5283
  }], ctorParameters: () => [{ type: ApplicationDataService }, { type: DialogService }, { type: i0.ChangeDetectorRef }] });
@@ -5978,10 +5978,10 @@ class ProxyService {
5978
5978
  throw error;
5979
5979
  }
5980
5980
  }
5981
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProxyService, deps: [{ token: AuthHttpService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
5982
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProxyService, providedIn: 'root' }); }
5981
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProxyService, deps: [{ token: AuthHttpService }, { token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
5982
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProxyService, providedIn: 'root' }); }
5983
5983
  }
5984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProxyService, decorators: [{
5984
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProxyService, decorators: [{
5985
5985
  type: Injectable,
5986
5986
  args: [{
5987
5987
  providedIn: 'root',
@@ -6003,10 +6003,10 @@ class LabelService {
6003
6003
  }
6004
6004
  return this.http.get(listUrl);
6005
6005
  }
6006
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6007
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelService, providedIn: 'root' }); }
6006
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LabelService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6007
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LabelService, providedIn: 'root' }); }
6008
6008
  }
6009
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelService, decorators: [{
6009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LabelService, decorators: [{
6010
6010
  type: Injectable,
6011
6011
  args: [{
6012
6012
  providedIn: 'root',
@@ -6023,10 +6023,10 @@ class LanguageService {
6023
6023
  '/language?PageSize=999999';
6024
6024
  return this.http.get(url);
6025
6025
  }
6026
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LanguageService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6027
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LanguageService, providedIn: 'root' }); }
6026
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LanguageService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6027
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LanguageService, providedIn: 'root' }); }
6028
6028
  }
6029
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LanguageService, decorators: [{
6029
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LanguageService, decorators: [{
6030
6030
  type: Injectable,
6031
6031
  args: [{
6032
6032
  providedIn: 'root',
@@ -6065,10 +6065,10 @@ class FormsService {
6065
6065
  `?uuid=${applicationUuid}&env=${env}`;
6066
6066
  return this.http.get(url);
6067
6067
  }
6068
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormsService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6069
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormsService, providedIn: 'root' }); }
6068
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormsService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6069
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormsService, providedIn: 'root' }); }
6070
6070
  }
6071
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormsService, decorators: [{
6071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormsService, decorators: [{
6072
6072
  type: Injectable,
6073
6073
  args: [{
6074
6074
  providedIn: 'root',
@@ -6165,10 +6165,10 @@ class OriginFormSignalrService {
6165
6165
  console.log('Collector SignalR connection stopped.');
6166
6166
  }
6167
6167
  }
6168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormSignalrService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6169
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormSignalrService, providedIn: 'root' }); }
6168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormSignalrService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6169
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormSignalrService, providedIn: 'root' }); }
6170
6170
  }
6171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormSignalrService, decorators: [{
6171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormSignalrService, decorators: [{
6172
6172
  type: Injectable,
6173
6173
  args: [{
6174
6174
  providedIn: 'root',
@@ -6267,10 +6267,10 @@ class OriginFormSignalrHandlerService {
6267
6267
  this.poolingInterval.unsubscribe();
6268
6268
  }
6269
6269
  }
6270
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormSignalrHandlerService, deps: [{ token: OriginFormSignalrService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6271
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormSignalrHandlerService, providedIn: 'root' }); }
6270
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormSignalrHandlerService, deps: [{ token: OriginFormSignalrService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6271
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormSignalrHandlerService, providedIn: 'root' }); }
6272
6272
  }
6273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormSignalrHandlerService, decorators: [{
6273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormSignalrHandlerService, decorators: [{
6274
6274
  type: Injectable,
6275
6275
  args: [{
6276
6276
  providedIn: 'root',
@@ -6424,10 +6424,10 @@ class ActionStepHandler {
6424
6424
  this.executionCompleted.complete();
6425
6425
  this.actionExecuting$.complete();
6426
6426
  }
6427
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionStepHandler, deps: [{ token: ApplicationDataService }, { token: DialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6428
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionStepHandler, providedIn: 'root' }); }
6427
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionStepHandler, deps: [{ token: ApplicationDataService }, { token: DialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6428
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionStepHandler, providedIn: 'root' }); }
6429
6429
  }
6430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionStepHandler, decorators: [{
6430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionStepHandler, decorators: [{
6431
6431
  type: Injectable,
6432
6432
  args: [{
6433
6433
  providedIn: 'root',
@@ -6790,10 +6790,10 @@ class ScrollToErrorService {
6790
6790
  const invalidElements = document.querySelectorAll('.ng-invalid');
6791
6791
  console.groupEnd();
6792
6792
  }
6793
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollToErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6794
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollToErrorService, providedIn: 'root' }); }
6793
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScrollToErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6794
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScrollToErrorService, providedIn: 'root' }); }
6795
6795
  }
6796
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollToErrorService, decorators: [{
6796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScrollToErrorService, decorators: [{
6797
6797
  type: Injectable,
6798
6798
  args: [{
6799
6799
  providedIn: 'root'
@@ -9116,10 +9116,10 @@ class CollectorFormComponent {
9116
9116
  this.cdRef.detectChanges();
9117
9117
  }
9118
9118
  }
9119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectorFormComponent, deps: [{ token: DictionaryService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: ProxyService }, { token: LabelService }, { token: ApplicationDataService }, { token: LanguageService }, { token: OriginFormAuthService }, { token: FormsService }, { token: ConfigService }, { token: TranslationService }, { token: OriginFormSignalrHandlerService }, { token: ActionStepHandler }, { token: ScrollToErrorService }], target: i0.ɵɵFactoryTarget.Component }); }
9120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectorFormComponent, selector: "app-origin-form", inputs: { configComponent: "configComponent", configUuid: "configUuid", currentStepId: "currentStepId", appModel: "appModel", signBaseUrl: "signBaseUrl", currentLanguageIso: "currentLanguageIso", fillData: "fillData", env: "env", showDisplayMode: "showDisplayMode", showLanguageSelector: "showLanguageSelector", isDemoMode: "isDemoMode", isDebug: "isDebug", appDataUuid: "appDataUuid", blockPreviousStep: "blockPreviousStep", dataUrlId: "dataUrlId", noButtonsInView: "noButtonsInView" }, outputs: { completionEvent: "completionEvent" }, viewQueries: [{ propertyName: "formlyFields", predicate: FormlyField, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <mat-spinner></mat-spinner>\n</div>\n<div [hidden]=\"isLoading\">\n <div *ngIf=\"showLanguageSelector\" appearance=\"outline\" class=\"right-aligned\">\n <button [matMenuTriggerFor]=\"flags\" mat-icon-button class=\"m-r-5\">\n <img\n [src]=\"returnFLag(currentLanguageIso)\"\n class=\"rounded-circle object-cover icon-20\"\n />\n </button>\n <mat-menu #flags=\"matMenu\" class=\"cardWithShadow\">\n <button\n mat-menu-item\n *ngFor=\"let lang of applicationLanguages()\"\n (click)=\"changeLanguage(lang.iso)\"\n >\n <div class=\"d-flex align-items-center\">\n <img\n [src]=\"returnFLag(lang.iso)\"\n class=\"rounded-circle object-cover icon-20\"\n />\n <span class=\"mat-subtitle-1 f-s-14\">{{ lang.name }}</span>\n </div>\n </button>\n </mat-menu>\n </div>\n\n <br />\n <div class=\"form-container\">\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <formly-form\n [model]=\"model\"\n [fields]=\"formlyConfig\"\n [options]=\"options\"\n [form]=\"form\"\n ></formly-form>\n </form>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@font-face{font-family:ttrounds;src:url(/assets/fonts/ttrounds-bold-webfont.woff2) format(\"woff2\"),url(/assets/fonts/ttrounds-bold-webfont.woff) format(\"woff\");font-weight:700;font-style:normal}@font-face{font-family:ttrounds;src:url(/assets/fonts/ttrounds-regular-webfont.woff2) format(\"woff2\"),url(/assets/fonts/ttrounds-regular-webfont.woff) format(\"woff\");font-weight:400;font-style:normal}@font-face{font-family:ttrounds;src:url(/assets/fonts/ttrounds-thin-webfont.woff2) format(\"woff2\"),url(/assets/fonts/ttrounds-thin-webfont.woff) format(\"woff\");font-weight:200;font-style:normal}@font-face{font-family:Sora Light;src:url(/assets/fonts/Sora-Light.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Sora Regular;src:url(/assets/fonts/Sora-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Sora ExtraBold;src:url(/assets/fonts/Sora-ExtraBold.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Figtree Light;src:url(/assets/fonts/Figtree-Light.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Figtree Regular;src:url(/assets/fonts/Figtree-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Figtree Bold;src:url(/assets/fonts/Figtree-Bold.ttf) format(\"truetype\");font-weight:400;font-style:normal}.loader{border-top:16px solid blue;border-right:16px solid green;border-bottom:16px solid red;border-left:16px solid pink}:host ::ng-deep .mat-mdc-text-field-wrapper .mdc-line-ripple{display:none!important}.right-aligned{display:flex;justify-content:flex-end!important}.flag-icon{width:20px;height:20px;margin-right:8px;vertical-align:middle}.rounded-circle{border-radius:50%}.object-cover{object-fit:cover}.m-r-8{margin-right:8px}.icon-20{width:20px;height:20px}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffffb3;display:flex;justify-content:center;align-items:center;z-index:9999}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4$3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }] }); }
9119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CollectorFormComponent, deps: [{ token: DictionaryService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: ProxyService }, { token: LabelService }, { token: ApplicationDataService }, { token: LanguageService }, { token: OriginFormAuthService }, { token: FormsService }, { token: ConfigService }, { token: TranslationService }, { token: OriginFormSignalrHandlerService }, { token: ActionStepHandler }, { token: ScrollToErrorService }], target: i0.ɵɵFactoryTarget.Component }); }
9120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CollectorFormComponent, selector: "app-origin-form", inputs: { configComponent: "configComponent", configUuid: "configUuid", currentStepId: "currentStepId", appModel: "appModel", signBaseUrl: "signBaseUrl", currentLanguageIso: "currentLanguageIso", fillData: "fillData", env: "env", showDisplayMode: "showDisplayMode", showLanguageSelector: "showLanguageSelector", isDemoMode: "isDemoMode", isDebug: "isDebug", appDataUuid: "appDataUuid", blockPreviousStep: "blockPreviousStep", dataUrlId: "dataUrlId", noButtonsInView: "noButtonsInView" }, outputs: { completionEvent: "completionEvent" }, viewQueries: [{ propertyName: "formlyFields", predicate: FormlyField, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <mat-spinner></mat-spinner>\n</div>\n<div [hidden]=\"isLoading\">\n <div *ngIf=\"showLanguageSelector\" appearance=\"outline\" class=\"right-aligned\">\n <button [matMenuTriggerFor]=\"flags\" mat-icon-button class=\"m-r-5\">\n <img\n [src]=\"returnFLag(currentLanguageIso)\"\n class=\"rounded-circle object-cover icon-20\"\n />\n </button>\n <mat-menu #flags=\"matMenu\" class=\"cardWithShadow\">\n <button\n mat-menu-item\n *ngFor=\"let lang of applicationLanguages()\"\n (click)=\"changeLanguage(lang.iso)\"\n >\n <div class=\"d-flex align-items-center\">\n <img\n [src]=\"returnFLag(lang.iso)\"\n class=\"rounded-circle object-cover icon-20\"\n />\n <span class=\"mat-subtitle-1 f-s-14\">{{ lang.name }}</span>\n </div>\n </button>\n </mat-menu>\n </div>\n\n <br />\n <div class=\"form-container\">\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <formly-form\n [model]=\"model\"\n [fields]=\"formlyConfig\"\n [options]=\"options\"\n [form]=\"form\"\n ></formly-form>\n </form>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@font-face{font-family:ttrounds;src:url(/assets/fonts/ttrounds-bold-webfont.woff2) format(\"woff2\"),url(/assets/fonts/ttrounds-bold-webfont.woff) format(\"woff\");font-weight:700;font-style:normal}@font-face{font-family:ttrounds;src:url(/assets/fonts/ttrounds-regular-webfont.woff2) format(\"woff2\"),url(/assets/fonts/ttrounds-regular-webfont.woff) format(\"woff\");font-weight:400;font-style:normal}@font-face{font-family:ttrounds;src:url(/assets/fonts/ttrounds-thin-webfont.woff2) format(\"woff2\"),url(/assets/fonts/ttrounds-thin-webfont.woff) format(\"woff\");font-weight:200;font-style:normal}@font-face{font-family:Sora Light;src:url(/assets/fonts/Sora-Light.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Sora Regular;src:url(/assets/fonts/Sora-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Sora ExtraBold;src:url(/assets/fonts/Sora-ExtraBold.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Figtree Light;src:url(/assets/fonts/Figtree-Light.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Figtree Regular;src:url(/assets/fonts/Figtree-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Figtree Bold;src:url(/assets/fonts/Figtree-Bold.ttf) format(\"truetype\");font-weight:400;font-style:normal}.loader{border-top:16px solid blue;border-right:16px solid green;border-bottom:16px solid red;border-left:16px solid pink}:host ::ng-deep .mat-mdc-text-field-wrapper .mdc-line-ripple{display:none!important}.right-aligned{display:flex;justify-content:flex-end!important}.flag-icon{width:20px;height:20px;margin-right:8px;vertical-align:middle}.rounded-circle{border-radius:50%}.object-cover{object-fit:cover}.m-r-8{margin-right:8px}.icon-20{width:20px;height:20px}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffffb3;display:flex;justify-content:center;align-items:center;z-index:9999}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4$3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }] }); }
9121
9121
  }
9122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectorFormComponent, decorators: [{
9122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CollectorFormComponent, decorators: [{
9123
9123
  type: Component,
9124
9124
  args: [{ selector: 'app-origin-form', template: "<div *ngIf=\"isLoading\" class=\"loading-overlay\">\n <mat-spinner></mat-spinner>\n</div>\n<div [hidden]=\"isLoading\">\n <div *ngIf=\"showLanguageSelector\" appearance=\"outline\" class=\"right-aligned\">\n <button [matMenuTriggerFor]=\"flags\" mat-icon-button class=\"m-r-5\">\n <img\n [src]=\"returnFLag(currentLanguageIso)\"\n class=\"rounded-circle object-cover icon-20\"\n />\n </button>\n <mat-menu #flags=\"matMenu\" class=\"cardWithShadow\">\n <button\n mat-menu-item\n *ngFor=\"let lang of applicationLanguages()\"\n (click)=\"changeLanguage(lang.iso)\"\n >\n <div class=\"d-flex align-items-center\">\n <img\n [src]=\"returnFLag(lang.iso)\"\n class=\"rounded-circle object-cover icon-20\"\n />\n <span class=\"mat-subtitle-1 f-s-14\">{{ lang.name }}</span>\n </div>\n </button>\n </mat-menu>\n </div>\n\n <br />\n <div class=\"form-container\">\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <formly-form\n [model]=\"model\"\n [fields]=\"formlyConfig\"\n [options]=\"options\"\n [form]=\"form\"\n ></formly-form>\n </form>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap\";@import\"https://fonts.googleapis.com/icon?family=Material+Icons\";@font-face{font-family:ttrounds;src:url(/assets/fonts/ttrounds-bold-webfont.woff2) format(\"woff2\"),url(/assets/fonts/ttrounds-bold-webfont.woff) format(\"woff\");font-weight:700;font-style:normal}@font-face{font-family:ttrounds;src:url(/assets/fonts/ttrounds-regular-webfont.woff2) format(\"woff2\"),url(/assets/fonts/ttrounds-regular-webfont.woff) format(\"woff\");font-weight:400;font-style:normal}@font-face{font-family:ttrounds;src:url(/assets/fonts/ttrounds-thin-webfont.woff2) format(\"woff2\"),url(/assets/fonts/ttrounds-thin-webfont.woff) format(\"woff\");font-weight:200;font-style:normal}@font-face{font-family:Sora Light;src:url(/assets/fonts/Sora-Light.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Sora Regular;src:url(/assets/fonts/Sora-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Sora ExtraBold;src:url(/assets/fonts/Sora-ExtraBold.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Figtree Light;src:url(/assets/fonts/Figtree-Light.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Figtree Regular;src:url(/assets/fonts/Figtree-Regular.ttf) format(\"truetype\");font-weight:400;font-style:normal}@font-face{font-family:Figtree Bold;src:url(/assets/fonts/Figtree-Bold.ttf) format(\"truetype\");font-weight:400;font-style:normal}.loader{border-top:16px solid blue;border-right:16px solid green;border-bottom:16px solid red;border-left:16px solid pink}:host ::ng-deep .mat-mdc-text-field-wrapper .mdc-line-ripple{display:none!important}.right-aligned{display:flex;justify-content:flex-end!important}.flag-icon{width:20px;height:20px;margin-right:8px;vertical-align:middle}.rounded-circle{border-radius:50%}.object-cover{object-fit:cover}.m-r-8{margin-right:8px}.icon-20{width:20px;height:20px}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffffb3;display:flex;justify-content:center;align-items:center;z-index:9999}\n"] }]
9125
9125
  }], ctorParameters: () => [{ type: DictionaryService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: ProxyService }, { type: LabelService }, { type: ApplicationDataService }, { type: LanguageService }, { type: OriginFormAuthService }, { type: FormsService }, { type: ConfigService }, { type: TranslationService }, { type: OriginFormSignalrHandlerService }, { type: ActionStepHandler }, { type: ScrollToErrorService }], propDecorators: { formlyFields: [{
@@ -9884,8 +9884,8 @@ class FormlyFieldStepperComponent extends FieldType {
9884
9884
  [FluxType.Kyc]: 'Kyc',
9885
9885
  };
9886
9886
  }
9887
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldStepperComponent, deps: [{ token: ApplicationDataService }, { token: CollectorFormComponent }, { token: i0.ChangeDetectorRef }, { token: ScrollToErrorService }], target: i0.ɵɵFactoryTarget.Component }); }
9888
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyFieldStepperComponent, selector: "app-formly-field-stepper", providers: [
9887
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldStepperComponent, deps: [{ token: ApplicationDataService }, { token: CollectorFormComponent }, { token: i0.ChangeDetectorRef }, { token: ScrollToErrorService }], target: i0.ɵɵFactoryTarget.Component }); }
9888
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyFieldStepperComponent, selector: "app-formly-field-stepper", providers: [
9889
9889
  {
9890
9890
  provide: STEPPER_GLOBAL_OPTIONS,
9891
9891
  useValue: { displayDefaultIndicatorType: false },
@@ -9893,7 +9893,7 @@ class FormlyFieldStepperComponent extends FieldType {
9893
9893
  ApplicationDataService,
9894
9894
  ], viewQueries: [{ propertyName: "stepper", first: true, predicate: MatStepper, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"showSteps; else singleStepTemplate\">\n <div [ngStyle]=\"concatenatedFormStyle\">\n <formly-field\n *ngIf=\"showFinalStep\"\n [field]=\"finalStepFieldConfig\"\n ></formly-field>\n </div>\n\n <mat-horizontal-stepper\n #stepper\n *ngIf=\"!showFinalStep\"\n [linear]=\"true\"\n (selectionChange)=\"onStepChange($event)\"\n [ngStyle]=\"concatenatedFormStyle\"\n >\n <mat-step *ngFor=\"let step of field.fieldGroup; let index = index\">\n <ng-template matStepLabel *ngIf=\"showStepsLabels\">\n {{ step.props?.label }}\n </ng-template>\n\n <ng-container\n *ngIf=\"buttonsVerticalPosition == 'top'\"\n [ngTemplateOutlet]=\"buttonsContainer\"\n />\n\n <h3 [ngStyle]=\"field.props?.['design']['.font-heading-3'] || {}\">\n {{ step.props?.description }}\n </h3>\n <formly-field [field]=\"step\"></formly-field>\n\n <ng-container\n *ngIf=\"buttonsVerticalPosition == 'bottom'\"\n [ngTemplateOutlet]=\"buttonsContainer\"\n />\n </mat-step>\n <!-- <ng-template *ngIf=\"!showStepsCounter\" matStepperIcon=\"number\">\n <mat-icon>radio_button_checked</mat-icon>\n </ng-template> -->\n </mat-horizontal-stepper>\n</div>\n\n<ng-template #singleStepTemplate>\n <div [ngStyle]=\"concatenatedFormStyle\">\n <formly-field\n *ngIf=\"showFinalStep\"\n [field]=\"finalStepFieldConfig\"\n ></formly-field>\n </div>\n <div\n class=\"single-step-container\"\n *ngIf=\"!showFinalStep\"\n [ngStyle]=\"concatenatedFormStyle\"\n >\n <div\n class=\"progress-bar-wrapper\"\n *ngIf=\"showProgressBar\"\n [ngStyle]=\"{\n 'border-radius': progressBarStyles.borderRadius,\n height: progressBarStyles.height,\n overflow: 'hidden'\n }\"\n >\n <div\n class=\"progress-bar-fill\"\n [ngStyle]=\"{\n width: ((currentStepIndex + 1) / totalStepsCount) * 100 + '%',\n background: getProgressBarFill(),\n height: '100%'\n }\"\n ></div>\n </div>\n <div class=\"single-step-header\">\n <div\n class=\"single-step-indicator\"\n *ngIf=\"showStepsCounter;\"\n >\n <span class=\"step-current\">{{ currentStepIndex + 1 }}</span>\n <span class=\"step-separator\">/</span>\n <span class=\"step-total\">{{ totalStepsCount }}</span>\n </div>\n <h1 *ngIf=\"showStepsLabels\" class=\"single-step-label\" [ngStyle]=\"field.props?.['design']['.font-heading-1'] || {}\">\n {{ field.fieldGroup![currentStepIndex]!.props!.label }}\n </h1>\n </div>\n\n <ng-container\n *ngIf=\"buttonsVerticalPosition == 'top'\"\n [ngTemplateOutlet]=\"buttonsContainer\"\n />\n\n <h3 [ngStyle]=\"field.props?.['design']['.font-heading-3'] || {}\">\n {{ field!.fieldGroup![currentStepIndex]!.props!.description }}\n </h3>\n <formly-field\n *ngIf=\"loadedSteps[currentStepIndex]\"\n [field]=\"field!.fieldGroup![currentStepIndex]\"\n ></formly-field>\n\n <ng-container\n *ngIf=\"buttonsVerticalPosition == 'bottom'\"\n [ngTemplateOutlet]=\"buttonsContainer\"\n />\n </div>\n</ng-template>\n\n<ng-template #buttonsContainer>\n <ng-container\n *ngTemplateOutlet=\"\n buttonsTemplate;\n context: {\n index: currentStepIndex,\n step: field!.fieldGroup![currentStepIndex]\n }\n \"\n ></ng-container>\n</ng-template>\n\n<ng-template #buttonsTemplate let-index=\"index\" let-step=\"step\">\n <div\n *ngIf=\"!isFlowFinished\"\n class=\"buttons-container\"\n [ngStyle]=\"field.props?.['design']['.buttons-container'] || {}\"\n >\n <button mat-flat-button *ngIf=\"isDebug\" (click)=\"retryClick(step)\">\n Debug Retry\n </button>\n <ng-container *ngFor=\"let button of buttonsGroups[index]\">\n <button\n mat-flat-button\n [color]=\"button.color || 'primary'\"\n [type]=\"button.type === 'submit' ? 'submit' : 'button'\"\n (click)=\"buttonClick(button.type, step)\"\n [disabled]=\"button.disabled || isSaving\"\n [ngStyle]=\"button.style\"\n >\n {{ button.label }}\n </button>\n </ng-container>\n <div *ngIf=\"isNavigating || isSaving\" class=\"loading-spinner\">\n <mat-spinner [diameter]=\"32\"></mat-spinner>\n </div>\n <button mat-flat-button *ngIf=\"isDebug\" (click)=\"buttonClick('next', step)\">\n Debug Next\n </button>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.buttons-container button{margin-right:5px}::ng-deep .mat-horizontal-stepper-header{pointer-events:none!important}.single-step-container{overflow:hidden;padding:0 24px 24px}.single-step-indicator{color:#000;display:flex;align-items:center;justify-content:center;margin-right:1%;font-weight:600}.step-current{font-size:1rem}.step-separator{font-size:.8rem;opacity:.8;margin:0 2px}.step-total{font-size:.9rem;opacity:.8}.single-step-icon{font-size:1.5rem;color:#6b7de1;opacity:.7;transition:opacity .2s ease}.single-step-icon:hover{opacity:1}.single-step-header{position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;padding-bottom:.75rem}.single-step-header:after{content:\"\";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:var(--progress-percent, 0);height:4px;border-radius:2px;background:linear-gradient(135deg,#6b7de1,#9fa8f5);transition:width .3s ease}.single-step-header{display:flex;align-items:center;justify-content:center}.single-step-label{width:auto!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5$3.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i5$3.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i5$3.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4.FormlyField, selector: "formly-field", inputs: ["field"] }] }); }
9895
9895
  }
9896
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldStepperComponent, decorators: [{
9896
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldStepperComponent, decorators: [{
9897
9897
  type: Component,
9898
9898
  args: [{ selector: 'app-formly-field-stepper', providers: [
9899
9899
  {
@@ -9947,10 +9947,10 @@ class FormlyGenerateDocumentsComponent extends BaseFormlyStepComponent {
9947
9947
  }
9948
9948
  return true;
9949
9949
  }
9950
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyGenerateDocumentsComponent, deps: [{ token: ApplicationDataService }, { token: i0.ChangeDetectorRef }, { token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
9951
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyGenerateDocumentsComponent, selector: "app-formly-generate-documents", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"isLoading\">{{ \"generateDocuments.generating\" | translate }}</p>\n<mat-spinner *ngIf=\"isLoading\"\n class=\"m-x-auto upload-spinner\"></mat-spinner>\n\n<div>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount > 0\">\n {{ \"generateDocuments.generated\" | translate }}\n </p>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount <= 0\">\n {{ \"generateDocuments.noDocumentsGenerated\" | translate }}\n </p>\n</div>\n<div *ngIf=\"hasErrors\">\n <p>{{ \"generateDocuments.error\" | translate }}</p>\n <button mat-flat-button type=\"button\" (click)=\"generateDocuments()\">\n {{ \"retry\" | translate }}\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
9950
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyGenerateDocumentsComponent, deps: [{ token: ApplicationDataService }, { token: i0.ChangeDetectorRef }, { token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
9951
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyGenerateDocumentsComponent, selector: "app-formly-generate-documents", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"isLoading\">{{ \"generateDocuments.generating\" | translate }}</p>\n<mat-spinner *ngIf=\"isLoading\"\n class=\"m-x-auto upload-spinner\"></mat-spinner>\n\n<div>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount > 0\">\n {{ \"generateDocuments.generated\" | translate }}\n </p>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount <= 0\">\n {{ \"generateDocuments.noDocumentsGenerated\" | translate }}\n </p>\n</div>\n<div *ngIf=\"hasErrors\">\n <p>{{ \"generateDocuments.error\" | translate }}</p>\n <button mat-flat-button type=\"button\" (click)=\"generateDocuments()\">\n {{ \"retry\" | translate }}\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
9952
9952
  }
9953
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyGenerateDocumentsComponent, decorators: [{
9953
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyGenerateDocumentsComponent, decorators: [{
9954
9954
  type: Component,
9955
9955
  args: [{ selector: 'app-formly-generate-documents', template: "<p *ngIf=\"isLoading\">{{ \"generateDocuments.generating\" | translate }}</p>\n<mat-spinner *ngIf=\"isLoading\"\n class=\"m-x-auto upload-spinner\"></mat-spinner>\n\n<div>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount > 0\">\n {{ \"generateDocuments.generated\" | translate }}\n </p>\n <p *ngIf=\"!isLoading && !hasErrors && generatedDocumentsCount <= 0\">\n {{ \"generateDocuments.noDocumentsGenerated\" | translate }}\n </p>\n</div>\n<div *ngIf=\"hasErrors\">\n <p>{{ \"generateDocuments.error\" | translate }}</p>\n <button mat-flat-button type=\"button\" (click)=\"generateDocuments()\">\n {{ \"retry\" | translate }}\n </button>\n</div>\n" }]
9956
9956
  }], ctorParameters: () => [{ type: ApplicationDataService }, { type: i0.ChangeDetectorRef }, { type: DialogService }] });
@@ -9991,8 +9991,8 @@ class FormlyFieldIdentificationComponent extends BaseFormlyStepComponent {
9991
9991
  getLoadingMessage() {
9992
9992
  return this.props['loadingMessage'] || '';
9993
9993
  }
9994
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldIdentificationComponent, deps: [{ token: ProxyService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
9995
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyFieldIdentificationComponent, selector: "formly-field-identification", outputs: { ectCompleted: "ectCompleted" }, viewQueries: [{ propertyName: "identification", first: true, predicate: ["identification"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
9994
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldIdentificationComponent, deps: [{ token: ProxyService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
9995
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyFieldIdentificationComponent, selector: "formly-field-identification", outputs: { ectCompleted: "ectCompleted" }, viewQueries: [{ propertyName: "identification", first: true, predicate: ["identification"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
9996
9996
  <ng-container *ngIf="appDataId && kycToken">
9997
9997
  <identification-component
9998
9998
  #identification
@@ -10009,7 +10009,7 @@ class FormlyFieldIdentificationComponent extends BaseFormlyStepComponent {
10009
10009
  </ng-container>
10010
10010
  `, isInline: true, styles: [":host{min-height:600px;display:block}.loader-container{display:flex;justify-content:center;align-items:center;padding-top:5vh;padding-bottom:5vh}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
10011
10011
  }
10012
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldIdentificationComponent, decorators: [{
10012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldIdentificationComponent, decorators: [{
10013
10013
  type: Component,
10014
10014
  args: [{ selector: 'formly-field-identification', template: `
10015
10015
  <ng-container *ngIf="appDataId && kycToken">
@@ -10056,10 +10056,10 @@ class FormlyParagraphComponent extends BaseFormlyStepComponent {
10056
10056
  }
10057
10057
  return cleanValue;
10058
10058
  }
10059
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyParagraphComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10060
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyParagraphComponent, selector: "formly-paragraph", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mat-mdc-text-field-wrapper formly-paragraph\"\n [class.hasLabel]=\"title\"\n [ngStyle]=\"cssMargins\"\n appExternalLink\n>\n\n <ng-container *ngIf=\"props['controlType'] === 'Paragraph'\">\n <p *ngIf=\"props['translatedParagraphTitle']\" [ngStyle]=\"props['design']['.font-label']\">\n {{ props['translatedParagraphTitle'] }}\n </p>\n <p *ngIf=\"props['translatedDescription']\" [ngStyle]=\"props['design']['.font-paragraph']\">\n {{ props['translatedDescription'] }}\n </p>\n </ng-container>\n\n <ng-container *ngIf=\"props['controlType'] !== 'Paragraph'\">\n <div\n class=\"component-text-field\"\n *ngIf=\"field?.defaultValue !== undefined && field?.defaultValue !== null\"\n >\n <p [ngStyle]=\"props['design']['.font-label']\">\n {{ field.props?.label }}\n </p>\n <p [ngStyle]=\"props['design']['.font-paragraph']\">\n {{ field.defaultValue }}\n </p>\n </div>\n </ng-container>\n</div>\n", styles: [".formly-paragraph{border:none!important;background:none!important;padding:0;display:block}.formly-paragraph label{display:block}.formly-paragraph.hasLabel p{margin-top:.5rem}.mat-mdc-text-field-wrapper.formly-paragraph{padding:8px 16px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ExternalLinkDirective, selector: "[appExternalLink]" }] }); }
10059
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyParagraphComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10060
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyParagraphComponent, selector: "formly-paragraph", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mat-mdc-text-field-wrapper formly-paragraph\"\n [class.hasLabel]=\"title\"\n [ngStyle]=\"cssMargins\"\n appExternalLink\n>\n\n <ng-container *ngIf=\"props['controlType'] === 'Paragraph'\">\n <p *ngIf=\"props['translatedParagraphTitle']\" [ngStyle]=\"props['design']['.font-label']\">\n {{ props['translatedParagraphTitle'] }}\n </p>\n <p *ngIf=\"props['translatedDescription']\" [ngStyle]=\"props['design']['.font-paragraph']\">\n {{ props['translatedDescription'] }}\n </p>\n </ng-container>\n\n <ng-container *ngIf=\"props['controlType'] !== 'Paragraph'\">\n <div\n class=\"component-text-field\"\n *ngIf=\"field?.defaultValue !== undefined && field?.defaultValue !== null\"\n >\n <p [ngStyle]=\"props['design']['.font-label']\">\n {{ field.props?.label }}\n </p>\n <p [ngStyle]=\"props['design']['.font-paragraph']\">\n {{ field.defaultValue }}\n </p>\n </div>\n </ng-container>\n</div>\n", styles: [".formly-paragraph{border:none!important;background:none!important;padding:0;display:block}.formly-paragraph label{display:block}.formly-paragraph.hasLabel p{margin-top:.5rem}.mat-mdc-text-field-wrapper.formly-paragraph{padding:8px 16px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ExternalLinkDirective, selector: "[appExternalLink]" }] }); }
10061
10061
  }
10062
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyParagraphComponent, decorators: [{
10062
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyParagraphComponent, decorators: [{
10063
10063
  type: Component,
10064
10064
  args: [{ selector: 'formly-paragraph', template: "<div\n class=\"mat-mdc-text-field-wrapper formly-paragraph\"\n [class.hasLabel]=\"title\"\n [ngStyle]=\"cssMargins\"\n appExternalLink\n>\n\n <ng-container *ngIf=\"props['controlType'] === 'Paragraph'\">\n <p *ngIf=\"props['translatedParagraphTitle']\" [ngStyle]=\"props['design']['.font-label']\">\n {{ props['translatedParagraphTitle'] }}\n </p>\n <p *ngIf=\"props['translatedDescription']\" [ngStyle]=\"props['design']['.font-paragraph']\">\n {{ props['translatedDescription'] }}\n </p>\n </ng-container>\n\n <ng-container *ngIf=\"props['controlType'] !== 'Paragraph'\">\n <div\n class=\"component-text-field\"\n *ngIf=\"field?.defaultValue !== undefined && field?.defaultValue !== null\"\n >\n <p [ngStyle]=\"props['design']['.font-label']\">\n {{ field.props?.label }}\n </p>\n <p [ngStyle]=\"props['design']['.font-paragraph']\">\n {{ field.defaultValue }}\n </p>\n </div>\n </ng-container>\n</div>\n", styles: [".formly-paragraph{border:none!important;background:none!important;padding:0;display:block}.formly-paragraph label{display:block}.formly-paragraph.hasLabel p{margin-top:.5rem}.mat-mdc-text-field-wrapper.formly-paragraph{padding:8px 16px}\n"] }]
10065
10065
  }] });
@@ -10096,19 +10096,19 @@ class FormlyRadioComponent extends FieldType {
10096
10096
  }
10097
10097
  }
10098
10098
  }
10099
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyRadioComponent, selector: "formly-radio", usesInheritance: true, ngImport: i0, template: "<div class=\"mat-mdc-text-field-wrapper mdc-radiobox-field\" appExternalLink>\n <label>\n <markdown [data]=\"title\"></markdown>\n </label>\n <div *ngIf=\"radioOptionsList.length > 0\">\n <mat-radio-group [value]=\"formControl.value?.id\"\n (change)=\"onRadioChange($event)\">\n <ng-container *ngFor=\"let option of radioOptionsList\">\n <div>\n <mat-radio-button [value]=\"option.value.id\">\n {{ option.label }}\n </mat-radio-button>\n </div>\n </ng-container>\n </mat-radio-group>\n </div>\n <formly-validation-message *ngIf=\"showError\" [field]=\"field\">\n </formly-validation-message>\n</div>\n", styles: ["formly-validation-message{color:red;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i4.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "directive", type: ExternalLinkDirective, selector: "[appExternalLink]" }] }); }
10099
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyRadioComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyRadioComponent, selector: "formly-radio", usesInheritance: true, ngImport: i0, template: "<div class=\"mat-mdc-text-field-wrapper mdc-radiobox-field\" appExternalLink>\n <label>\n <markdown [data]=\"title\"></markdown>\n </label>\n <div *ngIf=\"radioOptionsList.length > 0\">\n <mat-radio-group [value]=\"formControl.value?.id\"\n (change)=\"onRadioChange($event)\">\n <ng-container *ngFor=\"let option of radioOptionsList\">\n <div>\n <mat-radio-button [value]=\"option.value.id\">\n {{ option.label }}\n </mat-radio-button>\n </div>\n </ng-container>\n </mat-radio-group>\n </div>\n <formly-validation-message *ngIf=\"showError\" [field]=\"field\">\n </formly-validation-message>\n</div>\n", styles: ["formly-validation-message{color:red;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "directive", type: i3$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i4.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "directive", type: ExternalLinkDirective, selector: "[appExternalLink]" }] }); }
10101
10101
  }
10102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyRadioComponent, decorators: [{
10102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyRadioComponent, decorators: [{
10103
10103
  type: Component,
10104
10104
  args: [{ selector: 'formly-radio', template: "<div class=\"mat-mdc-text-field-wrapper mdc-radiobox-field\" appExternalLink>\n <label>\n <markdown [data]=\"title\"></markdown>\n </label>\n <div *ngIf=\"radioOptionsList.length > 0\">\n <mat-radio-group [value]=\"formControl.value?.id\"\n (change)=\"onRadioChange($event)\">\n <ng-container *ngFor=\"let option of radioOptionsList\">\n <div>\n <mat-radio-button [value]=\"option.value.id\">\n {{ option.label }}\n </mat-radio-button>\n </div>\n </ng-container>\n </mat-radio-group>\n </div>\n <formly-validation-message *ngIf=\"showError\" [field]=\"field\">\n </formly-validation-message>\n</div>\n", styles: ["formly-validation-message{color:red;font-size:12px}\n"] }]
10105
10105
  }] });
10106
10106
 
10107
10107
  class RowFillerComponent extends FieldType {
10108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowFillerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RowFillerComponent, selector: "formly-row-filler", usesInheritance: true, ngImport: i0, template: `<div class="row-filler"></div>`, isInline: true, styles: [".row-filler{width:100%}\n"] }); }
10108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowFillerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RowFillerComponent, selector: "formly-row-filler", usesInheritance: true, ngImport: i0, template: `<div class="row-filler"></div>`, isInline: true, styles: [".row-filler{width:100%}\n"] }); }
10110
10110
  }
10111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowFillerComponent, decorators: [{
10111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowFillerComponent, decorators: [{
10112
10112
  type: Component,
10113
10113
  args: [{ selector: 'formly-row-filler', template: `<div class="row-filler"></div>`, styles: [".row-filler{width:100%}\n"] }]
10114
10114
  }] });
@@ -10371,10 +10371,10 @@ class FormlyScanIdComponent extends FieldType {
10371
10371
  }
10372
10372
  return null;
10373
10373
  }
10374
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyScanIdComponent, deps: [{ token: ApplicationDataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
10375
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyScanIdComponent, selector: "app-formly-scan-id", viewQueries: [{ propertyName: "fileInputFront", first: true, predicate: ["fileInputFront"], descendants: true }, { propertyName: "fileInputBack", first: true, predicate: ["fileInputBack"], descendants: true }, { propertyName: "videoElement", first: true, predicate: ["videoElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"scan-id-container\">\n <h2 class=\"title\">{{ props[\"name\"] }}</h2>\n <p class=\"description\">{{ props[\"description\"] }}</p>\n\n <!-- Selection Step -->\n <div class=\"card-selection-container\">\n <div class=\"card-options\">\n <div class=\"card-option\"\n [class.selected]=\"oldIdCard === true && cardTypeSelected\"\n (click)=\"selectCardType(true)\">\n <img src=\"assets/images/origin-form/old-id-card.png\" alt=\"Old ID Card\" />\n </div>\n <div class=\"card-option\"\n [class.selected]=\"oldIdCard === false && cardTypeSelected\"\n (click)=\"selectCardType(false)\">\n <img src=\"assets/images/origin-form/new-id-card.png\" alt=\"New ID Card\" />\n </div>\n </div>\n </div>\n\n <div *ngIf=\"isLoading\" class=\"loading-spinner\">\n <mat-spinner></mat-spinner>\n </div>\n\n <div *ngIf=\"cardTypeSelected && !isLoading\" class=\"actions\">\n <!-- Step 1: Upload Front Photo -->\n <div *ngIf=\"!frontPhotoUploaded\" class=\"upload-button-container\">\n <p>{{ props['labels'].uploadFrontPrompt || 'Please upload the front photo of your ID card.' }}</p>\n <input type=\"file\" #fileInputFront (change)=\"onFileSelected($event, true)\" hidden />\n <button mat-flat-button color=\"primary\" (click)=\"fileInputFront.click()\">\n <mat-icon>cloud_upload</mat-icon>\n {{ fileNameFront ? fileNameFront : props['labels'].uploadFileButtonTranslations || 'Upload Front Photo' }}\n </button>\n <div *ngIf=\"fileError\" class=\"error-message\">\n {{ fileError }}\n </div>\n </div>\n\n <!-- Step 2: Upload Back Photo (Only for New ID Cards) -->\n <div *ngIf=\"frontPhotoUploaded && !oldIdCard && !isLoading\" class=\"upload-button-container\">\n <p>{{ props['labels'].uploadBackPrompt || 'Please upload the back photo of your ID card.' }}</p>\n <input type=\"file\" #fileInputBack (change)=\"onFileSelected($event, false)\" hidden />\n <button mat-flat-button color=\"primary\" (click)=\"fileInputBack.click()\">\n <mat-icon>cloud_upload</mat-icon>\n {{ fileNameBack ? fileNameBack : props['labels'].uploadFileButtonTranslations || 'Upload Back Photo' }}\n </button>\n <div *ngIf=\"fileError\" class=\"error-message\">\n {{ fileError }}\n </div>\n </div> \n <!-- Take Photo Button (Optional) -->\n <div *ngIf=\"props['config'].showTakePictureButton\" class=\"take-photo-container\">\n <button mat-flat-button color=\"accent\" (click)=\"takePicture()\">\n <mat-icon>camera_alt</mat-icon>\n {{ props['labels'].takePictureButtonTranslations || 'Take a photo' }}\n </button>\n <video #videoElement *ngIf=\"videoStream\" width=\"100%\" class=\"video-preview\" autoplay></video>\n\n <!-- Take Front Photo -->\n <button mat-flat-button color=\"warn\" *ngIf=\"videoStream && !frontPhotoUploaded\" (click)=\"capturePhoto(true)\">\n <mat-icon>photo_camera</mat-icon>\n {{ this.props['errorMessages']?.frontId || 'Take a photo' }}\n </button>\n\n <!-- Take Back Photo -->\n <button mat-flat-button color=\"warn\" *ngIf=\"videoStream && frontPhotoUploaded && !oldIdCard\" (click)=\"capturePhoto(false)\">\n <mat-icon>photo_camera</mat-icon>\n {{ this.props['errorMessages']?.backId || 'Take a photo' }}\n </button>\n </div>\n </div>\n <div *ngIf=\"successMessage && isScanValid\" class=\"success-message-container\">\n <mat-icon class=\"large-icon\" color=\"primary\">check_circle</mat-icon>\n </div>\n</div>", styles: [".loading-spinner{display:flex;justify-content:center;align-items:center;margin-top:20px}.success-message-container{display:flex;align-items:center;gap:8px;color:green;font-weight:700;justify-content:center}.large-icon{font-size:36px;width:36px;height:36px}.scan-id-container{max-width:600px;margin:0 auto 16px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;text-align:center}.scan-id-container .card-selection-container{margin-bottom:20px}.scan-id-container .card-options{display:flex;justify-content:space-around}.scan-id-container .card-option{border:2px solid transparent;border-radius:10px;cursor:pointer;padding:10px;text-align:center;transition:border-color .3s,background-color .3s}.scan-id-container .card-option:hover{border-color:#3f51b5}.scan-id-container .card-option img{max-width:100%;height:auto;margin-bottom:10px}.scan-id-container .card-option p{font-weight:700}.scan-id-container .card-option.selected{border-color:#3f51b5;background-color:#e3f2fd;box-shadow:0 0 10px #0000001a}.scan-id-container .title{font-size:24px;font-weight:700;color:#333;margin-bottom:10px}.scan-id-container .description{font-size:16px;color:#666;margin-bottom:20px}.scan-id-container .actions{display:flex;flex-direction:column;gap:20px}.scan-id-container .actions .upload-button-container,.scan-id-container .actions .take-photo-container{display:flex;flex-direction:column;align-items:center}.scan-id-container .actions .upload-button-container button,.scan-id-container .actions .take-photo-container button{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:16px;font-weight:600;border-radius:50px;transition:background-color .3s}.scan-id-container .actions .upload-button-container button mat-icon,.scan-id-container .actions .take-photo-container button mat-icon{font-size:20px}.scan-id-container .actions .upload-button-container button:hover,.scan-id-container .actions .take-photo-container button:hover{background-color:#0069c0}.scan-id-container .actions .upload-button-container .error-message,.scan-id-container .actions .take-photo-container .error-message{color:#e53935;font-size:14px;margin-top:10px}.scan-id-container .actions .video-preview{margin-top:20px;border-radius:8px;box-shadow:0 2px 4px #0003}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
10374
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyScanIdComponent, deps: [{ token: ApplicationDataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
10375
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyScanIdComponent, selector: "app-formly-scan-id", viewQueries: [{ propertyName: "fileInputFront", first: true, predicate: ["fileInputFront"], descendants: true }, { propertyName: "fileInputBack", first: true, predicate: ["fileInputBack"], descendants: true }, { propertyName: "videoElement", first: true, predicate: ["videoElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"scan-id-container\">\n <h2 class=\"title\">{{ props[\"name\"] }}</h2>\n <p class=\"description\">{{ props[\"description\"] }}</p>\n\n <!-- Selection Step -->\n <div class=\"card-selection-container\">\n <div class=\"card-options\">\n <div class=\"card-option\"\n [class.selected]=\"oldIdCard === true && cardTypeSelected\"\n (click)=\"selectCardType(true)\">\n <img src=\"assets/images/origin-form/old-id-card.png\" alt=\"Old ID Card\" />\n </div>\n <div class=\"card-option\"\n [class.selected]=\"oldIdCard === false && cardTypeSelected\"\n (click)=\"selectCardType(false)\">\n <img src=\"assets/images/origin-form/new-id-card.png\" alt=\"New ID Card\" />\n </div>\n </div>\n </div>\n\n <div *ngIf=\"isLoading\" class=\"loading-spinner\">\n <mat-spinner></mat-spinner>\n </div>\n\n <div *ngIf=\"cardTypeSelected && !isLoading\" class=\"actions\">\n <!-- Step 1: Upload Front Photo -->\n <div *ngIf=\"!frontPhotoUploaded\" class=\"upload-button-container\">\n <p>{{ props['labels'].uploadFrontPrompt || 'Please upload the front photo of your ID card.' }}</p>\n <input type=\"file\" #fileInputFront (change)=\"onFileSelected($event, true)\" hidden />\n <button mat-flat-button color=\"primary\" (click)=\"fileInputFront.click()\">\n <mat-icon>cloud_upload</mat-icon>\n {{ fileNameFront ? fileNameFront : props['labels'].uploadFileButtonTranslations || 'Upload Front Photo' }}\n </button>\n <div *ngIf=\"fileError\" class=\"error-message\">\n {{ fileError }}\n </div>\n </div>\n\n <!-- Step 2: Upload Back Photo (Only for New ID Cards) -->\n <div *ngIf=\"frontPhotoUploaded && !oldIdCard && !isLoading\" class=\"upload-button-container\">\n <p>{{ props['labels'].uploadBackPrompt || 'Please upload the back photo of your ID card.' }}</p>\n <input type=\"file\" #fileInputBack (change)=\"onFileSelected($event, false)\" hidden />\n <button mat-flat-button color=\"primary\" (click)=\"fileInputBack.click()\">\n <mat-icon>cloud_upload</mat-icon>\n {{ fileNameBack ? fileNameBack : props['labels'].uploadFileButtonTranslations || 'Upload Back Photo' }}\n </button>\n <div *ngIf=\"fileError\" class=\"error-message\">\n {{ fileError }}\n </div>\n </div> \n <!-- Take Photo Button (Optional) -->\n <div *ngIf=\"props['config'].showTakePictureButton\" class=\"take-photo-container\">\n <button mat-flat-button color=\"accent\" (click)=\"takePicture()\">\n <mat-icon>camera_alt</mat-icon>\n {{ props['labels'].takePictureButtonTranslations || 'Take a photo' }}\n </button>\n <video #videoElement *ngIf=\"videoStream\" width=\"100%\" class=\"video-preview\" autoplay></video>\n\n <!-- Take Front Photo -->\n <button mat-flat-button color=\"warn\" *ngIf=\"videoStream && !frontPhotoUploaded\" (click)=\"capturePhoto(true)\">\n <mat-icon>photo_camera</mat-icon>\n {{ this.props['errorMessages']?.frontId || 'Take a photo' }}\n </button>\n\n <!-- Take Back Photo -->\n <button mat-flat-button color=\"warn\" *ngIf=\"videoStream && frontPhotoUploaded && !oldIdCard\" (click)=\"capturePhoto(false)\">\n <mat-icon>photo_camera</mat-icon>\n {{ this.props['errorMessages']?.backId || 'Take a photo' }}\n </button>\n </div>\n </div>\n <div *ngIf=\"successMessage && isScanValid\" class=\"success-message-container\">\n <mat-icon class=\"large-icon\" color=\"primary\">check_circle</mat-icon>\n </div>\n</div>", styles: [".loading-spinner{display:flex;justify-content:center;align-items:center;margin-top:20px}.success-message-container{display:flex;align-items:center;gap:8px;color:green;font-weight:700;justify-content:center}.large-icon{font-size:36px;width:36px;height:36px}.scan-id-container{max-width:600px;margin:0 auto 16px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;text-align:center}.scan-id-container .card-selection-container{margin-bottom:20px}.scan-id-container .card-options{display:flex;justify-content:space-around}.scan-id-container .card-option{border:2px solid transparent;border-radius:10px;cursor:pointer;padding:10px;text-align:center;transition:border-color .3s,background-color .3s}.scan-id-container .card-option:hover{border-color:#3f51b5}.scan-id-container .card-option img{max-width:100%;height:auto;margin-bottom:10px}.scan-id-container .card-option p{font-weight:700}.scan-id-container .card-option.selected{border-color:#3f51b5;background-color:#e3f2fd;box-shadow:0 0 10px #0000001a}.scan-id-container .title{font-size:24px;font-weight:700;color:#333;margin-bottom:10px}.scan-id-container .description{font-size:16px;color:#666;margin-bottom:20px}.scan-id-container .actions{display:flex;flex-direction:column;gap:20px}.scan-id-container .actions .upload-button-container,.scan-id-container .actions .take-photo-container{display:flex;flex-direction:column;align-items:center}.scan-id-container .actions .upload-button-container button,.scan-id-container .actions .take-photo-container button{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:16px;font-weight:600;border-radius:50px;transition:background-color .3s}.scan-id-container .actions .upload-button-container button mat-icon,.scan-id-container .actions .take-photo-container button mat-icon{font-size:20px}.scan-id-container .actions .upload-button-container button:hover,.scan-id-container .actions .take-photo-container button:hover{background-color:#0069c0}.scan-id-container .actions .upload-button-container .error-message,.scan-id-container .actions .take-photo-container .error-message{color:#e53935;font-size:14px;margin-top:10px}.scan-id-container .actions .video-preview{margin-top:20px;border-radius:8px;box-shadow:0 2px 4px #0003}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
10376
10376
  }
10377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyScanIdComponent, decorators: [{
10377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyScanIdComponent, decorators: [{
10378
10378
  type: Component,
10379
10379
  args: [{ selector: 'app-formly-scan-id', template: "<div class=\"scan-id-container\">\n <h2 class=\"title\">{{ props[\"name\"] }}</h2>\n <p class=\"description\">{{ props[\"description\"] }}</p>\n\n <!-- Selection Step -->\n <div class=\"card-selection-container\">\n <div class=\"card-options\">\n <div class=\"card-option\"\n [class.selected]=\"oldIdCard === true && cardTypeSelected\"\n (click)=\"selectCardType(true)\">\n <img src=\"assets/images/origin-form/old-id-card.png\" alt=\"Old ID Card\" />\n </div>\n <div class=\"card-option\"\n [class.selected]=\"oldIdCard === false && cardTypeSelected\"\n (click)=\"selectCardType(false)\">\n <img src=\"assets/images/origin-form/new-id-card.png\" alt=\"New ID Card\" />\n </div>\n </div>\n </div>\n\n <div *ngIf=\"isLoading\" class=\"loading-spinner\">\n <mat-spinner></mat-spinner>\n </div>\n\n <div *ngIf=\"cardTypeSelected && !isLoading\" class=\"actions\">\n <!-- Step 1: Upload Front Photo -->\n <div *ngIf=\"!frontPhotoUploaded\" class=\"upload-button-container\">\n <p>{{ props['labels'].uploadFrontPrompt || 'Please upload the front photo of your ID card.' }}</p>\n <input type=\"file\" #fileInputFront (change)=\"onFileSelected($event, true)\" hidden />\n <button mat-flat-button color=\"primary\" (click)=\"fileInputFront.click()\">\n <mat-icon>cloud_upload</mat-icon>\n {{ fileNameFront ? fileNameFront : props['labels'].uploadFileButtonTranslations || 'Upload Front Photo' }}\n </button>\n <div *ngIf=\"fileError\" class=\"error-message\">\n {{ fileError }}\n </div>\n </div>\n\n <!-- Step 2: Upload Back Photo (Only for New ID Cards) -->\n <div *ngIf=\"frontPhotoUploaded && !oldIdCard && !isLoading\" class=\"upload-button-container\">\n <p>{{ props['labels'].uploadBackPrompt || 'Please upload the back photo of your ID card.' }}</p>\n <input type=\"file\" #fileInputBack (change)=\"onFileSelected($event, false)\" hidden />\n <button mat-flat-button color=\"primary\" (click)=\"fileInputBack.click()\">\n <mat-icon>cloud_upload</mat-icon>\n {{ fileNameBack ? fileNameBack : props['labels'].uploadFileButtonTranslations || 'Upload Back Photo' }}\n </button>\n <div *ngIf=\"fileError\" class=\"error-message\">\n {{ fileError }}\n </div>\n </div> \n <!-- Take Photo Button (Optional) -->\n <div *ngIf=\"props['config'].showTakePictureButton\" class=\"take-photo-container\">\n <button mat-flat-button color=\"accent\" (click)=\"takePicture()\">\n <mat-icon>camera_alt</mat-icon>\n {{ props['labels'].takePictureButtonTranslations || 'Take a photo' }}\n </button>\n <video #videoElement *ngIf=\"videoStream\" width=\"100%\" class=\"video-preview\" autoplay></video>\n\n <!-- Take Front Photo -->\n <button mat-flat-button color=\"warn\" *ngIf=\"videoStream && !frontPhotoUploaded\" (click)=\"capturePhoto(true)\">\n <mat-icon>photo_camera</mat-icon>\n {{ this.props['errorMessages']?.frontId || 'Take a photo' }}\n </button>\n\n <!-- Take Back Photo -->\n <button mat-flat-button color=\"warn\" *ngIf=\"videoStream && frontPhotoUploaded && !oldIdCard\" (click)=\"capturePhoto(false)\">\n <mat-icon>photo_camera</mat-icon>\n {{ this.props['errorMessages']?.backId || 'Take a photo' }}\n </button>\n </div>\n </div>\n <div *ngIf=\"successMessage && isScanValid\" class=\"success-message-container\">\n <mat-icon class=\"large-icon\" color=\"primary\">check_circle</mat-icon>\n </div>\n</div>", styles: [".loading-spinner{display:flex;justify-content:center;align-items:center;margin-top:20px}.success-message-container{display:flex;align-items:center;gap:8px;color:green;font-weight:700;justify-content:center}.large-icon{font-size:36px;width:36px;height:36px}.scan-id-container{max-width:600px;margin:0 auto 16px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;text-align:center}.scan-id-container .card-selection-container{margin-bottom:20px}.scan-id-container .card-options{display:flex;justify-content:space-around}.scan-id-container .card-option{border:2px solid transparent;border-radius:10px;cursor:pointer;padding:10px;text-align:center;transition:border-color .3s,background-color .3s}.scan-id-container .card-option:hover{border-color:#3f51b5}.scan-id-container .card-option img{max-width:100%;height:auto;margin-bottom:10px}.scan-id-container .card-option p{font-weight:700}.scan-id-container .card-option.selected{border-color:#3f51b5;background-color:#e3f2fd;box-shadow:0 0 10px #0000001a}.scan-id-container .title{font-size:24px;font-weight:700;color:#333;margin-bottom:10px}.scan-id-container .description{font-size:16px;color:#666;margin-bottom:20px}.scan-id-container .actions{display:flex;flex-direction:column;gap:20px}.scan-id-container .actions .upload-button-container,.scan-id-container .actions .take-photo-container{display:flex;flex-direction:column;align-items:center}.scan-id-container .actions .upload-button-container button,.scan-id-container .actions .take-photo-container button{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:16px;font-weight:600;border-radius:50px;transition:background-color .3s}.scan-id-container .actions .upload-button-container button mat-icon,.scan-id-container .actions .take-photo-container button mat-icon{font-size:20px}.scan-id-container .actions .upload-button-container button:hover,.scan-id-container .actions .take-photo-container button:hover{background-color:#0069c0}.scan-id-container .actions .upload-button-container .error-message,.scan-id-container .actions .take-photo-container .error-message{color:#e53935;font-size:14px;margin-top:10px}.scan-id-container .actions .video-preview{margin-top:20px;border-radius:8px;box-shadow:0 2px 4px #0003}\n"] }]
10380
10380
  }], ctorParameters: () => [{ type: ApplicationDataService }, { type: i0.ChangeDetectorRef }], propDecorators: { fileInputFront: [{
@@ -10542,10 +10542,10 @@ class FormlySignComponent extends BaseFormlyStepComponent {
10542
10542
  this.config = null;
10543
10543
  console.log('🔷 FormlySignComponent: Component cleanup completed');
10544
10544
  }
10545
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlySignComponent, deps: [{ token: OriginFormAuthService }, { token: i0.ChangeDetectorRef }, { token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
10546
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlySignComponent, selector: "formly-sign", viewQueries: [{ propertyName: "signLib", first: true, predicate: ["signLib"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-sign #signLib [config]=\"config\" (event)=\"libEvent($event)\"> </lib-sign>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i3$2.SignLibComponent, selector: "lib-sign", inputs: ["config", "instanceId"], outputs: ["event"] }] }); }
10545
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlySignComponent, deps: [{ token: OriginFormAuthService }, { token: i0.ChangeDetectorRef }, { token: DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
10546
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlySignComponent, selector: "formly-sign", viewQueries: [{ propertyName: "signLib", first: true, predicate: ["signLib"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-sign #signLib [config]=\"config\" (event)=\"libEvent($event)\"> </lib-sign>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i3$2.SignLibComponent, selector: "lib-sign", inputs: ["config", "instanceId"], outputs: ["event"] }] }); }
10547
10547
  }
10548
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlySignComponent, decorators: [{
10548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlySignComponent, decorators: [{
10549
10549
  type: Component,
10550
10550
  args: [{ selector: 'formly-sign', template: "<lib-sign #signLib [config]=\"config\" (event)=\"libEvent($event)\"> </lib-sign>\n", styles: [":host{display:block}\n"] }]
10551
10551
  }], ctorParameters: () => [{ type: OriginFormAuthService }, { type: i0.ChangeDetectorRef }, { type: DialogService }], propDecorators: { signLib: [{
@@ -10760,10 +10760,10 @@ class FormlyUploadDocumentsComponent extends BaseFormlyControlComponent {
10760
10760
  uploadPayload.documents = [];
10761
10761
  return uploadPayload;
10762
10762
  }
10763
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyUploadDocumentsComponent, deps: [{ token: DialogService }, { token: ApplicationDataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
10764
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyUploadDocumentsComponent, selector: "app-formly-upload-documents", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"title\">\n {{ title }}\n</p>\n\n<table>\n <thead class=\"table-head\">\n <tr>\n <th>\n {{ \"document\" | translate }}\n </th>\n <th>\n {{ \"format\" | translate }}\n </th>\n <th>\n {{ \"flux.components.uploadDocument.maxSize\" | translate }}\n </th>\n <th>\n {{ \"stepControl.mandatory\" | translate }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-detail\">\n <tr *ngFor=\"let doc of documents; let i = index\">\n <td>\n {{ doc.documentName }}\n </td>\n <td>\n {{ doc.documentExtensions }}\n </td>\n <td>\n {{ doc.documentMaxSize }}\n </td>\n <td>\n {{ (doc.isMandatory ? \"yes\" : \"no\") | translate }}\n </td>\n <td>\n <div>\n <input\n type=\"file\"\n #fileInput\n (change)=\"selectFile($event, doc)\"\n hidden\n />\n <button\n mat-flat-button\n color=\"primary\"\n (click)=\"fileInput.click()\"\n [disabled]=\"this.isDisabled\"\n >\n <mat-icon>cloud_upload</mat-icon>\n {{\n doc.fileName\n ? doc.fileName\n : (\"common.actions.upload\" | translate)\n }}\n </button>\n </div>\n </td>\n <td *ngIf=\"doc.fileName\">\n <i-tabler\n *ngIf=\"\n doc.isUploading === false &&\n doc.isUploadSuccess === true &&\n doc.fileName\n \"\n class=\"icon-25 text-white bg-primary rounded\"\n name=\"check\"\n ></i-tabler>\n <mat-spinner\n *ngIf=\"doc.isUploading === true\"\n class=\"m-x-auto upload-spinner\"\n ></mat-spinner>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [".upload-spinner{width:30px!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
10763
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyUploadDocumentsComponent, deps: [{ token: DialogService }, { token: ApplicationDataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
10764
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyUploadDocumentsComponent, selector: "app-formly-upload-documents", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"title\">\n {{ title }}\n</p>\n\n<table>\n <thead class=\"table-head\">\n <tr>\n <th>\n {{ \"document\" | translate }}\n </th>\n <th>\n {{ \"format\" | translate }}\n </th>\n <th>\n {{ \"flux.components.uploadDocument.maxSize\" | translate }}\n </th>\n <th>\n {{ \"stepControl.mandatory\" | translate }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-detail\">\n <tr *ngFor=\"let doc of documents; let i = index\">\n <td>\n {{ doc.documentName }}\n </td>\n <td>\n {{ doc.documentExtensions }}\n </td>\n <td>\n {{ doc.documentMaxSize }}\n </td>\n <td>\n {{ (doc.isMandatory ? \"yes\" : \"no\") | translate }}\n </td>\n <td>\n <div>\n <input\n type=\"file\"\n #fileInput\n (change)=\"selectFile($event, doc)\"\n hidden\n />\n <button\n mat-flat-button\n color=\"primary\"\n (click)=\"fileInput.click()\"\n [disabled]=\"this.isDisabled\"\n >\n <mat-icon>cloud_upload</mat-icon>\n {{\n doc.fileName\n ? doc.fileName\n : (\"common.actions.upload\" | translate)\n }}\n </button>\n </div>\n </td>\n <td *ngIf=\"doc.fileName\">\n <i-tabler\n *ngIf=\"\n doc.isUploading === false &&\n doc.isUploadSuccess === true &&\n doc.fileName\n \"\n class=\"icon-25 text-white bg-primary rounded\"\n name=\"check\"\n ></i-tabler>\n <mat-spinner\n *ngIf=\"doc.isUploading === true\"\n class=\"m-x-auto upload-spinner\"\n ></mat-spinner>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [".upload-spinner{width:30px!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
10765
10765
  }
10766
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyUploadDocumentsComponent, decorators: [{
10766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyUploadDocumentsComponent, decorators: [{
10767
10767
  type: Component,
10768
10768
  args: [{ selector: 'app-formly-upload-documents', template: "<p *ngIf=\"title\">\n {{ title }}\n</p>\n\n<table>\n <thead class=\"table-head\">\n <tr>\n <th>\n {{ \"document\" | translate }}\n </th>\n <th>\n {{ \"format\" | translate }}\n </th>\n <th>\n {{ \"flux.components.uploadDocument.maxSize\" | translate }}\n </th>\n <th>\n {{ \"stepControl.mandatory\" | translate }}\n </th>\n </tr>\n </thead>\n <tbody class=\"table-detail\">\n <tr *ngFor=\"let doc of documents; let i = index\">\n <td>\n {{ doc.documentName }}\n </td>\n <td>\n {{ doc.documentExtensions }}\n </td>\n <td>\n {{ doc.documentMaxSize }}\n </td>\n <td>\n {{ (doc.isMandatory ? \"yes\" : \"no\") | translate }}\n </td>\n <td>\n <div>\n <input\n type=\"file\"\n #fileInput\n (change)=\"selectFile($event, doc)\"\n hidden\n />\n <button\n mat-flat-button\n color=\"primary\"\n (click)=\"fileInput.click()\"\n [disabled]=\"this.isDisabled\"\n >\n <mat-icon>cloud_upload</mat-icon>\n {{\n doc.fileName\n ? doc.fileName\n : (\"common.actions.upload\" | translate)\n }}\n </button>\n </div>\n </td>\n <td *ngIf=\"doc.fileName\">\n <i-tabler\n *ngIf=\"\n doc.isUploading === false &&\n doc.isUploadSuccess === true &&\n doc.fileName\n \"\n class=\"icon-25 text-white bg-primary rounded\"\n name=\"check\"\n ></i-tabler>\n <mat-spinner\n *ngIf=\"doc.isUploading === true\"\n class=\"m-x-auto upload-spinner\"\n ></mat-spinner>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [".upload-spinner{width:30px!important}\n"] }]
10769
10769
  }], ctorParameters: () => [{ type: DialogService }, { type: ApplicationDataService }, { type: i0.ChangeDetectorRef }] });
@@ -10784,10 +10784,10 @@ class OtpService {
10784
10784
  `/otp/validate-app-otp`;
10785
10785
  return this.http.postExtended(url, data, { observe: 'response' }).pipe(map((response) => response), catchError((error) => of({ ...error, body: false })));
10786
10786
  }
10787
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtpService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
10788
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtpService }); }
10787
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OtpService, deps: [{ token: AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
10788
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OtpService }); }
10789
10789
  }
10790
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtpService, decorators: [{
10790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OtpService, decorators: [{
10791
10791
  type: Injectable
10792
10792
  }], ctorParameters: () => [{ type: AuthHttpService }] });
10793
10793
 
@@ -10893,10 +10893,10 @@ class FormlyValidateContactInfoComponent extends BaseFormlyStepComponent {
10893
10893
  });
10894
10894
  }
10895
10895
  }
10896
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyValidateContactInfoComponent, deps: [{ token: OtpService }, { token: DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
10897
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyValidateContactInfoComponent, selector: "app-formly-validate-contact-info", usesInheritance: true, ngImport: i0, template: "<div class=\"component-text-field\">\n <div *ngIf=\"!(sent | async); else otpTemplate\">\n <mat-form-field class=\"full-width\">\n <mat-label>\n {{ isEmail ? props[\"labels\"].emailLabel : props[\"labels\"].phoneLabel }}\n </mat-label>\n <input\n matInput\n type=\"text\"\n [formControl]=\"control\"\n [readonly]=\"stepData.config.collected\"\n />\n </mat-form-field>\n <div\n *ngIf=\"\n control.invalid &&\n (control.dirty || control.touched) &&\n control.hasError('required')\n \"\n class=\"alert alert-danger\"\n >\n {{\n isEmail\n ? props[\"labels\"].emailRequiredLabel\n : props[\"labels\"].phoneRequiredLabel\n }}\n </div>\n <div\n *ngIf=\"\n control.invalid &&\n (control.dirty || control.touched) &&\n !control.hasError('required')\n \"\n class=\"alert alert-danger\"\n >\n {{\n isEmail\n ? props[\"labels\"].emailErrorLabel\n : props[\"labels\"].phoneErrorLabel\n }}\n </div>\n <button\n mat-button\n type=\"button\"\n [ngStyle]=\"otpButtonStyle\"\n (click)=\"sendOtp()\"\n >\n {{ buttonText }}\n </button>\n </div>\n</div>\n\n<ng-template #otpTemplate>\n <mat-form-field class=\"full-width\">\n <mat-label>\n {{ props[\"labels\"].otpLabel }}\n </mat-label>\n <input matInput type=\"text\" [formControl]=\"otp\" />\n </mat-form-field>\n <button\n mat-button\n type=\"button\"\n *ngIf=\"!(otpValidated | async)\"\n [ngStyle]=\"otpButtonStyle\"\n (click)=\"validateOtp()\"\n >\n {{ props[\"labels\"].otpButtonLabel }}\n </button>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
10896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyValidateContactInfoComponent, deps: [{ token: OtpService }, { token: DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
10897
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyValidateContactInfoComponent, selector: "app-formly-validate-contact-info", usesInheritance: true, ngImport: i0, template: "<div class=\"component-text-field\">\n <div *ngIf=\"!(sent | async); else otpTemplate\">\n <mat-form-field class=\"full-width\">\n <mat-label>\n {{ isEmail ? props[\"labels\"].emailLabel : props[\"labels\"].phoneLabel }}\n </mat-label>\n <input\n matInput\n type=\"text\"\n [formControl]=\"control\"\n [readonly]=\"stepData.config.collected\"\n />\n </mat-form-field>\n <div\n *ngIf=\"\n control.invalid &&\n (control.dirty || control.touched) &&\n control.hasError('required')\n \"\n class=\"alert alert-danger\"\n >\n {{\n isEmail\n ? props[\"labels\"].emailRequiredLabel\n : props[\"labels\"].phoneRequiredLabel\n }}\n </div>\n <div\n *ngIf=\"\n control.invalid &&\n (control.dirty || control.touched) &&\n !control.hasError('required')\n \"\n class=\"alert alert-danger\"\n >\n {{\n isEmail\n ? props[\"labels\"].emailErrorLabel\n : props[\"labels\"].phoneErrorLabel\n }}\n </div>\n <button\n mat-button\n type=\"button\"\n [ngStyle]=\"otpButtonStyle\"\n (click)=\"sendOtp()\"\n >\n {{ buttonText }}\n </button>\n </div>\n</div>\n\n<ng-template #otpTemplate>\n <mat-form-field class=\"full-width\">\n <mat-label>\n {{ props[\"labels\"].otpLabel }}\n </mat-label>\n <input matInput type=\"text\" [formControl]=\"otp\" />\n </mat-form-field>\n <button\n mat-button\n type=\"button\"\n *ngIf=\"!(otpValidated | async)\"\n [ngStyle]=\"otpButtonStyle\"\n (click)=\"validateOtp()\"\n >\n {{ props[\"labels\"].otpButtonLabel }}\n </button>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
10898
10898
  }
10899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyValidateContactInfoComponent, decorators: [{
10899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyValidateContactInfoComponent, decorators: [{
10900
10900
  type: Component,
10901
10901
  args: [{ selector: 'app-formly-validate-contact-info', template: "<div class=\"component-text-field\">\n <div *ngIf=\"!(sent | async); else otpTemplate\">\n <mat-form-field class=\"full-width\">\n <mat-label>\n {{ isEmail ? props[\"labels\"].emailLabel : props[\"labels\"].phoneLabel }}\n </mat-label>\n <input\n matInput\n type=\"text\"\n [formControl]=\"control\"\n [readonly]=\"stepData.config.collected\"\n />\n </mat-form-field>\n <div\n *ngIf=\"\n control.invalid &&\n (control.dirty || control.touched) &&\n control.hasError('required')\n \"\n class=\"alert alert-danger\"\n >\n {{\n isEmail\n ? props[\"labels\"].emailRequiredLabel\n : props[\"labels\"].phoneRequiredLabel\n }}\n </div>\n <div\n *ngIf=\"\n control.invalid &&\n (control.dirty || control.touched) &&\n !control.hasError('required')\n \"\n class=\"alert alert-danger\"\n >\n {{\n isEmail\n ? props[\"labels\"].emailErrorLabel\n : props[\"labels\"].phoneErrorLabel\n }}\n </div>\n <button\n mat-button\n type=\"button\"\n [ngStyle]=\"otpButtonStyle\"\n (click)=\"sendOtp()\"\n >\n {{ buttonText }}\n </button>\n </div>\n</div>\n\n<ng-template #otpTemplate>\n <mat-form-field class=\"full-width\">\n <mat-label>\n {{ props[\"labels\"].otpLabel }}\n </mat-label>\n <input matInput type=\"text\" [formControl]=\"otp\" />\n </mat-form-field>\n <button\n mat-button\n type=\"button\"\n *ngIf=\"!(otpValidated | async)\"\n [ngStyle]=\"otpButtonStyle\"\n (click)=\"validateOtp()\"\n >\n {{ props[\"labels\"].otpButtonLabel }}\n </button>\n</ng-template>\n" }]
10902
10902
  }], ctorParameters: () => [{ type: OtpService }, { type: DialogService }, { type: i0.ChangeDetectorRef }] });
@@ -10916,10 +10916,10 @@ class ConfirmationComponent {
10916
10916
  cancel() {
10917
10917
  this.dialog.close({ event: 'cancel' });
10918
10918
  }
10919
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmationComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$3.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
10920
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmationComponent, selector: "app-confirmation", ngImport: i0, template: "<mat-card class=\"cardWithShadow blue_theme theme-card m-b-0\">\n <mat-card-header>\n <mat-card-title class=\"m-b-0\">\n {{ commonKeys.confirmation.title | translate }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"b-t-1\">\n {{ text | translate }}\n <div class=\"m-t-24\">\n <button mat-flat-button type=\"button\" (click)=\"submit()\" color=\"primary\" class=\"m-r-16\">\n {{ commonKeys.actions.confirm | translate }}\n </button>\n <button mat-flat-button type=\"button\" (click)=\"cancel()\">\n {{ commonKeys.actions.cancel | translate }}\n </button>\n </div>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "component", type: i2$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i2$2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2$2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
10919
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfirmationComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$3.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
10920
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ConfirmationComponent, selector: "app-confirmation", ngImport: i0, template: "<mat-card class=\"cardWithShadow blue_theme theme-card m-b-0\">\n <mat-card-header>\n <mat-card-title class=\"m-b-0\">\n {{ commonKeys.confirmation.title | translate }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"b-t-1\">\n {{ text | translate }}\n <div class=\"m-t-24\">\n <button mat-flat-button type=\"button\" (click)=\"submit()\" color=\"primary\" class=\"m-r-16\">\n {{ commonKeys.actions.confirm | translate }}\n </button>\n <button mat-flat-button type=\"button\" (click)=\"cancel()\">\n {{ commonKeys.actions.cancel | translate }}\n </button>\n </div>\n </mat-card-content>\n</mat-card>\n", styles: [""], dependencies: [{ kind: "component", type: i2$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i2$2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2$2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
10921
10921
  }
10922
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmationComponent, decorators: [{
10922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfirmationComponent, decorators: [{
10923
10923
  type: Component,
10924
10924
  args: [{ selector: 'app-confirmation', template: "<mat-card class=\"cardWithShadow blue_theme theme-card m-b-0\">\n <mat-card-header>\n <mat-card-title class=\"m-b-0\">\n {{ commonKeys.confirmation.title | translate }}\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"b-t-1\">\n {{ text | translate }}\n <div class=\"m-t-24\">\n <button mat-flat-button type=\"button\" (click)=\"submit()\" color=\"primary\" class=\"m-r-16\">\n {{ commonKeys.actions.confirm | translate }}\n </button>\n <button mat-flat-button type=\"button\" (click)=\"cancel()\">\n {{ commonKeys.actions.cancel | translate }}\n </button>\n </div>\n </mat-card-content>\n</mat-card>\n" }]
10925
10925
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -11114,10 +11114,10 @@ class GridComponent {
11114
11114
  return localNames.includes(templateKey);
11115
11115
  }) || null);
11116
11116
  }
11117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GridComponent, deps: [{ token: i1$3.MatDialog }, { token: i2$1.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GridComponent, selector: "shared-grid", inputs: { data: "data", count: "count", columns: "columns", config: "config" }, outputs: { reload: "reload", delete: "delete", duplicate: "duplicate", open: "open" }, queries: [{ propertyName: "templates", predicate: TemplateRef }], viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"count !== 0 && (config.filter ?? true)\" class=\"row justify-content-between m-b-8\">\n <div class=\"col-12 col-md-5 col-lg-4 col-xl-3 p-l-0\">\n <mat-form-field appearance=\"outline\" class=\"w-100 hide-hint custom-field\">\n <input matInput [formControl]=\"filterField\" (keyup)=\"filter()\"\n placeholder=\"{{ commonKeys.actions.filter }}\" />\n </mat-form-field>\n </div>\n <div *ngIf=\"config.stateFilter\" class=\"col-12 col-md-5 col-lg-4 col-xl-3\">\n {{ commonKeys.actions.includeInactive }}\n <mat-slide-toggle [formControl]=\"stateToggle\" (click)=\"toggleState()\" class=\"m-l-4 m-t-10\"></mat-slide-toggle>\n </div>\n <div class=\"col\"></div>\n</div>\n\n<ng-container *ngIf=\"count === 0; else grid\">\n {{ commonKeys.pagination.noItems }}\n</ng-container>\n\n<ng-template #grid>\n <div class=\"table-responsive m-t-20\">\n <table mat-table [dataSource]=\"dataSource || (data | async)!\" matSort matSortActive=\"{{ config.sort ?? 'id' }}\"\n matSortDisableClear [matSortDirection]=\"config.sortDirection ?? 'asc'\" class=\"w-100\">\n <ng-container *ngFor=\"let column of columns\" matColumnDef=\"{{ column.id }}\">\n\n <ng-container *ngIf=\"!column.templateKey; else templateCell\">\n <ng-container *ngIf=\"column.route === undefined; else routeHeader\">\n <ng-container *ngIf=\"column.sortable === true; else unsortable\">\n <th mat-header-cell mat-sort-header *matHeaderCellDef class=\"f-s-16 f-w-700\">\n {{ column.title }}{{ column.label }}\n </th>\n </ng-container>\n <ng-template #unsortable>\n <th mat-header-cell *matHeaderCellDef class=\"f-s-16 f-w-700\">\n {{ column.title }}{{ column.label }}\n </th>\n </ng-template>\n\n <td mat-cell *matCellDef=\"let element\" class=\"f-s-14\">\n <ng-container *ngIf=\"isDate(element[column.id]); else second\">\n {{ element[column.id] | date : \"dd.MM.yyyy hh:mm\" }}\n </ng-container>\n <ng-template #second>\n <ng-container *ngIf=\"typeOf(element[column.id]) === 'boolean'; else third\">\n <ng-container *ngIf=\"element[column.id] === true; else disabled\">\n <mat-icon>\n <i-tabler name=\"check\" class=\"icon-18\"></i-tabler>\n </mat-icon>\n </ng-container>\n <ng-template #disabled>\n <i-tabler name=\"x\" class=\"icon-18\"></i-tabler>\n </ng-template>\n </ng-container>\n </ng-template>\n <ng-template #third>\n <ng-container *ngIf=\"column.id.includes('.'); else fourth\">\n {{ getObjectValues(column.id, element) }}\n </ng-container>\n </ng-template>\n <ng-template #fourth>\n {{ element[column.id] }}\n </ng-template>\n </td>\n </ng-container>\n\n <ng-template #routeHeader>\n <th width=\"1\" mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\" class=\"f-s-14 text-right\">\n <button *ngIf=\"column.id != 'delete' && column.id != 'open'\" mat-stroked-button\n (click)=\"buttonClick(column, element)\">\n <mat-icon *ngIf=\"column.icon\" class=\"m-0\">\n <i-tabler name=\"{{ column.icon }}\" class=\"icon-18\"></i-tabler>\n </mat-icon>\n <span *ngIf=\"column.icon && (column.title || column.label)\">&nbsp;</span>\n <span>{{ column.title }}{{ column.label }}</span>\n </button>\n <button *ngIf=\"column.id == 'open'\" mat-stroked-button (click)=\"clickOpen(element)\">\n <mat-icon *ngIf=\"column.icon\" class=\"m-0\">\n <i-tabler name=\"{{ column.icon }}\" class=\"icon-18\"></i-tabler>\n </mat-icon>\n </button>\n </td>\n </ng-template>\n </ng-container>\n\n <ng-template #templateCell>\n <th mat-header-cell *matHeaderCellDef class=\"f-s-16 f-w-700\">\n {{ column.title }}{{ column.label }}\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"f-s-14\">\n <ng-container *ngTemplateOutlet=\"\n getTemplateRef(column.templateKey);\n context: { $implicit: row }\n \">\n </ng-container>\n </td>\n </ng-template>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"dataColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dataColumns\"></tr>\n </table>\n\n <mat-paginator [length]=\"async ? (count | async) : count\" [pageSizeOptions]=\"[10, 25, 100]\">\n </mat-paginator>\n </div>\n</ng-template>", styles: [".mdc-button{min-width:0px}::ng-deep .custom-field .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:9px;padding-bottom:9px;min-height:40px}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 4px}.table-responsive td,.table-responsive mat-cell{white-space:nowrap;padding:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i7$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i11.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i11.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i12.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i12.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i12.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i12.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i12.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i12.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i12.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i12.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i12.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i12.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.DatePipe, name: "date" }] }); }
11117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridComponent, deps: [{ token: i1$3.MatDialog }, { token: i2$1.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: GridComponent, selector: "shared-grid", inputs: { data: "data", count: "count", columns: "columns", config: "config" }, outputs: { reload: "reload", delete: "delete", duplicate: "duplicate", open: "open" }, queries: [{ propertyName: "templates", predicate: TemplateRef }], viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"count !== 0 && (config.filter ?? true)\" class=\"row justify-content-between m-b-8\">\n <div class=\"col-12 col-md-5 col-lg-4 col-xl-3 p-l-0\">\n <mat-form-field appearance=\"outline\" class=\"w-100 hide-hint custom-field\">\n <input matInput [formControl]=\"filterField\" (keyup)=\"filter()\"\n placeholder=\"{{ commonKeys.actions.filter }}\" />\n </mat-form-field>\n </div>\n <div *ngIf=\"config.stateFilter\" class=\"col-12 col-md-5 col-lg-4 col-xl-3\">\n {{ commonKeys.actions.includeInactive }}\n <mat-slide-toggle [formControl]=\"stateToggle\" (click)=\"toggleState()\" class=\"m-l-4 m-t-10\"></mat-slide-toggle>\n </div>\n <div class=\"col\"></div>\n</div>\n\n<ng-container *ngIf=\"count === 0; else grid\">\n {{ commonKeys.pagination.noItems }}\n</ng-container>\n\n<ng-template #grid>\n <div class=\"table-responsive m-t-20\">\n <table mat-table [dataSource]=\"dataSource || (data | async)!\" matSort matSortActive=\"{{ config.sort ?? 'id' }}\"\n matSortDisableClear [matSortDirection]=\"config.sortDirection ?? 'asc'\" class=\"w-100\">\n <ng-container *ngFor=\"let column of columns\" matColumnDef=\"{{ column.id }}\">\n\n <ng-container *ngIf=\"!column.templateKey; else templateCell\">\n <ng-container *ngIf=\"column.route === undefined; else routeHeader\">\n <ng-container *ngIf=\"column.sortable === true; else unsortable\">\n <th mat-header-cell mat-sort-header *matHeaderCellDef class=\"f-s-16 f-w-700\">\n {{ column.title }}{{ column.label }}\n </th>\n </ng-container>\n <ng-template #unsortable>\n <th mat-header-cell *matHeaderCellDef class=\"f-s-16 f-w-700\">\n {{ column.title }}{{ column.label }}\n </th>\n </ng-template>\n\n <td mat-cell *matCellDef=\"let element\" class=\"f-s-14\">\n <ng-container *ngIf=\"isDate(element[column.id]); else second\">\n {{ element[column.id] | date : \"dd.MM.yyyy hh:mm\" }}\n </ng-container>\n <ng-template #second>\n <ng-container *ngIf=\"typeOf(element[column.id]) === 'boolean'; else third\">\n <ng-container *ngIf=\"element[column.id] === true; else disabled\">\n <mat-icon>\n <i-tabler name=\"check\" class=\"icon-18\"></i-tabler>\n </mat-icon>\n </ng-container>\n <ng-template #disabled>\n <i-tabler name=\"x\" class=\"icon-18\"></i-tabler>\n </ng-template>\n </ng-container>\n </ng-template>\n <ng-template #third>\n <ng-container *ngIf=\"column.id.includes('.'); else fourth\">\n {{ getObjectValues(column.id, element) }}\n </ng-container>\n </ng-template>\n <ng-template #fourth>\n {{ element[column.id] }}\n </ng-template>\n </td>\n </ng-container>\n\n <ng-template #routeHeader>\n <th width=\"1\" mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\" class=\"f-s-14 text-right\">\n <button *ngIf=\"column.id != 'delete' && column.id != 'open'\" mat-stroked-button\n (click)=\"buttonClick(column, element)\">\n <mat-icon *ngIf=\"column.icon\" class=\"m-0\">\n <i-tabler name=\"{{ column.icon }}\" class=\"icon-18\"></i-tabler>\n </mat-icon>\n <span *ngIf=\"column.icon && (column.title || column.label)\">&nbsp;</span>\n <span>{{ column.title }}{{ column.label }}</span>\n </button>\n <button *ngIf=\"column.id == 'open'\" mat-stroked-button (click)=\"clickOpen(element)\">\n <mat-icon *ngIf=\"column.icon\" class=\"m-0\">\n <i-tabler name=\"{{ column.icon }}\" class=\"icon-18\"></i-tabler>\n </mat-icon>\n </button>\n </td>\n </ng-template>\n </ng-container>\n\n <ng-template #templateCell>\n <th mat-header-cell *matHeaderCellDef class=\"f-s-16 f-w-700\">\n {{ column.title }}{{ column.label }}\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"f-s-14\">\n <ng-container *ngTemplateOutlet=\"\n getTemplateRef(column.templateKey);\n context: { $implicit: row }\n \">\n </ng-container>\n </td>\n </ng-template>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"dataColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dataColumns\"></tr>\n </table>\n\n <mat-paginator [length]=\"async ? (count | async) : count\" [pageSizeOptions]=\"[10, 25, 100]\">\n </mat-paginator>\n </div>\n</ng-template>", styles: [".mdc-button{min-width:0px}::ng-deep .custom-field .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:9px;padding-bottom:9px;min-height:40px}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 4px}.table-responsive td,.table-responsive mat-cell{white-space:nowrap;padding:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i7$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i11.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i11.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i12.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i12.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i12.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i12.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i12.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i12.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i12.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i12.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i12.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i12.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.DatePipe, name: "date" }] }); }
11119
11119
  }
11120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GridComponent, decorators: [{
11120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridComponent, decorators: [{
11121
11121
  type: Component,
11122
11122
  args: [{ selector: 'shared-grid', template: "<div *ngIf=\"count !== 0 && (config.filter ?? true)\" class=\"row justify-content-between m-b-8\">\n <div class=\"col-12 col-md-5 col-lg-4 col-xl-3 p-l-0\">\n <mat-form-field appearance=\"outline\" class=\"w-100 hide-hint custom-field\">\n <input matInput [formControl]=\"filterField\" (keyup)=\"filter()\"\n placeholder=\"{{ commonKeys.actions.filter }}\" />\n </mat-form-field>\n </div>\n <div *ngIf=\"config.stateFilter\" class=\"col-12 col-md-5 col-lg-4 col-xl-3\">\n {{ commonKeys.actions.includeInactive }}\n <mat-slide-toggle [formControl]=\"stateToggle\" (click)=\"toggleState()\" class=\"m-l-4 m-t-10\"></mat-slide-toggle>\n </div>\n <div class=\"col\"></div>\n</div>\n\n<ng-container *ngIf=\"count === 0; else grid\">\n {{ commonKeys.pagination.noItems }}\n</ng-container>\n\n<ng-template #grid>\n <div class=\"table-responsive m-t-20\">\n <table mat-table [dataSource]=\"dataSource || (data | async)!\" matSort matSortActive=\"{{ config.sort ?? 'id' }}\"\n matSortDisableClear [matSortDirection]=\"config.sortDirection ?? 'asc'\" class=\"w-100\">\n <ng-container *ngFor=\"let column of columns\" matColumnDef=\"{{ column.id }}\">\n\n <ng-container *ngIf=\"!column.templateKey; else templateCell\">\n <ng-container *ngIf=\"column.route === undefined; else routeHeader\">\n <ng-container *ngIf=\"column.sortable === true; else unsortable\">\n <th mat-header-cell mat-sort-header *matHeaderCellDef class=\"f-s-16 f-w-700\">\n {{ column.title }}{{ column.label }}\n </th>\n </ng-container>\n <ng-template #unsortable>\n <th mat-header-cell *matHeaderCellDef class=\"f-s-16 f-w-700\">\n {{ column.title }}{{ column.label }}\n </th>\n </ng-template>\n\n <td mat-cell *matCellDef=\"let element\" class=\"f-s-14\">\n <ng-container *ngIf=\"isDate(element[column.id]); else second\">\n {{ element[column.id] | date : \"dd.MM.yyyy hh:mm\" }}\n </ng-container>\n <ng-template #second>\n <ng-container *ngIf=\"typeOf(element[column.id]) === 'boolean'; else third\">\n <ng-container *ngIf=\"element[column.id] === true; else disabled\">\n <mat-icon>\n <i-tabler name=\"check\" class=\"icon-18\"></i-tabler>\n </mat-icon>\n </ng-container>\n <ng-template #disabled>\n <i-tabler name=\"x\" class=\"icon-18\"></i-tabler>\n </ng-template>\n </ng-container>\n </ng-template>\n <ng-template #third>\n <ng-container *ngIf=\"column.id.includes('.'); else fourth\">\n {{ getObjectValues(column.id, element) }}\n </ng-container>\n </ng-template>\n <ng-template #fourth>\n {{ element[column.id] }}\n </ng-template>\n </td>\n </ng-container>\n\n <ng-template #routeHeader>\n <th width=\"1\" mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let element\" class=\"f-s-14 text-right\">\n <button *ngIf=\"column.id != 'delete' && column.id != 'open'\" mat-stroked-button\n (click)=\"buttonClick(column, element)\">\n <mat-icon *ngIf=\"column.icon\" class=\"m-0\">\n <i-tabler name=\"{{ column.icon }}\" class=\"icon-18\"></i-tabler>\n </mat-icon>\n <span *ngIf=\"column.icon && (column.title || column.label)\">&nbsp;</span>\n <span>{{ column.title }}{{ column.label }}</span>\n </button>\n <button *ngIf=\"column.id == 'open'\" mat-stroked-button (click)=\"clickOpen(element)\">\n <mat-icon *ngIf=\"column.icon\" class=\"m-0\">\n <i-tabler name=\"{{ column.icon }}\" class=\"icon-18\"></i-tabler>\n </mat-icon>\n </button>\n </td>\n </ng-template>\n </ng-container>\n\n <ng-template #templateCell>\n <th mat-header-cell *matHeaderCellDef class=\"f-s-16 f-w-700\">\n {{ column.title }}{{ column.label }}\n </th>\n <td mat-cell *matCellDef=\"let row\" class=\"f-s-14\">\n <ng-container *ngTemplateOutlet=\"\n getTemplateRef(column.templateKey);\n context: { $implicit: row }\n \">\n </ng-container>\n </td>\n </ng-template>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"dataColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dataColumns\"></tr>\n </table>\n\n <mat-paginator [length]=\"async ? (count | async) : count\" [pageSizeOptions]=\"[10, 25, 100]\">\n </mat-paginator>\n </div>\n</ng-template>", styles: [".mdc-button{min-width:0px}::ng-deep .custom-field .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:9px;padding-bottom:9px;min-height:40px}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 4px}.table-responsive td,.table-responsive mat-cell{white-space:nowrap;padding:4px}\n"] }]
11123
11123
  }], ctorParameters: () => [{ type: i1$3.MatDialog }, { type: i2$1.Router }, { type: i0.ChangeDetectorRef }], propDecorators: { data: [{
@@ -11287,20 +11287,20 @@ class FormlyViewOffersComponent extends BaseFormlyStepComponent {
11287
11287
  this.props['event'](selectedOffer.offerId);
11288
11288
  }
11289
11289
  }
11290
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyViewOffersComponent, deps: [{ token: ApplicationDataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11291
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyViewOffersComponent, selector: "app-formly-view-offers", usesInheritance: true, ngImport: i0, template: "<mat-spinner *ngIf=\"isLoading\" class=\"m-x-auto upload-spinner\"></mat-spinner>\n<ng-container class=\"d-flex flex-row\" *ngIf=\"!isLoading\">\n <mat-card class=\"cardWithShadow blue_theme theme-card align-items-stretch\">\n <mat-card-content class=\"p-24\">\n <shared-grid [data]=\"datasource\"\n [count]=\"datasource.length\"\n [columns]=\"columns\"\n [config]=\"config\"\n (open)=\"offerSelected($event)\"></shared-grid>\n </mat-card-content>\n </mat-card>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: GridComponent, selector: "shared-grid", inputs: ["data", "count", "columns", "config"], outputs: ["reload", "delete", "duplicate", "open"] }] }); }
11290
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyViewOffersComponent, deps: [{ token: ApplicationDataService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11291
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyViewOffersComponent, selector: "app-formly-view-offers", usesInheritance: true, ngImport: i0, template: "<mat-spinner *ngIf=\"isLoading\" class=\"m-x-auto upload-spinner\"></mat-spinner>\n<ng-container class=\"d-flex flex-row\" *ngIf=\"!isLoading\">\n <mat-card class=\"cardWithShadow blue_theme theme-card align-items-stretch\">\n <mat-card-content class=\"p-24\">\n <shared-grid [data]=\"datasource\"\n [count]=\"datasource.length\"\n [columns]=\"columns\"\n [config]=\"config\"\n (open)=\"offerSelected($event)\"></shared-grid>\n </mat-card-content>\n </mat-card>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: GridComponent, selector: "shared-grid", inputs: ["data", "count", "columns", "config"], outputs: ["reload", "delete", "duplicate", "open"] }] }); }
11292
11292
  }
11293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyViewOffersComponent, decorators: [{
11293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyViewOffersComponent, decorators: [{
11294
11294
  type: Component,
11295
11295
  args: [{ selector: 'app-formly-view-offers', template: "<mat-spinner *ngIf=\"isLoading\" class=\"m-x-auto upload-spinner\"></mat-spinner>\n<ng-container class=\"d-flex flex-row\" *ngIf=\"!isLoading\">\n <mat-card class=\"cardWithShadow blue_theme theme-card align-items-stretch\">\n <mat-card-content class=\"p-24\">\n <shared-grid [data]=\"datasource\"\n [count]=\"datasource.length\"\n [columns]=\"columns\"\n [config]=\"config\"\n (open)=\"offerSelected($event)\"></shared-grid>\n </mat-card-content>\n </mat-card>\n</ng-container>\n" }]
11296
11296
  }], ctorParameters: () => [{ type: ApplicationDataService }, { type: i0.ChangeDetectorRef }] });
11297
11297
 
11298
11298
  class OriginFormService {
11299
11299
  constructor() { }
11300
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11301
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormService, providedIn: 'root' }); }
11300
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11301
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormService, providedIn: 'root' }); }
11302
11302
  }
11303
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormService, decorators: [{
11303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormService, decorators: [{
11304
11304
  type: Injectable,
11305
11305
  args: [{
11306
11306
  providedIn: 'root'
@@ -11383,10 +11383,10 @@ class PickerComponent {
11383
11383
  this.form.get('picker')?.setValue('');
11384
11384
  this.removed.emit(value);
11385
11385
  }
11386
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PickerComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
11387
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PickerComponent, selector: "shared-picker", inputs: { data: "data", selections: "selections", placeholder: "placeholder", readonly: "readonly", inputVisible: "inputVisible", displayProperty: "displayProperty", iconProperty: "iconProperty" }, outputs: { picked: "picked", removed: "removed" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\" class=\"w-100 hide-hint\" [class.disabled]=\"readonly\" [hidden]=\"true\"\n *ngIf=\"inputVisible\">\n <input type=\"text\" matInput [placeholder]=\"placeholder ?? ''\" [readonly]=\"readonly\" [disabled]=\"readonly\"\n formControlName=\"picker\" [matAutocomplete]=\"autocomplete\" />\n <mat-icon matPrefix>\n <i-tabler name=\"arrow-down-right\" class=\"icon-20 d-flex\"></i-tabler>\n </mat-icon>\n\n <mat-autocomplete #autocomplete=\"matAutocomplete\" (optionSelected)=\"selected($event.option.value)\">\n <mat-optgroup *ngFor=\"let group of options | async\" [label]=\"group.key\">\n <mat-option *ngFor=\"let value of group.values\" [value]=\"value\">\n <div class=\"button-cell\">\n <mat-icon *ngIf=\"value[iconProperty]\">{{ value[iconProperty] }}</mat-icon>\n {{ value[displayProperty] }}\n </div>\n </mat-option>\n </mat-optgroup>\n </mat-autocomplete>\n </mat-form-field>\n\n <mat-chip-set>\n <mat-chip *ngFor=\"let value of selections\" (removed)=\"remove(value)\" [disabled]=\"readonly\" class=\"f-s-14\">\n <div class=\"button-cell\">\n <mat-icon *ngIf=\"value[iconProperty]\">{{ value[iconProperty] }}</mat-icon>\n {{ value[displayProperty] }}\n </div>\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n </mat-chip-set>\n</form>", styles: [".button-cell{display:flex;align-items:center}::ng-deep mat-form-field.disabled{opacity:.6;pointer-events:none}::ng-deep mat-form-field.disabled .mat-form-field-outline{border-color:#bdbdbd!important}::ng-deep mat-form-field.disabled .mat-input-element{color:#9e9e9e!important;cursor:not-allowed!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6$1.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7$2.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i7$2.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7$2.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
11386
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PickerComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
11387
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PickerComponent, selector: "shared-picker", inputs: { data: "data", selections: "selections", placeholder: "placeholder", readonly: "readonly", inputVisible: "inputVisible", displayProperty: "displayProperty", iconProperty: "iconProperty" }, outputs: { picked: "picked", removed: "removed" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\" class=\"w-100 hide-hint\" [class.disabled]=\"readonly\" [hidden]=\"true\"\n *ngIf=\"inputVisible\">\n <input type=\"text\" matInput [placeholder]=\"placeholder ?? ''\" [readonly]=\"readonly\" [disabled]=\"readonly\"\n formControlName=\"picker\" [matAutocomplete]=\"autocomplete\" />\n <mat-icon matPrefix>\n <i-tabler name=\"arrow-down-right\" class=\"icon-20 d-flex\"></i-tabler>\n </mat-icon>\n\n <mat-autocomplete #autocomplete=\"matAutocomplete\" (optionSelected)=\"selected($event.option.value)\">\n <mat-optgroup *ngFor=\"let group of options | async\" [label]=\"group.key\">\n <mat-option *ngFor=\"let value of group.values\" [value]=\"value\">\n <div class=\"button-cell\">\n <mat-icon *ngIf=\"value[iconProperty]\">{{ value[iconProperty] }}</mat-icon>\n {{ value[displayProperty] }}\n </div>\n </mat-option>\n </mat-optgroup>\n </mat-autocomplete>\n </mat-form-field>\n\n <mat-chip-set>\n <mat-chip *ngFor=\"let value of selections\" (removed)=\"remove(value)\" [disabled]=\"readonly\" class=\"f-s-14\">\n <div class=\"button-cell\">\n <mat-icon *ngIf=\"value[iconProperty]\">{{ value[iconProperty] }}</mat-icon>\n {{ value[displayProperty] }}\n </div>\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n </mat-chip-set>\n</form>", styles: [".button-cell{display:flex;align-items:center}::ng-deep mat-form-field.disabled{opacity:.6;pointer-events:none}::ng-deep mat-form-field.disabled .mat-form-field-outline{border-color:#bdbdbd!important}::ng-deep mat-form-field.disabled .mat-input-element{color:#9e9e9e!important;cursor:not-allowed!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6$1.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7$2.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i7$2.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7$2.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
11388
11388
  }
11389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PickerComponent, decorators: [{
11389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PickerComponent, decorators: [{
11390
11390
  type: Component,
11391
11391
  args: [{ selector: 'shared-picker', template: "<form [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\" class=\"w-100 hide-hint\" [class.disabled]=\"readonly\" [hidden]=\"true\"\n *ngIf=\"inputVisible\">\n <input type=\"text\" matInput [placeholder]=\"placeholder ?? ''\" [readonly]=\"readonly\" [disabled]=\"readonly\"\n formControlName=\"picker\" [matAutocomplete]=\"autocomplete\" />\n <mat-icon matPrefix>\n <i-tabler name=\"arrow-down-right\" class=\"icon-20 d-flex\"></i-tabler>\n </mat-icon>\n\n <mat-autocomplete #autocomplete=\"matAutocomplete\" (optionSelected)=\"selected($event.option.value)\">\n <mat-optgroup *ngFor=\"let group of options | async\" [label]=\"group.key\">\n <mat-option *ngFor=\"let value of group.values\" [value]=\"value\">\n <div class=\"button-cell\">\n <mat-icon *ngIf=\"value[iconProperty]\">{{ value[iconProperty] }}</mat-icon>\n {{ value[displayProperty] }}\n </div>\n </mat-option>\n </mat-optgroup>\n </mat-autocomplete>\n </mat-form-field>\n\n <mat-chip-set>\n <mat-chip *ngFor=\"let value of selections\" (removed)=\"remove(value)\" [disabled]=\"readonly\" class=\"f-s-14\">\n <div class=\"button-cell\">\n <mat-icon *ngIf=\"value[iconProperty]\">{{ value[iconProperty] }}</mat-icon>\n {{ value[displayProperty] }}\n </div>\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n </mat-chip-set>\n</form>", styles: [".button-cell{display:flex;align-items:center}::ng-deep mat-form-field.disabled{opacity:.6;pointer-events:none}::ng-deep mat-form-field.disabled .mat-form-field-outline{border-color:#bdbdbd!important}::ng-deep mat-form-field.disabled .mat-input-element{color:#9e9e9e!important;cursor:not-allowed!important}\n"] }]
11392
11392
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { data: [{
@@ -11438,10 +11438,10 @@ class OriginFormTokenInterceptor {
11438
11438
  return next.handle(newReq);
11439
11439
  }), catchError$1(err => throwError(err)));
11440
11440
  }
11441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormTokenInterceptor, deps: [{ token: OriginFormAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
11442
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormTokenInterceptor }); }
11441
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormTokenInterceptor, deps: [{ token: OriginFormAuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
11442
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormTokenInterceptor }); }
11443
11443
  }
11444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormTokenInterceptor, decorators: [{
11444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormTokenInterceptor, decorators: [{
11445
11445
  type: Injectable
11446
11446
  }], ctorParameters: () => [{ type: OriginFormAuthService }] });
11447
11447
 
@@ -11542,10 +11542,10 @@ class FormlyEnrolCardComponent extends BaseFormlyStepComponent {
11542
11542
  }
11543
11543
  return true;
11544
11544
  }
11545
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyEnrolCardComponent, deps: [{ token: ApplicationDataService }, { token: i2$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
11546
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyEnrolCardComponent, selector: "app-enrol-card", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"this.isAlreadyEnroled\">\n {{ props[\"labels\"].cardenrolSuccessLabel }}\n</p>\n<p *ngIf=\"this.paymentError\">{{ props[\"labels\"].cardenrolFailureLabel }}</p>\n<mat-spinner *ngIf=\"isLoading\" class=\"m-x-auto upload-spinner\"></mat-spinner>\n\n<div>\n <div *ngFor=\"let section of stepData?.sections\">\n <div *ngFor=\"let control of section.presentationControls\">\n <p class=\"font-paragraph\">\n {{ getTranslatedLabel(control.translations) }}\n </p>\n <p class=\"font-paragraph\">\n {{\n getTranslatedLabel(\n control.specificControlData?.descriptionTranslations\n )\n }}\n </p>\n </div>\n </div>\n</div>\n\n<button\n mat-flat-button\n type=\"button\"\n (click)=\"goToUrl()\"\n [disabled]=\"isLoading || isAlreadyEnroled\"\n class=\"btn btn-primary m-t-20 m-b-20 w-100\"\n>\n {{ props[\"labels\"].cardenrolButtonLabel }}\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
11545
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyEnrolCardComponent, deps: [{ token: ApplicationDataService }, { token: i2$1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
11546
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyEnrolCardComponent, selector: "app-enrol-card", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"this.isAlreadyEnroled\">\n {{ props[\"labels\"].cardenrolSuccessLabel }}\n</p>\n<p *ngIf=\"this.paymentError\">{{ props[\"labels\"].cardenrolFailureLabel }}</p>\n<mat-spinner *ngIf=\"isLoading\" class=\"m-x-auto upload-spinner\"></mat-spinner>\n\n<div>\n <div *ngFor=\"let section of stepData?.sections\">\n <div *ngFor=\"let control of section.presentationControls\">\n <p class=\"font-paragraph\">\n {{ getTranslatedLabel(control.translations) }}\n </p>\n <p class=\"font-paragraph\">\n {{\n getTranslatedLabel(\n control.specificControlData?.descriptionTranslations\n )\n }}\n </p>\n </div>\n </div>\n</div>\n\n<button\n mat-flat-button\n type=\"button\"\n (click)=\"goToUrl()\"\n [disabled]=\"isLoading || isAlreadyEnroled\"\n class=\"btn btn-primary m-t-20 m-b-20 w-100\"\n>\n {{ props[\"labels\"].cardenrolButtonLabel }}\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
11547
11547
  }
11548
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyEnrolCardComponent, decorators: [{
11548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyEnrolCardComponent, decorators: [{
11549
11549
  type: Component,
11550
11550
  args: [{ selector: 'app-enrol-card', template: "<p *ngIf=\"this.isAlreadyEnroled\">\n {{ props[\"labels\"].cardenrolSuccessLabel }}\n</p>\n<p *ngIf=\"this.paymentError\">{{ props[\"labels\"].cardenrolFailureLabel }}</p>\n<mat-spinner *ngIf=\"isLoading\" class=\"m-x-auto upload-spinner\"></mat-spinner>\n\n<div>\n <div *ngFor=\"let section of stepData?.sections\">\n <div *ngFor=\"let control of section.presentationControls\">\n <p class=\"font-paragraph\">\n {{ getTranslatedLabel(control.translations) }}\n </p>\n <p class=\"font-paragraph\">\n {{\n getTranslatedLabel(\n control.specificControlData?.descriptionTranslations\n )\n }}\n </p>\n </div>\n </div>\n</div>\n\n<button\n mat-flat-button\n type=\"button\"\n (click)=\"goToUrl()\"\n [disabled]=\"isLoading || isAlreadyEnroled\"\n class=\"btn btn-primary m-t-20 m-b-20 w-100\"\n>\n {{ props[\"labels\"].cardenrolButtonLabel }}\n</button>\n" }]
11551
11551
  }], ctorParameters: () => [{ type: ApplicationDataService }, { type: i2$1.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
@@ -11780,10 +11780,10 @@ class FormlyViewDocumentsComponent extends BaseFormlyControlComponent {
11780
11780
  return null;
11781
11781
  }
11782
11782
  }
11783
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyViewDocumentsComponent, deps: [{ token: ApplicationDataService }, { token: DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11784
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyViewDocumentsComponent, selector: "app-formly-view-documents", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"isLoading === false && (!documents || documents.length === 0)\">\n {{ getErrorTranslationMessage(\"noDocumentsToShow\") }}\n</p>\n\n<div class=\"buttons-container\">\n <button (click)=\"prevDocument()\"\n [disabled]=\"!canGoBack\"\n class=\"nav-button larger-width-nav-buttons\">\n &#8592;\n </button>\n\n <p class=\"file-info font-paragraph\" *ngIf=\"currentDocument\">\n {{ this.currentDocument.name }}\n </p>\n\n <button (click)=\"nextDocument()\"\n [disabled]=\"!canGoNext\"\n class=\"nav-button larger-width-nav-buttons\">\n &#8594;\n </button>\n</div>\n\n<mat-spinner *ngIf=\"isLoading === true\" class=\"m-x-auto\"></mat-spinner>\n<pdf-viewer *ngIf=\"isLoading === false\"\n [src]=\"currentPdf\"\n [render-text]=\"true\"\n [original-size]=\"false\"\n [external-link-target]=\"'blank'\"\n class=\"pdf-viewer\"></pdf-viewer>\n", styles: [".buttons-container button{margin-right:5px;margin-bottom:10px;margin-top:10px}ng2-pdf-viewer{display:block;margin:0 auto;width:80%;height:600px}.pdf-viewer-container{display:flex;flex-direction:column;align-items:center;margin:20px}.pdf-viewer{width:80vw;height:86.254vw;max-width:1000px;max-height:1414px;min-width:300px;min-height:424px;overflow:auto;margin:auto}.nav-button{width:60px;height:35px;background-color:#7f81ff;display:flex;justify-content:center;align-items:center;color:#fff;text-align:center;border:none;padding:5px 10px;border-radius:10px;cursor:pointer;font-size:1.4rem;font-weight:700;transition:background-color .3s ease-in}.smaller-width-nav-buttons-section{display:none}.nav-button:hover{background-color:#9091ff}.nav-button:disabled{background-color:#ccc;cursor:not-allowed}.file-info{margin:0 10px;font-weight:700;font-size:1.8rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$4.PdfViewerComponent, selector: "pdf-viewer", inputs: ["src", "c-maps-url", "page", "render-text", "render-text-mode", "original-size", "show-all", "stick-to-page", "zoom", "zoom-scale", "rotation", "external-link-target", "autoresize", "fit-to-page", "show-borders"], outputs: ["after-load-complete", "page-rendered", "pages-initialized", "text-layer-rendered", "error", "on-progress", "pageChange"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
11783
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyViewDocumentsComponent, deps: [{ token: ApplicationDataService }, { token: DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11784
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyViewDocumentsComponent, selector: "app-formly-view-documents", usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"isLoading === false && (!documents || documents.length === 0)\">\n {{ getErrorTranslationMessage(\"noDocumentsToShow\") }}\n</p>\n\n<div class=\"buttons-container\">\n <button (click)=\"prevDocument()\"\n [disabled]=\"!canGoBack\"\n class=\"nav-button larger-width-nav-buttons\">\n &#8592;\n </button>\n\n <p class=\"file-info font-paragraph\" *ngIf=\"currentDocument\">\n {{ this.currentDocument.name }}\n </p>\n\n <button (click)=\"nextDocument()\"\n [disabled]=\"!canGoNext\"\n class=\"nav-button larger-width-nav-buttons\">\n &#8594;\n </button>\n</div>\n\n<mat-spinner *ngIf=\"isLoading === true\" class=\"m-x-auto\"></mat-spinner>\n<pdf-viewer *ngIf=\"isLoading === false\"\n [src]=\"currentPdf\"\n [render-text]=\"true\"\n [original-size]=\"false\"\n [external-link-target]=\"'blank'\"\n class=\"pdf-viewer\"></pdf-viewer>\n", styles: [".buttons-container button{margin-right:5px;margin-bottom:10px;margin-top:10px}ng2-pdf-viewer{display:block;margin:0 auto;width:80%;height:600px}.pdf-viewer-container{display:flex;flex-direction:column;align-items:center;margin:20px}.pdf-viewer{width:80vw;height:86.254vw;max-width:1000px;max-height:1414px;min-width:300px;min-height:424px;overflow:auto;margin:auto}.nav-button{width:60px;height:35px;background-color:#7f81ff;display:flex;justify-content:center;align-items:center;color:#fff;text-align:center;border:none;padding:5px 10px;border-radius:10px;cursor:pointer;font-size:1.4rem;font-weight:700;transition:background-color .3s ease-in}.smaller-width-nav-buttons-section{display:none}.nav-button:hover{background-color:#9091ff}.nav-button:disabled{background-color:#ccc;cursor:not-allowed}.file-info{margin:0 10px;font-weight:700;font-size:1.8rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$4.PdfViewerComponent, selector: "pdf-viewer", inputs: ["src", "c-maps-url", "page", "render-text", "render-text-mode", "original-size", "show-all", "stick-to-page", "zoom", "zoom-scale", "rotation", "external-link-target", "autoresize", "fit-to-page", "show-borders"], outputs: ["after-load-complete", "page-rendered", "pages-initialized", "text-layer-rendered", "error", "on-progress", "pageChange"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
11785
11785
  }
11786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyViewDocumentsComponent, decorators: [{
11786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyViewDocumentsComponent, decorators: [{
11787
11787
  type: Component,
11788
11788
  args: [{ selector: 'app-formly-view-documents', template: "<p *ngIf=\"isLoading === false && (!documents || documents.length === 0)\">\n {{ getErrorTranslationMessage(\"noDocumentsToShow\") }}\n</p>\n\n<div class=\"buttons-container\">\n <button (click)=\"prevDocument()\"\n [disabled]=\"!canGoBack\"\n class=\"nav-button larger-width-nav-buttons\">\n &#8592;\n </button>\n\n <p class=\"file-info font-paragraph\" *ngIf=\"currentDocument\">\n {{ this.currentDocument.name }}\n </p>\n\n <button (click)=\"nextDocument()\"\n [disabled]=\"!canGoNext\"\n class=\"nav-button larger-width-nav-buttons\">\n &#8594;\n </button>\n</div>\n\n<mat-spinner *ngIf=\"isLoading === true\" class=\"m-x-auto\"></mat-spinner>\n<pdf-viewer *ngIf=\"isLoading === false\"\n [src]=\"currentPdf\"\n [render-text]=\"true\"\n [original-size]=\"false\"\n [external-link-target]=\"'blank'\"\n class=\"pdf-viewer\"></pdf-viewer>\n", styles: [".buttons-container button{margin-right:5px;margin-bottom:10px;margin-top:10px}ng2-pdf-viewer{display:block;margin:0 auto;width:80%;height:600px}.pdf-viewer-container{display:flex;flex-direction:column;align-items:center;margin:20px}.pdf-viewer{width:80vw;height:86.254vw;max-width:1000px;max-height:1414px;min-width:300px;min-height:424px;overflow:auto;margin:auto}.nav-button{width:60px;height:35px;background-color:#7f81ff;display:flex;justify-content:center;align-items:center;color:#fff;text-align:center;border:none;padding:5px 10px;border-radius:10px;cursor:pointer;font-size:1.4rem;font-weight:700;transition:background-color .3s ease-in}.smaller-width-nav-buttons-section{display:none}.nav-button:hover{background-color:#9091ff}.nav-button:disabled{background-color:#ccc;cursor:not-allowed}.file-info{margin:0 10px;font-weight:700;font-size:1.8rem}\n"] }]
11789
11789
  }], ctorParameters: () => [{ type: ApplicationDataService }, { type: DialogService }, { type: i0.ChangeDetectorRef }] });
@@ -11965,10 +11965,10 @@ class OpenBankingService {
11965
11965
  return of();
11966
11966
  }));
11967
11967
  }
11968
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpenBankingService, deps: [{ token: i1$1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
11969
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpenBankingService, providedIn: 'root' }); }
11968
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OpenBankingService, deps: [{ token: i1$1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
11969
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OpenBankingService, providedIn: 'root' }); }
11970
11970
  }
11971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpenBankingService, decorators: [{
11971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OpenBankingService, decorators: [{
11972
11972
  type: Injectable,
11973
11973
  args: [{
11974
11974
  providedIn: 'root',
@@ -12544,10 +12544,10 @@ class FormlyOpenBankingComponent extends BaseFormlyStepComponent {
12544
12544
  this.pollSubscription?.unsubscribe();
12545
12545
  this.isLoadingSubject.complete();
12546
12546
  }
12547
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyOpenBankingComponent, deps: [{ token: OpenBankingService }, { token: DialogService }, { token: i3$3.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
12548
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyOpenBankingComponent, selector: "app-formly-open-banking", usesInheritance: true, ngImport: i0, template: "<div class=\"open-banking-container\">\n <!-- Initial State -->\n <div *ngIf=\"isInitialState\" class=\"state-initial\">\n <div class=\"message-container\">\n <p class=\"message\">{{ initialMessage }}</p>\n <button mat-raised-button color=\"primary\" (click)=\"proceedToNextStep()\" [disabled]=\"isLoadingSubject | async\">\n {{ nextButtonLabel }}\n </button>\n </div>\n </div>\n\n <!-- Bank Selection State -->\n <div *ngIf=\"isBankSelectionState\" class=\"state-bank-selection\">\n <h3 class=\"section-title\">{{ selectBankTitle }}</h3>\n\n <!-- Bank Grid -->\n <div class=\"banks-grid\" *ngIf=\"banks.length > 0\">\n <div\n *ngFor=\"let bank of banks\"\n class=\"bank-card\"\n [class.selected]=\"selectedBank === bank.bankCode\"\n (click)=\"selectBank(bank)\">\n <div class=\"bank-logo\" *ngIf=\"bank.logoUrl\">\n <img [src]=\"bank.logoUrl\" [alt]=\"bank.displayName\">\n </div>\n <div class=\"bank-info\">\n <h4>{{ bank.displayName }}</h4>\n <span class=\"bank-code\">{{ bank.bankCode }}</span>\n </div>\n <mat-icon class=\"check-icon\" *ngIf=\"selectedBank === bank.bankCode\">check_circle</mat-icon>\n </div>\n </div>\n\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"proceedToNextStep()\"\n [disabled]=\"!selectedBank || (isLoadingSubject | async)\"\n class=\"m-t-16\">\n {{ continueButtonLabel }}\n </button>\n </div>\n\n <!-- Consent State -->\n <div *ngIf=\"isConsentState\" class=\"state-consent\">\n <div class=\"consent-header\">\n <h3>{{ consentTitle }}</h3>\n <p>{{ consentDescription }}</p>\n </div>\n\n <!-- Show iframe only if we have an authorization URL -->\n <div class=\"consent-container\" *ngIf=\"authorizationUrl\">\n <iframe\n [src]=\"authorizationUrl\"\n class=\"consent-iframe\"\n frameborder=\"0\"\n allowfullscreen\n sandbox=\"allow-forms allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation\">\n </iframe>\n </div>\n\n <!-- Show waiting message when consent is in popup or iframe failed -->\n <div class=\"consent-waiting\" *ngIf=\"!authorizationUrl\">\n <mat-spinner diameter=\"40\"></mat-spinner>\n <p>{{ waitingForAuthorizationText }}</p>\n <p class=\"consent-popup-hint\">\n <mat-icon>open_in_new</mat-icon>\n <span>{{ popupWindowMessage }}</span>\n </p>\n <p class=\"consent-popup-note\">\n {{ popupBlockerMessage }}\n </p>\n </div>\n </div>\n\n <!-- Processing State -->\n <div *ngIf=\"isProcessingState\" class=\"state-processing\">\n <div class=\"loading-container\">\n <mat-spinner diameter=\"50\"></mat-spinner>\n <p class=\"loading-message\">{{ waitingMessage }}</p>\n <div class=\"progress-details\">\n <p *ngIf=\"accounts.length > 0\">\n {{ accountsRetrievedLabel }}: {{ accounts.length }}\n </p>\n <p *ngIf=\"transactions.length > 0\">\n {{ transactionsRetrievedLabel }}: {{ transactions.length }}\n </p>\n </div>\n </div>\n </div>\n\n <!-- Error State -->\n <div *ngIf=\"isErrorState\" class=\"state-error\">\n <div class=\"error-container\">\n <mat-icon color=\"warn\" class=\"error-icon\">error_outline</mat-icon>\n <p class=\"error-message\">{{ errorMessage }}</p>\n <button mat-raised-button color=\"primary\" (click)=\"retry()\">\n {{ retryButtonLabel }}\n </button>\n </div>\n </div>\n\n <!-- Complete State -->\n <div *ngIf=\"isCompleteState\" class=\"state-complete\">\n <div class=\"success-container\">\n <mat-icon color=\"primary\" class=\"success-icon\">check_circle</mat-icon>\n <p class=\"success-message\">{{ completionMessage }}</p>\n\n <!-- Display summary of accounts found -->\n <div class=\"accounts-summary\" *ngIf=\"accounts.length > 0\">\n <h4>{{ accountsSummaryText }}</h4>\n <div class=\"accounts-list\">\n <div class=\"account-card\" *ngFor=\"let account of accounts\">\n <div class=\"account-header\">\n <mat-icon class=\"account-icon\">account_balance</mat-icon>\n <div class=\"account-info\">\n <div class=\"account-name\">{{ account.name || 'Account' }}</div>\n <div class=\"account-iban\">{{ account.iban }}</div>\n </div>\n </div>\n <div class=\"account-details\">\n <div class=\"account-balance\">\n <span class=\"balance-amount\">{{ account.balance | currency:account.currency:'symbol':'1.2-2' }}</span>\n </div>\n <div class=\"account-holder\">{{ account.accountHolderName }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"transaction-summary\" *ngIf=\"transactions.length > 0\">\n <p>{{ transactionsSummaryText }}</p>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".open-banking-container{padding:20px;min-height:400px}.open-banking-container .section-title{margin-bottom:20px;font-size:1.25rem;font-weight:500;color:#000000de}.open-banking-container .message-container,.open-banking-container .loading-container,.open-banking-container .error-container,.open-banking-container .success-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:200px}.open-banking-container .message,.open-banking-container .loading-message,.open-banking-container .error-message,.open-banking-container .success-message{font-size:1rem;margin:20px 0;max-width:600px;line-height:1.5}.open-banking-container .error-message{color:#f44336}.open-banking-container .success-message{color:#4caf50}.open-banking-container .error-icon,.open-banking-container .success-icon{font-size:48px;width:48px;height:48px}.open-banking-container .state-bank-selection .banks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.open-banking-container .state-bank-selection .bank-card{border:2px solid #e0e0e0;border-radius:8px;padding:16px;cursor:pointer;transition:all .3s ease;position:relative;background:#fff;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.open-banking-container .state-bank-selection .bank-card:hover{border-color:#3f51b5;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.open-banking-container .state-bank-selection .bank-card.selected{border-color:#3f51b5;background:#f5f7ff}.open-banking-container .state-bank-selection .bank-card .bank-logo{width:80px;height:40px;margin-bottom:8px;display:flex;align-items:center;justify-content:center}.open-banking-container .state-bank-selection .bank-card .bank-logo img{max-width:100%;max-height:100%;object-fit:contain}.open-banking-container .state-bank-selection .bank-card .bank-info{text-align:center}.open-banking-container .state-bank-selection .bank-card .bank-info h4{margin:0;font-size:.9rem;font-weight:500;color:#333}.open-banking-container .state-bank-selection .bank-card .bank-info .bank-code{font-size:.75rem;color:#666;margin-top:4px;display:block}.open-banking-container .state-bank-selection .bank-card .check-icon{position:absolute;top:8px;right:8px;color:#3f51b5;font-size:20px}.open-banking-container .state-bank-selection .bank-dropdown{margin:20px 0}.open-banking-container .state-bank-selection .bank-selector{width:100%;max-width:400px}.open-banking-container .state-consent .consent-header{text-align:center;margin-bottom:20px}.open-banking-container .state-consent .consent-header h3{font-size:1.25rem;font-weight:500;margin-bottom:8px}.open-banking-container .state-consent .consent-header p{color:#666;font-size:.95rem}.open-banking-container .state-consent .consent-container{width:100%;height:600px;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;background:#fff}.open-banking-container .state-consent .consent-iframe{width:100%;height:100%}.open-banking-container .state-consent .consent-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.open-banking-container .state-consent .consent-waiting p{margin-top:16px;color:#666}.open-banking-container .state-consent .consent-waiting .consent-popup-hint{display:flex;align-items:center;gap:8px;margin-top:24px;font-size:1.1rem;color:#333}.open-banking-container .state-consent .consent-waiting .consent-popup-hint mat-icon{color:#3f51b5}.open-banking-container .state-consent .consent-waiting .consent-popup-note{margin-top:12px;font-size:.9rem;color:#999;font-style:italic}.open-banking-container .progress-details{margin-top:20px}.open-banking-container .progress-details p{font-size:.9rem;color:#666;margin:4px 0}.open-banking-container .accounts-summary{margin-top:30px;width:100%;max-width:800px}.open-banking-container .accounts-summary h4{font-size:1.15rem;font-weight:500;margin-bottom:20px;color:#000000de}.open-banking-container .accounts-summary .accounts-list{display:flex;flex-direction:column;gap:16px}.open-banking-container .accounts-summary .account-card{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background:#fff;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease}.open-banking-container .accounts-summary .account-card:hover{box-shadow:0 2px 6px #00000026}.open-banking-container .accounts-summary .account-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.open-banking-container .accounts-summary .account-icon{color:#3f51b5;margin-top:2px}.open-banking-container .accounts-summary .account-info{flex:1}.open-banking-container .accounts-summary .account-name{font-weight:500;font-size:1rem;color:#333;margin-bottom:4px}.open-banking-container .accounts-summary .account-iban{font-size:.85rem;color:#666;font-family:Courier New,monospace;letter-spacing:.5px}.open-banking-container .accounts-summary .account-details{display:flex;justify-content:space-between;align-items:center;padding-left:36px}.open-banking-container .accounts-summary .account-balance{display:flex;flex-direction:column}.open-banking-container .accounts-summary .balance-amount{font-size:1.25rem;font-weight:600;color:#4caf50}.open-banking-container .accounts-summary .account-holder{font-size:.9rem;color:#666;text-align:right}.open-banking-container .accounts-summary .transaction-summary{margin-top:16px;padding:12px;background:#e8f5e9;border-radius:4px}.open-banking-container .accounts-summary .transaction-summary p{margin:0;color:#2e7d32;font-size:.95rem}.open-banking-container ::ng-deep .mat-spinner{margin:0 auto}.open-banking-container ::ng-deep .mat-progress-spinner circle,.open-banking-container ::ng-deep .mat-spinner circle{stroke:#3f51b5}@media (max-width: 768px){.open-banking-container{padding:10px}.open-banking-container .state-bank-selection .banks-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.open-banking-container .state-bank-selection .bank-card{min-height:100px;padding:12px}.open-banking-container .state-bank-selection .bank-card .bank-logo{width:60px;height:30px}.open-banking-container .consent-container{height:500px}.open-banking-container .accounts-summary{max-width:100%}}@media (max-width: 480px){.open-banking-container .state-bank-selection .banks-grid{grid-template-columns:1fr}}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.CurrencyPipe, name: "currency" }] }); }
12547
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyOpenBankingComponent, deps: [{ token: OpenBankingService }, { token: DialogService }, { token: i3$3.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
12548
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyOpenBankingComponent, selector: "app-formly-open-banking", usesInheritance: true, ngImport: i0, template: "<div class=\"open-banking-container\">\n <!-- Initial State -->\n <div *ngIf=\"isInitialState\" class=\"state-initial\">\n <div class=\"message-container\">\n <p class=\"message\">{{ initialMessage }}</p>\n <button mat-raised-button color=\"primary\" (click)=\"proceedToNextStep()\" [disabled]=\"isLoadingSubject | async\">\n {{ nextButtonLabel }}\n </button>\n </div>\n </div>\n\n <!-- Bank Selection State -->\n <div *ngIf=\"isBankSelectionState\" class=\"state-bank-selection\">\n <h3 class=\"section-title\">{{ selectBankTitle }}</h3>\n\n <!-- Bank Grid -->\n <div class=\"banks-grid\" *ngIf=\"banks.length > 0\">\n <div\n *ngFor=\"let bank of banks\"\n class=\"bank-card\"\n [class.selected]=\"selectedBank === bank.bankCode\"\n (click)=\"selectBank(bank)\">\n <div class=\"bank-logo\" *ngIf=\"bank.logoUrl\">\n <img [src]=\"bank.logoUrl\" [alt]=\"bank.displayName\">\n </div>\n <div class=\"bank-info\">\n <h4>{{ bank.displayName }}</h4>\n <span class=\"bank-code\">{{ bank.bankCode }}</span>\n </div>\n <mat-icon class=\"check-icon\" *ngIf=\"selectedBank === bank.bankCode\">check_circle</mat-icon>\n </div>\n </div>\n\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"proceedToNextStep()\"\n [disabled]=\"!selectedBank || (isLoadingSubject | async)\"\n class=\"m-t-16\">\n {{ continueButtonLabel }}\n </button>\n </div>\n\n <!-- Consent State -->\n <div *ngIf=\"isConsentState\" class=\"state-consent\">\n <div class=\"consent-header\">\n <h3>{{ consentTitle }}</h3>\n <p>{{ consentDescription }}</p>\n </div>\n\n <!-- Show iframe only if we have an authorization URL -->\n <div class=\"consent-container\" *ngIf=\"authorizationUrl\">\n <iframe\n [src]=\"authorizationUrl\"\n class=\"consent-iframe\"\n frameborder=\"0\"\n allowfullscreen\n sandbox=\"allow-forms allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation\">\n </iframe>\n </div>\n\n <!-- Show waiting message when consent is in popup or iframe failed -->\n <div class=\"consent-waiting\" *ngIf=\"!authorizationUrl\">\n <mat-spinner diameter=\"40\"></mat-spinner>\n <p>{{ waitingForAuthorizationText }}</p>\n <p class=\"consent-popup-hint\">\n <mat-icon>open_in_new</mat-icon>\n <span>{{ popupWindowMessage }}</span>\n </p>\n <p class=\"consent-popup-note\">\n {{ popupBlockerMessage }}\n </p>\n </div>\n </div>\n\n <!-- Processing State -->\n <div *ngIf=\"isProcessingState\" class=\"state-processing\">\n <div class=\"loading-container\">\n <mat-spinner diameter=\"50\"></mat-spinner>\n <p class=\"loading-message\">{{ waitingMessage }}</p>\n <div class=\"progress-details\">\n <p *ngIf=\"accounts.length > 0\">\n {{ accountsRetrievedLabel }}: {{ accounts.length }}\n </p>\n <p *ngIf=\"transactions.length > 0\">\n {{ transactionsRetrievedLabel }}: {{ transactions.length }}\n </p>\n </div>\n </div>\n </div>\n\n <!-- Error State -->\n <div *ngIf=\"isErrorState\" class=\"state-error\">\n <div class=\"error-container\">\n <mat-icon color=\"warn\" class=\"error-icon\">error_outline</mat-icon>\n <p class=\"error-message\">{{ errorMessage }}</p>\n <button mat-raised-button color=\"primary\" (click)=\"retry()\">\n {{ retryButtonLabel }}\n </button>\n </div>\n </div>\n\n <!-- Complete State -->\n <div *ngIf=\"isCompleteState\" class=\"state-complete\">\n <div class=\"success-container\">\n <mat-icon color=\"primary\" class=\"success-icon\">check_circle</mat-icon>\n <p class=\"success-message\">{{ completionMessage }}</p>\n\n <!-- Display summary of accounts found -->\n <div class=\"accounts-summary\" *ngIf=\"accounts.length > 0\">\n <h4>{{ accountsSummaryText }}</h4>\n <div class=\"accounts-list\">\n <div class=\"account-card\" *ngFor=\"let account of accounts\">\n <div class=\"account-header\">\n <mat-icon class=\"account-icon\">account_balance</mat-icon>\n <div class=\"account-info\">\n <div class=\"account-name\">{{ account.name || 'Account' }}</div>\n <div class=\"account-iban\">{{ account.iban }}</div>\n </div>\n </div>\n <div class=\"account-details\">\n <div class=\"account-balance\">\n <span class=\"balance-amount\">{{ account.balance | currency:account.currency:'symbol':'1.2-2' }}</span>\n </div>\n <div class=\"account-holder\">{{ account.accountHolderName }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"transaction-summary\" *ngIf=\"transactions.length > 0\">\n <p>{{ transactionsSummaryText }}</p>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".open-banking-container{padding:20px;min-height:400px}.open-banking-container .section-title{margin-bottom:20px;font-size:1.25rem;font-weight:500;color:#000000de}.open-banking-container .message-container,.open-banking-container .loading-container,.open-banking-container .error-container,.open-banking-container .success-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:200px}.open-banking-container .message,.open-banking-container .loading-message,.open-banking-container .error-message,.open-banking-container .success-message{font-size:1rem;margin:20px 0;max-width:600px;line-height:1.5}.open-banking-container .error-message{color:#f44336}.open-banking-container .success-message{color:#4caf50}.open-banking-container .error-icon,.open-banking-container .success-icon{font-size:48px;width:48px;height:48px}.open-banking-container .state-bank-selection .banks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.open-banking-container .state-bank-selection .bank-card{border:2px solid #e0e0e0;border-radius:8px;padding:16px;cursor:pointer;transition:all .3s ease;position:relative;background:#fff;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.open-banking-container .state-bank-selection .bank-card:hover{border-color:#3f51b5;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.open-banking-container .state-bank-selection .bank-card.selected{border-color:#3f51b5;background:#f5f7ff}.open-banking-container .state-bank-selection .bank-card .bank-logo{width:80px;height:40px;margin-bottom:8px;display:flex;align-items:center;justify-content:center}.open-banking-container .state-bank-selection .bank-card .bank-logo img{max-width:100%;max-height:100%;object-fit:contain}.open-banking-container .state-bank-selection .bank-card .bank-info{text-align:center}.open-banking-container .state-bank-selection .bank-card .bank-info h4{margin:0;font-size:.9rem;font-weight:500;color:#333}.open-banking-container .state-bank-selection .bank-card .bank-info .bank-code{font-size:.75rem;color:#666;margin-top:4px;display:block}.open-banking-container .state-bank-selection .bank-card .check-icon{position:absolute;top:8px;right:8px;color:#3f51b5;font-size:20px}.open-banking-container .state-bank-selection .bank-dropdown{margin:20px 0}.open-banking-container .state-bank-selection .bank-selector{width:100%;max-width:400px}.open-banking-container .state-consent .consent-header{text-align:center;margin-bottom:20px}.open-banking-container .state-consent .consent-header h3{font-size:1.25rem;font-weight:500;margin-bottom:8px}.open-banking-container .state-consent .consent-header p{color:#666;font-size:.95rem}.open-banking-container .state-consent .consent-container{width:100%;height:600px;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;background:#fff}.open-banking-container .state-consent .consent-iframe{width:100%;height:100%}.open-banking-container .state-consent .consent-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.open-banking-container .state-consent .consent-waiting p{margin-top:16px;color:#666}.open-banking-container .state-consent .consent-waiting .consent-popup-hint{display:flex;align-items:center;gap:8px;margin-top:24px;font-size:1.1rem;color:#333}.open-banking-container .state-consent .consent-waiting .consent-popup-hint mat-icon{color:#3f51b5}.open-banking-container .state-consent .consent-waiting .consent-popup-note{margin-top:12px;font-size:.9rem;color:#999;font-style:italic}.open-banking-container .progress-details{margin-top:20px}.open-banking-container .progress-details p{font-size:.9rem;color:#666;margin:4px 0}.open-banking-container .accounts-summary{margin-top:30px;width:100%;max-width:800px}.open-banking-container .accounts-summary h4{font-size:1.15rem;font-weight:500;margin-bottom:20px;color:#000000de}.open-banking-container .accounts-summary .accounts-list{display:flex;flex-direction:column;gap:16px}.open-banking-container .accounts-summary .account-card{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background:#fff;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease}.open-banking-container .accounts-summary .account-card:hover{box-shadow:0 2px 6px #00000026}.open-banking-container .accounts-summary .account-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.open-banking-container .accounts-summary .account-icon{color:#3f51b5;margin-top:2px}.open-banking-container .accounts-summary .account-info{flex:1}.open-banking-container .accounts-summary .account-name{font-weight:500;font-size:1rem;color:#333;margin-bottom:4px}.open-banking-container .accounts-summary .account-iban{font-size:.85rem;color:#666;font-family:Courier New,monospace;letter-spacing:.5px}.open-banking-container .accounts-summary .account-details{display:flex;justify-content:space-between;align-items:center;padding-left:36px}.open-banking-container .accounts-summary .account-balance{display:flex;flex-direction:column}.open-banking-container .accounts-summary .balance-amount{font-size:1.25rem;font-weight:600;color:#4caf50}.open-banking-container .accounts-summary .account-holder{font-size:.9rem;color:#666;text-align:right}.open-banking-container .accounts-summary .transaction-summary{margin-top:16px;padding:12px;background:#e8f5e9;border-radius:4px}.open-banking-container .accounts-summary .transaction-summary p{margin:0;color:#2e7d32;font-size:.95rem}.open-banking-container ::ng-deep .mat-spinner{margin:0 auto}.open-banking-container ::ng-deep .mat-progress-spinner circle,.open-banking-container ::ng-deep .mat-spinner circle{stroke:#3f51b5}@media (max-width: 768px){.open-banking-container{padding:10px}.open-banking-container .state-bank-selection .banks-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.open-banking-container .state-bank-selection .bank-card{min-height:100px;padding:12px}.open-banking-container .state-bank-selection .bank-card .bank-logo{width:60px;height:30px}.open-banking-container .consent-container{height:500px}.open-banking-container .accounts-summary{max-width:100%}}@media (max-width: 480px){.open-banking-container .state-bank-selection .banks-grid{grid-template-columns:1fr}}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.CurrencyPipe, name: "currency" }] }); }
12549
12549
  }
12550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyOpenBankingComponent, decorators: [{
12550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyOpenBankingComponent, decorators: [{
12551
12551
  type: Component,
12552
12552
  args: [{ selector: 'app-formly-open-banking', template: "<div class=\"open-banking-container\">\n <!-- Initial State -->\n <div *ngIf=\"isInitialState\" class=\"state-initial\">\n <div class=\"message-container\">\n <p class=\"message\">{{ initialMessage }}</p>\n <button mat-raised-button color=\"primary\" (click)=\"proceedToNextStep()\" [disabled]=\"isLoadingSubject | async\">\n {{ nextButtonLabel }}\n </button>\n </div>\n </div>\n\n <!-- Bank Selection State -->\n <div *ngIf=\"isBankSelectionState\" class=\"state-bank-selection\">\n <h3 class=\"section-title\">{{ selectBankTitle }}</h3>\n\n <!-- Bank Grid -->\n <div class=\"banks-grid\" *ngIf=\"banks.length > 0\">\n <div\n *ngFor=\"let bank of banks\"\n class=\"bank-card\"\n [class.selected]=\"selectedBank === bank.bankCode\"\n (click)=\"selectBank(bank)\">\n <div class=\"bank-logo\" *ngIf=\"bank.logoUrl\">\n <img [src]=\"bank.logoUrl\" [alt]=\"bank.displayName\">\n </div>\n <div class=\"bank-info\">\n <h4>{{ bank.displayName }}</h4>\n <span class=\"bank-code\">{{ bank.bankCode }}</span>\n </div>\n <mat-icon class=\"check-icon\" *ngIf=\"selectedBank === bank.bankCode\">check_circle</mat-icon>\n </div>\n </div>\n\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"proceedToNextStep()\"\n [disabled]=\"!selectedBank || (isLoadingSubject | async)\"\n class=\"m-t-16\">\n {{ continueButtonLabel }}\n </button>\n </div>\n\n <!-- Consent State -->\n <div *ngIf=\"isConsentState\" class=\"state-consent\">\n <div class=\"consent-header\">\n <h3>{{ consentTitle }}</h3>\n <p>{{ consentDescription }}</p>\n </div>\n\n <!-- Show iframe only if we have an authorization URL -->\n <div class=\"consent-container\" *ngIf=\"authorizationUrl\">\n <iframe\n [src]=\"authorizationUrl\"\n class=\"consent-iframe\"\n frameborder=\"0\"\n allowfullscreen\n sandbox=\"allow-forms allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation\">\n </iframe>\n </div>\n\n <!-- Show waiting message when consent is in popup or iframe failed -->\n <div class=\"consent-waiting\" *ngIf=\"!authorizationUrl\">\n <mat-spinner diameter=\"40\"></mat-spinner>\n <p>{{ waitingForAuthorizationText }}</p>\n <p class=\"consent-popup-hint\">\n <mat-icon>open_in_new</mat-icon>\n <span>{{ popupWindowMessage }}</span>\n </p>\n <p class=\"consent-popup-note\">\n {{ popupBlockerMessage }}\n </p>\n </div>\n </div>\n\n <!-- Processing State -->\n <div *ngIf=\"isProcessingState\" class=\"state-processing\">\n <div class=\"loading-container\">\n <mat-spinner diameter=\"50\"></mat-spinner>\n <p class=\"loading-message\">{{ waitingMessage }}</p>\n <div class=\"progress-details\">\n <p *ngIf=\"accounts.length > 0\">\n {{ accountsRetrievedLabel }}: {{ accounts.length }}\n </p>\n <p *ngIf=\"transactions.length > 0\">\n {{ transactionsRetrievedLabel }}: {{ transactions.length }}\n </p>\n </div>\n </div>\n </div>\n\n <!-- Error State -->\n <div *ngIf=\"isErrorState\" class=\"state-error\">\n <div class=\"error-container\">\n <mat-icon color=\"warn\" class=\"error-icon\">error_outline</mat-icon>\n <p class=\"error-message\">{{ errorMessage }}</p>\n <button mat-raised-button color=\"primary\" (click)=\"retry()\">\n {{ retryButtonLabel }}\n </button>\n </div>\n </div>\n\n <!-- Complete State -->\n <div *ngIf=\"isCompleteState\" class=\"state-complete\">\n <div class=\"success-container\">\n <mat-icon color=\"primary\" class=\"success-icon\">check_circle</mat-icon>\n <p class=\"success-message\">{{ completionMessage }}</p>\n\n <!-- Display summary of accounts found -->\n <div class=\"accounts-summary\" *ngIf=\"accounts.length > 0\">\n <h4>{{ accountsSummaryText }}</h4>\n <div class=\"accounts-list\">\n <div class=\"account-card\" *ngFor=\"let account of accounts\">\n <div class=\"account-header\">\n <mat-icon class=\"account-icon\">account_balance</mat-icon>\n <div class=\"account-info\">\n <div class=\"account-name\">{{ account.name || 'Account' }}</div>\n <div class=\"account-iban\">{{ account.iban }}</div>\n </div>\n </div>\n <div class=\"account-details\">\n <div class=\"account-balance\">\n <span class=\"balance-amount\">{{ account.balance | currency:account.currency:'symbol':'1.2-2' }}</span>\n </div>\n <div class=\"account-holder\">{{ account.accountHolderName }}</div>\n </div>\n </div>\n </div>\n\n <div class=\"transaction-summary\" *ngIf=\"transactions.length > 0\">\n <p>{{ transactionsSummaryText }}</p>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".open-banking-container{padding:20px;min-height:400px}.open-banking-container .section-title{margin-bottom:20px;font-size:1.25rem;font-weight:500;color:#000000de}.open-banking-container .message-container,.open-banking-container .loading-container,.open-banking-container .error-container,.open-banking-container .success-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:200px}.open-banking-container .message,.open-banking-container .loading-message,.open-banking-container .error-message,.open-banking-container .success-message{font-size:1rem;margin:20px 0;max-width:600px;line-height:1.5}.open-banking-container .error-message{color:#f44336}.open-banking-container .success-message{color:#4caf50}.open-banking-container .error-icon,.open-banking-container .success-icon{font-size:48px;width:48px;height:48px}.open-banking-container .state-bank-selection .banks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.open-banking-container .state-bank-selection .bank-card{border:2px solid #e0e0e0;border-radius:8px;padding:16px;cursor:pointer;transition:all .3s ease;position:relative;background:#fff;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.open-banking-container .state-bank-selection .bank-card:hover{border-color:#3f51b5;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.open-banking-container .state-bank-selection .bank-card.selected{border-color:#3f51b5;background:#f5f7ff}.open-banking-container .state-bank-selection .bank-card .bank-logo{width:80px;height:40px;margin-bottom:8px;display:flex;align-items:center;justify-content:center}.open-banking-container .state-bank-selection .bank-card .bank-logo img{max-width:100%;max-height:100%;object-fit:contain}.open-banking-container .state-bank-selection .bank-card .bank-info{text-align:center}.open-banking-container .state-bank-selection .bank-card .bank-info h4{margin:0;font-size:.9rem;font-weight:500;color:#333}.open-banking-container .state-bank-selection .bank-card .bank-info .bank-code{font-size:.75rem;color:#666;margin-top:4px;display:block}.open-banking-container .state-bank-selection .bank-card .check-icon{position:absolute;top:8px;right:8px;color:#3f51b5;font-size:20px}.open-banking-container .state-bank-selection .bank-dropdown{margin:20px 0}.open-banking-container .state-bank-selection .bank-selector{width:100%;max-width:400px}.open-banking-container .state-consent .consent-header{text-align:center;margin-bottom:20px}.open-banking-container .state-consent .consent-header h3{font-size:1.25rem;font-weight:500;margin-bottom:8px}.open-banking-container .state-consent .consent-header p{color:#666;font-size:.95rem}.open-banking-container .state-consent .consent-container{width:100%;height:600px;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;background:#fff}.open-banking-container .state-consent .consent-iframe{width:100%;height:100%}.open-banking-container .state-consent .consent-waiting{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.open-banking-container .state-consent .consent-waiting p{margin-top:16px;color:#666}.open-banking-container .state-consent .consent-waiting .consent-popup-hint{display:flex;align-items:center;gap:8px;margin-top:24px;font-size:1.1rem;color:#333}.open-banking-container .state-consent .consent-waiting .consent-popup-hint mat-icon{color:#3f51b5}.open-banking-container .state-consent .consent-waiting .consent-popup-note{margin-top:12px;font-size:.9rem;color:#999;font-style:italic}.open-banking-container .progress-details{margin-top:20px}.open-banking-container .progress-details p{font-size:.9rem;color:#666;margin:4px 0}.open-banking-container .accounts-summary{margin-top:30px;width:100%;max-width:800px}.open-banking-container .accounts-summary h4{font-size:1.15rem;font-weight:500;margin-bottom:20px;color:#000000de}.open-banking-container .accounts-summary .accounts-list{display:flex;flex-direction:column;gap:16px}.open-banking-container .accounts-summary .account-card{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background:#fff;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease}.open-banking-container .accounts-summary .account-card:hover{box-shadow:0 2px 6px #00000026}.open-banking-container .accounts-summary .account-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.open-banking-container .accounts-summary .account-icon{color:#3f51b5;margin-top:2px}.open-banking-container .accounts-summary .account-info{flex:1}.open-banking-container .accounts-summary .account-name{font-weight:500;font-size:1rem;color:#333;margin-bottom:4px}.open-banking-container .accounts-summary .account-iban{font-size:.85rem;color:#666;font-family:Courier New,monospace;letter-spacing:.5px}.open-banking-container .accounts-summary .account-details{display:flex;justify-content:space-between;align-items:center;padding-left:36px}.open-banking-container .accounts-summary .account-balance{display:flex;flex-direction:column}.open-banking-container .accounts-summary .balance-amount{font-size:1.25rem;font-weight:600;color:#4caf50}.open-banking-container .accounts-summary .account-holder{font-size:.9rem;color:#666;text-align:right}.open-banking-container .accounts-summary .transaction-summary{margin-top:16px;padding:12px;background:#e8f5e9;border-radius:4px}.open-banking-container .accounts-summary .transaction-summary p{margin:0;color:#2e7d32;font-size:.95rem}.open-banking-container ::ng-deep .mat-spinner{margin:0 auto}.open-banking-container ::ng-deep .mat-progress-spinner circle,.open-banking-container ::ng-deep .mat-spinner circle{stroke:#3f51b5}@media (max-width: 768px){.open-banking-container{padding:10px}.open-banking-container .state-bank-selection .banks-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.open-banking-container .state-bank-selection .bank-card{min-height:100px;padding:12px}.open-banking-container .state-bank-selection .bank-card .bank-logo{width:60px;height:30px}.open-banking-container .consent-container{height:500px}.open-banking-container .accounts-summary{max-width:100%}}@media (max-width: 480px){.open-banking-container .state-bank-selection .banks-grid{grid-template-columns:1fr}}\n"] }]
12553
12553
  }], ctorParameters: () => [{ type: OpenBankingService }, { type: DialogService }, { type: i3$3.DomSanitizer }, { type: i0.ChangeDetectorRef }] });
@@ -14817,10 +14817,10 @@ class ThemeInjectorService {
14817
14817
  styleElement.innerHTML = themeCss;
14818
14818
  this.document.head.appendChild(styleElement);
14819
14819
  }
14820
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeInjectorService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
14821
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeInjectorService, providedIn: 'root' }); }
14820
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeInjectorService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
14821
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeInjectorService, providedIn: 'root' }); }
14822
14822
  }
14823
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThemeInjectorService, decorators: [{
14823
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeInjectorService, decorators: [{
14824
14824
  type: Injectable,
14825
14825
  args: [{ providedIn: 'root' }]
14826
14826
  }], ctorParameters: () => [{ type: Document, decorators: [{
@@ -14833,8 +14833,8 @@ class OriginFormModule {
14833
14833
  constructor(themeInjector) {
14834
14834
  this.themeInjector = themeInjector;
14835
14835
  }
14836
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormModule, deps: [{ token: ThemeInjectorService }], target: i0.ɵɵFactoryTarget.NgModule }); }
14837
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: OriginFormModule, declarations: [TranslatePipe,
14836
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormModule, deps: [{ token: ThemeInjectorService }], target: i0.ɵɵFactoryTarget.NgModule }); }
14837
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: OriginFormModule, declarations: [TranslatePipe,
14838
14838
  CustomSectionComponent,
14839
14839
  FormSectionSeparatorComponent,
14840
14840
  FormlyActionComponent,
@@ -14907,7 +14907,7 @@ class OriginFormModule {
14907
14907
  MatTableModule, i4.FormlyModule, FormlyMaterialModule,
14908
14908
  FormlyMatTextAreaModule,
14909
14909
  FormlyMatDatepickerModule], exports: [CollectorFormComponent] }); }
14910
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormModule, providers: [OriginFormService,
14910
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormModule, providers: [OriginFormService,
14911
14911
  DictionaryService,
14912
14912
  FormsService,
14913
14913
  OtpService,
@@ -15036,7 +15036,7 @@ class OriginFormModule {
15036
15036
  FormlyMatTextAreaModule,
15037
15037
  FormlyMatDatepickerModule] }); }
15038
15038
  }
15039
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OriginFormModule, decorators: [{
15039
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OriginFormModule, decorators: [{
15040
15040
  type: NgModule,
15041
15041
  args: [{
15042
15042
  declarations: [