{"version":3,"file":"bootkit-angular-form.mjs","sources":["../../../projects/bootkit/form/validation/validators/equal-with/equal-with-validator.ts","../../../projects/bootkit/form/validation/validators/equal-with/equal-with.directive.ts","../../../projects/bootkit/form/validation/validators/password/password-validator.ts","../../../projects/bootkit/form/validation/validators/password/password-validator.directive.ts","../../../projects/bootkit/form/validation/validators/url/url-validator.ts","../../../projects/bootkit/form/validation/validators/url/url-validator.directive.ts","../../../projects/bootkit/form/validation/validators/custom/custom-validator.directive.ts","../../../projects/bootkit/form/validation/validation.module.ts","../../../projects/bootkit/form/focus.directive.ts","../../../projects/bootkit/form/digits-only.directive.ts","../../../projects/bootkit/form/bootkit-angular-form.ts"],"sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function equalWithValidator(targetValue?: string, inequalityMessage?: string): ValidatorFn {\r\n      return (control: AbstractControl): { [key: string]: any } | null => {\r\n            const isValid = control.value === targetValue;\r\n\r\n            return isValid ? null :\r\n                  {\r\n                        equalWith: {\r\n                              value: control.value,\r\n                              message: inequalityMessage\r\n                        }\r\n                  };\r\n      };\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\r\nimport { equalWithValidator } from './equal-with-validator';\r\n\r\n@Directive({\r\n      selector: '[bkEqualWith]',\r\n      exportAs: 'bkEqualWith',\r\n      standalone: true,\r\n      providers: [\r\n            { provide: NG_VALIDATORS, useExisting: EqualWithValidatorDirective, multi: true }\r\n      ]\r\n})\r\nexport class EqualWithValidatorDirective implements Validator {\r\n      @Input('bkEqualWith') targetValue?: string;\r\n      @Input() inequalityMessage?: string;\r\n\r\n      constructor() {\r\n      }\r\n\r\n      validate(control: AbstractControl): { [key: string]: any } | null {\r\n            return equalWithValidator(this.targetValue, this.inequalityMessage)(control);\r\n      }\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function passwordValidator(options?: { minLength?: number }): ValidatorFn {\r\n      return (control: AbstractControl): { [key: string]: any } | null => {\r\n            const value = (control.value as string);\r\n            const invalid = {\r\n                  'password': {\r\n                        value: control.value,\r\n                  }\r\n            };\r\n\r\n            if (value == null) {\r\n                  return null;\r\n            }\r\n            \r\n            if (Number.isInteger(options?.minLength)) {\r\n                  return value.length >= options!.minLength! ? null : invalid;\r\n            }\r\n\r\n            return null;\r\n      };\r\n}","import { Directive, input } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\r\nimport { passwordValidator } from './password-validator';\r\n\r\n@Directive({\r\n      selector: '[bkPassword]',\r\n      exportAs: 'bkPassword',\r\n      standalone: true,\r\n      providers: [{ provide: NG_VALIDATORS, useExisting: PasswordValidatorDirective, multi: true }]\r\n})\r\nexport class PasswordValidatorDirective implements Validator {\r\n      minLength = input(5);\r\n\r\n      constructor() { }\r\n\r\n      validate(control: AbstractControl): { [key: string]: any } | null {\r\n            return passwordValidator({\r\n                  minLength: this.minLength()\r\n            })(control);\r\n      }\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\nconst urlRegEx = new RegExp('(https?://)?([\\\\da-z.-]+)\\\\.([a-z.]{2,6})[/\\\\w .-]*/?');\r\n\r\nexport function urlValidator(): ValidatorFn {\r\n      return (control: AbstractControl): { [key: string]: any } | null => {\r\n            const value = (control.value as string);\r\n            if (!value || urlRegEx.test(value)) {\r\n                  return null;\r\n            } else {\r\n                  return {\r\n                        'url': {\r\n                              value\r\n                        }\r\n                  };\r\n            }\r\n      };\r\n}","import { Directive, Input } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\r\nimport { urlValidator } from './url-validator';\r\n\r\n@Directive({\r\n  selector: 'input[bkUrl]',\r\n  exportAs: 'bkUrl',\r\n  standalone: true,\r\n  providers: [{ provide: NG_VALIDATORS, useExisting: UrlValidatorDirective, multi: true }]\r\n})\r\nexport class UrlValidatorDirective implements Validator {\r\n  /** Directive is enabled or disabled */\r\n  @Input() bkUrl?: boolean | string = true;\r\n\r\n  validate(control: FormControl): ValidationErrors | null {\r\n    return urlValidator()(control);\r\n  }\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\r\n\r\n@Directive({\r\n      selector: '[bkCustomValidator]',\r\n      exportAs: 'bkCustomValidator',\r\n      standalone: true,\r\n      providers: [\r\n            { provide: NG_VALIDATORS, useExisting: CustomValidatorDirective, multi: true }\r\n      ]\r\n})\r\nexport class CustomValidatorDirective implements Validator {\r\n      @Input('bkCustomValidator') validator!: (value: any) => ValidationErrors | null;\r\n\r\n      constructor() { }\r\n\r\n      validate(control: AbstractControl): ValidationErrors | null {\r\n            return this.validator(control);\r\n      }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n// import { ErrorDirective } from './error.directive';\r\n// import { FirstErrorDirective } from './first-error.directive';\r\nimport { EqualWithValidatorDirective } from './validators/equal-with/equal-with.directive';\r\nimport { PasswordValidatorDirective } from './validators/password/password-validator.directive';\r\nimport { UrlValidatorDirective } from './validators/url/url-validator.directive';\r\nimport { CustomValidatorDirective } from './validators/custom/custom-validator.directive';\r\n\r\nconst items = [\r\n  // ErrorDirective,\r\n  // FirstErrorDirective,\r\n\r\n  // Validators\r\n  EqualWithValidatorDirective,\r\n  PasswordValidatorDirective,\r\n  UrlValidatorDirective,\r\n  CustomValidatorDirective,\r\n];\r\n\r\n@NgModule({\r\n  imports: items,\r\n  exports: items,\r\n})\r\nexport class ValidationModule { }\r\n","import { Directive, ElementRef, AfterViewInit, Input, OnChanges, SimpleChanges, AfterViewChecked, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[vaFocus]',\r\n  exportAs: 'vaFocus',\r\n  standalone: true\r\n})\r\nexport class FocusDirective implements OnInit, OnChanges {\r\n  @Input() focusOnLoad = true;\r\n  @Input() focusWhen?: boolean;\r\n  private focused = false;\r\n\r\n  constructor(private elementRef: ElementRef) {\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (this.focusOnLoad) {\r\n      setTimeout(() => {\r\n        this.elementRef.nativeElement.focus();\r\n      });\r\n    }\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes['focusWhen']) {\r\n      if (this.focusWhen) {\r\n        setTimeout(() => {\r\n          this.elementRef.nativeElement.focus();\r\n        });\r\n      }\r\n    }\r\n  }\r\n}\r\n","import { Directive, ElementRef, Host, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n  standalone: true,\r\n  selector: '[bkDigitsOnly]',\r\n  exportAs: 'bkDigitsOnly',\r\n})\r\nexport class DigitsOnlyDirective {\r\n\r\n  constructor(private elementRef: ElementRef) {\r\n  }\r\n\r\n  @HostListener('keydown', ['$event']) private onKeyDown(e: KeyboardEvent) {\r\n    var allowedKeys = ['Tab', 'Backspace', 'ArrowLeft', 'ArrowRight'];\r\n    if (!isFinite(e.key as any) && !allowedKeys.some(k => e.key == k)) {\r\n      e.preventDefault()\r\n    }\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}