@lagoshny/ngx-validation-messages 16.0.0 → 17.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 17.0.0 (2025-11-30)
2
+ #### Updated angular
3
+ Updated to Angular 17.
4
+
1
5
  ## 16.0.0 (2025-11-30)
2
6
  #### Updated angular
3
7
  Updated to Angular 16.
@@ -15,13 +15,13 @@ export class NgxCustomMessageComponent {
15
15
  * Contains overridden message for validator.
16
16
  */
17
17
  message;
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxCustomMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgxCustomMessageComponent, selector: "ngx-custom-message", inputs: { validatorName: ["forValidator", "validatorName"] }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: `
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxCustomMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgxCustomMessageComponent, selector: "ngx-custom-message", inputs: { validatorName: ["forValidator", "validatorName"] }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: `
20
20
  <div #message>
21
21
  <ng-content></ng-content>
22
22
  </div>`, isInline: true });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxCustomMessageComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxCustomMessageComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{
27
27
  selector: 'ngx-custom-message',
@@ -90,16 +90,16 @@ export class NgxValidationMessagesComponent {
90
90
  : this.formControl.errors[msg.validatorName] = { customMessage: message };
91
91
  });
92
92
  }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesComponent, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }, { token: i1.NgxValidationMessagesService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
94
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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"] }] });
93
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesComponent, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }, { token: i1.NgxValidationMessagesService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
94
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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"] }] });
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesComponent, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesComponent, decorators: [{
97
97
  type: Component,
98
98
  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"] }]
99
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
99
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
100
100
  type: Inject,
101
101
  args: [NGX_VALIDATION_MESSAGES_CONFIG]
102
- }] }, { type: i1.NgxValidationMessagesService }, { type: i0.ElementRef }]; }, propDecorators: { formControl: [{
102
+ }] }, { type: i1.NgxValidationMessagesService }, { type: i0.ElementRef }], propDecorators: { formControl: [{
103
103
  type: Input,
104
104
  args: ['for']
105
105
  }], customMsgComponent: [{
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
109
109
  type: ContentChildren,
110
110
  args: [NgxValidatorNameDirective]
111
111
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvc3JjL2xpYi9jb21wb25lbnRzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUNMLDhCQUE4QixFQUUvQixNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7OztBQUUvRjs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sOEJBQThCO0lBNkJrQjtJQUN2QztJQUNBO0lBN0JwQjs7T0FFRztJQUVJLFdBQVcsQ0FBTTtJQUV4Qjs7T0FFRztJQUVJLGtCQUFrQixDQUFDO0lBRTFCOztPQUVHO0lBRUksa0JBQWtCLENBQUM7SUFFbkIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUUvQjs7T0FFRztJQUNLLFlBQVksR0FBRyxPQUFPLENBQUM7SUFFdkIsb0JBQW9CLEdBQUcsV0FBVyxDQUFDO0lBRTNDLFlBQTJELG1CQUFnRCxFQUN2Riw0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bnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZpZXMvbmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBOR1hfVkFMSURBVElPTl9NRVNTQUdFU19DT05GSUcsXG4gIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZ1xufSBmcm9tICcuLi8uLi9pbnRlcmZhY2Uvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29uZmlnJztcbmltcG9ydCB7IE5neFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uL25neC1jdXN0b20tbWVzc2FnZS9uZ3gtY3VzdG9tLW1lc3NhZ2UuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgdmFsaWRhdGlvbiBtZXNzYWdlcywgc3VwcG9ydHMgY2hpbGQgY29tcG9uZW50cyBvZiB0eXBlIHtAbGluayBOZ3hDdXN0b21NZXNzYWdlQ29tcG9uZW50fVxuICogYW5kIGh0bWwgZWxlbWVudHMgd2l0aCBkaXJlY3RpdmUge0BsaW5rIE5neFZhbGlkYXRvck5hbWVEaXJlY3RpdmV9IHRvIG92ZXJyaWRlIHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLCBbbmd4VmFsaWRhdGlvbk1lc3NhZ2VzXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmd4VmFsaWRhdGlvbk1lc3NhZ2VzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqXG4gICAqIEZvcm0gY29udHJvbCBmb3Igd2hpY2ggbmVlZCB0byBzaG93IHZhbGlkYXRpb24gbWVzc2FnZXMuXG4gICAqL1xuICBASW5wdXQoJ2ZvcicpXG4gIHB1YmxpYyBmb3JtQ29udHJvbDogYW55O1xuXG4gIC8qKlxuICAgKiBDb250YWlucyB7QGxpbmsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH0gaWYgcHJlc2VudC5cbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudClcbiAgcHVibGljIGN1c3RvbU1zZ0NvbXBvbmVudDtcblxuICAvKipcbiAgICogQ29udGFpbnMge0BsaW5rIE5neFZhbGlkYXRvck5hbWVEaXJlY3RpdmV9IGlmIHByZXNlbnQuXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKE5neFZhbGlkYXRvck5hbWVEaXJlY3RpdmUpXG4gIHB1YmxpYyBjdXN0b21Nc2dEaXJlY3RpdmU7XG5cbiAgcHVibGljIGlzTWF0ZXJpYWxFcnJvciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBLZXkgdG8gZ2V0IGRlZmF1bHQgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICAgKi9cbiAgcHJpdmF0ZSBkZWZhdWx0RXJyb3IgPSAnZXJyb3InO1xuXG4gIHByaXZhdGUgbWF0ZXJpYWxFcnJvckVsZW1lbnQgPSAnTUFULUVSUk9SJztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWF9WQUxJREFUSU9OX01FU1NBR0VTX0NPTkZJRykgcHVibGljIG5neFZhbGlkYXRpb25Db25maWc6IE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBuZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlOiBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGRpcmVjdGl2ZUVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZiAmJiB0aGlzLmRpcmVjdGl2ZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgJiYgdGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWUpIHtcbiAgICAgIHRoaXMuaXNNYXRlcmlhbEVycm9yID0gdGhpcy5tYXRlcmlhbEVycm9yRWxlbWVudC50b0xvY2FsZVVwcGVyQ2FzZSgpXG4gICAgICAgID09PSB0aGlzLmRpcmVjdGl2ZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ub2RlTmFtZS50b0xvY2FsZVVwcGVyQ2FzZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHZhbGlkYXRpb24gbWVzc2FnZXMgZm9yIHNwZWNpZmllZCBmb3JtIGNvbnRyb2wuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGVycm9yTWVzc2FnZXMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgY29uc3QgcmVzdWx0OiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wgfHwgIXRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBpZiAodGhpcy5jdXN0b21Nc2dDb21wb25lbnQgJiYgdGhpcy5jdXN0b21Nc2dDb21wb25lbnQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5wcm9jZXNzaW5nQ3VzdG9tTWVzc2FnZXModGhpcy5jdXN0b21Nc2dDb21wb25lbnQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jdXN0b21Nc2dEaXJlY3RpdmUgJiYgdGhpcy5jdXN0b21Nc2dEaXJlY3RpdmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5wcm9jZXNzaW5nQ3VzdG9tTWVzc2FnZXModGhpcy5jdXN0b21Nc2dEaXJlY3RpdmUpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gdGhpcy5mb3JtQ29udHJvbC5lcnJvcnMpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1Db250cm9sLmVycm9ycy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSlcbiAgICAgICAgJiYgKHRoaXMuZm9ybUNvbnRyb2wudG91Y2hlZCB8fCB0aGlzLmZvcm1Db250cm9sLmRpcnR5KSkge1xuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbcHJvcGVydHldLmN1c3RvbU1lc3NhZ2VzIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCguLi50aGlzLmZvcm1Db250cm9sLmVycm9yc1twcm9wZXJ0eV0uY3VzdG9tTWVzc2FnZXMpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmZvcm1Db250cm9sLmVycm9yc1twcm9wZXJ0eV0uY3VzdG9tTWVzc2FnZSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW3Byb3BlcnR5XS5jdXN0b21NZXNzYWdlKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nID1cbiAgICAgICAgICB0aGlzLm5neFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UuZ2V0VmFsaWRhdG9yRXJyb3JNZXNzYWdlcyhwcm9wZXJ0eSwgdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbcHJvcGVydHldKTtcbiAgICAgICAgcmVzdWx0LnB1c2godmFsaWRhdGlvbk1lc3NhZ2UgfHwgdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbcHJvcGVydHldLm1lc3NhZ2VcbiAgICAgICAgICB8fCB0aGlzLm5neFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2UuZ2V0VmFsaWRhdG9yRXJyb3JNZXNzYWdlcyh0aGlzLmRlZmF1bHRFcnJvcikpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzaW5nQ3VzdG9tTWVzc2FnZXMoY3VzdG9tTWVzc2FnZTogUXVlcnlMaXN0PGFueT4pOiB2b2lkIHtcbiAgICBjdXN0b21NZXNzYWdlLmZvckVhY2goKG1zZzogYW55KSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW21zZy52YWxpZGF0b3JOYW1lXSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsZXQgbWVzc2FnZSA9IChtc2cgaW5zdGFuY2VvZiBOZ3hDdXN0b21NZXNzYWdlQ29tcG9uZW50KVxuICAgICAgICA/IG1zZy5tZXNzYWdlLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0IDogbXNnLm1lc3NhZ2U7XG4gICAgICBtZXNzYWdlID0gdGhpcy5uZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLmV4cGFuZFBhcmFtZXRlcml6ZWRUZW1wbGF0ZU1lc3NhZ2UobWVzc2FnZSwgdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbbXNnLnZhbGlkYXRvck5hbWVdKTtcblxuICAgICAgdHlwZW9mIHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW21zZy52YWxpZGF0b3JOYW1lXSA9PT0gJ29iamVjdCdcbiAgICAgICAgPyB0aGlzLmZvcm1Db250cm9sLmVycm9yc1ttc2cudmFsaWRhdG9yTmFtZV0uY3VzdG9tTWVzc2FnZSA9IG1lc3NhZ2VcbiAgICAgICAgOiB0aGlzLmZvcm1Db250cm9sLmVycm9yc1ttc2cudmFsaWRhdG9yTmFtZV0gPSB7Y3VzdG9tTWVzc2FnZTogbWVzc2FnZX07XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPCEtLVRvIHNob3cgZXJyb3IgbWVzc2FnZXMgc3RhbmRhbG9uZSB3aXRob3V0IGNvbXBvbmVudC0tPlxuPGRpdiAqbmdJZj1cIiFmb3JtQ29udHJvbCAmJiBjdXN0b21Nc2dDb21wb25lbnQubGVuZ3RoID09IDAgJiYgY3VzdG9tTXNnRGlyZWN0aXZlLmxlbmd0aCA9PSAwXCJcbiAgICAgW25nQ2xhc3NdPVwibmd4VmFsaWRhdGlvbkNvbmZpZz8udmFsaWRhdGlvbk1lc3NhZ2VzU3R5bGU/LmJsb2NrQ2xhc3NOYW1lcyB8fCAnbmd4X3ZtX19kZWZfZXJyb3JfYmxvY2snXCI+XG4gPHNwYW4gW25nQ2xhc3NdPVwibmd4VmFsaWRhdGlvbkNvbmZpZz8udmFsaWRhdGlvbk1lc3NhZ2VzU3R5bGU/LnRleHRDbGFzc05hbWVzIHx8ICduZ3hfdm1fX2RlZl9lcnJvcl90ZXh0J1wiPlxuICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIDwvc3Bhbj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwXCI+XG5cbiAgPCEtLVRvIHNob3cgZXJyb3IgbWVzc2FnZXMgaW4gbWF0ZXJpYWwgdWkgc3R5bGUtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTWF0ZXJpYWxFcnJvcjsgZWxzZSB3aXRob3V0TWF0ZXJpYWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIGVycm9yTWVzc2FnZXNcIj5cbiAgICAgIDxtYXQtZXJyb3I+e3sgbWVzc2FnZSB9fTwvbWF0LWVycm9yPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tVG8gc2hvdyBlcnJvciBtZXNzYWdlcyBpbiB1c2VyIHN0eWxlLS0+XG4gIDxuZy10ZW1wbGF0ZSAjd2l0aG91dE1hdGVyaWFsPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwibmd4VmFsaWRhdGlvbkNvbmZpZz8udmFsaWRhdGlvbk1lc3NhZ2VzU3R5bGU/LmJsb2NrQ2xhc3NOYW1lcyB8fCAnbmd4X3ZtX19kZWZfZXJyb3JfYmxvY2snXCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIGVycm9yTWVzc2FnZXNcIj5cbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwibmd4VmFsaWRhdGlvbkNvbmZpZz8udmFsaWRhdGlvbk1lc3NhZ2VzU3R5bGU/LnRleHRDbGFzc05hbWVzIHx8ICduZ3hfdm1fX2RlZl9lcnJvcl90ZXh0J1wiPlxuICAgICAgICAgIHt7IG1lc3NhZ2UgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvbmctY29udGFpbmVyPlxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMvc3JjL2xpYi9jb21wb25lbnRzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvY29tcG9uZW50cy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUNMLDhCQUE4QixFQUUvQixNQUFNLGdEQUFnRCxDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7OztBQUUvRjs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sOEJBQThCO0lBNkJrQjtJQUN2QztJQUNBO0lBN0JwQjs7T0FFRztJQUVJLFdBQVcsQ0FBTTtJQUV4Qjs7T0FFRztJQUVJLGtCQUFrQixDQUFDO0lBRTFCOztPQUVHO0lBRUksa0JBQWtCLENBQUM7SUFFbkIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUUvQjs7T0FFRztJQUNLLFlBQVksR0FBRyxPQUFPLENBQUM7SUFFdkIsb0JBQW9CLEdBQUcsV0FBVyxDQUFDO0lBRTNDLFlBQTJELG1CQUFnRCxFQUN2Riw0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O2dCQU9uQyxrQkFBa0I7c0JBRHhCLGVBQWU7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd4VmFsaWRhdG9yTmFtZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2aWVzL25neC12YWxpZGF0b3ItbmFtZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgTkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHLFxuICBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWdcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzLmNvbmZpZyc7XG5pbXBvcnQgeyBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9uZ3gtY3VzdG9tLW1lc3NhZ2Uvbmd4LWN1c3RvbS1tZXNzYWdlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBkaXNwbGF5aW5nIHZhbGlkYXRpb24gbWVzc2FnZXMsIHN1cHBvcnRzIGNoaWxkIGNvbXBvbmVudHMgb2YgdHlwZSB7QGxpbmsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH1cbiAqIGFuZCBodG1sIGVsZW1lbnRzIHdpdGggZGlyZWN0aXZlIHtAbGluayBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlfSB0byBvdmVycmlkZSB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcywgW25neFZhbGlkYXRpb25NZXNzYWdlc10nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBGb3JtIGNvbnRyb2wgZm9yIHdoaWNoIG5lZWQgdG8gc2hvdyB2YWxpZGF0aW9uIG1lc3NhZ2VzLlxuICAgKi9cbiAgQElucHV0KCdmb3InKVxuICBwdWJsaWMgZm9ybUNvbnRyb2w6IGFueTtcblxuICAvKipcbiAgICogQ29udGFpbnMge0BsaW5rIE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnR9IGlmIHByZXNlbnQuXG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKE5neEN1c3RvbU1lc3NhZ2VDb21wb25lbnQpXG4gIHB1YmxpYyBjdXN0b21Nc2dDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5zIHtAbGluayBOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlfSBpZiBwcmVzZW50LlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihOZ3hWYWxpZGF0b3JOYW1lRGlyZWN0aXZlKVxuICBwdWJsaWMgY3VzdG9tTXNnRGlyZWN0aXZlO1xuXG4gIHB1YmxpYyBpc01hdGVyaWFsRXJyb3IgPSBmYWxzZTtcblxuICAvKipcbiAgICogS2V5IHRvIGdldCBkZWZhdWx0IHZhbGlkYXRpb24gbWVzc2FnZS5cbiAgICovXG4gIHByaXZhdGUgZGVmYXVsdEVycm9yID0gJ2Vycm9yJztcblxuICBwcml2YXRlIG1hdGVyaWFsRXJyb3JFbGVtZW50ID0gJ01BVC1FUlJPUic7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hfVkFMSURBVElPTl9NRVNTQUdFU19DT05GSUcpIHB1YmxpYyBuZ3hWYWxpZGF0aW9uQ29uZmlnOiBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcsXG4gICAgICAgICAgICAgIHByaXZhdGUgbmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZTogTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkaXJlY3RpdmVFbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpcmVjdGl2ZUVsZW1lbnRSZWYgJiYgdGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICYmIHRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lKSB7XG4gICAgICB0aGlzLmlzTWF0ZXJpYWxFcnJvciA9IHRoaXMubWF0ZXJpYWxFcnJvckVsZW1lbnQudG9Mb2NhbGVVcHBlckNhc2UoKVxuICAgICAgICA9PT0gdGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCB2YWxpZGF0aW9uIG1lc3NhZ2VzIGZvciBzcGVjaWZpZWQgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHVibGljIGdldCBlcnJvck1lc3NhZ2VzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIGNvbnN0IHJlc3VsdDogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sIHx8ICF0aGlzLmZvcm1Db250cm9sLmVycm9ycykge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VzdG9tTXNnQ29tcG9uZW50ICYmIHRoaXMuY3VzdG9tTXNnQ29tcG9uZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZ0N1c3RvbU1lc3NhZ2VzKHRoaXMuY3VzdG9tTXNnQ29tcG9uZW50KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VzdG9tTXNnRGlyZWN0aXZlICYmIHRoaXMuY3VzdG9tTXNnRGlyZWN0aXZlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZ0N1c3RvbU1lc3NhZ2VzKHRoaXMuY3VzdG9tTXNnRGlyZWN0aXZlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICBpZiAodGhpcy5mb3JtQ29udHJvbC5lcnJvcnMuaGFzT3duUHJvcGVydHkocHJvcGVydHkpXG4gICAgICAgICYmICh0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQgfHwgdGhpcy5mb3JtQ29udHJvbC5kaXJ0eSkpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW3Byb3BlcnR5XS5jdXN0b21NZXNzYWdlcyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbcHJvcGVydHldLmN1c3RvbU1lc3NhZ2VzKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbcHJvcGVydHldLmN1c3RvbU1lc3NhZ2UpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmZvcm1Db250cm9sLmVycm9yc1twcm9wZXJ0eV0uY3VzdG9tTWVzc2FnZSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZyA9XG4gICAgICAgICAgdGhpcy5uZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLmdldFZhbGlkYXRvckVycm9yTWVzc2FnZXMocHJvcGVydHksIHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW3Byb3BlcnR5XSk7XG4gICAgICAgIHJlc3VsdC5wdXNoKHZhbGlkYXRpb25NZXNzYWdlIHx8IHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW3Byb3BlcnR5XS5tZXNzYWdlXG4gICAgICAgICAgfHwgdGhpcy5uZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLmdldFZhbGlkYXRvckVycm9yTWVzc2FnZXModGhpcy5kZWZhdWx0RXJyb3IpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc2luZ0N1c3RvbU1lc3NhZ2VzKGN1c3RvbU1lc3NhZ2U6IFF1ZXJ5TGlzdDxhbnk+KTogdm9pZCB7XG4gICAgY3VzdG9tTWVzc2FnZS5mb3JFYWNoKChtc2c6IGFueSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmZvcm1Db250cm9sLmVycm9yc1ttc2cudmFsaWRhdG9yTmFtZV0pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGV0IG1lc3NhZ2UgPSAobXNnIGluc3RhbmNlb2YgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudClcbiAgICAgICAgPyBtc2cubWVzc2FnZS5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA6IG1zZy5tZXNzYWdlO1xuICAgICAgbWVzc2FnZSA9IHRoaXMubmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZS5leHBhbmRQYXJhbWV0ZXJpemVkVGVtcGxhdGVNZXNzYWdlKG1lc3NhZ2UsIHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzW21zZy52YWxpZGF0b3JOYW1lXSk7XG5cbiAgICAgIHR5cGVvZiB0aGlzLmZvcm1Db250cm9sLmVycm9yc1ttc2cudmFsaWRhdG9yTmFtZV0gPT09ICdvYmplY3QnXG4gICAgICAgID8gdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbbXNnLnZhbGlkYXRvck5hbWVdLmN1c3RvbU1lc3NhZ2UgPSBtZXNzYWdlXG4gICAgICAgIDogdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNbbXNnLnZhbGlkYXRvck5hbWVdID0ge2N1c3RvbU1lc3NhZ2U6IG1lc3NhZ2V9O1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjwhLS1UbyBzaG93IGVycm9yIG1lc3NhZ2VzIHN0YW5kYWxvbmUgd2l0aG91dCBjb21wb25lbnQtLT5cbjxkaXYgKm5nSWY9XCIhZm9ybUNvbnRyb2wgJiYgY3VzdG9tTXNnQ29tcG9uZW50Lmxlbmd0aCA9PSAwICYmIGN1c3RvbU1zZ0RpcmVjdGl2ZS5sZW5ndGggPT0gMFwiXG4gICAgIFtuZ0NsYXNzXT1cIm5neFZhbGlkYXRpb25Db25maWc/LnZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPy5ibG9ja0NsYXNzTmFtZXMgfHwgJ25neF92bV9fZGVmX2Vycm9yX2Jsb2NrJ1wiPlxuIDxzcGFuIFtuZ0NsYXNzXT1cIm5neFZhbGlkYXRpb25Db25maWc/LnZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPy50ZXh0Q2xhc3NOYW1lcyB8fCAnbmd4X3ZtX19kZWZfZXJyb3JfdGV4dCdcIj5cbiAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiA8L3NwYW4+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImVycm9yTWVzc2FnZXMubGVuZ3RoID4gMFwiPlxuXG4gIDwhLS1UbyBzaG93IGVycm9yIG1lc3NhZ2VzIGluIG1hdGVyaWFsIHVpIHN0eWxlLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01hdGVyaWFsRXJyb3I7IGVsc2Ugd2l0aG91dE1hdGVyaWFsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBlcnJvck1lc3NhZ2VzXCI+XG4gICAgICA8bWF0LWVycm9yPnt7IG1lc3NhZ2UgfX08L21hdC1lcnJvcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPCEtLVRvIHNob3cgZXJyb3IgbWVzc2FnZXMgaW4gdXNlciBzdHlsZS0tPlxuICA8bmctdGVtcGxhdGUgI3dpdGhvdXRNYXRlcmlhbD5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cIm5neFZhbGlkYXRpb25Db25maWc/LnZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPy5ibG9ja0NsYXNzTmFtZXMgfHwgJ25neF92bV9fZGVmX2Vycm9yX2Jsb2NrJ1wiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBlcnJvck1lc3NhZ2VzXCI+XG4gICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIm5neFZhbGlkYXRpb25Db25maWc/LnZhbGlkYXRpb25NZXNzYWdlc1N0eWxlPy50ZXh0Q2xhc3NOYW1lcyB8fCAnbmd4X3ZtX19kZWZfZXJyb3JfdGV4dCdcIj5cbiAgICAgICAgICB7eyBtZXNzYWdlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -24,15 +24,15 @@ export class NgxValidatorNameDirective {
24
24
  ngAfterViewInit() {
25
25
  this.message = this.elem.nativeElement.innerText;
26
26
  }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidatorNameDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
28
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NgxValidatorNameDirective, selector: "[ngxValidatorName]", inputs: { validatorName: "validatorName" }, ngImport: i0 });
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidatorNameDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
28
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NgxValidatorNameDirective, selector: "[ngxValidatorName]", inputs: { validatorName: "validatorName" }, ngImport: i0 });
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidatorNameDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidatorNameDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: '[ngxValidatorName]'
34
34
  }]
35
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { validatorName: [{
35
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { validatorName: [{
36
36
  type: Input
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvZGlyZWN0aXZpZXMvbmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU1RTs7Ozs7OztHQU9HO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQWFoQjtJQVhwQjs7T0FFRztJQUVJLGFBQWEsQ0FBUztJQUU3Qjs7T0FFRztJQUNJLE9BQU8sQ0FBUztJQUV2QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3BDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7d0dBbEJVLHlCQUF5Qjs0RkFBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CO2lHQU9RLGFBQWE7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQWxsb3dzIHRvIHNwZWNpZnkgY3VzdG9tIHZhbGlkYXRvciBtZXNzYWdlIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWVzc2FnZS5cbiAqXG4gKiBJdCdzIGFsdGVybmF0aXZlIGZvciB7QGxpbmsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH0uXG4gKiBJZiB5b3Ugd2FudCB0byB1c2Ugc3RhbmRhcmQgaHRtbCB0YWdzIHRvIGRlZmluZSBjdXN0b20gbWVzc2FnZSwgdXNlIHRoaXMgZGlyZWN0aXZlIG9uIGh0bWwgdGFnIHdpdGhpblxuICoge0BsaW5rIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudH0gc3BlY2lmeWluZyB2YWxpZGF0b3IgbmFtZSBhcyBkaXJlY3RpdmUgcGFyYW1ldGVyLFxuICogb3RoZXJ3aXNlIHVzZSB7QGxpbmsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH0uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hWYWxpZGF0b3JOYW1lXSdcbn0pXG5leHBvcnQgY2xhc3MgTmd4VmFsaWRhdG9yTmFtZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdmFsaWRhdG9yIGZvciB3aGljaCB5b3Ugd2FudCB0byBvdmVycmlkZSB0aGUgbWVzc2FnZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWxpZGF0b3JOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5zIG92ZXJyaWRkZW4gbWVzc2FnZSBmb3IgdmFsaWRhdG9yLlxuICAgKi9cbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW06IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0O1xuICB9XG5cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvZGlyZWN0aXZpZXMvbmd4LXZhbGlkYXRvci1uYW1lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU1RTs7Ozs7OztHQU9HO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQWFoQjtJQVhwQjs7T0FFRztJQUVJLGFBQWEsQ0FBUztJQUU3Qjs7T0FFRztJQUNJLE9BQU8sQ0FBUztJQUV2QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQ3BDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7d0dBbEJVLHlCQUF5Qjs0RkFBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9COytFQU9RLGFBQWE7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQWxsb3dzIHRvIHNwZWNpZnkgY3VzdG9tIHZhbGlkYXRvciBtZXNzYWdlIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWVzc2FnZS5cbiAqXG4gKiBJdCdzIGFsdGVybmF0aXZlIGZvciB7QGxpbmsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH0uXG4gKiBJZiB5b3Ugd2FudCB0byB1c2Ugc3RhbmRhcmQgaHRtbCB0YWdzIHRvIGRlZmluZSBjdXN0b20gbWVzc2FnZSwgdXNlIHRoaXMgZGlyZWN0aXZlIG9uIGh0bWwgdGFnIHdpdGhpblxuICoge0BsaW5rIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbXBvbmVudH0gc3BlY2lmeWluZyB2YWxpZGF0b3IgbmFtZSBhcyBkaXJlY3RpdmUgcGFyYW1ldGVyLFxuICogb3RoZXJ3aXNlIHVzZSB7QGxpbmsgTmd4Q3VzdG9tTWVzc2FnZUNvbXBvbmVudH0uXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hWYWxpZGF0b3JOYW1lXSdcbn0pXG5leHBvcnQgY2xhc3MgTmd4VmFsaWRhdG9yTmFtZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdmFsaWRhdG9yIGZvciB3aGljaCB5b3Ugd2FudCB0byBvdmVycmlkZSB0aGUgbWVzc2FnZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWxpZGF0b3JOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5zIG92ZXJyaWRkZW4gbWVzc2FnZSBmb3IgdmFsaWRhdG9yLlxuICAgKi9cbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW06IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0O1xuICB9XG5cbn1cbiJdfQ==
@@ -24,17 +24,17 @@ export class NgxValidationMessagesModule {
24
24
  ]
25
25
  };
26
26
  }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesModule, declarations: [NgxValidationMessagesComponent,
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesModule, declarations: [NgxValidationMessagesComponent,
29
29
  NgxCustomMessageComponent,
30
30
  NgxValidatorNameDirective], imports: [CommonModule,
31
31
  MatFormFieldModule], exports: [NgxValidationMessagesComponent,
32
32
  NgxCustomMessageComponent,
33
33
  NgxValidatorNameDirective] });
34
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesModule, imports: [CommonModule,
34
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesModule, imports: [CommonModule,
35
35
  MatFormFieldModule] });
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesModule, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesModule, decorators: [{
38
38
  type: NgModule,
39
39
  args: [{
40
40
  imports: [
@@ -61,13 +61,13 @@ export class NgxValidationMessagesService {
61
61
  return m && typeof m === 'object' ? m[i] : '';
62
62
  }, obj);
63
63
  }
64
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesService, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
65
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesService });
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesService, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
65
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesService });
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesService, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesService, decorators: [{
68
68
  type: Injectable
69
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
69
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
70
70
  type: Inject,
71
71
  args: [NGX_VALIDATION_MESSAGES_CONFIG]
72
- }] }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvc2VydmljZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBK0IsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFFMUg7OztHQUdHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQVNxQjtJQVByRCxNQUFNLENBQUMsYUFBYSxHQUFHLGNBQWMsQ0FBQztJQUU3Qzs7T0FFRztJQUNLLFlBQVksR0FBRyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXRELFlBQTRELGNBQTJDO1FBQTNDLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtJQUN2RyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHlCQUF5QixDQUFDLGFBQXFCLEVBQUUsTUFBZTtRQUNyRSxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ3hELE1BQU0saUJBQWlCLEdBQVcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLEdBQUcsYUFBYTtrQkFDaEUsMkZBQTJGLENBQUMsQ0FBQztTQUNsRztRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsa0NBQWtDLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDM0U7UUFFRCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFTSxrQ0FBa0MsQ0FBQyxHQUFXLEVBQUUsTUFBYztRQUNuRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2dCQUMvQixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDakQsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN4RSxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSyxZQUFZLENBQUMsR0FBVyxFQUFFLElBQVk7UUFDNUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7d0dBL0RVLDRCQUE0QixrQkFTbkIsOEJBQThCOzRHQVR2Qyw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVU7OzBCQVVJLE1BQU07MkJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR1hfVkFMSURBVElPTl9NRVNTQUdFU19DT05GSUcsIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb25maWcnO1xuXG4vKipcbiAqIFNlcnZpY2UgYWxsb3dzIGdldHRpbmcgdmFsaWRhdGlvbiBtZXNzYWdlcyBmcm9tIGNsaWVudCdzIHNldHRpbmdzLlxuICogSW5qZWN0aW5nIHtAbGluayBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWd9IHRvIGdldCBjbGllbnQncyBjb25maWd1cmF0aW9uIHdpdGggdmFsaWRhdGlvbiBtZXNzYWdlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5neFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2Uge1xuXG4gIHB1YmxpYyBzdGF0aWMgU0VSVkVSX0VSUk9SUyA9ICdzZXJ2ZXJFcnJvcnMnO1xuXG4gIC8qKlxuICAgKiBSZWd1bGFyIGV4cHJlc3Npb24gdG8gZmluZCBwYXJhbXMgcGxhY2Vob2xkZXIgJyNbcGFyYW1OYW1lXScuXG4gICAqL1xuICBwcml2YXRlIHBhcmFtc1JlZ0V4cCA9IG5ldyBSZWdFeHAoLyNbW2EtekEtWl9cXFxcLV0qXS8pO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHKSBwcml2YXRlIG1lc3NhZ2VzQ29uZmlnOiBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdmFsaWRhdGlvbiBtZXNzYWdlIGZvciBzcGVjaWZpZWQgdmFsaWRhdG9yLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsaWRhdG9yTmFtZSBmb3Igd2hpY2ggdG8gZ2V0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHBhcmFtcyBwYXNzZWQgZnJvbSB2YWxpZGF0b3IgZm9yIG1vcmUgZGV0YWlsZWQgdmFsaWRhdGlvbiBtZXNzYWdlXG4gICAqXG4gICAqIEByZXR1cm5zIHN0cmluZyB2YWxpZGF0aW9uIG1lc3NhZ2VcbiAgICovXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JFcnJvck1lc3NhZ2VzKHZhbGlkYXRvck5hbWU6IHN0cmluZywgcGFyYW1zPzogb2JqZWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uTWVzc2FnZXMgPSB0aGlzLm1lc3NhZ2VzQ29uZmlnLm1lc3NhZ2VzO1xuICAgIGNvbnN0IHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcgPSB2YWxpZGF0aW9uTWVzc2FnZXNbdmFsaWRhdG9yTmFtZV07XG5cbiAgICBpZiAoIXZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhbGlkYXRpb24gbWVzc2FnZSBmb3IgdmFsaWRhdG9yOiAnICsgdmFsaWRhdG9yTmFtZVxuICAgICAgICArICcgY2Fubm90IGJlIGZvdW5kLCBwbGVhc2UgY2hlY2sgdmFsaWRhdGlvbiBtZXNzYWdlIGtleSBmb3IgdmFsaWRhdG9yIGl0IGlzIGNhc2Ugc2Vuc2l0aXZlLicpO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmV4cGFuZFBhcmFtZXRlcml6ZWRUZW1wbGF0ZU1lc3NhZ2UodmFsaWRhdGlvbk1lc3NhZ2UsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlO1xuICB9XG5cbiAgcHVibGljIGV4cGFuZFBhcmFtZXRlcml6ZWRUZW1wbGF0ZU1lc3NhZ2UobXNnOiBzdHJpbmcsIHBhcmFtczogb2JqZWN0KTogc3RyaW5nIHtcbiAgICB3aGlsZSAodGhpcy5wYXJhbXNSZWdFeHAudGVzdChtc2cpKSB7XG4gICAgICBjb25zdCBmb3VuZFBhcmFtcyA9IHRoaXMucGFyYW1zUmVnRXhwLmV4ZWMobXNnKTtcbiAgICAgIGZvdW5kUGFyYW1zLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbVBsYWNlaG9sZGVyID0gdmFsdWU7XG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgnI1snLCAnJykucmVwbGFjZSgnXScsICcnKTtcbiAgICAgICAgbXNnID0gbXNnLnJlcGxhY2UocGFyYW1QbGFjZWhvbGRlciwgdGhpcy5nZXRQYXJhbWV0ZXIocGFyYW1zLCB2YWx1ZSkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1zZztcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHV0aWxpdGFyaWFuIG1ldGhvZCB0byBnZXQgYSBwcm9wZXJ0eSBmcm9tIGFuIG9iamVjdC5cbiAgICogaWYgdGhlcmUgaXMgbm8gcHJvcGVydHksIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC5cbiAgICpcbiAgICogQHBhcmFtIG9iaiBmcm9tIHdoaWNoIHRoZSBwcm9wZXJ0eSBtdXN0IGJlIG9idGFpbmVkXG4gICAqIEBwYXJhbSBwcm9wIHByb3BlcnR5IG5hbWVcbiAgICpcbiAgICogQHJldHVybiBwcm9wZXJ0eSB2YWx1ZSBvciBlbXB0eSBzdHJpbmdcbiAgICovXG4gIHByaXZhdGUgZ2V0UGFyYW1ldGVyKG9iajogb2JqZWN0LCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBwcm9wLnNwbGl0KCcuJylcbiAgICAgIC5yZWR1Y2UoKG0sIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIG0gJiYgdHlwZW9mIG0gPT09ICdvYmplY3QnID8gbVtpXSA6ICcnO1xuICAgICAgfSwgb2JqKTtcbiAgfVxuXG4gIC8vIHB1YmxpYyBzdGF0aWMgYXBwbHlTZXJ2ZXJFcnJvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsLCBzZXJ2ZXJFcnJvcjogU2VydmVyRXJyb3IpOiB2b2lkIHtcbiAgLy8gICBpZiAoIWNvbnRyb2wpIHtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG4gIC8vICAgaWYgKGNvbnRyb2wuZ2V0RXJyb3IoTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZS5TRVJWRVJfRVJST1JTKSkge1xuICAvLyAgICAgY29uc3QgZXhpc3RpbmdFcnJvck1lc3NhZ2VzID0gY29udHJvbC5nZXRFcnJvcihOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLlNFUlZFUl9FUlJPUlMpO1xuICAvLyAgICAgaWYgKF8uaXNBcnJheShleGlzdGluZ0Vycm9yTWVzc2FnZXMuY3VzdG9tTWVzc2FnZXMpICYmXG4gIC8vICAgICAgIGV4aXN0aW5nRXJyb3JNZXNzYWdlcy5jdXN0b21NZXNzYWdlcy5pbmRleE9mKHNlcnZlckVycm9yLm1lc3NhZ2UpID09PSAtMSkge1xuICAvLyAgICAgICBleGlzdGluZ0Vycm9yTWVzc2FnZXMuY3VzdG9tTWVzc2FnZXMucHVzaChzZXJ2ZXJFcnJvci5tZXNzYWdlKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgY29udHJvbC5zZXRFcnJvcnMoe1tOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLlNFUlZFUl9FUlJPUlNdOiB7Y3VzdG9tTWVzc2FnZXM6IFtzZXJ2ZXJFcnJvci5tZXNzYWdlXX19KTtcbiAgLy8gICB9XG4gIC8vICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gIC8vIH1cblxufVxuIl19
72
+ }] }] });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZhbGlkYXRpb24tbWVzc2FnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12YWxpZGF0aW9uLW1lc3NhZ2VzL3NyYy9saWIvc2VydmljZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSw4QkFBOEIsRUFBK0IsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFFMUg7OztHQUdHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQVNxQjtJQVByRCxNQUFNLENBQUMsYUFBYSxHQUFHLGNBQWMsQ0FBQztJQUU3Qzs7T0FFRztJQUNLLFlBQVksR0FBRyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXRELFlBQTRELGNBQTJDO1FBQTNDLG1CQUFjLEdBQWQsY0FBYyxDQUE2QjtJQUN2RyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHlCQUF5QixDQUFDLGFBQXFCLEVBQUUsTUFBZTtRQUNyRSxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ3hELE1BQU0saUJBQWlCLEdBQVcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsR0FBRyxhQUFhO2tCQUNoRSwyRkFBMkYsQ0FBQyxDQUFDO1FBQ25HLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUMsa0NBQWtDLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUVELE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVNLGtDQUFrQyxDQUFDLEdBQVcsRUFBRSxNQUFjO1FBQ25FLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRCxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQztnQkFDL0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDeEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSyxZQUFZLENBQUMsR0FBVyxFQUFFLElBQVk7UUFDNUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7d0dBL0RVLDRCQUE0QixrQkFTbkIsOEJBQThCOzRHQVR2Qyw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVU7OzBCQVVJLE1BQU07MkJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR1hfVkFMSURBVElPTl9NRVNTQUdFU19DT05GSUcsIE5neFZhbGlkYXRpb25NZXNzYWdlc0NvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZS9uZ3gtdmFsaWRhdGlvbi1tZXNzYWdlcy5jb25maWcnO1xuXG4vKipcbiAqIFNlcnZpY2UgYWxsb3dzIGdldHRpbmcgdmFsaWRhdGlvbiBtZXNzYWdlcyBmcm9tIGNsaWVudCdzIHNldHRpbmdzLlxuICogSW5qZWN0aW5nIHtAbGluayBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWd9IHRvIGdldCBjbGllbnQncyBjb25maWd1cmF0aW9uIHdpdGggdmFsaWRhdGlvbiBtZXNzYWdlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5neFZhbGlkYXRpb25NZXNzYWdlc1NlcnZpY2Uge1xuXG4gIHB1YmxpYyBzdGF0aWMgU0VSVkVSX0VSUk9SUyA9ICdzZXJ2ZXJFcnJvcnMnO1xuXG4gIC8qKlxuICAgKiBSZWd1bGFyIGV4cHJlc3Npb24gdG8gZmluZCBwYXJhbXMgcGxhY2Vob2xkZXIgJyNbcGFyYW1OYW1lXScuXG4gICAqL1xuICBwcml2YXRlIHBhcmFtc1JlZ0V4cCA9IG5ldyBSZWdFeHAoLyNbW2EtekEtWl9cXFxcLV0qXS8pO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkdYX1ZBTElEQVRJT05fTUVTU0FHRVNfQ09ORklHKSBwcml2YXRlIG1lc3NhZ2VzQ29uZmlnOiBOZ3hWYWxpZGF0aW9uTWVzc2FnZXNDb25maWcpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdmFsaWRhdGlvbiBtZXNzYWdlIGZvciBzcGVjaWZpZWQgdmFsaWRhdG9yLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsaWRhdG9yTmFtZSBmb3Igd2hpY2ggdG8gZ2V0IG1lc3NhZ2VcbiAgICogQHBhcmFtIHBhcmFtcyBwYXNzZWQgZnJvbSB2YWxpZGF0b3IgZm9yIG1vcmUgZGV0YWlsZWQgdmFsaWRhdGlvbiBtZXNzYWdlXG4gICAqXG4gICAqIEByZXR1cm5zIHN0cmluZyB2YWxpZGF0aW9uIG1lc3NhZ2VcbiAgICovXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JFcnJvck1lc3NhZ2VzKHZhbGlkYXRvck5hbWU6IHN0cmluZywgcGFyYW1zPzogb2JqZWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uTWVzc2FnZXMgPSB0aGlzLm1lc3NhZ2VzQ29uZmlnLm1lc3NhZ2VzO1xuICAgIGNvbnN0IHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmcgPSB2YWxpZGF0aW9uTWVzc2FnZXNbdmFsaWRhdG9yTmFtZV07XG5cbiAgICBpZiAoIXZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhbGlkYXRpb24gbWVzc2FnZSBmb3IgdmFsaWRhdG9yOiAnICsgdmFsaWRhdG9yTmFtZVxuICAgICAgICArICcgY2Fubm90IGJlIGZvdW5kLCBwbGVhc2UgY2hlY2sgdmFsaWRhdGlvbiBtZXNzYWdlIGtleSBmb3IgdmFsaWRhdG9yIGl0IGlzIGNhc2Ugc2Vuc2l0aXZlLicpO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmV4cGFuZFBhcmFtZXRlcml6ZWRUZW1wbGF0ZU1lc3NhZ2UodmFsaWRhdGlvbk1lc3NhZ2UsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlO1xuICB9XG5cbiAgcHVibGljIGV4cGFuZFBhcmFtZXRlcml6ZWRUZW1wbGF0ZU1lc3NhZ2UobXNnOiBzdHJpbmcsIHBhcmFtczogb2JqZWN0KTogc3RyaW5nIHtcbiAgICB3aGlsZSAodGhpcy5wYXJhbXNSZWdFeHAudGVzdChtc2cpKSB7XG4gICAgICBjb25zdCBmb3VuZFBhcmFtcyA9IHRoaXMucGFyYW1zUmVnRXhwLmV4ZWMobXNnKTtcbiAgICAgIGZvdW5kUGFyYW1zLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbVBsYWNlaG9sZGVyID0gdmFsdWU7XG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgnI1snLCAnJykucmVwbGFjZSgnXScsICcnKTtcbiAgICAgICAgbXNnID0gbXNnLnJlcGxhY2UocGFyYW1QbGFjZWhvbGRlciwgdGhpcy5nZXRQYXJhbWV0ZXIocGFyYW1zLCB2YWx1ZSkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1zZztcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHV0aWxpdGFyaWFuIG1ldGhvZCB0byBnZXQgYSBwcm9wZXJ0eSBmcm9tIGFuIG9iamVjdC5cbiAgICogaWYgdGhlcmUgaXMgbm8gcHJvcGVydHksIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC5cbiAgICpcbiAgICogQHBhcmFtIG9iaiBmcm9tIHdoaWNoIHRoZSBwcm9wZXJ0eSBtdXN0IGJlIG9idGFpbmVkXG4gICAqIEBwYXJhbSBwcm9wIHByb3BlcnR5IG5hbWVcbiAgICpcbiAgICogQHJldHVybiBwcm9wZXJ0eSB2YWx1ZSBvciBlbXB0eSBzdHJpbmdcbiAgICovXG4gIHByaXZhdGUgZ2V0UGFyYW1ldGVyKG9iajogb2JqZWN0LCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBwcm9wLnNwbGl0KCcuJylcbiAgICAgIC5yZWR1Y2UoKG0sIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIG0gJiYgdHlwZW9mIG0gPT09ICdvYmplY3QnID8gbVtpXSA6ICcnO1xuICAgICAgfSwgb2JqKTtcbiAgfVxuXG4gIC8vIHB1YmxpYyBzdGF0aWMgYXBwbHlTZXJ2ZXJFcnJvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsLCBzZXJ2ZXJFcnJvcjogU2VydmVyRXJyb3IpOiB2b2lkIHtcbiAgLy8gICBpZiAoIWNvbnRyb2wpIHtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG4gIC8vICAgaWYgKGNvbnRyb2wuZ2V0RXJyb3IoTmd4VmFsaWRhdGlvbk1lc3NhZ2VzU2VydmljZS5TRVJWRVJfRVJST1JTKSkge1xuICAvLyAgICAgY29uc3QgZXhpc3RpbmdFcnJvck1lc3NhZ2VzID0gY29udHJvbC5nZXRFcnJvcihOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLlNFUlZFUl9FUlJPUlMpO1xuICAvLyAgICAgaWYgKF8uaXNBcnJheShleGlzdGluZ0Vycm9yTWVzc2FnZXMuY3VzdG9tTWVzc2FnZXMpICYmXG4gIC8vICAgICAgIGV4aXN0aW5nRXJyb3JNZXNzYWdlcy5jdXN0b21NZXNzYWdlcy5pbmRleE9mKHNlcnZlckVycm9yLm1lc3NhZ2UpID09PSAtMSkge1xuICAvLyAgICAgICBleGlzdGluZ0Vycm9yTWVzc2FnZXMuY3VzdG9tTWVzc2FnZXMucHVzaChzZXJ2ZXJFcnJvci5tZXNzYWdlKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgY29udHJvbC5zZXRFcnJvcnMoe1tOZ3hWYWxpZGF0aW9uTWVzc2FnZXNTZXJ2aWNlLlNFUlZFUl9FUlJPUlNdOiB7Y3VzdG9tTWVzc2FnZXM6IFtzZXJ2ZXJFcnJvci5tZXNzYWdlXX19KTtcbiAgLy8gICB9XG4gIC8vICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gIC8vIH1cblxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import * as i2 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, Input, ViewChild, Directive, InjectionToken, Injectable, Inject, ContentChildren, NgModule } from '@angular/core';
4
+ import { ViewChild, Input, Component, Directive, InjectionToken, Inject, Injectable, ContentChildren, NgModule } from '@angular/core';
5
5
  import * as i3 from '@angular/material/form-field';
6
6
  import { MatFormFieldModule } from '@angular/material/form-field';
7
7
 
@@ -20,13 +20,13 @@ class NgxCustomMessageComponent {
20
20
  * Contains overridden message for validator.
21
21
  */
22
22
  message;
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxCustomMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgxCustomMessageComponent, selector: "ngx-custom-message", inputs: { validatorName: ["forValidator", "validatorName"] }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: `
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxCustomMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgxCustomMessageComponent, selector: "ngx-custom-message", inputs: { validatorName: ["forValidator", "validatorName"] }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], ngImport: i0, template: `
25
25
  <div #message>
26
26
  <ng-content></ng-content>
27
27
  </div>`, isInline: true });
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxCustomMessageComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxCustomMessageComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ngx-custom-message',
@@ -67,15 +67,15 @@ class NgxValidatorNameDirective {
67
67
  ngAfterViewInit() {
68
68
  this.message = this.elem.nativeElement.innerText;
69
69
  }
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidatorNameDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
71
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NgxValidatorNameDirective, selector: "[ngxValidatorName]", inputs: { validatorName: "validatorName" }, ngImport: i0 });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidatorNameDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
71
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NgxValidatorNameDirective, selector: "[ngxValidatorName]", inputs: { validatorName: "validatorName" }, ngImport: i0 });
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidatorNameDirective, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidatorNameDirective, decorators: [{
74
74
  type: Directive,
75
75
  args: [{
76
76
  selector: '[ngxValidatorName]'
77
77
  }]
78
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { validatorName: [{
78
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { validatorName: [{
79
79
  type: Input
80
80
  }] } });
81
81
 
@@ -141,15 +141,15 @@ class NgxValidationMessagesService {
141
141
  return m && typeof m === 'object' ? m[i] : '';
142
142
  }, obj);
143
143
  }
144
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesService, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
145
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesService });
144
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesService, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
145
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesService });
146
146
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesService, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesService, decorators: [{
148
148
  type: Injectable
149
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
149
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
150
150
  type: Inject,
151
151
  args: [NGX_VALIDATION_MESSAGES_CONFIG]
152
- }] }]; } });
152
+ }] }] });
153
153
 
