@recursyve/nice-ui-kit.v2 16.0.0-beta.140 → 16.0.0-beta.142

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.
@@ -14,6 +14,64 @@ export class NiceControlStatusDirective {
14
14
  this.formField = formField;
15
15
  this.translateService = translateService;
16
16
  this.unsubscribeAll$ = new Subject();
17
+ this.onChange = () => {
18
+ if (this.control.pending) {
19
+ return;
20
+ }
21
+ if (this.control.invalid && this.control.touched) {
22
+ for (const error in this.control.errors) {
23
+ if (this.control.errors.hasOwnProperty(error)) {
24
+ if (this.control.errors[error]) {
25
+ let lastErrorKey = error;
26
+ let param;
27
+ if (error === "pattern") {
28
+ lastErrorKey = this.control.errors[error].requiredPattern;
29
+ }
30
+ if (error === "mask") {
31
+ lastErrorKey = this.control.errors[error].requiredMask;
32
+ }
33
+ if (error === "minlength" || error === "maxlength") {
34
+ param = {
35
+ value: this.control.errors[error].requiredLength
36
+ };
37
+ }
38
+ if (error === "min") {
39
+ param = {
40
+ min: this.control.errors[error].min,
41
+ actual: this.control.errors[error].actual
42
+ };
43
+ }
44
+ if (error === "max") {
45
+ param = {
46
+ max: this.control.errors[error].max,
47
+ actual: this.control.errors[error].actual
48
+ };
49
+ }
50
+ if (error === "arrayMinLength") {
51
+ param = {
52
+ min: this.control.errors[error].min,
53
+ actual: this.control.errors[error].actual
54
+ };
55
+ }
56
+ if (error === "arrayMaxLength") {
57
+ param = {
58
+ max: this.control.errors[error].max,
59
+ actual: this.control.errors[error].actual
60
+ };
61
+ }
62
+ if (typeof this.control.errors[error] === "object" && !param) {
63
+ param = this.control.errors[error];
64
+ }
65
+ this.setError(this.translateService.instant(`errors.${lastErrorKey}`, param));
66
+ break;
67
+ }
68
+ }
69
+ }
70
+ }
71
+ else {
72
+ this.setError("");
73
+ }
74
+ };
17
75
  }
