{"version":3,"file":"dshch-rad-ui-control-errors.mjs","sources":["../../../projects/rad-ui/control-errors/control-errors.component.ts","../../../projects/rad-ui/control-errors/control-errors.component.html","../../../projects/rad-ui/control-errors/module.ts","../../../projects/rad-ui/control-errors/dshch-rad-ui-control-errors.ts"],"sourcesContent":["import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { ErrorMessage } from '@dshch/rad-ui/common';\n\n@Component({\n  selector: 'rad-ui-control-errors',\n  templateUrl: './control-errors.component.html',\n  styleUrls: ['./control-errors.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ControlErrorsComponent implements OnInit {\n  @Input() control?: AbstractControl;\n  @Input() errorMessages: {[key: string]: string} = {};\n  @Input() error?: string;\n  @Input() touched: boolean = false;\n\n  constructor() {}\n\n  ngOnInit(): void {}\n\n  getErrors(): Array<string> {\n    if (this.control?.errors) {\n      return Object.keys(this.control.errors);\n    }\n    return [];\n  }\n\n  getErrorMessage(error: string): string {\n    return this.errorMessages[error] || ErrorMessage[error as keyof ErrorMessage] || '';\n  }\n\n  getServerErrorMessage = (error: string | number): string => {\n    if (typeof this.control?.errors?.[error] === 'string') {\n      return this.control.errors[error];\n    }\n    return '';\n  };\n}\n","<ng-container\n  *ngIf=\"{\n    status: control?.statusChanges | async,\n    valid: control?.valid || false,\n    touched: touched\n  } as state\"\n>\n  <ng-container *ngIf=\"!state.valid && state.touched\">\n    <ng-container *ngFor=\"let error of getErrors()\">\n      <p class=\"text-danger\">\n        {{ getErrorMessage(error) || getServerErrorMessage(error) }}\n      </p>\n    </ng-container>\n  </ng-container>\n  <ng-container *ngIf=\"this.error && state.touched\">\n    <p class=\"text-danger mb-3\">\n      {{ error }}\n    </p>\n  </ng-container>\n</ng-container>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { RadUICommonModule } from \"@dshch/rad-ui/common\";\nimport { ControlErrorsComponent } from \"./control-errors.component\";\n\n@NgModule({\n  imports: [\n    CommonModule,\n    RadUICommonModule,\n  ],\n  exports: [\n    ControlErrorsComponent,\n  ],\n  declarations: [\n    ControlErrorsComponent,\n  ],\n})\nexport class RadUIControlErrorsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}