@tetacom/ng-components 1.0.9 → 1.0.10

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.
@@ -9,17 +9,19 @@ export declare class TextFieldComponent implements ControlValueAccessor {
9
9
  onlyNumber: boolean;
10
10
  invalid: boolean;
11
11
  input: ElementRef;
12
+ private readonly tabindex;
12
13
  private readonly textField;
13
14
  value: string;
14
15
  constructor(_cdr: ChangeDetectorRef);
15
16
  onFocus(): void;
16
17
  keyPress(event: KeyboardEvent): void;
18
+ emitBlur(): void;
17
19
  registerOnChange(fn: any): void;
18
20
  registerOnTouched(fn: any): void;
19
21
  setDisabledState(isDisabled: boolean): void;
20
22
  writeValue(input: string): void;
21
23
  onChange(input: string): void;
22
- onTouched(input: string): void;
24
+ onTouched(): void;
23
25
  static ɵfac: i0.ɵɵFactoryDeclaration<TextFieldComponent, never>;
24
26
  static ɵcmp: i0.ɵɵComponentDeclaration<TextFieldComponent, "teta-text-field", never, { "placeholder": "placeholder"; "leftIconName": "leftIconName"; "disabled": "disabled"; "onlyNumber": "onlyNumber"; "invalid": "invalid"; }, {}, never, never>;
25
27
  }
@@ -11,6 +11,7 @@ export class TextFieldComponent {
11
11
  this.placeholder = '';
12
12
  this.disabled = false;
13
13
  this.onlyNumber = false;
14
+ this.tabindex = 0;
14
15
  this.textField = true;
15
16
  this.value = '';
16
17
  }
@@ -22,6 +23,9 @@ export class TextFieldComponent {
22
23
  this.input.nativeElement.blur();
23
24
  }
24
25
  }
26
+ emitBlur() {
27
+ this.onTouched();
28
+ }
25
29
  registerOnChange(fn) {
26
30
  this.onChange = fn;
27
31
  }
@@ -36,17 +40,19 @@ export class TextFieldComponent {
36
40
  this.value = input;
37
41
  this._cdr.detectChanges();
38
42
  }
39
- onChange(input) { }
40
- onTouched(input) { }
43
+ onChange(input) {
44
+ }
45
+ onTouched() {
46
+ }
41
47
  }
42
48
  TextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TextFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
- TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TextFieldComponent, selector: "teta-text-field", inputs: { placeholder: "placeholder", leftIconName: "leftIconName", disabled: "disabled", onlyNumber: "onlyNumber", invalid: "invalid" }, host: { listeners: { "click": "onFocus()" }, properties: { "class.text-field_disabled": "this.disabled", "class.text-field_invalid": "this.invalid", "class.text-field": "this.textField" } }, providers: [
49
+ TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TextFieldComponent, selector: "teta-text-field", inputs: { placeholder: "placeholder", leftIconName: "leftIconName", disabled: "disabled", onlyNumber: "onlyNumber", invalid: "invalid" }, host: { listeners: { "click": "onFocus()" }, properties: { "class.text-field_disabled": "this.disabled", "class.text-field_invalid": "this.invalid", "attr.tabindex": "this.tabindex", "class.text-field": "this.textField" } }, providers: [
44
50
  {
45
51
  provide: NG_VALUE_ACCESSOR,
46
52
  useExisting: forwardRef(() => TextFieldComponent),
47
53
  multi: true,
48
54
  },
49
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""], components: [{ type: i1.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""], components: [{ type: i1.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TextFieldComponent, decorators: [{
51
57
  type: Component,
52
58
  args: [{ selector: 'teta-text-field', providers: [
@@ -55,7 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
55
61
  useExisting: forwardRef(() => TextFieldComponent),
56
62
  multi: true,
57
63
  },
58
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""] }]
64
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""] }]
59
65
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { placeholder: [{
60
66
  type: Input
61
67
  }], leftIconName: [{
@@ -75,6 +81,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
75
81
  }], input: [{
76
82
  type: ViewChild,
77
83
  args: ['input', { static: false }]
84
+ }], tabindex: [{
85
+ type: HostBinding,
86
+ args: ['attr.tabindex']
78
87
  }], textField: [{
79
88
  type: HostBinding,
80
89
  args: ['class.text-field']
@@ -82,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
82
91
  type: HostListener,
83
92
  args: ['click']
84
93
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvaW5wdXQvdGV4dC1maWVsZC90ZXh0LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9pbnB1dC90ZXh0LWZpZWxkL3RleHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWV6RSxNQUFNLE9BQU8sa0JBQWtCO0lBZ0I3QixZQUFvQixJQUF1QjtRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQWZsQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUkxQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ1IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQU9YLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDbEMsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUVtQyxDQUFDO0lBRXhCLE9BQU87UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFvQjtRQUMzQixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhLElBQVMsQ0FBQztJQUVoQyxTQUFTLENBQUMsS0FBYSxJQUFTLENBQUM7OytHQWhEdEIsa0JBQWtCO21HQUFsQixrQkFBa0IsbVhBVGxCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7WUFDakQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBIQ3ZCSCxrZkFrQkE7MkZEUWEsa0JBQWtCO2tCQWI5QixTQUFTOytCQUNFLGlCQUFpQixhQUdoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07d0dBR3RDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHTixRQUFRO3NCQUZQLFdBQVc7dUJBQUMsMkJBQTJCOztzQkFDdkMsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdOLE9BQU87c0JBRk4sV0FBVzt1QkFBQywwQkFBMEI7O3NCQUN0QyxLQUFLO2dCQUVpQyxLQUFLO3NCQUEzQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBR3BCLFNBQVM7c0JBRHpCLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU1SLE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10ZXh0LWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dEZpZWxkQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxlZnRJY29uTmFtZT86IHN0cmluZztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LWZpZWxkX2Rpc2FibGVkJylcbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgb25seU51bWJlciA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtZmllbGRfaW52YWxpZCcpXG4gIEBJbnB1dCgpXG4gIGludmFsaWQ6IGJvb2xlYW47XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1maWVsZCcpXG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dEZpZWxkID0gdHJ1ZTtcbiAgdmFsdWUgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgb25Gb2N1cygpIHtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGtleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKGlucHV0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gaW5wdXQ7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGlucHV0OiBzdHJpbmcpOiB2b2lkIHt9XG5cbiAgb25Ub3VjaGVkKGlucHV0OiBzdHJpbmcpOiB2b2lkIHt9XG59XG4iLCI8dGV0YS1pY29uICpuZ0lmPVwibGVmdEljb25OYW1lXCIgW25hbWVdPVwibGVmdEljb25OYW1lXCI+PC90ZXRhLWljb24+XG48aW5wdXRcbiAgI2lucHV0XG4gIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgW3RldGFPbmx5TnVtYmVyXT1cIm9ubHlOdW1iZXJcIlxuICAobmdNb2RlbENoYW5nZSk9XCJ2YWx1ZSA9ICRldmVudDsgb25DaGFuZ2UoJGV2ZW50KTtcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAoa2V5ZG93bik9XCJrZXlQcmVzcygkZXZlbnQpXCJcbiAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgdHlwZT1cInRleHRcIlxuLz5cbjx0ZXRhLWljb25cbiAgKm5nSWY9XCJ2YWx1ZSAmJiAhZGlzYWJsZWRcIlxuICBjbGFzcz1cImNsb3NlLWljb25cIlxuICBbbmFtZV09XCInY2xvc2VDaXJjbGUnXCJcbiAgKGNsaWNrKT1cInZhbHVlID0gJyc7IG9uQ2hhbmdlKCcnKTtcIlxuPjwvdGV0YS1pY29uPlxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvaW5wdXQvdGV4dC1maWVsZC90ZXh0LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9pbnB1dC90ZXh0LWZpZWxkL3RleHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWV2RSxNQUFNLE9BQU8sa0JBQWtCO0lBaUI3QixZQUFvQixJQUF1QjtRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQWhCbEMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFJMUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNSLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFNWCxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNsQyxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBR1gsQ0FBQztJQUVzQixPQUFPO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBb0I7UUFDM0IsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtJQUN0QixDQUFDO0lBRUQsU0FBUztJQUNULENBQUM7OytHQXhEVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxWkFUbEI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztZQUNqRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEhDdkJILDJnQkFtQkE7MkZET2Esa0JBQWtCO2tCQWI5QixTQUFTOytCQUNFLGlCQUFpQixhQUdoQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07d0dBR3RDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHTixRQUFRO3NCQUZQLFdBQVc7dUJBQUMsMkJBQTJCOztzQkFDdkMsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdOLE9BQU87c0JBRk4sV0FBVzt1QkFBQywwQkFBMEI7O3NCQUN0QyxLQUFLO2dCQUUrQixLQUFLO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBRWxCLFFBQVE7c0JBRHhCLFdBQVc7dUJBQUMsZUFBZTtnQkFHWCxTQUFTO3NCQUR6QixXQUFXO3VCQUFDLGtCQUFrQjtnQkFPUixPQUFPO3NCQUE3QixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXRleHQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0RmllbGRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgbGVmdEljb25OYW1lPzogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtZmllbGRfZGlzYWJsZWQnKVxuICBASW5wdXQoKVxuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBvbmx5TnVtYmVyID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1maWVsZF9pbnZhbGlkJylcbiAgQElucHV0KClcbiAgaW52YWxpZDogYm9vbGVhbjtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7c3RhdGljOiBmYWxzZX0pIGlucHV0OiBFbGVtZW50UmVmO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBwcml2YXRlIHJlYWRvbmx5IHRhYmluZGV4ID0gMDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LWZpZWxkJylcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0RmllbGQgPSB0cnVlO1xuICB2YWx1ZSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgb25Gb2N1cygpIHtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGtleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICB9XG4gIH1cblxuICBlbWl0Qmx1cigpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShpbnB1dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IGlucHV0O1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkNoYW5nZShpbnB1dDogc3RyaW5nKTogdm9pZCB7XG4gIH1cblxuICBvblRvdWNoZWQoKTogdm9pZCB7XG4gIH1cbn1cbiIsIjx0ZXRhLWljb24gKm5nSWY9XCJsZWZ0SWNvbk5hbWVcIiBbbmFtZV09XCJsZWZ0SWNvbk5hbWVcIj48L3RldGEtaWNvbj5cbjxpbnB1dFxuICAjaW5wdXRcbiAgW25nTW9kZWxdPVwidmFsdWVcIlxuICBbdGV0YU9ubHlOdW1iZXJdPVwib25seU51bWJlclwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlID0gJGV2ZW50OyBvbkNoYW5nZSgkZXZlbnQpO1wiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIChibHVyKT1cImVtaXRCbHVyKClcIlxuICAoa2V5ZG93bik9XCJrZXlQcmVzcygkZXZlbnQpXCJcbiAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgdHlwZT1cInRleHRcIlxuLz5cbjx0ZXRhLWljb25cbiAgKm5nSWY9XCJ2YWx1ZSAmJiAhZGlzYWJsZWRcIlxuICBjbGFzcz1cImNsb3NlLWljb25cIlxuICBbbmFtZV09XCInY2xvc2VDaXJjbGUnXCJcbiAgKGNsaWNrKT1cInZhbHVlID0gJyc7IG9uQ2hhbmdlKCcnKTtcIlxuPjwvdGV0YS1pY29uPlxuIl19
@@ -142,7 +142,6 @@ export class OnlyNumberDirective {
142
142
  value = '0.0';
143
143
  }
144
144
  const valid = new RegExp(regex).test(value.toString());
145
- console.log(value, valid);
146
145
  this._control.control.setValue(valid ? value : this._previousValue ?? 0);
147
146
  }
148
147
  }
@@ -173,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
173
172
  type: HostListener,
174
173
  args: ['keydown', ['$event']]
175
174
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25seS1udW1iZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvZGlyZWN0aXZlL29ubHktbnVtYmVyL29ubHktbnVtYmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQU16RSxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QixZQUFvQixXQUF1QixFQUFVLFFBQW1CO1FBQXBELGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWYvRCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLHFCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUN2QixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUV0QixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixxQkFBZ0IsR0FBRyxVQUFVLENBQUM7UUFDOUIsbUJBQWMsR0FBRyxZQUFZLENBQUM7UUFDOUIscUJBQWdCLEdBQUcsb0JBQW9CLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxzQkFBc0IsQ0FBQztRQUUvQixlQUFVLEdBQVcsR0FBRyxDQUFDO0lBRzFDLENBQUM7SUFFbUMsUUFBUSxDQUFDLENBQU07UUFDakQsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssRUFBRTtZQUNqQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFa0MsT0FBTyxDQUFDLENBQU07UUFDL0MsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssRUFBRTtZQUNqQyxPQUFPO1NB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QUM7U0FDekM7UUFDRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUNiO1FBQ0QsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1lBQ3BCLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDZjtRQUNELE1BQU0sS0FBSyxHQUFZLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7Z0hBdktVLG1CQUFtQjtvR0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7eUhBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBYzhCLFFBQVE7c0JBQTNDLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9DLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFJLFNBQVM7c0JBQTdDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RldGFPbmx5TnVtYmVyXScsXG59KVxuZXhwb3J0IGNsYXNzIE9ubHlOdW1iZXJEaXJlY3RpdmUge1xuICBASW5wdXQoKSB0ZXRhT25seU51bWJlciA9IHRydWU7XG4gIEBJbnB1dCgpIGFsbG93RGVjaW1hbHMgPSB0cnVlO1xuICBASW5wdXQoKSBhbGxvd1NpZ24gPSB0cnVlO1xuICBASW5wdXQoKSBkZWNpbWFsU2VwYXJhdG9yID0gJy4nO1xuICBASW5wdXQoKSBjb21tYVNlcGFyYXRvciA9ICcsJztcblxuICBwcml2YXRlIF9wcmV2aW91c1ZhbHVlID0gJyc7XG5cbiAgcHJpdmF0ZSBfaW50ZWdlclVuc2lnbmVkID0gJ15bMC05XSokJztcbiAgcHJpdmF0ZSBfaW50ZWdlclNpZ25lZCA9ICdeLT9bMC05XSskJztcbiAgcHJpdmF0ZSBfZGVjaW1hbFVuc2lnbmVkID0gJ15bMC05XSsoLlswLTldKyk/JCc7XG4gIHByaXZhdGUgX2RlY2ltYWxTaWduZWQgPSAnXi0/WzAtOV0rKC5bMC05XSspPyQnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21pbnVzU2lnbjogc3RyaW5nID0gJy0nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX2NvbnRyb2w6IE5nQ29udHJvbCkge1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSkgb25DaGFuZ2UoZTogYW55KSB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncGFzdGUnLCBbJyRldmVudCddKSBvblBhc3RlKGU6IGFueSkge1xuICAgIGlmICh0aGlzLnRldGFPbmx5TnVtYmVyID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUoZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKSk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uOiBudW1iZXIgPVxuICAgICAgKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnNlbGVjdGlvblN0YXJ0ID8/IDA7XG4gICAgY29uc3Qgb3JpZ2luYWxWYWx1ZTogc3RyaW5nID0gKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIGNvbnN0IGNvbnRyb2xPckNvbW1hbmQgPSBlLmN0cmxLZXkgPT09IHRydWUgfHwgZS5tZXRhS2V5ID09PSB0cnVlO1xuICAgIGNvbnN0IHNpZ25FeGlzdHMgPSBvcmlnaW5hbFZhbHVlLmluY2x1ZGVzKCctJyk7XG4gICAgY29uc3Qgc2VwYXJhdG9yRXhpc3RzID1cbiAgICAgIG9yaWdpbmFsVmFsdWUuaW5jbHVkZXModGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB8fFxuICAgICAgb3JpZ2luYWxWYWx1ZS5pbmNsdWRlcyh0aGlzLmNvbW1hU2VwYXJhdG9yKTtcblxuICAgIGNvbnN0IGFsbG93ZWRLZXlzID0gW1xuICAgICAgJ0JhY2tzcGFjZScsXG4gICAgICAnQXJyb3dMZWZ0JyxcbiAgICAgICdBcnJvd1JpZ2h0JyxcbiAgICAgICdEZWxldGUnLFxuICAgICAgJ0VzY2FwZScsXG4gICAgICAnVGFiJyxcbiAgICAgICdIb21lJyxcbiAgICAgICdFbmQnLFxuICAgIF07XG5cbiAgICBjb25zdCBzZXBhcmF0b3JJc0Nsb3NlVG9TaWduID0gc2lnbkV4aXN0cyAmJiBjdXJzb3JQb3NpdGlvbiA8PSAxO1xuICAgIGlmICh0aGlzLmFsbG93RGVjaW1hbHMgJiYgIXNlcGFyYXRvcklzQ2xvc2VUb1NpZ24gJiYgIXNlcGFyYXRvckV4aXN0cykge1xuICAgICAgLy8gaWYgKHRoaXMuZGVjaW1hbFNlcGFyYXRvciA9PT0gJy4nKSB7XG4gICAgICBhbGxvd2VkS2V5cy5wdXNoKCcuJyk7XG4gICAgICAvLyB9IGVsc2Uge1xuICAgICAgLy8gYWxsb3dlZEtleXMucHVzaCgnLCcpO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0Q2hhcmFjdGVySXNTZXBhcmF0b3IgPVxuICAgICAgb3JpZ2luYWxWYWx1ZS5jaGFyQXQoMCkgIT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvcjtcbiAgICBpZiAoXG4gICAgICB0aGlzLmFsbG93U2lnbiAmJlxuICAgICAgIXNpZ25FeGlzdHMgJiZcbiAgICAgIGZpcnN0Q2hhcmFjdGVySXNTZXBhcmF0b3IgJiZcbiAgICAgIGN1cnNvclBvc2l0aW9uID09PSAwXG4gICAgKSB7XG4gICAgICBhbGxvd2VkS2V5cy5wdXNoKCctJyk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgYWxsb3dlZEtleXMuaW5kZXhPZihlLmtleSkgIT09IC0xIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5QScgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlDJyAmJiBjb250cm9sT3JDb21tYW5kKSB8fFxuICAgICAgKGUuY29kZSA9PT0gJ0tleVYnICYmIGNvbnRyb2xPckNvbW1hbmQpIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5WicgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlYJyAmJiBjb250cm9sT3JDb21tYW5kKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9wcmV2aW91c1ZhbHVlID0gb3JpZ2luYWxWYWx1ZTtcblxuICAgIGNvbnN0IGlzTnVtYmVyID0gbmV3IFJlZ0V4cCh0aGlzLl9pbnRlZ2VyVW5zaWduZWQpLnRlc3QoZS5rZXkpO1xuICAgIGlmIChpc051bWJlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZS5rZXkgPT09ICcsJyAmJiBvcmlnaW5hbFZhbHVlLmluZGV4T2YoJy4nKSA8IDApIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gb3JpZ2luYWxWYWx1ZSArICcuJztcbiAgICAgIH1cbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKCcsJywgJy4nKS50cmltKCk7XG4gICAgbGV0IHJlZ2V4OiBzdHJpbmcgPSB0aGlzLl9pbnRlZ2VyVW5zaWduZWQ7XG4gICAgaWYgKCF0aGlzLmFsbG93RGVjaW1hbHMgJiYgIXRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2ludGVnZXJVbnNpZ25lZDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmFsbG93RGVjaW1hbHMgJiYgdGhpcy5hbGxvd1NpZ24pIHtcbiAgICAgIHJlZ2V4ID0gdGhpcy5faW50ZWdlclNpZ25lZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWxsb3dEZWNpbWFscyAmJiAhdGhpcy5hbGxvd1NpZ24pIHtcbiAgICAgIHJlZ2V4ID0gdGhpcy5fZGVjaW1hbFVuc2lnbmVkO1xuICAgIH1cbiAgICBpZiAodGhpcy5hbGxvd0RlY2ltYWxzICYmIHRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2RlY2ltYWxTaWduZWQ7XG4gICAgfVxuXG4gICAgbGV0IGZpcnN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KDApO1xuICAgIGlmIChmaXJzdENoYXJhY3RlciA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICB2YWx1ZSA9IDAgKyB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KHZhbHVlLmxlbmd0aCAtIDEpO1xuICAgIGlmIChsYXN0Q2hhcmFjdGVyID09PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUgKyAwO1xuICAgIH1cblxuICAgIGxldCBzaWduZWRWYWx1ZSA9IGZhbHNlO1xuICAgIGlmIChmaXJzdENoYXJhY3RlciA9PT0gdGhpcy5fbWludXNTaWduKSB7XG4gICAgICBzaWduZWRWYWx1ZSA9IHRydWU7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnN1YnN0cmluZygxKTtcbiAgICAgIGZpcnN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KDApO1xuICAgIH1cbiAgICBsZXQgc2Vjb25kQ2hhciA9IHZhbHVlLmNoYXJBdCgxKTtcbiAgICB3aGlsZSAoXG4gICAgICBmaXJzdENoYXJhY3RlciA9PT0gJzAnICYmXG4gICAgICBzZWNvbmRDaGFyICE9PSAnJyAmJlxuICAgICAgc2Vjb25kQ2hhciAhPT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yXG4gICAgICApIHtcbiAgICAgIHZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDEpO1xuICAgICAgZmlyc3RDaGFyYWN0ZXIgPSB2YWx1ZS5jaGFyQXQoMCk7XG4gICAgICBzZWNvbmRDaGFyID0gdmFsdWUuY2hhckF0KDEpO1xuICAgIH1cbiAgICBpZiAoc2lnbmVkVmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5fbWludXNTaWduICsgdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWVQYXJ0cyA9IHZhbHVlLnNwbGl0KHRoaXMuZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgY29uc3QgbmF0dXJhbFBhcnQgPSB2YWx1ZVBhcnRzPy5bMF07XG4gICAgbGV0IGRlY2ltYWxQYXJ0ID0gdmFsdWVQYXJ0cz8uWzFdO1xuXG4gICAgaWYgKGRlY2ltYWxQYXJ0ICE9IG51bGwgJiYgL14wKyQvLnRlc3QoZGVjaW1hbFBhcnQpKSB7XG4gICAgICBkZWNpbWFsUGFydCA9ICcwJztcbiAgICAgIHZhbHVlID0gbmF0dXJhbFBhcnQgKyAnLicgKyBkZWNpbWFsUGFydDtcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSAnLTAnKSB7XG4gICAgICB2YWx1ZSA9ICcwJztcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSAnLTAuMCcpIHtcbiAgICAgIHZhbHVlID0gJzAuMCc7XG4gICAgfVxuICAgIGNvbnN0IHZhbGlkOiBib29sZWFuID0gbmV3IFJlZ0V4cChyZWdleCkudGVzdCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICBjb25zb2xlLmxvZyh2YWx1ZSwgdmFsaWQpO1xuICAgIHRoaXMuX2NvbnRyb2wuY29udHJvbC5zZXRWYWx1ZSh2YWxpZCA/IHZhbHVlIDogdGhpcy5fcHJldmlvdXNWYWx1ZSA/PyAwKTtcbiAgfVxufVxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25seS1udW1iZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvZGlyZWN0aXZlL29ubHktbnVtYmVyL29ubHktbnVtYmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQU16RSxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QixZQUFvQixXQUF1QixFQUFVLFFBQW1CO1FBQXBELGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWYvRCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLHFCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUN2QixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUV0QixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixxQkFBZ0IsR0FBRyxVQUFVLENBQUM7UUFDOUIsbUJBQWMsR0FBRyxZQUFZLENBQUM7UUFDOUIscUJBQWdCLEdBQUcsb0JBQW9CLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxzQkFBc0IsQ0FBQztRQUUvQixlQUFVLEdBQVcsR0FBRyxDQUFDO0lBRzFDLENBQUM7SUFFbUMsUUFBUSxDQUFDLENBQU07UUFDakQsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssRUFBRTtZQUNqQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFa0MsT0FBTyxDQUFDLENBQU07UUFDL0MsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssRUFBRTtZQUNqQyxPQUFPO1NB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QUM7U0FDekM7UUFDRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUNiO1FBQ0QsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1lBQ3BCLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDZjtRQUNELE1BQU0sS0FBSyxHQUFZLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7Z0hBdEtVLG1CQUFtQjtvR0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7eUhBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBYzhCLFFBQVE7c0JBQTNDLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9DLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFJLFNBQVM7c0JBQTdDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RldGFPbmx5TnVtYmVyXScsXG59KVxuZXhwb3J0IGNsYXNzIE9ubHlOdW1iZXJEaXJlY3RpdmUge1xuICBASW5wdXQoKSB0ZXRhT25seU51bWJlciA9IHRydWU7XG4gIEBJbnB1dCgpIGFsbG93RGVjaW1hbHMgPSB0cnVlO1xuICBASW5wdXQoKSBhbGxvd1NpZ24gPSB0cnVlO1xuICBASW5wdXQoKSBkZWNpbWFsU2VwYXJhdG9yID0gJy4nO1xuICBASW5wdXQoKSBjb21tYVNlcGFyYXRvciA9ICcsJztcblxuICBwcml2YXRlIF9wcmV2aW91c1ZhbHVlID0gJyc7XG5cbiAgcHJpdmF0ZSBfaW50ZWdlclVuc2lnbmVkID0gJ15bMC05XSokJztcbiAgcHJpdmF0ZSBfaW50ZWdlclNpZ25lZCA9ICdeLT9bMC05XSskJztcbiAgcHJpdmF0ZSBfZGVjaW1hbFVuc2lnbmVkID0gJ15bMC05XSsoLlswLTldKyk/JCc7XG4gIHByaXZhdGUgX2RlY2ltYWxTaWduZWQgPSAnXi0/WzAtOV0rKC5bMC05XSspPyQnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21pbnVzU2lnbjogc3RyaW5nID0gJy0nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX2NvbnRyb2w6IE5nQ29udHJvbCkge1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSkgb25DaGFuZ2UoZTogYW55KSB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVWYWx1ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncGFzdGUnLCBbJyRldmVudCddKSBvblBhc3RlKGU6IGFueSkge1xuICAgIGlmICh0aGlzLnRldGFPbmx5TnVtYmVyID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUoZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKSk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMudGV0YU9ubHlOdW1iZXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uOiBudW1iZXIgPVxuICAgICAgKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnNlbGVjdGlvblN0YXJ0ID8/IDA7XG4gICAgY29uc3Qgb3JpZ2luYWxWYWx1ZTogc3RyaW5nID0gKGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIGNvbnN0IGNvbnRyb2xPckNvbW1hbmQgPSBlLmN0cmxLZXkgPT09IHRydWUgfHwgZS5tZXRhS2V5ID09PSB0cnVlO1xuICAgIGNvbnN0IHNpZ25FeGlzdHMgPSBvcmlnaW5hbFZhbHVlLmluY2x1ZGVzKCctJyk7XG4gICAgY29uc3Qgc2VwYXJhdG9yRXhpc3RzID1cbiAgICAgIG9yaWdpbmFsVmFsdWUuaW5jbHVkZXModGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB8fFxuICAgICAgb3JpZ2luYWxWYWx1ZS5pbmNsdWRlcyh0aGlzLmNvbW1hU2VwYXJhdG9yKTtcblxuICAgIGNvbnN0IGFsbG93ZWRLZXlzID0gW1xuICAgICAgJ0JhY2tzcGFjZScsXG4gICAgICAnQXJyb3dMZWZ0JyxcbiAgICAgICdBcnJvd1JpZ2h0JyxcbiAgICAgICdEZWxldGUnLFxuICAgICAgJ0VzY2FwZScsXG4gICAgICAnVGFiJyxcbiAgICAgICdIb21lJyxcbiAgICAgICdFbmQnLFxuICAgIF07XG5cbiAgICBjb25zdCBzZXBhcmF0b3JJc0Nsb3NlVG9TaWduID0gc2lnbkV4aXN0cyAmJiBjdXJzb3JQb3NpdGlvbiA8PSAxO1xuICAgIGlmICh0aGlzLmFsbG93RGVjaW1hbHMgJiYgIXNlcGFyYXRvcklzQ2xvc2VUb1NpZ24gJiYgIXNlcGFyYXRvckV4aXN0cykge1xuICAgICAgLy8gaWYgKHRoaXMuZGVjaW1hbFNlcGFyYXRvciA9PT0gJy4nKSB7XG4gICAgICBhbGxvd2VkS2V5cy5wdXNoKCcuJyk7XG4gICAgICAvLyB9IGVsc2Uge1xuICAgICAgLy8gYWxsb3dlZEtleXMucHVzaCgnLCcpO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0Q2hhcmFjdGVySXNTZXBhcmF0b3IgPVxuICAgICAgb3JpZ2luYWxWYWx1ZS5jaGFyQXQoMCkgIT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvcjtcbiAgICBpZiAoXG4gICAgICB0aGlzLmFsbG93U2lnbiAmJlxuICAgICAgIXNpZ25FeGlzdHMgJiZcbiAgICAgIGZpcnN0Q2hhcmFjdGVySXNTZXBhcmF0b3IgJiZcbiAgICAgIGN1cnNvclBvc2l0aW9uID09PSAwXG4gICAgKSB7XG4gICAgICBhbGxvd2VkS2V5cy5wdXNoKCctJyk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgYWxsb3dlZEtleXMuaW5kZXhPZihlLmtleSkgIT09IC0xIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5QScgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlDJyAmJiBjb250cm9sT3JDb21tYW5kKSB8fFxuICAgICAgKGUuY29kZSA9PT0gJ0tleVYnICYmIGNvbnRyb2xPckNvbW1hbmQpIHx8XG4gICAgICAoZS5jb2RlID09PSAnS2V5WicgJiYgY29udHJvbE9yQ29tbWFuZCkgfHxcbiAgICAgIChlLmNvZGUgPT09ICdLZXlYJyAmJiBjb250cm9sT3JDb21tYW5kKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9wcmV2aW91c1ZhbHVlID0gb3JpZ2luYWxWYWx1ZTtcblxuICAgIGNvbnN0IGlzTnVtYmVyID0gbmV3IFJlZ0V4cCh0aGlzLl9pbnRlZ2VyVW5zaWduZWQpLnRlc3QoZS5rZXkpO1xuICAgIGlmIChpc051bWJlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZS5rZXkgPT09ICcsJyAmJiBvcmlnaW5hbFZhbHVlLmluZGV4T2YoJy4nKSA8IDApIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gb3JpZ2luYWxWYWx1ZSArICcuJztcbiAgICAgIH1cbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50ZXRhT25seU51bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKCcsJywgJy4nKS50cmltKCk7XG4gICAgbGV0IHJlZ2V4OiBzdHJpbmcgPSB0aGlzLl9pbnRlZ2VyVW5zaWduZWQ7XG4gICAgaWYgKCF0aGlzLmFsbG93RGVjaW1hbHMgJiYgIXRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2ludGVnZXJVbnNpZ25lZDtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmFsbG93RGVjaW1hbHMgJiYgdGhpcy5hbGxvd1NpZ24pIHtcbiAgICAgIHJlZ2V4ID0gdGhpcy5faW50ZWdlclNpZ25lZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWxsb3dEZWNpbWFscyAmJiAhdGhpcy5hbGxvd1NpZ24pIHtcbiAgICAgIHJlZ2V4ID0gdGhpcy5fZGVjaW1hbFVuc2lnbmVkO1xuICAgIH1cbiAgICBpZiAodGhpcy5hbGxvd0RlY2ltYWxzICYmIHRoaXMuYWxsb3dTaWduKSB7XG4gICAgICByZWdleCA9IHRoaXMuX2RlY2ltYWxTaWduZWQ7XG4gICAgfVxuXG4gICAgbGV0IGZpcnN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KDApO1xuICAgIGlmIChmaXJzdENoYXJhY3RlciA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB7XG4gICAgICB2YWx1ZSA9IDAgKyB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KHZhbHVlLmxlbmd0aCAtIDEpO1xuICAgIGlmIChsYXN0Q2hhcmFjdGVyID09PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUgKyAwO1xuICAgIH1cblxuICAgIGxldCBzaWduZWRWYWx1ZSA9IGZhbHNlO1xuICAgIGlmIChmaXJzdENoYXJhY3RlciA9PT0gdGhpcy5fbWludXNTaWduKSB7XG4gICAgICBzaWduZWRWYWx1ZSA9IHRydWU7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnN1YnN0cmluZygxKTtcbiAgICAgIGZpcnN0Q2hhcmFjdGVyID0gdmFsdWUuY2hhckF0KDApO1xuICAgIH1cbiAgICBsZXQgc2Vjb25kQ2hhciA9IHZhbHVlLmNoYXJBdCgxKTtcbiAgICB3aGlsZSAoXG4gICAgICBmaXJzdENoYXJhY3RlciA9PT0gJzAnICYmXG4gICAgICBzZWNvbmRDaGFyICE9PSAnJyAmJlxuICAgICAgc2Vjb25kQ2hhciAhPT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yXG4gICAgICApIHtcbiAgICAgIHZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDEpO1xuICAgICAgZmlyc3RDaGFyYWN0ZXIgPSB2YWx1ZS5jaGFyQXQoMCk7XG4gICAgICBzZWNvbmRDaGFyID0gdmFsdWUuY2hhckF0KDEpO1xuICAgIH1cbiAgICBpZiAoc2lnbmVkVmFsdWUgPT09IHRydWUpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5fbWludXNTaWduICsgdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWVQYXJ0cyA9IHZhbHVlLnNwbGl0KHRoaXMuZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgY29uc3QgbmF0dXJhbFBhcnQgPSB2YWx1ZVBhcnRzPy5bMF07XG4gICAgbGV0IGRlY2ltYWxQYXJ0ID0gdmFsdWVQYXJ0cz8uWzFdO1xuXG4gICAgaWYgKGRlY2ltYWxQYXJ0ICE9IG51bGwgJiYgL14wKyQvLnRlc3QoZGVjaW1hbFBhcnQpKSB7XG4gICAgICBkZWNpbWFsUGFydCA9ICcwJztcbiAgICAgIHZhbHVlID0gbmF0dXJhbFBhcnQgKyAnLicgKyBkZWNpbWFsUGFydDtcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSAnLTAnKSB7XG4gICAgICB2YWx1ZSA9ICcwJztcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSAnLTAuMCcpIHtcbiAgICAgIHZhbHVlID0gJzAuMCc7XG4gICAgfVxuICAgIGNvbnN0IHZhbGlkOiBib29sZWFuID0gbmV3IFJlZ0V4cChyZWdleCkudGVzdCh2YWx1ZS50b1N0cmluZygpKTtcbiAgICB0aGlzLl9jb250cm9sLmNvbnRyb2wuc2V0VmFsdWUodmFsaWQgPyB2YWx1ZSA6IHRoaXMuX3ByZXZpb3VzVmFsdWUgPz8gMCk7XG4gIH1cbn1cbiJdfQ==
@@ -2693,7 +2693,6 @@ class OnlyNumberDirective {
2693
2693
  value = '0.0';
2694
2694
  }
2695
2695
  const valid = new RegExp(regex).test(value.toString());
2696
- console.log(value, valid);
2697
2696
  this._control.control.setValue(valid ? value : (_a = this._previousValue) !== null && _a !== void 0 ? _a : 0);
2698
2697
  }
2699
2698
  }
@@ -3555,6 +3554,7 @@ class TextFieldComponent {
3555
3554
  this.placeholder = '';
3556
3555
  this.disabled = false;
3557
3556
  this.onlyNumber = false;
3557
+ this.tabindex = 0;
3558
3558
  this.textField = true;
3559
3559
  this.value = '';
3560
3560
  }
@@ -3566,6 +3566,9 @@ class TextFieldComponent {
3566
3566
  this.input.nativeElement.blur();
3567
3567
  }
3568
3568
  }