18
76
  ngAfterViewInit() {
19
77
  this.control = this.formField._control.ngControl;
@@ -25,64 +83,6 @@ export class NiceControlStatusDirective {
25
83
  this.unsubscribeAll$.next();
26
84
  this.unsubscribeAll$.complete();
27
85
  }
28
- onChange() {
29
- if (this.control.pending) {
30
- return;
31
- }
32
- if (this.control.invalid && this.control.touched) {
33
- for (const error in this.control.errors) {
34
- if (this.control.errors.hasOwnProperty(error)) {
35
- if (this.control.errors[error]) {
36
- let lastErrorKey = error;
37
- let param;
38
- if (error === "pattern") {
39
- lastErrorKey = this.control.errors[error].requiredPattern;
40
- }
41
- if (error === "mask") {
42
- lastErrorKey = this.control.errors[error].requiredMask;
43
- }
44
- if (error === "minlength" || error === "maxlength") {
45
- param = {
46
- value: this.control.errors[error].requiredLength
47
- };
48
- }
49
- if (error === "min") {
50
- param = {
51
- min: this.control.errors[error].min,
52
- actual: this.control.errors[error].actual
53
- };
54
- }
55
- if (error === "max") {
56
- param = {
57
- max: this.control.errors[error].max,
58
- actual: this.control.errors[error].actual
59
- };
60
- }
61
- if (error === "arrayMinLength") {
62
- param = {
63
- min: this.control.errors[error].min,
64
- actual: this.control.errors[error].actual
65
- };
66
- }
67
- if (error === "arrayMaxLength") {
68
- param = {
69
- max: this.control.errors[error].max,
70
- actual: this.control.errors[error].actual
71
- };
72
- }
73
- if (typeof this.control.errors[error] === "object" && !param) {
74
- param = this.control.errors[error];
75
- }
76
- this.setError(this.translateService.instant(`errors.${lastErrorKey}`, param));
77
- break;
78
- }
79
- }
80
- }
81
- }
82
- else {
83
- this.setError("");
84
- }
85
- }
86
86
  setError(text) {
87
87
  if (!this.ref) {
88
88
  this.ref = this.vcr.createComponent(NiceFormErrorComponent);
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
122
122
  type: Directive,
123
123
  args: [{ selector: "[niceControlStatus]" }]
124
124
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1.MatFormField }, { type: i2.TranslateService }]; } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1zdGF0dXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvY29udHJvbC1zdGF0dXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsU0FBUyxFQUFFLFVBQVUsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRzNDLE1BQU0sT0FBTywwQkFBMEI7SUFNbkMsWUFDWSxFQUEyQixFQUMzQixHQUFxQixFQUNyQixTQUF1QixFQUN2QixnQkFBa0M7UUFIbEMsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBTnRDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU8zQyxDQUFDO0lBRUcsZUFBZTtRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQXNCLENBQUM7UUFDOUQsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFD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SW5pdCwgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IHRoIH0gZnJvbSBcImRhdGUtZm5zL2xvY2FsZVwiO1xuaW1wb3J0IHsgTmljZUZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gXCIuL2Zvcm0tZXJyb3IuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6IFwiW25pY2VDb250cm9sU3RhdHVzXVwiIH0pXG5leHBvcnQgY2xhc3MgTmljZUNvbnRyb2xTdGF0dXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVmOiBDb21wb25lbnRSZWY8TmljZUZvcm1FcnJvckNvbXBvbmVudD47XG4gICAgcHJpdmF0ZSBjb250cm9sOiBOZ0NvbnRyb2w7XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlQWxsJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgdmNyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGZvcm1GaWVsZDogTWF0Rm9ybUZpZWxkLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmZvcm1GaWVsZC5fY29udHJvbC5uZ0NvbnRyb2wgYXMgTmdDb250cm9sO1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmZvcm1GaWVsZC5fY29udHJvbC5zdGF0ZUNoYW5nZXMsIHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzXSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25DaGFuZ2UoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLnBlbmRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBlcnJvciBpbiB0aGlzLmNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5lcnJvcnMuaGFzT3duUHJvcGVydHkoZXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhc3RFcnJvcktleSA9IGVycm9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmFtOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPT09IFwicGF0dGVyblwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEVycm9yS2V5ID0gdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ucmVxdWlyZWRQYXR0ZXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yID09PSBcIm1hc2tcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RFcnJvcktleSA9IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLnJlcXVpcmVkTWFzaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA9PT0gXCJtaW5sZW5ndGhcIiB8fCBlcnJvciA9PT0gXCJtYXhsZW5ndGhcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ucmVxdWlyZWRMZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ubWluLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLmFjdHVhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPT09IFwibWF4XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4OiB0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXS5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0uYWN0dWFsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA9PT0gXCJhcnJheU1pbkxlbmd0aFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ubWluLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLmFjdHVhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPT09IFwiYXJyYXlNYXhMZW5ndGhcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXg6IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLm1heCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXS5hY3R1YWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdID09PSBcIm9iamVjdFwiICYmICFwYXJhbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID0gdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RXJyb3IodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGVycm9ycy4ke2xhc3RFcnJvcktleX1gLCBwYXJhbSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldEVycm9yKFwiXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldEVycm9yKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmVmKSB7XG4gICAgICAgICAgICB0aGlzLnJlZiA9IHRoaXMudmNyLmNyZWF0ZUNvbXBvbmVudChOaWNlRm9ybUVycm9yQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJcIikuaXRlbSgwKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJcIilcbiAgICAgICAgICAgICAgICAgICAgLml0ZW0oMClcbiAgICAgICAgICAgICAgICAgICAgLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJtYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlclwiKVxuICAgICAgICAgICAgICAgICAgICAuaXRlbSgwKVxuICAgICAgICAgICAgICAgICAgICAuYXBwZW5kQ2hpbGQodGhpcy5yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1hdC1tZGMtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlclwiKS5pdGVtKDApKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGludCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwibWF0LW1kYy1mb3JtLWZpZWxkLWhpbnRcIikuaXRlbSgwKTtcbiAgICAgICAgICAgICAgICAodGhpcy5yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCBhcyBIVE1MRGl2RWxlbWVudCkuc3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCI7XG4gICAgICAgICAgICAgICAgKHRoaXMucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLnRvcCA9IGhpbnQgPyBcIjE2cHhcIiA6IFwiMFwiO1xuXG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcHBlciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1hdC1tZGMtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlclwiKVxuICAgICAgICAgICAgICAgICAgICAuaXRlbSgwKTtcbiAgICAgICAgICAgICAgICBpZiAoaGludCkge1xuICAgICAgICAgICAgICAgICAgICB3cmFwcGVyLmNsYXNzTGlzdC5hZGQoXCJvdmVycmlkZS1oZWlnaHRcIik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgd3JhcHBlci5wcmVwZW5kKHRoaXMucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImZvcm0tZXJyb3Itc2hvd1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwiZm9ybS1lcnJvci1zaG93XCIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVmLmluc3RhbmNlLmVycm9yID0gdGV4dDtcbiAgICB9XG59XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1zdGF0dXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvY29udHJvbC1zdGF0dXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsU0FBUyxFQUFFLFVBQVUsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRzNDLE1BQU0sT0FBTywwQkFBMEI7SUFtRW5DLFlBQ1ksRUFBMkIsRUFDM0IsR0FBcUIsRUFDckIsU0FBdUIsRUFDdkIsZ0JBQWtDO1FBSGxDLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQW5FdEMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXZDLGFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDdEIsT0FBTzthQUNWO1lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDOUMsS0FBSyxNQUFNLEtBQUss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b250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyB0aCB9IGZyb20gXCJkYXRlLWZucy9sb2NhbGVcIjtcbmltcG9ydCB7IE5pY2VGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tIFwiLi9mb3JtLWVycm9yLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBcIltuaWNlQ29udHJvbFN0YXR1c11cIiB9KVxuZXhwb3J0IGNsYXNzIE5pY2VDb250cm9sU3RhdHVzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlZjogQ29tcG9uZW50UmVmPE5pY2VGb3JtRXJyb3JDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sO1xuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHVibGljIG9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLnBlbmRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBlcnJvciBpbiB0aGlzLmNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5lcnJvcnMuaGFzT3duUHJvcGVydHkoZXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhc3RFcnJvcktleSA9IGVycm9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmFtOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPT09IFwicGF0dGVyblwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdEVycm9yS2V5ID0gdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ucmVxdWlyZWRQYXR0ZXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yID09PSBcIm1hc2tcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RFcnJvcktleSA9IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLnJlcXVpcmVkTWFzaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA9PT0gXCJtaW5sZW5ndGhcIiB8fCBlcnJvciA9PT0gXCJtYXhsZW5ndGhcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ucmVxdWlyZWRMZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ubWluLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLmFjdHVhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPT09IFwibWF4XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4OiB0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXS5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0uYWN0dWFsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciA9PT0gXCJhcnJheU1pbkxlbmd0aFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl0ubWluLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLmFjdHVhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgPT09IFwiYXJyYXlNYXhMZW5ndGhcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXg6IHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdLm1heCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB0aGlzLmNvbnRyb2wuZXJyb3JzW2Vycm9yXS5hY3R1YWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udHJvbC5lcnJvcnNbZXJyb3JdID09PSBcIm9iamVjdFwiICYmICFwYXJhbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtID0gdGhpcy5jb250cm9sLmVycm9yc1tlcnJvcl07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RXJyb3IodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGVycm9ycy4ke2xhc3RFcnJvcktleX1gLCBwYXJhbSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldEVycm9yKFwiXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBmb3JtRmllbGQ6IE1hdEZvcm1GaWVsZCxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5mb3JtRmllbGQuX2NvbnRyb2wubmdDb250cm9sIGFzIE5nQ29udHJvbDtcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5mb3JtRmllbGQuX2NvbnRyb2wuc3RhdGVDaGFuZ2VzLCB0aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlc10pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2hhbmdlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRFcnJvcih0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlZikge1xuICAgICAgICAgICAgdGhpcy5yZWYgPSB0aGlzLnZjci5jcmVhdGVDb21wb25lbnQoTmljZUZvcm1FcnJvckNvbXBvbmVudCk7XG4gICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJtYXQtZm9ybS1maWVsZC13cmFwcGVyXCIpLml0ZW0oMCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJtYXQtZm9ybS1maWVsZC13cmFwcGVyXCIpXG4gICAgICAgICAgICAgICAgICAgIC5pdGVtKDApXG4gICAgICAgICAgICAgICAgICAgIC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwibWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJcIilcbiAgICAgICAgICAgICAgICAgICAgLml0ZW0oMClcbiAgICAgICAgICAgICAgICAgICAgLmFwcGVuZENoaWxkKHRoaXMucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJtYXQtbWRjLWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJcIikuaXRlbSgwKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhpbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcIm1hdC1tZGMtZm9ybS1maWVsZC1oaW50XCIpLml0ZW0oMCk7XG4gICAgICAgICAgICAgICAgKHRoaXMucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQpLnN0eWxlLnBvc2l0aW9uID0gXCJhYnNvbHV0ZVwiO1xuICAgICAgICAgICAgICAgICh0aGlzLnJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50KS5zdHlsZS50b3AgPSBoaW50ID8gXCIxNnB4XCIgOiBcIjBcIjtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJtYXQtbWRjLWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJcIilcbiAgICAgICAgICAgICAgICAgICAgLml0ZW0oMCk7XG4gICAgICAgICAgICAgICAgaWYgKGhpbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgd3JhcHBlci5jbGFzc0xpc3QuYWRkKFwib3ZlcnJpZGUtaGVpZ2h0XCIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHdyYXBwZXIucHJlcGVuZCh0aGlzLnJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGV4dCkge1xuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJmb3JtLWVycm9yLXNob3dcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcImZvcm0tZXJyb3Itc2hvd1wiKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlZi5pbnN0YW5jZS5lcnJvciA9IHRleHQ7XG4gICAgfVxufVxuIl19
@@ -17,7 +17,7 @@ export class TranslationFormComponent {
17
17
  };
