@esfaenza/parameters 20.3.69 → 20.3.70

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.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 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.35", 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.35", ngImport: i0, type: EsParametersLoc }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersLoc, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.35", 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.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 }); }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.35", 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.35", type: ParameterTypeDirective, isStandalone: false, selector: "[parameterType]", inputs: { parameterType: "parameterType" }, ngImport: i0 }); }
90
90
  }
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: ParameterTypeDirective, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.35", ngImport: i0, type: ParameterTypeDirective, decorators: [{
92
92
  type: Directive,
93
93
  args: [{
94
94
  selector: "[parameterType]",
@@ -958,8 +958,8 @@ class EsParametersComponent {
958
958
  onInputFinalized(parameter) {
959
959
  this.inputFinalized.emit(parameter);
960
960
  }
961
- 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 }); }
962
- 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: [
961
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.35", ngImport: i0, type: EsParametersComponent, deps: [{ token: i1.UtilityService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.DateService }], target: i0.ɵɵFactoryTarget.Component }); }
962
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.35", 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: [
963
963
  { provide: LocalizationService, useClass: EsParametersLoc },
964
964
  {
965
965
  provide: NG_VALUE_ACCESSOR,
@@ -968,7 +968,7 @@ class EsParametersComponent {
968
968
  }
969
969
  ], 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 (repeaterItemLabel(par, j) || (!DisplayMode && !Readonly && !par.isreadonly && canDeleteRepeaterItem(item_rep))) {\r\n <div class=\"pars-repeater-item-header\">\r\n @if (repeaterItemLabel(par, j)) {\r\n <span class=\"pars-repeater-item-title\">{{ repeaterItemLabel(par, j) }}</span>\r\n }\r\n @if (!DisplayMode && !Readonly && !par.isreadonly && canDeleteRepeaterItem(item_rep)) {\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>{{ par.removelabel || ('Rimuovi' | localize : lc) }}</span>\r\n </button>\r\n }\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>{{ par.addlabel || ('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-item-title{margin-right:auto;align-self:center;font-weight:600}.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-item-title{color:#1f2a37;font-size:14px}.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 }); }
970
970
  }
971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersComponent, decorators: [{
971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.35", ngImport: i0, type: EsParametersComponent, decorators: [{
972
972
  type: Component,
973
973
  args: [{ selector: "es-parameters", providers: [
974
974
  { provide: LocalizationService, useClass: EsParametersLoc },
@@ -1038,17 +1038,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.34", ngImpo
1038
1038
  }] } });
1039
1039
 
1040
1040
  class EsParametersModule {
1041
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1042
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.34", ngImport: i0, type: EsParametersModule, declarations: [EsParametersComponent, ParameterTypeDirective], imports: [CommonModule,
1041
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.35", ngImport: i0, type: EsParametersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1042
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.35", ngImport: i0, type: EsParametersModule, declarations: [EsParametersComponent, ParameterTypeDirective], imports: [CommonModule,
1043
1043
  LocalizationModule,
1044
1044
  FormsModule,
1045
1045
  FormsAndValidationsModule], exports: [EsParametersComponent, ParameterTypeDirective] }); }
1046
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersModule, imports: [CommonModule,
1046
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.35", ngImport: i0, type: EsParametersModule, imports: [CommonModule,
1047
1047
  LocalizationModule,
1048
1048
  FormsModule,
1049
1049
  FormsAndValidationsModule] }); }
1050
1050
  }
1051
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.34", ngImport: i0, type: EsParametersModule, decorators: [{
1051
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.35", ngImport: i0, type: EsParametersModule, decorators: [{
1052
1052
  type: NgModule,
1053
1053
  args: [{
1054
1054
  declarations: [EsParametersComponent, ParameterTypeDirective],
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@esfaenza/parameters",
3
- "version": "20.3.69",
3
+ "version": "20.3.70",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
7
7
  "peerDependencies": {
8
- "@esfaenza/access-control": "^20.3.26",
9
- "@esfaenza/extensions": "^20.3.34",
10
- "@esfaenza/forms-and-validations": "^20.3.37",
11
- "@esfaenza/localizations": "^20.3.29",
8
+ "@esfaenza/access-control": "^20.3.27",
9
+ "@esfaenza/extensions": "^20.3.35",
10
+ "@esfaenza/forms-and-validations": "^20.3.38",
11
+ "@esfaenza/localizations": "^20.3.30",
12
12
  "@angular/common": "^20.3.34",
13
13
  "@angular/core": "^20.3.34",
14
14
  "@angular/forms": "^20.3.34",