3569
+ emitBlur() {
3570
+ this.onTouched();
3571
+ }
3569
3572
  registerOnChange(fn) {
3570
3573
  this.onChange = fn;
3571
3574
  }
@@ -3580,17 +3583,19 @@ class TextFieldComponent {
3580
3583
  this.value = input;
3581
3584
  this._cdr.detectChanges();
3582
3585
  }
3583
- onChange(input) { }
3584
- onTouched(input) { }
3586
+ onChange(input) {
3587
+ }
3588
+ onTouched() {
3589
+ }
3585
3590
  }
3586
3591
  TextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TextFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3587
- TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TextFieldComponent, selector: "teta-text-field", inputs: { placeholder: "placeholder", leftIconName: "leftIconName", disabled: "disabled", onlyNumber: "onlyNumber", invalid: "invalid" }, host: { listeners: { "click": "onFocus()" }, properties: { "class.text-field_disabled": "this.disabled", "class.text-field_invalid": "this.invalid", "class.text-field": "this.textField" } }, providers: [
3592
+ TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TextFieldComponent, selector: "teta-text-field", inputs: { placeholder: "placeholder", leftIconName: "leftIconName", disabled: "disabled", onlyNumber: "onlyNumber", invalid: "invalid" }, host: { listeners: { "click": "onFocus()" }, properties: { "class.text-field_disabled": "this.disabled", "class.text-field_invalid": "this.invalid", "attr.tabindex": "this.tabindex", "class.text-field": "this.textField" } }, providers: [
3588
3593
  {
3589
3594
  provide: NG_VALUE_ACCESSOR,
3590
3595
  useExisting: forwardRef(() => TextFieldComponent),
3591
3596
  multi: true,
3592
3597
  },
3593
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3598
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""], components: [{ type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3594
3599
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TextFieldComponent, decorators: [{
3595
3600
  type: Component,
3596
3601
  args: [{ selector: 'teta-text-field', providers: [
@@ -3599,7 +3604,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
3599
3604
  useExisting: forwardRef(() => TextFieldComponent),
3600
3605
  multi: true,
3601
3606
  },
3602
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""] }]
3607
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon *ngIf=\"leftIconName\" [name]=\"leftIconName\"></teta-icon>\n<input\n #input\n [ngModel]=\"value\"\n [tetaOnlyNumber]=\"onlyNumber\"\n (ngModelChange)=\"value = $event; onChange($event);\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (blur)=\"emitBlur()\"\n (keydown)=\"keyPress($event)\"\n autocomplete=\"off\"\n type=\"text\"\n/>\n<teta-icon\n *ngIf=\"value && !disabled\"\n class=\"close-icon\"\n [name]=\"'closeCircle'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""] }]
3603
3608
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { placeholder: [{
3604
3609
  type: Input
3605
3610
  }], leftIconName: [{
@@ -3619,6 +3624,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
3619
3624
  }], input: [{
3620
3625
  type: ViewChild,
3621
3626
  args: ['input', { static: false }]
3627
+ }], tabindex: [{
3628
+ type: HostBinding,
3629
+ args: ['attr.tabindex']
3622
3630
  }], textField: [{
3623
3631
  type: HostBinding,
3624
3632
  args: ['class.text-field']