18
18
  }
19
19
  get shouldLabelFloat() {
20
- return this.floating || !this.empty;
20
+ return this.floating || !this.empty || this.focused;
21
21
  }
22
22
  set required(req) {
23
23
  this._required = coerceBooleanProperty(req);
@@ -169,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
169
169
  type: HostBinding,
170
170
  args: ["attr.aria-describedby"]
171
171
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvdHJhbnNsYXRpb24tZm9ybS9jb21wb25lbnRzL3RyYW5zbGF0aW9uLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUdSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFSCxnQkFBZ0IsRUFFaEIsV0FBVyxFQUdYLFVBQVUsR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQU14RixNQUFNLE9BQWdCLHdCQUF3QjtJQU8xQyxJQUNXLFNBQVM7UUFDaEIsT0FBTztZQUNILFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFDVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFDVyxRQUFRLENBQUMsR0FBRztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElB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LE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQzs4R0FwTWlCLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG9WQUhoQyxFQUFFOzsyRkFHTSx3QkFBd0I7a0JBSjdDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzBOQVNjLFNBQVM7c0JBRG5CLFdBQVc7dUJBQUMsT0FBTztnQkFRVCxnQkFBZ0I7c0JBRDFCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU1sQixRQUFRO3NCQURsQixLQUFLO2dCQWVLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBYUssV0FBVztzQkFEckIsS0FBSztnQkFnREMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxFQUFFO3NCQURSLFdBQVc7Z0JBSUwsV0FBVztzQkFEakIsV0FBVzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvZXJjaW9uXCI7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUsXG4gICAgQ29udHJvbENvbnRhaW5lcixcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBGb3JtQ29udHJvbCxcbiAgICBGb3JtR3JvdXAsXG4gICAgTmdDb250cm9sLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0ICogYXMgdXVpZCBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25Db250ZXh0RGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZXMvdHJhbnNsYXRpb24tY29udGV4dC5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IE5pY2VUcmFuc2xhdGlvbkZvcm1TZXJ2aWNlIH0gZnJvbSBcIi4uL3Byb3ZpZGVycy9uaWNlLXRyYW5zbGF0aW9uLWZvcm0uc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNsYXRpb25Gb3JtQ29tcG9uZW50XG4gICAgaW1wbGVtZW50c1xuICAgICAgICBPbkluaXQsXG4gICAgICAgIE9uRGVzdHJveSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkQ29udHJvbDxzdHJpbmc+LFxuICAgICAgICBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICAgIEBIb3N0QmluZGluZyhcImNsYXNzXCIpXG4gICAgcHVibGljIGdldCBjbGFzc0xpc3QoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFwidy1mdWxsXCI6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5mbG9hdGluZ1wiKVxuICAgIHB1YmxpYyBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvYXRpbmcgfHwgIXRoaXMuZW1wdHk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHJlcXVpcmVkKHJlcSkge1xuICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShyZXEpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuX3JlcXVpcmVkID8/XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/XG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlRGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZSh0aGlzLl92YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZW1wdHlDb250cm9sVmFsdWUgPVxuICAgICAgICAgICAgIXRoaXMuY3VycmVudENvbnRyb2w/LnZhbHVlIHx8ICF0aGlzLmN1cnJlbnRDb250cm9sLnZhbHVlLmxlbmd0aDtcblxuICAgICAgICBjb25zdCBlbXB0eVZhbHVlID1cbiAgICAgICAgICAgICF0aGlzLl92YWx1ZSB8fFxuICAgICAgICAgICAgKHR5cGVvZiB0aGlzLl92YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiAhdGhpcy5fdmFsdWUubGVuZ3RoKTtcblxuICAgICAgICByZXR1cm4gZW1wdHlDb250cm9sVmFsdWUgJiYgZW1wdHlWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbFxuICAgICAgICAgICAgPyB0aGlzLm5nQ29udHJvbC50b3VjaGVkICYmIHRoaXMubmdDb250cm9sLmludmFsaWRcbiAgICAgICAgICAgIDogZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgICAgICBwcml2YXRlIGNvbnRleHQ6IFRyYW5zbGF0aW9uQ29udGV4dERpcmVjdGl2ZSxcbiAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlOiBOaWNlVHJhbnNsYXRpb25Gb3JtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmbG9hdGluZyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXhMZW5ndGggPSA1MjQyODg7IC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWQgaW4gdGhlIDxpbnB1dD4gZWxlbWVudC4gRGVmYXVsdCB2YWx1ZSBpcyA1MjQyODhcblxuICAgIEBIb3N0QmluZGluZygpXG4gICAgcHVibGljIGlkOiBzdHJpbmcgPSB1dWlkLnY0KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoXCJhdHRyLmFyaWEtZGVzY3JpYmVkYnlcIilcbiAgICBwdWJsaWMgZGVzY3JpYmVkQnkgPSBcIlwiO1xuXG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyBjdXJyZW50Q29udHJvbD86IEZvcm1Db250cm9sO1xuICAgIHB1YmxpYyBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBuZ0NvbnRyb2w6IEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSB8IE5nQ29udHJvbDtcbiAgICBwdWJsaWMgZm9jdXNlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgY29udHJvbFR5cGUgPSBcInRyYW5zbGF0aW9uRm9ybVwiO1xuXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICAgIHB1YmxpYyByZWFkb25seSBhdXRvZmlsbGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyByZWFkb25seSB1c2VyQXJpYURlc2NyaWJlZEJ5OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcHJvcGFnYXRlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgcHVibGljIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHt9XG5cbiAgICBwdWJsaWMgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oXCIgXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGUgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5jb250YWluZXIuY29udHJvbCBhcyBGb3JtR3JvdXA7XG5cbiAgICAgICAgdGhpcy5zZXJ2aWNlLmxhbmd1YWdlcyRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGFuZ3VhZ2VzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFsYW5ndWFnZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cEZvcm1Db250cm9scyhsYW5ndWFnZXMpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jb250ZXh0LmFjdGl2ZUxhbmd1YWdlJFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhY3RpdmVMYW5ndWFnZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UoYWN0aXZlTGFuZ3VhZ2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRDb250cm9sID0gdGhpcy5mb3JtR3JvdXAuZ2V0KGxhbmd1YWdlKSBhcyBGb3JtQ29udHJvbDtcbiAgICAgICAgdGhpcy5oYW5kbGVEaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cEZvcm1Db250cm9scyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgbGFuZ3VhZ2Ugb2YgbGFuZ3VhZ2VzKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW2xhbmd1YWdlXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wobGFuZ3VhZ2UsIG5ldyBGb3JtQ29udHJvbCgpLCB7XG4gICAgICAgICAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250cm9sVG9SZW1vdmUgPSBPYmplY3Qua2V5cyh0aGlzLmZvcm1Hcm91cC5jb250cm9scykuZmlsdGVyKFxuICAgICAgICAgICAgKGtleSkgPT4gIWxhbmd1YWdlcy5pbmNsdWRlcyhrZXkpXG4gICAgICAgICk7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgY29udHJvbFRvUmVtb3ZlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5yZW1vdmVDb250cm9sKGtleSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXJyZW50Q29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldChsYW5ndWFnZXNbMF0pIGFzIEZvcm1Db250cm9sO1xuICAgICAgICB0aGlzLmhhbmRsZURpc2FibGVkU3RhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZURpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29udHJvbD8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb250cm9sPy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvdHJhbnNsYXRpb24tZm9ybS9jb21wb25lbnRzL3RyYW5zbGF0aW9uLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxHQUdSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFSCxnQkFBZ0IsRUFFaEIsV0FBVyxFQUdYLFVBQVUsR0FDYixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQU14RixNQUFNLE9BQWdCLHdCQUF3QjtJQU8xQyxJQUNXLFNBQVM7UUFDaEIsT0FBTztZQUNILFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFDVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUNXLFFBQVEsQ0FBQyxHQUFHO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsR0FB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LElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDckQ7SUFDTCxDQUFDOzhHQXBNaUIsd0JBQXdCO2tHQUF4Qix3QkFBd0Isb1ZBSGhDLEVBQUU7OzJGQUdNLHdCQUF3QjtrQkFKN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7ME5BU2MsU0FBUztzQkFEbkIsV0FBVzt1QkFBQyxPQUFPO2dCQVFULGdCQUFnQjtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTWxCLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFhSyxXQUFXO3NCQURyQixLQUFLO2dCQWdEQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLEVBQUU7c0JBRFIsV0FBVztnQkFJTCxXQUFXO3NCQURqQixXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29lcmNpb25cIjtcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSxcbiAgICBDb250cm9sQ29udGFpbmVyLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEZvcm1Db250cm9sLFxuICAgIEZvcm1Hcm91cCxcbiAgICBOZ0NvbnRyb2wsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gXCJ1dWlkXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbkNvbnRleHREaXJlY3RpdmUgfSBmcm9tIFwiLi4vZGlyZWN0aXZlcy90cmFuc2xhdGlvbi1jb250ZXh0LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgTmljZVRyYW5zbGF0aW9uRm9ybVNlcnZpY2UgfSBmcm9tIFwiLi4vcHJvdmlkZXJzL25pY2UtdHJhbnNsYXRpb24tZm9ybS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2xhdGlvbkZvcm1Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzXG4gICAgICAgIE9uSW5pdCxcbiAgICAgICAgT25EZXN0cm95LFxuICAgICAgICBNYXRGb3JtRmllbGRDb250cm9sPHN0cmluZz4sXG4gICAgICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIilcbiAgICBwdWJsaWMgZ2V0IGNsYXNzTGlzdCgpOiBhbnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgXCJ3LWZ1bGxcIjogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmZsb2F0aW5nXCIpXG4gICAgcHVibGljIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mbG9hdGluZyB8fCAhdGhpcy5lbXB0eSB8fCB0aGlzLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHJlcXVpcmVkKHJlcSkge1xuICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShyZXEpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuX3JlcXVpcmVkID8/XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/XG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlRGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZSh0aGlzLl92YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZW1wdHlDb250cm9sVmFsdWUgPVxuICAgICAgICAgICAgIXRoaXMuY3VycmVudENvbnRyb2w/LnZhbHVlIHx8ICF0aGlzLmN1cnJlbnRDb250cm9sLnZhbHVlLmxlbmd0aDtcblxuICAgICAgICBjb25zdCBlbXB0eVZhbHVlID1cbiAgICAgICAgICAgICF0aGlzLl92YWx1ZSB8fFxuICAgICAgICAgICAgKHR5cGVvZiB0aGlzLl92YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiAhdGhpcy5fdmFsdWUubGVuZ3RoKTtcblxuICAgICAgICByZXR1cm4gZW1wdHlDb250cm9sVmFsdWUgJiYgZW1wdHlWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbFxuICAgICAgICAgICAgPyB0aGlzLm5nQ29udHJvbC50b3VjaGVkICYmIHRoaXMubmdDb250cm9sLmludmFsaWRcbiAgICAgICAgICAgIDogZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgICAgICBwcml2YXRlIGNvbnRleHQ6IFRyYW5zbGF0aW9uQ29udGV4dERpcmVjdGl2ZSxcbiAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlOiBOaWNlVHJhbnNsYXRpb25Gb3JtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmbG9hdGluZyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXhMZW5ndGggPSA1MjQyODg7IC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWQgaW4gdGhlIDxpbnB1dD4gZWxlbWVudC4gRGVmYXVsdCB2YWx1ZSBpcyA1MjQyODhcblxuICAgIEBIb3N0QmluZGluZygpXG4gICAgcHVibGljIGlkOiBzdHJpbmcgPSB1dWlkLnY0KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoXCJhdHRyLmFyaWEtZGVzY3JpYmVkYnlcIilcbiAgICBwdWJsaWMgZGVzY3JpYmVkQnkgPSBcIlwiO1xuXG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyBjdXJyZW50Q29udHJvbD86IEZvcm1Db250cm9sO1xuICAgIHB1YmxpYyBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBuZ0NvbnRyb2w6IEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSB8IE5nQ29udHJvbDtcbiAgICBwdWJsaWMgZm9jdXNlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgY29udHJvbFR5cGUgPSBcInRyYW5zbGF0aW9uRm9ybVwiO1xuXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICAgIHB1YmxpYyByZWFkb25seSBhdXRvZmlsbGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyByZWFkb25seSB1c2VyQXJpYURlc2NyaWJlZEJ5OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgcHJvcGFnYXRlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgcHVibGljIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHt9XG5cbiAgICBwdWJsaWMgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oXCIgXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGUgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5jb250YWluZXIuY29udHJvbCBhcyBGb3JtR3JvdXA7XG5cbiAgICAgICAgdGhpcy5zZXJ2aWNlLmxhbmd1YWdlcyRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbCQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGFuZ3VhZ2VzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFsYW5ndWFnZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cEZvcm1Db250cm9scyhsYW5ndWFnZXMpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jb250ZXh0LmFjdGl2ZUxhbmd1YWdlJFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhY3RpdmVMYW5ndWFnZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UoYWN0aXZlTGFuZ3VhZ2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRDb250cm9sID0gdGhpcy5mb3JtR3JvdXAuZ2V0KGxhbmd1YWdlKSBhcyBGb3JtQ29udHJvbDtcbiAgICAgICAgdGhpcy5oYW5kbGVEaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cEZvcm1Db250cm9scyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgbGFuZ3VhZ2Ugb2YgbGFuZ3VhZ2VzKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW2xhbmd1YWdlXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wobGFuZ3VhZ2UsIG5ldyBGb3JtQ29udHJvbCgpLCB7XG4gICAgICAgICAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250cm9sVG9SZW1vdmUgPSBPYmplY3Qua2V5cyh0aGlzLmZvcm1Hcm91cC5jb250cm9scykuZmlsdGVyKFxuICAgICAgICAgICAgKGtleSkgPT4gIWxhbmd1YWdlcy5pbmNsdWRlcyhrZXkpXG4gICAgICAgICk7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgY29udHJvbFRvUmVtb3ZlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5yZW1vdmVDb250cm9sKGtleSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXJyZW50Q29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldChsYW5ndWFnZXNbMF0pIGFzIEZvcm1Db250cm9sO1xuICAgICAgICB0aGlzLmhhbmRsZURpc2FibGVkU3RhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZURpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29udHJvbD8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb250cm9sPy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -35,6 +35,19 @@ export class FileUtils {
35
35
  window.URL.revokeObjectURL(dataUrl);
36
36
  document.body.removeChild(downloadLink);
37
37
  }
38
+ static openFile(file, options = { openInNewTab: true }) {
39
+ const anchor = document.createElement("a");
40
+ document.body.appendChild(anchor);
41
+ anchor.style.display = "none";
42
+ const dataUrl = window.URL.createObjectURL(file);
43
+ anchor.href = dataUrl;
44
+ if (options.openInNewTab) {
45
+ anchor.target = "_blank";
46
+ }
47
+ anchor.click();
48
+ window.URL.revokeObjectURL(dataUrl);
49
+ document.body.removeChild(anchor);
50
+ }
38
51
  static downloadUrl(url) {
39
52
  const downloadLink = document.createElement("a");
40
53
  document.body.appendChild(downloadLink);
@@ -74,4 +87,4 @@ export class FileUtils {
74
87
  });
75
88
  }
