@lagoshny/ngx-validation-messages 3.0.0 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,18 +8,18 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  export class NgxCustomMessageComponent {
10
10
  }
11
- NgxCustomMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxCustomMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- NgxCustomMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: NgxCustomMessageComponent, selector: "ngx-custom-message", inputs: { validatorName: ["forValidator", "validatorName"] }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: `
13
- <div #message>
14
- <ng-content></ng-content>
11
+ NgxCustomMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxCustomMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ NgxCustomMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NgxCustomMessageComponent, selector: "ngx-custom-message", inputs: { validatorName: ["forValidator", "validatorName"] }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: `
13
+ <div #message>
14
+ <ng-content></ng-content>
15
15
  </div>`, isInline: true });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxCustomMessageComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxCustomMessageComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{
19
19
  selector: 'ngx-custom-message',
20
- template: `
21
- <div #message>
22
- <ng-content></ng-content>
20
+ template: `
21
+ <div #message>
22
+ <ng-content></ng-content>
23
23
  </div>`
24
24
  }]
25
25
  }], propDecorators: { validatorName: [{
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
29
29
  type: ViewChild,
30
30
  args: ['message']
31
31
  }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWN1c3RvbS1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtY3VzdG9tLW1lc3NhZ2Uvbmd4LWN1c3RvbS1tZXNzYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV4RTs7Ozs7R0FLRztBQVFILE1BQU0sT0FBTyx5QkFBeUI7O3NIQUF6Qix5QkFBeUI7MEdBQXpCLHlCQUF5Qiw0TkFMMUI7OztXQUdEOzJGQUVFLHlCQUF5QjtrQkFQckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7OztXQUdEO2lCQUNWOzhCQU9RLGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsY0FBYztnQkFPZCxPQUFPO3NCQURiLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCBhbGxvd3Mgc3BlY2lmeWluZyBjdXN0b20gdmFsaWRhdGlvbiBtZXNzYWdlIGZvciB0aGUgc3BlY2lmaWVkXHJcbiAqIHZhbGlkYXRvciB0byBvdmVycmlkZSBkZWZhdWx0IG1lc3NhZ2UuXHJcbiAqXHJcbiAqIFVzZSB0aGlzIGNvbXBvbmVudCBhcyBjaGlsZCBpbiB7QGxpbmsgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29tcG9uZW50fS5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmd4LWN1c3RvbS1tZXNzYWdlJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiAjbWVzc2FnZT5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB2YWxpZGF0b3IgZm9yIHdoaWNoIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBtZXNzYWdlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgnZm9yVmFsaWRhdG9yJylcclxuICBwdWJsaWMgdmFsaWRhdG9yTmFtZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBDb250YWlucyBvdmVycmlkZGVuIG1lc3NhZ2UgZm9yIHZhbGlkYXRvci5cclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdtZXNzYWdlJylcclxuICBwdWJsaWMgbWVzc2FnZTogRWxlbWVudFJlZjtcclxuXHJcbn1cclxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWN1c3RvbS1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtY3VzdG9tLW1lc3NhZ2Uvbmd4LWN1c3RvbS1tZXNzYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV4RTs7Ozs7R0FLRztBQVFILE1BQU0sT0FBTyx5QkFBeUI7O3VIQUF6Qix5QkFBeUI7MkdBQXpCLHlCQUF5Qiw0TkFMMUI7OztXQUdEOzRGQUVFLHlCQUF5QjtrQkFQckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7OztXQUdEO2lCQUNWOzhCQU9RLGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsY0FBYztnQkFPZCxPQUFPO3NCQURiLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCBhbGxvd3Mgc3BlY2lmeWluZyBjdXN0b20gdmFsaWRhdGlvbiBtZXNzYWdlIGZvciB0aGUgc3BlY2lmaWVkXG4gKiB2YWxpZGF0b3IgdG8gb3ZlcnJpZGUgZGVmYXVsdCBtZXNzYWdlLlxuICpcbiAqIFVzZSB0aGlzIGNvbXBvbmVudCBhcyBjaGlsZCBpbiB7QGxpbmsgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29tcG9uZW50fS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWN1c3RvbS1tZXNzYWdlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2ICNtZXNzYWdlPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PmBcbn0pXG5leHBvcnQgY2xhc3MgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB2YWxpZGF0b3IgZm9yIHdoaWNoIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBtZXNzYWdlLlxuICAgKi9cbiAgQElucHV0KCdmb3JWYWxpZGF0b3InKVxuICBwdWJsaWMgdmFsaWRhdG9yTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb250YWlucyBvdmVycmlkZGVuIG1lc3NhZ2UgZm9yIHZhbGlkYXRvci5cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ21lc3NhZ2UnKVxuICBwdWJsaWMgbWVzc2FnZTogRWxlbWVudFJlZjtcblxufVxuIl19
@@ -76,11 +76,11 @@ export class NgxValidationMessagesComponent {
76
76
  });
77
77
  }
78
78
  }
