superlikers-dynamic-forms 0.4.0 → 0.4.2
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.
|
@@ -516,11 +516,11 @@ class InputFieldComponent extends BaseControlComponent {
|
|
|
516
516
|
return this.control.control.type === 'password';
|
|
517
517
|
}
|
|
518
518
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: InputFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
519
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", 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<div class=\"input-
|
|
519
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", 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<div class=\"input-container\">\n <div class=\"input-with-icon\">\n <input\n [placeholder]=\"control.control.placeholder ?? ''\"\n [type]=\"inputType\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\"\n [class.has-toggle]=\"isPasswordField\" />\n @if (isPasswordField) {\n <button\n type=\"button\"\n class=\"toggle-password-btn\"\n (click)=\"togglePasswordVisibility()\"\n [attr.aria-label]=\"showPassword ? 'Ocultar contrase\u00F1a' : 'Mostrar contrase\u00F1a'\">\n @if (showPassword) {\n <eye-off-icon />\n } @else {\n <eye-icon />\n }\n </button>\n }\n </div>\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n</div>\n", styles: [".input-with-icon{position:relative}.toggle-password-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.toggle-password-btn:hover{opacity:.7}input.has-toggle{padding-right:40px}\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"] }, { kind: "component", type: EyeIcon, selector: "eye-icon" }, { kind: "component", type: EyeOffIcon, selector: "eye-off-icon" }], viewProviders: [controlProvider] }); }
|
|
520
520
|
}
|
|
521
521
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: InputFieldComponent, decorators: [{
|
|
522
522
|
type: Component,
|
|
523
|
-
args: [{ selector: 'app-input-field', imports: [...sharedControlDeps, EyeIcon, EyeOffIcon], viewProviders: [controlProvider], standalone: true, template: "@if (control.control.label) {\n <label [for]=\"id\">\n {{ control.control.label }}\n </label>\n}\n<div class=\"input-
|
|
523
|
+
args: [{ selector: 'app-input-field', imports: [...sharedControlDeps, EyeIcon, EyeOffIcon], viewProviders: [controlProvider], standalone: true, template: "@if (control.control.label) {\n <label [for]=\"id\">\n {{ control.control.label }}\n </label>\n}\n<div class=\"input-container\">\n <div class=\"input-with-icon\">\n <input\n [placeholder]=\"control.control.placeholder ?? ''\"\n [type]=\"inputType\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\"\n [class.has-toggle]=\"isPasswordField\" />\n @if (isPasswordField) {\n <button\n type=\"button\"\n class=\"toggle-password-btn\"\n (click)=\"togglePasswordVisibility()\"\n [attr.aria-label]=\"showPassword ? 'Ocultar contrase\u00F1a' : 'Mostrar contrase\u00F1a'\">\n @if (showPassword) {\n <eye-off-icon />\n } @else {\n <eye-icon />\n }\n </button>\n }\n </div>\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n</div>\n", styles: [".input-with-icon{position:relative}.toggle-password-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.toggle-password-btn:hover{opacity:.7}input.has-toggle{padding-right:40px}\n"] }]
|
|
524
524
|
}] });
|
|
525
525
|
|
|
526
526
|
var inputField_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/icons/eye-icon.component.ts","../../../projects/dynamic-forms/src/lib/components/icons/eye-off-icon.component.ts","../../../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'\n\n@Component({\n selector: 'eye-icon',\n standalone: true,\n template: `<svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15.4569 4.7975C15.435 4.74813 14.9056 3.57375 13.7287 2.39687C12.1606 0.82875 10.18 0 7.99999 0C5.81999 0 3.83937 0.82875 2.27124 2.39687C1.09437 3.57375 0.562494 4.75 0.543119 4.7975C0.51469 4.86144 0.5 4.93064 0.5 5.00062C0.5 5.0706 0.51469 5.1398 0.543119 5.20375C0.564994 5.25312 1.09437 6.42688 2.27124 7.60375C3.83937 9.17125 5.81999 10 7.99999 10C10.18 10 12.1606 9.17125 13.7287 7.60375C14.9056 6.42688 15.435 5.25312 15.4569 5.20375C15.4853 5.1398 15.5 5.0706 15.5 5.00062C15.5 4.93064 15.4853 4.86144 15.4569 4.7975ZM7.99999 7.5C7.50554 7.5 7.02219 7.35338 6.61107 7.07867C6.19995 6.80397 5.87951 6.41352 5.6903 5.95671C5.50108 5.49989 5.45157 4.99723 5.54803 4.51227C5.64449 4.02732 5.8826 3.58186 6.23223 3.23223C6.58186 2.8826 7.02732 2.6445 7.51227 2.54804C7.99722 2.45157 8.49989 2.50108 8.9567 2.6903C9.41352 2.87952 9.80396 3.19995 10.0787 3.61107C10.3534 4.0222 10.5 4.50555 10.5 5C10.5 5.66304 10.2366 6.29893 9.76776 6.76777C9.29892 7.23661 8.66304 7.5 7.99999 7.5Z\"\n fill=\"#252623\" />\n </svg>`\n})\nexport class EyeIcon {}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'eye-off-icon',\n standalone: true,\n template: `<svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M6.04249 1.61686C6.01297 1.58451 5.99246 1.54497 5.98301 1.5022C5.97357 1.45944 5.97553 1.41494 5.9887 1.37317C6.00186 1.33139 6.02577 1.29381 6.05803 1.26419C6.09028 1.23456 6.12976 1.21393 6.17249 1.20436C6.77196 1.06729 7.38506 0.998729 7.99999 0.999981C10.18 0.999981 12.1606 1.82873 13.7287 3.39686C14.9056 4.57373 15.435 5.74811 15.4569 5.79748C15.4853 5.86143 15.5 5.93063 15.5 6.00061C15.5 6.07059 15.4853 6.13979 15.4569 6.20373C15.435 6.25311 14.9056 7.42686 13.7287 8.60373C13.5504 8.78123 13.3673 8.94936 13.1794 9.10811C13.1299 9.15008 13.0661 9.1712 13.0014 9.16701C12.9367 9.16281 12.8761 9.13362 12.8325 9.08561L6.04249 1.61686ZM13.37 11.1637C13.4151 11.2122 13.4501 11.2691 13.473 11.3311C13.496 11.3932 13.5064 11.4592 13.5036 11.5253C13.5008 11.5914 13.485 11.6563 13.4569 11.7162C13.4289 11.7762 13.3893 11.8299 13.3403 11.8744C13.2913 11.9189 13.234 11.9533 13.1717 11.9755C13.1094 11.9977 13.0432 12.0072 12.9772 12.0037C12.9111 12.0001 12.8464 11.9835 12.7868 11.9548C12.7272 11.926 12.6739 11.8857 12.63 11.8362L11.25 10.3206C10.2266 10.7733 9.11907 11.0048 7.99999 11C5.81999 11 3.83937 10.1712 2.27124 8.60373C1.09437 7.42686 0.562494 6.25311 0.543119 6.20373C0.51469 6.13979 0.5 6.07059 0.5 6.00061C0.5 5.93063 0.51469 5.86143 0.543119 5.79748C0.562494 5.74998 1.09437 4.57373 2.27124 3.39686C2.74142 2.92451 3.26591 2.50953 3.83374 2.16061L2.62999 0.836231C2.58491 0.787802 2.54989 0.730907 2.52696 0.668843C2.50402 0.606779 2.49364 0.54078 2.4964 0.474672C2.49916 0.408565 2.51502 0.343662 2.54305 0.283728C2.57108 0.223793 2.61072 0.170017 2.65969 0.125518C2.70865 0.0810184 2.76597 0.0466801 2.8283 0.0244932C2.89063 0.00230626 2.95675 -0.00728797 3.02282 -0.00373355C3.08889 -0.000179118 3.1536 0.0164534 3.21319 0.0451998C3.27279 0.0739463 3.32608 0.114235 3.36999 0.163731L13.37 11.1637ZM9.27687 8.14811L5.98374 4.52311C5.64441 4.98804 5.47591 5.55583 5.50668 6.1306C5.53746 6.70538 5.76562 7.25192 6.15266 7.67797C6.5397 8.10401 7.0619 8.38345 7.63109 8.4691C8.20028 8.55476 8.78159 8.44138 9.27687 8.14811Z\"\n fill=\"#252623\" />\n </svg>`\n})\nexport class EyeOffIcon {}\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { EyeIcon } from '../icons/eye-icon.component'\nimport { EyeOffIcon } from '../icons/eye-off-icon.component'\n\n@Component({\n selector: 'app-input-field',\n imports: [...sharedControlDeps, EyeIcon, EyeOffIcon],\n viewProviders: [controlProvider],\n templateUrl: './input-field.component.html',\n styleUrls: ['./input-field.component.css'],\n standalone: true\n})\nexport class InputFieldComponent extends BaseControlComponent {\n showPassword = false\n\n togglePasswordVisibility(): void {\n this.showPassword = !this.showPassword\n }\n\n get inputType(): string {\n if (this.control.control.type === 'password' && this.showPassword) {\n return 'text'\n }\n return this.control.control.type ?? 'text'\n }\n\n get isPasswordField(): boolean {\n return this.control.control.type === 'password'\n }\n}\n","@if (control.control.label) {\n <label [for]=\"id\">\n {{ control.control.label }}\n </label>\n}\n<div class=\"input-wrapper\">\n <input\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n [placeholder]=\"control.control.placeholder ?? ''\"\n appValidatorMessage\n [type]=\"inputType\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\"\n [class.has-toggle]=\"isPasswordField\" />\n @if (isPasswordField) {\n <button\n type=\"button\"\n class=\"toggle-password-btn\"\n (click)=\"togglePasswordVisibility()\"\n [attr.aria-label]=\"showPassword ? 'Ocultar contraseña' : 'Mostrar contraseña'\">\n @if (showPassword) {\n <eye-off-icon />\n } @else {\n <eye-icon />\n }\n </button>\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-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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"}
|
|
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/icons/eye-icon.component.ts","../../../projects/dynamic-forms/src/lib/components/icons/eye-off-icon.component.ts","../../../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'\n\n@Component({\n selector: 'eye-icon',\n standalone: true,\n template: `<svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M15.4569 4.7975C15.435 4.74813 14.9056 3.57375 13.7287 2.39687C12.1606 0.82875 10.18 0 7.99999 0C5.81999 0 3.83937 0.82875 2.27124 2.39687C1.09437 3.57375 0.562494 4.75 0.543119 4.7975C0.51469 4.86144 0.5 4.93064 0.5 5.00062C0.5 5.0706 0.51469 5.1398 0.543119 5.20375C0.564994 5.25312 1.09437 6.42688 2.27124 7.60375C3.83937 9.17125 5.81999 10 7.99999 10C10.18 10 12.1606 9.17125 13.7287 7.60375C14.9056 6.42688 15.435 5.25312 15.4569 5.20375C15.4853 5.1398 15.5 5.0706 15.5 5.00062C15.5 4.93064 15.4853 4.86144 15.4569 4.7975ZM7.99999 7.5C7.50554 7.5 7.02219 7.35338 6.61107 7.07867C6.19995 6.80397 5.87951 6.41352 5.6903 5.95671C5.50108 5.49989 5.45157 4.99723 5.54803 4.51227C5.64449 4.02732 5.8826 3.58186 6.23223 3.23223C6.58186 2.8826 7.02732 2.6445 7.51227 2.54804C7.99722 2.45157 8.49989 2.50108 8.9567 2.6903C9.41352 2.87952 9.80396 3.19995 10.0787 3.61107C10.3534 4.0222 10.5 4.50555 10.5 5C10.5 5.66304 10.2366 6.29893 9.76776 6.76777C9.29892 7.23661 8.66304 7.5 7.99999 7.5Z\"\n fill=\"#252623\" />\n </svg>`\n})\nexport class EyeIcon {}\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'eye-off-icon',\n standalone: true,\n template: `<svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M6.04249 1.61686C6.01297 1.58451 5.99246 1.54497 5.98301 1.5022C5.97357 1.45944 5.97553 1.41494 5.9887 1.37317C6.00186 1.33139 6.02577 1.29381 6.05803 1.26419C6.09028 1.23456 6.12976 1.21393 6.17249 1.20436C6.77196 1.06729 7.38506 0.998729 7.99999 0.999981C10.18 0.999981 12.1606 1.82873 13.7287 3.39686C14.9056 4.57373 15.435 5.74811 15.4569 5.79748C15.4853 5.86143 15.5 5.93063 15.5 6.00061C15.5 6.07059 15.4853 6.13979 15.4569 6.20373C15.435 6.25311 14.9056 7.42686 13.7287 8.60373C13.5504 8.78123 13.3673 8.94936 13.1794 9.10811C13.1299 9.15008 13.0661 9.1712 13.0014 9.16701C12.9367 9.16281 12.8761 9.13362 12.8325 9.08561L6.04249 1.61686ZM13.37 11.1637C13.4151 11.2122 13.4501 11.2691 13.473 11.3311C13.496 11.3932 13.5064 11.4592 13.5036 11.5253C13.5008 11.5914 13.485 11.6563 13.4569 11.7162C13.4289 11.7762 13.3893 11.8299 13.3403 11.8744C13.2913 11.9189 13.234 11.9533 13.1717 11.9755C13.1094 11.9977 13.0432 12.0072 12.9772 12.0037C12.9111 12.0001 12.8464 11.9835 12.7868 11.9548C12.7272 11.926 12.6739 11.8857 12.63 11.8362L11.25 10.3206C10.2266 10.7733 9.11907 11.0048 7.99999 11C5.81999 11 3.83937 10.1712 2.27124 8.60373C1.09437 7.42686 0.562494 6.25311 0.543119 6.20373C0.51469 6.13979 0.5 6.07059 0.5 6.00061C0.5 5.93063 0.51469 5.86143 0.543119 5.79748C0.562494 5.74998 1.09437 4.57373 2.27124 3.39686C2.74142 2.92451 3.26591 2.50953 3.83374 2.16061L2.62999 0.836231C2.58491 0.787802 2.54989 0.730907 2.52696 0.668843C2.50402 0.606779 2.49364 0.54078 2.4964 0.474672C2.49916 0.408565 2.51502 0.343662 2.54305 0.283728C2.57108 0.223793 2.61072 0.170017 2.65969 0.125518C2.70865 0.0810184 2.76597 0.0466801 2.8283 0.0244932C2.89063 0.00230626 2.95675 -0.00728797 3.02282 -0.00373355C3.08889 -0.000179118 3.1536 0.0164534 3.21319 0.0451998C3.27279 0.0739463 3.32608 0.114235 3.36999 0.163731L13.37 11.1637ZM9.27687 8.14811L5.98374 4.52311C5.64441 4.98804 5.47591 5.55583 5.50668 6.1306C5.53746 6.70538 5.76562 7.25192 6.15266 7.67797C6.5397 8.10401 7.0619 8.38345 7.63109 8.4691C8.20028 8.55476 8.78159 8.44138 9.27687 8.14811Z\"\n fill=\"#252623\" />\n </svg>`\n})\nexport class EyeOffIcon {}\n","import { Component } from '@angular/core'\nimport { BaseControlComponent, controlProvider, sharedControlDeps } from '../base-control/base-control.component'\nimport { EyeIcon } from '../icons/eye-icon.component'\nimport { EyeOffIcon } from '../icons/eye-off-icon.component'\n\n@Component({\n selector: 'app-input-field',\n imports: [...sharedControlDeps, EyeIcon, EyeOffIcon],\n viewProviders: [controlProvider],\n templateUrl: './input-field.component.html',\n styleUrls: ['./input-field.component.css'],\n standalone: true\n})\nexport class InputFieldComponent extends BaseControlComponent {\n showPassword = false\n\n togglePasswordVisibility(): void {\n this.showPassword = !this.showPassword\n }\n\n get inputType(): string {\n if (this.control.control.type === 'password' && this.showPassword) {\n return 'text'\n }\n return this.control.control.type ?? 'text'\n }\n\n get isPasswordField(): boolean {\n return this.control.control.type === 'password'\n }\n}\n","@if (control.control.label) {\n <label [for]=\"id\">\n {{ control.control.label }}\n </label>\n}\n<div class=\"input-container\">\n <div class=\"input-with-icon\">\n <input\n [placeholder]=\"control.control.placeholder ?? ''\"\n [type]=\"inputType\"\n [formControlName]=\"control.control.name\"\n [checked]=\"control.control.value\"\n [id]=\"id\"\n [class.has-toggle]=\"isPasswordField\" />\n @if (isPasswordField) {\n <button\n type=\"button\"\n class=\"toggle-password-btn\"\n (click)=\"togglePasswordVisibility()\"\n [attr.aria-label]=\"showPassword ? 'Ocultar contraseña' : 'Mostrar contraseña'\">\n @if (showPassword) {\n <eye-off-icon />\n } @else {\n <eye-icon />\n }\n </button>\n }\n </div>\n <div\n appHelpText\n [message]=\"control.control.helpText ?? ''\"\n appValidatorMessage\n [formControlName]=\"control.control.name\"\n ngDefaultControl></div>\n</div>\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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"}
|