@esfaenza/parameters 20.3.64 → 20.3.66

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.
@@ -26,10 +26,10 @@ class EsParametersLoc extends LocalizationService {
26
26
  super.set("it->en", "Aggiungi", ["Add"]);
27
27
  super.set("it->en", "Rimuovi", ["Remove"]);
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: EsParametersLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: EsParametersLoc }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersLoc }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: EsParametersLoc, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersLoc, decorators: [{
33
33
  type: Injectable
34
34
  }], ctorParameters: () => [{ type: i0.Injector }] });
35
35
 
@@ -85,10 +85,10 @@ class ParameterTypeDirective {
85
85
  constructor(templateRef) {
86
86
  this.templateRef = templateRef;
87
87
  }
88
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: ParameterTypeDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
89
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.33", type: ParameterTypeDirective, isStandalone: false, selector: "[parameterType]", inputs: { parameterType: "parameterType" }, ngImport: i0 }); }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: ParameterTypeDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
89
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.34", type: ParameterTypeDirective, isStandalone: false, selector: "[parameterType]", inputs: { parameterType: "parameterType" }, ngImport: i0 }); }
90
90
  }
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: ParameterTypeDirective, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: ParameterTypeDirective, decorators: [{
92
92
  type: Directive,
93
93
  args: [{
94
94
  selector: "[parameterType]",
@@ -944,8 +944,8 @@ class EsParametersComponent {
944
944
  onInputFinalized(parameter) {
945
945
  this.inputFinalized.emit(parameter);
946
946
  }
947
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: EsParametersComponent, deps: [{ token: i1.UtilityService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.DateService }], target: i0.ɵɵFactoryTarget.Component }); }
948
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: EsParametersComponent, isStandalone: false, selector: "es-parameters", inputs: { ParentCustomTemplates: "ParentCustomTemplates", NamePrefix: "NamePrefix", BooleanSliderMode: "BooleanSliderMode", DisplayMode: "DisplayMode", HideEmpty: "HideEmpty", LastParameterNoMargin: "LastParameterNoMargin", LabelColWidth: "LabelColWidth", InputColWidth: "InputColWidth", LabelFixedWidth: "LabelFixedWidth", LabelAutoWidth: "LabelAutoWidth", LabelAutoWidthIgnoresCheckboxes: "LabelAutoWidthIgnoresCheckboxes", ModernStyles: "ModernStyles", SubgroupColumns: "SubgroupColumns", submitted: "submitted", RepeaterAddRemoveServerSide: "RepeaterAddRemoveServerSide", RepeaterAddRemove: "RepeaterAddRemove", EmptyMessage: "EmptyMessage", Removal: "Removal", Readonly: "Readonly", ListFormat: "ListFormat", FileMode: "FileMode", Form: "Form", AutocompleteHideChoicesOnSelection: "AutocompleteHideChoicesOnSelection", AutoCompleteDataRetrieve: "AutoCompleteDataRetrieve", MultiselectMode: "MultiselectMode", LabelInputRatio: "LabelInputRatio" }, outputs: { inputFinalized: "inputFinalized" }, providers: [
947
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersComponent, deps: [{ token: i1.UtilityService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.DateService }], target: i0.ɵɵFactoryTarget.Component }); }
948
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.34", type: EsParametersComponent, isStandalone: false, selector: "es-parameters", inputs: { ParentCustomTemplates: "ParentCustomTemplates", NamePrefix: "NamePrefix", BooleanSliderMode: "BooleanSliderMode", DisplayMode: "DisplayMode", HideEmpty: "HideEmpty", LastParameterNoMargin: "LastParameterNoMargin", LabelColWidth: "LabelColWidth", InputColWidth: "InputColWidth", LabelFixedWidth: "LabelFixedWidth", LabelAutoWidth: "LabelAutoWidth", LabelAutoWidthIgnoresCheckboxes: "LabelAutoWidthIgnoresCheckboxes", ModernStyles: "ModernStyles", SubgroupColumns: "SubgroupColumns", submitted: "submitted", RepeaterAddRemoveServerSide: "RepeaterAddRemoveServerSide", RepeaterAddRemove: "RepeaterAddRemove", EmptyMessage: "EmptyMessage", Removal: "Removal", Readonly: "Readonly", ListFormat: "ListFormat", FileMode: "FileMode", Form: "Form", AutocompleteHideChoicesOnSelection: "AutocompleteHideChoicesOnSelection", AutoCompleteDataRetrieve: "AutoCompleteDataRetrieve", MultiselectMode: "MultiselectMode", LabelInputRatio: "LabelInputRatio" }, outputs: { inputFinalized: "inputFinalized" }, providers: [
949
949
  { provide: LocalizationService, useClass: EsParametersLoc },