79
- NgxValidationMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesComponent, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }, { token: i1.NgxValidationMessagesService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
80
- NgxValidationMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: NgxValidationMessagesComponent, selector: "ngx-validation-messages, [ngxValidationMessages]", inputs: { formControl: ["for", "formControl"] }, queries: [{ propertyName: "customMsgComponent", predicate: NgxCustomMessageComponent }, { propertyName: "customMsgDirective", predicate: NgxValidatorNameDirective }], ngImport: i0, template: "<!--To show error messages standalone without component-->\r\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\r\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n <ng-content></ng-content>\r\n </span>\r\n</div>\r\n\r\n<ng-container *ngIf=\"errorMessages.length > 0\">\r\n\r\n <!--To show error messages in material ui style-->\r\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\r\n <ng-container *ngFor=\"let message of errorMessages\">\r\n <mat-error>{{ message }}</mat-error>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!--To show error messages in user style-->\r\n <ng-template #withoutMaterial>\r\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <div *ngFor=\"let message of errorMessages\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n {{ message }}\r\n </span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n</ng-container>\r\n", styles: [".ngx_vm__def_error_block{position:relative;display:inline-block;width:100%;margin-bottom:10px;margin-top:2px;padding:8px;border-radius:0;background:#c51244;box-shadow:1px 1px 1px #aaa;opacity:.8}.ngx_vm__def_error_text{color:#fff}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }] });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesComponent, decorators: [{
79
+ NgxValidationMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesComponent, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }, { token: i1.NgxValidationMessagesService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
80
+ NgxValidationMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NgxValidationMessagesComponent, selector: "ngx-validation-messages, [ngxValidationMessages]", inputs: { formControl: ["for", "formControl"] }, queries: [{ propertyName: "customMsgComponent", predicate: NgxCustomMessageComponent }, { propertyName: "customMsgDirective", predicate: NgxValidatorNameDirective }], ngImport: i0, template: "<!--To show error messages standalone without component-->\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n <ng-content></ng-content>\n </span>\n</div>\n\n<ng-container *ngIf=\"errorMessages.length > 0\">\n\n <!--To show error messages in material ui style-->\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\n <ng-container *ngFor=\"let message of errorMessages\">\n <mat-error>{{ message }}</mat-error>\n </ng-container>\n </ng-container>\n\n <!--To show error messages in user style-->\n <ng-template #withoutMaterial>\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <div *ngFor=\"let message of errorMessages\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n {{ message }}\n </span>\n </div>\n </div>\n </ng-template>\n\n</ng-container>\n", styles: [".ngx_vm__def_error_block{position:relative;display:inline-block;width:100%;margin-bottom:10px;margin-top:2px;padding:8px;border-radius:0;background:#c51244;box-shadow:1px 1px 1px #aaa;opacity:.8}.ngx_vm__def_error_text{color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }] });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesComponent, decorators: [{
82
82
  type: Component,
83
- args: [{ selector: 'ngx-validation-messages, [ngxValidationMessages]', template: "<!--To show error messages standalone without component-->\r\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\r\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n <ng-content></ng-content>\r\n </span>\r\n</div>\r\n\r\n<ng-container *ngIf=\"errorMessages.length > 0\">\r\n\r\n <!--To show error messages in material ui style-->\r\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\r\n <ng-container *ngFor=\"let message of errorMessages\">\r\n <mat-error>{{ message }}</mat-error>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!--To show error messages in user style-->\r\n <ng-template #withoutMaterial>\r\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <div *ngFor=\"let message of errorMessages\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n {{ message }}\r\n </span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n</ng-container>\r\n", styles: [".ngx_vm__def_error_block{position:relative;display:inline-block;width:100%;margin-bottom:10px;margin-top:2px;padding:8px;border-radius:0;background:#c51244;box-shadow:1px 1px 1px #aaa;opacity:.8}.ngx_vm__def_error_text{color:#fff}\n"] }]
83
+ args: [{ selector: 'ngx-validation-messages, [ngxValidationMessages]', template: "<!--To show error messages standalone without component-->\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n <ng-content></ng-content>\n </span>\n</div>\n\n<ng-container *ngIf=\"errorMessages.length > 0\">\n\n <!--To show error messages in material ui style-->\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\n <ng-container *ngFor=\"let message of errorMessages\">\n <mat-error>{{ message }}</mat-error>\n </ng-container>\n </ng-container>\n\n <!--To show error messages in user style-->\n <ng-template #withoutMaterial>\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <div *ngFor=\"let message of errorMessages\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n {{ message }}\n </span>\n </div>\n </div>\n </ng-template>\n\n</ng-container>\n", styles: [".ngx_vm__def_error_block{position:relative;display:inline-block;width:100%;margin-bottom:10px;margin-top:2px;padding:8px;border-radius:0;background:#c51244;box-shadow:1px 1px 1px #aaa;opacity:.8}.ngx_vm__def_error_text{color:#fff}\n"] }]
84
84
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
85
85
  type: Inject,
86
86
  args: [NGX_VALIDATION_MESSAGES_CONFIG]
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
94
94
  type: ContentChildren,
95
95
  args: [NgxValidatorNameDirective]
96
96
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvc3JjL2xpYi9jb21wb25lbnRzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUNMLDhCQUE4QixFQUUvQixNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7OztBQUUvRjs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sOEJBQThCO0lBNkJ6QyxZQUEyRCxtQkFBZ0QsRUFDdkYsNEJBQTBELEVBQzFELG1CQUErQjtRQUZRLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBNkI7UUFDdkYsaUNBQTRCLEdBQTVCLDRCQUE0QixDQUE4QjtRQUMxRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVk7UUFYNUMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFL0I7O1dBRUc7UUFDSyxpQkFBWSxHQUFHLE9BQU8sQ0FBQztRQUV2Qix5QkFBb0IsR0FB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R0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQ3RELE9BQU8sR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsa0NBQWtDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBRXBJLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLFFBQVE7Z0JBQzVELENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxHQUFHLE9BQU87Z0JBQ3BFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBQyxhQUFhLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzsySEEzRlUsOEJBQThCLGtCQTZCckIsOEJBQThCOytHQTdCdkMsOEJBQThCLDRLQVd4Qix5QkFBeUIscURBTXpCLHlCQUF5Qiw2QkNuQzVDLG93Q0E2QkE7MkZEWGEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLGtEQUFrRDs7MEJBaUMvQyxNQUFNOzJCQUFDLDhCQUE4QjtnSEF2QjNDLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsS0FBSztnQkFPTCxrQkFBa0I7c0JBRHhCLGVBQWU7dUJBQUMseUJBQXlCO2dCQU9uQyxrQkFBa0I7c0JBRHhCLGVBQWU7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZpZXMvbmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7XHJcbiAgTkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHLFxyXG4gIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZ1xyXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb25maWcnO1xyXG5pbXBvcnQgeyBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uL25neC1jdXN0b20tbWVzc2FnZS9uZ3gtY3VzdG9tLW1lc3NhZ2UuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgdmFsaWRhdGlvbiBtZXNzYWdlcywgc3VwcG9ydHMgY2hpbGQgY29tcG9uZW50cyBvZiB0eXBlIHtAbGluayBOZ3hDdXN0b21NZXNzYWdlQ29tcG9uZW50fVxyXG4gKiBhbmQgaHRtbCBlbGVtZW50cyB3aXRoIGRpcmVjdGl2ZSB7QGxpbmsgTmd4VmFsaWRhdG9yTmFtZURpcmVjdGl2ZX0gdG8gb3ZlcnJpZGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMsIFtuZ3hWYWxpZGF0aW9uTWVzc2FnZXNdJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cclxuICAvKipcclxuICAgKiBGb3JtIGNvbnRyb2wgZm9yIHdoaWNoIG5lZWQgdG8gc2hvdyB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgnZm9yJylcclxuICBwdWJsaWMgZm9ybUNvbnRyb2w6IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udGFpbnMge0BsaW5rIE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnR9IGlmIHByZXNlbnQuXHJcbiAgICovXHJcbiAgQENvbnRlbnRDaGlsZHJlbihOZ3hDdXN0b21NZXNzYWdlQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBjdXN0b21Nc2dDb21wb25lbnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnRhaW5zIHtAbGluayBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlfSBpZiBwcmVzZW50LlxyXG4gICAqL1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oTmd4VmFsaWRhdG9yTmFtZURpcmVjdGl2ZSlcclxuICBwdWJsaWMgY3VzdG9tTXNnRGlyZWN0aXZlO1xyXG5cclxuICBwdWJsaWMgaXNNYXRlcmlhbEVycm9yID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEtleSB0byBnZXQgZGVmYXVsdCB2YWxpZGF0aW9uIG1lc3NhZ2UuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkZWZhdWx0RXJyb3IgPSAnZXJyb3InO1xyXG5cclxuICBwcml2YXRlIG1hdGVyaWFsRXJyb3JFbGVtZW50ID0gJ01BVC1FUlJPUic7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHKSBwdWJsaWMgbmd4VmFsaWRhdGlvbkNvbmZpZzogTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29uZmlnLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgbmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZTogTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGRpcmVjdGl2ZUVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmICYmIHRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XHJcbiAgICAgICYmIHRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lKSB7XHJcbiAgICAgIHRoaXMuaXNNYXRlcmlhbEVycm9yID0gdGhpcy5tYXRlcmlhbEVycm9yRWxlbWVudC50b0xvY2FsZVVwcGVyQ2FzZSgpXHJcbiAgICAgICAgPT09IHRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG9jYWxlVXBwZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIHZhbGlkYXRpb24gbWVzc2FnZXMgZm9yIHNwZWNpZmllZCBmb3JtIGNvbnRyb2wuXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBlcnJvck1lc3NhZ2VzKCk6IEFycmF5PHN0cmluZz4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBBcnJheTxzdHJpbmc+ID0gW107XHJcblxyXG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sIHx8ICF0aGlzLmZvcm1Db250cm9sLmVycm9ycykge1xyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VzdG9tTXNnQ29tcG9uZW50ICYmIHRoaXMuY3VzdG9tTXNnQ29tcG9uZW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5wcm9jZXNzaW5nQ3VzdG9tTWVzc2FnZXModGhpcy5jdXN0b21Nc2dDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VzdG9tTXNnRGlyZWN0aXZlICYmIHRoaXMuY3VzdG9tTXNnRGlyZWN0aXZlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5wcm9jZXNzaW5nQ3VzdG9tTWVzc2FnZXModGhpcy5jdXN0b21Nc2dEaXJlY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gdGhpcy5mb3JtQ29udHJvbC5lcnJvcnMpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzLmhhc093blByb3BlcnR5KHByb3BlcnR5KVxyXG4gICAgICAgICYmICh0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQgfHwgdGhpcy5mb3JtQ29udHJvbC5kaXJ0eSkpIHtcclxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbcHJvcGVydHldLmN1c3RvbU1lc3NhZ2VzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW3Byb3BlcnR5XS5jdXN0b21NZXNzYWdlcyk7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW3Byb3BlcnR5XS5jdXN0b21NZXNzYWdlKSB7XHJcbiAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmZvcm1Db250cm9sLmVycm9yc1twcm9wZXJ0eV0uY3VzdG9tTWVzc2FnZSk7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyA9XHJcbiAgICAgICAgICB0aGlzLm5neFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UuZ2V0VmFsaWRhdG9yRXJyb3JNZXNzYWdlcyhwcm9wZXJ0eSwgdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbcHJvcGVydHldKTtcclxuICAgICAgICByZXN1bHQucHVzaCh2YWxpZGF0aW9uTWVzc2FnZSB8fCB0aGlzLmZvcm1Db250cm9sLmVycm9yc1twcm9wZXJ0eV0ubWVzc2FnZVxyXG4gICAgICAgICAgfHwgdGhpcy5uZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLmdldFZhbGlkYXRvckVycm9yTWVzc2FnZXModGhpcy5kZWZhdWx0RXJyb3IpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvY2Vzc2luZ0N1c3RvbU1lc3NhZ2VzKGN1c3RvbU1lc3NhZ2U6IFF1ZXJ5TGlzdDxhbnk+KTogdm9pZCB7XHJcbiAgICBjdXN0b21NZXNzYWdlLmZvckVhY2goKG1zZzogYW55KSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbbXNnLnZhbGlkYXRvck5hbWVdKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBtZXNzYWdlID0gKG1zZyBpbnN0YW5jZW9mIE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnQpXHJcbiAgICAgICAgPyBtc2cubWVzc2FnZS5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA6IG1zZy5tZXNzYWdlO1xyXG4gICAgICBtZXNzYWdlID0gdGhpcy5uZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLmV4cGFuZFBhcmFtZXRlcml6ZWRUZW1wbGF0ZU1lc3NhZ2UobWVzc2FnZSwgdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbbXNnLnZhbGlkYXRvck5hbWVdKTtcclxuXHJcbiAgICAgIHR5cGVvZiB0aGlzLmZvcm1Db250cm9sLmVycm9yc1ttc2cudmFsaWRhdG9yTmFtZV0gPT09ICdvYmplY3QnXHJcbiAgICAgICAgPyB0aGlzLmZvcm1Db250cm9sLmVycm9yc1ttc2cudmFsaWRhdG9yTmFtZV0uY3VzdG9tTWVzc2FnZSA9IG1lc3NhZ2VcclxuICAgICAgICA6IHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW21zZy52YWxpZGF0b3JOYW1lXSA9IHtjdXN0b21NZXNzYWdlOiBtZXNzYWdlfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLVRvIHNob3cgZXJyb3IgbWVzc2FnZXMgc3RhbmRhbG9uZSB3aXRob3V0IGNvbXBvbmVudC0tPlxyXG48ZGl2ICpuZ0lmPVwiIWZvcm1Db250cm9sICYmIGN1c3RvbU1zZ0NvbXBvbmVudC5sZW5ndGggPT0gMCAmJiBjdXN0b21Nc2dEaXJlY3RpdmUubGVuZ3RoID09IDBcIlxyXG4gICAgIFtuZ0NsYXNzXT1cIm5neFZhbGlkYXRpb25Db25maWc/LnZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPy5ibG9ja0NsYXNzTmFtZXMgfHwgJ25neF92bV9fZGVmX2Vycm9yX2Jsb2NrJ1wiPlxyXG4gPHNwYW4gW25nQ2xhc3NdPVwibmd4VmFsaWRhdGlvbkNvbmZpZz8udmFsaWRhdGlvbk1lc3NhZ2VzU3R5bGU/LnRleHRDbGFzc05hbWVzIHx8ICduZ3hfdm1fX2RlZl9lcnJvcl90ZXh0J1wiPlxyXG4gICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiA8L3NwYW4+XHJcbjwvZGl2PlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9yTWVzc2FnZXMubGVuZ3RoID4gMFwiPlxyXG5cclxuICA8IS0tVG8gc2hvdyBlcnJvciBtZXNzYWdlcyBpbiBtYXRlcmlhbCB1aSBzdHlsZS0tPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01hdGVyaWFsRXJyb3I7IGVsc2Ugd2l0aG91dE1hdGVyaWFsXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIGVycm9yTWVzc2FnZXNcIj5cclxuICAgICAgPG1hdC1lcnJvcj57eyBtZXNzYWdlIH19PC9tYXQtZXJyb3I+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPCEtLVRvIHNob3cgZXJyb3IgbWVzc2FnZXMgaW4gdXNlciBzdHlsZS0tPlxyXG4gIDxuZy10ZW1wbGF0ZSAjd2l0aG91dE1hdGVyaWFsPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJuZ3hWYWxpZGF0aW9uQ29uZmlnPy52YWxpZGF0aW9uTWVzc2FnZXNTdHlsZT8uYmxvY2tDbGFzc05hbWVzIHx8ICduZ3hfdm1fX2RlZl9lcnJvcl9ibG9jaydcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBlcnJvck1lc3NhZ2VzXCI+XHJcbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwibmd4VmFsaWRhdGlvbkNvbmZpZz8udmFsaWRhdGlvbk1lc3NhZ2VzU3R5bGU/LnRleHRDbGFzc05hbWVzIHx8ICduZ3hfdm1fX2RlZl9lcnJvcl90ZXh0J1wiPlxyXG4gICAgICAgICAge3sgbWVzc2FnZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvc3JjL2xpYi9jb21wb25lbnRzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUNMLDhCQUE4QixFQUUvQixNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7OztBQUUvRjs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sOEJBQThCO0lBNkJ6QyxZQUEyRCxtQkFBZ0QsRUFDdkYsNEJBQTBELEVBQzFELG1CQUErQjtRQUZRLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBNkI7UUFDdkYsaUNBQTRCLEdBQTVCLDRCQUE0QixDQUE4QjtRQUMxRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVk7UUFYNUMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFL0I7O1dBRUc7UUFDSyxpQkFBWSxHQUFHLE9BQU8sQ0FBQztRQUV2Qix5QkFBb0IsR0FB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R0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQ3RELE9BQU8sR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsa0NBQWtDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBRXBJLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLFFBQVE7Z0JBQzVELENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxHQUFHLE9BQU87Z0JBQ3BFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBQyxhQUFhLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs0SEEzRlUsOEJBQThCLGtCQTZCckIsOEJBQThCO2dIQTdCdkMsOEJBQThCLDRLQVd4Qix5QkFBeUIscURBTXpCLHlCQUF5Qiw2QkNuQzVDLDBzQ0E2QkE7NEZEWGEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLGtEQUFrRDs7MEJBaUMvQyxNQUFNOzJCQUFDLDhCQUE4QjtnSEF2QjNDLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsS0FBSztnQkFPTCxrQkFBa0I7c0JBRHhCLGVBQWU7dUJBQUMseUJBQXlCO2dCQU9uQyxrQkFBa0I7c0JBRHhCLGVBQWU7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdG9yTmFtZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2aWVzL25neC12YWxpZGF0b3ItbmFtZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgTkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHLFxuICBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWdcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbmZpZyc7XG5pbXBvcnQgeyBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9uZ3gtY3VzdG9tLW1lc3NhZ2Uvbmd4LWN1c3RvbS1tZXNzYWdlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBkaXNwbGF5aW5nIHZhbGlkYXRpb24gbWVzc2FnZXMsIHN1cHBvcnRzIGNoaWxkIGNvbXBvbmVudHMgb2YgdHlwZSB7QGxpbmsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH1cbiAqIGFuZCBodG1sIGVsZW1lbnRzIHdpdGggZGlyZWN0aXZlIHtAbGluayBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlfSB0byBvdmVycmlkZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcywgW25neFZhbGlkYXRpb25NZXNzYWdlc10nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBGb3JtIGNvbnRyb2wgZm9yIHdoaWNoIG5lZWQgdG8gc2hvdyB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICAgKi9cbiAgQElucHV0KCdmb3InKVxuICBwdWJsaWMgZm9ybUNvbnRyb2w6IGFueTtcblxuICAvKipcbiAgICogQ29udGFpbnMge0BsaW5rIE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnR9IGlmIHByZXNlbnQuXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnQpXG4gIHB1YmxpYyBjdXN0b21Nc2dDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5zIHtAbGluayBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlfSBpZiBwcmVzZW50LlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlKVxuICBwdWJsaWMgY3VzdG9tTXNnRGlyZWN0aXZlO1xuXG4gIHB1YmxpYyBpc01hdGVyaWFsRXJyb3IgPSBmYWxzZTtcblxuICAvKipcbiAgICogS2V5IHRvIGdldCBkZWZhdWx0IHZhbGlkYXRpb24gbWVzc2FnZS5cbiAgICovXG4gIHByaXZhdGUgZGVmYXVsdEVycm9yID0gJ2Vycm9yJztcblxuICBwcml2YXRlIG1hdGVyaWFsRXJyb3JFbGVtZW50ID0gJ01BVC1FUlJPUic7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hfVkFMSURBVElPTl9NRVNTQUdFU19DT05GSUcpIHB1YmxpYyBuZ3hWYWxpZGF0aW9uQ29uZmlnOiBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcsXG4gICAgICAgICAgICAgIHByaXZhdGUgbmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZTogTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkaXJlY3RpdmVFbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpcmVjdGl2ZUVsZW1lbnRSZWYgJiYgdGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICYmIHRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lKSB7XG4gICAgICB0aGlzLmlzTWF0ZXJpYWxFcnJvciA9IHRoaXMubWF0ZXJpYWxFcnJvckVsZW1lbnQudG9Mb2NhbGVVcHBlckNhc2UoKVxuICAgICAgICA9PT0gdGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGZvciBzcGVjaWZpZWQgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHVibGljIGdldCBlcnJvck1lc3NhZ2VzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIGNvbnN0IHJlc3VsdDogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sIHx8ICF0aGlzLmZvcm1Db250cm9sLmVycm9ycykge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VzdG9tTXNnQ29tcG9uZW50ICYmIHRoaXMuY3VzdG9tTXNnQ29tcG9uZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZ0N1c3RvbU1lc3NhZ2VzKHRoaXMuY3VzdG9tTXNnQ29tcG9uZW50KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VzdG9tTXNnRGlyZWN0aXZlICYmIHRoaXMuY3VzdG9tTXNnRGlyZWN0aXZlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZ0N1c3RvbU1lc3NhZ2VzKHRoaXMuY3VzdG9tTXNnRGlyZWN0aXZlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICBpZiAodGhpcy5mb3JtQ29udHJvbC5lcnJvcnMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpXG4gICAgICAgICYmICh0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQgfHwgdGhpcy5mb3JtQ29udHJvbC5kaXJ0eSkpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW3Byb3BlcnR5XS5jdXN0b21NZXNzYWdlcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbcHJvcGVydHldLmN1c3RvbU1lc3NhZ2VzKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbcHJvcGVydHldLmN1c3RvbU1lc3NhZ2UpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmZvcm1Db250cm9sLmVycm9yc1twcm9wZXJ0eV0uY3VzdG9tTWVzc2FnZSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyA9XG4gICAgICAgICAgdGhpcy5uZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLmdldFZhbGlkYXRvckVycm9yTWVzc2FnZXMocHJvcGVydHksIHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW3Byb3BlcnR5XSk7XG4gICAgICAgIHJlc3VsdC5wdXNoKHZhbGlkYXRpb25NZXNzYWdlIHx8IHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW3Byb3BlcnR5XS5tZXNzYWdlXG4gICAgICAgICAgfHwgdGhpcy5uZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLmdldFZhbGlkYXRvckVycm9yTWVzc2FnZXModGhpcy5kZWZhdWx0RXJyb3IpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc2luZ0N1c3RvbU1lc3NhZ2VzKGN1c3RvbU1lc3NhZ2U6IFF1ZXJ5TGlzdDxhbnk+KTogdm9pZCB7XG4gICAgY3VzdG9tTWVzc2FnZS5mb3JFYWNoKChtc2c6IGFueSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmZvcm1Db250cm9sLmVycm9yc1ttc2cudmFsaWRhdG9yTmFtZV0pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGV0IG1lc3NhZ2UgPSAobXNnIGluc3RhbmNlb2YgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudClcbiAgICAgICAgPyBtc2cubWVzc2FnZS5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA6IG1zZy5tZXNzYWdlO1xuICAgICAgbWVzc2FnZSA9IHRoaXMubmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZS5leHBhbmRQYXJhbWV0ZXJpemVkVGVtcGxhdGVNZXNzYWdlKG1lc3NhZ2UsIHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW21zZy52YWxpZGF0b3JOYW1lXSk7XG5cbiAgICAgIHR5cGVvZiB0aGlzLmZvcm1Db250cm9sLmVycm9yc1ttc2cudmFsaWRhdG9yTmFtZV0gPT09ICdvYmplY3QnXG4gICAgICAgID8gdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbbXNnLnZhbGlkYXRvck5hbWVdLmN1c3RvbU1lc3NhZ2UgPSBtZXNzYWdlXG4gICAgICAgIDogdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbbXNnLnZhbGlkYXRvck5hbWVdID0ge2N1c3RvbU1lc3NhZ2U6IG1lc3NhZ2V9O1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjwhLS1UbyBzaG93IGVycm9yIG1lc3NhZ2VzIHN0YW5kYWxvbmUgd2l0aG91dCBjb21wb25lbnQtLT5cbjxkaXYgKm5nSWY9XCIhZm9ybUNvbnRyb2wgJiYgY3VzdG9tTXNnQ29tcG9uZW50Lmxlbmd0aCA9PSAwICYmIGN1c3RvbU1zZ0RpcmVjdGl2ZS5sZW5ndGggPT0gMFwiXG4gICAgIFtuZ0NsYXNzXT1cIm5neFZhbGlkYXRpb25Db25maWc/LnZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPy5ibG9ja0NsYXNzTmFtZXMgfHwgJ25neF92bV9fZGVmX2Vycm9yX2Jsb2NrJ1wiPlxuIDxzcGFuIFtuZ0NsYXNzXT1cIm5neFZhbGlkYXRpb25Db25maWc/LnZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPy50ZXh0Q2xhc3NOYW1lcyB8fCAnbmd4X3ZtX19kZWZfZXJyb3JfdGV4dCdcIj5cbiAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiA8L3NwYW4+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9yTWVzc2FnZXMubGVuZ3RoID4gMFwiPlxuXG4gIDwhLS1UbyBzaG93IGVycm9yIG1lc3NhZ2VzIGluIG1hdGVyaWFsIHVpIHN0eWxlLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01hdGVyaWFsRXJyb3I7IGVsc2Ugd2l0aG91dE1hdGVyaWFsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBlcnJvck1lc3NhZ2VzXCI+XG4gICAgICA8bWF0LWVycm9yPnt7IG1lc3NhZ2UgfX08L21hdC1lcnJvcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLVRvIHNob3cgZXJyb3IgbWVzc2FnZXMgaW4gdXNlciBzdHlsZS0tPlxuICA8bmctdGVtcGxhdGUgI3dpdGhvdXRNYXRlcmlhbD5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cIm5neFZhbGlkYXRpb25Db25maWc/LnZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPy5ibG9ja0NsYXNzTmFtZXMgfHwgJ25neF92bV9fZGVmX2Vycm9yX2Jsb2NrJ1wiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBlcnJvck1lc3NhZ2VzXCI+XG4gICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIm5neFZhbGlkYXRpb25Db25maWc/LnZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPy50ZXh0Q2xhc3NOYW1lcyB8fCAnbmd4X3ZtX19kZWZfZXJyb3JfdGV4dCdcIj5cbiAgICAgICAgICB7eyBtZXNzYWdlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -16,9 +16,9 @@ export class NgxValidatorNameDirective {
16
16
  this.message = this.elem.nativeElement.innerText;
17
17
  }
18
18
  }
19
- NgxValidatorNameDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidatorNameDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- NgxValidatorNameDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: NgxValidatorNameDirective, selector: "[ngxValidatorName]", inputs: { validatorName: "validatorName" }, ngImport: i0 });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidatorNameDirective, decorators: [{
19
+ NgxValidatorNameDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidatorNameDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ NgxValidatorNameDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NgxValidatorNameDirective, selector: "[ngxValidatorName]", inputs: { validatorName: "validatorName" }, ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidatorNameDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: '[ngxValidatorName]'
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
26
26
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { validatorName: [{
27
27
  type: Input
28
28
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvZGlyZWN0aXZpZXMvbmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU1RTs7Ozs7OztHQU9HO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQWFwQyxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3BDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7O3NIQWxCVSx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CO2lHQU9RLGFBQWE7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQWxsb3dzIHRvIHNwZWNpZnkgY3VzdG9tIHZhbGlkYXRvciBtZXNzYWdlIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWVzc2FnZS5cclxuICpcclxuICogSXQncyBhbHRlcm5hdGl2ZSBmb3Ige0BsaW5rIE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnR9LlxyXG4gKiBJZiB5b3Ugd2FudCB0byB1c2Ugc3RhbmRhcmQgaHRtbCB0YWdzIHRvIGRlZmluZSBjdXN0b20gbWVzc2FnZSwgdXNlIHRoaXMgZGlyZWN0aXZlIG9uIGh0bWwgdGFnIHdpdGhpblxyXG4gKiB7QGxpbmsgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29tcG9uZW50fSBzcGVjaWZ5aW5nIHZhbGlkYXRvciBuYW1lIGFzIGRpcmVjdGl2ZSBwYXJhbWV0ZXIsXHJcbiAqIG90aGVyd2lzZSB1c2Uge0BsaW5rIE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnR9LlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbmd4VmFsaWRhdG9yTmFtZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB2YWxpZGF0b3IgZm9yIHdoaWNoIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRoZSBtZXNzYWdlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhbGlkYXRvck5hbWU6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udGFpbnMgb3ZlcnJpZGRlbiBtZXNzYWdlIGZvciB2YWxpZGF0b3IuXHJcbiAgICovXHJcbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtOiBFbGVtZW50UmVmKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZXNzYWdlID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvZGlyZWN0aXZpZXMvbmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU1RTs7Ozs7OztHQU9HO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQWFwQyxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3BDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7O3VIQWxCVSx5QkFBeUI7MkdBQXpCLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CO2lHQU9RLGFBQWE7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQWxsb3dzIHRvIHNwZWNpZnkgY3VzdG9tIHZhbGlkYXRvciBtZXNzYWdlIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWVzc2FnZS5cbiAqXG4gKiBJdCdzIGFsdGVybmF0aXZlIGZvciB7QGxpbmsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH0uXG4gKiBJZiB5b3Ugd2FudCB0byB1c2Ugc3RhbmRhcmQgaHRtbCB0YWdzIHRvIGRlZmluZSBjdXN0b20gbWVzc2FnZSwgdXNlIHRoaXMgZGlyZWN0aXZlIG9uIGh0bWwgdGFnIHdpdGhpblxuICoge0BsaW5rIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudH0gc3BlY2lmeWluZyB2YWxpZGF0b3IgbmFtZSBhcyBkaXJlY3RpdmUgcGFyYW1ldGVyLFxuICogb3RoZXJ3aXNlIHVzZSB7QGxpbmsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH0uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hWYWxpZGF0b3JOYW1lXSdcbn0pXG5leHBvcnQgY2xhc3MgTmd4VmFsaWRhdG9yTmFtZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdmFsaWRhdG9yIGZvciB3aGljaCB5b3Ugd2FudCB0byBvdmVycmlkZSB0aGUgbWVzc2FnZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWxpZGF0b3JOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5zIG92ZXJyaWRkZW4gbWVzc2FnZSBmb3IgdmFsaWRhdG9yLlxuICAgKi9cbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW06IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0O1xuICB9XG5cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const NGX_VALIDATION_MESSAGES_CONFIG = new InjectionToken('NgxValidationMessagesConfig');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvc3JjL2xpYi9pbnRlcmZhY2Uvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQ3ZDLElBQUksY0FBYyxDQUE4Qiw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBOR1hfVkFMSURBVElPTl9NRVNTQUdFU19DT05GSUc6IEluamVjdGlvblRva2VuPE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZz5cclxuICA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWc+KCdOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcnKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29uZmlnIHtcclxuXHJcbiAgLyoqXHJcbiAgICogT2JqZWN0IGNvbnRhaW5zIHZhbGlkYXRpb24gbWVzc2FnZXMgaW4gdmFsaWRhdG9yTmFtZTogdmFsaWRhdG9yTWVzc2FnZSBmb3JtYXQuXHJcbiAgICovXHJcbiAgbWVzc2FnZXM6IHtcclxuICAgIFt2YWxpZGF0b3JOYW1lOiBzdHJpbmddOiBzdHJpbmc7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIGN1c3RvbSBzdHlsZXMgdG8gZGlzcGxheSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gICAqL1xyXG4gIHZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPzoge1xyXG4gICAgYmxvY2tDbGFzc05hbWVzPzogc3RyaW5nO1xyXG4gICAgdGV4dENsYXNzTmFtZXM/OiBzdHJpbmc7XHJcbiAgfTtcclxuXHJcbn1cclxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvc3JjL2xpYi9pbnRlcmZhY2Uvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQ3ZDLElBQUksY0FBYyxDQUE4Qiw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IE5HWF9WQUxJREFUSU9OX01FU1NBR0VTX0NPTkZJRzogSW5qZWN0aW9uVG9rZW48Tmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29uZmlnPlxuICA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWc+KCdOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcnKTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcge1xuXG4gIC8qKlxuICAgKiBPYmplY3QgY29udGFpbnMgdmFsaWRhdGlvbiBtZXNzYWdlcyBpbiB2YWxpZGF0b3JOYW1lOiB2YWxpZGF0b3JNZXNzYWdlIGZvcm1hdC5cbiAgICovXG4gIG1lc3NhZ2VzOiB7XG4gICAgW3ZhbGlkYXRvck5hbWU6IHN0cmluZ106IHN0cmluZztcbiAgfTtcblxuICAvKipcbiAgICogRGVmaW5lIGN1c3RvbSBzdHlsZXMgdG8gZGlzcGxheSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICAgKi9cbiAgdmFsaWRhdGlvbk1lc3NhZ2VzU3R5bGU/OiB7XG4gICAgYmxvY2tDbGFzc05hbWVzPzogc3RyaW5nO1xuICAgIHRleHRDbGFzc05hbWVzPzogc3RyaW5nO1xuICB9O1xuXG59XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
- import { MatFormFieldModule } from '@angular/material/form-field';
4
3
  import { NgxCustomMessageComponent } from './components/ngx-custom-message/ngx-custom-message.component';
5
4
  import { NgxValidationMessagesComponent } from './components/ngx-validation-messages/ngx-validation-messages.component';
6
5
  import { NgxValidatorNameDirective } from './directivies/ngx-validator-name.directive';
7
6
  import { NGX_VALIDATION_MESSAGES_CONFIG } from './interface/ngx-validation-messages.config';
8
7
  import { NgxValidationMessagesService } from './service/ngx-validation-messages.service';
8
+ import { MatFormFieldModule } from '@angular/material/form-field';
9
9
  import * as i0 from "@angular/core";
10
10
  export { NGX_VALIDATION_MESSAGES_CONFIG } from './interface/ngx-validation-messages.config';
11
11
  export { NgxCustomMessageComponent } from './components/ngx-custom-message/ngx-custom-message.component';
@@ -25,23 +25,21 @@ export class NgxValidationMessagesModule {
25
25
  };
26
26
  }
27
27
  }
28
- NgxValidationMessagesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- NgxValidationMessagesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesModule, declarations: [NgxValidationMessagesComponent,
28
+ NgxValidationMessagesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ NgxValidationMessagesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesModule, declarations: [NgxValidationMessagesComponent,
30
30
  NgxCustomMessageComponent,
31
31
  NgxValidatorNameDirective], imports: [CommonModule,
32
32
  MatFormFieldModule], exports: [NgxValidationMessagesComponent,
33
33
  NgxCustomMessageComponent,
34
34
  NgxValidatorNameDirective] });
35
- NgxValidationMessagesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesModule, imports: [[
36
- CommonModule,
37
- MatFormFieldModule
38
- ]] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesModule, decorators: [{
35
+ NgxValidationMessagesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesModule, imports: [CommonModule,
36
+ MatFormFieldModule] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesModule, decorators: [{
40
38
  type: NgModule,
41
39
  args: [{
42
40
  imports: [
43
41
  CommonModule,
44
- MatFormFieldModule
42
+ MatFormFieldModule,
45
43
  ],
46
44
  declarations: [
47
45
  NgxValidationMessagesComponent,
@@ -55,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
55
53
  ]
56
54
  }]
57
55
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvc3JjL2xpYi9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSw4QkFBOEIsRUFBK0IsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6SCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFFekYsT0FBTyxFQUFFLDhCQUE4QixFQUErQixNQUFNLDRDQUE0QyxDQUFDO0FBQ3pILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBa0J2RixNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBbUM7UUFDaEQsT0FBTztZQUNMLFFBQVEsRUFBRSwyQkFBMkI7WUFDckMsU0FBUyxFQUFFO2dCQUNULDRCQUE0QjtnQkFDNUI7b0JBQ0UsT0FBTyxFQUFFLDhCQUE4QjtvQkFDdkMsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7d0hBWlUsMkJBQTJCO3lIQUEzQiwyQkFBMkIsaUJBVnBDLDhCQUE4QjtRQUM5Qix5QkFBeUI7UUFDekIseUJBQXlCLGFBTnpCLFlBQVk7UUFDWixrQkFBa0IsYUFRbEIsOEJBQThCO1FBQzlCLHlCQUF5QjtRQUN6Qix5QkFBeUI7eUhBR2hCLDJCQUEyQixZQWY3QjtZQUNQLFlBQVk7WUFDWixrQkFBa0I7U0FDbkI7MkZBWVUsMkJBQTJCO2tCQWhCdkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7cUJBQ25CO29CQUNELFlBQVksRUFBRTt3QkFDWiw4QkFBOEI7d0JBQzlCLHlCQUF5Qjt3QkFDekIseUJBQXlCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtY3VzdG9tLW1lc3NhZ2Uvbmd4LWN1c3RvbS1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3Rpdmllcy9uZ3gtdmFsaWRhdG9yLW5hbWUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHLCBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb25maWcnO1xyXG5pbXBvcnQgeyBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHsgTkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHLCBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb25maWcnO1xyXG5leHBvcnQgeyBOZ3hDdXN0b21NZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25neC1jdXN0b20tbWVzc2FnZS9uZ3gtY3VzdG9tLW1lc3NhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0IHsgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IE5neFZhbGlkYXRvck5hbWVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2aWVzL25neC12YWxpZGF0b3ItbmFtZS5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29tcG9uZW50LFxyXG4gICAgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIE5neFZhbGlkYXRvck5hbWVEaXJlY3RpdmVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudCxcclxuICAgIE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4VmFsaWRhdGlvbk1lc3NhZ2VzTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogTmd4VmFsaWRhdGlvbk1lc3NhZ2VzTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IE5HWF9WQUxJREFUSU9OX01FU1NBR0VTX0NPTkZJRyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvc3JjL2xpYi9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBc0IsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ3RILE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyw4QkFBOEIsRUFBOEIsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2SCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFaEUsT0FBTyxFQUFDLDhCQUE4QixFQUE4QixNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZILE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ3RILE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBa0JyRixNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBbUM7UUFDaEQsT0FBTztZQUNMLFFBQVEsRUFBRSwyQkFBMkI7WUFDckMsU0FBUyxFQUFFO2dCQUNULDRCQUE0QjtnQkFDNUI7b0JBQ0UsT0FBTyxFQUFFLDhCQUE4QjtvQkFDdkMsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7eUhBWlUsMkJBQTJCOzBIQUEzQiwyQkFBMkIsaUJBVnBDLDhCQUE4QjtRQUM5Qix5QkFBeUI7UUFDekIseUJBQXlCLGFBTnpCLFlBQVk7UUFDWixrQkFBa0IsYUFRbEIsOEJBQThCO1FBQzlCLHlCQUF5QjtRQUN6Qix5QkFBeUI7MEhBR2hCLDJCQUEyQixZQWRwQyxZQUFZO1FBQ1osa0JBQWtCOzRGQWFULDJCQUEyQjtrQkFoQnZDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3FCQUNuQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osOEJBQThCO3dCQUM5Qix5QkFBeUI7d0JBQ3pCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3dCQUN6Qix5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Tmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL25neC1jdXN0b20tbWVzc2FnZS9uZ3gtY3VzdG9tLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7Tmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29tcG9uZW50JztcbmltcG9ydCB7Tmd4VmFsaWRhdG9yTmFtZURpcmVjdGl2ZX0gZnJvbSAnLi9kaXJlY3Rpdmllcy9uZ3gtdmFsaWRhdG9yLW5hbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7TkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHLCBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWd9IGZyb20gJy4vaW50ZXJmYWNlL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbmZpZyc7XG5pbXBvcnQge05neFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2V9IGZyb20gJy4vc2VydmljZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuZXhwb3J0IHtOR1hfVkFMSURBVElPTl9NRVNTQUdFU19DT05GSUcsIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZ30gZnJvbSAnLi9pbnRlcmZhY2Uvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29uZmlnJztcbmV4cG9ydCB7Tmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL25neC1jdXN0b20tbWVzc2FnZS9uZ3gtY3VzdG9tLW1lc3NhZ2UuY29tcG9uZW50JztcbmV4cG9ydCB7Tmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29tcG9uZW50JztcbmV4cG9ydCB7Tmd4VmFsaWRhdG9yTmFtZURpcmVjdGl2ZX0gZnJvbSAnLi9kaXJlY3Rpdmllcy9uZ3gtdmFsaWRhdG9yLW5hbWUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudCxcbiAgICBOZ3hDdXN0b21NZXNzYWdlQ29tcG9uZW50LFxuICAgIE5neFZhbGlkYXRvck5hbWVEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudCxcbiAgICBOZ3hDdXN0b21NZXNzYWdlQ29tcG9uZW50LFxuICAgIE5neFZhbGlkYXRvck5hbWVEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4VmFsaWRhdGlvbk1lc3NhZ2VzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWF9WQUxJREFUSU9OX01FU1NBR0VTX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -61,12 +61,12 @@ export class NgxValidationMessagesService {
61
61
  }
62
62
  }
63
63
  NgxValidationMessagesService.SERVER_ERRORS = 'serverErrors';
64
- NgxValidationMessagesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesService, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
65
- NgxValidationMessagesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesService });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesService, decorators: [{
64
+ NgxValidationMessagesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesService, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
65
+ NgxValidationMessagesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesService });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesService, decorators: [{
67
67
  type: Injectable
68
68
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
69
69
  type: Inject,
70
70
  args: [NGX_VALIDATION_MESSAGES_CONFIG]
71
71
  }] }]; } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvc2VydmljZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBK0IsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFFMUg7OztHQUdHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQVN2QyxZQUE0RCxjQUEyQztRQUEzQyxtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFMdkc7O1dBRUc7UUFDSyxpQkFBWSxHQUFHLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFHdEQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSx5QkFBeUIsQ0FBQyxhQUFxQixFQUFFLE1BQWU7UUFDckUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUN4RCxNQUFNLGlCQUFpQixHQUFXLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxHQUFHLGFBQWE7a0JBQ2hFLDJGQUEyRixDQUFDLENBQUM7U0FDbEc7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDLGtDQUFrQyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzNFO1FBRUQsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRU0sa0NBQWtDLENBQUMsR0FBVyxFQUFFLE1BQWM7UUFDbkUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRCxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQztnQkFDL0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDeEUsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssWUFBWSxDQUFDLEdBQVcsRUFBRSxJQUFZO1FBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDbkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDOztBQTdEYSwwQ0FBYSxHQUFHLGNBQWUsQ0FBQTt5SEFGbEMsNEJBQTRCLGtCQVNuQiw4QkFBOEI7NkhBVHZDLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVOzswQkFVSSxNQUFNOzJCQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR1hfVkFMSURBVElPTl9NRVNTQUdFU19DT05GSUcsIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb25maWcnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgYWxsb3dzIGdldHRpbmcgdmFsaWRhdGlvbiBtZXNzYWdlcyBmcm9tIGNsaWVudCdzIHNldHRpbmdzLlxyXG4gKiBJbmplY3Rpbmcge0BsaW5rIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZ30gdG8gZ2V0IGNsaWVudCdzIGNvbmZpZ3VyYXRpb24gd2l0aCB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZSB7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgU0VSVkVSX0VSUk9SUyA9ICdzZXJ2ZXJFcnJvcnMnO1xyXG5cclxuICAvKipcclxuICAgKiBSZWd1bGFyIGV4cHJlc3Npb24gdG8gZmluZCBwYXJhbXMgcGxhY2Vob2xkZXIgJyNbcGFyYW1OYW1lXScuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwYXJhbXNSZWdFeHAgPSBuZXcgUmVnRXhwKC8jW1thLXpBLVpfXFxcXC1dKl0vKTtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hfVkFMSURBVElPTl9NRVNTQUdFU19DT05GSUcpIHByaXZhdGUgbWVzc2FnZXNDb25maWc6IE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZykge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHZhbGlkYXRpb24gbWVzc2FnZSBmb3Igc3BlY2lmaWVkIHZhbGlkYXRvci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB2YWxpZGF0b3JOYW1lIGZvciB3aGljaCB0byBnZXQgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFzc2VkIGZyb20gdmFsaWRhdG9yIGZvciBtb3JlIGRldGFpbGVkIHZhbGlkYXRpb24gbWVzc2FnZVxyXG4gICAqXHJcbiAgICogQHJldHVybnMgc3RyaW5nIHZhbGlkYXRpb24gbWVzc2FnZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JFcnJvck1lc3NhZ2VzKHZhbGlkYXRvck5hbWU6IHN0cmluZywgcGFyYW1zPzogb2JqZWN0KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHZhbGlkYXRpb25NZXNzYWdlcyA9IHRoaXMubWVzc2FnZXNDb25maWcubWVzc2FnZXM7XHJcbiAgICBjb25zdCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nID0gdmFsaWRhdGlvbk1lc3NhZ2VzW3ZhbGlkYXRvck5hbWVdO1xyXG5cclxuICAgIGlmICghdmFsaWRhdGlvbk1lc3NhZ2UpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdWYWxpZGF0aW9uIG1lc3NhZ2UgZm9yIHZhbGlkYXRvcjogJyArIHZhbGlkYXRvck5hbWVcclxuICAgICAgICArICcgY2Fubm90IGJlIGZvdW5kLCBwbGVhc2UgY2hlY2sgdmFsaWRhdGlvbiBtZXNzYWdlIGtleSBmb3IgdmFsaWRhdG9yIGl0IGlzIGNhc2Ugc2Vuc2l0aXZlLicpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZXhwYW5kUGFyYW1ldGVyaXplZFRlbXBsYXRlTWVzc2FnZSh2YWxpZGF0aW9uTWVzc2FnZSwgcGFyYW1zKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsaWRhdGlvbk1lc3NhZ2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kUGFyYW1ldGVyaXplZFRlbXBsYXRlTWVzc2FnZShtc2c6IHN0cmluZywgcGFyYW1zOiBvYmplY3QpOiBzdHJpbmcge1xyXG4gICAgd2hpbGUgKHRoaXMucGFyYW1zUmVnRXhwLnRlc3QobXNnKSkge1xyXG4gICAgICBjb25zdCBmb3VuZFBhcmFtcyA9IHRoaXMucGFyYW1zUmVnRXhwLmV4ZWMobXNnKTtcclxuICAgICAgZm91bmRQYXJhbXMuZm9yRWFjaCh2YWx1ZSA9PiB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1QbGFjZWhvbGRlciA9IHZhbHVlO1xyXG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgnI1snLCAnJykucmVwbGFjZSgnXScsICcnKTtcclxuICAgICAgICBtc2cgPSBtc2cucmVwbGFjZShwYXJhbVBsYWNlaG9sZGVyLCB0aGlzLmdldFBhcmFtZXRlcihwYXJhbXMsIHZhbHVlKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtc2c7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBIHV0aWxpdGFyaWFuIG1ldGhvZCB0byBnZXQgYSBwcm9wZXJ0eSBmcm9tIGFuIG9iamVjdC5cclxuICAgKiBpZiB0aGVyZSBpcyBubyBwcm9wZXJ0eSwgYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIG9iaiBmcm9tIHdoaWNoIHRoZSBwcm9wZXJ0eSBtdXN0IGJlIG9idGFpbmVkXHJcbiAgICogQHBhcmFtIHByb3AgcHJvcGVydHkgbmFtZVxyXG4gICAqXHJcbiAgICogQHJldHVybiBwcm9wZXJ0eSB2YWx1ZSBvciBlbXB0eSBzdHJpbmdcclxuICAgKi9cclxuICBwcml2YXRlIGdldFBhcmFtZXRlcihvYmo6IG9iamVjdCwgcHJvcDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBwcm9wLnNwbGl0KCcuJylcclxuICAgICAgLnJlZHVjZSgobSwgaSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBtICYmIHR5cGVvZiBtID09PSAnb2JqZWN0JyA/IG1baV0gOiAnJztcclxuICAgICAgfSwgb2JqKTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBzdGF0aWMgYXBwbHlTZXJ2ZXJFcnJvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsLCBzZXJ2ZXJFcnJvcjogU2VydmVyRXJyb3IpOiB2b2lkIHtcclxuICAvLyAgIGlmICghY29udHJvbCkge1xyXG4gIC8vICAgICByZXR1cm47XHJcbiAgLy8gICB9XHJcbiAgLy8gICBpZiAoY29udHJvbC5nZXRFcnJvcihOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLlNFUlZFUl9FUlJPUlMpKSB7XHJcbiAgLy8gICAgIGNvbnN0IGV4aXN0aW5nRXJyb3JNZXNzYWdlcyA9IGNvbnRyb2wuZ2V0RXJyb3IoTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZS5TRVJWRVJfRVJST1JTKTtcclxuICAvLyAgICAgaWYgKF8uaXNBcnJheShleGlzdGluZ0Vycm9yTWVzc2FnZXMuY3VzdG9tTWVzc2FnZXMpICYmXHJcbiAgLy8gICAgICAgZXhpc3RpbmdFcnJvck1lc3NhZ2VzLmN1c3RvbU1lc3NhZ2VzLmluZGV4T2Yoc2VydmVyRXJyb3IubWVzc2FnZSkgPT09IC0xKSB7XHJcbiAgLy8gICAgICAgZXhpc3RpbmdFcnJvck1lc3NhZ2VzLmN1c3RvbU1lc3NhZ2VzLnB1c2goc2VydmVyRXJyb3IubWVzc2FnZSk7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH0gZWxzZSB7XHJcbiAgLy8gICAgIGNvbnRyb2wuc2V0RXJyb3JzKHtbTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZS5TRVJWRVJfRVJST1JTXToge2N1c3RvbU1lc3NhZ2VzOiBbc2VydmVyRXJyb3IubWVzc2FnZV19fSk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAvLyB9XHJcblxyXG59XHJcbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvc2VydmljZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBK0IsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFFMUg7OztHQUdHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQVN2QyxZQUE0RCxjQUEyQztRQUEzQyxtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFMdkc7O1dBRUc7UUFDSyxpQkFBWSxHQUFHLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFHdEQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSx5QkFBeUIsQ0FBQyxhQUFxQixFQUFFLE1BQWU7UUFDckUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztRQUN4RCxNQUFNLGlCQUFpQixHQUFXLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxHQUFHLGFBQWE7a0JBQ2hFLDJGQUEyRixDQUFDLENBQUM7U0FDbEc7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDLGtDQUFrQyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzNFO1FBRUQsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRU0sa0NBQWtDLENBQUMsR0FBVyxFQUFFLE1BQWM7UUFDbkUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRCxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQztnQkFDL0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDeEUsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssWUFBWSxDQUFDLEdBQVcsRUFBRSxJQUFZO1FBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDbkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDWixDQUFDOztBQTdEYSwwQ0FBYSxHQUFHLGNBQWMsQ0FBQzswSEFGbEMsNEJBQTRCLGtCQVNuQiw4QkFBOEI7OEhBVHZDLDRCQUE0Qjs0RkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVOzswQkFVSSxNQUFNOzJCQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHLCBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2Uvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29uZmlnJztcblxuLyoqXG4gKiBTZXJ2aWNlIGFsbG93cyBnZXR0aW5nIHZhbGlkYXRpb24gbWVzc2FnZXMgZnJvbSBjbGllbnQncyBzZXR0aW5ncy5cbiAqIEluamVjdGluZyB7QGxpbmsgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29uZmlnfSB0byBnZXQgY2xpZW50J3MgY29uZmlndXJhdGlvbiB3aXRoIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlIHtcblxuICBwdWJsaWMgc3RhdGljIFNFUlZFUl9FUlJPUlMgPSAnc2VydmVyRXJyb3JzJztcblxuICAvKipcbiAgICogUmVndWxhciBleHByZXNzaW9uIHRvIGZpbmQgcGFyYW1zIHBsYWNlaG9sZGVyICcjW3BhcmFtTmFtZV0nLlxuICAgKi9cbiAgcHJpdmF0ZSBwYXJhbXNSZWdFeHAgPSBuZXcgUmVnRXhwKC8jW1thLXpBLVpfXFxcXC1dKl0vKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWF9WQUxJREFUSU9OX01FU1NBR0VTX0NPTkZJRykgcHJpdmF0ZSBtZXNzYWdlc0NvbmZpZzogTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29uZmlnKSB7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHZhbGlkYXRpb24gbWVzc2FnZSBmb3Igc3BlY2lmaWVkIHZhbGlkYXRvci5cbiAgICpcbiAgICogQHBhcmFtIHZhbGlkYXRvck5hbWUgZm9yIHdoaWNoIHRvIGdldCBtZXNzYWdlXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFzc2VkIGZyb20gdmFsaWRhdG9yIGZvciBtb3JlIGRldGFpbGVkIHZhbGlkYXRpb24gbWVzc2FnZVxuICAgKlxuICAgKiBAcmV0dXJucyBzdHJpbmcgdmFsaWRhdGlvbiBtZXNzYWdlXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsaWRhdG9yRXJyb3JNZXNzYWdlcyh2YWxpZGF0b3JOYW1lOiBzdHJpbmcsIHBhcmFtcz86IG9iamVjdCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsaWRhdGlvbk1lc3NhZ2VzID0gdGhpcy5tZXNzYWdlc0NvbmZpZy5tZXNzYWdlcztcbiAgICBjb25zdCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nID0gdmFsaWRhdGlvbk1lc3NhZ2VzW3ZhbGlkYXRvck5hbWVdO1xuXG4gICAgaWYgKCF2YWxpZGF0aW9uTWVzc2FnZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdWYWxpZGF0aW9uIG1lc3NhZ2UgZm9yIHZhbGlkYXRvcjogJyArIHZhbGlkYXRvck5hbWVcbiAgICAgICAgKyAnIGNhbm5vdCBiZSBmb3VuZCwgcGxlYXNlIGNoZWNrIHZhbGlkYXRpb24gbWVzc2FnZSBrZXkgZm9yIHZhbGlkYXRvciBpdCBpcyBjYXNlIHNlbnNpdGl2ZS4nKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHBhbmRQYXJhbWV0ZXJpemVkVGVtcGxhdGVNZXNzYWdlKHZhbGlkYXRpb25NZXNzYWdlLCBwYXJhbXMpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZTtcbiAgfVxuXG4gIHB1YmxpYyBleHBhbmRQYXJhbWV0ZXJpemVkVGVtcGxhdGVNZXNzYWdlKG1zZzogc3RyaW5nLCBwYXJhbXM6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgd2hpbGUgKHRoaXMucGFyYW1zUmVnRXhwLnRlc3QobXNnKSkge1xuICAgICAgY29uc3QgZm91bmRQYXJhbXMgPSB0aGlzLnBhcmFtc1JlZ0V4cC5leGVjKG1zZyk7XG4gICAgICBmb3VuZFBhcmFtcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1QbGFjZWhvbGRlciA9IHZhbHVlO1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoJyNbJywgJycpLnJlcGxhY2UoJ10nLCAnJyk7XG4gICAgICAgIG1zZyA9IG1zZy5yZXBsYWNlKHBhcmFtUGxhY2Vob2xkZXIsIHRoaXMuZ2V0UGFyYW1ldGVyKHBhcmFtcywgdmFsdWUpKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtc2c7XG4gIH1cblxuICAvKipcbiAgICogQSB1dGlsaXRhcmlhbiBtZXRob2QgdG8gZ2V0IGEgcHJvcGVydHkgZnJvbSBhbiBvYmplY3QuXG4gICAqIGlmIHRoZXJlIGlzIG5vIHByb3BlcnR5LCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuXG4gICAqXG4gICAqIEBwYXJhbSBvYmogZnJvbSB3aGljaCB0aGUgcHJvcGVydHkgbXVzdCBiZSBvYnRhaW5lZFxuICAgKiBAcGFyYW0gcHJvcCBwcm9wZXJ0eSBuYW1lXG4gICAqXG4gICAqIEByZXR1cm4gcHJvcGVydHkgdmFsdWUgb3IgZW1wdHkgc3RyaW5nXG4gICAqL1xuICBwcml2YXRlIGdldFBhcmFtZXRlcihvYmo6IG9iamVjdCwgcHJvcDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcHJvcC5zcGxpdCgnLicpXG4gICAgICAucmVkdWNlKChtLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiBtICYmIHR5cGVvZiBtID09PSAnb2JqZWN0JyA/IG1baV0gOiAnJztcbiAgICAgIH0sIG9iaik7XG4gIH1cblxuICAvLyBwdWJsaWMgc3RhdGljIGFwcGx5U2VydmVyRXJyb3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCwgc2VydmVyRXJyb3I6IFNlcnZlckVycm9yKTogdm9pZCB7XG4gIC8vICAgaWYgKCFjb250cm9sKSB7XG4gIC8vICAgICByZXR1cm47XG4gIC8vICAgfVxuICAvLyAgIGlmIChjb250cm9sLmdldEVycm9yKE5neFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UuU0VSVkVSX0VSUk9SUykpIHtcbiAgLy8gICAgIGNvbnN0IGV4aXN0aW5nRXJyb3JNZXNzYWdlcyA9IGNvbnRyb2wuZ2V0RXJyb3IoTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZS5TRVJWRVJfRVJST1JTKTtcbiAgLy8gICAgIGlmIChfLmlzQXJyYXkoZXhpc3RpbmdFcnJvck1lc3NhZ2VzLmN1c3RvbU1lc3NhZ2VzKSAmJlxuICAvLyAgICAgICBleGlzdGluZ0Vycm9yTWVzc2FnZXMuY3VzdG9tTWVzc2FnZXMuaW5kZXhPZihzZXJ2ZXJFcnJvci5tZXNzYWdlKSA9PT0gLTEpIHtcbiAgLy8gICAgICAgZXhpc3RpbmdFcnJvck1lc3NhZ2VzLmN1c3RvbU1lc3NhZ2VzLnB1c2goc2VydmVyRXJyb3IubWVzc2FnZSk7XG4gIC8vICAgICB9XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIGNvbnRyb2wuc2V0RXJyb3JzKHtbTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZS5TRVJWRVJfRVJST1JTXToge2N1c3RvbU1lc3NhZ2VzOiBbc2VydmVyRXJyb3IubWVzc2FnZV19fSk7XG4gIC8vICAgfVxuICAvLyAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAvLyB9XG5cbn1cbiJdfQ==