154
154
  /**
155
155
  * Component for displaying validation messages, supports child components of type {@link NgxCustomMessageComponent}
@@ -234,16 +234,16 @@ class NgxValidationMessagesComponent {
234
234
  : this.formControl.errors[msg.validatorName] = { customMessage: message };
235
235
  });
236
236
  }
237
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesComponent, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }, { token: NgxValidationMessagesService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
238
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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"] }] });
237
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesComponent, deps: [{ token: NGX_VALIDATION_MESSAGES_CONFIG }, { token: NgxValidationMessagesService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
238
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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"] }] });
239
239
  }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesComponent, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesComponent, decorators: [{
241
241
  type: Component,
242
242
  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"] }]
243
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
243
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
244
244
  type: Inject,
245
245
  args: [NGX_VALIDATION_MESSAGES_CONFIG]
246
- }] }, { type: NgxValidationMessagesService }, { type: i0.ElementRef }]; }, propDecorators: { formControl: [{
246
+ }] }, { type: NgxValidationMessagesService }, { type: i0.ElementRef }], propDecorators: { formControl: [{
247
247
  type: Input,
248
248
  args: ['for']
249
249
  }], customMsgComponent: [{
@@ -267,17 +267,17 @@ class NgxValidationMessagesModule {
267
267
  ]
268
268
  };
269
269
  }
270
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
271
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesModule, declarations: [NgxValidationMessagesComponent,
270
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
271
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesModule, declarations: [NgxValidationMessagesComponent,
272
272
  NgxCustomMessageComponent,
273
273
  NgxValidatorNameDirective], imports: [CommonModule,
274
274
  MatFormFieldModule], exports: [NgxValidationMessagesComponent,
275
275
  NgxCustomMessageComponent,
276
276
  NgxValidatorNameDirective] });
277
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesModule, imports: [CommonModule,
277
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesModule, imports: [CommonModule,
278
278
  MatFormFieldModule] });
279
279
  }
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxValidationMessagesModule, decorators: [{
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxValidationMessagesModule, decorators: [{
281
281
  type: NgModule,
282
282
  args: [{
283
283
  imports: [
@@ -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';\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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"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lagoshny/ngx-validation-messages",
3
- "version": "16.0.0",
3
+ "version": "17.0.0",
4
4
  "description": "This module allows to simplify display form validator validation messages using single component.",
5
5
  "readme": "README.md",
6
6
  "author": "Ilya Lagoshny <ilya@lagoshny.ru>",
@@ -22,7 +22,10 @@
22
22
  "Angular",
23
23
  "Angular 12",
24
24
  "Angular 13",
25
+ "Angular 14",
25
26
  "Angular 15",
27
+ "Angular 16",
28
+ "Angular 17",
26
29
  "Material ui"
27
30
  ],
28
31
  "homepage": "https://github.com/lagoshny/ngx-validation-messages",