950
950
  {
951
951
  provide: NG_VALUE_ACCESSOR,
@@ -954,7 +954,7 @@ class EsParametersComponent {
954
954
  }
955
955
  ], queries: [{ propertyName: "CustomTemplateDirectives", predicate: ParameterTypeDirective }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"(!Parameters || Parameters.length == 0) && EmptyMessage\">\r\n <em>{{EmptyMessage}}</em>\r\n</div>\r\n\r\n<div *ngIf=\"Groups && Initialized\" class=\"row\" [class.pars-modern]=\"ModernStyles\">\r\n <ng-container *ngTemplateOutlet=\"Temp; context: {item: { groups: Groups, isSubgroup: false, index: NamePrefix }}\"></ng-container>\r\n</div>\r\n\r\n<ng-template #Temp let-item=\"item\">\r\n <ng-container *ngFor=\"let group of item.groups; let k = index\">\r\n <div [class.pars-subgroup]=\"item.isSubgroup && !item.asColumn\" [class.pars-group]=\"!item.isSubgroup\" class=\"col-md-{{group.size ?? 12}}\">\r\n <div [class.pars-group-box]=\"group.groupName\">\r\n <ng-container *ngTemplateOutlet=\"GroupsOrSubgroupsDisplay; context: { item: { group: group, index: k + (item.index ? ('_' + item.index) : ''), isSubgroup: item.isSubgroup }}\"></ng-container>\r\n <ng-container *ngIf=\"group.subgroups.length > 0\">\r\n @if (SubgroupColumns) {\r\n <!-- Sottogruppi in colonna: si affiancano secondo la loro larghezza, senza rientro -->\r\n <div class=\"row\">\r\n <ng-container *ngTemplateOutlet=\"Temp; context: {item: { groups: group.subgroups, index: k + (item.index ? ('_' + item.index) : ''), isSubgroup: true, asColumn: true }};\"></ng-container>\r\n </div>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"Temp; context: {item: { groups: group.subgroups, index: k + (item.index ? ('_' + item.index) : ''), isSubgroup: true }};\"></ng-container>\r\n }\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #GroupsOrSubgroupsDisplay let-item=\"item\">\r\n @if(item.group && Initialized){\r\n\r\n <div *ngIf=\"item.group.groupName\" [style.margin-left.px]=\"ModernStyles ? 0 : -15\" [style.margin-right.px]=\"ModernStyles ? 0 : -15\" [class.pars-group-title]=\"!item.isSubgroup\" [class.pars-subgroup-title]=\"item.isSubgroup\">{{item.group.groupName}}</div>\r\n <div *ngIf=\"item.group.parameters && item.group.parameters.length > 0\" class=\"row\">\r\n @for (par of item.group.parameters; track $index; let i = $index; let last = $last) {\r\n\r\n @if (!DisplayMode || !HideEmpty || par.value) {\r\n\r\n @if (par.visible) {\r\n\r\n <div class=\"row form-group\" [class.app-margin-bottom-0]=\"LastParameterNoMargin && last\" [class.pars-fixed-label]=\"EffectiveLabelWidth\" [style.--pars-label-width]=\"EffectiveLabelWidth ? EffectiveLabelWidth + 'px' : null\" class=\"col-md-{{par.parametersize ?? 12}}\" >\r\n\r\n @if(par.type != 'text' && par.type != 'repeater'){\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\">\r\n @if (Removal) {\r\n <span class=\"fa fa-remove text-danger\" (click)=\"removeParameter(par)\">&nbsp;</span>\r\n }\r\n {{ par.description }}{{ par.required ? '*' : '' }}:\r\n </label>\r\n }\r\n @switch (par.type) {\r\n\r\n @case ('date') {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <form-date [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [disabled]=\"Readonly || par.isreadonly\" [required]=\"par.required\" [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\"\r\n (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator>\r\n </form-date>\r\n </div>\r\n }\r\n\r\n @case ('datetime') {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <form-date [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [disabled]=\"Readonly || par.isreadonly\" [required]=\"par.required\" [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\"\r\n (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator>\r\n </form-date>\r\n </div>\r\n }\r\n\r\n @case ('string') {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <!--Il pattern arriva dal parametro (es. i campi di formato Email). Quando non c'e',\r\n l'interpolazione da stringa vuota, che per Angular vale come nessuna validazione.-->\r\n <form-input [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [disabled]=\"Readonly || par.isreadonly\" [required]=\"par.required\" [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\"\r\n (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator pattern=\"{{par.pattern}}\" [maxlength]=\"maxLengthOf(par)\">\r\n </form-input>\r\n </div>\r\n }\r\n\r\n @case ('number') {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <form-input [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [disabled]=\"Readonly || par.isreadonly\" [required]=\"par.required\" [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\"\r\n (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator pattern=\"{{par.pattern || '^[+-]?[0-9]*[,]?[0-9]+$'}}\" [maxlength]=\"maxLengthOf(par)\">\r\n </form-input>\r\n </div>\r\n }\r\n\r\n @case ('integer') {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <form-input [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [disabled]=\"Readonly || par.isreadonly\" [required]=\"par.required\" [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\"\r\n (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator pattern=\"{{par.pattern || '^[+-]?[0-9]+$'}}\" [maxlength]=\"maxLengthOf(par)\">\r\n </form-input>\r\n </div>\r\n }\r\n\r\n @case ('boolean') {\r\n <div class=\"col-md-{{InputColWidth}} m-t-5\">\r\n <form-checkbox [SliderMode]=\"BooleanSliderMode\" [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [disabled]=\"Readonly || par.isreadonly\" [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\" \r\n (inputChange)=\"evaluateRadioButtons(par); changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator>\r\n </form-checkbox>\r\n </div>\r\n }\r\n\r\n @case ('text') {\r\n <div class=\"col-md-12 m-t-5\">\r\n <form-info [LabelInputRatio]=\"'0 12'\"><span style=\"font-size: 16px;\">{{par.value}}</span></form-info>\r\n </div>\r\n }\r\n\r\n @case ('enum') {\r\n @if (!par.sourceapi) {\r\n\r\n @if (!par.multienum) {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <form-select [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [disabled]=\"Readonly || par.isreadonly\" [required]=\"par.required\" [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\"\r\n (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator [Source]=\"par.enumvalues\">\r\n </form-select>\r\n </div>\r\n }\r\n @else {\r\n\r\n @if (par.enumvalues) {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <form-multiselect [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [InOutFormat]=\"MultiselectMode == 'JsonArray'\r\n ? 'JsonList'\r\n : MultiselectMode == 'CommaSeparated'\r\n ? 'CommaSeparatedList'\r\n : 'List'\" [Placeholder]=\"('Seleziona' | localize : lc) + '...'\" [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\" [disabled]=\"Readonly || par.isreadonly\"\r\n [Source]=\"par.enumvalues\" [required]=\"par.required\" (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator>\r\n </form-multiselect>\r\n </div>\r\n }\r\n @else {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <form-autocomplete [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [Placeholder]=\"('Seleziona' | localize : lc) + '...'\" multiple forceSelection [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\"\r\n [disabled]=\"Readonly || par.isreadonly\" [required]=\"par.required\" (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator>\r\n </form-autocomplete>\r\n </div>\r\n }\r\n }\r\n } @else {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <form-autocomplete [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [FormLayout]=\"false\" [(ngModel)]=\"par.value\" name=\"{{item.index}}par{{i}}_{{par.id}}\" [multiple]=\"par.multienum\" [disabled]=\"Readonly || par.isreadonly\"\r\n [SearchFunction]=\"getSource.bind(this, par)\" [required]=\"par.required\" (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\" #validator>\r\n </form-autocomplete>\r\n </div>\r\n }\r\n }\r\n\r\n @case ('file') {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <!--Con isfilemultiple si abilita la selezione multipla e si attiva la FancyMode, piu leggibile con piu file.\r\n Il modello resta un singolo AppFile: i singoli file (e i relativi b64) stanno dentro AppFile.files-->\r\n <form-file [DisplayMode]=\"DisplayMode\" [Form]=\"Form\" [ReadFile]=\"true\" [FormLayout]=\"false\" [disabled]=\"Readonly || par.isreadonly\" [required]=\"par.required\" [(ngModel)]=\"par.file\" name=\"{{item.index}}par{{i}}_{{par.id}}\"\r\n [Multiple]=\"!!par.isfilemultiple\" [AdditiveMode]=\"FileMode === 'Additive'\" \r\n #validator (inputChange)=\"changed();\" (inputFinalized)=\"onInputFinalized(par);\">\r\n </form-file>\r\n </div>\r\n }\r\n\r\n @case ('repeater') {\r\n <div class=\"col-md-12 pars-repeater\">\r\n @if (par.description) {\r\n <div class=\"pars-subgroup-title\">{{ par.description }}{{ par.required ? '*' : '' }}</div>\r\n }\r\n\r\n @for (item_rep of par.value; track $index; let j = $index) {\r\n <div class=\"pars-subgroup pars-repeater-item\">\r\n @if (!DisplayMode && !Readonly && !par.isreadonly && canDeleteRepeaterItem(item_rep)) {\r\n <div class=\"pars-repeater-item-header\">\r\n <button type=\"button\" class=\"btn pars-repeater-remove\" [class.btn-danger]=\"!ModernStyles\" (click)=\"removeRepeaterItem(par, j)\">\r\n <span class=\"fa fa-remove\">&nbsp;</span><span>{{ 'Rimuovi' | localize : lc }}</span>\r\n </button>\r\n </div>\r\n }\r\n <es-parameters [(ngModel)]=\"par.value[j]\" name=\"{{item.index}}par{{i}}_{{par.id}}_rep{{j}}\" [ngModelOptions]=\"{ standalone: true }\"\r\n [NamePrefix]=\"NamePrefix + par.id + '_' + j + '_'\"\r\n [Form]=\"Form\" [DisplayMode]=\"DisplayMode\" [Readonly]=\"Readonly || par.isreadonly\"\r\n [ListFormat]=\"ListFormat\" [MultiselectMode]=\"MultiselectMode\" [RepeaterAddRemoveServerSide]=\"RepeaterAddRemoveServerSide\"\r\n [LabelColWidth]=\"LabelColWidth\" [InputColWidth]=\"InputColWidth\" [RepeaterAddRemove]=\"RepeaterAddRemove\"\r\n [BooleanSliderMode]=\"BooleanSliderMode\" [AutocompleteHideChoicesOnSelection]=\"AutocompleteHideChoicesOnSelection\"\r\n [AutoCompleteDataRetrieve]=\"AutoCompleteDataRetrieve\" [ParentCustomTemplates]=\"MergedCustomTemplates\"\r\n [ModernStyles]=\"ModernStyles\" [SubgroupColumns]=\"SubgroupColumns\" [LabelFixedWidth]=\"LabelFixedWidth\" [LabelAutoWidth]=\"LabelAutoWidth\" [LabelAutoWidthIgnoresCheckboxes]=\"LabelAutoWidthIgnoresCheckboxes\" [FileMode]=\"FileMode\"\r\n (ngModelChange)=\"changed();\" (inputFinalized)=\"onInputFinalized($event);\">\r\n </es-parameters>\r\n </div>\r\n }\r\n\r\n @if (!DisplayMode && !Readonly && !par.isreadonly && canAddRepeaterItem(par)) {\r\n <button type=\"button\" class=\"btn pars-repeater-add\" [class.btn-primary]=\"!ModernStyles\" (click)=\"addRepeaterItem(par)\">\r\n <span class=\"fa fa-plus\">&nbsp;</span><span>{{ 'Aggiungi' | localize : lc }}</span>\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n @default {\r\n @if (getCustomTemplate(par.type)) {\r\n <div class=\"col-md-{{InputColWidth}}\">\r\n <ng-container *ngTemplateOutlet=\"getCustomTemplate(par.type); context: {\r\n $implicit: par,\r\n par: par,\r\n changed: boundChanged,\r\n finalized: boundFinalized,\r\n Form: Form,\r\n DisplayMode: DisplayMode,\r\n Readonly: Readonly,\r\n InputColWidth: InputColWidth,\r\n index: item.index\r\n }\"></ng-container>\r\n </div>\r\n }\r\n }\r\n }\r\n\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n }\r\n }\r\n }\r\n <div *ngIf=\"DisplayMode && AllParametersEmpty && HideEmpty\" class=\"card card-info app-padding-10 app-no-margin app-white-text\">\r\n Non &egrave; presente nulla da visualizzare\r\n </div>\r\n </div>\r\n }\r\n</ng-template>", styles: ["@charset \"UTF-8\";.list-area{position:fixed}.pars-group-title{background:#ddd;margin-bottom:7px;padding:5px;text-transform:uppercase;font-weight:700;text-align:center;color:#333;font-size:13px}.pars-subgroup-title{font-weight:700;color:#333;font-size:16px}.pars-group{margin-left:0}.pars-subgroup{margin-left:15px}.pars-repeater-item{border:1px solid #ddd;border-radius:4px;padding:10px 10px 10px 15px;margin-bottom:10px}.pars-repeater-item-header{display:flex;justify-content:flex-end;margin-bottom:8px}.pars-repeater-remove{cursor:pointer}.pars-repeater-add{margin-top:5px}.pars-group-box{border:1px solid #ddd;padding-left:15px;padding-right:15px}.pars-fixed-label{display:flex;align-items:flex-start;flex-wrap:nowrap}.pars-fixed-label>label{flex:0 0 var(--pars-label-width);width:var(--pars-label-width);max-width:var(--pars-label-width)}.pars-fixed-label>div{flex:1 1 auto;max-width:none;min-width:0}.pars-modern .pars-group-box{border:1px solid #e3e8ef;border-radius:8px;padding:16px 16px 4px;margin-bottom:16px;background:#fff;box-shadow:0 1px 2px #1018280d}.pars-modern .pars-group-title{background:transparent;color:#1f2a37;text-transform:none;text-align:left;font-size:14px;font-weight:600;letter-spacing:.01em;padding:0 0 8px;margin-bottom:14px;border-bottom:2px solid #e3e8ef}.pars-modern .pars-subgroup-title{color:#1f2a37;font-size:14px;font-weight:600;padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid #eef1f5}.pars-modern .pars-repeater-item{border:1px solid #e3e8ef;border-radius:10px;padding:14px 16px 2px;margin-bottom:14px;background:#f8fafc;box-shadow:0 1px 2px #1018280a}.pars-modern .pars-repeater-item-header{margin-bottom:6px}.pars-modern .pars-repeater-remove{background:transparent;border:1px solid transparent;color:#d92d20;padding:2px 8px;font-size:13px;font-weight:500;line-height:1.5;border-radius:6px;box-shadow:none;transition:background-color .15s ease,color .15s ease}.pars-modern .pars-repeater-remove:hover,.pars-modern .pars-repeater-remove:focus{background:#d92d2014;color:#b42318;box-shadow:none}.pars-modern .pars-repeater-add{background:#eff4ff;border:1px solid #cddbfe;color:#175cd3;padding:6px 14px;font-size:13px;font-weight:500;line-height:1.5;border-radius:8px;box-shadow:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.pars-modern .pars-repeater-add:hover,.pars-modern .pars-repeater-add:focus{background:#e0e9ff;border-color:#b4c9fc;color:#1849a9;box-shadow:none}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: 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.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.EsFormInputComponent, selector: "form-input", inputs: ["minlength", "maxlength", "pattern", "Password", "Type"] }, { kind: "component", type: i5.EsFormSelectComponent, selector: "form-select", inputs: ["OptionsTemplate"] }, { kind: "component", type: i5.EsFormDateComponent, selector: "form-date", inputs: ["InOutFormat", "FloatingLabel", "DateFormat"] }, { kind: "component", type: i5.EsFormCheckboxComponent, selector: "form-checkbox", inputs: ["SliderMode"] }, { kind: "component", type: i5.EsFormInfoComponent, selector: "form-info", inputs: ["LabelColWidth", "InputColWidth", "Last", "FormGroupClass", "LabelInputRatio"] }, { kind: "component", type: i5.EsFormFileComponent, selector: "form-file", inputs: ["Multiple", "AllowDownload", "MaxSize", "FancyMode", "ReadFile", "AdditiveMode"] }, { kind: "component", type: i5.EsFormMultiselectComponent, selector: "form-multiselect", inputs: ["display", "InOutFormat", "FloatingLabel", "MaxShownElements"] }, { kind: "component", type: i5.EsFormAutocompleteComponent, selector: "form-autocomplete", inputs: ["MinChars", "SearchFunctionContext", "SearchFunction", "multiple", "forceSelection"] }, { kind: "component", type: EsParametersComponent, selector: "es-parameters", inputs: ["ParentCustomTemplates", "NamePrefix", "BooleanSliderMode", "DisplayMode", "HideEmpty", "LastParameterNoMargin", "LabelColWidth", "InputColWidth", "LabelFixedWidth", "LabelAutoWidth", "LabelAutoWidthIgnoresCheckboxes", "ModernStyles", "SubgroupColumns", "submitted", "RepeaterAddRemoveServerSide", "RepeaterAddRemove", "EmptyMessage", "Removal", "Readonly", "ListFormat", "FileMode", "Form", "AutocompleteHideChoicesOnSelection", "AutoCompleteDataRetrieve", "MultiselectMode", "LabelInputRatio"], outputs: ["inputFinalized"] }, { kind: "pipe", type: i2.LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None }); }
956
956
  }
957
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: EsParametersComponent, decorators: [{
957
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersComponent, decorators: [{
958
958
  type: Component,
959
959
  args: [{ selector: "es-parameters", providers: [
960
960
  { provide: LocalizationService, useClass: EsParametersLoc },
@@ -1024,17 +1024,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImpo
1024
1024
  }] } });
1025
1025
 
1026
1026
  class EsParametersModule {
1027
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: EsParametersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1028
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.33", ngImport: i0, type: EsParametersModule, declarations: [EsParametersComponent, ParameterTypeDirective], imports: [CommonModule,
1027
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1028
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.34", ngImport: i0, type: EsParametersModule, declarations: [EsParametersComponent, ParameterTypeDirective], imports: [CommonModule,
1029
1029
  LocalizationModule,
1030
1030
  FormsModule,
1031
1031
  FormsAndValidationsModule], exports: [EsParametersComponent, ParameterTypeDirective] }); }
