special-forms 20.0.0-SNAPSHOT-3 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,7 +21,7 @@ import { MatSelectModule } from '@angular/material/select';
21
21
  import { MatNativeDateModule } from '@angular/material/core';
22
22
  import * as i2$2 from '@angular/material/datepicker';
23
23
  import { MatDatepickerModule } from '@angular/material/datepicker';
24
- import * as i4$1 from '@angular/material/chips';
24
+ import * as i6 from '@angular/material/chips';
25
25
  import { MatChipsModule } from '@angular/material/chips';
26
26
  import * as i2$3 from '@angular/material/checkbox';
27
27
  import { MatCheckboxModule } from '@angular/material/checkbox';
@@ -44,10 +44,10 @@ class ErrorMessagePipe {
44
44
  }
45
45
  return message;
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ErrorMessagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
48
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ErrorMessagePipe, isStandalone: true, name: "errorMessage" }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ErrorMessagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
48
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: ErrorMessagePipe, isStandalone: true, name: "errorMessage" }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ErrorMessagePipe, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ErrorMessagePipe, decorators: [{
51
51
  type: Pipe,
52
52
  args: [{
53
53
  name: "errorMessage",
@@ -65,10 +65,10 @@ class TextByFunctionPipe {
65
65
  }
66
66
  return value;
67
67
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TextByFunctionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
69
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: TextByFunctionPipe, isStandalone: true, name: "textByFunction" }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: TextByFunctionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
69
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: TextByFunctionPipe, isStandalone: true, name: "textByFunction" }); }
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TextByFunctionPipe, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: TextByFunctionPipe, decorators: [{
72
72
  type: Pipe,
73
73
  args: [{ name: 'textByFunction', standalone: true }]
74
74
  }] });
@@ -81,10 +81,10 @@ class FormControlsListPipe {
81
81
  .filter((control) => !control.hidden)
82
82
  .map((control) => control);
83
83
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FormControlsListPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
85
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: FormControlsListPipe, isStandalone: true, name: "controlsList" }); }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FormControlsListPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
85
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: FormControlsListPipe, isStandalone: true, name: "controlsList" }); }
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FormControlsListPipe, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FormControlsListPipe, decorators: [{
88
88
  type: Pipe,
89
89
  args: [{ name: 'controlsList', standalone: true }]
90
90
  }] });