@@ -2,4 +2,4 @@
2
2
  * Public API Surface of ngx-validation-messages
3
3
  */
4
4
  export * from './lib/ngx-validation-messages.module';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtdmFsaWRhdGlvbi1tZXNzYWdlc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMubW9kdWxlJztcclxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXZhbGlkYXRpb24tbWVzc2FnZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMubW9kdWxlJztcbiJdfQ==
@@ -13,18 +13,18 @@ import { MatFormFieldModule } from '@angular/material/form-field';
13
13
  */
14
14
  class NgxCustomMessageComponent {
15
15
  }
16
- NgxCustomMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxCustomMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- NgxCustomMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: NgxCustomMessageComponent, selector: "ngx-custom-message", inputs: { validatorName: ["forValidator", "validatorName"] }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: `
18
- <div #message>
19
- <ng-content></ng-content>
16
+ NgxCustomMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxCustomMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ NgxCustomMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NgxCustomMessageComponent, selector: "ngx-custom-message", inputs: { validatorName: ["forValidator", "validatorName"] }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: `
18
+ <div #message>
19
+ <ng-content></ng-content>
20
20
  </div>`, isInline: true });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxCustomMessageComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxCustomMessageComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{
24
24
  selector: 'ngx-custom-message',
25
- template: `
26
- <div #message>
27
- <ng-content></ng-content>
25
+ template: `
26
+ <div #message>
27
+ <ng-content></ng-content>
28
28
  </div>`