1032
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: EsParametersModule, imports: [CommonModule,
1032
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersModule, imports: [CommonModule,
1033
1033
  LocalizationModule,
1034
1034
  FormsModule,
1035
1035
  FormsAndValidationsModule] }); }
1036
1036
  }
1037
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: EsParametersModule, decorators: [{
1037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersModule, decorators: [{
1038
1038
  type: NgModule,
1039
1039
  args: [{
1040
1040
  declarations: [EsParametersComponent, ParameterTypeDirective],
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@esfaenza/parameters",
3
- "version": "20.3.64",
3
+ "version": "20.3.66",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
7
7
  "peerDependencies": {
8
- "@esfaenza/access-control": "^20.3.22",
9
- "@esfaenza/extensions": "^20.3.29",
10
- "@esfaenza/forms-and-validations": "^20.3.32",
11
- "@esfaenza/localizations": "^20.3.25",
12
- "@angular/common": "^20.3.33",
13
- "@angular/core": "^20.3.33",
14
- "@angular/forms": "^20.3.33",
8
+ "@esfaenza/access-control": "^20.3.24",
9
+ "@esfaenza/extensions": "^20.3.31",
10
+ "@esfaenza/forms-and-validations": "^20.3.35",
11
+ "@esfaenza/localizations": "^20.3.27",
12
+ "@angular/common": "^20.3.34",
13
+ "@angular/core": "^20.3.34",
14
+ "@angular/forms": "^20.3.34",
15
15
  "dayjs": "1.11.23",
16
16
  "sweetalert2": "11.26.25",
17
17
  "@primeng/themes": "20.4.0",