76
89
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvdXRpbHMvZmlsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQVksRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUN0RCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ04sT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBYyxFQUFFLFFBQVEsR0FBRyxLQUFLO1FBQzNELE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNwQixLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUMxQixLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUV0QixLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtnQkFDbEIsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO29CQUNiLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN0QyxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFD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Q0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUU7WUFDdkMsWUFBWSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGaWxlVXRpbHMge1xuICAgIHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2V0RmlsZUZyb21VcmwodXJsPzogc3RyaW5nLCBuYW1lID0gXCJcIik6IFByb21pc2U8RmlsZSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAoIXVybCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwpO1xuICAgICAgICByZXR1cm4gbmV3IEZpbGUoW2F3YWl0IHJlcy5ibG9iKCldLCBuYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFzeW5jIHNlbGVjdEZpbGUoYWNjZXB0OiBzdHJpbmcsIG11bHRpcGxlID0gZmFsc2UpOiBQcm9taXNlPEZpbGUgfCBGaWxlW10+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gICAgICAgICAgICBpbnB1dC50eXBlID0gXCJmaWxlXCI7XG4gICAgICAgICAgICBpbnB1dC5tdWx0aXBsZSA9IG11bHRpcGxlO1xuICAgICAgICAgICAgaW5wdXQuYWNjZXB0ID0gYWNjZXB0O1xuXG4gICAgICAgICAgICBpbnB1dC5vbmNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQuZmlsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGlucHV0LmZpbGVzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUobXVsdGlwbGUgPyBmaWxlcyA6IGZpbGVzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaW5wdXQuY2xpY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBkb3dubG9hZEZpbGUoZmlsZU5hbWU6IHN0cmluZywgY29udGVudDogQmxvYiwgZG93bmxvYWRMaW5rPzogSFRNTEFuY2hvckVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFkb3dubG9hZExpbmspIHtcbiAgICAgICAgICAgIGRvd25sb2FkTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICAgICAgZG93bmxvYWRMaW5rLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGFVcmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChjb250ZW50KTtcbiAgICAgICAgZG93bmxvYWRMaW5rLmhyZWYgPSBkYXRhVXJsO1xuICAgICAgICBkb3dubG9hZExpbmsuZG93bmxvYWQgPSBmaWxlTmFtZTtcbiAgICAgICAgZG93bmxvYWRMaW5rLmNsaWNrKCk7XG4gICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGRhdGFVcmwpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvd25sb2FkTGluayk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBkb3dubG9hZFVybCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICBkb3dubG9hZExpbmsuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmNsaWNrKCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG9wZW5QcmludGFibGVXaW5kb3coY29udGVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdpbiA9IHdpbmRvdy5vcGVuKFwiXCIpO1xuICAgICAgICBpZiAoIXdpbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgd2luLmRvY3VtZW50Lm9wZW4oKTtcbiAgICAgICAgd2luLmRvY3VtZW50LndyaXRlKGNvbnRlbnQpO1xuICAgICAgICB3aW4uZG9jdW1lbnQuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZpbGVuYW1lVG9FeHRlbnNpb24oZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlID0gLyg/OlxcLihbXi5dKykpPyQvO1xuICAgICAgICByZXR1cm4gcmUuZXhlYyhmaWxlbmFtZSlbMV07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXREYXRhVXJsKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFzeW5jIGdldEZpbGVGcm9tRGF0YVVybChkYXRhOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZT4ge1xuICAgICAgICBjb25zdCBiYXNlNjRSZXNwb25zZSA9IGF3YWl0IGZldGNoKGRhdGEpO1xuICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgYmFzZTY0UmVzcG9uc2UuYmxvYigpO1xuICAgICAgICBjb25zdCBbLCB0eXBlXSA9IGJsb2IudHlwZS5zcGxpdChcIi9cIik7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZShbYmxvYl0sIGAke25hbWV9LiR7dHlwZX1gLCB7XG4gICAgICAgICAgICBsYXN0TW9kaWZpZWQ6IERhdGUubm93KCksXG4gICAgICAgICAgICB0eXBlOiBibG9iLnR5cGVcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvdXRpbHMvZmlsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQVksRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUN0RCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ04sT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBYyxFQUFFLFFBQVEsR0FBRyxLQUFLO1FBQzNELE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNwQixLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztZQUMxQixLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUV0QixLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtnQkFDbEIsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO29CQUNiLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN0QyxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFD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dGlscyB7XG4gICAgcHVibGljIHN0YXRpYyBhc3luYyBnZXRGaWxlRnJvbVVybCh1cmw/OiBzdHJpbmcsIG5hbWUgPSBcIlwiKTogUHJvbWlzZTxGaWxlIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGlmICghdXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCk7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZShbYXdhaXQgcmVzLmJsb2IoKV0sIG5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYXN5bmMgc2VsZWN0RmlsZShhY2NlcHQ6IHN0cmluZywgbXVsdGlwbGUgPSBmYWxzZSk6IFByb21pc2U8RmlsZSB8IEZpbGVbXT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtcbiAgICAgICAgICAgIGlucHV0LnR5cGUgPSBcImZpbGVcIjtcbiAgICAgICAgICAgIGlucHV0Lm11bHRpcGxlID0gbXVsdGlwbGU7XG4gICAgICAgICAgICBpbnB1dC5hY2NlcHQgPSBhY2NlcHQ7XG5cbiAgICAgICAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dC5maWxlcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlcyA9IEFycmF5LmZyb20oaW5wdXQuZmlsZXMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShtdWx0aXBsZSA/IGZpbGVzIDogZmlsZXNbMF0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBpbnB1dC5jbGljaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGRvd25sb2FkRmlsZShmaWxlTmFtZTogc3RyaW5nLCBjb250ZW50OiBCbG9iLCBkb3dubG9hZExpbms/OiBIVE1MQW5jaG9yRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIWRvd25sb2FkTGluaykge1xuICAgICAgICAgICAgZG93bmxvYWRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvd25sb2FkTGluayk7XG4gICAgICAgICAgICBkb3dubG9hZExpbmsuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0YVVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGNvbnRlbnQpO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IGRhdGFVcmw7XG4gICAgICAgIGRvd25sb2FkTGluay5kb3dubG9hZCA9IGZpbGVOYW1lO1xuICAgICAgICBkb3dubG9hZExpbmsuY2xpY2soKTtcbiAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwoZGF0YVVybCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG9wZW5GaWxlKGZpbGU6IEJsb2IsIG9wdGlvbnM6IHsgb3BlbkluTmV3VGFiOiBib29sZWFuIH0gPSB7IG9wZW5Jbk5ld1RhYjogdHJ1ZSB9KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFuY2hvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGFuY2hvcik7XG4gICAgICAgIGFuY2hvci5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG5cbiAgICAgICAgY29uc3QgZGF0YVVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xuICAgICAgICBhbmNob3IuaHJlZiA9IGRhdGFVcmw7XG4gICAgICAgIGlmIChvcHRpb25zLm9wZW5Jbk5ld1RhYikge1xuICAgICAgICAgICAgYW5jaG9yLnRhcmdldCA9IFwiX2JsYW5rXCI7XG4gICAgICAgIH1cbiAgICAgICAgYW5jaG9yLmNsaWNrKCk7XG4gICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGRhdGFVcmwpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGFuY2hvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBkb3dubG9hZFVybCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICBkb3dubG9hZExpbmsuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgZG93bmxvYWRMaW5rLmNsaWNrKCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG9wZW5QcmludGFibGVXaW5kb3coY29udGVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdpbiA9IHdpbmRvdy5vcGVuKFwiXCIpO1xuICAgICAgICBpZiAoIXdpbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgd2luLmRvY3VtZW50Lm9wZW4oKTtcbiAgICAgICAgd2luLmRvY3VtZW50LndyaXRlKGNvbnRlbnQpO1xuICAgICAgICB3aW4uZG9jdW1lbnQuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZpbGVuYW1lVG9FeHRlbnNpb24oZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlID0gLyg/OlxcLihbXi5dKykpPyQvO1xuICAgICAgICByZXR1cm4gcmUuZXhlYyhmaWxlbmFtZSlbMV07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXREYXRhVXJsKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFzeW5jIGdldEZpbGVGcm9tRGF0YVVybChkYXRhOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IFByb21pc2U8RmlsZT4ge1xuICAgICAgICBjb25zdCBiYXNlNjRSZXNwb25zZSA9IGF3YWl0IGZldGNoKGRhdGEpO1xuICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgYmFzZTY0UmVzcG9uc2UuYmxvYigpO1xuICAgICAgICBjb25zdCBbLCB0eXBlXSA9IGJsb2IudHlwZS5zcGxpdChcIi9cIik7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZShbYmxvYl0sIGAke25hbWV9LiR7dHlwZX1gLCB7XG4gICAgICAgICAgICBsYXN0TW9kaWZpZWQ6IERhdGUubm93KCksXG4gICAgICAgICAgICB0eXBlOiBibG9iLnR5cGVcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1298,6 +1298,19 @@ class FileUtils {
1298
1298
  window.URL.revokeObjectURL(dataUrl);
1299
1299
  document.body.removeChild(downloadLink);
1300
1300
  }
