{"version":3,"file":"ngx-iban.mjs","sources":["../../../ngx-iban/src/lib/ngx-iban/iban.validator.ts","../../../ngx-iban/src/lib/ngx-iban/iban.directive.ts","../../../ngx-iban/src/lib/ngx-iban/iban.pipe.ts","../../../ngx-iban/src/ngx-iban.ts"],"sourcesContent":["import { isValidIBAN as _isValidIBAN, electronicFormatIBAN } from 'ibantools';\n\nexport const isValidIBAN: (iban: string, countryCode?: string) => boolean = (\n  iban,\n  countryCode\n) =>\n  countryCode\n    ? new RegExp(`^${countryCode}.*$`, 'i').test(iban) &&\n      _isValidIBAN(electronicFormatIBAN(iban) as string)\n    : _isValidIBAN(electronicFormatIBAN(iban) as string);\n","import {\n  AbstractControl,\n  NG_VALIDATORS,\n  ValidationErrors,\n  Validator,\n  ValidatorFn,\n} from '@angular/forms';\nimport { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { isValidIBAN } from './iban.validator';\n\nexport const ibanValidator: (countryCode?: string) => ValidatorFn = (\n  countryCode\n) => {\n  return (control: AbstractControl): ValidationErrors | null => {\n    if (!control.value) {\n      return null;\n    }\n    return isValidIBAN(control.value, countryCode) ? null : { iban: true };\n  };\n};\n\n@Directive({\n  selector: '[ngxIban]',\n  standalone: true,\n  providers: [\n    { provide: NG_VALIDATORS, useExisting: IbanDirective, multi: true },\n  ],\n})\nexport class IbanDirective implements Validator, OnChanges {\n  @Input('ngxIban') countryCode?: string;\n  private _onChange?: () => void;\n\n  validate(control: AbstractControl): ValidationErrors | null {\n    if (!control.value) return null;\n    return isValidIBAN(control.value, this.countryCode) ? null : { iban: true };\n  }\n\n  /* istanbul ignore next */\n  registerOnValidatorChange(fn: () => void) {\n    this._onChange = fn;\n  }\n\n  /* istanbul ignore next */\n  ngOnChanges(changes: SimpleChanges) {\n    if ('countryCode' in changes && this._onChange) {\n      this._onChange();\n    }\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { friendlyFormatIBAN } from 'ibantools';\n\n@Pipe({\n  name: 'iban',\n  standalone: true,\n})\nexport class IbanPipe implements PipeTransform {\n  transform(value?: string | null, separator?: string): string | null {\n    return value ? friendlyFormatIBAN(value, separator) : null;\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_isValidIBAN"],"mappings":";;;;;AAEO,MAAM,WAAW,GAAoD,CAC1E,IAAI,EACJ,WAAW,KAEX;AACE,MAAE,IAAI,MAAM,CAAC,IAAI,WAAW,CAAA,GAAA,CAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAChD,QAAAA,aAAY,CAAC,oBAAoB,CAAC,IAAI,CAAW;MACjDA,aAAY,CAAC,oBAAoB,CAAC,IAAI,CAAW,CAAC;;ACCjD,MAAM,aAAa,GAA0C,CAClE,WAAW,KACT;IACF,OAAO,CAAC,OAAwB,KAA6B;AAC3D,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAClB,YAAA,OAAO,IAAI;QACb;QACA,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;AACxE,IAAA,CAAC;AACH;MASa,aAAa,CAAA;AAIxB,IAAA,QAAQ,CAAC,OAAwB,EAAA;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK;AAAE,YAAA,OAAO,IAAI;QAC/B,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IAC7E;;AAGA,IAAA,yBAAyB,CAAC,EAAc,EAAA;AACtC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;;AAGA,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,aAAa,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YAC9C,IAAI,CAAC,SAAS,EAAE;QAClB;IACF;8GAnBW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,SAAA,EAAA,aAAA,CAAA,EAAA,EAAA,SAAA,EAJb;YACT,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE;AACpE,SAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAEU,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;wBACT,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE;AACpE,qBAAA;AACF,iBAAA;;sBAEE,KAAK;uBAAC,SAAS;;;MCtBL,QAAQ,CAAA;IACnB,SAAS,CAAC,KAAqB,EAAE,SAAkB,EAAA;AACjD,QAAA,OAAO,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,IAAI;IAC5D;8GAHW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACND;;AAEG;;;;"}