{ "version": 3, "sources": ["src/app/shared/custom-input/custom-input.component.ts", "src/app/shared/custom-input/custom-input.component.html"], "sourcesContent": ["import { Attribute, Component, Input, OnInit, forwardRef } from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\n@Component({\n selector: 'app-custom-input',\n templateUrl: './custom-input.component.html',\n standalone: true,\n imports: [ReactiveFormsModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomInputComponent),\n multi: true,\n },\n ],\n})\nexport class CustomInputComponent implements OnInit, ControlValueAccessor {\n @Input('placeholder') placeholder: string = '';\n @Input('type') type: string = 'text';\n @Input() required: boolean = false;\n @Input() email: boolean = false;\n @Input() label: string;\n\n formControl!: FormControl;\n\n @Input() control = new FormControl();\n\n onTouched: any;\n onChange: any;\n\n constructor(@Attribute('formControlName') public formControlName) {}\n\n ngOnInit(): void {\n const validators: ValidatorFn[] = [];\n\n if (this.required) {\n validators.push(Validators.required);\n }\n\n if (this.email) {\n validators.push(Validators.email);\n }\n\n this.formControl = new FormControl('', validators);\n }\n\n writeValue(value: any): void {\n this.formControl.setValue(value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n this.formControl.valueChanges.subscribe(fn);\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n isDisabled ? this.formControl.disable() : this.formControl.enable();\n }\n}\n", "\n
\n \n \n
\n@if (control.hasError('required') && control.touched) {\n

{{ label }} is required

\n}\n"], "mappings": "6RCGQA,EAAA,EAAA,OAAA,CAAA,EAAuBC,EAAA,EAAA,GAAA,EAACC,EAAA,4BAa5BF,EAAA,EAAA,IAAA,CAAA,EAAwCC,EAAA,CAAA,EAAuBC,EAAA,kBAAvBC,EAAA,EAAAC,EAAA,GAAAC,EAAAC,MAAA,cAAA,GDO5C,IAAaC,GAAoB,IAAA,CAA3B,MAAOA,CAAoB,CAc7BC,YAAiDC,EAAe,CAAf,KAAAA,gBAAAA,EAb3B,KAAAC,YAAsB,GAC7B,KAAAC,KAAe,OACrB,KAAAC,SAAoB,GACpB,KAAAC,MAAiB,GAKjB,KAAAC,QAAU,IAAIC,CAK4C,CAEnEC,UAAQ,CACJ,IAAMC,EAA4B,CAAA,EAE9B,KAAKL,UACLK,EAAWC,KAAKC,EAAWP,QAAQ,EAGnC,KAAKC,OACLI,EAAWC,KAAKC,EAAWN,KAAK,EAGpC,KAAKO,YAAc,IAAIL,EAAY,GAAIE,CAAU,CACrD,CAEAI,WAAWC,EAAU,CACjB,KAAKF,YAAYG,SAASD,CAAK,CACnC,CAEAE,iBAAiBC,EAAO,CACpB,KAAKC,SAAWD,EAChB,KAAKL,YAAYO,aAAaC,UAAUH,CAAE,CAC9C,CAEAI,kBAAkBJ,EAAO,CACrB,KAAKK,UAAYL,CACrB,CAEAM,iBAAiBC,EAAmB,CAChCA,EAAa,KAAKZ,YAAYa,QAAO,EAAK,KAAKb,YAAYc,OAAM,CACrE,iDA7CS3B,GAAoB4B,EAcN,iBAAiB,CAAA,CAAA,CAAA,+BAd/B5B,EAAoB6B,UAAA,CAAA,CAAA,kBAAA,CAAA,EAAAC,OAAA,CAAA3B,YAAA,cAAAC,KAAA,OAAAC,SAAA,WAAAC,MAAA,QAAAP,MAAA,QAAAQ,QAAA,SAAA,EAAAwB,WAAA,GAAAC,SAAA,CAAAC,EARlB,CACP,CACIC,QAASC,EACTC,YAAaC,EAAW,IAAMrC,CAAoB,EAClDsC,MAAO,GACV,CACJ,EAAAC,CAAA,EAAAC,mBAAAC,EAAAC,MAAA,EAAAC,KAAA,EAAAC,OAAA,CAAA,CAAA,EAAA,OAAA,UAAA,YAAA,EAAA,KAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,OAAA,eAAA,QAAA,aAAA,SAAA,iBAAA,EAAA,CAAA,EAAA,SAAA,aAAA,WAAA,MAAA,aAAA,eAAA,aAAA,4BAAA,iBAAA,8BAAA,sBAAA,EAAA,KAAA,cAAA,cAAA,MAAA,EAAA,CAAA,EAAA,UAAA,cAAA,UAAA,CAAA,EAAAC,SAAA,SAAAC,EAAAC,EAAA,CAAAD,EAAA,QCrBLrD,EAAA,EAAA,QAAA,CAAA,EACKC,EAAA,CAAA,EACDsD,EAAA,EAAAC,EAAA,EAAA,EAAA,OAAA,CAAA,EAGJtD,EAAA,EACAF,EAAA,EAAA,MAAA,CAAA,EACIyD,EAAA,CAAA,EACAC,EAAA,EAAA,QAAA,CAAA,EAMJxD,EAAA,EACAqD,EAAA,EAAAI,EAAA,EAAA,EAAA,IAAA,CAAA,SAfsCC,EAAA,MAAAN,EAAA7C,eAAA,EACjCN,EAAA,EAAAC,EAAA,GAAAkD,EAAAhD,MAAA,GAAA,EACDH,EAAA,EAAA0D,EAAAP,EAAA1C,SAAA,EAAA,EAAA,EAOIT,EAAA,CAAA,EAAAyD,EAAA,KAAAN,EAAA7C,eAAA,EAAsB,cAAA6C,EAAA5C,WAAA,EACK,cAAA4C,EAAAxC,OAAA,EACJ,OAAAwC,EAAA3C,IAAA,EAI/BR,EAAA,EAAA0D,EAAAP,EAAAxC,QAAAgD,SAAA,UAAA,GAAAR,EAAAxC,QAAAiD,QAAA,EAAA,EAAA,kBDDcC,EAAmBC,EAAAC,EAAAC,CAAA,EAAAC,cAAA,CAAA,CAAA,CAAA,SASpB7D,CAAoB,GAAA", "names": ["\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx_r0", "label", "CustomInputComponent", "constructor", "formControlName", "placeholder", "type", "required", "email", "control", "FormControl", "ngOnInit", "validators", "push", "Validators", "formControl", "writeValue", "value", "setValue", "registerOnChange", "fn", "onChange", "valueChanges", "subscribe", "registerOnTouched", "onTouched", "setDisabledState", "isDisabled", "disable", "enable", "\u0275\u0275injectAttribute", "selectors", "inputs", "standalone", "features", "\u0275\u0275ProvidersFeature", "provide", "NG_VALUE_ACCESSOR", "useExisting", "forwardRef", "multi", "\u0275\u0275StandaloneFeature", "ngContentSelectors", "_c0", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "CustomInputComponent_Conditional_2_Template", "\u0275\u0275projection", "\u0275\u0275element", "CustomInputComponent_Conditional_6_Template", "\u0275\u0275property", "\u0275\u0275conditional", "hasError", "touched", "ReactiveFormsModule", "DefaultValueAccessor", "NgControlStatus", "FormControlDirective", "encapsulation"] }