{"version":3,"file":"kara-ui-alfa-components-form-field-error.mjs","sources":["../../../libs/kara-ui/components/form/field-error/field-error.component.ts","../../../libs/kara-ui/components/form/field-error/field-error.component.html","../../../libs/kara-ui/components/form/field-error/kara-ui-alfa-components-form-field-error.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { BehaviorSubject, NEVER, Observable, combineLatest, isObservable, of } from 'rxjs';\nimport { debounceTime, map, startWith, switchMap } from 'rxjs/operators';\nimport { AsyncPipe } from '@angular/common';\nimport { kFadeIn, kHeightCollapse } from 'kara-ui-alfa/animation';\nimport { KFieldErrorMessages } from './field-error';\n\nconst CHECK_DELAY = 300;\n\n@Component({\n  selector: 'k-field-error',\n  templateUrl: './field-error.component.html',\n  styleUrls: ['./field-error.component.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [kFadeIn, kHeightCollapse],\n  imports: [AsyncPipe],\n})\nexport class KFieldErrorComponent implements OnInit {\n  @Input({ required: true }) control!: AbstractControl;\n  @Input() set errorMessages(errorMessages: KFieldErrorMessages) {\n    this.errorMessages$.next(errorMessages);\n  }\n\n  errorMessages$ = new BehaviorSubject<KFieldErrorMessages>({});\n  message$: Observable<unknown> = NEVER;\n\n  ngOnInit(): void {\n    if (this.control) {\n      this.message$ = combineLatest([\n        this.control.statusChanges.pipe(\n          startWith(''),\n          map(() => (this.control.errors ? Object.entries(this.control.errors)[0] : null)),\n        ),\n        this.errorMessages$,\n      ]).pipe(\n        debounceTime(CHECK_DELAY),\n        map(([error, errorMessages]) => {\n          if (!error || !errorMessages) {\n            return null;\n          }\n\n          const [errorName, context] = error;\n          const result = errorMessages[errorName];\n          if (typeof result === 'function') {\n            return result(context);\n          }\n\n          return result;\n        }),\n        switchMap((error) => {\n          if (isObservable(error)) {\n            return error;\n          }\n\n          if (typeof error === 'string') {\n            return of(error);\n          }\n\n          return of(null);\n        }),\n      );\n    }\n  }\n}\n","@if (message$ | async; as message) {\n  <span class=\"kui-base-default-small\" @kHeightCollapse @kFadeIn>\n    {{ message }}\n  </span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAQA,MAAM,WAAW,GAAG,GAAG;MAUV,oBAAoB,CAAA;AARjC,IAAA,WAAA,GAAA;AAcE,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAsB,EAAE,CAAC;QAC7D,IAAQ,CAAA,QAAA,GAAwB,KAAK;AAuCtC;IA5CC,IAAa,aAAa,CAAC,aAAkC,EAAA;AAC3D,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC;;IAMzC,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAC7B,SAAS,CAAC,EAAE,CAAC,EACb,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CACjF;AACD,gBAAA,IAAI,CAAC,cAAc;AACpB,aAAA,CAAC,CAAC,IAAI,CACL,YAAY,CAAC,WAAW,CAAC,EACzB,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,KAAI;AAC7B,gBAAA,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE;AAC5B,oBAAA,OAAO,IAAI;;AAGb,gBAAA,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,KAAK;AAClC,gBAAA,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;AACvC,gBAAA,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;AAChC,oBAAA,OAAO,MAAM,CAAC,OAAO,CAAC;;AAGxB,gBAAA,OAAO,MAAM;AACf,aAAC,CAAC,EACF,SAAS,CAAC,CAAC,KAAK,KAAI;AAClB,gBAAA,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;AACvB,oBAAA,OAAO,KAAK;;AAGd,gBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,oBAAA,OAAO,EAAE,CAAC,KAAK,CAAC;;AAGlB,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC;aAChB,CAAC,CACH;;;8GA3CM,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBjC,8IAKA,EDWY,MAAA,EAAA,CAAA,uFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,gCADP,CAAC,OAAO,EAAE,eAAe,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAG3B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGR,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,CAAC,OAAO,EAAE,eAAe,CAAC,EAC7B,OAAA,EAAA,CAAC,SAAS,CAAC,EAAA,QAAA,EAAA,8IAAA,EAAA,MAAA,EAAA,CAAA,uFAAA,CAAA,EAAA;8BAGO,OAAO,EAAA,CAAA;sBAAjC,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACZ,aAAa,EAAA,CAAA;sBAAzB;;;AEpBH;;AAEG;;;;"}