@litigiovirtual/ius-design-components 1.0.64 → 1.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/button-auth/button-auth.component.mjs +90 -6
- package/esm2022/lib/directives/popover.directive.mjs +170 -0
- package/esm2022/lib/input-otp/index.mjs +2 -0
- package/esm2022/lib/input-otp/input-otp.component.mjs +173 -0
- package/esm2022/lib/input-password/index.mjs +2 -0
- package/esm2022/lib/input-password/input-password.component.mjs +71 -0
- package/esm2022/lib/popover/popover.component.mjs +30 -0
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/litigiovirtual-ius-design-components.mjs +515 -8
- package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
- package/lib/button-auth/button-auth.component.d.ts +12 -0
- package/lib/directives/popover.directive.d.ts +41 -0
- package/lib/input-otp/index.d.ts +1 -0
- package/lib/input-otp/input-otp.component.d.ts +34 -0
- package/lib/input-password/index.d.ts +1 -0
- package/lib/input-password/input-password.component.d.ts +24 -0
- package/lib/popover/popover.component.d.ts +10 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
|
@@ -1,26 +1,110 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
3
5
|
export class ButtonAuthComponent {
|
|
4
|
-
constructor() {
|
|
6
|
+
constructor(sanitizer) {
|
|
7
|
+
this.sanitizer = sanitizer;
|
|
5
8
|
this.disabled = false;
|
|
6
9
|
this.buttonClicked = new EventEmitter();
|
|
10
|
+
this.colorDisabled = '#BFBFBF';
|
|
11
|
+
this.svg = '';
|
|
12
|
+
this.svgGoogle = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
|
|
13
|
+
<path d="M18.8 10.2084C18.8 9.55837 18.7417 8.93337 18.6333 8.33337H10V11.8834H14.9333C14.7167 13.025 14.0667 13.9917 13.0917 14.6417V16.95H16.0667C17.8 15.35 18.8 13 18.8 10.2084Z" fill="#4285F4"/>
|
|
14
|
+
<path d="M10 19.1667C12.475 19.1667 14.55 18.35 16.0667 16.95L13.0917 14.6417C12.275 15.1917 11.2333 15.525 10 15.525C7.61668 15.525 5.59168 13.9167 4.86668 11.75H1.81668V14.1167C3.32501 17.1083 6.41668 19.1667 10 19.1667Z" fill="#34A853"/>
|
|
15
|
+
<path d="M4.86668 11.7417C4.68334 11.1917 4.57501 10.6084 4.57501 10.0001C4.57501 9.39172 4.68334 8.80839 4.86668 8.25839V5.89172H1.81668C1.19168 7.12506 0.833344 8.51672 0.833344 10.0001C0.833344 11.4834 1.19168 12.8751 1.81668 14.1084L4.19168 12.2584L4.86668 11.7417Z" fill="#FBBC05"/>
|
|
16
|
+
<path d="M10 4.48337C11.35 4.48337 12.55 4.95004 13.5083 5.85004L16.1333 3.22504C14.5417 1.74171 12.475 0.833374 10 0.833374C6.41668 0.833374 3.32501 2.89171 1.81668 5.89171L4.86668 8.25837C5.59168 6.09171 7.61668 4.48337 10 4.48337Z" fill="#EA4335"/>
|
|
17
|
+
</svg>`;
|
|
18
|
+
this.svgGoogleDisabled = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
|
|
19
|
+
<path d="M18.8 10.2084C18.8 9.55837 18.7417 8.93337 18.6333 8.33337H10V11.8834H14.9333C14.7167 13.025 14.0667 13.9917 13.0917 14.6417V16.95H16.0667C17.8 15.35 18.8 13 18.8 10.2084Z" fill="#BFBFBF"/>
|
|
20
|
+
<path d="M10 19.1667C12.475 19.1667 14.55 18.35 16.0667 16.95L13.0917 14.6417C12.275 15.1917 11.2333 15.525 10 15.525C7.61668 15.525 5.59168 13.9167 4.86668 11.75H1.81668V14.1167C3.32501 17.1083 6.41668 19.1667 10 19.1667Z" fill="#BFBFBF"/>
|
|
21
|
+
<path d="M4.86668 11.7417C4.68334 11.1917 4.57501 10.6084 4.57501 10.0001C4.57501 9.39172 4.68334 8.80839 4.86668 8.25839V5.89172H1.81668C1.19168 7.12506 0.833344 8.51672 0.833344 10.0001C0.833344 11.4834 1.19168 12.8751 1.81668 14.1084L4.19168 12.2584L4.86668 11.7417Z" fill="#BFBFBF"/>
|
|
22
|
+
<path d="M10 4.48337C11.35 4.48337 12.55 4.95004 13.5083 5.85004L16.1333 3.22504C14.5417 1.74171 12.475 0.833374 10 0.833374C6.41668 0.833374 3.32501 2.89171 1.81668 5.89171L4.86668 8.25837C5.59168 6.09171 7.61668 4.48337 10 4.48337Z" fill="#BFBFBF"/>
|
|
23
|
+
</svg>`;
|
|
24
|
+
this.svgMicrosoft = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
|
|
25
|
+
<g clip-path="url(#clip0_1670_13811)">
|
|
26
|
+
<path d="M0 0H20V20H0V0Z" fill="#F3F3F3"/>
|
|
27
|
+
<path d="M0.869568 0.869507H9.56522V9.56516H0.869568V0.869507Z" fill="#F35325"/>
|
|
28
|
+
<path d="M10.4348 0.869507H19.1304V9.56516H10.4348V0.869507Z" fill="#81BC06"/>
|
|
29
|
+
<path d="M0.869568 10.4348H9.56522V19.1305H0.869568V10.4348Z" fill="#05A6F0"/>
|
|
30
|
+
<path d="M10.4348 10.4348H19.1304V19.1305H10.4348V10.4348Z" fill="#FFBA08"/>
|
|
31
|
+
</g>
|
|
32
|
+
<defs>
|
|
33
|
+
<clipPath id="clip0_1670_13811">
|
|
34
|
+
<rect width="20" height="20" fill="white"/>
|
|
35
|
+
</clipPath>
|
|
36
|
+
</defs>
|
|
37
|
+
</svg>`;
|
|
38
|
+
this.svgMicrosoftDisabled = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
|
|
39
|
+
<g clip-path="url(#clip0_1670_13817)">
|
|
40
|
+
<path d="M0 0H20V20H0V0Z" fill="#F3F3F3"/>
|
|
41
|
+
<path d="M0.869568 0.869507H9.56522V9.56516H0.869568V0.869507Z" fill="#BFBFBF"/>
|
|
42
|
+
<path d="M10.4348 0.869507H19.1304V9.56516H10.4348V0.869507Z" fill="#BFBFBF"/>
|
|
43
|
+
<path d="M0.869568 10.4348H9.56522V19.1305H0.869568V10.4348Z" fill="#BFBFBF"/>
|
|
44
|
+
<path d="M10.4348 10.4348H19.1304V19.1305H10.4348V10.4348Z" fill="#BFBFBF"/>
|
|
45
|
+
</g>
|
|
46
|
+
<defs>
|
|
47
|
+
<clipPath id="clip0_1670_13817">
|
|
48
|
+
<rect width="20" height="20" fill="white"/>
|
|
49
|
+
</clipPath>
|
|
50
|
+
</defs>
|
|
51
|
+
</svg>`;
|
|
52
|
+
this.svgLinkedin = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
|
|
53
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.22222 20H17.7778C19.0051 20 20 19.0051 20 17.7778V2.22222C20 0.994923 19.0051 0 17.7778 0H2.22222C0.994923 0 0 0.994923 0 2.22222V17.7778C0 19.0051 0.994923 20 2.22222 20Z" fill="#007EBB"/>
|
|
54
|
+
</svg>`;
|
|
55
|
+
this.svgLinkedinDisabled = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
|
|
56
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.22222 20H17.7778C19.0051 20 20 19.0051 20 17.7778V2.22222C20 0.994923 19.0051 0 17.7778 0H2.22222C0.994923 0 0 0.994923 0 2.22222V17.7778C0 19.0051 0.994923 20 2.22222 20Z" fill="#BFBFBF"/>
|
|
57
|
+
</svg>`;
|
|
58
|
+
}
|
|
59
|
+
ngOnInit() {
|
|
60
|
+
var svgIcon = '';
|
|
61
|
+
switch (this.textButton) {
|
|
62
|
+
case 'Google':
|
|
63
|
+
if (this.disabled) {
|
|
64
|
+
svgIcon = this.svgGoogleDisabled;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
svgIcon = this.svgGoogle;
|
|
68
|
+
}
|
|
69
|
+
break;
|
|
70
|
+
case 'Microsoft':
|
|
71
|
+
if (this.disabled) {
|
|
72
|
+
svgIcon = this.svgMicrosoftDisabled;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
svgIcon = this.svgMicrosoft;
|
|
76
|
+
}
|
|
77
|
+
break;
|
|
78
|
+
case 'LinkedIn':
|
|
79
|
+
if (this.disabled) {
|
|
80
|
+
svgIcon = this.svgLinkedinDisabled;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
svgIcon = this.svgLinkedin;
|
|
84
|
+
}
|
|
85
|
+
break;
|
|
86
|
+
default:
|
|
87
|
+
svgIcon = '';
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
this.svg = this.sanitizer.bypassSecurityTrustHtml(svgIcon) ?? '';
|
|
7
91
|
}
|
|
8
92
|
onClick() {
|
|
9
93
|
if (this.disabled == false) {
|
|
10
94
|
this.buttonClicked.emit();
|
|
11
95
|
}
|
|
12
96
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonAuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonAuthComponent, isStandalone: true, selector: "ius-button-auth", inputs: { disabled: "disabled", textButton: "textButton" }, outputs: { buttonClicked: "buttonClicked" }, ngImport: i0, template: "<button class=\"ctn-button\"
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonAuthComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonAuthComponent, isStandalone: true, selector: "ius-button-auth", inputs: { disabled: "disabled", textButton: "textButton" }, outputs: { buttonClicked: "buttonClicked" }, ngImport: i0, template: "<button class=\"ctn-button\" [disabled]=\"disabled\">\r\n <span [innerHTML]=\"svg\" class=\"icon-btn\"></span>\r\n <span class=\"label-base\">{{textButton}}</span>\r\n</button>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.ctn-button{position:relative;display:flex;padding:12px 24px;justify-content:center;align-items:center;gap:4px;border:none;cursor:pointer;border-radius:14px;background:#f0f0f0;color:#333}.ctn-button:hover:not(:disabled){background-color:#bfbfbf}.ctn-button:active:not(:disabled){color:#fff;background-color:#0581bc}.ctn-button:disabled{color:#bfbfbf;background-color:#f5f5f5;cursor:default}.icon-btn{width:20px;height:20px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
15
99
|
}
|
|
16
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonAuthComponent, decorators: [{
|
|
17
101
|
type: Component,
|
|
18
|
-
args: [{ selector: 'ius-button-auth', standalone: true, imports: [], template: "<button class=\"ctn-button\"
|
|
19
|
-
}], propDecorators: { disabled: [{
|
|
102
|
+
args: [{ selector: 'ius-button-auth', standalone: true, imports: [CommonModule], template: "<button class=\"ctn-button\" [disabled]=\"disabled\">\r\n <span [innerHTML]=\"svg\" class=\"icon-btn\"></span>\r\n <span class=\"label-base\">{{textButton}}</span>\r\n</button>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.ctn-button{position:relative;display:flex;padding:12px 24px;justify-content:center;align-items:center;gap:4px;border:none;cursor:pointer;border-radius:14px;background:#f0f0f0;color:#333}.ctn-button:hover:not(:disabled){background-color:#bfbfbf}.ctn-button:active:not(:disabled){color:#fff;background-color:#0581bc}.ctn-button:disabled{color:#bfbfbf;background-color:#f5f5f5;cursor:default}.icon-btn{width:20px;height:20px}\n"] }]
|
|
103
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { disabled: [{
|
|
20
104
|
type: Input
|
|
21
105
|
}], textButton: [{
|
|
22
106
|
type: Input
|
|
23
107
|
}], buttonClicked: [{
|
|
24
108
|
type: Output
|
|
25
109
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWF1dGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uLWF1dGgvYnV0dG9uLWF1dGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uLWF1dGgvYnV0dG9uLWF1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTdkUsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVNXLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFaEIsa0JBQWEsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQU9sRTtJQUxDLE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQzsrR0FWVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixvTENUaEMsdzVDQWdCUzs7NEZEUEksbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxFQUFFOzhCQU1GLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWJ1dHRvbi1hdXRoJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tYXV0aC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2J1dHRvbi1hdXRoLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV0dG9uQXV0aENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGV4dEJ1dHRvbj86IHN0cmluZztcclxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBvbkNsaWNrKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgPT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvbiBjbGFzcz1cImN0bi1idXR0b25cIj5cclxuICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIyMVwiIHZpZXdCb3g9XCIwIDAgMjEgMjFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNMTkuMyAxMC44NTA2QzE5LjMgMTAuMjAwNiAxOS4yNDE3IDkuNTc1NTkgMTkuMTMzMyA4Ljk3NTU5SDEwLjVWMTIuNTI1NkgxNS40MzMzQzE1LjIxNjcgMTMuNjY3MyAxNC41NjY3IDE0LjYzMzkgMTMuNTkxNyAxNS4yODM5VjE3LjU5MjNIMTYuNTY2N0MxOC4zIDE1Ljk5MjMgMTkuMyAxMy42NDIzIDE5LjMgMTAuODUwNlpcIlxyXG4gICAgICAgICAgICBmaWxsPVwiIzQyODVGNFwiIC8+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk0xMC41MDAyIDE5LjgwOTJDMTIuOTc1MiAxOS44MDkyIDE1LjA1MDIgMTguOTkyNiAxNi41NjY5IDE3LjU5MjZMMTMuNTkxOSAxNS4yODQyQzEyLjc3NTIgMTUuODM0MiAxMS43MzM2IDE2LjE2NzYgMTAuNTAwMiAxNi4xNjc2QzguMTE2ODkgMTYuMTY3NiA2LjA5MTg5IDE0LjU1OTIgNS4zNjY4OSAxMi4zOTI2SDIuMzE2ODlWMTQuNzU5MkMzLjgyNTIzIDE3Ljc1MDkgNi45MTY4OSAxOS44MDkyIDEwLjUwMDIgMTkuODA5MlpcIlxyXG4gICAgICAgICAgICBmaWxsPVwiIzM0QTg1M1wiIC8+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk01LjM2NjgzIDEyLjM4NDJDNS4xODM1IDExLjgzNDIgNS4wNzUxNiAxMS4yNTA4IDUuMDc1MTYgMTAuNjQyNUM1LjA3NTE2IDEwLjAzNDIgNS4xODM1IDkuNDUwODUgNS4zNjY4MyA4LjkwMDg1VjYuNTM0MThIMi4zMTY4M0MxLjY5MTgzIDcuNzY3NTEgMS4zMzM1IDkuMTU5MTggMS4zMzM1IDEwLjY0MjVDMS4zMzM1IDEyLjEyNTggMS42OTE4MyAxMy41MTc1IDIuMzE2ODMgMTQuNzUwOEw0LjY5MTgzIDEyLjkwMDhMNS4zNjY4MyAxMi4zODQyWlwiXHJcbiAgICAgICAgICAgIGZpbGw9XCIjRkJCQzA1XCIgLz5cclxuICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICBkPVwiTTEwLjUwMDIgNS4xMjU1OUMxMS44NTAyIDUuMTI1NTkgMTMuMDUwMiA1LjU5MjI1IDE0LjAwODYgNi40OTIyNUwxNi42MzM2IDMuODY3MjVDMTUuMDQxOSAyLjM4MzkyIDEyLjk3NTIgMS40NzU1OSAxMC41MDAyIDEuNDc1NTlDNi45MTY4OSAxLjQ3NTU5IDMuODI1MjMgMy41MzM5MiAyLjMxNjg5IDYuNTMzOTJMNS4zNjY4OSA4LjkwMDU5QzYuMDkxODkgNi43MzM5MiA4LjExNjg5IDUuMTI1NTkgMTAuNTAwMiA1LjEyNTU5WlwiXHJcbiAgICAgICAgICAgIGZpbGw9XCIjRUE0MzM1XCIgLz5cclxuICAgIDwvc3ZnPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1iYXNlXCI+R29vZ2xlPC9zcGFuPlxyXG48L2J1dHRvbj4iXX0=
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWF1dGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uLWF1dGgvYnV0dG9uLWF1dGguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvYnV0dG9uLWF1dGgvYnV0dG9uLWF1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVUvQyxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFSbEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVoQixrQkFBYSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWpFLGtCQUFhLEdBQVcsU0FBUyxDQUFDO1FBRWxDLFFBQUcsR0FBYSxFQUFFLENBQUM7UUEyQ25CLGNBQVMsR0FBVzs7Ozs7U0FLYixDQUFDO1FBRVIsc0JBQWlCLEdBQVc7Ozs7O1NBS3JCLENBQUM7UUFFUixpQkFBWSxHQUFXOzs7Ozs7Ozs7Ozs7O1NBYWhCLENBQUM7UUFFUix5QkFBb0IsR0FBVzs7Ozs7Ozs7Ozs7OztTQWF4QixDQUFDO1FBRVIsZ0JBQVcsR0FBVzs7U0FFZixDQUFDO1FBRVIsd0JBQW1CLEdBQVc7O1NBRXZCLENBQUM7SUEzRnVDLENBQUM7SUFFaEQsUUFBUTtRQUNOLElBQUksT0FBTyxHQUFXLEVBQUUsQ0FBQztRQUV6QixRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xCLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7Z0JBQ25DLENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxNQUFNO1lBQ1IsS0FBSyxXQUFXO2dCQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsQixPQUFPLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO2dCQUN0QyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQzlCLENBQUM7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssVUFBVTtnQkFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEIsT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztnQkFDckMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUM3QixDQUFDO2dCQUNELE1BQU07WUFDUjtnQkFDRSxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNiLE1BQU07UUFDVixDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDOytHQWpEVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixvTENYaEMsd0xBR1MscXpERElHLFlBQVk7OzRGQUlYLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7aUZBTWQsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2l1cy1idXR0b24tYXV0aCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLWF1dGguY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9idXR0b24tYXV0aC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkF1dGhDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRleHRCdXR0b24/OiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29sb3JEaXNhYmxlZDogc3RyaW5nID0gJyNCRkJGQkYnO1xyXG5cclxuICBzdmc6IFNhZmVIdG1sID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHZhciBzdmdJY29uOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMudGV4dEJ1dHRvbikge1xyXG4gICAgICBjYXNlICdHb29nbGUnOlxyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICBzdmdJY29uID0gdGhpcy5zdmdHb29nbGVEaXNhYmxlZDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc3ZnSWNvbiA9IHRoaXMuc3ZnR29vZ2xlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnTWljcm9zb2Z0JzpcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgc3ZnSWNvbiA9IHRoaXMuc3ZnTWljcm9zb2Z0RGlzYWJsZWQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHN2Z0ljb24gPSB0aGlzLnN2Z01pY3Jvc29mdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0xpbmtlZEluJzpcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgc3ZnSWNvbiA9IHRoaXMuc3ZnTGlua2VkaW5EaXNhYmxlZDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc3ZnSWNvbiA9IHRoaXMuc3ZnTGlua2VkaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHN2Z0ljb24gPSAnJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN2ZyA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHN2Z0ljb24pID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgb25DbGljaygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkID09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdmdHb29nbGU6IHN0cmluZyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgIDxwYXRoIGQ9XCJNMTguOCAxMC4yMDg0QzE4LjggOS41NTgzNyAxOC43NDE3IDguOTMzMzcgMTguNjMzMyA4LjMzMzM3SDEwVjExLjg4MzRIMTQuOTMzM0MxNC43MTY3IDEzLjAyNSAxNC4wNjY3IDEzLjk5MTcgMTMuMDkxNyAxNC42NDE3VjE2Ljk1SDE2LjA2NjdDMTcuOCAxNS4zNSAxOC44IDEzIDE4LjggMTAuMjA4NFpcIiBmaWxsPVwiIzQyODVGNFwiLz5cclxuICAgIDxwYXRoIGQ9XCJNMTAgMTkuMTY2N0MxMi40NzUgMTkuMTY2NyAxNC41NSAxOC4zNSAxNi4wNjY3IDE2Ljk1TDEzLjA5MTcgMTQuNjQxN0MxMi4yNzUgMTUuMTkxNyAxMS4yMzMzIDE1LjUyNSAxMCAxNS41MjVDNy42MTY2OCAxNS41MjUgNS41OTE2OCAxMy45MTY3IDQuODY2NjggMTEuNzVIMS44MTY2OFYxNC4xMTY3QzMuMzI1MDEgMTcuMTA4MyA2LjQxNjY4IDE5LjE2NjcgMTAgMTkuMTY2N1pcIiBmaWxsPVwiIzM0QTg1M1wiLz5cclxuICAgIDxwYXRoIGQ9XCJNNC44NjY2OCAxMS43NDE3QzQuNjgzMzQgMTEuMTkxNyA0LjU3NTAxIDEwLjYwODQgNC41NzUwMSAxMC4wMDAxQzQuNTc1MDEgOS4zOTE3MiA0LjY4MzM0IDguODA4MzkgNC44NjY2OCA4LjI1ODM5VjUuODkxNzJIMS44MTY2OEMxLjE5MTY4IDcuMTI1MDYgMC44MzMzNDQgOC41MTY3MiAwLjgzMzM0NCAxMC4wMDAxQzAuODMzMzQ0IDExLjQ4MzQgMS4xOTE2OCAxMi44NzUxIDEuODE2NjggMTQuMTA4NEw0LjE5MTY4IDEyLjI1ODRMNC44NjY2OCAxMS43NDE3WlwiIGZpbGw9XCIjRkJCQzA1XCIvPlxyXG4gICAgPHBhdGggZD1cIk0xMCA0LjQ4MzM3QzExLjM1IDQuNDgzMzcgMTIuNTUgNC45NTAwNCAxMy41MDgzIDUuODUwMDRMMTYuMTMzMyAzLjIyNTA0QzE0LjU0MTcgMS43NDE3MSAxMi40NzUgMC44MzMzNzQgMTAgMC44MzMzNzRDNi40MTY2OCAwLjgzMzM3NCAzLjMyNTAxIDIuODkxNzEgMS44MTY2OCA1Ljg5MTcxTDQuODY2NjggOC4yNTgzN0M1LjU5MTY4IDYuMDkxNzEgNy42MTY2OCA0LjQ4MzM3IDEwIDQuNDgzMzdaXCIgZmlsbD1cIiNFQTQzMzVcIi8+XHJcbiAgPC9zdmc+YDtcclxuXHJcbiAgc3ZnR29vZ2xlRGlzYWJsZWQ6IHN0cmluZyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgIDxwYXRoIGQ9XCJNMTguOCAxMC4yMDg0QzE4LjggOS41NTgzNyAxOC43NDE3IDguOTMzMzcgMTguNjMzMyA4LjMzMzM3SDEwVjExLjg4MzRIMTQuOTMzM0MxNC43MTY3IDEzLjAyNSAxNC4wNjY3IDEzLjk5MTcgMTMuMDkxNyAxNC42NDE3VjE2Ljk1SDE2LjA2NjdDMTcuOCAxNS4zNSAxOC44IDEzIDE4LjggMTAuMjA4NFpcIiBmaWxsPVwiI0JGQkZCRlwiLz5cclxuICAgIDxwYXRoIGQ9XCJNMTAgMTkuMTY2N0MxMi40NzUgMTkuMTY2NyAxNC41NSAxOC4zNSAxNi4wNjY3IDE2Ljk1TDEzLjA5MTcgMTQuNjQxN0MxMi4yNzUgMTUuMTkxNyAxMS4yMzMzIDE1LjUyNSAxMCAxNS41MjVDNy42MTY2OCAxNS41MjUgNS41OTE2OCAxMy45MTY3IDQuODY2NjggMTEuNzVIMS44MTY2OFYxNC4xMTY3QzMuMzI1MDEgMTcuMTA4MyA2LjQxNjY4IDE5LjE2NjcgMTAgMTkuMTY2N1pcIiBmaWxsPVwiI0JGQkZCRlwiLz5cclxuICAgIDxwYXRoIGQ9XCJNNC44NjY2OCAxMS43NDE3QzQuNjgzMzQgMTEuMTkxNyA0LjU3NTAxIDEwLjYwODQgNC41NzUwMSAxMC4wMDAxQzQuNTc1MDEgOS4zOTE3MiA0LjY4MzM0IDguODA4MzkgNC44NjY2OCA4LjI1ODM5VjUuODkxNzJIMS44MTY2OEMxLjE5MTY4IDcuMTI1MDYgMC44MzMzNDQgOC41MTY3MiAwLjgzMzM0NCAxMC4wMDAxQzAuODMzMzQ0IDExLjQ4MzQgMS4xOTE2OCAxMi44NzUxIDEuODE2NjggMTQuMTA4NEw0LjE5MTY4IDEyLjI1ODRMNC44NjY2OCAxMS43NDE3WlwiIGZpbGw9XCIjQkZCRkJGXCIvPlxyXG4gICAgPHBhdGggZD1cIk0xMCA0LjQ4MzM3QzExLjM1IDQuNDgzMzcgMTIuNTUgNC45NTAwNCAxMy41MDgzIDUuODUwMDRMMTYuMTMzMyAzLjIyNTA0QzE0LjU0MTcgMS43NDE3MSAxMi40NzUgMC44MzMzNzQgMTAgMC44MzMzNzRDNi40MTY2OCAwLjgzMzM3NCAzLjMyNTAxIDIuODkxNzEgMS44MTY2OCA1Ljg5MTcxTDQuODY2NjggOC4yNTgzN0M1LjU5MTY4IDYuMDkxNzEgNy42MTY2OCA0LjQ4MzM3IDEwIDQuNDgzMzdaXCIgZmlsbD1cIiNCRkJGQkZcIi8+XHJcbiAgPC9zdmc+YDtcclxuXHJcbiAgc3ZnTWljcm9zb2Z0OiBzdHJpbmcgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE2NzBfMTM4MTEpXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMCAwSDIwVjIwSDBWMFpcIiBmaWxsPVwiI0YzRjNGM1wiLz5cclxuICAgICAgPHBhdGggZD1cIk0wLjg2OTU2OCAwLjg2OTUwN0g5LjU2NTIyVjkuNTY1MTZIMC44Njk1NjhWMC44Njk1MDdaXCIgZmlsbD1cIiNGMzUzMjVcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTAuNDM0OCAwLjg2OTUwN0gxOS4xMzA0VjkuNTY1MTZIMTAuNDM0OFYwLjg2OTUwN1pcIiBmaWxsPVwiIzgxQkMwNlwiLz5cclxuICAgICAgPHBhdGggZD1cIk0wLjg2OTU2OCAxMC40MzQ4SDkuNTY1MjJWMTkuMTMwNUgwLjg2OTU2OFYxMC40MzQ4WlwiIGZpbGw9XCIjMDVBNkYwXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTEwLjQzNDggMTAuNDM0OEgxOS4xMzA0VjE5LjEzMDVIMTAuNDM0OFYxMC40MzQ4WlwiIGZpbGw9XCIjRkZCQTA4XCIvPlxyXG4gICAgPC9nPlxyXG4gICAgPGRlZnM+XHJcbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE2NzBfMTM4MTFcIj5cclxuICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICA8L2RlZnM+XHJcbiAgPC9zdmc+YDtcclxuXHJcbiAgc3ZnTWljcm9zb2Z0RGlzYWJsZWQ6IHN0cmluZyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTY3MF8xMzgxNylcIj5cclxuICAgICAgPHBhdGggZD1cIk0wIDBIMjBWMjBIMFYwWlwiIGZpbGw9XCIjRjNGM0YzXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTAuODY5NTY4IDAuODY5NTA3SDkuNTY1MjJWOS41NjUxNkgwLjg2OTU2OFYwLjg2OTUwN1pcIiBmaWxsPVwiI0JGQkZCRlwiLz5cclxuICAgICAgPHBhdGggZD1cIk0xMC40MzQ4IDAuODY5NTA3SDE5LjEzMDRWOS41NjUxNkgxMC40MzQ4VjAuODY5NTA3WlwiIGZpbGw9XCIjQkZCRkJGXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTAuODY5NTY4IDEwLjQzNDhIOS41NjUyMlYxOS4xMzA1SDAuODY5NTY4VjEwLjQzNDhaXCIgZmlsbD1cIiNCRkJGQkZcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTAuNDM0OCAxMC40MzQ4SDE5LjEzMDRWMTkuMTMwNUgxMC40MzQ4VjEwLjQzNDhaXCIgZmlsbD1cIiNCRkJGQkZcIi8+XHJcbiAgICA8L2c+XHJcbiAgICA8ZGVmcz5cclxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTY3MF8xMzgxN1wiPlxyXG4gICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgPC9jbGlwUGF0aD5cclxuICAgIDwvZGVmcz5cclxuICA8L3N2Zz5gO1xyXG5cclxuICBzdmdMaW5rZWRpbjogc3RyaW5nID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIuMjIyMjIgMjBIMTcuNzc3OEMxOS4wMDUxIDIwIDIwIDE5LjAwNTEgMjAgMTcuNzc3OFYyLjIyMjIyQzIwIDAuOTk0OTIzIDE5LjAwNTEgMCAxNy43Nzc4IDBIMi4yMjIyMkMwLjk5NDkyMyAwIDAgMC45OTQ5MjMgMCAyLjIyMjIyVjE3Ljc3NzhDMCAxOS4wMDUxIDAuOTk0OTIzIDIwIDIuMjIyMjIgMjBaXCIgZmlsbD1cIiMwMDdFQkJcIi8+XHJcbiAgPC9zdmc+YDtcclxuXHJcbiAgc3ZnTGlua2VkaW5EaXNhYmxlZDogc3RyaW5nID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIuMjIyMjIgMjBIMTcuNzc3OEMxOS4wMDUxIDIwIDIwIDE5LjAwNTEgMjAgMTcuNzc3OFYyLjIyMjIyQzIwIDAuOTk0OTIzIDE5LjAwNTEgMCAxNy43Nzc4IDBIMi4yMjIyMkMwLjk5NDkyMyAwIDAgMC45OTQ5MjMgMCAyLjIyMjIyVjE3Ljc3NzhDMCAxOS4wMDUxIDAuOTk0OTIzIDIwIDIuMjIyMjIgMjBaXCIgZmlsbD1cIiNCRkJGQkZcIi8+XHJcbiAgPC9zdmc+YDtcclxufVxyXG4iLCI8YnV0dG9uIGNsYXNzPVwiY3RuLWJ1dHRvblwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgPHNwYW4gW2lubmVySFRNTF09XCJzdmdcIiBjbGFzcz1cImljb24tYnRuXCI+PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1iYXNlXCI+e3t0ZXh0QnV0dG9ufX08L3NwYW4+XHJcbjwvYnV0dG9uPiJdfQ==
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input, HostListener, inject, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
3
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
+
import { PopoverComponent } from '../popover/popover.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class PopoverDirective {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.overlay = inject(Overlay);
|
|
9
|
+
this.vcr = inject(ViewContainerRef);
|
|
10
|
+
this.hostEl = inject((ElementRef));
|
|
11
|
+
this.overHost = false;
|
|
12
|
+
this.overOverlay = false;
|
|
13
|
+
this.isOpen = false;
|
|
14
|
+
// Opcionales
|
|
15
|
+
this.iusPopoverPosition = ['right', 'left', 'top', 'bottom'];
|
|
16
|
+
this.iusPopoverOpenDelay = 400;
|
|
17
|
+
this.iusPopoverCloseDelay = 200;
|
|
18
|
+
}
|
|
19
|
+
// Eventos host
|
|
20
|
+
_enterHost() { this.overHost = true; this.show(); }
|
|
21
|
+
_focusHost() { this.overHost = true; this.show(); }
|
|
22
|
+
_leaveHost() { this.overHost = false; this.hide(); }
|
|
23
|
+
_blurHost() { this.overHost = false; this.hide(); }
|
|
24
|
+
ngOnDestroy() { this.dispose(); }
|
|
25
|
+
getPositions() {
|
|
26
|
+
const order = Array.isArray(this.iusPopoverPosition)
|
|
27
|
+
? this.iusPopoverPosition : [this.iusPopoverPosition];
|
|
28
|
+
const map = {
|
|
29
|
+
left: { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -10 },
|
|
30
|
+
right: { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: 10 },
|
|
31
|
+
top: { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -10 },
|
|
32
|
+
bottom: { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 10 },
|
|
33
|
+
};
|
|
34
|
+
const all = ['left', 'right', 'top', 'bottom'].map(p => map[p]);
|
|
35
|
+
const preferred = order.map(p => map[p]).filter(Boolean);
|
|
36
|
+
return [...preferred, ...all];
|
|
37
|
+
}
|
|
38
|
+
ensureOverlay() {
|
|
39
|
+
if (this.overlayRef)
|
|
40
|
+
return this.overlayRef;
|
|
41
|
+
const strategy = this.overlay.position()
|
|
42
|
+
.flexibleConnectedTo(this.hostEl)
|
|
43
|
+
.withPositions(this.getPositions())
|
|
44
|
+
.withFlexibleDimensions(false)
|
|
45
|
+
.withViewportMargin(8)
|
|
46
|
+
.withPush(true);
|
|
47
|
+
this.overlayRef = this.overlay.create({
|
|
48
|
+
positionStrategy: strategy,
|
|
49
|
+
hasBackdrop: false,
|
|
50
|
+
panelClass: 'ius-popover-panel',
|
|
51
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
52
|
+
});
|
|
53
|
+
const el = this.overlayRef.overlayElement;
|
|
54
|
+
el.addEventListener('mouseenter', () => { this.overOverlay = true; clearTimeout(this.closeT); });
|
|
55
|
+
el.addEventListener('mouseleave', () => { this.overOverlay = false; this.hide(); });
|
|
56
|
+
// Cuando CDK re-posiciona, recalculamos el lado real y seteamos la clase de cola
|
|
57
|
+
strategy.positionChanges.subscribe(() => {
|
|
58
|
+
if (this.compRef && this.overlayRef) {
|
|
59
|
+
const cls = this.computeTailFromRects();
|
|
60
|
+
this.compRef.instance.positionClass = cls;
|
|
61
|
+
this.compRef.changeDetectorRef.markForCheck();
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return this.overlayRef;
|
|
65
|
+
}
|
|
66
|
+
// Decide el lado de la cola comparando rects reales del host vs overlay
|
|
67
|
+
computeTailFromRects() {
|
|
68
|
+
const host = this.hostEl.nativeElement.getBoundingClientRect();
|
|
69
|
+
const pane = this.overlayRef.overlayElement.getBoundingClientRect();
|
|
70
|
+
const dLeft = Math.abs(pane.right - host.left); // popover a la IZQUIERDA
|
|
71
|
+
const dRight = Math.abs(pane.left - host.right); // popover a la DERECHA
|
|
72
|
+
const dTop = Math.abs(pane.bottom - host.top); // popover ARRIBA
|
|
73
|
+
const dBot = Math.abs(pane.top - host.bottom); // popover ABAJO
|
|
74
|
+
const min = Math.min(dLeft, dRight, dTop, dBot);
|
|
75
|
+
if (min === dRight)
|
|
76
|
+
return 'tail-left'; // popover a la DERECHA -> cola IZQUIERDA
|
|
77
|
+
if (min === dLeft)
|
|
78
|
+
return 'tail-right'; // popover a la IZQUIERDA -> cola DERECHA
|
|
79
|
+
if (min === dBot)
|
|
80
|
+
return 'tail-top'; // popover ABAJO -> cola ARRIBA
|
|
81
|
+
return 'tail-bottom'; // popover ARRIBA -> cola ABAJO
|
|
82
|
+
}
|
|
83
|
+
show() {
|
|
84
|
+
clearTimeout(this.closeT);
|
|
85
|
+
if (this.isOpen)
|
|
86
|
+
return;
|
|
87
|
+
this.openT = setTimeout(() => {
|
|
88
|
+
const overlayRef = this.ensureOverlay();
|
|
89
|
+
if (!this.portal)
|
|
90
|
+
this.portal = new ComponentPortal(PopoverComponent, this.vcr);
|
|
91
|
+
if (!overlayRef.hasAttached()) {
|
|
92
|
+
this.compRef = overlayRef.attach(this.portal);
|
|
93
|
+
this.compRef.instance.label = this.data?.title ?? this.title ?? '';
|
|
94
|
+
this.compRef.instance.content = this.data?.content ?? this.content ?? '';
|
|
95
|
+
}
|
|
96
|
+
overlayRef.updatePosition();
|
|
97
|
+
// Tras el layout real, calculamos la cola exacta
|
|
98
|
+
setTimeout(() => {
|
|
99
|
+
if (this.compRef && this.overlayRef) {
|
|
100
|
+
this.compRef.instance.positionClass = this.computeTailFromRects();
|
|
101
|
+
this.compRef.changeDetectorRef.markForCheck();
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
this.isOpen = true;
|
|
105
|
+
}, this.iusPopoverOpenDelay);
|
|
106
|
+
}
|
|
107
|
+
hide() {
|
|
108
|
+
clearTimeout(this.openT);
|
|
109
|
+
if (this.overHost || this.overOverlay)
|
|
110
|
+
return;
|
|
111
|
+
this.closeT = setTimeout(() => {
|
|
112
|
+
if (this.overlayRef?.hasAttached())
|
|
113
|
+
this.overlayRef.detach();
|
|
114
|
+
this.isOpen = false;
|
|
115
|
+
this.compRef = undefined;
|
|
116
|
+
}, this.iusPopoverCloseDelay);
|
|
117
|
+
}
|
|
118
|
+
forceClose() {
|
|
119
|
+
this.overHost = this.overOverlay = false;
|
|
120
|
+
clearTimeout(this.openT);
|
|
121
|
+
clearTimeout(this.closeT);
|
|
122
|
+
if (this.overlayRef?.hasAttached())
|
|
123
|
+
this.overlayRef.detach();
|
|
124
|
+
this.isOpen = false;
|
|
125
|
+
this.compRef = undefined;
|
|
126
|
+
}
|
|
127
|
+
dispose() {
|
|
128
|
+
this.forceClose();
|
|
129
|
+
this.overlayRef?.dispose();
|
|
130
|
+
this.overlayRef = undefined;
|
|
131
|
+
}
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
133
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PopoverDirective, isStandalone: true, selector: "[iusPopover], [iusPopoverTitle], [iusPopoverContent]", inputs: { data: ["iusPopover", "data"], title: ["iusPopoverTitle", "title"], content: ["iusPopoverContent", "content"], iusPopoverPosition: "iusPopoverPosition", iusPopoverOpenDelay: "iusPopoverOpenDelay", iusPopoverCloseDelay: "iusPopoverCloseDelay" }, host: { listeners: { "keydown.Escape": "forceClose()", "mouseenter": "_enterHost()", "focusin": "_focusHost()", "mouseleave": "_leaveHost()", "focusout": "_blurHost()" } }, ngImport: i0 }); }
|
|
134
|
+
}
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PopoverDirective, decorators: [{
|
|
136
|
+
type: Directive,
|
|
137
|
+
args: [{
|
|
138
|
+
selector: '[iusPopover], [iusPopoverTitle], [iusPopoverContent]',
|
|
139
|
+
standalone: true,
|
|
140
|
+
host: { '(keydown.Escape)': 'forceClose()' }
|
|
141
|
+
}]
|
|
142
|
+
}], propDecorators: { data: [{
|
|
143
|
+
type: Input,
|
|
144
|
+
args: ['iusPopover']
|
|
145
|
+
}], title: [{
|
|
146
|
+
type: Input,
|
|
147
|
+
args: ['iusPopoverTitle']
|
|
148
|
+
}], content: [{
|
|
149
|
+
type: Input,
|
|
150
|
+
args: ['iusPopoverContent']
|
|
151
|
+
}], iusPopoverPosition: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], iusPopoverOpenDelay: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], iusPopoverCloseDelay: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], _enterHost: [{
|
|
158
|
+
type: HostListener,
|
|
159
|
+
args: ['mouseenter']
|
|
160
|
+
}], _focusHost: [{
|
|
161
|
+
type: HostListener,
|
|
162
|
+
args: ['focusin']
|
|
163
|
+
}], _leaveHost: [{
|
|
164
|
+
type: HostListener,
|
|
165
|
+
args: ['mouseleave']
|
|
166
|
+
}], _blurHost: [{
|
|
167
|
+
type: HostListener,
|
|
168
|
+
args: ['focusout']
|
|
169
|
+
}] } });
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3BvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxZQUFZLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsT0FBTyxFQUFtRixNQUFNLHNCQUFzQixDQUFDO0FBQ2hJLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBU2hFLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNVSxZQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLFFBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvQixXQUFNLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFPekMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBT3ZCLGFBQWE7UUFDSix1QkFBa0IsR0FBd0IsQ0FBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxRQUFRLENBQUMsQ0FBQztRQUMxRSx3QkFBbUIsR0FBRyxHQUFHLENBQUM7UUFDMUIseUJBQW9CLEdBQUcsR0FBRyxDQUFDO0tBaUlyQztJQS9IQyxlQUFlO0lBQ2EsVUFBVSxLQUFLLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxVQUFV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QUFtQjtzQkFBM0IsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR3NCLFVBQVU7c0JBQXJDLFlBQVk7dUJBQUMsWUFBWTtnQkFDRCxVQUFVO3NCQUFsQyxZQUFZO3VCQUFDLFNBQVM7Z0JBQ0ssVUFBVTtzQkFBckMsWUFBWTt1QkFBQyxZQUFZO2dCQUNBLFNBQVM7c0JBQWxDLFlBQVk7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgSG9zdExpc3RlbmVyLCBpbmplY3QsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmLCBDb25uZWN0ZWRQb3NpdGlvbiwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XHJcblxyXG50eXBlIFByZWZQb3MgPSAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2l1c1BvcG92ZXJdLCBbaXVzUG9wb3ZlclRpdGxlXSwgW2l1c1BvcG92ZXJDb250ZW50XScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBob3N0OiB7ICcoa2V5ZG93bi5Fc2NhcGUpJzogJ2ZvcmNlQ2xvc2UoKScgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9wb3ZlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xyXG4gIHByaXZhdGUgdmNyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xyXG4gIHByaXZhdGUgaG9zdEVsID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcclxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xyXG4gIHByaXZhdGUgcG9ydGFsPzogQ29tcG9uZW50UG9ydGFsPFBvcG92ZXJDb21wb25lbnQ+O1xyXG4gIHByaXZhdGUgY29tcFJlZj86IENvbXBvbmVudFJlZjxQb3BvdmVyQ29tcG9uZW50PjtcclxuXHJcbiAgcHJpdmF0ZSBvcGVuVD86IGFueTtcclxuICBwcml2YXRlIGNsb3NlVD86IGFueTtcclxuICBwcml2YXRlIG92ZXJIb3N0ID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBvdmVyT3ZlcmxheSA9IGZhbHNlO1xyXG4gIHByaXZhdGUgaXNPcGVuID0gZmFsc2U7XHJcblxyXG4gIC8vIEFQSSBzaW1wbGVcclxuICBASW5wdXQoJ2l1c1BvcG92ZXInKSBkYXRhPzogeyB0aXRsZT86IHN0cmluZzsgY29udGVudD86IHN0cmluZyB9O1xyXG4gIEBJbnB1dCgnaXVzUG9wb3ZlclRpdGxlJykgdGl0bGU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCdpdXNQb3BvdmVyQ29udGVudCcpIGNvbnRlbnQ/OiBzdHJpbmc7XHJcblxyXG4gIC8vIE9wY2lvbmFsZXNcclxuICBASW5wdXQoKSBpdXNQb3BvdmVyUG9zaXRpb246IFByZWZQb3MgfCBQcmVmUG9zW10gPSBbJ3JpZ2h0JywnbGVmdCcsJ3RvcCcsJ2JvdHRvbSddO1xyXG4gIEBJbnB1dCgpIGl1c1BvcG92ZXJPcGVuRGVsYXkgPSA0MDA7XHJcbiAgQElucHV0KCkgaXVzUG9wb3ZlckNsb3NlRGVsYXkgPSAyMDA7XHJcblxyXG4gIC8vIEV2ZW50b3MgaG9zdFxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBfZW50ZXJIb3N0KCkgeyB0aGlzLm92ZXJIb3N0ID0gdHJ1ZTsgdGhpcy5zaG93KCk7IH1cclxuICBASG9zdExpc3RlbmVyKCdmb2N1c2luJykgX2ZvY3VzSG9zdCgpIHsgdGhpcy5vdmVySG9zdCA9IHRydWU7IHRoaXMuc2hvdygpOyB9XHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIF9sZWF2ZUhvc3QoKSB7IHRoaXMub3Zlckhvc3QgPSBmYWxzZTsgdGhpcy5oaWRlKCk7IH1cclxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpIF9ibHVySG9zdCgpIHsgdGhpcy5vdmVySG9zdCA9IGZhbHNlOyB0aGlzLmhpZGUoKTsgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHsgdGhpcy5kaXNwb3NlKCk7IH1cclxuXHJcbiAgZ2V0UG9zaXRpb25zKCk6IENvbm5lY3RlZFBvc2l0aW9uW10ge1xyXG4gICAgY29uc3Qgb3JkZXI6IFByZWZQb3NbXSA9IEFycmF5LmlzQXJyYXkodGhpcy5pdXNQb3BvdmVyUG9zaXRpb24pXHJcbiAgICAgID8gdGhpcy5pdXNQb3BvdmVyUG9zaXRpb24gOiBbdGhpcy5pdXNQb3BvdmVyUG9zaXRpb25dO1xyXG5cclxuICAgIGNvbnN0IG1hcDogUmVjb3JkPFByZWZQb3MsIENvbm5lY3RlZFBvc2l0aW9uPiA9IHtcclxuICAgICAgbGVmdDogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ2NlbnRlcicsIG9mZnNldFg6IC0xMCB9LFxyXG4gICAgICByaWdodDogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2NlbnRlcicsIG9mZnNldFg6IDEwIH0sXHJcbiAgICAgIHRvcDogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAtMTAgfSxcclxuICAgICAgYm90dG9tOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFk6IDEwIH0sXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGFsbCA9IFsnbGVmdCcsICdyaWdodCcsICd0b3AnLCAnYm90dG9tJ10ubWFwKHAgPT4gbWFwW3AgYXMgUHJlZlBvc10pO1xyXG4gICAgY29uc3QgcHJlZmVycmVkID0gb3JkZXIubWFwKHAgPT4gbWFwW3BdKS5maWx0ZXIoQm9vbGVhbik7XHJcbiAgICByZXR1cm4gWy4uLnByZWZlcnJlZCwgLi4uYWxsXTtcclxuICB9XHJcblxyXG4gIGVuc3VyZU92ZXJsYXkoKTogT3ZlcmxheVJlZiB7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSByZXR1cm4gdGhpcy5vdmVybGF5UmVmO1xyXG5cclxuICAgIGNvbnN0IHN0cmF0ZWd5OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKVxyXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmhvc3RFbClcclxuICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5nZXRQb3NpdGlvbnMoKSlcclxuICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXHJcbiAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oOClcclxuICAgICAgLndpdGhQdXNoKHRydWUpO1xyXG5cclxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiBzdHJhdGVneSxcclxuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxyXG4gICAgICBwYW5lbENsYXNzOiAnaXVzLXBvcG92ZXItcGFuZWwnLFxyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgZWwgPSB0aGlzLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQ7XHJcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4geyB0aGlzLm92ZXJPdmVybGF5ID0gdHJ1ZTsgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUKTsgfSk7XHJcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4geyB0aGlzLm92ZXJPdmVybGF5ID0gZmFsc2U7IHRoaXMuaGlkZSgpOyB9KTtcclxuXHJcbiAgICAvLyBDdWFuZG8gQ0RLIHJlLXBvc2ljaW9uYSwgcmVjYWxjdWxhbW9zIGVsIGxhZG8gcmVhbCB5IHNldGVhbW9zIGxhIGNsYXNlIGRlIGNvbGFcclxuICAgIHN0cmF0ZWd5LnBvc2l0aW9uQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jb21wUmVmICYmIHRoaXMub3ZlcmxheVJlZikge1xyXG4gICAgICAgIGNvbnN0IGNscyA9IHRoaXMuY29tcHV0ZVRhaWxGcm9tUmVjdHMoKTtcclxuICAgICAgICB0aGlzLmNvbXBSZWYuaW5zdGFuY2UucG9zaXRpb25DbGFzcyA9IGNscztcclxuICAgICAgICB0aGlzLmNvbXBSZWYuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY7XHJcbiAgfVxyXG5cclxuICAvLyBEZWNpZGUgZWwgbGFkbyBkZSBsYSBjb2xhIGNvbXBhcmFuZG8gcmVjdHMgcmVhbGVzIGRlbCBob3N0IHZzIG92ZXJsYXlcclxuICBjb21wdXRlVGFpbEZyb21SZWN0cygpOiAndGFpbC1sZWZ0JyB8ICd0YWlsLXJpZ2h0JyB8ICd0YWlsLXRvcCcgfCAndGFpbC1ib3R0b20nIHtcclxuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmhvc3RFbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgcGFuZSA9IHRoaXMub3ZlcmxheVJlZiEub3ZlcmxheUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgY29uc3QgZExlZnQgPSBNYXRoLmFicyhwYW5lLnJpZ2h0IC0gaG9zdC5sZWZ0KTsgICAgLy8gcG9wb3ZlciBhIGxhIElaUVVJRVJEQVxyXG4gICAgY29uc3QgZFJpZ2h0ID0gTWF0aC5hYnMocGFuZS5sZWZ0IC0gaG9zdC5yaWdodCk7ICAgLy8gcG9wb3ZlciBhIGxhIERFUkVDSEFcclxuICAgIGNvbnN0IGRUb3AgPSBNYXRoLmFicyhwYW5lLmJvdHRvbSAtIGhvc3QudG9wKTsgICAgIC8vIHBvcG92ZXIgQVJSSUJBXHJcbiAgICBjb25zdCBkQm90ID0gTWF0aC5hYnMocGFuZS50b3AgLSBob3N0LmJvdHRvbSk7ICAvLyBwb3BvdmVyIEFCQUpPXHJcblxyXG4gICAgY29uc3QgbWluID0gTWF0aC5taW4oZExlZnQsIGRSaWdodCwgZFRvcCwgZEJvdCk7XHJcbiAgICBpZiAobWluID09PSBkUmlnaHQpIHJldHVybiAndGFpbC1sZWZ0JzsgICAvLyBwb3BvdmVyIGEgbGEgREVSRUNIQSAtPiBjb2xhIElaUVVJRVJEQVxyXG4gICAgaWYgKG1pbiA9PT0gZExlZnQpIHJldHVybiAndGFpbC1yaWdodCc7ICAvLyBwb3BvdmVyIGEgbGEgSVpRVUlFUkRBIC0+IGNvbGEgREVSRUNIQVxyXG4gICAgaWYgKG1pbiA9PT0gZEJvdCkgcmV0dXJuICd0YWlsLXRvcCc7ICAgIC8vIHBvcG92ZXIgQUJBSk8gLT4gY29sYSBBUlJJQkFcclxuICAgIHJldHVybiAndGFpbC1ib3R0b20nOyAgICAgICAgICAgICAgICAgICAgIC8vIHBvcG92ZXIgQVJSSUJBIC0+IGNvbGEgQUJBSk9cclxuICB9XHJcblxyXG4gIHNob3coKTogdm9pZCB7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVQpO1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5vcGVuVCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5lbnN1cmVPdmVybGF5KCk7XHJcbiAgICAgIGlmICghdGhpcy5wb3J0YWwpIHRoaXMucG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChQb3BvdmVyQ29tcG9uZW50LCB0aGlzLnZjcik7XHJcblxyXG4gICAgICBpZiAoIW92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xyXG4gICAgICAgIHRoaXMuY29tcFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHRoaXMucG9ydGFsKTtcclxuICAgICAgICB0aGlzLmNvbXBSZWYuaW5zdGFuY2UubGFiZWwgPSB0aGlzLmRhdGE/LnRpdGxlID8/IHRoaXMudGl0bGUgPz8gJyc7XHJcbiAgICAgICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQgPz8gdGhpcy5jb250ZW50ID8/ICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBvdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XHJcblxyXG4gICAgICAvLyBUcmFzIGVsIGxheW91dCByZWFsLCBjYWxjdWxhbW9zIGxhIGNvbGEgZXhhY3RhXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbXBSZWYgJiYgdGhpcy5vdmVybGF5UmVmKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbXBSZWYuaW5zdGFuY2UucG9zaXRpb25DbGFzcyA9IHRoaXMuY29tcHV0ZVRhaWxGcm9tUmVjdHMoKTtcclxuICAgICAgICAgIHRoaXMuY29tcFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gICAgfSwgdGhpcy5pdXNQb3BvdmVyT3BlbkRlbGF5KTtcclxuICB9XHJcblxyXG4gIGhpZGUoKTogdm9pZCB7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5vcGVuVCk7XHJcbiAgICBpZiAodGhpcy5vdmVySG9zdCB8fCB0aGlzLm92ZXJPdmVybGF5KSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5jbG9zZVQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSkgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNvbXBSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICB9LCB0aGlzLml1c1BvcG92ZXJDbG9zZURlbGF5KTtcclxuICB9XHJcblxyXG4gIGZvcmNlQ2xvc2UoKSB7XHJcbiAgICB0aGlzLm92ZXJIb3N0ID0gdGhpcy5vdmVyT3ZlcmxheSA9IGZhbHNlO1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMub3BlblQpO1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUKTtcclxuICAgIGlmICh0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmNvbXBSZWYgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBkaXNwb3NlKCkge1xyXG4gICAgdGhpcy5mb3JjZUNsb3NlKCk7XHJcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './input-otp.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1vdHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXQtb3RwLmNvbXBvbmVudCc7XHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChildren } from '@angular/core';
|
|
2
|
+
import { IconMdComponent } from '../icon-md/icon-md.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { FormsModule } from '@angular/forms';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
export class InputOtpComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.length = 6;
|
|
10
|
+
this.disabled = false;
|
|
11
|
+
this.showHelpText = false;
|
|
12
|
+
this.required = true;
|
|
13
|
+
this.onChangesValueEvent = new EventEmitter();
|
|
14
|
+
this.codeComplete = new EventEmitter(); // cuando se llenan todas las casillas
|
|
15
|
+
this.values = [];
|
|
16
|
+
this.focusedIndex = null;
|
|
17
|
+
this.isAlertText = false;
|
|
18
|
+
}
|
|
19
|
+
get isAnyFocused() { return this.focusedIndex !== null; }
|
|
20
|
+
get boxes() { return Array.from({ length: this.length }); }
|
|
21
|
+
get code() { return this.values.join(''); }
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
this.values = Array(this.length).fill('');
|
|
24
|
+
}
|
|
25
|
+
clearSearch() {
|
|
26
|
+
this.values.fill('');
|
|
27
|
+
this.emitChange();
|
|
28
|
+
this.isAlertText = this.required;
|
|
29
|
+
this.focusIndex(0);
|
|
30
|
+
}
|
|
31
|
+
onFocus(index) {
|
|
32
|
+
this.focusedIndex = index;
|
|
33
|
+
this.isAlertText = false;
|
|
34
|
+
}
|
|
35
|
+
onBlur() {
|
|
36
|
+
this.focusedIndex = null;
|
|
37
|
+
if (this.required) {
|
|
38
|
+
this.isAlertText = this.code.length !== this.length;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Restringe a dígitos y mueve el foco
|
|
42
|
+
onInputBox(e, index) {
|
|
43
|
+
const inputEvent = e;
|
|
44
|
+
const input = inputEvent.target;
|
|
45
|
+
const raw = (input.value || '').replace(/\D/g, '');
|
|
46
|
+
// Nos quedamos con el último dígito si escribió varios
|
|
47
|
+
const char = raw.slice(-1);
|
|
48
|
+
this.values[index] = char ?? '';
|
|
49
|
+
input.value = this.values[index];
|
|
50
|
+
// Avanza si hay valor
|
|
51
|
+
if (char && index < this.length - 1)
|
|
52
|
+
this.focusIndex(index + 1);
|
|
53
|
+
this.emitChange();
|
|
54
|
+
// Si escribió múltiples (p.ej. autofill) distribuye
|
|
55
|
+
if (raw.length > 1)
|
|
56
|
+
this.spreadFrom(index, raw);
|
|
57
|
+
}
|
|
58
|
+
// Teclas especiales: backspace, flechas, delete
|
|
59
|
+
onKeyDown(event, index) {
|
|
60
|
+
const key = event.key;
|
|
61
|
+
if (!/^[0-9]$/.test(key) &&
|
|
62
|
+
!['Backspace', 'ArrowLeft', 'ArrowRight', 'Delete', 'Tab'].includes(key)) {
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (key === 'Backspace') {
|
|
67
|
+
if (this.values[index]) {
|
|
68
|
+
this.values[index] = '';
|
|
69
|
+
this.emitChange();
|
|
70
|
+
}
|
|
71
|
+
else if (index > 0) {
|
|
72
|
+
this.focusIndex(index - 1);
|
|
73
|
+
// limpia la anterior para UX tipo “focused-error”
|
|
74
|
+
const prev = this.otpInputs.get(index - 1)?.nativeElement;
|
|
75
|
+
if (prev) {
|
|
76
|
+
prev.value = '';
|
|
77
|
+
this.values[index - 1] = '';
|
|
78
|
+
this.emitChange();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
event.preventDefault();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (key === 'Delete') {
|
|
85
|
+
this.values[index] = '';
|
|
86
|
+
this.emitChange();
|
|
87
|
+
event.preventDefault();
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (key === 'ArrowLeft' && index > 0) {
|
|
91
|
+
this.focusIndex(index - 1);
|
|
92
|
+
event.preventDefault();
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (key === 'ArrowRight' && index < this.length - 1) {
|
|
96
|
+
this.focusIndex(index + 1);
|
|
97
|
+
event.preventDefault();
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Pegar un código completo
|
|
102
|
+
onPaste(event) {
|
|
103
|
+
if (this.disabled)
|
|
104
|
+
return;
|
|
105
|
+
event.preventDefault();
|
|
106
|
+
const data = (event.clipboardData?.getData('text') || '').replace(/\D/g, '').slice(0, this.length);
|
|
107
|
+
if (!data)
|
|
108
|
+
return;
|
|
109
|
+
const start = this.focusedIndex ?? 0;
|
|
110
|
+
this.spreadFrom(start, data);
|
|
111
|
+
this.emitChange();
|
|
112
|
+
}
|
|
113
|
+
/** Distribuye una cadena a partir de un índice */
|
|
114
|
+
spreadFrom(startIndex, data) {
|
|
115
|
+
let i = startIndex;
|
|
116
|
+
for (const ch of data) {
|
|
117
|
+
if (i >= this.length)
|
|
118
|
+
break;
|
|
119
|
+
this.values[i] = ch;
|
|
120
|
+
const el = this.otpInputs.get(i)?.nativeElement;
|
|
121
|
+
if (el)
|
|
122
|
+
el.value = ch;
|
|
123
|
+
i++;
|
|
124
|
+
}
|
|
125
|
+
// Enfoca siguiente libre o se queda en el último
|
|
126
|
+
const nextFree = this.values.findIndex((v, idx) => v === '' && idx >= startIndex);
|
|
127
|
+
this.focusIndex(nextFree === -1 ? this.length - 1 : nextFree);
|
|
128
|
+
}
|
|
129
|
+
/** Enfoca por índice de forma segura */
|
|
130
|
+
focusIndex(i) {
|
|
131
|
+
setTimeout(() => {
|
|
132
|
+
const el = this.otpInputs?.get(i)?.nativeElement;
|
|
133
|
+
if (el)
|
|
134
|
+
el.focus();
|
|
135
|
+
this.focusedIndex = i;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/** Emite cambios y dispara codeComplete si procede */
|
|
139
|
+
emitChange() {
|
|
140
|
+
const code = this.code;
|
|
141
|
+
this.onChangesValueEvent.emit(code);
|
|
142
|
+
if (code.length === this.length) {
|
|
143
|
+
this.isAlertText = false;
|
|
144
|
+
this.codeComplete.emit(code);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputOtpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: InputOtpComponent, isStandalone: true, selector: "ius-input-otp", inputs: { length: "length", disabled: "disabled", showHelpText: "showHelpText", labelSuperior: "labelSuperior", labelInferior: "labelInferior", required: "required" }, outputs: { onChangesValueEvent: "onChangesValueEvent", codeComplete: "codeComplete" }, viewQueries: [{ propertyName: "otpInputs", predicate: ["otpInput"], descendants: true }], ngImport: i0, template: "<div class=\"container-general\">\r\n @if (labelSuperior) {\r\n <div class=\"container-label-sup\" [ngClass]=\"{ 'disabled': disabled }\">\r\n @if(!disabled && required){ <div class=\"icon-dot\"></div> }\r\n <span>{{ labelSuperior }}</span>\r\n @if(!disabled && showHelpText){\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-color-help\"></ius-icon-md>\r\n }\r\n <span>:</span>\r\n </div>\r\n }\r\n\r\n <div class=\"container-otp\">\r\n <!-- Casillas OTP -->\r\n <div class=\"otp-grid\">\r\n @for (ctrl of boxes; track $index) {\r\n <div\r\n class=\"container-textfield\"\r\n [ngClass]=\"{\r\n 'disabled': disabled,\r\n 'focused': focusedIndex === $index,\r\n 'alert': !disabled && isAlertText\r\n }\"\r\n >\r\n <input\r\n #otpInput\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n pattern=\"[0-9]*\"\r\n maxlength=\"1\"\r\n [disabled]=\"disabled\"\r\n [value]=\"values[$index]\"\r\n (focus)=\"onFocus($index)\"\r\n (blur)=\"onBlur()\"\r\n (keydown)=\"onKeyDown($event, $index)\"\r\n (input)=\"onInputBox($event, $index)\"\r\n (paste)=\"onPaste($event)\"\r\n />\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (!disabled && this.code.length > 0 ) {\r\n <button class=\"button-delete\" (click)=\"clearSearch()\" [ngClass]=\"{\r\n 'alert': !disabled && isAlertText\r\n }\">\r\n <ius-icon-md iconName=\"icon-cancel\" class=\"icon-color-cancel\" [ngClass]=\"{\r\n 'alert': !disabled && isAlertText\r\n }\"></ius-icon-md>\r\n </button>\r\n }\r\n </div>\r\n\r\n @if (labelInferior && isAnyFocused) {\r\n <span class=\"label-inf\">{{ labelInferior }}</span>\r\n }\r\n @if (labelInferior && !isAnyFocused && isAlertText) {\r\n <span class=\"label-inf\" [ngClass]=\"{ 'alert': isAlertText }\">{{ labelInferior }}</span>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.container-general{position:relative;height:100%}.container-otp{display:flex;align-items:center;gap:8px}.otp-grid{display:flex;gap:4px}.otp-grid:hover .container-textfield:not(.disabled){background:#edf6ff;border:1px solid #EDF6FF}.container-textfield{display:inline-flex;width:40px;height:40px;border:1px solid #f5f5f5;border-radius:8px;background:#f5f5f5;transition:all .15s ease-in-out}.container-textfield:hover:not(.disabled):not(.focused):not(.alert){background:#edf6ff;border:1px solid #EDF6FF}.container-textfield.focused{border:1px solid #0581BC;background:#edf6ff}.container-textfield.alert{border:1px solid #DB2E2A;background:#fff4f0}.container-textfield.disabled{background:#f5f5f5}.container-textfield input{width:100%;height:100%;border:none;outline:none;text-align:center;background:transparent;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;line-height:20px;letter-spacing:.28px}.container-textfield input::-webkit-outer-spin-button,.container-textfield input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.button-delete{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;color:#595959}.container-label-sup{display:flex;align-items:center;gap:4px;margin-bottom:8px;color:#333;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.container-label-sup.disabled{color:#bfbfbf}.icon-dot{width:4px;height:4px;background-color:#db2e2a;border-radius:100px}.icon-color-help{color:#8c8c8c}.icon-color-cancel{color:#013169}.icon-color-cancel.alert{color:#b71d26}.label-inf{position:absolute;margin-top:4px;color:#595959;font-family:Roboto,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.label-inf.alert{color:#931224}\n"], dependencies: [{ kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
149
|
+
}
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputOtpComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
152
|
+
args: [{ selector: 'ius-input-otp', standalone: true, imports: [IconMdComponent, FormsModule, CommonModule], template: "<div class=\"container-general\">\r\n @if (labelSuperior) {\r\n <div class=\"container-label-sup\" [ngClass]=\"{ 'disabled': disabled }\">\r\n @if(!disabled && required){ <div class=\"icon-dot\"></div> }\r\n <span>{{ labelSuperior }}</span>\r\n @if(!disabled && showHelpText){\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-color-help\"></ius-icon-md>\r\n }\r\n <span>:</span>\r\n </div>\r\n }\r\n\r\n <div class=\"container-otp\">\r\n <!-- Casillas OTP -->\r\n <div class=\"otp-grid\">\r\n @for (ctrl of boxes; track $index) {\r\n <div\r\n class=\"container-textfield\"\r\n [ngClass]=\"{\r\n 'disabled': disabled,\r\n 'focused': focusedIndex === $index,\r\n 'alert': !disabled && isAlertText\r\n }\"\r\n >\r\n <input\r\n #otpInput\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n pattern=\"[0-9]*\"\r\n maxlength=\"1\"\r\n [disabled]=\"disabled\"\r\n [value]=\"values[$index]\"\r\n (focus)=\"onFocus($index)\"\r\n (blur)=\"onBlur()\"\r\n (keydown)=\"onKeyDown($event, $index)\"\r\n (input)=\"onInputBox($event, $index)\"\r\n (paste)=\"onPaste($event)\"\r\n />\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (!disabled && this.code.length > 0 ) {\r\n <button class=\"button-delete\" (click)=\"clearSearch()\" [ngClass]=\"{\r\n 'alert': !disabled && isAlertText\r\n }\">\r\n <ius-icon-md iconName=\"icon-cancel\" class=\"icon-color-cancel\" [ngClass]=\"{\r\n 'alert': !disabled && isAlertText\r\n }\"></ius-icon-md>\r\n </button>\r\n }\r\n </div>\r\n\r\n @if (labelInferior && isAnyFocused) {\r\n <span class=\"label-inf\">{{ labelInferior }}</span>\r\n }\r\n @if (labelInferior && !isAnyFocused && isAlertText) {\r\n <span class=\"label-inf\" [ngClass]=\"{ 'alert': isAlertText }\">{{ labelInferior }}</span>\r\n }\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.container-general{position:relative;height:100%}.container-otp{display:flex;align-items:center;gap:8px}.otp-grid{display:flex;gap:4px}.otp-grid:hover .container-textfield:not(.disabled){background:#edf6ff;border:1px solid #EDF6FF}.container-textfield{display:inline-flex;width:40px;height:40px;border:1px solid #f5f5f5;border-radius:8px;background:#f5f5f5;transition:all .15s ease-in-out}.container-textfield:hover:not(.disabled):not(.focused):not(.alert){background:#edf6ff;border:1px solid #EDF6FF}.container-textfield.focused{border:1px solid #0581BC;background:#edf6ff}.container-textfield.alert{border:1px solid #DB2E2A;background:#fff4f0}.container-textfield.disabled{background:#f5f5f5}.container-textfield input{width:100%;height:100%;border:none;outline:none;text-align:center;background:transparent;color:#8c8c8c;font-family:Rubik,sans-serif;font-size:.875rem;line-height:20px;letter-spacing:.28px}.container-textfield input::-webkit-outer-spin-button,.container-textfield input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.button-delete{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;color:#595959}.container-label-sup{display:flex;align-items:center;gap:4px;margin-bottom:8px;color:#333;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.container-label-sup.disabled{color:#bfbfbf}.icon-dot{width:4px;height:4px;background-color:#db2e2a;border-radius:100px}.icon-color-help{color:#8c8c8c}.icon-color-cancel{color:#013169}.icon-color-cancel.alert{color:#b71d26}.label-inf{position:absolute;margin-top:4px;color:#595959;font-family:Roboto,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.label-inf.alert{color:#931224}\n"] }]
|
|
153
|
+
}], propDecorators: { length: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], disabled: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], showHelpText: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], labelSuperior: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], labelInferior: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], required: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], onChangesValueEvent: [{
|
|
166
|
+
type: Output
|
|
167
|
+
}], codeComplete: [{
|
|
168
|
+
type: Output
|
|
169
|
+
}], otpInputs: [{
|
|
170
|
+
type: ViewChildren,
|
|
171
|
+
args: ['otpInput']
|
|
172
|
+
}] } });
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtb3RwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2lucHV0LW90cC9pbnB1dC1vdHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtb3RwL2lucHV0LW90cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVM3QyxNQUFNLE9BQU8saUJBQWlCO0lBUDlCO1FBUVcsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUVYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVmLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDakQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDLENBQUMsc0NBQXNDO1FBRzNGLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFDdEIsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBcUlyQjtJQW5JQyxJQUFJLFlBQVksS0FBYyxPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRSxJQUFJLEtBQUssS0FBWSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksSUFBSSxLQUFhLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0RCxDQUFDO0lBQ0gsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxVQUFVLENBQUMsQ0FBUSxFQUFFLEtBQWE7UUFDaEMsTUFBTSxVQUFVLEdBQUcsQ0FBZSxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUEwQixDQUFDO1FBQ3BELE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRW5ELHVEQUF1RDtRQUN2RCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqQyxzQkFBc0I7UUFDdEIsSUFBSSxJQUFJLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQixvREFBb0Q7UUFDcEQsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUM7WUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELFNBQVMsQ0FBQyxLQUFvQixFQUFFLEtBQWE7UUFDM0MsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUV0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDdEIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUN4QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixDQUFDO2lCQUFNLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDM0Isa0RBQWtEO2dCQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDO2dCQUMxRCxJQUFJLElBQUksRUFBRSxDQUFDO29CQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQUMsQ0FBQztZQUNoRixDQUFDO1lBQ0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksR0FBRyxLQUFLLFdBQVcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQzdELENBQUM7UUFDRCxJQUFJLEdBQUcsS0FBSyxZQUFZLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQzdELENBQUM7SUFDSCxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLE9BQU8sQ0FBQyxLQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUVsQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxVQUFVLENBQUMsVUFBa0IsRUFBRSxJQUFZO1FBQ3pDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUNuQixLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNO2dCQUFFLE1BQU07WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDO1lBQ2hELElBQUksRUFBRTtnQkFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN0QixDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUM7UUFDRCxpREFBaUQ7UUFDakQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsVUFBVSxDQUFDLENBQVM7UUFDbEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQztZQUNqRCxJQUFJLEVBQUU7Z0JBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxVQUFVO1FBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7K0dBbkpVLGlCQUFpQjttR0FBakIsaUJBQWlCLGthQ1o5Qiw2aUVBNERBLGlxR0RwRFksZUFBZSxzRkFBRSxXQUFXLDhCQUFFLFlBQVk7OzRGQUl6QyxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDOzhCQUs1QyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNtQixTQUFTO3NCQUFsQyxZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWNvbk1kQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1tZC9pY29uLW1kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtaW5wdXQtb3RwJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtJY29uTWRDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1vdHAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9pbnB1dC1vdHAuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dE90cENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGVuZ3RoID0gNjtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93SGVscFRleHQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBsYWJlbFN1cGVyaW9yPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsSW5mZXJpb3I/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgb25DaGFuZ2VzVmFsdWVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBjb2RlQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTsgLy8gY3VhbmRvIHNlIGxsZW5hbiB0b2RhcyBsYXMgY2FzaWxsYXNcclxuICBAVmlld0NoaWxkcmVuKCdvdHBJbnB1dCcpIG90cElucHV0cyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PjtcclxuXHJcbiAgdmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGZvY3VzZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgaXNBbGVydFRleHQgPSBmYWxzZTtcclxuXHJcbiAgZ2V0IGlzQW55Rm9jdXNlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuZm9jdXNlZEluZGV4ICE9PSBudWxsOyB9XHJcbiAgZ2V0IGJveGVzKCk6IGFueVtdIHsgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMubGVuZ3RoIH0pOyB9XHJcbiAgZ2V0IGNvZGUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMudmFsdWVzLmpvaW4oJycpOyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy52YWx1ZXMgPSBBcnJheSh0aGlzLmxlbmd0aCkuZmlsbCgnJyk7XHJcbiAgfVxyXG5cclxuICBjbGVhclNlYXJjaCgpIHtcclxuICAgIHRoaXMudmFsdWVzLmZpbGwoJycpO1xyXG4gICAgdGhpcy5lbWl0Q2hhbmdlKCk7XHJcbiAgICB0aGlzLmlzQWxlcnRUZXh0ID0gdGhpcy5yZXF1aXJlZDtcclxuICAgIHRoaXMuZm9jdXNJbmRleCgwKTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5mb2N1c2VkSW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uQmx1cigpIHtcclxuICAgIHRoaXMuZm9jdXNlZEluZGV4ID0gbnVsbDtcclxuICAgIGlmICh0aGlzLnJlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSB0aGlzLmNvZGUubGVuZ3RoICE9PSB0aGlzLmxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlc3RyaW5nZSBhIGTDrWdpdG9zIHkgbXVldmUgZWwgZm9jb1xyXG4gIG9uSW5wdXRCb3goZTogRXZlbnQsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGlucHV0RXZlbnQgPSBlIGFzIElucHV0RXZlbnQ7XHJcbiAgICBjb25zdCBpbnB1dCA9IGlucHV0RXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCByYXcgPSAoaW5wdXQudmFsdWUgfHwgJycpLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcblxyXG4gICAgLy8gTm9zIHF1ZWRhbW9zIGNvbiBlbCDDumx0aW1vIGTDrWdpdG8gc2kgZXNjcmliacOzIHZhcmlvc1xyXG4gICAgY29uc3QgY2hhciA9IHJhdy5zbGljZSgtMSk7XHJcbiAgICB0aGlzLnZhbHVlc1tpbmRleF0gPSBjaGFyID8/ICcnO1xyXG4gICAgaW5wdXQudmFsdWUgPSB0aGlzLnZhbHVlc1tpbmRleF07XHJcblxyXG4gICAgLy8gQXZhbnphIHNpIGhheSB2YWxvclxyXG4gICAgaWYgKGNoYXIgJiYgaW5kZXggPCB0aGlzLmxlbmd0aCAtIDEpIHRoaXMuZm9jdXNJbmRleChpbmRleCArIDEpO1xyXG5cclxuICAgIHRoaXMuZW1pdENoYW5nZSgpO1xyXG5cclxuICAgIC8vIFNpIGVzY3JpYmnDsyBtw7psdGlwbGVzIChwLmVqLiBhdXRvZmlsbCkgZGlzdHJpYnV5ZVxyXG4gICAgaWYgKHJhdy5sZW5ndGggPiAxKSB0aGlzLnNwcmVhZEZyb20oaW5kZXgsIHJhdyk7XHJcbiAgfVxyXG5cclxuICAvLyBUZWNsYXMgZXNwZWNpYWxlczogYmFja3NwYWNlLCBmbGVjaGFzLCBkZWxldGVcclxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcclxuXHJcbiAgICBpZiAoIS9eWzAtOV0kLy50ZXN0KGtleSkgJiZcclxuICAgICAgIVsnQmFja3NwYWNlJywgJ0Fycm93TGVmdCcsICdBcnJvd1JpZ2h0JywgJ0RlbGV0ZScsICdUYWInXS5pbmNsdWRlcyhrZXkpKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoa2V5ID09PSAnQmFja3NwYWNlJykge1xyXG4gICAgICBpZiAodGhpcy52YWx1ZXNbaW5kZXhdKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXhdID0gJyc7XHJcbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5mb2N1c0luZGV4KGluZGV4IC0gMSk7XHJcbiAgICAgICAgLy8gbGltcGlhIGxhIGFudGVyaW9yIHBhcmEgVVggdGlwbyDigJxmb2N1c2VkLWVycm9y4oCdXHJcbiAgICAgICAgY29uc3QgcHJldiA9IHRoaXMub3RwSW5wdXRzLmdldChpbmRleCAtIDEpPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmIChwcmV2KSB7IHByZXYudmFsdWUgPSAnJzsgdGhpcy52YWx1ZXNbaW5kZXggLSAxXSA9ICcnOyB0aGlzLmVtaXRDaGFuZ2UoKTsgfVxyXG4gICAgICB9XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoa2V5ID09PSAnRGVsZXRlJykge1xyXG4gICAgICB0aGlzLnZhbHVlc1tpbmRleF0gPSAnJztcclxuICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoa2V5ID09PSAnQXJyb3dMZWZ0JyAmJiBpbmRleCA+IDApIHtcclxuICAgICAgdGhpcy5mb2N1c0luZGV4KGluZGV4IC0gMSk7IGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChrZXkgPT09ICdBcnJvd1JpZ2h0JyAmJiBpbmRleCA8IHRoaXMubGVuZ3RoIC0gMSkge1xyXG4gICAgICB0aGlzLmZvY3VzSW5kZXgoaW5kZXggKyAxKTsgZXZlbnQucHJldmVudERlZmF1bHQoKTsgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUGVnYXIgdW4gY8OzZGlnbyBjb21wbGV0b1xyXG4gIG9uUGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IGRhdGEgPSAoZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dCcpIHx8ICcnKS5yZXBsYWNlKC9cXEQvZywgJycpLnNsaWNlKDAsIHRoaXMubGVuZ3RoKTtcclxuICAgIGlmICghZGF0YSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5mb2N1c2VkSW5kZXggPz8gMDtcclxuICAgIHRoaXMuc3ByZWFkRnJvbShzdGFydCwgZGF0YSk7XHJcbiAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIC8qKiBEaXN0cmlidXllIHVuYSBjYWRlbmEgYSBwYXJ0aXIgZGUgdW4gw61uZGljZSAqL1xyXG4gIHNwcmVhZEZyb20oc3RhcnRJbmRleDogbnVtYmVyLCBkYXRhOiBzdHJpbmcpIHtcclxuICAgIGxldCBpID0gc3RhcnRJbmRleDtcclxuICAgIGZvciAoY29uc3QgY2ggb2YgZGF0YSkge1xyXG4gICAgICBpZiAoaSA+PSB0aGlzLmxlbmd0aCkgYnJlYWs7XHJcbiAgICAgIHRoaXMudmFsdWVzW2ldID0gY2g7XHJcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5vdHBJbnB1dHMuZ2V0KGkpPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBpZiAoZWwpIGVsLnZhbHVlID0gY2g7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICAgIC8vIEVuZm9jYSBzaWd1aWVudGUgbGlicmUgbyBzZSBxdWVkYSBlbiBlbCDDumx0aW1vXHJcbiAgICBjb25zdCBuZXh0RnJlZSA9IHRoaXMudmFsdWVzLmZpbmRJbmRleCgodiwgaWR4KSA9PiB2ID09PSAnJyAmJiBpZHggPj0gc3RhcnRJbmRleCk7XHJcbiAgICB0aGlzLmZvY3VzSW5kZXgobmV4dEZyZWUgPT09IC0xID8gdGhpcy5sZW5ndGggLSAxIDogbmV4dEZyZWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEVuZm9jYSBwb3Igw61uZGljZSBkZSBmb3JtYSBzZWd1cmEgKi9cclxuICBmb2N1c0luZGV4KGk6IG51bWJlcikge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5vdHBJbnB1dHM/LmdldChpKT8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgaWYgKGVsKSBlbC5mb2N1cygpO1xyXG4gICAgICB0aGlzLmZvY3VzZWRJbmRleCA9IGk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBFbWl0ZSBjYW1iaW9zIHkgZGlzcGFyYSBjb2RlQ29tcGxldGUgc2kgcHJvY2VkZSAqL1xyXG4gIGVtaXRDaGFuZ2UoKSB7XHJcbiAgICBjb25zdCBjb2RlID0gdGhpcy5jb2RlO1xyXG4gICAgdGhpcy5vbkNoYW5nZXNWYWx1ZUV2ZW50LmVtaXQoY29kZSk7XHJcbiAgICBpZiAoY29kZS5sZW5ndGggPT09IHRoaXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jb2RlQ29tcGxldGUuZW1pdChjb2RlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1nZW5lcmFsXCI+XHJcbiAgQGlmIChsYWJlbFN1cGVyaW9yKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxhYmVsLXN1cFwiIFtuZ0NsYXNzXT1cInsgJ2Rpc2FibGVkJzogZGlzYWJsZWQgfVwiPlxyXG4gICAgICBAaWYoIWRpc2FibGVkICYmIHJlcXVpcmVkKXsgPGRpdiBjbGFzcz1cImljb24tZG90XCI+PC9kaXY+IH1cclxuICAgICAgPHNwYW4+e3sgbGFiZWxTdXBlcmlvciB9fTwvc3Bhbj5cclxuICAgICAgQGlmKCFkaXNhYmxlZCAmJiBzaG93SGVscFRleHQpe1xyXG4gICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1jb2xvci1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgfVxyXG4gICAgICA8c3Bhbj46PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLW90cFwiPlxyXG4gICAgPCEtLSBDYXNpbGxhcyBPVFAgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwib3RwLWdyaWRcIj5cclxuICAgICAgQGZvciAoY3RybCBvZiBib3hlczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJjb250YWluZXItdGV4dGZpZWxkXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgJ2Rpc2FibGVkJzogZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICdmb2N1c2VkJzogZm9jdXNlZEluZGV4ID09PSAkaW5kZXgsXHJcbiAgICAgICAgICAgICdhbGVydCc6ICFkaXNhYmxlZCAmJiBpc0FsZXJ0VGV4dFxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICNvdHBJbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxyXG4gICAgICAgICAgICBwYXR0ZXJuPVwiWzAtOV0qXCJcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZXNbJGluZGV4XVwiXHJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRpbmRleClcIlxyXG4gICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxyXG4gICAgICAgICAgICAoaW5wdXQpPVwib25JbnB1dEJveCgkZXZlbnQsICRpbmRleClcIlxyXG4gICAgICAgICAgICAocGFzdGUpPVwib25QYXN0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZiAoIWRpc2FibGVkICYmIHRoaXMuY29kZS5sZW5ndGggPiAwICkge1xyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uLWRlbGV0ZVwiIChjbGljayk9XCJjbGVhclNlYXJjaCgpXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAnYWxlcnQnOiAhZGlzYWJsZWQgJiYgaXNBbGVydFRleHRcclxuICAgICAgICAgIH1cIj5cclxuICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWNhbmNlbFwiIGNsYXNzPVwiaWNvbi1jb2xvci1jYW5jZWxcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICdhbGVydCc6ICFkaXNhYmxlZCAmJiBpc0FsZXJ0VGV4dFxyXG4gICAgICAgICAgfVwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICBAaWYgKGxhYmVsSW5mZXJpb3IgJiYgaXNBbnlGb2N1c2VkKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWluZlwiPnt7IGxhYmVsSW5mZXJpb3IgfX08L3NwYW4+XHJcbiAgfVxyXG4gIEBpZiAobGFiZWxJbmZlcmlvciAmJiAhaXNBbnlGb2N1c2VkICYmIGlzQWxlcnRUZXh0KSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWluZlwiIFtuZ0NsYXNzXT1cInsgJ2FsZXJ0JzogaXNBbGVydFRleHQgfVwiPnt7IGxhYmVsSW5mZXJpb3IgfX08L3NwYW4+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './input-password.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1wYXNzd29yZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5cclxuIl19
|