superlikers-dynamic-forms 0.2.2 → 0.3.3

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.
@@ -0,0 +1,27 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component } from '@angular/core';
3
+ import { BaseControlComponent, controlProvider, ValidatorMessageDirective, HelpTextDirective, sharedControlDeps } from './superlikers-dynamic-forms.mjs';
4
+ import * as i1 from '@angular/common';
5
+ import * as i2 from '@angular/forms';
6
+
7
+ class SelectFieldComponent extends BaseControlComponent {
8
+ ngOnInit() {
9
+ this.initialize();
10
+ this.setSelectedOption();
11
+ }
12
+ setSelectedOption() {
13
+ const selectedOption = this.control.control.options?.find(option => option.selected);
14
+ if (!selectedOption)
15
+ return;
16
+ this.formControl.setValue(selectedOption.value);
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: SelectFieldComponent, isStandalone: true, selector: "app-radio-field", usesInheritance: true, ngImport: i0, template: "@if (control.control.label) {\n <label for=\"\">{{ control.control.label }}</label>\n}\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: SelectFieldComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'app-radio-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "@if (control.control.label) {\n <label for=\"\">{{ control.control.label }}</label>\n}\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n" }]
24
+ }] });
25
+
26
+ export { SelectFieldComponent };
27
+ //# sourceMappingURL=superlikers-dynamic-forms-select-field.component-c8Jgppy-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"superlikers-dynamic-forms-select-field.component-c8Jgppy-.mjs","sources":["../../../projects/dynamic-forms/src/lib/components/select-field/select-field.component.ts","../../../projects/dynamic-forms/src/lib/components/select-field/select-field.component.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-radio-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './select-field.component.html',\n standalone: true\n})\nexport class SelectFieldComponent extends BaseControlComponent implements OnInit {\n override ngOnInit() {\n this.initialize()\n\n this.setSelectedOption()\n }\n\n setSelectedOption() {\n const selectedOption = this.control.control.options?.find(option => option.selected)\n if (!selectedOption) return\n\n this.formControl.setValue(selectedOption.value)\n }\n}\n","@if (control.control.label) {\n <label for=\"\">{{ control.control.label }}</label>\n}\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n"],"names":["i3.ValidatorMessageDirective","i4.HelpTextDirective"],"mappings":";;;;;;AAUM,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;IACnD,QAAQ,GAAA;QACf,IAAI,CAAC,UAAU,EAAE;QAEjB,IAAI,CAAC,iBAAiB,EAAE;;IAG1B,iBAAiB,GAAA;QACf,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC;AACpF,QAAA,IAAI,CAAC,cAAc;YAAE;QAErB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;;8GAXtC,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECVjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qiBAqBA,EDfiB,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAC,eAAe,CAAC,EAAA,CAAA,CAAA;;2FAIrB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,GAAG,iBAAiB,CAAC,iBAChB,CAAC,eAAe,CAAC,EAAA,UAAA,EAEpB,IAAI,EAAA,QAAA,EAAA,qiBAAA,EAAA;;;;;"}
@@ -52,7 +52,7 @@ class ControlResolver {
52
52
  radio: () => Promise.resolve().then(function () { return radioField_component; }).then(c => c.RadioFieldComponent),
53
53
  checkbox: () => Promise.resolve().then(function () { return checkboxField_component; }).then(c => c.CheckboxFieldComponent),
54
54
  'checkbox-group': () => Promise.resolve().then(function () { return checkboxGroupField_component; }).then(c => c.CheckboxGroupFieldComponent),
55
- select: () => import('./superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs').then(c => c.SelectFieldComponent)
55
+ select: () => import('./superlikers-dynamic-forms-select-field.component-c8Jgppy-.mjs').then(c => c.SelectFieldComponent)
56
56
  };
57
57
  this.loadedControlComponents = new Map();
58
58
  }
@@ -375,11 +375,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
375
375
 
376
376
  class CheckboxFieldComponent extends BaseControlComponent {
377
377
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: CheckboxFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
378
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.0", type: CheckboxFieldComponent, isStandalone: true, selector: "app-checkbox-field", usesInheritance: true, ngImport: i0, template: "<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
378
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: CheckboxFieldComponent, isStandalone: true, selector: "app-checkbox-field", usesInheritance: true, ngImport: i0, template: "<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n @if (control.control.label) {\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n }\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
379
379
  }
380
380
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
381
381
  type: Component,
382
- args: [{ selector: 'app-checkbox-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n" }]
382
+ args: [{ selector: 'app-checkbox-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n @if (control.control.label) {\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n }\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n" }]
383
383
  }] });
384
384
 
385
385
  var checkboxField_component = /*#__PURE__*/Object.freeze({
@@ -405,11 +405,11 @@ class CheckboxGroupFieldComponent extends BaseControlComponent {
405
405
  }
406
406
  }
407
407
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: CheckboxGroupFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
408
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: CheckboxGroupFieldComponent, isStandalone: true, selector: "app-checkbox-group-field", usesInheritance: true, ngImport: i0, template: "<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }, { kind: "directive", type: ValidatorArrayMessageDirective, selector: "[appValidatorArrayMessage]" }], viewProviders: [controlProvider] }); }
408
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: CheckboxGroupFieldComponent, isStandalone: true, selector: "app-checkbox-group-field", usesInheritance: true, ngImport: i0, template: "@if (control.control.label) {\n <label for=\"\">\n {{ control.control.label }}\n </label>\n}\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }, { kind: "directive", type: ValidatorArrayMessageDirective, selector: "[appValidatorArrayMessage]" }], viewProviders: [controlProvider] }); }
409
409
  }