29
29
  }]
30
30
  }], propDecorators: { validatorName: [{
@@ -51,9 +51,9 @@ class NgxValidatorNameDirective {
51
51
  this.message = this.elem.nativeElement.innerText;
52
52
  }
53
53
  }
54
- NgxValidatorNameDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidatorNameDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
55
- NgxValidatorNameDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: NgxValidatorNameDirective, selector: "[ngxValidatorName]", inputs: { validatorName: "validatorName" }, ngImport: i0 });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidatorNameDirective, decorators: [{
54
+ NgxValidatorNameDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidatorNameDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
55
+ NgxValidatorNameDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NgxValidatorNameDirective, selector: "[ngxValidatorName]", inputs: { validatorName: "validatorName" }, ngImport: i0 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidatorNameDirective, decorators: [{
57
57
  type: Directive,
58
58
  args: [{
59
59
  selector: '[ngxValidatorName]'
@@ -124,9 +124,9 @@ class NgxValidationMessagesService {
124
124
  }
125
125
  }
126
126
  NgxValidationMessagesService.SERVER_ERRORS = 'serverErrors';
127
- NgxValidationMessagesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesService, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
128
- NgxValidationMessagesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesService });
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesService, decorators: [{
127
+ NgxValidationMessagesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesService, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
128
+ NgxValidationMessagesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesService });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesService, decorators: [{
130
130
  type: Injectable
131
131
  }], ctorParameters: function () {
132
132
  return [{ type: undefined, decorators: [{
@@ -204,11 +204,11 @@ class NgxValidationMessagesComponent {
204
204
  });
205
205
  }
206
206
  }
207
- NgxValidationMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesComponent, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }, { token: NgxValidationMessagesService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
208
- NgxValidationMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: NgxValidationMessagesComponent, selector: "ngx-validation-messages, [ngxValidationMessages]", inputs: { formControl: ["for", "formControl"] }, queries: [{ propertyName: "customMsgComponent", predicate: NgxCustomMessageComponent }, { propertyName: "customMsgDirective", predicate: NgxValidatorNameDirective }], ngImport: i0, template: "<!--To show error messages standalone without component-->\r\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\r\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n <ng-content></ng-content>\r\n </span>\r\n</div>\r\n\r\n<ng-container *ngIf=\"errorMessages.length > 0\">\r\n\r\n <!--To show error messages in material ui style-->\r\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\r\n <ng-container *ngFor=\"let message of errorMessages\">\r\n <mat-error>{{ message }}</mat-error>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!--To show error messages in user style-->\r\n <ng-template #withoutMaterial>\r\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <div *ngFor=\"let message of errorMessages\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n {{ message }}\r\n </span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n</ng-container>\r\n", styles: [".ngx_vm__def_error_block{position:relative;display:inline-block;width:100%;margin-bottom:10px;margin-top:2px;padding:8px;border-radius:0;background:#c51244;box-shadow:1px 1px 1px #aaa;opacity:.8}.ngx_vm__def_error_text{color:#fff}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }] });
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesComponent, decorators: [{
207
+ NgxValidationMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesComponent, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }, { token: NgxValidationMessagesService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
208
+ NgxValidationMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NgxValidationMessagesComponent, selector: "ngx-validation-messages, [ngxValidationMessages]", inputs: { formControl: ["for", "formControl"] }, queries: [{ propertyName: "customMsgComponent", predicate: NgxCustomMessageComponent }, { propertyName: "customMsgDirective", predicate: NgxValidatorNameDirective }], ngImport: i0, template: "<!--To show error messages standalone without component-->\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n <ng-content></ng-content>\n </span>\n</div>\n\n<ng-container *ngIf=\"errorMessages.length > 0\">\n\n <!--To show error messages in material ui style-->\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\n <ng-container *ngFor=\"let message of errorMessages\">\n <mat-error>{{ message }}</mat-error>\n </ng-container>\n </ng-container>\n\n <!--To show error messages in user style-->\n <ng-template #withoutMaterial>\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <div *ngFor=\"let message of errorMessages\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n {{ message }}\n </span>\n </div>\n </div>\n </ng-template>\n\n</ng-container>\n", styles: [".ngx_vm__def_error_block{position:relative;display:inline-block;width:100%;margin-bottom:10px;margin-top:2px;padding:8px;border-radius:0;background:#c51244;box-shadow:1px 1px 1px #aaa;opacity:.8}.ngx_vm__def_error_text{color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }] });
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesComponent, decorators: [{
210
210
  type: Component,
211
- args: [{ selector: 'ngx-validation-messages, [ngxValidationMessages]', template: "<!--To show error messages standalone without component-->\r\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\r\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n <ng-content></ng-content>\r\n </span>\r\n</div>\r\n\r\n<ng-container *ngIf=\"errorMessages.length > 0\">\r\n\r\n <!--To show error messages in material ui style-->\r\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\r\n <ng-container *ngFor=\"let message of errorMessages\">\r\n <mat-error>{{ message }}</mat-error>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!--To show error messages in user style-->\r\n <ng-template #withoutMaterial>\r\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <div *ngFor=\"let message of errorMessages\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n {{ message }}\r\n </span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n</ng-container>\r\n", styles: [".ngx_vm__def_error_block{position:relative;display:inline-block;width:100%;margin-bottom:10px;margin-top:2px;padding:8px;border-radius:0;background:#c51244;box-shadow:1px 1px 1px #aaa;opacity:.8}.ngx_vm__def_error_text{color:#fff}\n"] }]
211
+ args: [{ selector: 'ngx-validation-messages, [ngxValidationMessages]', template: "<!--To show error messages standalone without component-->\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n <ng-content></ng-content>\n </span>\n</div>\n\n<ng-container *ngIf=\"errorMessages.length > 0\">\n\n <!--To show error messages in material ui style-->\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\n <ng-container *ngFor=\"let message of errorMessages\">\n <mat-error>{{ message }}</mat-error>\n </ng-container>\n </ng-container>\n\n <!--To show error messages in user style-->\n <ng-template #withoutMaterial>\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <div *ngFor=\"let message of errorMessages\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n {{ message }}\n </span>\n </div>\n </div>\n </ng-template>\n\n</ng-container>\n", styles: [".ngx_vm__def_error_block{position:relative;display:inline-block;width:100%;margin-bottom:10px;margin-top:2px;padding:8px;border-radius:0;background:#c51244;box-shadow:1px 1px 1px #aaa;opacity:.8}.ngx_vm__def_error_text{color:#fff}\n"] }]
212
212
  }], ctorParameters: function () {
213
213
  return [{ type: undefined, decorators: [{
214
214
  type: Inject,
@@ -239,23 +239,21 @@ class NgxValidationMessagesModule {
239
239
  };
240
240
  }
241
241
  }
242
- NgxValidationMessagesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
243
- NgxValidationMessagesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesModule, declarations: [NgxValidationMessagesComponent,
242
+ NgxValidationMessagesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
243
+ NgxValidationMessagesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesModule, declarations: [NgxValidationMessagesComponent,
244
244
  NgxCustomMessageComponent,
245
245
  NgxValidatorNameDirective], imports: [CommonModule,
246
246
  MatFormFieldModule], exports: [NgxValidationMessagesComponent,
247
247
  NgxCustomMessageComponent,
248
248
  NgxValidatorNameDirective] });
249
- NgxValidationMessagesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesModule, imports: [[
250
- CommonModule,
251
- MatFormFieldModule
252
- ]] });
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgxValidationMessagesModule, decorators: [{
249
+ NgxValidationMessagesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesModule, imports: [CommonModule,
250
+ MatFormFieldModule] });
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgxValidationMessagesModule, decorators: [{
254
252
  type: NgModule,
255
253
  args: [{
256
254
  imports: [
257
255
  CommonModule,
258
- MatFormFieldModule
256
+ MatFormFieldModule,
259
257
  ],
260
258
  declarations: [
261
259
  NgxValidationMessagesComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"lagoshny-ngx-validation-messages.mjs","sources":["../../../projects/ngx-validation-messages/src/lib/components/ngx-custom-message/ngx-custom-message.component.ts","../../../projects/ngx-validation-messages/src/lib/directivies/ngx-validator-name.directive.ts","../../../projects/ngx-validation-messages/src/lib/interface/ngx-validation-messages.config.ts","../../../projects/ngx-validation-messages/src/lib/service/ngx-validation-messages.service.ts","../../../projects/ngx-validation-messages/src/lib/components/ngx-validation-messages/ngx-validation-messages.component.ts","../../../projects/ngx-validation-messages/src/lib/components/ngx-validation-messages/ngx-validation-messages.component.html","../../../projects/ngx-validation-messages/src/lib/ngx-validation-messages.module.ts","../../../projects/ngx-validation-messages/src/public-api.ts","../../../projects/ngx-validation-messages/src/lagoshny-ngx-validation-messages.ts"],"sourcesContent":["import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\n\r\n/**\r\n * Component allows specifying custom validation message for the specified\r\n * validator to override default message.\r\n *\r\n * Use this component as child in {@link NgxValidationMessagesComponent}.\r\n */\r\n@Component({\r\n selector: 'ngx-custom-message',\r\n template: `\r\n <div #message>\r\n <ng-content></ng-content>\r\n </div>`\r\n})\r\nexport class NgxCustomMessageComponent {\r\n\r\n /**\r\n * The name of the validator for which you want to override the message.\r\n */\r\n @Input('forValidator')\r\n public validatorName: string;\r\n\r\n /**\r\n * Contains overridden message for validator.\r\n */\r\n @ViewChild('message')\r\n public message: ElementRef;\r\n\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\n/**\r\n * Allows to specify custom validator message to override default message.\r\n *\r\n * It's alternative for {@link NgxCustomMessageComponent}.\r\n * If you want to use standard html tags to define custom message, use this directive on html tag within\r\n * {@link NgxValidationMessagesComponent} specifying validator name as directive parameter,\r\n * otherwise use {@link NgxCustomMessageComponent}.\r\n */\r\n@Directive({\r\n selector: '[ngxValidatorName]'\r\n})\r\nexport class NgxValidatorNameDirective implements AfterViewInit {\r\n\r\n /**\r\n * The name of the validator for which you want to override the message.\r\n */\r\n @Input()\r\n public validatorName: string;\r\n\r\n /**\r\n * Contains overridden message for validator.\r\n */\r\n public message: string;\r\n\r\n constructor(private elem: ElementRef) {\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n this.message = this.elem.nativeElement.innerText;\r\n }\r\n\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const NGX_VALIDATION_MESSAGES_CONFIG: InjectionToken<NgxValidationMessagesConfig>\r\n = new InjectionToken<NgxValidationMessagesConfig>('NgxValidationMessagesConfig');\r\n\r\nexport interface NgxValidationMessagesConfig {\r\n\r\n /**\r\n * Object contains validation messages in validatorName: validatorMessage format.\r\n */\r\n messages: {\r\n [validatorName: string]: string;\r\n };\r\n\r\n /**\r\n * Define custom styles to display validation messages.\r\n */\r\n validationMessagesStyle?: {\r\n blockClassNames?: string;\r\n textClassNames?: string;\r\n };\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { NGX_VALIDATION_MESSAGES_CONFIG, NgxValidationMessagesConfig } from '../interface/ngx-validation-messages.config';\r\n\r\n/**\r\n * Service allows getting validation messages from client's settings.\r\n * Injecting {@link NgxValidationMessagesConfig} to get client's configuration with validation messages.\r\n */\r\n@Injectable()\r\nexport class NgxValidationMessagesService {\r\n\r\n public static SERVER_ERRORS = 'serverErrors';\r\n\r\n /**\r\n * Regular expression to find params placeholder '#[paramName]'.\r\n */\r\n private paramsRegExp = new RegExp(/#[[a-zA-Z_\\\\-]*]/);\r\n\r\n constructor(@Inject(NGX_VALIDATION_MESSAGES_CONFIG) private messagesConfig: NgxValidationMessagesConfig) {\r\n }\r\n\r\n /**\r\n * Get validation message for specified validator.\r\n *\r\n * @param validatorName for which to get message\r\n * @param params passed from validator for more detailed validation message\r\n *\r\n * @returns string validation message\r\n */\r\n public getValidatorErrorMessages(validatorName: string, params?: object): string {\r\n const validationMessages = this.messagesConfig.messages;\r\n const validationMessage: string = validationMessages[validatorName];\r\n\r\n if (!validationMessage) {\r\n throw new Error('Validation message for validator: ' + validatorName\r\n + ' cannot be found, please check validation message key for validator it is case sensitive.');\r\n }\r\n\r\n if (params) {\r\n return this.expandParameterizedTemplateMessage(validationMessage, params);\r\n }\r\n\r\n return validationMessage;\r\n }\r\n\r\n public expandParameterizedTemplateMessage(msg: string, params: object): string {\r\n while (this.paramsRegExp.test(msg)) {\r\n const foundParams = this.paramsRegExp.exec(msg);\r\n foundParams.forEach(value => {\r\n const paramPlaceholder = value;\r\n value = value.replace('#[', '').replace(']', '');\r\n msg = msg.replace(paramPlaceholder, this.getParameter(params, value));\r\n });\r\n }\r\n\r\n return msg;\r\n }\r\n\r\n /**\r\n * A utilitarian method to get a property from an object.\r\n * if there is no property, an empty string is returned.\r\n *\r\n * @param obj from which the property must be obtained\r\n * @param prop property name\r\n *\r\n * @return property value or empty string\r\n */\r\n private getParameter(obj: object, prop: string): string {\r\n return prop.split('.')\r\n .reduce((m, i) => {\r\n return m && typeof m === 'object' ? m[i] : '';\r\n }, obj);\r\n }\r\n\r\n // public static applyServerError(control: AbstractControl | null, serverError: ServerError): void {\r\n // if (!control) {\r\n // return;\r\n // }\r\n // if (control.getError(NgxValidationMessagesService.SERVER_ERRORS)) {\r\n // const existingErrorMessages = control.getError(NgxValidationMessagesService.SERVER_ERRORS);\r\n // if (_.isArray(existingErrorMessages.customMessages) &&\r\n // existingErrorMessages.customMessages.indexOf(serverError.message) === -1) {\r\n // existingErrorMessages.customMessages.push(serverError.message);\r\n // }\r\n // } else {\r\n // control.setErrors({[NgxValidationMessagesService.SERVER_ERRORS]: {customMessages: [serverError.message]}});\r\n // }\r\n // control.markAsTouched();\r\n // }\r\n\r\n}\r\n","import { AfterViewInit, Component, ContentChildren, ElementRef, Inject, Input, QueryList } from '@angular/core';\r\nimport { NgxValidatorNameDirective } from '../../directivies/ngx-validator-name.directive';\r\nimport {\r\n NGX_VALIDATION_MESSAGES_CONFIG,\r\n NgxValidationMessagesConfig\r\n} from '../../interface/ngx-validation-messages.config';\r\nimport { NgxValidationMessagesService } from '../../service/ngx-validation-messages.service';\r\nimport { NgxCustomMessageComponent } from '../ngx-custom-message/ngx-custom-message.component';\r\n\r\n/**\r\n * Component for displaying validation messages, supports child components of type {@link NgxCustomMessageComponent}\r\n * and html elements with directive {@link NgxValidatorNameDirective} to override validation messages.\r\n */\r\n@Component({\r\n selector: 'ngx-validation-messages, [ngxValidationMessages]',\r\n templateUrl: './ngx-validation-messages.component.html',\r\n styleUrls: ['./ngx-validation-messages.component.scss']\r\n})\r\nexport class NgxValidationMessagesComponent implements AfterViewInit {\r\n\r\n /**\r\n * Form control for which need to show validation messages.\r\n */\r\n @Input('for')\r\n public formControl: any;\r\n\r\n /**\r\n * Contains {@link NgxCustomMessageComponent} if present.\r\n */\r\n @ContentChildren(NgxCustomMessageComponent)\r\n public customMsgComponent;\r\n\r\n /**\r\n * Contains {@link NgxValidatorNameDirective} if present.\r\n */\r\n @ContentChildren(NgxValidatorNameDirective)\r\n public customMsgDirective;\r\n\r\n public isMaterialError = false;\r\n\r\n /**\r\n * Key to get default validation message.\r\n */\r\n private defaultError = 'error';\r\n\r\n private materialErrorElement = 'MAT-ERROR';\r\n\r\n constructor(@Inject(NGX_VALIDATION_MESSAGES_CONFIG) public ngxValidationConfig: NgxValidationMessagesConfig,\r\n private ngxValidationMessagesService: NgxValidationMessagesService,\r\n private directiveElementRef: ElementRef) {\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n if (this.directiveElementRef && this.directiveElementRef.nativeElement\r\n && this.directiveElementRef.nativeElement.nodeName) {\r\n this.isMaterialError = this.materialErrorElement.toLocaleUpperCase()\r\n === this.directiveElementRef.nativeElement.nodeName.toLocaleUpperCase();\r\n }\r\n }\r\n\r\n /**\r\n * Get all validation messages for specified form control.\r\n */\r\n public get errorMessages(): Array<string> {\r\n const result: Array<string> = [];\r\n\r\n if (!this.formControl || !this.formControl.errors) {\r\n return result;\r\n }\r\n if (this.customMsgComponent && this.customMsgComponent.length > 0) {\r\n this.processingCustomMessages(this.customMsgComponent);\r\n }\r\n if (this.customMsgDirective && this.customMsgDirective.length > 0) {\r\n this.processingCustomMessages(this.customMsgDirective);\r\n }\r\n\r\n for (const property in this.formControl.errors) {\r\n if (this.formControl.errors.hasOwnProperty(property)\r\n && (this.formControl.touched || this.formControl.dirty)) {\r\n if (this.formControl.errors[property].customMessages instanceof Array) {\r\n result.push(...this.formControl.errors[property].customMessages);\r\n continue;\r\n }\r\n if (this.formControl.errors[property].customMessage) {\r\n result.push(this.formControl.errors[property].customMessage);\r\n continue;\r\n }\r\n const validationMessage: string =\r\n this.ngxValidationMessagesService.getValidatorErrorMessages(property, this.formControl.errors[property]);\r\n result.push(validationMessage || this.formControl.errors[property].message\r\n || this.ngxValidationMessagesService.getValidatorErrorMessages(this.defaultError));\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n private processingCustomMessages(customMessage: QueryList<any>): void {\r\n customMessage.forEach((msg: any) => {\r\n if (!this.formControl.errors[msg.validatorName]) {\r\n return;\r\n }\r\n let message = (msg instanceof NgxCustomMessageComponent)\r\n ? msg.message.nativeElement.innerText : msg.message;\r\n message = this.ngxValidationMessagesService.expandParameterizedTemplateMessage(message, this.formControl.errors[msg.validatorName]);\r\n\r\n typeof this.formControl.errors[msg.validatorName] === 'object'\r\n ? this.formControl.errors[msg.validatorName].customMessage = message\r\n : this.formControl.errors[msg.validatorName] = {customMessage: message};\r\n });\r\n }\r\n\r\n}\r\n","<!--To show error messages standalone without component-->\r\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\r\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n <ng-content></ng-content>\r\n </span>\r\n</div>\r\n\r\n<ng-container *ngIf=\"errorMessages.length > 0\">\r\n\r\n <!--To show error messages in material ui style-->\r\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\r\n <ng-container *ngFor=\"let message of errorMessages\">\r\n <mat-error>{{ message }}</mat-error>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!--To show error messages in user style-->\r\n <ng-template #withoutMaterial>\r\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\r\n <div *ngFor=\"let message of errorMessages\">\r\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\r\n {{ message }}\r\n </span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { NgxCustomMessageComponent } from './components/ngx-custom-message/ngx-custom-message.component';\r\nimport { NgxValidationMessagesComponent } from './components/ngx-validation-messages/ngx-validation-messages.component';\r\nimport { NgxValidatorNameDirective } from './directivies/ngx-validator-name.directive';\r\nimport { NGX_VALIDATION_MESSAGES_CONFIG, NgxValidationMessagesConfig } from './interface/ngx-validation-messages.config';\r\nimport { NgxValidationMessagesService } from './service/ngx-validation-messages.service';\r\n\r\nexport { NGX_VALIDATION_MESSAGES_CONFIG, NgxValidationMessagesConfig } from './interface/ngx-validation-messages.config';\r\nexport { NgxCustomMessageComponent } from './components/ngx-custom-message/ngx-custom-message.component';\r\nexport { NgxValidationMessagesComponent } from './components/ngx-validation-messages/ngx-validation-messages.component';\r\nexport { NgxValidatorNameDirective } from './directivies/ngx-validator-name.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatFormFieldModule\r\n ],\r\n declarations: [\r\n NgxValidationMessagesComponent,\r\n NgxCustomMessageComponent,\r\n NgxValidatorNameDirective\r\n ],\r\n exports: [\r\n NgxValidationMessagesComponent,\r\n NgxCustomMessageComponent,\r\n NgxValidatorNameDirective\r\n ]\r\n})\r\nexport class NgxValidationMessagesModule {\r\n static forRoot(config: NgxValidationMessagesConfig): ModuleWithProviders<NgxValidationMessagesModule> {\r\n return {\r\n ngModule: NgxValidationMessagesModule,\r\n providers: [\r\n NgxValidationMessagesService,\r\n {\r\n provide: NGX_VALIDATION_MESSAGES_CONFIG,\r\n useValue: config\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-validation-messages\r\n */\r\nexport * from './lib/ngx-validation-messages.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lagoshny-ngx-validation-messages.mjs","sources":["../../../projects/ngx-validation-messages/src/lib/components/ngx-custom-message/ngx-custom-message.component.ts","../../../projects/ngx-validation-messages/src/lib/directivies/ngx-validator-name.directive.ts","../../../projects/ngx-validation-messages/src/lib/interface/ngx-validation-messages.config.ts","../../../projects/ngx-validation-messages/src/lib/service/ngx-validation-messages.service.ts","../../../projects/ngx-validation-messages/src/lib/components/ngx-validation-messages/ngx-validation-messages.component.ts","../../../projects/ngx-validation-messages/src/lib/components/ngx-validation-messages/ngx-validation-messages.component.html","../../../projects/ngx-validation-messages/src/lib/ngx-validation-messages.module.ts","../../../projects/ngx-validation-messages/src/public-api.ts","../../../projects/ngx-validation-messages/src/lagoshny-ngx-validation-messages.ts"],"sourcesContent":["import { Component, ElementRef, Input, ViewChild } from '@angular/core';\n\n/**\n * Component allows specifying custom validation message for the specified\n * validator to override default message.\n *\n * Use this component as child in {@link NgxValidationMessagesComponent}.\n */\n@Component({\n selector: 'ngx-custom-message',\n template: `\n <div #message>\n <ng-content></ng-content>\n </div>`\n})\nexport class NgxCustomMessageComponent {\n\n /**\n * The name of the validator for which you want to override the message.\n */\n @Input('forValidator')\n public validatorName: string;\n\n /**\n * Contains overridden message for validator.\n */\n @ViewChild('message')\n public message: ElementRef;\n\n}\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\n\n/**\n * Allows to specify custom validator message to override default message.\n *\n * It's alternative for {@link NgxCustomMessageComponent}.\n * If you want to use standard html tags to define custom message, use this directive on html tag within\n * {@link NgxValidationMessagesComponent} specifying validator name as directive parameter,\n * otherwise use {@link NgxCustomMessageComponent}.\n */\n@Directive({\n selector: '[ngxValidatorName]'\n})\nexport class NgxValidatorNameDirective implements AfterViewInit {\n\n /**\n * The name of the validator for which you want to override the message.\n */\n @Input()\n public validatorName: string;\n\n /**\n * Contains overridden message for validator.\n */\n public message: string;\n\n constructor(private elem: ElementRef) {\n }\n\n public ngAfterViewInit(): void {\n this.message = this.elem.nativeElement.innerText;\n }\n\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const NGX_VALIDATION_MESSAGES_CONFIG: InjectionToken<NgxValidationMessagesConfig>\n = new InjectionToken<NgxValidationMessagesConfig>('NgxValidationMessagesConfig');\n\nexport interface NgxValidationMessagesConfig {\n\n /**\n * Object contains validation messages in validatorName: validatorMessage format.\n */\n messages: {\n [validatorName: string]: string;\n };\n\n /**\n * Define custom styles to display validation messages.\n */\n validationMessagesStyle?: {\n blockClassNames?: string;\n textClassNames?: string;\n };\n\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { NGX_VALIDATION_MESSAGES_CONFIG, NgxValidationMessagesConfig } from '../interface/ngx-validation-messages.config';\n\n/**\n * Service allows getting validation messages from client's settings.\n * Injecting {@link NgxValidationMessagesConfig} to get client's configuration with validation messages.\n */\n@Injectable()\nexport class NgxValidationMessagesService {\n\n public static SERVER_ERRORS = 'serverErrors';\n\n /**\n * Regular expression to find params placeholder '#[paramName]'.\n */\n private paramsRegExp = new RegExp(/#[[a-zA-Z_\\\\-]*]/);\n\n constructor(@Inject(NGX_VALIDATION_MESSAGES_CONFIG) private messagesConfig: NgxValidationMessagesConfig) {\n }\n\n /**\n * Get validation message for specified validator.\n *\n * @param validatorName for which to get message\n * @param params passed from validator for more detailed validation message\n *\n * @returns string validation message\n */\n public getValidatorErrorMessages(validatorName: string, params?: object): string {\n const validationMessages = this.messagesConfig.messages;\n const validationMessage: string = validationMessages[validatorName];\n\n if (!validationMessage) {\n throw new Error('Validation message for validator: ' + validatorName\n + ' cannot be found, please check validation message key for validator it is case sensitive.');\n }\n\n if (params) {\n return this.expandParameterizedTemplateMessage(validationMessage, params);\n }\n\n return validationMessage;\n }\n\n public expandParameterizedTemplateMessage(msg: string, params: object): string {\n while (this.paramsRegExp.test(msg)) {\n const foundParams = this.paramsRegExp.exec(msg);\n foundParams.forEach(value => {\n const paramPlaceholder = value;\n value = value.replace('#[', '').replace(']', '');\n msg = msg.replace(paramPlaceholder, this.getParameter(params, value));\n });\n }\n\n return msg;\n }\n\n /**\n * A utilitarian method to get a property from an object.\n * if there is no property, an empty string is returned.\n *\n * @param obj from which the property must be obtained\n * @param prop property name\n *\n * @return property value or empty string\n */\n private getParameter(obj: object, prop: string): string {\n return prop.split('.')\n .reduce((m, i) => {\n return m && typeof m === 'object' ? m[i] : '';\n }, obj);\n }\n\n // public static applyServerError(control: AbstractControl | null, serverError: ServerError): void {\n // if (!control) {\n // return;\n // }\n // if (control.getError(NgxValidationMessagesService.SERVER_ERRORS)) {\n // const existingErrorMessages = control.getError(NgxValidationMessagesService.SERVER_ERRORS);\n // if (_.isArray(existingErrorMessages.customMessages) &&\n // existingErrorMessages.customMessages.indexOf(serverError.message) === -1) {\n // existingErrorMessages.customMessages.push(serverError.message);\n // }\n // } else {\n // control.setErrors({[NgxValidationMessagesService.SERVER_ERRORS]: {customMessages: [serverError.message]}});\n // }\n // control.markAsTouched();\n // }\n\n}\n","import { AfterViewInit, Component, ContentChildren, ElementRef, Inject, Input, QueryList } from '@angular/core';\nimport { NgxValidatorNameDirective } from '../../directivies/ngx-validator-name.directive';\nimport {\n NGX_VALIDATION_MESSAGES_CONFIG,\n NgxValidationMessagesConfig\n} from '../../interface/ngx-validation-messages.config';\nimport { NgxValidationMessagesService } from '../../service/ngx-validation-messages.service';\nimport { NgxCustomMessageComponent } from '../ngx-custom-message/ngx-custom-message.component';\n\n/**\n * Component for displaying validation messages, supports child components of type {@link NgxCustomMessageComponent}\n * and html elements with directive {@link NgxValidatorNameDirective} to override validation messages.\n */\n@Component({\n selector: 'ngx-validation-messages, [ngxValidationMessages]',\n templateUrl: './ngx-validation-messages.component.html',\n styleUrls: ['./ngx-validation-messages.component.scss']\n})\nexport class NgxValidationMessagesComponent implements AfterViewInit {\n\n /**\n * Form control for which need to show validation messages.\n */\n @Input('for')\n public formControl: any;\n\n /**\n * Contains {@link NgxCustomMessageComponent} if present.\n */\n @ContentChildren(NgxCustomMessageComponent)\n public customMsgComponent;\n\n /**\n * Contains {@link NgxValidatorNameDirective} if present.\n */\n @ContentChildren(NgxValidatorNameDirective)\n public customMsgDirective;\n\n public isMaterialError = false;\n\n /**\n * Key to get default validation message.\n */\n private defaultError = 'error';\n\n private materialErrorElement = 'MAT-ERROR';\n\n constructor(@Inject(NGX_VALIDATION_MESSAGES_CONFIG) public ngxValidationConfig: NgxValidationMessagesConfig,\n private ngxValidationMessagesService: NgxValidationMessagesService,\n private directiveElementRef: ElementRef) {\n }\n\n public ngAfterViewInit(): void {\n if (this.directiveElementRef && this.directiveElementRef.nativeElement\n && this.directiveElementRef.nativeElement.nodeName) {\n this.isMaterialError = this.materialErrorElement.toLocaleUpperCase()\n === this.directiveElementRef.nativeElement.nodeName.toLocaleUpperCase();\n }\n }\n\n /**\n * Get all validation messages for specified form control.\n */\n public get errorMessages(): Array<string> {\n const result: Array<string> = [];\n\n if (!this.formControl || !this.formControl.errors) {\n return result;\n }\n if (this.customMsgComponent && this.customMsgComponent.length > 0) {\n this.processingCustomMessages(this.customMsgComponent);\n }\n if (this.customMsgDirective && this.customMsgDirective.length > 0) {\n this.processingCustomMessages(this.customMsgDirective);\n }\n\n for (const property in this.formControl.errors) {\n if (this.formControl.errors.hasOwnProperty(property)\n && (this.formControl.touched || this.formControl.dirty)) {\n if (this.formControl.errors[property].customMessages instanceof Array) {\n result.push(...this.formControl.errors[property].customMessages);\n continue;\n }\n if (this.formControl.errors[property].customMessage) {\n result.push(this.formControl.errors[property].customMessage);\n continue;\n }\n const validationMessage: string =\n this.ngxValidationMessagesService.getValidatorErrorMessages(property, this.formControl.errors[property]);\n result.push(validationMessage || this.formControl.errors[property].message\n || this.ngxValidationMessagesService.getValidatorErrorMessages(this.defaultError));\n }\n }\n return result;\n }\n\n private processingCustomMessages(customMessage: QueryList<any>): void {\n customMessage.forEach((msg: any) => {\n if (!this.formControl.errors[msg.validatorName]) {\n return;\n }\n let message = (msg instanceof NgxCustomMessageComponent)\n ? msg.message.nativeElement.innerText : msg.message;\n message = this.ngxValidationMessagesService.expandParameterizedTemplateMessage(message, this.formControl.errors[msg.validatorName]);\n\n typeof this.formControl.errors[msg.validatorName] === 'object'\n ? this.formControl.errors[msg.validatorName].customMessage = message\n : this.formControl.errors[msg.validatorName] = {customMessage: message};\n });\n }\n\n}\n","<!--To show error messages standalone without component-->\n<div *ngIf=\"!formControl && customMsgComponent.length == 0 && customMsgDirective.length == 0\"\n [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n <ng-content></ng-content>\n </span>\n</div>\n\n<ng-container *ngIf=\"errorMessages.length > 0\">\n\n <!--To show error messages in material ui style-->\n <ng-container *ngIf=\"isMaterialError; else withoutMaterial\">\n <ng-container *ngFor=\"let message of errorMessages\">\n <mat-error>{{ message }}</mat-error>\n </ng-container>\n </ng-container>\n\n <!--To show error messages in user style-->\n <ng-template #withoutMaterial>\n <div [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.blockClassNames || 'ngx_vm__def_error_block'\">\n <div *ngFor=\"let message of errorMessages\">\n <span [ngClass]=\"ngxValidationConfig?.validationMessagesStyle?.textClassNames || 'ngx_vm__def_error_text'\">\n {{ message }}\n </span>\n </div>\n </div>\n </ng-template>\n\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {NgxCustomMessageComponent} from './components/ngx-custom-message/ngx-custom-message.component';\nimport {NgxValidationMessagesComponent} from './components/ngx-validation-messages/ngx-validation-messages.component';\nimport {NgxValidatorNameDirective} from './directivies/ngx-validator-name.directive';\nimport {NGX_VALIDATION_MESSAGES_CONFIG, NgxValidationMessagesConfig} from './interface/ngx-validation-messages.config';\nimport {NgxValidationMessagesService} from './service/ngx-validation-messages.service';\nimport {MatFormFieldModule} from '@angular/material/form-field';\n\nexport {NGX_VALIDATION_MESSAGES_CONFIG, NgxValidationMessagesConfig} from './interface/ngx-validation-messages.config';\nexport {NgxCustomMessageComponent} from './components/ngx-custom-message/ngx-custom-message.component';\nexport {NgxValidationMessagesComponent} from './components/ngx-validation-messages/ngx-validation-messages.component';\nexport {NgxValidatorNameDirective} from './directivies/ngx-validator-name.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n ],\n declarations: [\n NgxValidationMessagesComponent,\n NgxCustomMessageComponent,\n NgxValidatorNameDirective\n ],\n exports: [\n NgxValidationMessagesComponent,\n NgxCustomMessageComponent,\n NgxValidatorNameDirective\n ]\n})\nexport class NgxValidationMessagesModule {\n static forRoot(config: NgxValidationMessagesConfig): ModuleWithProviders<NgxValidationMessagesModule> {\n return {\n ngModule: NgxValidationMessagesModule,\n providers: [\n NgxValidationMessagesService,\n {\n provide: NGX_VALIDATION_MESSAGES_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","/*\n * Public API Surface of ngx-validation-messages\n */\nexport * from './lib/ngx-validation-messages.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxValidationMessagesService"],"mappings":"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"}