{"version":3,"file":"mingleats-ng-bootstrap-form-validation.mjs","sources":["../../../projects/ng-bootstrap-form-validation/src/lib/Enums/BootstrapVersion.ts","../../../projects/ng-bootstrap-form-validation/src/lib/Tokens/tokens.ts","../../../projects/ng-bootstrap-form-validation/src/lib/Directives/form-control.directive.ts","../../../projects/ng-bootstrap-form-validation/src/lib/Directives/form-validation.directive.ts","../../../projects/ng-bootstrap-form-validation/src/lib/Components/messages/messages.component.ts","../../../projects/ng-bootstrap-form-validation/src/lib/default-errors.ts","../../../projects/ng-bootstrap-form-validation/src/lib/Services/error-message.service.ts","../../../projects/ng-bootstrap-form-validation/src/lib/Components/form-group/form-group.component.ts","../../../projects/ng-bootstrap-form-validation/src/lib/ng-bootstrap-form-validation.module.ts","../../../projects/ng-bootstrap-form-validation/src/public_api.ts","../../../projects/ng-bootstrap-form-validation/src/mingleats-ng-bootstrap-form-validation.ts"],"sourcesContent":["export enum BootstrapVersion {\n  Three,\n  Four\n}\n","import { InjectionToken } from \"@angular/core\";\nimport { BootstrapVersion } from \"../Enums/BootstrapVersion\";\nimport { ErrorMessage } from \"../Models/error-message\";\n\nexport const CUSTOM_ERROR_MESSAGES = new InjectionToken<ErrorMessage[]>(\n  \"ng-bootstrap-form-validation custom error messages\"\n);\n\nexport const BOOTSTRAP_VERSION = new InjectionToken<BootstrapVersion>(\n  \"ng-bootstrap-form-validation module options\"\n);\n","import {\n  Directive,\n  Input,\n  HostBinding,\n  Optional,\n  Host,\n  SkipSelf,\n  Inject\n} from \"@angular/core\";\nimport { ControlContainer, FormControl } from \"@angular/forms\";\nimport { BootstrapVersion } from \"../Enums/BootstrapVersion\";\nimport { BOOTSTRAP_VERSION } from \"../Tokens/tokens\";\n\nexport function controlPath(name: string, parent: ControlContainer): string[] {\n  // tslint:disable-next-line:no-non-null-assertion\n  return [...parent.path!, name];\n}\n\n@Directive({\n  // tslint:disable-next-line:directive-selector\n  selector: \".form-control,.form-check-input,.custom-control-input\"\n})\nexport class FormControlDirective {\n  @Input()\n  formControlName: string;\n\n  @HostBinding(\"class.is-valid\")\n  get validClass() {\n    if (!this.control) {\n      return false;\n    }\n    return (\n      this.bootstrapFour &&\n      this.control.valid &&\n      (this.control.touched || this.control.dirty)\n    );\n  }\n\n  @HostBinding(\"class.is-invalid\")\n  get invalidClass() {\n    if (!this.control) {\n      return false;\n    }\n    return (\n      this.bootstrapFour &&\n      this.control.invalid &&\n      this.control.touched &&\n      this.control.dirty\n    );\n  }\n\n  get path() {\n    return controlPath(this.formControlName, this.parent);\n  }\n\n  get control(): FormControl {\n    return this.formDirective && this.formDirective.getControl(this);\n  }\n\n  get formDirective(): any {\n    return this.parent ? this.parent.formDirective : null;\n  }\n\n  get bootstrapFour() {\n    return this.bootstrapVersion === BootstrapVersion.Four;\n  }\n\n  constructor(\n    // this value might be null, but we union type it as such until\n    // this issue is resolved: https://github.com/angular/angular/issues/25544\n    @Optional()\n    @Host()\n    @SkipSelf()\n    private parent: ControlContainer,\n    @Inject(BOOTSTRAP_VERSION) private bootstrapVersion: BootstrapVersion\n  ) {}\n}\n","import {\n  Directive,\n  EventEmitter,\n  Input,\n  Output,\n  HostListener\n} from \"@angular/core\";\nimport {\n  AbstractControl,\n  FormArray,\n  FormControl,\n  FormGroup\n} from \"@angular/forms\";\n\n@Directive({\n  // tslint:disable-next-line:directive-selector\n  selector: \"[formGroup]\"\n})\nexport class FormValidationDirective {\n  @Input()\n  formGroup: FormGroup;\n  @Output()\n  validSubmit = new EventEmitter<any>();\n\n  @HostListener(\"submit\")\n  onSubmit() {\n    this.markAsTouchedAndDirty(this.formGroup);\n    if (this.formGroup.valid) {\n      this.validSubmit.emit(this.formGroup.value);\n    }\n  }\n\n  markAsTouchedAndDirty(control: AbstractControl) {\n    if (control instanceof FormGroup) {\n      Object.keys(control.controls).forEach(key =>\n        this.markAsTouchedAndDirty(control.controls[key])\n      );\n    } else if (control instanceof FormArray) {\n      control.controls.forEach(c => this.markAsTouchedAndDirty(c));\n    } else if (control instanceof FormControl && control.enabled) {\n      control.markAsDirty();\n      control.markAsTouched();\n      control.updateValueAndValidity();\n    }\n  }\n}\n","import { Component, Input, Inject } from \"@angular/core\";\nimport { BootstrapVersion } from \"../../../lib/Enums/BootstrapVersion\";\nimport { BOOTSTRAP_VERSION } from \"../../Tokens/tokens\";\n\n@Component({\n  selector: \"bfv-messages\",\n  template: `\n    <span [ngClass]=\"className\" *ngFor=\"let message of messages()\">{{message}}</span>\n  `,\n  styles: [\n    `\n      .invalid-feedback,\n      .valid-feedback {\n        display: block;\n      }\n    `\n  ]\n})\nexport class MessagesComponent {\n  @Input()\n  public messages = () => [];\n\n  get className() {\n    switch (this.bootstrapVersion) {\n      case BootstrapVersion.Three:\n        return \"help-block\";\n      case BootstrapVersion.Four:\n        return \"invalid-feedback\";\n    }\n  }\n\n  constructor(\n    @Inject(BOOTSTRAP_VERSION) private bootstrapVersion: BootstrapVersion\n  ) {}\n}\n","import { ErrorMessage } from \"./Models/error-message\";\n\nexport const DEFAULT_ERRORS: ErrorMessage[] = [\n  {\n    error: \"required\",\n    format: label => `${label} is required`\n  },\n  {\n    error: \"pattern\",\n    format: label => `${label} is invalid`\n  },\n  {\n    error: \"minlength\",\n    format: (label, error) =>\n      `${label} must be at least ${error.requiredLength} characters`\n  },\n  {\n    error: \"maxlength\",\n    format: (label, error) =>\n      `${label} must be no longer than ${error.requiredLength} characters`\n  },\n  {\n    error: \"requiredTrue\",\n    format: (label, error) => `${label} is required`\n  },\n  {\n    error: \"email\",\n    format: (label, error) => `Invalid email address`\n  },\n  {\n    error: \"max\",\n    format: (label, error) => `${label} must be no greater than ${error.max}`\n  },\n  {\n    error: \"min\",\n    format: (label, error) => `${label} must be no less than ${error.min}`\n  }\n];\n","import { Injectable, Inject } from \"@angular/core\";\nimport { DEFAULT_ERRORS } from \"../default-errors\";\nimport { CUSTOM_ERROR_MESSAGES } from \"../Tokens/tokens\";\nimport { ErrorMessage } from \"../Models/error-message\";\n\n@Injectable({\n  providedIn: \"root\"\n})\nexport class ErrorMessageService {\n  private defaultErrors = DEFAULT_ERRORS;\n\n  public errorMessages: ErrorMessage[];\n\n  constructor(\n    @Inject(CUSTOM_ERROR_MESSAGES) public customErrorMessages: ErrorMessage[][]\n  ) {\n    this.errorMessages = customErrorMessages.reduce(\n      (acc, cur) => acc.concat(cur),\n      this.defaultErrors\n    );\n  }\n}\n","import {\n  Component,\n  ContentChildren,\n  ContentChild,\n  ElementRef,\n  HostBinding,\n  Input,\n  QueryList,\n  OnInit,\n  AfterContentInit\n} from \"@angular/core\";\nimport { FormControlName } from \"@angular/forms\";\nimport { ErrorMessageService } from \"../../Services/error-message.service\";\nimport { MessagesComponent } from \"../messages/messages.component\";\nimport { ErrorMessage } from \"../../Models/error-message\";\n\n@Component({\n  // tslint:disable:component-selector\n  selector: \".form-group\",\n  template: `\n    <ng-content></ng-content>\n    <bfv-messages *ngIf=\"!messagesBlock\" [messages]=\"messages\"></bfv-messages>\n  `\n})\nexport class FormGroupComponent implements OnInit, AfterContentInit {\n  @ContentChildren(FormControlName, { descendants: true })\n  FormControlNames: QueryList<FormControlName>;\n\n  @Input()\n  customErrorMessages: ErrorMessage[] = [];\n\n  @Input()\n  validationDisabled = false;\n\n  @HostBinding(\"class.has-error\")\n  get hasErrors() {\n    return (\n      this.FormControlNames.some(c => !c.valid && c.dirty && c.touched) &&\n      !this.validationDisabled\n    );\n  }\n\n  @HostBinding(\"class.has-success\")\n  get hasSuccess() {\n    return (\n      !this.FormControlNames.some(c => !c.valid) &&\n      this.FormControlNames.some(c => c.dirty && c.touched) &&\n      !this.validationDisabled\n    );\n  }\n\n  @ContentChild(MessagesComponent)\n  public messagesBlock: MessagesComponent;\n\n  private errorMessages: ErrorMessage[];\n\n  public messages = () => this.getMessages();\n\n  constructor(\n    private elRef: ElementRef,\n    private errorMessageService: ErrorMessageService\n  ) {}\n\n  ngAfterContentInit() {\n    if (this.messagesBlock) {\n      this.messagesBlock.messages = this.messages;\n    }\n  }\n\n  ngOnInit() {\n    this.errorMessages = this.errorMessageService.errorMessages\n      .concat(this.customErrorMessages)\n      .reverse();\n  }\n\n  get label() {\n    const label = this.elRef.nativeElement.querySelector(\"label\");\n    return label && label.textContent ? label.textContent.trim() : \"This field\";\n  }\n\n  get isDirtyAndTouched() {\n    return this.FormControlNames.some(c => c.dirty && c.touched);\n  }\n\n  private getMessages(): string[] {\n    const messages = [];\n    if (!this.isDirtyAndTouched || this.validationDisabled) {\n      return messages;\n    }\n\n    const names = this.FormControlNames.map(f => f.name);\n\n    this.FormControlNames.filter(\n      (c, i) =>\n        !c.valid &&\n        !!c.errors &&\n        // filter out FormControlNames that share the same name - usually for radio buttons\n        names.indexOf(c.name) === i\n    ).forEach(control => {\n      Object.keys(control.errors).forEach(key => {\n        const error = this.errorMessages.find(err => err.error === key);\n        if (!error) {\n          return;\n        }\n        messages.push(error.format(this.label, control.errors[key]));\n      });\n    });\n\n    return messages;\n  }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { FormValidationDirective } from \"./Directives/form-validation.directive\";\nimport { MessagesComponent } from \"./Components/messages/messages.component\";\nimport { CUSTOM_ERROR_MESSAGES, BOOTSTRAP_VERSION } from \"./Tokens/tokens\";\nimport { BootstrapVersion } from \"./Enums/BootstrapVersion\";\nimport { FormGroupComponent } from \"./Components/form-group/form-group.component\";\nimport { NgBootstrapFormValidationModuleOptions } from \"./Models/NgBootstrapFormValidationModuleOptions\";\nimport { FormControlDirective } from \"./Directives/form-control.directive\";\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [\n    FormValidationDirective,\n    FormGroupComponent,\n    MessagesComponent,\n    FormControlDirective\n  ],\n  exports: [\n    FormValidationDirective,\n    FormGroupComponent,\n    MessagesComponent,\n    FormControlDirective\n  ]\n})\nexport class NgBootstrapFormValidationModule {\n  static forRoot(\n    userOptions: NgBootstrapFormValidationModuleOptions = {\n      bootstrapVersion: BootstrapVersion.Four\n    }\n  ): ModuleWithProviders<NgBootstrapFormValidationModule> {\n    return {\n      ngModule: NgBootstrapFormValidationModule,\n      providers: [\n        {\n          provide: CUSTOM_ERROR_MESSAGES,\n          useValue: userOptions.customErrorMessages || [],\n          multi: true\n        },\n        {\n          provide: BOOTSTRAP_VERSION,\n          useValue: userOptions.bootstrapVersion\n        }\n      ]\n    };\n  }\n}\n","/*\n * Public API Surface of ng-bootstrap-form-validation\n */\n\nexport { ErrorMessage, FormatErrorFunction } from \"./lib/Models/error-message\";\nexport { FormControlDirective } from \"./lib/Directives/form-control.directive\";\nexport {\n  FormValidationDirective\n} from \"./lib/Directives/form-validation.directive\";\nexport {\n  MessagesComponent\n} from \"./lib/Components/messages/messages.component\";\nexport {\n  FormGroupComponent\n} from \"./lib/Components/form-group/form-group.component\";\nexport { BootstrapVersion } from \"./lib/Enums/BootstrapVersion\";\nexport * from \"./lib/Tokens/tokens\";\nexport {\n  NgBootstrapFormValidationModule\n} from \"./lib/ng-bootstrap-form-validation.module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.ErrorMessageService","i2","i3.MessagesComponent"],"mappings":"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"}