410
410
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: CheckboxGroupFieldComponent, decorators: [{
411
411
  type: Component,
412
- args: [{ selector: 'app-checkbox-group-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n" }]
412
+ args: [{ selector: 'app-checkbox-group-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "@if (control.control.label) {\n <label for=\"\">\n {{ control.control.label }}\n </label>\n}\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n" }]
413
413
  }] });
414
414
 
415
415
  var checkboxGroupField_component = /*#__PURE__*/Object.freeze({
@@ -438,11 +438,11 @@ var groupField_component = /*#__PURE__*/Object.freeze({
438
438
 
439
439
  class InputFieldComponent extends BaseControlComponent {
440
440
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: InputFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
441
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.0", type: InputFieldComponent, isStandalone: true, selector: "app-input-field", usesInheritance: true, ngImport: i0, template: "<label [for]=\"id\">\n {{ control.control.label }}\n</label>\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
441
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: InputFieldComponent, isStandalone: true, selector: "app-input-field", usesInheritance: true, ngImport: i0, template: "@if (control.control.label) {\n <label [for]=\"id\">\n {{ control.control.label }}\n </label>\n}\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
442
442
  }
443
443
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: InputFieldComponent, decorators: [{
444
444
  type: Component,
445
- args: [{ selector: 'app-input-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<label [for]=\"id\">\n {{ control.control.label }}\n</label>\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n" }]
445
+ args: [{ selector: 'app-input-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "@if (control.control.label) {\n <label [for]=\"id\">\n {{ control.control.label }}\n </label>\n}\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n" }]
446
446
  }] });
447
447
 
448
448
  var inputField_component = /*#__PURE__*/Object.freeze({
@@ -452,11 +452,11 @@ var inputField_component = /*#__PURE__*/Object.freeze({
452
452
 
453
453
  class RadioFieldComponent extends BaseControlComponent {
454
454
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: RadioFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
455
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: RadioFieldComponent, isStandalone: true, selector: "app-radio-field", usesInheritance: true, ngImport: i0, template: "<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
455
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: RadioFieldComponent, isStandalone: true, selector: "app-radio-field", usesInheritance: true, ngImport: i0, template: "@if (control.control.label) {\n <label for=\"\">\n {{ control.control.label }}\n </label>\n}\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
456
456
  }
457
457
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: RadioFieldComponent, decorators: [{
458
458
  type: Component,
459
- args: [{ selector: 'app-radio-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n" }]
459
+ args: [{ selector: 'app-radio-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "@if (control.control.label) {\n <label for=\"\">\n {{ control.control.label }}\n </label>\n}\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n" }]
460
460
  }] });
461
461
 
462
462
  var radioField_component = /*#__PURE__*/Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"superlikers-dynamic-forms.mjs","sources":["../../../projects/dynamic-forms/src/lib/utils/control-data.token.ts","../../../projects/dynamic-forms/src/lib/pipes/control-injector.pipe.ts","../../../projects/dynamic-forms/src/lib/models/forms.model.ts","../../../projects/dynamic-forms/src/lib/services/control-resolver/control-resolver.service.ts","../../../projects/dynamic-forms/src/lib/utils/validation-error-messages.token.ts","../../../projects/dynamic-forms/src/lib/components/errors/errors.component.ts","../../../projects/dynamic-forms/src/lib/directives/validator-message/validator-message.directive.ts","../../../projects/dynamic-forms/src/lib/components/help-text/help-text.component.ts","../../../projects/dynamic-forms/src/lib/directives/helpText/help-text.directive.ts","../../../projects/dynamic-forms/src/lib/directives/validator-array-message/validator-array-message.directive.ts","../../../projects/dynamic-forms/src/lib/components/base-control/base-control.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-field/checkbox-field.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-field/checkbox-field.component.html","../../../projects/dynamic-forms/src/lib/components/checkbox-group-field/checkbox-group-field.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-group-field/checkbox-group-field.component.html","../../../projects/dynamic-forms/src/lib/components/group-field/group-field.component.ts","../../../projects/dynamic-forms/src/lib/components/group-field/group-field.component.html","../../../projects/dynamic-forms/src/lib/components/input-field/input-field.component.ts","../../../projects/dynamic-forms/src/lib/components/input-field/input-field.component.html","../../../projects/dynamic-forms/src/lib/components/radio-field/radio-field.component.ts","../../../projects/dynamic-forms/src/lib/components/radio-field/radio-field.component.html","../../../projects/dynamic-forms/src/public-api.ts","../../../projects/dynamic-forms/src/superlikers-dynamic-forms.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\nimport { Control } from '../models/forms.model'\nimport { FormGroup } from '@angular/forms'\n\nexport interface ControlData {\n control: Control\n formGroup?: FormGroup\n index?: number\n}\n\nexport const CONTROL_DATA = new InjectionToken<ControlData>('Control Data')\n","import { Injector, Pipe, PipeTransform, inject } from '@angular/core'\nimport { Control } from '../models/forms.model'\nimport { CONTROL_DATA } from '../utils/control-data.token'\nimport { FormGroup } from '@angular/forms'\n\n@Pipe({\n name: 'controlInjector',\n standalone: true\n})\nexport class ControlInjector implements PipeTransform {\n injector = inject(Injector)\n\n transform(name: string, control: Control, formGroup?: FormGroup, index?: number): Injector {\n return Injector.create({\n parent: this.injector,\n providers: [\n {\n provide: CONTROL_DATA,\n useValue: { key: name, control, formGroup, index }\n }\n ]\n })\n }\n}\n","import { Type } from '@angular/core'\nimport { FormGroup, Validators } from '@angular/forms'\nimport { Observable } from 'rxjs'\n\nexport type ControlType = 'input' | 'group' | 'checkbox' | 'checkbox-group' | 'radio' | 'select'\n\nexport enum ControlTypeValues {\n INPUT = 'input',\n GROUP = 'group',\n CHECKBOX = 'checkbox',\n CHECKBOX_GROUP = 'checkbox-group',\n RADIO = 'radio',\n SELECT = 'select'\n}\n\nexport interface Option {\n label: string\n value: unknown\n selected?: boolean\n disabled?: boolean\n}\n\ntype CustomValidators = object\ntype ValidatorsKeys = keyof Omit<typeof Validators & CustomValidators, 'prototype' | 'compose' | 'composeAsync'>\n\nexport interface Control {\n id: number\n label: string\n name: string\n controlType: ControlType\n helpText?: string\n type?: string\n value?: unknown\n placeholder?: string\n disabled?: (form: FormGroup) => boolean\n asyncOptions?: (form: FormGroup) => Observable<Option[]>\n options?: Option[]\n controls?: Control[]\n visible?: (form: FormGroup) => boolean\n validators?: {\n [key in ValidatorsKeys]?: unknown\n }\n}\n\nexport type ControlMap = {\n [T in Control['controlType']]: () => Promise<Type<unknown>>\n}\n","import { Injectable, Type } from '@angular/core'\nimport { distinctUntilChanged, from, map, of, tap } from 'rxjs'\n\nimport { Control, ControlMap } from '../../models/forms.model'\nimport { FormGroup } from '@angular/forms'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ControlResolver {\n private lazyControlComponents: ControlMap = {\n input: () => import('../../components/input-field/input-field.component').then(c => c.InputFieldComponent),\n group: () => import('../../components/group-field/group-field.component').then(c => c.GroupFieldComponent),\n radio: () => import('../../components/radio-field/radio-field.component').then(c => c.RadioFieldComponent),\n checkbox: () => import('../../components/checkbox-field/checkbox-field.component').then(c => c.CheckboxFieldComponent),\n 'checkbox-group': () => import('../../components/checkbox-group-field/checkbox-group-field.component').then(c => c.CheckboxGroupFieldComponent),\n select: () => import('../../components/select-field/select-field.component').then(c => c.SelectFieldComponent)\n }\n\n private loadedControlComponents = new Map<string, Type<unknown>>()\n\n resolve(control: Control, form: FormGroup) {\n const controlType = control.controlType\n\n const isVisible = this.checkVisible(control, form)\n\n if (!isVisible) return\n\n const loadedComponent = this.loadedControlComponents.get(controlType)\n\n if (loadedComponent) return of(loadedComponent)\n\n return from(this.lazyControlComponents[controlType]()).pipe(\n tap(component => {\n this.loadedControlComponents.set(controlType, component)\n })\n )\n }\n\n checkVisible(control: Control, form: FormGroup) {\n if (!control.visible) return true\n return control.visible(form)\n }\n\n toggleControlDisability(controls: Control[], form: FormGroup) {\n return form.valueChanges.pipe(\n distinctUntilChanged((prev, current) => {\n return JSON.stringify(prev) === JSON.stringify(current)\n }),\n map(() => {\n controls.forEach(control => {\n if (control.disabled) {\n const disabled = control.disabled(form)\n if (disabled) {\n form.get(control.name)?.disable()\n } else {\n form.get(control.name)?.enable()\n }\n }\n })\n })\n )\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InjectionToken } from '@angular/core'\n\nexport const ERROR_MESSAGES: { [key: string]: (args?: any) => string } = {\n required: () => `This field is required`,\n requiredTrue: () => `This field is required`,\n pattern: () => `Does not match the pattern`,\n email: () => `Must be a valid email`,\n minlength: ({ requiredLength }) => `Length must be at least ${requiredLength} characters`,\n customError: error => error\n}\n\nexport const ERROR_MESSAGES_ES: { [key: string]: (args?: any) => string } = {\n required: () => `Este campo es obligatorio`,\n requiredTrue: () => `Este campo es obligatorio`,\n pattern: () => `No coincide con el patrón`,\n email: () => `Debe ser un correo electrónico válido`,\n minlength: ({ requiredLength }) => `La longitud debe ser al menos de ${requiredLength} caracteres`,\n customError: error => error\n}\n\nexport const VALIDATION_ERROR_MESSAGES = new InjectionToken(`Validation Messages`, {\n providedIn: 'root',\n factory: () => ERROR_MESSAGES\n})\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { KeyValue, KeyValuePipe } from '@angular/common'\nimport { ChangeDetectionStrategy, Component, HostBinding, Input, inject } from '@angular/core'\nimport { ValidationErrors } from '@angular/forms'\n\nimport { VALIDATION_ERROR_MESSAGES } from '../../utils/validation-error-messages.token'\n\n@Component({\n selector: 'app-errors',\n imports: [KeyValuePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @for (error of errors | keyvalue; track error.key) {\n <div class=\"error-text\">{{ getError(error) }}</div>\n }\n `,\n standalone: true\n})\nexport class ErrorsComponent {\n @Input() errors: ValidationErrors | null | undefined = null\n\n @HostBinding('class') hostClass = ''\n\n protected errorsMap = inject(VALIDATION_ERROR_MESSAGES)\n\n getError(error: KeyValue<string, any>) {\n if (!this.errorsMap[error.key]) {\n console.warn(`missing message for ${error.key}`)\n return\n }\n\n return this.errorsMap[error.key](error.value)\n }\n}\n","import { ComponentRef, Directive, ElementRef, OnDestroy, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { NgControl, NgForm, FormGroupDirective, ControlContainer } from '@angular/forms'\nimport { Subscription, merge, fromEvent, iif, EMPTY, startWith } from 'rxjs'\n\nimport { ErrorsComponent } from '../../components/errors/errors.component'\n\n@Directive({\n selector: '[appValidatorMessage]',\n standalone: true\n})\nexport class ValidatorMessageDirective implements OnInit, OnDestroy {\n ngControl = inject(NgControl, { self: true })\n elementRef = inject(ElementRef)\n\n private componentRef: ComponentRef<ErrorsComponent> | null = null\n\n get form() {\n return this.parentContainer?.formDirective as NgForm | FormGroupDirective | null\n }\n\n private parentContainer = inject(ControlContainer, { optional: true })\n private vcr = inject(ViewContainerRef)\n\n controlSubscription!: Subscription\n\n ngOnInit() {\n if (!this.ngControl.control) return\n\n this.controlSubscription = merge(\n this.ngControl.control.statusChanges,\n fromEvent(this.elementRef.nativeElement, 'blur'),\n iif(() => !!this.form, this.form!.ngSubmit, EMPTY)\n )\n .pipe(startWith(this.ngControl.control.status))\n .subscribe(() => {\n if (this.ngControl.errors && this.form?.submitted) {\n if (this.componentRef) return\n\n this.componentRef = this.vcr.createComponent(ErrorsComponent)\n this.componentRef.changeDetectorRef.markForCheck()\n this.componentRef.setInput('errors', this.ngControl.errors)\n } else {\n this.componentRef?.destroy()\n this.componentRef = null\n }\n })\n }\n\n ngOnDestroy() {\n this.controlSubscription.unsubscribe()\n }\n}\n","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'app-help-text',\n imports: [],\n template: '<p class=\"help-text\">{{ message }}</p>',\n standalone: true\n})\nexport class HelpTextComponent {\n @Input() message = ''\n}\n","import { ComponentRef, Directive, ElementRef, Input, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { HelpTextComponent } from '../../components/help-text/help-text.component'\n\n@Directive({\n selector: '[appHelpText]',\n standalone: true\n})\nexport class HelpTextDirective implements OnInit {\n @Input() message = ''\n\n elementRef = inject(ElementRef)\n private vcr = inject(ViewContainerRef)\n private componentRef: ComponentRef<HelpTextComponent> | null = null\n\n ngOnInit() {\n if (!this.message) return\n\n this.componentRef = this.vcr.createComponent(HelpTextComponent)\n this.componentRef.setInput('message', this.message)\n }\n}\n","import { ComponentRef, Directive, ElementRef, OnDestroy, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { ControlContainer, FormGroupDirective, NgForm } from '@angular/forms'\nimport { EMPTY, Subscription, fromEvent, iif, merge, startWith } from 'rxjs'\nimport { ErrorsComponent } from '../../components/errors/errors.component'\n\n@Directive({\n selector: '[appValidatorArrayMessage]',\n standalone: true\n})\nexport class ValidatorArrayMessageDirective implements OnInit, OnDestroy {\n private controlSubscription!: Subscription\n\n private parentContainer = inject(ControlContainer)\n private vcr = inject(ViewContainerRef)\n elementRef = inject(ElementRef)\n\n private componentRef: ComponentRef<ErrorsComponent> | null = null\n\n get form() {\n return this.parentContainer?.formDirective as NgForm | FormGroupDirective | null\n }\n\n ngOnInit() {\n const formArray = this.parentContainer.control\n\n if (!formArray) return\n\n this.controlSubscription = merge(\n formArray.statusChanges,\n fromEvent(this.elementRef.nativeElement, 'blur'),\n iif(() => !!this.form, this.form!.ngSubmit, EMPTY)\n )\n .pipe(startWith(formArray.status))\n .subscribe(() => {\n if (formArray.errors && this.form?.submitted) {\n if (this.componentRef) return\n\n this.componentRef = this.vcr.createComponent(ErrorsComponent)\n this.componentRef.changeDetectorRef.markForCheck()\n this.componentRef.setInput('errors', formArray.errors)\n } else {\n this.componentRef?.destroy()\n this.componentRef = null\n }\n })\n }\n\n ngOnDestroy() {\n this.controlSubscription?.unsubscribe()\n }\n}\n","import { Directive, HostBinding, OnDestroy, OnInit, StaticProvider, inject } from '@angular/core'\nimport { AbstractControl, ControlContainer, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms'\nimport { AsyncPipe, CommonModule } from '@angular/common'\nimport { of } from 'rxjs'\n\nimport { CONTROL_DATA } from '../../utils/control-data.token'\nimport { Control } from '../../models/forms.model'\n\nimport { ValidatorMessageDirective } from '../../directives/validator-message/validator-message.directive'\nimport { HelpTextDirective } from '../../directives/helpText/help-text.directive'\nimport { ValidatorArrayMessageDirective } from '../../directives/validator-array-message/validator-array-message.directive'\n\nexport const sharedControlDeps = [CommonModule, ReactiveFormsModule, ValidatorMessageDirective, HelpTextDirective, ValidatorArrayMessageDirective, AsyncPipe]\n\nexport const controlProvider: StaticProvider = {\n provide: ControlContainer,\n useFactory: () => inject(ControlContainer, { skipSelf: true })\n}\n\n@Directive()\nexport class BaseControlComponent implements OnInit, OnDestroy {\n @HostBinding('class') hostClass = ''\n\n control = inject(CONTROL_DATA)\n\n formControl: AbstractControl = new FormControl(this.control.control.value, this.resolveValidators(this.control.control))\n id = this.control.control.name + this.control.control.id + (this.control.index ?? '')\n\n private parentGroupDir = inject(ControlContainer)\n\n get parentFormGroup() {\n return this.parentGroupDir.control as FormGroup\n }\n\n ngOnInit() {\n this.initialize()\n }\n\n ngOnDestroy() {\n this.destroy()\n }\n\n initialize() {\n if (this.control.formGroup) {\n this.control.formGroup.addControl(this.control.control.name, this.formControl)\n } else {\n this.parentFormGroup.addControl(this.control.control.name, this.formControl)\n }\n\n this.hostClass = `field wrapper-${this.control.control.name}`\n }\n\n destroy() {\n if (this.control.formGroup) return\n else this.parentFormGroup.removeControl(this.control.control.name)\n }\n\n resolveValidators({ validators = {} }: Control) {\n const validatorsKeys = Object.keys(validators) as Array<keyof typeof validators>\n\n return validatorsKeys.map(key => {\n const value = validators[key]\n\n if (key === 'required') {\n return Validators.required\n }\n\n if (key === 'email') {\n return Validators.email\n }\n\n if (key === 'requiredTrue') {\n return Validators.requiredTrue\n }\n\n if (key === 'minLength' && typeof value === 'number') {\n return Validators.minLength(value)\n }\n\n if (key === 'pattern' && typeof value === 'string') {\n return Validators.pattern(value)\n }\n\n return Validators.nullValidator\n })\n }\n\n getOptions() {\n if (this.control.control.options) {\n return of(this.control.control.options)\n }\n\n if (!this.control.control.asyncOptions) return of([])\n\n return this.control.control.asyncOptions(this.parentFormGroup)\n }\n}\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-checkbox-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './checkbox-field.component.html',\n standalone: true\n})\nexport class CheckboxFieldComponent extends BaseControlComponent {}\n","<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { FormArray, FormControl } from '@angular/forms'\n\n@Component({\n selector: 'app-checkbox-group-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './checkbox-group-field.component.html',\n standalone: true\n})\nexport class CheckboxGroupFieldComponent extends BaseControlComponent {\n override formControl = new FormArray<FormControl>([], this.resolveValidators(this.control.control))\n\n change(event: Event) {\n const element = event.target as HTMLInputElement\n const value = element.value as never\n\n const index = this.formControl.value.indexOf(value)\n if (index === -1) {\n const fc = new FormControl(value)\n this.formControl.push(fc)\n } else {\n this.formControl.removeAt(index)\n }\n }\n}\n","<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n","import { Component, OnInit, inject } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { FormGroup } from '@angular/forms'\nimport { ControlResolver } from '../../services/control-resolver/control-resolver.service'\nimport { ControlInjector } from '../../pipes/control-injector.pipe'\n\n@Component({\n selector: 'app-group-field',\n imports: [...sharedControlDeps, ControlInjector],\n viewProviders: [controlProvider],\n templateUrl: './group-field.component.html',\n standalone: true\n})\nexport class GroupFieldComponent extends BaseControlComponent implements OnInit {\n controlResolver = inject(ControlResolver)\n\n override formControl = new FormGroup({})\n}\n","<div [formGroupName]=\"control.control.name\">\n @for (control of control.control.controls; track control.name) {\n <ng-container\n [ngComponentOutlet]=\"controlResolver.resolve(control, parentFormGroup) | async\"\n [ngComponentOutletInjector]=\"control.name | controlInjector: control\">\n </ng-container>\n }\n</div>\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-input-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './input-field.component.html',\n standalone: true\n})\nexport class InputFieldComponent extends BaseControlComponent {}\n","<label [for]=\"id\">\n {{ control.control.label }}\n</label>\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-radio-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './radio-field.component.html',\n standalone: true\n})\nexport class RadioFieldComponent extends BaseControlComponent {}\n","<label for=\"\">\n {{ control.control.label }}\n</label>\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n","/*\n * Public API Surface of ngx-dynamic-forms\n */\n\nexport * from './lib/pipes/control-injector.pipe'\nexport * from './lib/models/forms.model'\nexport * from './lib/services/control-resolver/control-resolver.service'\n\nexport * from './lib/components/base-control/base-control.component'\nexport * from './lib/components/checkbox-field/checkbox-field.component'\nexport * from './lib/components/checkbox-group-field/checkbox-group-field.component'\nexport * from './lib/components/errors/errors.component'\nexport * from './lib/components/group-field/group-field.component'\nexport * from './lib/components/help-text/help-text.component'\nexport * from './lib/components/input-field/input-field.component'\nexport * from './lib/components/radio-field/radio-field.component'\n\nexport * from './lib/directives/helpText/help-text.directive'\nexport * from './lib/directives/validator-array-message/validator-array-message.directive'\nexport * from './lib/directives/validator-message/validator-message.directive'\n\nexport * from './lib/utils/control-data.token'\nexport * from './lib/utils/validation-error-messages.token'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.ValidatorMessageDirective","i4.HelpTextDirective","i3.HelpTextDirective","i4.ValidatorArrayMessageDirective"],"mappings":"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"}
1
+ {"version":3,"file":"superlikers-dynamic-forms.mjs","sources":["../../../projects/dynamic-forms/src/lib/utils/control-data.token.ts","../../../projects/dynamic-forms/src/lib/pipes/control-injector.pipe.ts","../../../projects/dynamic-forms/src/lib/models/forms.model.ts","../../../projects/dynamic-forms/src/lib/services/control-resolver/control-resolver.service.ts","../../../projects/dynamic-forms/src/lib/utils/validation-error-messages.token.ts","../../../projects/dynamic-forms/src/lib/components/errors/errors.component.ts","../../../projects/dynamic-forms/src/lib/directives/validator-message/validator-message.directive.ts","../../../projects/dynamic-forms/src/lib/components/help-text/help-text.component.ts","../../../projects/dynamic-forms/src/lib/directives/helpText/help-text.directive.ts","../../../projects/dynamic-forms/src/lib/directives/validator-array-message/validator-array-message.directive.ts","../../../projects/dynamic-forms/src/lib/components/base-control/base-control.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-field/checkbox-field.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-field/checkbox-field.component.html","../../../projects/dynamic-forms/src/lib/components/checkbox-group-field/checkbox-group-field.component.ts","../../../projects/dynamic-forms/src/lib/components/checkbox-group-field/checkbox-group-field.component.html","../../../projects/dynamic-forms/src/lib/components/group-field/group-field.component.ts","../../../projects/dynamic-forms/src/lib/components/group-field/group-field.component.html","../../../projects/dynamic-forms/src/lib/components/input-field/input-field.component.ts","../../../projects/dynamic-forms/src/lib/components/input-field/input-field.component.html","../../../projects/dynamic-forms/src/lib/components/radio-field/radio-field.component.ts","../../../projects/dynamic-forms/src/lib/components/radio-field/radio-field.component.html","../../../projects/dynamic-forms/src/public-api.ts","../../../projects/dynamic-forms/src/superlikers-dynamic-forms.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\nimport { Control } from '../models/forms.model'\nimport { FormGroup } from '@angular/forms'\n\nexport interface ControlData {\n control: Control\n formGroup?: FormGroup\n index?: number\n}\n\nexport const CONTROL_DATA = new InjectionToken<ControlData>('Control Data')\n","import { Injector, Pipe, PipeTransform, inject } from '@angular/core'\nimport { Control } from '../models/forms.model'\nimport { CONTROL_DATA } from '../utils/control-data.token'\nimport { FormGroup } from '@angular/forms'\n\n@Pipe({\n name: 'controlInjector',\n standalone: true\n})\nexport class ControlInjector implements PipeTransform {\n injector = inject(Injector)\n\n transform(name: string, control: Control, formGroup?: FormGroup, index?: number): Injector {\n return Injector.create({\n parent: this.injector,\n providers: [\n {\n provide: CONTROL_DATA,\n useValue: { key: name, control, formGroup, index }\n }\n ]\n })\n }\n}\n","import { Type } from '@angular/core'\nimport { FormGroup, Validators } from '@angular/forms'\nimport { Observable } from 'rxjs'\n\nexport type ControlType = 'input' | 'group' | 'checkbox' | 'checkbox-group' | 'radio' | 'select'\n\nexport enum ControlTypeValues {\n INPUT = 'input',\n GROUP = 'group',\n CHECKBOX = 'checkbox',\n CHECKBOX_GROUP = 'checkbox-group',\n RADIO = 'radio',\n SELECT = 'select'\n}\n\nexport interface Option {\n label: string\n value: unknown\n selected?: boolean\n disabled?: boolean\n}\n\ntype CustomValidators = object\ntype ValidatorsKeys = keyof Omit<typeof Validators & CustomValidators, 'prototype' | 'compose' | 'composeAsync'>\n\nexport interface Control {\n id: number\n label?: string\n name: string\n controlType: ControlType\n helpText?: string\n type?: string\n value?: unknown\n placeholder?: string\n disabled?: (form: FormGroup) => boolean\n asyncOptions?: (form: FormGroup) => Observable<Option[]>\n options?: Option[]\n controls?: Control[]\n visible?: (form: FormGroup) => boolean\n validators?: {\n [key in ValidatorsKeys]?: unknown\n }\n}\n\nexport type ControlMap = {\n [T in Control['controlType']]: () => Promise<Type<unknown>>\n}\n","import { Injectable, Type } from '@angular/core'\nimport { distinctUntilChanged, from, map, of, tap } from 'rxjs'\n\nimport { Control, ControlMap } from '../../models/forms.model'\nimport { FormGroup } from '@angular/forms'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ControlResolver {\n private lazyControlComponents: ControlMap = {\n input: () => import('../../components/input-field/input-field.component').then(c => c.InputFieldComponent),\n group: () => import('../../components/group-field/group-field.component').then(c => c.GroupFieldComponent),\n radio: () => import('../../components/radio-field/radio-field.component').then(c => c.RadioFieldComponent),\n checkbox: () => import('../../components/checkbox-field/checkbox-field.component').then(c => c.CheckboxFieldComponent),\n 'checkbox-group': () => import('../../components/checkbox-group-field/checkbox-group-field.component').then(c => c.CheckboxGroupFieldComponent),\n select: () => import('../../components/select-field/select-field.component').then(c => c.SelectFieldComponent)\n }\n\n private loadedControlComponents = new Map<string, Type<unknown>>()\n\n resolve(control: Control, form: FormGroup) {\n const controlType = control.controlType\n\n const isVisible = this.checkVisible(control, form)\n\n if (!isVisible) return\n\n const loadedComponent = this.loadedControlComponents.get(controlType)\n\n if (loadedComponent) return of(loadedComponent)\n\n return from(this.lazyControlComponents[controlType]()).pipe(\n tap(component => {\n this.loadedControlComponents.set(controlType, component)\n })\n )\n }\n\n checkVisible(control: Control, form: FormGroup) {\n if (!control.visible) return true\n return control.visible(form)\n }\n\n toggleControlDisability(controls: Control[], form: FormGroup) {\n return form.valueChanges.pipe(\n distinctUntilChanged((prev, current) => {\n return JSON.stringify(prev) === JSON.stringify(current)\n }),\n map(() => {\n controls.forEach(control => {\n if (control.disabled) {\n const disabled = control.disabled(form)\n if (disabled) {\n form.get(control.name)?.disable()\n } else {\n form.get(control.name)?.enable()\n }\n }\n })\n })\n )\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InjectionToken } from '@angular/core'\n\nexport const ERROR_MESSAGES: { [key: string]: (args?: any) => string } = {\n required: () => `This field is required`,\n requiredTrue: () => `This field is required`,\n pattern: () => `Does not match the pattern`,\n email: () => `Must be a valid email`,\n minlength: ({ requiredLength }) => `Length must be at least ${requiredLength} characters`,\n customError: error => error\n}\n\nexport const ERROR_MESSAGES_ES: { [key: string]: (args?: any) => string } = {\n required: () => `Este campo es obligatorio`,\n requiredTrue: () => `Este campo es obligatorio`,\n pattern: () => `No coincide con el patrón`,\n email: () => `Debe ser un correo electrónico válido`,\n minlength: ({ requiredLength }) => `La longitud debe ser al menos de ${requiredLength} caracteres`,\n customError: error => error\n}\n\nexport const VALIDATION_ERROR_MESSAGES = new InjectionToken(`Validation Messages`, {\n providedIn: 'root',\n factory: () => ERROR_MESSAGES\n})\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { KeyValue, KeyValuePipe } from '@angular/common'\nimport { ChangeDetectionStrategy, Component, HostBinding, Input, inject } from '@angular/core'\nimport { ValidationErrors } from '@angular/forms'\n\nimport { VALIDATION_ERROR_MESSAGES } from '../../utils/validation-error-messages.token'\n\n@Component({\n selector: 'app-errors',\n imports: [KeyValuePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @for (error of errors | keyvalue; track error.key) {\n <div class=\"error-text\">{{ getError(error) }}</div>\n }\n `,\n standalone: true\n})\nexport class ErrorsComponent {\n @Input() errors: ValidationErrors | null | undefined = null\n\n @HostBinding('class') hostClass = ''\n\n protected errorsMap = inject(VALIDATION_ERROR_MESSAGES)\n\n getError(error: KeyValue<string, any>) {\n if (!this.errorsMap[error.key]) {\n console.warn(`missing message for ${error.key}`)\n return\n }\n\n return this.errorsMap[error.key](error.value)\n }\n}\n","import { ComponentRef, Directive, ElementRef, OnDestroy, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { NgControl, NgForm, FormGroupDirective, ControlContainer } from '@angular/forms'\nimport { Subscription, merge, fromEvent, iif, EMPTY, startWith } from 'rxjs'\n\nimport { ErrorsComponent } from '../../components/errors/errors.component'\n\n@Directive({\n selector: '[appValidatorMessage]',\n standalone: true\n})\nexport class ValidatorMessageDirective implements OnInit, OnDestroy {\n ngControl = inject(NgControl, { self: true })\n elementRef = inject(ElementRef)\n\n private componentRef: ComponentRef<ErrorsComponent> | null = null\n\n get form() {\n return this.parentContainer?.formDirective as NgForm | FormGroupDirective | null\n }\n\n private parentContainer = inject(ControlContainer, { optional: true })\n private vcr = inject(ViewContainerRef)\n\n controlSubscription!: Subscription\n\n ngOnInit() {\n if (!this.ngControl.control) return\n\n this.controlSubscription = merge(\n this.ngControl.control.statusChanges,\n fromEvent(this.elementRef.nativeElement, 'blur'),\n iif(() => !!this.form, this.form!.ngSubmit, EMPTY)\n )\n .pipe(startWith(this.ngControl.control.status))\n .subscribe(() => {\n if (this.ngControl.errors && this.form?.submitted) {\n if (this.componentRef) return\n\n this.componentRef = this.vcr.createComponent(ErrorsComponent)\n this.componentRef.changeDetectorRef.markForCheck()\n this.componentRef.setInput('errors', this.ngControl.errors)\n } else {\n this.componentRef?.destroy()\n this.componentRef = null\n }\n })\n }\n\n ngOnDestroy() {\n this.controlSubscription.unsubscribe()\n }\n}\n","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'app-help-text',\n imports: [],\n template: '<p class=\"help-text\">{{ message }}</p>',\n standalone: true\n})\nexport class HelpTextComponent {\n @Input() message = ''\n}\n","import { ComponentRef, Directive, ElementRef, Input, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { HelpTextComponent } from '../../components/help-text/help-text.component'\n\n@Directive({\n selector: '[appHelpText]',\n standalone: true\n})\nexport class HelpTextDirective implements OnInit {\n @Input() message = ''\n\n elementRef = inject(ElementRef)\n private vcr = inject(ViewContainerRef)\n private componentRef: ComponentRef<HelpTextComponent> | null = null\n\n ngOnInit() {\n if (!this.message) return\n\n this.componentRef = this.vcr.createComponent(HelpTextComponent)\n this.componentRef.setInput('message', this.message)\n }\n}\n","import { ComponentRef, Directive, ElementRef, OnDestroy, OnInit, ViewContainerRef, inject } from '@angular/core'\nimport { ControlContainer, FormGroupDirective, NgForm } from '@angular/forms'\nimport { EMPTY, Subscription, fromEvent, iif, merge, startWith } from 'rxjs'\nimport { ErrorsComponent } from '../../components/errors/errors.component'\n\n@Directive({\n selector: '[appValidatorArrayMessage]',\n standalone: true\n})\nexport class ValidatorArrayMessageDirective implements OnInit, OnDestroy {\n private controlSubscription!: Subscription\n\n private parentContainer = inject(ControlContainer)\n private vcr = inject(ViewContainerRef)\n elementRef = inject(ElementRef)\n\n private componentRef: ComponentRef<ErrorsComponent> | null = null\n\n get form() {\n return this.parentContainer?.formDirective as NgForm | FormGroupDirective | null\n }\n\n ngOnInit() {\n const formArray = this.parentContainer.control\n\n if (!formArray) return\n\n this.controlSubscription = merge(\n formArray.statusChanges,\n fromEvent(this.elementRef.nativeElement, 'blur'),\n iif(() => !!this.form, this.form!.ngSubmit, EMPTY)\n )\n .pipe(startWith(formArray.status))\n .subscribe(() => {\n if (formArray.errors && this.form?.submitted) {\n if (this.componentRef) return\n\n this.componentRef = this.vcr.createComponent(ErrorsComponent)\n this.componentRef.changeDetectorRef.markForCheck()\n this.componentRef.setInput('errors', formArray.errors)\n } else {\n this.componentRef?.destroy()\n this.componentRef = null\n }\n })\n }\n\n ngOnDestroy() {\n this.controlSubscription?.unsubscribe()\n }\n}\n","import { Directive, HostBinding, OnDestroy, OnInit, StaticProvider, inject } from '@angular/core'\nimport { AbstractControl, ControlContainer, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms'\nimport { AsyncPipe, CommonModule } from '@angular/common'\nimport { of } from 'rxjs'\n\nimport { CONTROL_DATA } from '../../utils/control-data.token'\nimport { Control } from '../../models/forms.model'\n\nimport { ValidatorMessageDirective } from '../../directives/validator-message/validator-message.directive'\nimport { HelpTextDirective } from '../../directives/helpText/help-text.directive'\nimport { ValidatorArrayMessageDirective } from '../../directives/validator-array-message/validator-array-message.directive'\n\nexport const sharedControlDeps = [CommonModule, ReactiveFormsModule, ValidatorMessageDirective, HelpTextDirective, ValidatorArrayMessageDirective, AsyncPipe]\n\nexport const controlProvider: StaticProvider = {\n provide: ControlContainer,\n useFactory: () => inject(ControlContainer, { skipSelf: true })\n}\n\n@Directive()\nexport class BaseControlComponent implements OnInit, OnDestroy {\n @HostBinding('class') hostClass = ''\n\n control = inject(CONTROL_DATA)\n\n formControl: AbstractControl = new FormControl(this.control.control.value, this.resolveValidators(this.control.control))\n id = this.control.control.name + this.control.control.id + (this.control.index ?? '')\n\n private parentGroupDir = inject(ControlContainer)\n\n get parentFormGroup() {\n return this.parentGroupDir.control as FormGroup\n }\n\n ngOnInit() {\n this.initialize()\n }\n\n ngOnDestroy() {\n this.destroy()\n }\n\n initialize() {\n if (this.control.formGroup) {\n this.control.formGroup.addControl(this.control.control.name, this.formControl)\n } else {\n this.parentFormGroup.addControl(this.control.control.name, this.formControl)\n }\n\n this.hostClass = `field wrapper-${this.control.control.name}`\n }\n\n destroy() {\n if (this.control.formGroup) return\n else this.parentFormGroup.removeControl(this.control.control.name)\n }\n\n resolveValidators({ validators = {} }: Control) {\n const validatorsKeys = Object.keys(validators) as Array<keyof typeof validators>\n\n return validatorsKeys.map(key => {\n const value = validators[key]\n\n if (key === 'required') {\n return Validators.required\n }\n\n if (key === 'email') {\n return Validators.email\n }\n\n if (key === 'requiredTrue') {\n return Validators.requiredTrue\n }\n\n if (key === 'minLength' && typeof value === 'number') {\n return Validators.minLength(value)\n }\n\n if (key === 'pattern' && typeof value === 'string') {\n return Validators.pattern(value)\n }\n\n return Validators.nullValidator\n })\n }\n\n getOptions() {\n if (this.control.control.options) {\n return of(this.control.control.options)\n }\n\n if (!this.control.control.asyncOptions) return of([])\n\n return this.control.control.asyncOptions(this.parentFormGroup)\n }\n}\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-checkbox-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './checkbox-field.component.html',\n standalone: true\n})\nexport class CheckboxFieldComponent extends BaseControlComponent {}\n","<div>\n <input\n type=\"checkbox\"\n [id]=\"id\"\n [formControlName]=\"control.control.name\" />\n @if (control.control.label) {\n <label\n [for]=\"id\"\n [innerHTML]=\"control.control.label\">\n </label>\n }\n\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n ngDefaultControl\n [formControlName]=\"control.control.name\"></div>\n</div>\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { FormArray, FormControl } from '@angular/forms'\n\n@Component({\n selector: 'app-checkbox-group-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './checkbox-group-field.component.html',\n standalone: true\n})\nexport class CheckboxGroupFieldComponent extends BaseControlComponent {\n override formControl = new FormArray<FormControl>([], this.resolveValidators(this.control.control))\n\n change(event: Event) {\n const element = event.target as HTMLInputElement\n const value = element.value as never\n\n const index = this.formControl.value.indexOf(value)\n if (index === -1) {\n const fc = new FormControl(value)\n this.formControl.push(fc)\n } else {\n this.formControl.removeAt(index)\n }\n }\n}\n","@if (control.control.label) {\n <label for=\"\">\n {{ control.control.label }}\n </label>\n}\n\n<div\n [formArrayName]=\"control.control.name\"\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorArrayMessage>\n @for (option of getOptions() | async; track option.value; let index = $index) {\n <div>\n <input\n type=\"checkbox\"\n (change)=\"change($event)\"\n [value]=\"option.value\"\n [id]=\"id + index\" />\n <label [for]=\"id + index\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n","import { Component, OnInit, inject } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { FormGroup } from '@angular/forms'\nimport { ControlResolver } from '../../services/control-resolver/control-resolver.service'\nimport { ControlInjector } from '../../pipes/control-injector.pipe'\n\n@Component({\n selector: 'app-group-field',\n imports: [...sharedControlDeps, ControlInjector],\n viewProviders: [controlProvider],\n templateUrl: './group-field.component.html',\n standalone: true\n})\nexport class GroupFieldComponent extends BaseControlComponent implements OnInit {\n controlResolver = inject(ControlResolver)\n\n override formControl = new FormGroup({})\n}\n","<div [formGroupName]=\"control.control.name\">\n @for (control of control.control.controls; track control.name) {\n <ng-container\n [ngComponentOutlet]=\"controlResolver.resolve(control, parentFormGroup) | async\"\n [ngComponentOutletInjector]=\"control.name | controlInjector: control\">\n </ng-container>\n }\n</div>\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-input-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './input-field.component.html',\n standalone: true\n})\nexport class InputFieldComponent extends BaseControlComponent {}\n","@if (control.control.label) {\n <label [for]=\"id\">\n {{ control.control.label }}\n </label>\n}\n<input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"control.control.type ?? 'text'\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\" />\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-radio-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './radio-field.component.html',\n standalone: true\n})\nexport class RadioFieldComponent extends BaseControlComponent {}\n","@if (control.control.label) {\n <label for=\"\">\n {{ control.control.label }}\n </label>\n}\n\n<div>\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <div>\n <input\n type=\"radio\"\n [formControlName]=\"control.control.name\"\n [value]=\"option.value\"\n [id]=\"id + i\" />\n <label [for]=\"id + i\">\n {{ option.label }}\n </label>\n </div>\n }\n</div>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n","/*\n * Public API Surface of ngx-dynamic-forms\n */\n\nexport * from './lib/pipes/control-injector.pipe'\nexport * from './lib/models/forms.model'\nexport * from './lib/services/control-resolver/control-resolver.service'\n\nexport * from './lib/components/base-control/base-control.component'\nexport * from './lib/components/checkbox-field/checkbox-field.component'\nexport * from './lib/components/checkbox-group-field/checkbox-group-field.component'\nexport * from './lib/components/errors/errors.component'\nexport * from './lib/components/group-field/group-field.component'\nexport * from './lib/components/help-text/help-text.component'\nexport * from './lib/components/input-field/input-field.component'\nexport * from './lib/components/radio-field/radio-field.component'\n\nexport * from './lib/directives/helpText/help-text.directive'\nexport * from './lib/directives/validator-array-message/validator-array-message.directive'\nexport * from './lib/directives/validator-message/validator-message.directive'\n\nexport * from './lib/utils/control-data.token'\nexport * from './lib/utils/validation-error-messages.token'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3.ValidatorMessageDirective","i4.HelpTextDirective","i3.HelpTextDirective","i4.ValidatorArrayMessageDirective"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { ValidatorMessageDirective } from '../../directives/validator-message/va
6
6
  import { HelpTextDirective } from '../../directives/helpText/help-text.directive';
7
7
  import { ValidatorArrayMessageDirective } from '../../directives/validator-array-message/validator-array-message.directive';
8
8
  import * as i0 from "@angular/core";
9
- export declare const sharedControlDeps: (typeof AsyncPipe | typeof ValidatorMessageDirective | typeof HelpTextDirective | typeof ValidatorArrayMessageDirective | typeof CommonModule)[];
9
+ export declare const sharedControlDeps: (typeof CommonModule | typeof ValidatorMessageDirective | typeof HelpTextDirective | typeof ValidatorArrayMessageDirective | typeof AsyncPipe)[];
10
10
  export declare const controlProvider: StaticProvider;
11
11
  export declare class BaseControlComponent implements OnInit, OnDestroy {
12
12
  hostClass: string;
@@ -20,7 +20,7 @@ type CustomValidators = object;
20
20
  type ValidatorsKeys = keyof Omit<typeof Validators & CustomValidators, 'prototype' | 'compose' | 'composeAsync'>;
21
21
  export interface Control {
22
22
  id: number;
23
- label: string;
23
+ label?: string;
24
24
  name: string;
25
25
  controlType: ControlType;
26
26
  helpText?: string;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "superlikers-dynamic-forms",
3
- "version": "0.2.2",
3
+ "version": "0.3.3",
4
4
  "peerDependencies": {
5
- "@angular/common": "^18.0.0",
6
- "@angular/core": "^18.0.0"
5
+ "@angular/common": "^19.2.0",
6
+ "@angular/core": "^19.2.0"
7
7
  },
8
8
  "dependencies": {
9
9
  "tslib": "^2.3.0"
@@ -1,27 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Component } from '@angular/core';
3
- import { BaseControlComponent, controlProvider, ValidatorMessageDirective, HelpTextDirective, sharedControlDeps } from './superlikers-dynamic-forms.mjs';
4
- import * as i1 from '@angular/common';
5
- import * as i2 from '@angular/forms';
6
-
7
- class SelectFieldComponent extends BaseControlComponent {
8
- ngOnInit() {
9
- this.initialize();
10
- this.setSelectedOption();
11
- }
12
- setSelectedOption() {
13
- const selectedOption = this.control.control.options?.find(option => option.selected);
14
- if (!selectedOption)
15
- return;
16
- this.formControl.setValue(selectedOption.value);
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: SelectFieldComponent, isStandalone: true, selector: "app-radio-field", usesInheritance: true, ngImport: i0, template: "<label for=\"\">{{ control.control.label }}</label>\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n", dependencies: [{ kind: "ngmodule", type: i1.CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: i2.ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: ValidatorMessageDirective, selector: "[appValidatorMessage]" }, { kind: "directive", type: HelpTextDirective, selector: "[appHelpText]", inputs: ["message"] }], viewProviders: [controlProvider] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: SelectFieldComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'app-radio-field', imports: [...sharedControlDeps], viewProviders: [controlProvider], standalone: true, template: "<label for=\"\">{{ control.control.label }}</label>\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n" }]
24
- }] });
25
-
26
- export { SelectFieldComponent };
27
- //# sourceMappingURL=superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"superlikers-dynamic-forms-select-field.component-DaFIx75e.mjs","sources":["../../../projects/dynamic-forms/src/lib/components/select-field/select-field.component.ts","../../../projects/dynamic-forms/src/lib/components/select-field/select-field.component.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\n\n@Component({\n selector: 'app-radio-field',\n imports: [...sharedControlDeps],\n viewProviders: [controlProvider],\n templateUrl: './select-field.component.html',\n standalone: true\n})\nexport class SelectFieldComponent extends BaseControlComponent implements OnInit {\n override ngOnInit() {\n this.initialize()\n\n this.setSelectedOption()\n }\n\n setSelectedOption() {\n const selectedOption = this.control.control.options?.find(option => option.selected)\n if (!selectedOption) return\n\n this.formControl.setValue(selectedOption.value)\n }\n}\n","<label for=\"\">{{ control.control.label }}</label>\n<select\n [formControlName]=\"control.control.name\"\n [id]=\"id\">\n @for (option of getOptions() | async; track option.value; let i = $index) {\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\">\n {{ option.label }}\n </option>\n }\n</select>\n\n<div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n"],"names":["i3.ValidatorMessageDirective","i4.HelpTextDirective"],"mappings":";;;;;;AAUM,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;IACnD,QAAQ,GAAA;QACf,IAAI,CAAC,UAAU,EAAE;QAEjB,IAAI,CAAC,iBAAiB,EAAE;;IAG1B,iBAAiB,GAAA;QACf,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC;AACpF,QAAA,IAAI,CAAC,cAAc;YAAE;QAErB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;;8GAXtC,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,ECVjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,igBAmBA,EDbiB,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAC,eAAe,CAAC,EAAA,CAAA,CAAA;;2FAIrB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,GAAG,iBAAiB,CAAC,iBAChB,CAAC,eAAe,CAAC,EAAA,UAAA,EAEpB,IAAI,EAAA,QAAA,EAAA,igBAAA,EAAA;;;;;"}