{"version":3,"file":"ngx-mat-errors.mjs","sources":["../../../projects/ngx-mat-errors/src/lib/ngx-mat-error-control.ts","../../../projects/ngx-mat-errors/src/lib/ngx-mat-error-def.directive.ts","../../../projects/ngx-mat-errors/src/lib/utils/coerce-to-observable.ts","../../../projects/ngx-mat-errors/src/lib/utils/distinct-until-error-changed.ts","../../../projects/ngx-mat-errors/src/lib/utils/find-error-for-control.ts","../../../projects/ngx-mat-errors/src/lib/utils/get-abstract-controls.ts","../../../projects/ngx-mat-errors/src/lib/utils/get-control-with-error.ts","../../../projects/ngx-mat-errors/src/lib/ngx-mat-errors.component.ts","../../../projects/ngx-mat-errors/src/lib/locales/en.ts","../../../projects/ngx-mat-errors/src/lib/locales/hu.ts","../../../projects/ngx-mat-errors/src/lib/locales/pt-br.ts","../../../projects/ngx-mat-errors/src/lib/ngx-mat-errors-for-date-range-picker.directive.ts","../../../projects/ngx-mat-errors/src/lib/ngx-mat-errors.module.ts","../../../projects/ngx-mat-errors/src/public-api.ts","../../../projects/ngx-mat-errors/src/ngx-mat-errors.ts"],"sourcesContent":["import { Injectable, type Provider, inject } from '@angular/core';\r\nimport { MAT_FORM_FIELD } from '@angular/material/form-field';\r\nimport type { FormFieldControl } from './types';\r\n\r\n/**\r\n * This class contains the logic of getting the default control of a MatFormField.\r\n * Extend it to implement a custom getter method.\r\n */\r\n@Injectable()\r\nexport class NgxMatErrorControl {\r\n  protected readonly matFormField = inject(MAT_FORM_FIELD, { optional: true });\r\n  public get(): undefined | FormFieldControl | FormFieldControl[] {\r\n    return this.matFormField?._control;\r\n  }\r\n}\r\n\r\n/**\r\n * Provides the default control accessor of a MatFormField.\r\n */\r\nexport function provideDefaultNgxMatErrorControl(): Provider {\r\n  return {\r\n    provide: NgxMatErrorControl,\r\n  };\r\n}\r\n","import {\r\n  Directive,\r\n  InjectionToken,\r\n  Input,\r\n  TemplateRef,\r\n  inject,\r\n} from '@angular/core';\r\nimport {\r\n  AbstractControl,\r\n  ControlContainer,\r\n  type AbstractControlDirective,\r\n} from '@angular/forms';\r\n\r\nexport interface INgxMatErrorDef {\r\n  ngxMatErrorDefFor: string;\r\n  ngxMatErrorDefWithControl?:\r\n    | AbstractControlDirective\r\n    | AbstractControl\r\n    | string\r\n    | null;\r\n  template: TemplateRef<any>;\r\n  control?: AbstractControl;\r\n}\r\n\r\n/**\r\n * Lightweight injection token. When NgxMatErrorDef is not used, only this token will remain, the directive will be tree-shaken.\r\n */\r\nexport const NGX_MAT_ERROR_DEF = new InjectionToken<INgxMatErrorDef>(\r\n  'NGX_MAT_ERROR_DEF'\r\n);\r\n\r\n@Directive({\r\n  selector: '[ngxMatErrorDef]',\r\n  standalone: true,\r\n  providers: [\r\n    {\r\n      provide: NGX_MAT_ERROR_DEF,\r\n      useExisting: NgxMatErrorDef,\r\n    },\r\n  ],\r\n})\r\nexport class NgxMatErrorDef implements INgxMatErrorDef {\r\n  /**\r\n   * Specify the error key to be used for error matching.\r\n   * @required\r\n   */\r\n  @Input({\r\n    required: true,\r\n  })\r\n  public ngxMatErrorDefFor!: string;\r\n\r\n  /**\r\n   * Specify the control to be used for error matching.\r\n   * @optional\r\n   */\r\n  @Input()\r\n  public ngxMatErrorDefWithControl?:\r\n    | AbstractControlDirective\r\n    | AbstractControl\r\n    | string\r\n    | null = undefined;\r\n  public readonly template = inject(TemplateRef);\r\n  private readonly controlContainer = inject(ControlContainer, {\r\n    optional: true,\r\n    skipSelf: true,\r\n  });\r\n\r\n  public get control(): AbstractControl | undefined {\r\n    const input = this.ngxMatErrorDefWithControl;\r\n    if (typeof input === 'string') {\r\n      return this.controlContainer?.control?.get(input) ?? undefined;\r\n    }\r\n    if (input instanceof AbstractControl) {\r\n      return input;\r\n    }\r\n    return input?.control ?? undefined;\r\n  }\r\n}\r\n","import { type Observable, isObservable, of,  } from 'rxjs';\r\nimport type { ErrorMessages } from '../types';\r\n\r\nexport function coerceToObservable(\r\n  errorMessages: ErrorMessages | Observable<ErrorMessages>\r\n): Observable<ErrorMessages> {\r\n  if (isObservable(errorMessages)) {\r\n    return errorMessages;\r\n  }\r\n  return of(errorMessages);\r\n}\r\n","import type { ErrorTemplate } from '../types';\r\n\r\nexport function distinctUntilErrorChanged<P extends ErrorTemplate>(\r\n  prev: P,\r\n  curr: P\r\n) {\r\n  if (prev === curr) {\r\n    return true;\r\n  }\r\n  if (!prev || !curr) {\r\n    return false;\r\n  }\r\n  if (prev.template !== curr.template) {\r\n    return false;\r\n  }\r\n  return prev.$implicit === curr.$implicit;\r\n}\r\n","import type { AbstractControl } from '@angular/forms';\r\nimport type { INgxMatErrorDef } from '../ngx-mat-error-def.directive';\r\nimport { ErrorMessages } from '../types';\r\n\r\n/**\r\n * Finds the error key or custom error for a control.\r\n * @returns INgxMatErrorDef | undefined\r\n */\r\nexport function findErrorForControl(\r\n  control: AbstractControl,\r\n  messages: ErrorMessages,\r\n  customErrorMessages: readonly INgxMatErrorDef[]\r\n) {\r\n  const errorKeys = Object.keys(control.errors!);\r\n  return (\r\n    customErrorMessages.find((customErrorMessage) =>\r\n      errorKeys.some((error) => {\r\n        if (error !== customErrorMessage.ngxMatErrorDefFor) {\r\n          return false;\r\n        }\r\n        return (\r\n          !customErrorMessage.control || customErrorMessage.control === control\r\n        );\r\n      })\r\n    ) ?? errorKeys.find((key) => key in messages)\r\n  );\r\n}\r\n","import { coerceArray } from '@angular/cdk/coercion';\r\nimport { AbstractControl, AbstractControlDirective } from '@angular/forms';\r\nimport type { NgxMatErrorControls } from '../types';\r\n\r\nexport function getAbstractControls(\r\n  controls: NgxMatErrorControls\r\n): AbstractControl[] | undefined {\r\n  if (!controls) {\r\n    return;\r\n  }\r\n  const _controls = coerceArray(controls)\r\n    .map((control) =>\r\n      !control\r\n        ? undefined\r\n        : control instanceof AbstractControlDirective\r\n        ? control.control\r\n        : control instanceof AbstractControl\r\n        ? control\r\n        : control.ngControl?.control\r\n    )\r\n    .filter(<T>(control: T): control is NonNullable<T> => control != null);\r\n  return _controls.length ? _controls : undefined;\r\n}\r\n","import {\r\n  StatusChangeEvent,\r\n  ValueChangeEvent,\r\n  type AbstractControl,\r\n} from '@angular/forms';\r\nimport { combineLatest, filter, map, startWith, type Observable } from 'rxjs';\r\n\r\nexport function getControlWithError(\r\n  controls: AbstractControl[]\r\n): Observable<AbstractControl | undefined> {\r\n  const controlChanges = controls.map((control) =>\r\n    control.events.pipe(\r\n      filter(\r\n        (event) =>\r\n          event instanceof StatusChangeEvent ||\r\n          event instanceof ValueChangeEvent\r\n      ),\r\n      startWith(null as any),\r\n      map(() => control)\r\n    )\r\n  );\r\n  return combineLatest(controlChanges).pipe(\r\n    map((control) => control.find((control) => !!control.errors))\r\n  );\r\n}\r\n","import { AsyncPipe, NgTemplateOutlet } from '@angular/common';\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ContentChildren,\r\n  InjectionToken,\r\n  Input,\r\n  ViewEncapsulation,\r\n  inject,\r\n  type OnDestroy,\r\n  type QueryList,\r\n} from '@angular/core';\r\nimport {\r\n  ReplaySubject,\r\n  combineLatest,\r\n  distinctUntilChanged,\r\n  map,\r\n  of,\r\n  startWith,\r\n  switchMap,\r\n  type Observable,\r\n} from 'rxjs';\r\nimport {\r\n  NgxMatErrorControl,\r\n  provideDefaultNgxMatErrorControl,\r\n} from './ngx-mat-error-control';\r\nimport {\r\n  NGX_MAT_ERROR_DEF,\r\n  type INgxMatErrorDef,\r\n} from './ngx-mat-error-def.directive';\r\nimport type {\r\n  ErrorMessages,\r\n  ErrorTemplate,\r\n  NgxMatErrorControls,\r\n} from './types';\r\nimport { coerceToObservable } from './utils/coerce-to-observable';\r\nimport { distinctUntilErrorChanged } from './utils/distinct-until-error-changed';\r\nimport { findErrorForControl } from './utils/find-error-for-control';\r\nimport { getAbstractControls } from './utils/get-abstract-controls';\r\nimport { getControlWithError } from './utils/get-control-with-error';\r\n\r\nexport const NGX_MAT_ERROR_DEFAULT_OPTIONS = new InjectionToken<\r\n  ErrorMessages | Observable<ErrorMessages>\r\n>('NGX_MAT_ERROR_DEFAULT_OPTIONS');\r\n\r\n@Component({\r\n  selector: 'ngx-mat-errors, [ngx-mat-errors]',\r\n  template: `<ng-template #defaultTemplate let-error>{{ error }}</ng-template\r\n    >@if( error$ | async; as error) {\r\n    <ng-template\r\n      [ngTemplateOutlet]=\"error.template ?? defaultTemplate\"\r\n      [ngTemplateOutletContext]=\"error\"\r\n    ></ng-template>\r\n    }`,\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  imports: [AsyncPipe, NgTemplateOutlet],\r\n  host: {\r\n    class: 'ngx-mat-errors',\r\n  },\r\n  providers: [provideDefaultNgxMatErrorControl()],\r\n})\r\nexport class NgxMatErrors implements OnDestroy {\r\n  private readonly messages$ = coerceToObservable(\r\n    inject(NGX_MAT_ERROR_DEFAULT_OPTIONS)\r\n  );\r\n  private readonly defaultControl = inject(NgxMatErrorControl, {\r\n    host: true,\r\n  });\r\n  private readonly controlChangedSubject =\r\n    new ReplaySubject<NgxMatErrorControls>(1);\r\n\r\n  protected error$!: Observable<ErrorTemplate>;\r\n\r\n  // ContentChildren is set before ngAfterContentInit which is before ngAfterViewInit.\r\n  // Before ngAfterViewInit lifecycle hook we can modify the error$ observable without needing another change detection cycle.\r\n  // This elaborates the need of rxjs defer;\r\n  @ContentChildren(NGX_MAT_ERROR_DEF, { descendants: true })\r\n  protected set customErrorMessages(queryList: QueryList<INgxMatErrorDef>) {\r\n    const firstControlWithError$ = this.controlChangedSubject.pipe(\r\n        switchMap((_controls) => {\r\n          const controls = getAbstractControls(\r\n            _controls || this.defaultControl.get()\r\n          );\r\n          if (!controls) {\r\n            return of(null);\r\n          }\r\n          return getControlWithError(controls);\r\n        })\r\n      ),\r\n      customErrorMessages$ = (\r\n        queryList.changes as Observable<QueryList<INgxMatErrorDef>>\r\n      ).pipe(startWith(queryList));\r\n    this.error$ = combineLatest([\r\n      firstControlWithError$,\r\n      customErrorMessages$,\r\n      this.messages$,\r\n    ]).pipe(\r\n      map(([controlWithError, customErrorMessages, messages]) => {\r\n        if (!controlWithError) {\r\n          return;\r\n        }\r\n        const errors = controlWithError.errors!,\r\n          errorOrErrorDef = findErrorForControl(\r\n            controlWithError,\r\n            messages,\r\n            customErrorMessages.toArray()\r\n          );\r\n        if (!errorOrErrorDef) {\r\n          return;\r\n        }\r\n        if (typeof errorOrErrorDef === 'object') {\r\n          return {\r\n            template: errorOrErrorDef.template,\r\n            $implicit: errors[errorOrErrorDef.ngxMatErrorDefFor],\r\n          };\r\n        }\r\n        const message = messages[errorOrErrorDef];\r\n        return {\r\n          $implicit:\r\n            typeof message === 'function'\r\n              ? message(errors[errorOrErrorDef])\r\n              : message,\r\n        };\r\n      }),\r\n      distinctUntilChanged(distinctUntilErrorChanged)\r\n    );\r\n  }\r\n\r\n  // eslint-disable-next-line @angular-eslint/no-input-rename\r\n  /**\r\n   * @deprecated will be changed to a signal and it won't be possible to set the property from TS.\r\n   * Instead of setting it in a directive, the directive should extend the {@link NgxMatErrorControl } class\r\n   * and provide itself as it.\r\n   */\r\n  @Input('ngx-mat-errors')\r\n  public set control(control: NgxMatErrorControls) {\r\n    this.controlChangedSubject.next(control);\r\n  }\r\n\r\n  /** @ignore */\r\n  public ngOnDestroy(): void {\r\n    this.controlChangedSubject.complete();\r\n  }\r\n}\r\n","import { formatDate } from '@angular/common';\r\nimport { type FactoryProvider, LOCALE_ID } from '@angular/core';\r\nimport type {\r\n  EndDateError,\r\n  ErrorMessages,\r\n  LengthError,\r\n  MaxError,\r\n  MinError,\r\n  StartDateError,\r\n  ParseError,\r\n} from '../types';\r\nimport { NGX_MAT_ERROR_DEFAULT_OPTIONS } from '../ngx-mat-errors.component';\r\n\r\nexport function errorMessagesEnFactory(\r\n  locale: string,\r\n  dateFormat = 'shortDate',\r\n  timeFormat = 'shortTime'\r\n): ErrorMessages {\r\n  return {\r\n    min: (error: MinError) =>\r\n      `Please enter a value greater than or equal to ${error.min}.`,\r\n    max: (error: MaxError) =>\r\n      `Please enter a value less than or equal to ${error.max}.`,\r\n    required: `This field is required.`,\r\n    email: `Please enter a valid email address.`,\r\n    minlength: (error: LengthError) =>\r\n      `Please enter at least ${error.requiredLength} characters.`,\r\n    maxlength: (error: LengthError) =>\r\n      `Please enter no more than ${error.requiredLength} characters.`,\r\n    matDatepickerMin: (error: MinError<Date>) => {\r\n      const formatted = formatDate(error.min, dateFormat, locale);\r\n      return `Please enter a date greater than or equal to ${\r\n        formatted ?? error.min\r\n      }.`;\r\n    },\r\n    matDatepickerMax: (error: MaxError<Date>) => {\r\n      const formatted = formatDate(error.max, dateFormat, locale);\r\n      return `Please enter a date less than or equal to ${\r\n        formatted ?? error.max\r\n      }.`;\r\n    },\r\n    matDatepickerParse: (error: ParseError) => `Invalid date format.`,\r\n    matStartDateInvalid: (error: StartDateError<Date>) =>\r\n      `Start date cannot be after end date.`,\r\n    matEndDateInvalid: (error: EndDateError<Date>) =>\r\n      `End date cannot be before start date.`,\r\n    matDatepickerFilter: 'This date is filtered out.',\r\n    matTimepickerParse: (error: ParseError) => `Invalid time format.`,\r\n    matTimepickerMin: (error: MinError<Date>) => {\r\n      const formatted = formatDate(error.min, timeFormat, locale);\r\n      return `Please enter a time greater than or equal to ${\r\n        formatted ?? error.min\r\n      }.`;\r\n    },\r\n    matTimepickerMax: (error: MaxError<Date>) => {\r\n      const formatted = formatDate(error.max, timeFormat, locale);\r\n      return `Please enter a time less than or equal to ${\r\n        formatted ?? error.max\r\n      }.`;\r\n    },\r\n  };\r\n}\r\n\r\nexport const NGX_MAT_ERROR_CONFIG_EN: FactoryProvider = {\r\n  provide: NGX_MAT_ERROR_DEFAULT_OPTIONS,\r\n  useFactory: errorMessagesEnFactory,\r\n  deps: [LOCALE_ID],\r\n};\r\n","import { formatDate } from '@angular/common';\r\nimport { type FactoryProvider, LOCALE_ID } from '@angular/core';\r\nimport type {\r\n  ParseError,\r\n  EndDateError,\r\n  ErrorMessages,\r\n  LengthError,\r\n  MaxError,\r\n  MinError,\r\n  StartDateError,\r\n} from '../types';\r\nimport { NGX_MAT_ERROR_DEFAULT_OPTIONS } from '../ngx-mat-errors.component';\r\n\r\nexport function errorMessagesHuFactory(\r\n  locale: string,\r\n  dateFormat = 'shortDate',\r\n  timeFormat = 'shortTime'\r\n): ErrorMessages {\r\n  return {\r\n    min: (error: MinError) => `Nem lehet kisebb, mint ${error.min}.`,\r\n    max: (error: MaxError) => `Nem lehet nagyobb, mint ${error.max}.`,\r\n    required: `Kötelező mező.`,\r\n    email: `Nem érvényes e-mail cím.`,\r\n    minlength: (error: LengthError) =>\r\n      `Legalább ${error.requiredLength} karakter hosszú lehet.`,\r\n    maxlength: (error: LengthError) =>\r\n      `Legfeljebb ${error.requiredLength} karakter hosszú lehet.`,\r\n    server: (error: string) => error,\r\n    matDatepickerMin: (error: MinError<Date>) => {\r\n      const formatted = formatDate(error.min, dateFormat, locale);\r\n      // In Hungarian date ends with '.'\r\n      return `Nem lehet korábbi dátum, mint ${formatted ?? error.min}`;\r\n    },\r\n    matDatepickerMax: (error: MaxError<Date>) => {\r\n      const formatted = formatDate(error.max, dateFormat, locale);\r\n      // In Hungarian date ends with '.'\r\n      return `Nem lehet későbbi dátum, mint ${formatted ?? error.max}`;\r\n    },\r\n    matDatepickerParse: (error: ParseError) => `Érvénytelen dátum.`,\r\n    matStartDateInvalid: (error: StartDateError<Date>) =>\r\n      `A kezdő dátum nem lehet a vég dátum után.`,\r\n    matEndDateInvalid: (error: EndDateError<Date>) =>\r\n      `A vég dátum nem lehet a kezdő dátum előtt.`,\r\n    matDatepickerFilter: 'Ez a dátum nem engedélyezett.',\r\n    matTimepickerParse: (error: ParseError) => `Érvénytelen idő.`,\r\n    matTimepickerMin: (error: MinError<Date>) => {\r\n      const formatted = formatDate(error.min, timeFormat, locale);\r\n      return `Nem lehet korábbi idő, mint ${\r\n        formatted ?? error.min\r\n      }.`;\r\n    },\r\n    matTimepickerMax: (error: MaxError<Date>) => {\r\n      const formatted = formatDate(error.max, timeFormat, locale);\r\n      return `Nem lehet későbbi idő, mint  ${\r\n        formatted ?? error.max\r\n      }.`;\r\n    },\r\n  };\r\n}\r\n\r\nexport const NGX_MAT_ERROR_CONFIG_HU: FactoryProvider = {\r\n  provide: NGX_MAT_ERROR_DEFAULT_OPTIONS,\r\n  useFactory: errorMessagesHuFactory,\r\n  deps: [LOCALE_ID],\r\n};\r\n","import { formatDate } from '@angular/common';\r\nimport { type FactoryProvider, LOCALE_ID } from '@angular/core';\r\nimport type {\r\n  ParseError,\r\n  EndDateError,\r\n  ErrorMessages,\r\n  LengthError,\r\n  MaxError,\r\n  MinError,\r\n  StartDateError,\r\n} from '../types';\r\nimport { NGX_MAT_ERROR_DEFAULT_OPTIONS } from '../ngx-mat-errors.component';\r\n\r\nexport function errorMessagesPtBtFactory(\r\n  locale: string,\r\n  dateFormat = 'shortDate',\r\n  timeFormat = 'shortTime'\r\n): ErrorMessages {\r\n  return {\r\n    min: (error: MinError) => `Informe um valor igual ou maior a ${error.min}.`,\r\n    max: (error: MaxError) => `Informe um valor igual ou menor a ${error.max}.`,\r\n    required: `Campo obrigatório.`,\r\n    email: `Informe um endereço de email válido.`,\r\n    minlength: (error: LengthError) =>\r\n      `Informe pelo menos ${error.requiredLength} caracteres.`,\r\n    maxlength: (error: LengthError) =>\r\n      `O campo não pode ter mais que ${error.requiredLength} caracteres.`,\r\n    matDatepickerMin: (error: MinError<Date>) => {\r\n      const formatted = formatDate(error.min, dateFormat, locale);\r\n      return `Informe uma data maior ou igual a ${formatted ?? error.min}.`;\r\n    },\r\n    matDatepickerMax: (error: MaxError<Date>) => {\r\n      const formatted = formatDate(error.max, dateFormat, locale);\r\n      return `Informe uma data menor ou igual a ${formatted ?? error.max}.`;\r\n    },\r\n    matDatepickerParse: (error: ParseError) => `Formato de data inválido.`,\r\n    matStartDateInvalid: (error: StartDateError<Date>) =>\r\n      `A data de início não pode ser posterior à data de término.`,\r\n    matEndDateInvalid: (error: EndDateError<Date>) =>\r\n      `A data de término não pode ser anterior à data de início.`,\r\n    matDatepickerFilter: 'Esta data é filtrada.',\r\n    matTimepickerParse: (error: ParseError) => `Formato de hora inválido.`,\r\n    matTimepickerMin: (error: MinError<Date>) => {\r\n      const formatted = formatDate(error.min, timeFormat, locale);\r\n      return `Insira um horário maior ou igual a ${\r\n        formatted ?? error.min\r\n      }.`;\r\n    },\r\n    matTimepickerMax: (error: MaxError<Date>) => {\r\n      const formatted = formatDate(error.max, timeFormat, locale);\r\n      return `Insira um horário menor ou igual a ${\r\n        formatted ?? error.max\r\n      }.`;\r\n    },\r\n  };\r\n}\r\n\r\nexport const NGX_MAT_ERROR_CONFIG_PT_BR: FactoryProvider = {\r\n  provide: NGX_MAT_ERROR_DEFAULT_OPTIONS,\r\n  useFactory: errorMessagesPtBtFactory,\r\n  deps: [LOCALE_ID],\r\n};\r\n","import { Directive } from '@angular/core';\r\nimport type { MatDateRangeInput } from '@angular/material/datepicker';\r\nimport { NgxMatErrorControl } from './ngx-mat-error-control';\r\n\r\n@Directive({\r\n  selector: '[ngx-mat-errors][forDateRangePicker]',\r\n  standalone: true,\r\n  host: {\r\n    class: 'ngx-mat-errors-for-date-range-picker',\r\n  },\r\n  providers: [\r\n    {\r\n      provide: NgxMatErrorControl,\r\n      useExisting: NgxMatErrorsForDateRangePicker,\r\n    },\r\n  ],\r\n})\r\nexport class NgxMatErrorsForDateRangePicker<D> extends NgxMatErrorControl {\r\n  /** Returns start and end controls of the date range picker. */\r\n  public override get() {\r\n    const { _startInput, _endInput } = this.matFormField!\r\n      ._control as MatDateRangeInput<D>;\r\n    return [_startInput, _endInput];\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NgxMatErrorDef } from './ngx-mat-error-def.directive';\r\nimport { NgxMatErrors } from './ngx-mat-errors.component';\r\n\r\n@NgModule({\r\n  imports: [NgxMatErrors, NgxMatErrorDef],\r\n  exports: [NgxMatErrors, NgxMatErrorDef],\r\n})\r\nexport class NgxMatErrorsModule {}\r\n","/*\r\n * Public API Surface of ngx-mat-errors\r\n */\r\n\r\nexport * from './lib/locales';\r\nexport * from './lib/ngx-mat-error-def.directive';\r\nexport * from './lib/ngx-mat-errors-for-date-range-picker.directive';\r\nexport * from './lib/ngx-mat-errors.component';\r\nexport * from './lib/ngx-mat-errors.module';\r\nexport type * from './lib/types';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}