1301
+ static openFile(file, options = { openInNewTab: true }) {
1302
+ const anchor = document.createElement("a");
1303
+ document.body.appendChild(anchor);
1304
+ anchor.style.display = "none";
1305
+ const dataUrl = window.URL.createObjectURL(file);
1306
+ anchor.href = dataUrl;
1307
+ if (options.openInNewTab) {
1308
+ anchor.target = "_blank";
1309
+ }
1310
+ anchor.click();
1311
+ window.URL.revokeObjectURL(dataUrl);
1312
+ document.body.removeChild(anchor);
1313
+ }
1301
1314
  static downloadUrl(url) {
1302
1315
  const downloadLink = document.createElement("a");
1303
1316
  document.body.appendChild(downloadLink);
@@ -5421,6 +5434,64 @@ class NiceControlStatusDirective {
5421
5434
  this.formField = formField;
5422
5435
  this.translateService = translateService;
5423
5436
  this.unsubscribeAll$ = new Subject();
5437
+ this.onChange = () => {
5438
+ if (this.control.pending) {
5439
+ return;
5440
+ }
5441
+ if (this.control.invalid && this.control.touched) {
5442
+ for (const error in this.control.errors) {
5443
+ if (this.control.errors.hasOwnProperty(error)) {
5444
+ if (this.control.errors[error]) {
5445
+ let lastErrorKey = error;
5446
+ let param;
5447
+ if (error === "pattern") {
5448
+ lastErrorKey = this.control.errors[error].requiredPattern;
5449
+ }
5450
+ if (error === "mask") {
5451
+ lastErrorKey = this.control.errors[error].requiredMask;
5452
+ }
5453
+ if (error === "minlength" || error === "maxlength") {
5454
+ param = {
5455
+ value: this.control.errors[error].requiredLength
5456
+ };
5457
+ }
5458
+ if (error === "min") {
5459
+ param = {
5460
+ min: this.control.errors[error].min,
5461
+ actual: this.control.errors[error].actual
5462
+ };
5463
+ }
5464
+ if (error === "max") {
5465
+ param = {
5466
+ max: this.control.errors[error].max,
5467
+ actual: this.control.errors[error].actual
5468
+ };
5469
+ }
5470
+ if (error === "arrayMinLength") {
5471
+ param = {
5472
+ min: this.control.errors[error].min,
5473
+ actual: this.control.errors[error].actual
5474
+ };
5475
+ }
5476
+ if (error === "arrayMaxLength") {
5477
+ param = {
5478
+ max: this.control.errors[error].max,
5479
+ actual: this.control.errors[error].actual
5480
+ };
5481
+ }
5482
+ if (typeof this.control.errors[error] === "object" && !param) {
5483
+ param = this.control.errors[error];
5484
+ }
5485
+ this.setError(this.translateService.instant(`errors.${lastErrorKey}`, param));
5486
+ break;
5487
+ }
5488
+ }
5489
+ }
5490
+ }
5491
+ else {
5492
+ this.setError("");
5493
+ }
5494
+ };
5424
5495
  }
5425
5496
  ngAfterViewInit() {
5426
5497
  this.control = this.formField._control.ngControl;
@@ -5432,64 +5503,6 @@ class NiceControlStatusDirective {
5432
5503
  this.unsubscribeAll$.next();
5433
5504
  this.unsubscribeAll$.complete();
5434
5505
  }
5435
- onChange() {
5436
- if (this.control.pending) {
5437
- return;
5438
- }
5439
- if (this.control.invalid && this.control.touched) {
5440
- for (const error in this.control.errors) {
5441
- if (this.control.errors.hasOwnProperty(error)) {
5442
- if (this.control.errors[error]) {
5443
- let lastErrorKey = error;
5444
- let param;
5445
- if (error === "pattern") {
5446
- lastErrorKey = this.control.errors[error].requiredPattern;
5447
- }
5448
- if (error === "mask") {
5449
- lastErrorKey = this.control.errors[error].requiredMask;
5450
- }
5451
- if (error === "minlength" || error === "maxlength") {
5452
- param = {
5453
- value: this.control.errors[error].requiredLength
5454
- };
5455
- }
5456
- if (error === "min") {
5457
- param = {
5458
- min: this.control.errors[error].min,
5459
- actual: this.control.errors[error].actual
5460
- };
5461
- }
5462
- if (error === "max") {
5463
- param = {
5464
- max: this.control.errors[error].max,
5465
- actual: this.control.errors[error].actual
5466
- };
5467
- }
5468
- if (error === "arrayMinLength") {
5469
- param = {
5470
- min: this.control.errors[error].min,
5471
- actual: this.control.errors[error].actual
5472
- };
5473
- }
5474
- if (error === "arrayMaxLength") {
5475
- param = {
5476
- max: this.control.errors[error].max,
5477
- actual: this.control.errors[error].actual
5478
- };
5479
- }
5480
- if (typeof this.control.errors[error] === "object" && !param) {
5481
- param = this.control.errors[error];
5482
- }
5483
- this.setError(this.translateService.instant(`errors.${lastErrorKey}`, param));
5484
- break;
5485
- }
5486
- }
5487
- }
5488
- }
5489
- else {
5490
- this.setError("");
5491
- }
5492
- }
5493
5506
  setError(text) {
5494
5507
  if (!this.ref) {
5495
5508
  this.ref = this.vcr.createComponent(NiceFormErrorComponent);
@@ -10680,7 +10693,7 @@ class TranslationFormComponent {
10680
10693
  };
10681
10694
  }
10682
10695
  get shouldLabelFloat() {
10683
- return this.floating || !this.empty;
10696
+ return this.floating || !this.empty || this.focused;
10684
10697
  }
10685
10698
  set required(req) {
10686
10699
  this._required = coerceBooleanProperty(req);