@@ -126,10 +126,10 @@ class SpecialAutocompleteComponent {
126
126
  ngOnDestroy() {
127
127
  this.subs.unsubscribe();
128
128
  }
129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialAutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialAutocompleteComponent, isStandalone: true, selector: "sp-autocomplete", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n class=\"special-autocomplete w-full mb-3 {{ control.styleClasses }}\"\n [id]=\"control.elementId\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n type=\"text\"\n autocomplete=\"off\"\n [required]=\"control.required\"\n [readonly]=\"control.readOnly\"\n [placeholder]=\"control.placeholder\"\n matInput\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [displayWith]=\"configValue\"\n (optionSelected)=\"optionSelected($event)\"\n >\n @for (\n option of settings?.source | async;\n track option[settings.fieldId]\n ) {\n <mat-option [value]=\"option\">\n <div class=\"flex items-center\">\n @if (settings.fieldImage) {\n <img\n class=\"w-8 pr-2\"\n alt=\"\"\n [src]=\"option | textByFunction: settings.fieldImage\"\n />\n }\n <span>\n {{ option | textByFunction: settings.fieldName }}\n </span>\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n @if (settings.icon) {\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\n <mat-icon>\n {{ settings.icon }}\n </mat-icon>\n </button>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.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: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "pipe", type: TextByFunctionPipe, name: "textByFunction" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialAutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialAutocompleteComponent, isStandalone: true, selector: "sp-autocomplete", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n class=\"special-autocomplete w-full mb-3 {{ control.styleClasses }}\"\n [id]=\"control.elementId\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n type=\"text\"\n autocomplete=\"off\"\n [required]=\"control.required\"\n [readonly]=\"control.readOnly\"\n [placeholder]=\"control.placeholder\"\n matInput\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [displayWith]=\"configValue\"\n (optionSelected)=\"optionSelected($event)\"\n >\n @for (\n option of settings?.source | async;\n track option[settings.fieldId]\n ) {\n <mat-option [value]=\"option\">\n <div class=\"flex items-center\">\n @if (settings.fieldImage) {\n <img\n class=\"w-8 pr-2\"\n alt=\"\"\n [src]=\"option | textByFunction: settings.fieldImage\"\n />\n }\n <span>\n {{ option | textByFunction: settings.fieldName }}\n </span>\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n @if (settings.icon) {\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\n <mat-icon>\n {{ settings.icon }}\n </mat-icon>\n </button>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.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: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "pipe", type: TextByFunctionPipe, name: "textByFunction" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
131
131
  }
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialAutocompleteComponent, decorators: [{
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialAutocompleteComponent, decorators: [{
133
133
  type: Component,
134
134
  args: [{ selector: 'sp-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
135
135
  MatInputModule,
@@ -147,7 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
147
147
 
148
148
  class SpecialInputComponent {
149
149
  constructor() {
150
- this.watchValue = signal(false, ...(ngDevMode ? [{ debugName: "watchValue" }] : []));
150
+ this.watchValue = signal(false, ...(ngDevMode ? [{ debugName: "watchValue" }] : /* istanbul ignore next */ []));
151
151
  }
152
152
  ngOnInit() { }
153
153
  onEnterClick() {
@@ -175,19 +175,18 @@ class SpecialInputComponent {
175
175
  watch() {
176
176
  this.watchValue.set(!this.watchValue());
177
177
  }
178
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
179
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialInputComponent, isStandalone: true, selector: "sp-input", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-input w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n matInput\n (blur)=\"onBlurAction()\"\n (keydown.enter)=\"onEnterClick()\"\n [inputMask]=\"settings?.mask\"\n autocomplete=\"off\"\n [type]=\"watchValue() ? 'text' : this.settings.type || 'text'\"\n [readonly]=\"control.readOnly\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [maxlength]=\"settings?.withMaxlength ? control.length : null\"\n [formControl]=\"control\"\n />\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n @if (settings.icon) {\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\n <mat-icon>\n {{ settings.icon }}\n </mat-icon>\n </button>\n }\n\n @if (settings.withClearButton && control.value) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"clear(); $event.preventDefault(); $event.stopPropagation()\"\n >\n <mat-icon> close </mat-icon>\n </button>\n }\n\n @if (settings.withWatchButton && settings.type === \"password\") {\n <button\n mat-icon-button\n matSuffix\n (click)=\"watch(); $event.preventDefault(); $event.stopPropagation()\"\n >\n <mat-icon>\n {{ watchValue() ? \"visibility_off\" : \"visibility\" }}\n </mat-icon>\n </button>\n }\n\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n @if (settings.withCounter && control.length) {\n <mat-hint align=\"end\"\n >{{ control.value?.length ?? 0 }} / {{ control.length }}</mat-hint\n >\n }\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: InputMaskModule }, { kind: "directive", type: i1$1.InputMaskDirective, selector: "[inputMask]", inputs: ["inputMask"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
179
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialInputComponent, isStandalone: true, selector: "sp-input", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-input w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n matInput\n (blur)=\"onBlurAction()\"\n (keydown.enter)=\"onEnterClick()\"\n [inputMask]=\"settings?.mask\"\n autocomplete=\"off\"\n [type]=\"watchValue() ? 'text' : this.settings.type || 'text'\"\n [readonly]=\"control.readOnly\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [maxlength]=\"settings?.withMaxlength ? control.length : null\"\n [formControl]=\"control\"\n />\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n @if (settings.icon) {\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\n <mat-icon>\n {{ settings.icon }}\n </mat-icon>\n </button>\n }\n\n @if (settings.withClearButton && control.value) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"clear(); $event.preventDefault(); $event.stopPropagation()\"\n >\n <mat-icon> close </mat-icon>\n </button>\n }\n\n @if (settings.withWatchButton && settings.type === \"password\") {\n <button\n mat-icon-button\n matSuffix\n (click)=\"watch(); $event.preventDefault(); $event.stopPropagation()\"\n >\n <mat-icon>\n {{ watchValue() ? \"visibility_off\" : \"visibility\" }}\n </mat-icon>\n </button>\n }\n\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n @if (settings.withCounter && control.length) {\n <mat-hint align=\"end\"\n >{{ control.value?.length ?? 0 }} / {{ control.length }}</mat-hint\n >\n }\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: InputMaskModule }, { kind: "directive", type: i1$1.InputMaskDirective, selector: "[inputMask]", inputs: ["inputMask"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
180
180
  }
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialInputComponent, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialInputComponent, decorators: [{
182
182
  type: Component,
183
183
  args: [{ selector: 'sp-input', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
184
184
  InputMaskModule,
185
- CommonModule,
186
185
  MatInputModule,
187
186
  MatIconModule,
188
187
  ReactiveFormsModule,
189
188
  MatButtonModule,
190
- ErrorMessagePipe,
189
+ ErrorMessagePipe
191
190
  ], template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-input w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n matInput\n (blur)=\"onBlurAction()\"\n (keydown.enter)=\"onEnterClick()\"\n [inputMask]=\"settings?.mask\"\n autocomplete=\"off\"\n [type]=\"watchValue() ? 'text' : this.settings.type || 'text'\"\n [readonly]=\"control.readOnly\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [maxlength]=\"settings?.withMaxlength ? control.length : null\"\n [formControl]=\"control\"\n />\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n @if (settings.icon) {\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\n <mat-icon>\n {{ settings.icon }}\n </mat-icon>\n </button>\n }\n\n @if (settings.withClearButton && control.value) {\n <button\n mat-icon-button\n matSuffix\n (click)=\"clear(); $event.preventDefault(); $event.stopPropagation()\"\n >\n <mat-icon> close </mat-icon>\n </button>\n }\n\n @if (settings.withWatchButton && settings.type === \"password\") {\n <button\n mat-icon-button\n matSuffix\n (click)=\"watch(); $event.preventDefault(); $event.stopPropagation()\"\n >\n <mat-icon>\n {{ watchValue() ? \"visibility_off\" : \"visibility\" }}\n </mat-icon>\n </button>\n }\n\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n @if (settings.withCounter && control.length) {\n <mat-hint align=\"end\"\n >{{ control.value?.length ?? 0 }} / {{ control.length }}</mat-hint\n >\n }\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"] }]
192
191
  }], ctorParameters: () => [], propDecorators: { control: [{
193
192
  type: Input
@@ -207,10 +206,10 @@ class SpecialDropdownComponent {
207
206
  if (this.settings.onSelect)
208
207
  this.settings.onSelect(value);
209
208
  }
210
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
211
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialDropdownComponent, isStandalone: true, selector: "sp-dropdown", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-dropdown w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <mat-select\n [formControl]=\"control\"\n [required]=\"control.required\"\n (selectionChange)=\"optionSelected($event.value)\"\n [placeholder]=\"control.placeholder\"\n >\n @if (!control.required) {\n <mat-option [value]=\"null\">\n {{ control.placeholder || settings.notSelectedText }}\n </mat-option>\n }\n @for (item of settings.source | async; track item[settings.fieldId]) {\n <mat-option [value]=\"item[settings.fieldId]\">\n {{ item | textByFunction: settings.fieldName }}\n </mat-option>\n }\n </mat-select>\n @if (settings.icon) {\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\n <mat-icon>\n {{ settings.icon }}\n </mat-icon>\n </button>\n }\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i2$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "pipe", type: TextByFunctionPipe, name: "textByFunction" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialDropdownComponent, isStandalone: true, selector: "sp-dropdown", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-dropdown w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <mat-select\n [formControl]=\"control\"\n [required]=\"control.required\"\n (selectionChange)=\"optionSelected($event.value)\"\n [placeholder]=\"control.placeholder\"\n >\n @if (!control.required) {\n <mat-option [value]=\"null\">\n {{ control.placeholder || settings.notSelectedText }}\n </mat-option>\n }\n @for (item of settings.source | async; track item[settings.fieldId]) {\n <mat-option [value]=\"item[settings.fieldId]\">\n {{ item | textByFunction: settings.fieldName }}\n </mat-option>\n }\n </mat-select>\n @if (settings.icon) {\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\n <mat-icon>\n {{ settings.icon }}\n </mat-icon>\n </button>\n }\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i2$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "pipe", type: TextByFunctionPipe, name: "textByFunction" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
212
211
  }
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialDropdownComponent, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialDropdownComponent, decorators: [{
214
213
  type: Component,
215
214
  args: [{ selector: 'sp-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
216
215
  CommonModule,
@@ -234,20 +233,19 @@ class SpecialDatepickerComponent {
234
233
  return this.settings?.startAt || new Date();
235
234
  }
236
235
  ngOnInit() { }
237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
238
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialDatepickerComponent, isStandalone: true, selector: "sp-datepicker", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-datepicker w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n matInput\n autocomplete=\"off\"\n [readonly]=\"control.readOnly\"\n [matDatepicker]=\"picker\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [formControl]=\"control\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker startView=\"year\" [startAt]=\"startAt\">\n </mat-datepicker>\n <mat-hint>\n {{ control.tooltip }}\n </mat-hint>\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2$2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2$2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2$2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
237
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialDatepickerComponent, isStandalone: true, selector: "sp-datepicker", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-datepicker w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n matInput\n autocomplete=\"off\"\n [readonly]=\"control.readOnly\"\n [matDatepicker]=\"picker\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [formControl]=\"control\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker startView=\"year\" [startAt]=\"startAt\">\n </mat-datepicker>\n <mat-hint>\n {{ control.tooltip }}\n </mat-hint>\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2$2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2$2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2$2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatNativeDateModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
239
238
  }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialDatepickerComponent, decorators: [{
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialDatepickerComponent, decorators: [{
241
240
  type: Component,
242
241
  args: [{ selector: 'sp-datepicker', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
243
242
  MatInputModule,
244
243
  MatDatepickerModule,
245
- CommonModule,
246
244
  MatIconModule,
247
245
  ReactiveFormsModule,
248
246
  MatButtonModule,
249
247
  ErrorMessagePipe,
250
- MatNativeDateModule,
248
+ MatNativeDateModule
251
249
  ], template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-datepicker w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n matInput\n autocomplete=\"off\"\n [readonly]=\"control.readOnly\"\n [matDatepicker]=\"picker\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [formControl]=\"control\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker startView=\"year\" [startAt]=\"startAt\">\n </mat-datepicker>\n <mat-hint>\n {{ control.tooltip }}\n </mat-hint>\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"] }]
252
250
  }], ctorParameters: () => [], propDecorators: { control: [{
253
251
  type: Input
@@ -309,10 +307,10 @@ class SpecialMultipleAutocompleteComponent {
309
307
  ngOnDestroy() {
310
308
  this.subs.unsubscribe();
311
309
  }
312
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialMultipleAutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
313
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialMultipleAutocompleteComponent, isStandalone: true, selector: "sp-multiple-autocomplete", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <div\n class=\"special-multiple-autocomplete w-full mb-3 {{ control.styleClasses }}\"\n [id]=\"control.elementId\"\n >\n <mat-form-field\n class=\"w-full\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n type=\"text\"\n autocomplete=\"off\"\n [required]=\"control.required && !control.value?.length\"\n [readonly]=\"control.readOnly\"\n [placeholder]=\"control.placeholder\"\n matInput\n [formControl]=\"internalControl\"\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [displayWith]=\"configValue\"\n (optionSelected)=\"optionSelected($event)\"\n >\n @for (\n option of settings?.source | async;\n track option[settings.fieldId]\n ) {\n <mat-option [value]=\"option\">\n <div class=\"flex items-center\">\n @if (settings.fieldImage) {\n <img\n class=\"w-8 pr-2\"\n alt=\"\"\n [src]=\"option | textByFunction: settings.fieldImage\"\n />\n }\n <span>\n {{ option | textByFunction: settings.fieldName }}\n </span>\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n @if (settings.icon) {\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\n <mat-icon>\n {{ settings.icon }}\n </mat-icon>\n </button>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n\n <mat-chip-listbox>\n @for (chip of control.value; track chip[settings.fieldId]) {\n <mat-chip-row [removable]=\"true\" (removed)=\"remove(chip)\">\n <div class=\"flex items-center\">\n @if (settings.fieldImage) {\n <img\n class=\"w-8 pr-2\"\n alt=\"\"\n [src]=\"chip | textByFunction: settings.fieldImage\"\n />\n }\n {{ chip | textByFunction: settings.fieldName }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </div>\n </mat-chip-row>\n }\n </mat-chip-listbox>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.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: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i4$1.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "directive", type: i4$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "pipe", type: TextByFunctionPipe, name: "textByFunction" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialMultipleAutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
311
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialMultipleAutocompleteComponent, isStandalone: true, selector: "sp-multiple-autocomplete", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <div\n class=\"special-multiple-autocomplete w-full mb-3 {{ control.styleClasses }}\"\n [id]=\"control.elementId\"\n >\n <mat-form-field\n class=\"w-full\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <input\n type=\"text\"\n autocomplete=\"off\"\n [required]=\"control.required && !control.value?.length\"\n [readonly]=\"control.readOnly\"\n [placeholder]=\"control.placeholder\"\n matInput\n [formControl]=\"internalControl\"\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [displayWith]=\"configValue\"\n (optionSelected)=\"optionSelected($event)\"\n >\n @for (\n option of settings?.source | async;\n track option[settings.fieldId]\n ) {\n <mat-option [value]=\"option\">\n <div class=\"flex items-center\">\n @if (settings.fieldImage) {\n <img\n class=\"w-8 pr-2\"\n alt=\"\"\n [src]=\"option | textByFunction: settings.fieldImage\"\n />\n }\n <span>\n {{ option | textByFunction: settings.fieldName }}\n </span>\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n @if (settings.icon) {\n <button mat-icon-button matSuffix (click)=\"iconClick($event)\">\n <mat-icon>\n {{ settings.icon }}\n </mat-icon>\n </button>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n\n <mat-chip-listbox>\n @for (chip of control.value; track chip[settings.fieldId]) {\n <mat-chip-row [removable]=\"true\" (removed)=\"remove(chip)\">\n <div class=\"flex items-center\">\n @if (settings.fieldImage) {\n <img\n class=\"w-8 pr-2\"\n alt=\"\"\n [src]=\"chip | textByFunction: settings.fieldImage\"\n />\n }\n {{ chip | textByFunction: settings.fieldName }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </div>\n </mat-chip-row>\n }\n </mat-chip-listbox>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.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: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i6.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "pipe", type: TextByFunctionPipe, name: "textByFunction" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
314
312
  }
315
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialMultipleAutocompleteComponent, decorators: [{
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialMultipleAutocompleteComponent, decorators: [{
316
314
  type: Component,
317
315
  args: [{ selector: 'sp-multiple-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
318
316
  MatInputModule,
@@ -335,20 +333,19 @@ class SpecialCheckboxComponent {
335
333
  }
336
334
  constructor() { }
337
335
  ngOnInit() { }
338
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
339
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialCheckboxComponent, isStandalone: true, selector: "sp-checkbox", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <div\n [id]=\"control.elementId\"\n class=\"special-checkbox w-full mb-3 flex flex-col {{\n control.styleClasses\n }}\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <mat-checkbox\n [required]=\"control.required\"\n [ngModel]=\"control.value\"\n (ngModelChange)=\"control.setValue($event); control.markAsDirty()\"\n [indeterminate]=\"settings.indeterminate\"\n [labelPosition]=\"settings.labelPosition\"\n [color]=\"settings.color\"\n [disabled]=\"control.disabled\"\n >\n @if (control.icon) {\n <mat-icon matSuffix>{{ control.icon }}</mat-icon>\n }\n {{ control.placeholder }}\n </mat-checkbox>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatButtonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
337
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialCheckboxComponent, isStandalone: true, selector: "sp-checkbox", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <div\n [id]=\"control.elementId\"\n class=\"special-checkbox w-full mb-3 flex flex-col {{\n control.styleClasses\n }}\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <mat-checkbox\n [required]=\"control.required\"\n [ngModel]=\"control.value\"\n (ngModelChange)=\"control.setValue($event); control.markAsDirty()\"\n [indeterminate]=\"settings.indeterminate\"\n [labelPosition]=\"settings.labelPosition\"\n [color]=\"settings.color\"\n [disabled]=\"control.disabled\"\n >\n @if (control.icon) {\n <mat-icon matSuffix>{{ control.icon }}</mat-icon>\n }\n {{ control.placeholder }}\n </mat-checkbox>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatButtonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
340
338
  }
341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialCheckboxComponent, decorators: [{
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialCheckboxComponent, decorators: [{
342
340
  type: Component,
343
341
  args: [{ selector: 'sp-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
344
342
  FormsModule,
345
343
  MatCheckboxModule,
346
- CommonModule,
347
344
  MatInputModule,
348
345
  MatIconModule,
349
346
  ReactiveFormsModule,
350
347
  MatButtonModule,
351
- ErrorMessagePipe,
348
+ ErrorMessagePipe
352
349
  ], template: "@if (control && !control.hidden) {\n <div\n [id]=\"control.elementId\"\n class=\"special-checkbox w-full mb-3 flex flex-col {{\n control.styleClasses\n }}\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <mat-checkbox\n [required]=\"control.required\"\n [ngModel]=\"control.value\"\n (ngModelChange)=\"control.setValue($event); control.markAsDirty()\"\n [indeterminate]=\"settings.indeterminate\"\n [labelPosition]=\"settings.labelPosition\"\n [color]=\"settings.color\"\n [disabled]=\"control.disabled\"\n >\n @if (control.icon) {\n <mat-icon matSuffix>{{ control.icon }}</mat-icon>\n }\n {{ control.placeholder }}\n </mat-checkbox>\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
353
350
  }], ctorParameters: () => [], propDecorators: { control: [{
354
351
  type: Input
@@ -363,19 +360,18 @@ class SpecialTextAreaComponent {
363
360
  get settings() {
364
361
  return this.control.settings;
365
362
  }
366
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
367
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialTextAreaComponent, isStandalone: true, selector: "sp-text-area", inputs: { control: "control" }, outputs: { onBlur: "onBlur", onEnter: "onEnter" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-textarea w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <textarea\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"5\"\n matInput\n (blur)=\"onBlur.emit(control.value)\"\n (keydown.enter)=\"onEnter.emit(control.value)\"\n [readonly]=\"control.readOnly\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [maxlength]=\"settings?.withMaxlength ? control.length : null\"\n [formControl]=\"control\"\n ></textarea>\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n @if (settings.withCounter && control.length) {\n <mat-hint align=\"end\"\n >{{ control.value?.length ?? 0 }} / {{ control.length }}</mat-hint\n >\n }\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: InputMaskModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2$4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
363
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
364
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialTextAreaComponent, isStandalone: true, selector: "sp-text-area", inputs: { control: "control" }, outputs: { onBlur: "onBlur", onEnter: "onEnter" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-textarea w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <textarea\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"5\"\n matInput\n (blur)=\"onBlur.emit(control.value)\"\n (keydown.enter)=\"onEnter.emit(control.value)\"\n [readonly]=\"control.readOnly\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [maxlength]=\"settings?.withMaxlength ? control.length : null\"\n [formControl]=\"control\"\n ></textarea>\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n @if (settings.withCounter && control.length) {\n <mat-hint align=\"end\"\n >{{ control.value?.length ?? 0 }} / {{ control.length }}</mat-hint\n >\n }\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: InputMaskModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2$4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
368
365
  }
369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialTextAreaComponent, decorators: [{
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialTextAreaComponent, decorators: [{
370
367
  type: Component,
371
368
  args: [{ selector: 'sp-text-area', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
372
369
  InputMaskModule,
373
- CommonModule,
374
370
  MatInputModule,
375
371
  MatIconModule,
376
372
  ReactiveFormsModule,
377
373
  MatButtonModule,
378
- ErrorMessagePipe,
374
+ ErrorMessagePipe
379
375
  ], template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-textarea w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <textarea\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"5\"\n matInput\n (blur)=\"onBlur.emit(control.value)\"\n (keydown.enter)=\"onEnter.emit(control.value)\"\n [readonly]=\"control.readOnly\"\n [required]=\"control.required\"\n [placeholder]=\"control.placeholder\"\n [maxlength]=\"settings?.withMaxlength ? control.length : null\"\n [formControl]=\"control\"\n ></textarea>\n @if (control.icon) {\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n @if (settings.withCounter && control.length) {\n <mat-hint align=\"end\"\n >{{ control.value?.length ?? 0 }} / {{ control.length }}</mat-hint\n >\n }\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"] }]
380
376
  }], ctorParameters: () => [], propDecorators: { control: [{
381
377
  type: Input
@@ -393,10 +389,10 @@ class FileNamePipe {
393
389
  const url = new URL(input, window.location.origin);
394
390
  return url.pathname.substring(url.pathname.lastIndexOf('/') + 1);
395
391
  }
396
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FileNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
397
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: FileNamePipe, isStandalone: true, name: "fileName" }); }
392
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FileNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
393
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: FileNamePipe, isStandalone: true, name: "fileName" }); }
398
394
  }
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FileNamePipe, decorators: [{
395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FileNamePipe, decorators: [{
400
396
  type: Pipe,
401
397
  args: [{ name: 'fileName', standalone: true }]
402
398
  }] });
@@ -493,10 +489,10 @@ class previewImagePipe {
493
489
  svgConfiguration(svg) {
494
490
  return this.sanitizer.bypassSecurityTrustUrl('data:image/svg+xml;base64,' + btoa(this.pdfIcon));
495
491
  }
496
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: previewImagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
497
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: previewImagePipe, isStandalone: true, name: "previewImage" }); }
492
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: previewImagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
493
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: previewImagePipe, isStandalone: true, name: "previewImage" }); }
498
494
  }
499
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: previewImagePipe, decorators: [{
495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: previewImagePipe, decorators: [{
500
496
  type: Pipe,
501
497
  args: [{ name: 'previewImage', standalone: true }]
502
498
  }] });
@@ -505,10 +501,10 @@ class TruncatePipe {
505
501
  transform(text, lenght = 12, suffix = '...') {
506
502
  return text.slice(0, lenght) + suffix;
507
503
  }
508
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
509
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: TruncatePipe, isStandalone: true, name: "truncate" }); }
504
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
505
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: TruncatePipe, isStandalone: true, name: "truncate" }); }
510
506
  }
511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TruncatePipe, decorators: [{
507
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: TruncatePipe, decorators: [{
512
508
  type: Pipe,
513
509
  args: [{ name: 'truncate', standalone: true }]
514
510
  }] });
@@ -913,10 +909,10 @@ class SpecialFormBuilderService {
913
909
  }
914
910
  return { noItems: 'NO_SELECTED_ITEM' };
915
911
  }
916
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialFormBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
917
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialFormBuilderService, providedIn: 'root' }); }
912
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialFormBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
913
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialFormBuilderService, providedIn: 'root' }); }
918
914
  }
919
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialFormBuilderService, decorators: [{
915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialFormBuilderService, decorators: [{
920
916
  type: Injectable,
921
917
  args: [{
922
918
  providedIn: 'root',
@@ -927,10 +923,10 @@ class ErrorStateMatcherService {
927
923
  isErrorState(control) {
928
924
  return control && control.invalid && control.dirty;
929
925
  }
930
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ErrorStateMatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
931
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ErrorStateMatcherService }); }
926
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ErrorStateMatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
927
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ErrorStateMatcherService }); }
932
928
  }
933
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ErrorStateMatcherService, decorators: [{
929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ErrorStateMatcherService, decorators: [{
934
930
  type: Injectable
935
931
  }] });
936
932
 
@@ -944,11 +940,8 @@ class SpecialUploadComponent {
944
940
  this.internalControl = this.sfb.control(control);
945
941
  this.initialConfig();
946
942
  }
947
- get control() {
948
- return this.internalControl;
949
- }
950
943
  get settings() {
951
- return this.control.settings;
944
+ return this.internalControl.settings;
952
945
  }
953
946
  get elements() {
954
947
  return this.settings.multiple ? this.multipleElements : this.singleElement;
@@ -966,12 +959,12 @@ class SpecialUploadComponent {
966
959
  }
967
960
  minSizeConfig() {
968
961
  if (this.settings.minSize) {
969
- this.control.setValidators(FileInputValidators.minSize(this.settings.minSize));
962
+ this.internalControl.setValidators(FileInputValidators.minSize(this.settings.minSize));
970
963
  }
971
964
  }
972
965
  maxSizeConfig() {
973
966
  if (this.settings.maxSize) {
974
- this.control.setValidators(FileInputValidators.maxSize(this.settings.maxSize));
967
+ this.internalControl.setValidators(FileInputValidators.maxSize(this.settings.maxSize));
975
968
  }
976
969
  }
977
970
  isFile(input) {
@@ -981,14 +974,14 @@ class SpecialUploadComponent {
981
974
  return !this.isFile(input);
982
975
  }
983
976
  acceptConfig() {
984
- this.control.setValidators(FileInputValidators.accept(this.settings.accept || this.DEFAULT_ACCEPTED_TYPES));
977
+ this.internalControl.setValidators(FileInputValidators.accept(this.settings.accept || this.DEFAULT_ACCEPTED_TYPES));
985
978
  }
986
979
  onSelectFile(input) {
987
980
  this.updateRealControlInput(input);
988
981
  this.onSelectFileTrigger(input);
989
982
  }
990
983
  updateRealControlInput(input) {
991
- if (this.control.valid) {
984
+ if (this.internalControl.valid) {
992
985
  if (this.settings.multiple) {
993
986
  this.realControl.setValue(this.realControl.value.concat(input));
994
987
  }
@@ -1015,7 +1008,7 @@ class SpecialUploadComponent {
1015
1008
  this.removeFileFromControl(file);
1016
1009
  }
1017
1010
  else {
1018
- this.control.reset();
1011
+ this.internalControl.reset();
1019
1012
  this.realControl.reset();
1020
1013
  }
1021
1014
  }
@@ -1028,14 +1021,14 @@ class SpecialUploadComponent {
1028
1021
  this.realControl.setValue(this.realControl.value.filter((item) => this.isFile(item) || item !== element));
1029
1022
  }
1030
1023
  else {
1031
- this.control.reset();
1024
+ this.internalControl.reset();
1032
1025
  this.realControl.reset();
1033
1026
  }
1034
1027
  }
1035
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1036
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialUploadComponent, isStandalone: true, selector: "sp-upload", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-input w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <ngx-mat-dropzone>\n <input\n type=\"file\"\n fileInput\n [multiple]=\"settings.multiple\"\n [mode]=\"settings.mode\"\n [accept]=\"control.settings?.accept || DEFAULT_ACCEPTED_TYPES\"\n [placeholder]=\"control.placeholder\"\n [formControl]=\"control\"\n [required]=\"control.required\"\n [readonly]=\"control.readOnly\"\n (ngModelChange)=\"onSelectFile($event)\"\n />\n </ngx-mat-dropzone>\n <mat-chip-set>\n @for (item of elements; track item?.lastModified || item) {\n <mat-chip-row>\n <img matChipAvatar [src]=\"item | previewImage\" alt=\"\" />\n {{ item | fileName | truncate }}\n <button (click)=\"onRemove(item)\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n </mat-chip-set>\n @if (control.icon) {\n <mat-icon matSuffix>{{ control.icon }}</mat-icon>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:5rem;height:5rem;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: MatDropzone, selector: "ngx-mat-dropzone", inputs: ["aria-describedby", "placeholder", "required"], exportAs: ["matDropzone"] }, { kind: "directive", type: FileInputDirective, selector: "input[fileInput]", inputs: ["value", "accept", "mode", "disabled"], outputs: ["selectionChange"], exportAs: ["fileInput"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "directive", type: i4$1.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i4$1.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4$1.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i4$1.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "pipe", type: previewImagePipe, name: "previewImage" }, { kind: "pipe", type: FileNamePipe, name: "fileName" }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "pipe", type: TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1028
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1029
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialUploadComponent, isStandalone: true, selector: "sp-upload", inputs: { control: "control" }, ngImport: i0, template: "@if (internalControl && !internalControl.hidden) {\n <mat-form-field\n [id]=\"internalControl.elementId\"\n class=\"w-full mb-3 {{ internalControl.styleClasses }}\"\n [appearance]=\"internalControl.label ? 'outline' : 'fill'\"\n >\n @if (internalControl.label) {\n <mat-label>\n {{ internalControl.label }} {{ internalControl.required ? \"*\" : \"\" }}\n </mat-label>\n }\n <ngx-mat-dropzone>\n <input\n type=\"file\"\n fileInput\n [multiple]=\"settings.multiple\"\n [mode]=\"settings.mode\"\n [accept]=\"settings?.accept || DEFAULT_ACCEPTED_TYPES\"\n [placeholder]=\"internalControl.placeholder\"\n [formControl]=\"internalControl\"\n [required]=\"internalControl.required\"\n [disabled]=\"internalControl.disabled\"\n (ngModelChange)=\"onSelectFile($event)\"\n />\n @for (item of elements; track item?.lastModified || item) {\n <mat-chip-row>\n <img matChipAvatar [src]=\"item | previewImage\" alt=\"\" />\n {{ item | fileName | truncate }}\n <button (click)=\"onRemove(item)\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n </ngx-mat-dropzone>\n @if (internalControl.icon) {\n <mat-icon matSuffix>{{ internalControl.icon }}</mat-icon>\n }\n @if (internalControl.tooltip) {\n <mat-hint>{{ internalControl.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ internalControl.errors | errorMessage: internalControl.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: MatDropzone, selector: "ngx-mat-dropzone", inputs: ["aria-describedby", "placeholder", "required"], exportAs: ["matDropzone"] }, { kind: "directive", type: FileInputDirective, selector: "input[fileInput]", inputs: ["value", "accept", "mode", "disabled"], outputs: ["selectionChange"], exportAs: ["fileInput"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "directive", type: i6.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "pipe", type: previewImagePipe, name: "previewImage" }, { kind: "pipe", type: FileNamePipe, name: "fileName" }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "pipe", type: TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1037
1030
  }
1038
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialUploadComponent, decorators: [{
1031
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialUploadComponent, decorators: [{
1039
1032
  type: Component,
1040
1033
  args: [{ selector: 'sp-upload', imports: [
1041
1034
  previewImagePipe,
@@ -1044,15 +1037,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
1044
1037
  MatDropzone,
1045
1038
  FileInputDirective,
1046
1039
  MatInputModule,
1047
- CommonModule,
1048
1040
  MatIconModule,
1049
1041
  ReactiveFormsModule,
1050
1042
  MatButtonModule,
1051
1043
  ErrorMessagePipe,
1052
1044
  MatChipsModule,
1053
1045
  TruncatePipe,
1054
- MatCardModule,
1055
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (control && !control.hidden) {\n <mat-form-field\n [id]=\"control.elementId\"\n class=\"special-input w-full mb-3 {{ control.styleClasses }}\"\n [appearance]=\"control.label ? 'outline' : 'fill'\"\n >\n @if (control.label) {\n <mat-label>\n {{ control.label }}\n </mat-label>\n }\n <ngx-mat-dropzone>\n <input\n type=\"file\"\n fileInput\n [multiple]=\"settings.multiple\"\n [mode]=\"settings.mode\"\n [accept]=\"control.settings?.accept || DEFAULT_ACCEPTED_TYPES\"\n [placeholder]=\"control.placeholder\"\n [formControl]=\"control\"\n [required]=\"control.required\"\n [readonly]=\"control.readOnly\"\n (ngModelChange)=\"onSelectFile($event)\"\n />\n </ngx-mat-dropzone>\n <mat-chip-set>\n @for (item of elements; track item?.lastModified || item) {\n <mat-chip-row>\n <img matChipAvatar [src]=\"item | previewImage\" alt=\"\" />\n {{ item | fileName | truncate }}\n <button (click)=\"onRemove(item)\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n </mat-chip-set>\n @if (control.icon) {\n <mat-icon matSuffix>{{ control.icon }}</mat-icon>\n }\n @if (control.tooltip) {\n <mat-hint>{{ control.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ control.errors | errorMessage: control.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:5rem;height:5rem;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"] }]
1046
+ MatCardModule
1047
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (internalControl && !internalControl.hidden) {\n <mat-form-field\n [id]=\"internalControl.elementId\"\n class=\"w-full mb-3 {{ internalControl.styleClasses }}\"\n [appearance]=\"internalControl.label ? 'outline' : 'fill'\"\n >\n @if (internalControl.label) {\n <mat-label>\n {{ internalControl.label }} {{ internalControl.required ? \"*\" : \"\" }}\n </mat-label>\n }\n <ngx-mat-dropzone>\n <input\n type=\"file\"\n fileInput\n [multiple]=\"settings.multiple\"\n [mode]=\"settings.mode\"\n [accept]=\"settings?.accept || DEFAULT_ACCEPTED_TYPES\"\n [placeholder]=\"internalControl.placeholder\"\n [formControl]=\"internalControl\"\n [required]=\"internalControl.required\"\n [disabled]=\"internalControl.disabled\"\n (ngModelChange)=\"onSelectFile($event)\"\n />\n @for (item of elements; track item?.lastModified || item) {\n <mat-chip-row>\n <img matChipAvatar [src]=\"item | previewImage\" alt=\"\" />\n {{ item | fileName | truncate }}\n <button (click)=\"onRemove(item)\" matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n </ngx-mat-dropzone>\n @if (internalControl.icon) {\n <mat-icon matSuffix>{{ internalControl.icon }}</mat-icon>\n }\n @if (internalControl.tooltip) {\n <mat-hint>{{ internalControl.tooltip }}</mat-hint>\n }\n <mat-error>\n {{ internalControl.errors | errorMessage: internalControl.errorMessages }}\n </mat-error>\n </mat-form-field>\n}\n", styles: [":host{display:contents}\n"] }]
1056
1048
  }], propDecorators: { control: [{
1057
1049
  type: Input
1058
1050
  }] } });
@@ -1068,10 +1060,10 @@ class SpecialLabelComponent {
1068
1060
  this.settings.onClickLink(this.control.value);
1069
1061
  }
1070
1062
  }
1071
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1072
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialLabelComponent, isStandalone: true, selector: "sp-label", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <div\n class=\"special-label px-2 mb-3 {{ control.styleClasses }} {{\n control.value | textByFunction: settings.stylesPipe\n }}\"\n [id]=\"control.elementId\"\n >\n @if (control.label) {\n <div class=\"special-label__title font-bold\">\n {{ control.label }}\n </div>\n }\n <div\n class=\"special-label__text\"\n [ngClass]=\"{\n 'cursor-pointer text-blue-600 hover:text-blue-700': settings.isLink,\n }\"\n (click)=\"onLink()\"\n >\n {{ control.value | textByFunction: control.settings.pipe }}\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "pipe", type: TextByFunctionPipe, name: "textByFunction" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1063
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1064
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialLabelComponent, isStandalone: true, selector: "sp-label", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <div\n class=\"special-label px-2 mb-3 {{ control.styleClasses }} {{\n control.value | textByFunction: settings.stylesPipe\n }}\"\n [id]=\"control.elementId\"\n >\n @if (control.label) {\n <div class=\"special-label__title font-bold\">\n {{ control.label }}\n </div>\n }\n <div\n class=\"special-label__text\"\n [ngClass]=\"{\n 'cursor-pointer text-blue-600 hover:text-blue-700': settings.isLink,\n }\"\n (click)=\"onLink()\"\n >\n {{ control.value | textByFunction: control.settings.pipe }}\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "pipe", type: TextByFunctionPipe, name: "textByFunction" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1073
1065
  }
1074
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialLabelComponent, decorators: [{
1066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialLabelComponent, decorators: [{
1075
1067
  type: Component,
1076
1068
  args: [{ selector: 'sp-label', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, MatIconModule, TextByFunctionPipe], template: "@if (control && !control.hidden) {\n <div\n class=\"special-label px-2 mb-3 {{ control.styleClasses }} {{\n control.value | textByFunction: settings.stylesPipe\n }}\"\n [id]=\"control.elementId\"\n >\n @if (control.label) {\n <div class=\"special-label__title font-bold\">\n {{ control.label }}\n </div>\n }\n <div\n class=\"special-label__text\"\n [ngClass]=\"{\n 'cursor-pointer text-blue-600 hover:text-blue-700': settings.isLink,\n }\"\n (click)=\"onLink()\"\n >\n {{ control.value | textByFunction: control.settings.pipe }}\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
1077
1069
  }], ctorParameters: () => [], propDecorators: { control: [{
@@ -1102,19 +1094,18 @@ class SpecialRichtextComponent {
1102
1094
  ngOnDestroy() {
1103
1095
  this.editor.destroy();
1104
1096
  }
1105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialRichtextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialRichtextComponent, isStandalone: true, selector: "sp-input", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <div\n class=\"special-richtext w-full mb-3 {{ control.styleClasses }}\"\n [id]=\"control.elementId\"\n >\n @if (control.label) {\n <h4 class=\"text-md font-medium pl-2 mb-2\">\n {{ control.label }}\n </h4>\n }\n <ngx-editor-menu\n [colorPresets]=\"colorPresets\"\n [toolbar]=\"toolbar\"\n [editor]=\"editor\"\n >\n </ngx-editor-menu>\n <ngx-editor\n [editor]=\"editor\"\n [formControl]=\"control\"\n [required]=\"control.required\"\n [outputFormat]=\"control.settings.outputFormat || 'html'\"\n [disabled]=\"false\"\n [placeholder]=\"control.placeholder\"\n ></ngx-editor>\n <div class=\"px-5 mt-2\">\n @if (\n control.dirty && control.errors | errorMessage: control.errorMessages;\n as error\n ) {\n <div class=\"text-sm text-rose-500\">\n {{ error }}\n </div>\n } @else {\n <div class=\"text-sm font-medium\">{{ control.tooltip }}</div>\n }\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgxEditorModule }, { kind: "component", type: i2$5.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i2$5.NgxEditorMenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1097
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialRichtextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1098
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialRichtextComponent, isStandalone: true, selector: "sp-input", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\n <div\n class=\"special-richtext w-full mb-3 {{ control.styleClasses }}\"\n [id]=\"control.elementId\"\n >\n @if (control.label) {\n <h4 class=\"text-md font-medium pl-2 mb-2\">\n {{ control.label }}\n </h4>\n }\n <ngx-editor-menu\n [colorPresets]=\"colorPresets\"\n [toolbar]=\"toolbar\"\n [editor]=\"editor\"\n >\n </ngx-editor-menu>\n <ngx-editor\n [editor]=\"editor\"\n [formControl]=\"control\"\n [required]=\"control.required\"\n [outputFormat]=\"control.settings.outputFormat || 'html'\"\n [disabled]=\"false\"\n [placeholder]=\"control.placeholder\"\n ></ngx-editor>\n <div class=\"px-5 mt-2\">\n @if (\n control.dirty && control.errors | errorMessage: control.errorMessages;\n as error\n ) {\n <div class=\"text-sm text-rose-500\">\n {{ error }}\n </div>\n } @else {\n <div class=\"text-sm font-medium\">{{ control.tooltip }}</div>\n }\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgxEditorModule }, { kind: "component", type: i2$5.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i2$5.NgxEditorMenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1107
1099
  }
1108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialRichtextComponent, decorators: [{
1100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialRichtextComponent, decorators: [{
1109
1101
  type: Component,
1110
1102
  args: [{ selector: 'sp-input', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1111
- CommonModule,
1112
1103
  MatInputModule,
1113
1104
  MatIconModule,
1114
1105
  ReactiveFormsModule,
1115
1106
  NgxEditorModule,
1116
1107
  ErrorMessagePipe,
1117
- MatFormFieldModule,
1108
+ MatFormFieldModule
1118
1109
  ], template: "@if (control && !control.hidden) {\n <div\n class=\"special-richtext w-full mb-3 {{ control.styleClasses }}\"\n [id]=\"control.elementId\"\n >\n @if (control.label) {\n <h4 class=\"text-md font-medium pl-2 mb-2\">\n {{ control.label }}\n </h4>\n }\n <ngx-editor-menu\n [colorPresets]=\"colorPresets\"\n [toolbar]=\"toolbar\"\n [editor]=\"editor\"\n >\n </ngx-editor-menu>\n <ngx-editor\n [editor]=\"editor\"\n [formControl]=\"control\"\n [required]=\"control.required\"\n [outputFormat]=\"control.settings.outputFormat || 'html'\"\n [disabled]=\"false\"\n [placeholder]=\"control.placeholder\"\n ></ngx-editor>\n <div class=\"px-5 mt-2\">\n @if (\n control.dirty && control.errors | errorMessage: control.errorMessages;\n as error\n ) {\n <div class=\"text-sm text-rose-500\">\n {{ error }}\n </div>\n } @else {\n <div class=\"text-sm font-medium\">{{ control.tooltip }}</div>\n }\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
1119
1110
  }], propDecorators: { control: [{
1120
1111
  type: Input
@@ -1125,10 +1116,10 @@ class SpecialFormComponent {
1125
1116
  this.form = form;
1126
1117
  }
1127
1118
  ngOnInit() { }
1128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialFormComponent, isStandalone: false, selector: "sp-form", inputs: { form: ["control", "form"] }, ngImport: i0, template: "@if (form && !form.hidden) {\n <div\n [id]=\"form.elementId\"\n class=\"special-form w-full box-border p-2 {{ form.styleClasses }}\"\n >\n @if (form) {\n <div\n [class]=\"\n form.label\n ? 'w-full mt-2 p-3 border-slate-200 border border-solid box-border'\n : 'container'\n \"\n >\n @if (form.label) {\n <h1 class=\"font-bold py-3\">{{ form.label }}</h1>\n }\n <div class=\"w-full flex flex-wrap\">\n @for (control of form.controls | controlsList; track control.name) {\n <ng-template controlRender [control]=\"control\"></ng-template>\n }\n </div>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => FormControlsRenderDirective), selector: "[controlRender]", inputs: ["control"] }, { kind: "pipe", type: i0.forwardRef(() => FormControlsListPipe), name: "controlsList" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialFormComponent, isStandalone: false, selector: "sp-form", inputs: { form: ["control", "form"] }, ngImport: i0, template: "@if (form && !form.hidden) {\n <div\n [id]=\"form.elementId\"\n class=\"special-form w-full box-border p-2 {{ form.styleClasses }}\"\n >\n @if (form) {\n <div\n [class]=\"\n form.label\n ? 'w-full mt-2 p-3 border-slate-200 border border-solid box-border'\n : 'container'\n \"\n >\n @if (form.label) {\n <h1 class=\"font-bold py-3\">{{ form.label }}</h1>\n }\n <div class=\"w-full flex flex-wrap\">\n @for (control of form.controls | controlsList; track control.name) {\n <ng-template controlRender [control]=\"control\"></ng-template>\n }\n </div>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => FormControlsRenderDirective), selector: "[controlRender]", inputs: ["control"] }, { kind: "pipe", type: i0.forwardRef(() => FormControlsListPipe), name: "controlsList" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1130
1121
  }
1131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialFormComponent, decorators: [{
1122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialFormComponent, decorators: [{
1132
1123
  type: Component,
1133
1124
  args: [{ selector: 'sp-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (form && !form.hidden) {\n <div\n [id]=\"form.elementId\"\n class=\"special-form w-full box-border p-2 {{ form.styleClasses }}\"\n >\n @if (form) {\n <div\n [class]=\"\n form.label\n ? 'w-full mt-2 p-3 border-slate-200 border border-solid box-border'\n : 'container'\n \"\n >\n @if (form.label) {\n <h1 class=\"font-bold py-3\">{{ form.label }}</h1>\n }\n <div class=\"w-full flex flex-wrap\">\n @for (control of form.controls | controlsList; track control.name) {\n <ng-template controlRender [control]=\"control\"></ng-template>\n }\n </div>\n </div>\n }\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
1134
1125
  }], propDecorators: { form: [{
@@ -1153,10 +1144,10 @@ class SpecialArrayComponent {
1153
1144
  addItem() {
1154
1145
  this.formArray.addItem();
1155
1146
  }
1156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialArrayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: SpecialArrayComponent, isStandalone: false, selector: "sp-array", inputs: { formArray: ["control", "formArray"] }, ngImport: i0, template: "@if (formArray && !formArray.hidden) {\n <div\n [id]=\"formArray.elementId\"\n class=\"special-form-array w-full box-border p-2 {{\n formArray.styleClasses\n }}\"\n >\n <div\n class=\"w-full mt-2 p-3 border-slate-200 border border-solid box-border\"\n >\n @if (formArray.label) {\n <h1 class=\"font-bold py-3\">\n {{ formArray.label }}\n </h1>\n }\n <div class=\"divide-y divide-x-0 divide-solid divide-slate-200\">\n @if (formArray.form) {\n <div\n [ngClass]=\"{ 'md:grid-cols-15': settings.withActionButtons }\"\n class=\"grid gap-4 grid-cols-12\"\n >\n @if (!withFormHeader) {\n @for (\n item of formArray.form.controls | controlsList;\n track item.name\n ) {\n <h2 [class]=\"item.styleClasses\">\n {{ item.label }}\n </h2>\n }\n @if (settings.withActionButtons) {\n <div\n class=\"col-start-7 col-end-13 md:col-start-13 md:col-end-16 pb-5 my-auto ml-auto md:m-auto\"\n ></div>\n }\n } @else {\n @for (\n item of formArray.form.controls | controlsList;\n track item.name\n ) {\n <ng-template controlRender [control]=\"item\"></ng-template>\n }\n @if (settings.withActionButtons) {\n <div\n class=\"col-start-7 col-end-13 md:col-start-13 md:col-end-16 pb-5 my-auto ml-auto md:m-auto\"\n >\n <button\n mat-flat-button\n color=\"primary\"\n [disabled]=\"formArray.form.invalid\"\n (click)=\"addItem()\"\n >\n {{ settings.addActionLabel || \"Add\" }}\n </button>\n </div>\n }\n }\n </div>\n }\n @for (\n formGroup of formArray.controls;\n track formGroup.name;\n let i = $index\n ) {\n <div class=\"w-full pt-5 grid gap-4 grid-cols-12 md:grid-cols-15\">\n @for (item of formGroup.controls | controlsList; track item.name) {\n <ng-template controlRender [control]=\"item\"></ng-template>\n }\n <div\n class=\"col-start-7 col-end-13 md:col-start-13 md:col-end-16 pb-5 my-auto ml-auto md:m-auto\"\n >\n <button mat-flat-button color=\"warn\" (click)=\"removeItem(i)\">\n {{ settings.removeActionLabel || \"Remove\" }}\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i7.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i0.forwardRef(() => i5.MatButton), selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i0.forwardRef(() => FormControlsRenderDirective), selector: "[controlRender]", inputs: ["control"] }, { kind: "pipe", type: i0.forwardRef(() => FormControlsListPipe), name: "controlsList" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialArrayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1148
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SpecialArrayComponent, isStandalone: false, selector: "sp-array", inputs: { formArray: ["control", "formArray"] }, ngImport: i0, template: "@if (formArray && !formArray.hidden) {\n <div\n [id]=\"formArray.elementId\"\n class=\"special-form-array w-full box-border p-2 {{\n formArray.styleClasses\n }}\"\n >\n <div\n class=\"w-full mt-2 p-3 border-slate-200 border border-solid box-border\"\n >\n @if (formArray.label) {\n <h1 class=\"font-bold py-3\">\n {{ formArray.label }}\n </h1>\n }\n <div class=\"divide-y divide-x-0 divide-solid divide-slate-200\">\n @if (formArray.form) {\n <div\n [ngClass]=\"{ 'md:grid-cols-15': settings.withActionButtons }\"\n class=\"grid gap-4 grid-cols-12\"\n >\n @if (!withFormHeader) {\n @for (\n item of formArray.form.controls | controlsList;\n track item.name\n ) {\n <h2 [class]=\"item.styleClasses\">\n {{ item.label }}\n </h2>\n }\n @if (settings.withActionButtons) {\n <div\n class=\"col-start-7 col-end-13 md:col-start-13 md:col-end-16 pb-5 my-auto ml-auto md:m-auto\"\n ></div>\n }\n } @else {\n @for (\n item of formArray.form.controls | controlsList;\n track item.name\n ) {\n <ng-template controlRender [control]=\"item\"></ng-template>\n }\n @if (settings.withActionButtons) {\n <div\n class=\"col-start-7 col-end-13 md:col-start-13 md:col-end-16 pb-5 my-auto ml-auto md:m-auto\"\n >\n <button\n mat-flat-button\n color=\"primary\"\n [disabled]=\"formArray.form.invalid\"\n (click)=\"addItem()\"\n >\n {{ settings.addActionLabel || \"Add\" }}\n </button>\n </div>\n }\n }\n </div>\n }\n @for (\n formGroup of formArray.controls;\n track formGroup.name;\n let i = $index\n ) {\n <div class=\"w-full pt-5 grid gap-4 grid-cols-12 md:grid-cols-15\">\n @for (item of formGroup.controls | controlsList; track item.name) {\n <ng-template controlRender [control]=\"item\"></ng-template>\n }\n <div\n class=\"col-start-7 col-end-13 md:col-start-13 md:col-end-16 pb-5 my-auto ml-auto md:m-auto\"\n >\n <button mat-flat-button color=\"warn\" (click)=\"removeItem(i)\">\n {{ settings.removeActionLabel || \"Remove\" }}\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i7.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i0.forwardRef(() => i5.MatButton), selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i0.forwardRef(() => FormControlsRenderDirective), selector: "[controlRender]", inputs: ["control"] }, { kind: "pipe", type: i0.forwardRef(() => FormControlsListPipe), name: "controlsList" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1158
1149
  }
1159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialArrayComponent, decorators: [{
1150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialArrayComponent, decorators: [{
1160
1151
  type: Component,
1161
1152
  args: [{ selector: 'sp-array', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (formArray && !formArray.hidden) {\n <div\n [id]=\"formArray.elementId\"\n class=\"special-form-array w-full box-border p-2 {{\n formArray.styleClasses\n }}\"\n >\n <div\n class=\"w-full mt-2 p-3 border-slate-200 border border-solid box-border\"\n >\n @if (formArray.label) {\n <h1 class=\"font-bold py-3\">\n {{ formArray.label }}\n </h1>\n }\n <div class=\"divide-y divide-x-0 divide-solid divide-slate-200\">\n @if (formArray.form) {\n <div\n [ngClass]=\"{ 'md:grid-cols-15': settings.withActionButtons }\"\n class=\"grid gap-4 grid-cols-12\"\n >\n @if (!withFormHeader) {\n @for (\n item of formArray.form.controls | controlsList;\n track item.name\n ) {\n <h2 [class]=\"item.styleClasses\">\n {{ item.label }}\n </h2>\n }\n @if (settings.withActionButtons) {\n <div\n class=\"col-start-7 col-end-13 md:col-start-13 md:col-end-16 pb-5 my-auto ml-auto md:m-auto\"\n ></div>\n }\n } @else {\n @for (\n item of formArray.form.controls | controlsList;\n track item.name\n ) {\n <ng-template controlRender [control]=\"item\"></ng-template>\n }\n @if (settings.withActionButtons) {\n <div\n class=\"col-start-7 col-end-13 md:col-start-13 md:col-end-16 pb-5 my-auto ml-auto md:m-auto\"\n >\n <button\n mat-flat-button\n color=\"primary\"\n [disabled]=\"formArray.form.invalid\"\n (click)=\"addItem()\"\n >\n {{ settings.addActionLabel || \"Add\" }}\n </button>\n </div>\n }\n }\n </div>\n }\n @for (\n formGroup of formArray.controls;\n track formGroup.name;\n let i = $index\n ) {\n <div class=\"w-full pt-5 grid gap-4 grid-cols-12 md:grid-cols-15\">\n @for (item of formGroup.controls | controlsList; track item.name) {\n <ng-template controlRender [control]=\"item\"></ng-template>\n }\n <div\n class=\"col-start-7 col-end-13 md:col-start-13 md:col-end-16 pb-5 my-auto ml-auto md:m-auto\"\n >\n <button mat-flat-button color=\"warn\" (click)=\"removeItem(i)\">\n {{ settings.removeActionLabel || \"Remove\" }}\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
1162
1153
  }], ctorParameters: () => [], propDecorators: { formArray: [{
@@ -1189,10 +1180,10 @@ class FormControlsRenderDirective {
1189
1180
  [EControlTypes.richText]: SpecialRichtextComponent,
1190
1181
  };
1191
1182
  }
1192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FormControlsRenderDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1193
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: FormControlsRenderDirective, isStandalone: false, selector: "[controlRender]", inputs: { controlSetter: ["control", "controlSetter"] }, ngImport: i0 }); }
1183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FormControlsRenderDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1184
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: FormControlsRenderDirective, isStandalone: false, selector: "[controlRender]", inputs: { controlSetter: ["control", "controlSetter"] }, ngImport: i0 }); }
1194
1185
  }
1195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: FormControlsRenderDirective, decorators: [{
1186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FormControlsRenderDirective, decorators: [{
1196
1187
  type: Directive,
1197
1188
  args: [{
1198
1189
  selector: `[controlRender]`,
@@ -1204,8 +1195,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
1204
1195
  }] } });
1205
1196
 
1206
1197
  class SpecialFormModule {
1207
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1208
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: SpecialFormModule, declarations: [SpecialArrayComponent,
1198
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1199
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: SpecialFormModule, declarations: [SpecialArrayComponent,
1209
1200
  FormControlsRenderDirective,
1210
1201
  SpecialFormComponent], imports: [CommonModule,
1211
1202
  FormControlsListPipe,
@@ -1222,7 +1213,7 @@ class SpecialFormModule {
1222
1213
  SpecialUploadComponent], exports: [SpecialArrayComponent,
1223
1214
  FormControlsRenderDirective,
1224
1215
  SpecialFormComponent] }); }
1225
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialFormModule, imports: [CommonModule,
1216
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialFormModule, imports: [CommonModule,
1226
1217
  MatButtonModule,
1227
1218
  SpecialRichtextComponent,
1228
1219
  SpecialDropdownComponent,
@@ -1235,7 +1226,7 @@ class SpecialFormModule {
1235
1226
  SpecialTextAreaComponent,
1236
1227
  SpecialUploadComponent] }); }
1237
1228
  }
1238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: SpecialFormModule, decorators: [{
1229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SpecialFormModule, decorators: [{
1239
1230
  type: NgModule,
1240
1231
  args: [{
1241
1232
  declarations: [