@dev-tcloud/tcloud-ui 0.1.19 → 0.1.20
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/esm2020/lib/_directives/el-copy/el-copy.directive.mjs +21 -3
- package/esm2020/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.mjs +13 -4
- package/esm2020/lib/_pipes/bytes.mjs +10 -2
- package/fesm2015/dev-tcloud-tcloud-ui.mjs +42 -6
- package/fesm2015/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/fesm2020/dev-tcloud-tcloud-ui.mjs +41 -6
- package/fesm2020/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.d.ts +4 -1
- package/lib/_pipes/bytes.d.ts +1 -1
- package/package.json +1 -1
- package/scss/components/custom/el-copy.scss +12 -0
|
@@ -14,7 +14,13 @@ export class TCloudUiElCopyDirective {
|
|
|
14
14
|
const btn_copy = this.renderer.createElement('i');
|
|
15
15
|
var copyText = () => {
|
|
16
16
|
const elementWithCopyAttribute = document.querySelector(`[data-el-copy="${id}"]`);
|
|
17
|
-
|
|
17
|
+
let copyText = '';
|
|
18
|
+
if (elementWithCopyAttribute && elementWithCopyAttribute.tagName && (elementWithCopyAttribute.tagName).toUpperCase() === 'INPUT') {
|
|
19
|
+
copyText = elementWithCopyAttribute?.value;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
copyText = elementWithCopyAttribute?.textContent;
|
|
23
|
+
}
|
|
18
24
|
navigator.clipboard.writeText(copyText);
|
|
19
25
|
this.renderer.removeClass(btn_copy, 'fa-copy');
|
|
20
26
|
this.renderer.addClass(btn_copy, 'fa-check');
|
|
@@ -33,7 +39,19 @@ export class TCloudUiElCopyDirective {
|
|
|
33
39
|
this.renderer.setAttribute(btn_copy, 'id', id);
|
|
34
40
|
this.renderer.setAttribute(btn_copy, 'title', 'Copy');
|
|
35
41
|
this.renderer.listen(btn_copy, 'click', () => { copyText(); });
|
|
36
|
-
|
|
42
|
+
if (((this.el.nativeElement).tagName).toUpperCase() === 'INPUT') {
|
|
43
|
+
let classList = this.el.nativeElement?.classList;
|
|
44
|
+
if (classList && (classList).length > 0 && ('tc-form-control').indexOf(classList) > -1) {
|
|
45
|
+
this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy-tc-form-control');
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy');
|
|
49
|
+
}
|
|
50
|
+
this.renderer.appendChild(this.el.nativeElement.parentNode, btn_copy);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.renderer.appendChild(this.el.nativeElement, btn_copy);
|
|
54
|
+
}
|
|
37
55
|
}
|
|
38
56
|
generateID(target) {
|
|
39
57
|
const ref = (target) ? `-${target}` : '';
|
|
@@ -48,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
48
66
|
selector: '[TCCopy]'
|
|
49
67
|
}]
|
|
50
68
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWwtY29weS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fZGlyZWN0aXZlcy9lbC1jb3B5L2VsLWNvcHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLE1BQU0sZUFBZSxDQUFDOztBQU0vRSxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQ1UsRUFBYyxFQUNkLFFBQW1CO1FBRG5CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBSnJCLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFLNUIsQ0FBQztJQUVOLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZTtRQUViLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxELElBQUksUUFBUSxHQUFHLEdBQUUsRUFBRTtZQUNmLE1BQU0sd0JBQXdCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQVEsQ0FBQztZQUN6RixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUE7WUFDakIsSUFBSSx3QkFBd0IsSUFBSSx3QkFBd0IsQ0FBQyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPLEVBQUU7Z0JBQ2hJLFFBQVEsR0FBRyx3QkFBd0IsRUFBRSxLQUFNLENBQUM7YUFDN0M7aUJBQUk7Z0JBQ0gsUUFBUSxHQUFHLHdCQUF3QixFQUFFLFdBQVksQ0FBQzthQUNuRDtZQUNELFNBQVMsQ0FB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QUUsQ0FBQztRQUN6QyxPQUFPLGNBQWMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNsRyxDQUFDOztxSEF2RVUsdUJBQXVCO3lHQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uSW5pdCwgUmVuZGVyZXIyLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbVENDb3B5XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRDbG91ZFVpRWxDb3B5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0e1xyXG5cclxuICBwcml2YXRlIF9pc0NvcHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICAgICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnZWwnLCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xyXG5cclxuICAgIHRoaXMuc2V0SXRlbUZ1bmNDb3B5KCk7XHJcbiAgfVxyXG5cclxuICBzZXRJdGVtRnVuY0NvcHkoKXtcclxuXHJcbiAgICBjb25zdCBidG5fY29weSA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaScpO1xyXG5cclxuICAgIHZhciBjb3B5VGV4dCA9ICgpPT57ICAgICAgICBcclxuICAgICAgICBjb25zdCBlbGVtZW50V2l0aENvcHlBdHRyaWJ1dGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1lbC1jb3B5PVwiJHtpZH1cIl1gKSBhcyBhbnk7XHJcbiAgICAgICAgbGV0IGNvcHlUZXh0ID0gJydcclxuICAgICAgICBpZiggZWxlbWVudFdpdGhDb3B5QXR0cmlidXRlICYmIGVsZW1lbnRXaXRoQ29weUF0dHJpYnV0ZS50YWdOYW1lICYmIChlbGVtZW50V2l0aENvcHlBdHRyaWJ1dGUudGFnTmFtZSkudG9VcHBlckNhc2UoKSA9PT0gJ0lOUFVUJyApe1xyXG4gICAgICAgICAgY29weVRleHQgPSBlbGVtZW50V2l0aENvcHlBdHRyaWJ1dGU/LnZhbHVlITtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGNvcHlUZXh0ID0gZWxlbWVudFdpdGhDb3B5QXR0cmlidXRlPy50ZXh0Q29udGVudCE7XHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY29weVRleHQpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoYnRuX2NvcHksICdmYS1jb3B5Jyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhidG5fY29weSwgJ2ZhLWNoZWNrJyk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoYnRuX2NvcHksICdmYS1jaGVjaycpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGJ0bl9jb3B5LCAnZmEtY29weScpO1xyXG4gICAgICAgIH0sIDMwMDApO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGlkID0gdGhpcy5nZW5lcmF0ZUlEKCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkYXRhLWVsLWNvcHknLCBgJHtpZH1gKTtcclxuXHJcbiAgICBcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuX2NvcHksICdjdXJzb3InLCAncG9pbnRlcicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShidG5fY29weSwgJ21hcmdpbi1sZWZ0JywgJzNweCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhidG5fY29weSwgJ2ZhcycpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhidG5fY29weSwgJ2ZhLWNvcHknKTtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGJ0bl9jb3B5LCAndGNsb3VkLXVpLWVsLWNvcHknKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGJ0bl9jb3B5LCAnaWQnLCBpZCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidG5fY29weSwgJ3RpdGxlJywgJ0NvcHknKTtcclxuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKGJ0bl9jb3B5LCAnY2xpY2snLCAoKSA9PiB7IGNvcHlUZXh0KCk7IH0pO1xyXG5cclxuICAgIGlmKCAoKHRoaXMuZWwubmF0aXZlRWxlbWVudCkudGFnTmFtZSkudG9VcHBlckNhc2UoKSA9PT0gJ0lOUFVUJyApe1xyXG4gICAgICBsZXQgY2xhc3NMaXN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QhXHJcbiAgICAgIGlmKCBjbGFzc0xpc3QgJiYgKGNsYXNzTGlzdCkubGVuZ3RoID4gMCAmJiAoJ3RjLWZvcm0tY29udHJvbCcpLmluZGV4T2YoY2xhc3NMaXN0KSA+IC0xICl7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhidG5fY29weSwgJ3RjbG91ZC11aS1lbC1pbnB1dC1jb3B5LXRjLWZvcm0tY29udHJvbCcpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGJ0bl9jb3B5LCAndGNsb3VkLXVpLWVsLWlucHV0LWNvcHknKTtcclxuICAgICAgfSAgICAgIFxyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLCBidG5fY29weSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGJ0bl9jb3B5KTtcclxuICAgIH1cclxuXHJcbiAgICBcclxuXHJcbiAgICBcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlSUQodGFyZ2V0Pzogc3RyaW5nKTogc3RyaW5ne1xyXG4gICAgY29uc3QgcmVmID0gKHRhcmdldCkgPyBgLSR7dGFyZ2V0fWAgOiAnJztcclxuICAgIHJldHVybiBgdGMtZWwtY29weS0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIERhdGUubm93KCkpKX0ke3JlZn1gO1xyXG4gIH1cclxuXHJcbn0iXX0=
|
package/esm2020/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.mjs
CHANGED
|
@@ -12,6 +12,9 @@ const noop = () => {
|
|
|
12
12
|
};
|
|
13
13
|
export class TCloudUiInputPasswordComponent {
|
|
14
14
|
constructor() {
|
|
15
|
+
this.actionView = true;
|
|
16
|
+
this.actionCopy = true;
|
|
17
|
+
this.actionGeneratePassword = true;
|
|
15
18
|
this.numberOfCharacter = 14;
|
|
16
19
|
this.atLeastOneUppercaseLetter = true;
|
|
17
20
|
this.atLeastOneLowercaseLetter = true;
|
|
@@ -113,11 +116,17 @@ export class TCloudUiInputPasswordComponent {
|
|
|
113
116
|
}
|
|
114
117
|
}
|
|
115
118
|
TCloudUiInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
-
TCloudUiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiInputPasswordComponent, selector: "tcloud-ui-input-password", inputs: { numberOfCharacter: "numberOfCharacter", atLeastOneUppercaseLetter: "atLeastOneUppercaseLetter", atLeastOneLowercaseLetter: "atLeastOneLowercaseLetter", atLeastOneSpecialCharacter: "atLeastOneSpecialCharacter", ngModel: "ngModel" }, outputs: { ngModelChange: "ngModelChange" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td>\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td>\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td>\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
119
|
+
TCloudUiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiInputPasswordComponent, selector: "tcloud-ui-input-password", inputs: { actionView: "actionView", actionCopy: "actionCopy", actionGeneratePassword: "actionGeneratePassword", numberOfCharacter: "numberOfCharacter", atLeastOneUppercaseLetter: "atLeastOneUppercaseLetter", atLeastOneLowercaseLetter: "atLeastOneLowercaseLetter", atLeastOneSpecialCharacter: "atLeastOneSpecialCharacter", ngModel: "ngModel" }, outputs: { ngModelChange: "ngModelChange" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td *ngIf=\"actionView\">\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td *ngIf=\"actionGeneratePassword\">\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td *ngIf=\"actionCopy\">\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
117
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputPasswordComponent, decorators: [{
|
|
118
121
|
type: Component,
|
|
119
|
-
args: [{ selector: 'tcloud-ui-input-password', providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], template: "<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td>\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td>\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td>\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"] }]
|
|
120
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
122
|
+
args: [{ selector: 'tcloud-ui-input-password', providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], template: "<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td *ngIf=\"actionView\">\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td *ngIf=\"actionGeneratePassword\">\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td *ngIf=\"actionCopy\">\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"] }]
|
|
123
|
+
}], ctorParameters: function () { return []; }, propDecorators: { actionView: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], actionCopy: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], actionGeneratePassword: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], numberOfCharacter: [{
|
|
121
130
|
type: Input
|
|
122
131
|
}], atLeastOneUppercaseLetter: [{
|
|
123
132
|
type: Input
|
|
@@ -130,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
130
139
|
}], ngModelChange: [{
|
|
131
140
|
type: Output
|
|
132
141
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC90Y2xvdWQtdWktaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVuRCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBUTtJQUN0RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7SUFDN0QsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQztBQVFGLE1BQU0sT0FBTyw4QkFBOEI7SUFxQnZDO1FBbkJTLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUUvQiw4QkFBeUIsR0FBWSxJQUFJLENBQUM7UUFDMUMsOEJBQXlCLEdBQVksSUFBSSxDQUFDO1FBQzFDLCtCQUEwQixHQUFZLElBQUksQ0FBQztRQUdwRCxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBTWQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxELFNBQUksR0FBVyxVQUFVLENBQUM7UUFDMUIs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QUFTOytCQUNFLDBCQUEwQixhQUd6QixDQUFFLG1DQUFtQyxDQUFFOzBFQUl2QyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBTU8sT0FBTztzQkFBbkIsS0FBSztnQkFHSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmV4cG9ydCBjb25zdCBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRDbG91ZFVpSW5wdXRQYXNzd29yZENvbXBvbmVudCksXHJcbiAgbXVsdGk6IHRydWVcclxufTtcclxuXHJcbmNvbnN0IG5vb3AgPSAoKSA9PiB7XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbIENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUlucHV0UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIEBJbnB1dCgpIG51bWJlck9mQ2hhcmFjdGVyOiBudW1iZXIgPSAxNDtcclxuXHJcbiAgICBASW5wdXQoKSBhdExlYXN0T25lVXBwZXJjYXNlTGV0dGVyOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGF0TGVhc3RPbmVMb3dlcmNhc2VMZXR0ZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgYXRMZWFzdE9uZVNwZWNpYWxDaGFyYWN0ZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBcclxuICAgIGlubmVyVmFsdWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIHByaXZhdGUgX25nTW9kZWw6IGFueSB8IHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIHNldCBuZ01vZGVsKHY6IGFueSl7XHJcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdjsgICAgICBcclxuICAgIH1cclxuICAgIEBPdXRwdXQoKSBuZ01vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgbW9kZTogc3RyaW5nID0gJ3Bhc3N3b3JkJztcclxuICAgIGlzQ29weTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcGFzc3dvcmRSZWdleDogYW55IHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wYXNzd29yZFJlZ2V4ID0gdGhpcy5nZXRSZWdleFZhbGlkYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVNb2RlKCl7XHJcbiAgICAgICAgaWYoIHRoaXMubW9kZSA9PT0gJ3Bhc3N3b3JkJyApe1xyXG4gICAgICAgICAgICB0aGlzLm1vZGUgPSAndGV4dCc7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZSA9ICdwYXNzd29yZCc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvcHlUZXh0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNDb3B5ID0gdHJ1ZTtcclxuICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0aGlzLmlubmVyVmFsdWUpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLmlzQ29weSA9IGZhbHNlOyB9LCAzMDAwKTtcclxuICAgIH1cclxuXHJcbiAgICBnZW5lcmF0ZVBhc3N3b3JkKCl7XHJcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdGhpcy5jcmVhdGVOZXdQYXNzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVOZXdQYXNzKCkge1xyXG4gICAgICAgIGNvbnN0IHVwcGVyY2FzZUxldHRlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonO1xyXG4gICAgICAgIGNvbnN0IGxvd2VyY2FzZUxldHRlcnMgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonO1xyXG4gICAgICAgIGNvbnN0IG51bWJlcnMgPSAnMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgY29uc3Qgc3BlY2lhbENoYXJhY3RlcnMgPSAnIUAjJCVeJiooKV8re31bXTo7PD4sLj8vfic7XHJcbiAgICBcclxuICAgICAgICBjb25zdCBhbGxDaGFyYWN0ZXJzID0gdXBwZXJjYXNlTGV0dGVycyArIGxvd2VyY2FzZUxldHRlcnMgKyBudW1iZXJzICsgc3BlY2lhbENoYXJhY3RlcnM7XHJcbiAgICBcclxuICAgICAgICBjb25zdCBnZXRSYW5kb21DaGFyYWN0ZXIgPSAoY2hhcmFjdGVyczogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgcmV0dXJuIGNoYXJhY3RlcnNbcmFuZG9tSW5kZXhdO1xyXG4gICAgICAgIH07XHJcbiAgICBcclxuICAgICAgICBsZXQgcGFzc3dvcmQgPSAnJztcclxuICAgICAgICBwYXNzd29yZCArPSBnZXRSYW5kb21DaGFyYWN0ZXIodXBwZXJjYXNlTGV0dGVycyk7XHJcbiAgICAgICAgcGFzc3dvcmQgKz0gZ2V0UmFuZG9tQ2hhcmFjdGVyKG51bWJlcnMpO1xyXG4gICAgICAgIHBhc3N3b3JkICs9IGdldFJhbmRvbUNoYXJhY3RlcihzcGVjaWFsQ2hhcmFjdGVycyk7XHJcbiAgICBcclxuICAgICAgICBjb25zdCByZW1haW5pbmdMZW5ndGggPSB0aGlzLm51bWJlck9mQ2hhcmFjdGVyIC0gcGFzc3dvcmQubGVuZ3RoOyAgXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZW1haW5pbmdMZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHBhc3N3b3JkICs9IGdldFJhbmRvbUNoYXJhY3RlcihhbGxDaGFyYWN0ZXJzKTtcclxuICAgICAgICB9ICBcclxuICAgICAgICBwYXNzd29yZCA9IHBhc3N3b3JkLnNwbGl0KCcnKS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpLmpvaW4oJycpOyAgXHJcbiAgICAgICAgcmV0dXJuIHBhc3N3b3JkO1xyXG4gICAgfVxyXG4gIFxyXG5cclxuICAgIGdldFJlZ2V4VmFsaWRhdGlvbigpIHtcclxuICAgICAgICAvKlxyXG4gICAgICAgICg/PS4qW0EtWl0pOiBQZWxvIG1lbm9zIHVtYSBsZXRyYSBtYWnDunNjdWxhLlxyXG4gICAgICAgICg/PS4qWzAtOV0pOiBQZWxvIG1lbm9zIHVtIG7Dum1lcm8uXHJcbiAgICAgICAgKD89LipbIUAjJCVeJiooKV8re31bXFxdOjs8PiwuP1xcL35dKTogUGVsbyBtZW5vcyB1bSBjYXJhY3RlcmUgZXNwZWNpYWwuXHJcbiAgICAgICAgKD8hLipcXHMpOiBOw6NvIGNvbnTDqW0gZXNwYcOnb3MgZW0gYnJhbmNvLlxyXG4gICAgICAgIC57MTQsfTogUGVsbyBtZW5vcyAxNCBjYXJhY3RlcmVzIG5vIHRvdGFsLlxyXG4gICAgICAgICovXHJcblxyXG4gICAgICAgIGNvbnN0IG1haXVzY3VsYXMgPSAodGhpcy5hdExlYXN0T25lVXBwZXJjYXNlTGV0dGVyKSA/IGAoPz0uKltBLVpdKWAgOiAnJztcclxuICAgICAgICBjb25zdCBtaW51c2N1bGFzID0gKHRoaXMuYXRMZWFzdE9uZUxvd2VyY2FzZUxldHRlcikgPyBgKD89LipbYS16XSlgIDogJyc7XHJcbiAgICAgICAgY29uc3QgZXNwZWNpYWlzICA9ICh0aGlzLmF0TGVhc3RPbmVTcGVjaWFsQ2hhcmFjdGVyKSA/IGAoPz0uKlshQCMkJV4mKlxcXFwoXFxcXClfK1xcXFx7XFxcXH1cXFxcW1xcXFxdOjs8PiwuP1xcXFwvfl0pKD8hLipcXFxccylgOiAnJztcclxuXHJcbiAgICAgICAgcmV0dXJuIGBeJHttYWl1c2N1bGFzfSR7bWludXNjdWxhc30ke2VzcGVjaWFpc30ueyR7dGhpcy5udW1iZXJPZkNoYXJhY3Rlcn0sfSRgO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgXHJcbiAgLy9QbGFjZWhvbGRlcnMgZm9yIHRoZSBjYWxsYmFja3Mgd2hpY2ggYXJlIGxhdGVyIHByb3ZpZGVzZFxyXG4gICAgLy9ieSB0aGUgQ29udHJvbCBWYWx1ZSBBY2Nlc3NvclxyXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xyXG5cclxuICAgIC8vZ2V0IGFjY2Vzc29yXHJcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xyXG4gICAgfTtcclxuXHJcbiAgICAvL3NldCBhY2Nlc3NvciBpbmNsdWRpbmcgY2FsbCB0aGUgb25jaGFuZ2UgY2FsbGJhY2tcclxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgICAgICBpZiAodiAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9TZXQgdG91Y2hlZCBvbiBibHVyXHJcbiAgICBvbkJsdXIoKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvL0Zyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0Y2xvdWQtdWktaW5wdXQtcGFzc3dvcmRcIj5cclxuICAgIDx0YWJsZT5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgIDwhLS0gaW5wdXQgcGFzc3dvcmQgLS0+XHJcbiAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgIDxmb3JtICNfZm9ybT1cIm5nRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYXNzd29yZFJlZ2V4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInRjLWZvcm0tY29udHJvbFwiICpuZ0lmPVwibW9kZSA9PSAncGFzc3dvcmQnXCIgdHlwZT1cInBhc3N3b3JkXCIgbmFtZT1cInRjX3Bhc3N3b3JkXCIgW3BhdHRlcm5dPVwicGFzc3dvcmRSZWdleFwiIGF1dG9Db21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiIFsobmdNb2RlbCldPVwiaW5uZXJWYWx1ZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ0Yy1mb3JtLWNvbnRyb2xcIiAqbmdJZj1cIm1vZGUgPT0gJ3RleHQnXCIgdHlwZT1cInRleHRcIiBuYW1lPVwidGNfdGV4dFwiIFtwYXR0ZXJuXT1cInBhc3N3b3JkUmVnZXhcIiBbKG5nTW9kZWwpXT1cImlubmVyVmFsdWVcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gYWN0aW9uIHNob3cgaGlkZSAtLT5cclxuICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZU1vZGUoKVwiIFt0aXRsZV09XCIobW9kZSA9PSAncGFzc3dvcmQnKSA/ICdWaXN1YWxpemFyIFNlbmhhJyA6ICdFc2NvbmRlciBTZW5oYSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIm1vZGUgPT0gJ3Bhc3N3b3JkJ1wiIGNsYXNzPVwiZmFyIGZhLWV5ZS1zbGFzaFwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIm1vZGUgPT0gJ3RleHQnXCIgY2xhc3M9XCJmYXIgZmEtZXllXCI+PC9pPiBcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBhY3Rpb24gZ2VuZXJhdGUgcGFzcyAtLT5cclxuICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW3RpdGxlXT1cIidHZXJhciBTZW5oYSdcIiAoY2xpY2spPVwiZ2VuZXJhdGVQYXNzd29yZCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1rZXlcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC90ZD5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gYWN0aW9uIGNvcHkgcGFzcyAtLT5cclxuICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW3RpdGxlXT1cIidDb3BpYXIgU2VuaGEnXCIgKGNsaWNrKT1cImNvcHlUZXh0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFpc0NvcHlcIiBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtY29weVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImlzQ29weVwiIGNsYXNzPVwiZmEtc29saWQgZmEtY2hlY2tcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgPC90YWJsZT5cclxuPC9kaXY+Il19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19tb2R1bGVzL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC90Y2xvdWQtdWktaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX21vZHVsZXMvdGNsb3VkLXVpLWlucHV0LXBhc3N3b3JkL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUVuRCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBUTtJQUN0RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7SUFDN0QsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQztBQVFGLE1BQU0sT0FBTyw4QkFBOEI7SUF5QnZDO1FBdkJTLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDM0IsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQiwyQkFBc0IsR0FBWSxJQUFJLENBQUM7UUFFdkMsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBRS9CLDhCQUF5QixHQUFZLElBQUksQ0FBQztRQUMxQyw4QkFBeUIsR0FBWSxJQUFJLENBQUM7UUFDMUMsK0JBQTBCLEdBQVksSUFBSSxDQUFDO1FBR3BELGVBQVUsR0FB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QThCO2dIQUE5Qiw4QkFBOEIsd2JBRjlCLENBQUUsbUNBQW1DLENBQUUsMEJDaEJwRCxxM0RBcUNNOzRGRG5CTyw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0UsMEJBQTBCLGFBR3pCLENBQUUsbUNBQW1DLENBQUU7MEVBSXZDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQU1PLE9BQU87c0JBQW5CLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5leHBvcnQgY29uc3QgQ1VTVE9NX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcclxuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUQ2xvdWRVaUlucHV0UGFzc3dvcmRDb21wb25lbnQpLFxyXG4gIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5jb25zdCBub29wID0gKCkgPT4ge1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Y2xvdWQtdWktaW5wdXQtcGFzc3dvcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90Y2xvdWQtdWktaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RjbG91ZC11aS1pbnB1dC1wYXNzd29yZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogWyBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUiBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVENsb3VkVWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBhY3Rpb25WaWV3OiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGFjdGlvbkNvcHk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgYWN0aW9uR2VuZXJhdGVQYXNzd29yZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KCkgbnVtYmVyT2ZDaGFyYWN0ZXI6IG51bWJlciA9IDE0O1xyXG5cclxuICAgIEBJbnB1dCgpIGF0TGVhc3RPbmVVcHBlcmNhc2VMZXR0ZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgYXRMZWFzdE9uZUxvd2VyY2FzZUxldHRlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBhdExlYXN0T25lU3BlY2lhbENoYXJhY3RlcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIFxyXG4gICAgaW5uZXJWYWx1ZTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgcHJpdmF0ZSBfbmdNb2RlbDogYW55IHwgdW5kZWZpbmVkO1xyXG4gICAgQElucHV0KCkgc2V0IG5nTW9kZWwodjogYW55KXtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB2OyAgICAgIFxyXG4gICAgfVxyXG4gICAgQE91dHB1dCgpIG5nTW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBtb2RlOiBzdHJpbmcgPSAncGFzc3dvcmQnO1xyXG4gICAgaXNDb3B5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwYXNzd29yZFJlZ2V4OiBhbnkgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBhc3N3b3JkUmVnZXggPSB0aGlzLmdldFJlZ2V4VmFsaWRhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZU1vZGUoKXtcclxuICAgICAgICBpZiggdGhpcy5tb2RlID09PSAncGFzc3dvcmQnICl7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZSA9ICd0ZXh0JztcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5tb2RlID0gJ3Bhc3N3b3JkJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29weVRleHQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0NvcHkgPSB0cnVlO1xyXG4gICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMuaW5uZXJWYWx1ZSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuaXNDb3B5ID0gZmFsc2U7IH0sIDMwMDApO1xyXG4gICAgfVxyXG5cclxuICAgIGdlbmVyYXRlUGFzc3dvcmQoKXtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB0aGlzLmNyZWF0ZU5ld1Bhc3MoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZU5ld1Bhc3MoKSB7XHJcbiAgICAgICAgY29uc3QgdXBwZXJjYXNlTGV0dGVycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWic7XHJcbiAgICAgICAgY29uc3QgbG93ZXJjYXNlTGV0dGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eic7XHJcbiAgICAgICAgY29uc3QgbnVtYmVycyA9ICcwMTIzNDU2Nzg5JztcclxuICAgICAgICBjb25zdCBzcGVjaWFsQ2hhcmFjdGVycyA9ICchQCMkJV4mKigpXyt7fVtdOjs8PiwuPy9+JztcclxuICAgIFxyXG4gICAgICAgIGNvbnN0IGFsbENoYXJhY3RlcnMgPSB1cHBlcmNhc2VMZXR0ZXJzICsgbG93ZXJjYXNlTGV0dGVycyArIG51bWJlcnMgKyBzcGVjaWFsQ2hhcmFjdGVycztcclxuICAgIFxyXG4gICAgICAgIGNvbnN0IGdldFJhbmRvbUNoYXJhY3RlciA9IChjaGFyYWN0ZXJzOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnMubGVuZ3RoKTtcclxuICAgICAgICByZXR1cm4gY2hhcmFjdGVyc1tyYW5kb21JbmRleF07XHJcbiAgICAgICAgfTtcclxuICAgIFxyXG4gICAgICAgIGxldCBwYXNzd29yZCA9ICcnO1xyXG4gICAgICAgIHBhc3N3b3JkICs9IGdldFJhbmRvbUNoYXJhY3Rlcih1cHBlcmNhc2VMZXR0ZXJzKTtcclxuICAgICAgICBwYXNzd29yZCArPSBnZXRSYW5kb21DaGFyYWN0ZXIobnVtYmVycyk7XHJcbiAgICAgICAgcGFzc3dvcmQgKz0gZ2V0UmFuZG9tQ2hhcmFjdGVyKHNwZWNpYWxDaGFyYWN0ZXJzKTtcclxuICAgIFxyXG4gICAgICAgIGNvbnN0IHJlbWFpbmluZ0xlbmd0aCA9IHRoaXMubnVtYmVyT2ZDaGFyYWN0ZXIgLSBwYXNzd29yZC5sZW5ndGg7ICBcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlbWFpbmluZ0xlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgcGFzc3dvcmQgKz0gZ2V0UmFuZG9tQ2hhcmFjdGVyKGFsbENoYXJhY3RlcnMpO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIHBhc3N3b3JkID0gcGFzc3dvcmQuc3BsaXQoJycpLnNvcnQoKCkgPT4gTWF0aC5yYW5kb20oKSAtIDAuNSkuam9pbignJyk7ICBcclxuICAgICAgICByZXR1cm4gcGFzc3dvcmQ7XHJcbiAgICB9XHJcbiAgXHJcblxyXG4gICAgZ2V0UmVnZXhWYWxpZGF0aW9uKCkge1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgKD89LipbQS1aXSk6IFBlbG8gbWVub3MgdW1hIGxldHJhIG1hacO6c2N1bGEuXHJcbiAgICAgICAgKD89LipbMC05XSk6IFBlbG8gbWVub3MgdW0gbsO6bWVyby5cclxuICAgICAgICAoPz0uKlshQCMkJV4mKigpXyt7fVtcXF06Ozw+LC4/XFwvfl0pOiBQZWxvIG1lbm9zIHVtIGNhcmFjdGVyZSBlc3BlY2lhbC5cclxuICAgICAgICAoPyEuKlxccyk6IE7Do28gY29udMOpbSBlc3Bhw6dvcyBlbSBicmFuY28uXHJcbiAgICAgICAgLnsxNCx9OiBQZWxvIG1lbm9zIDE0IGNhcmFjdGVyZXMgbm8gdG90YWwuXHJcbiAgICAgICAgKi9cclxuXHJcbiAgICAgICAgY29uc3QgbWFpdXNjdWxhcyA9ICh0aGlzLmF0TGVhc3RPbmVVcHBlcmNhc2VMZXR0ZXIpID8gYCg/PS4qW0EtWl0pYCA6ICcnO1xyXG4gICAgICAgIGNvbnN0IG1pbnVzY3VsYXMgPSAodGhpcy5hdExlYXN0T25lTG93ZXJjYXNlTGV0dGVyKSA/IGAoPz0uKlthLXpdKWAgOiAnJztcclxuICAgICAgICBjb25zdCBlc3BlY2lhaXMgID0gKHRoaXMuYXRMZWFzdE9uZVNwZWNpYWxDaGFyYWN0ZXIpID8gYCg/PS4qWyFAIyQlXiYqXFxcXChcXFxcKV8rXFxcXHtcXFxcfVxcXFxbXFxcXF06Ozw+LC4/XFxcXC9+XSkoPyEuKlxcXFxzKWA6ICcnO1xyXG5cclxuICAgICAgICByZXR1cm4gYF4ke21haXVzY3VsYXN9JHttaW51c2N1bGFzfSR7ZXNwZWNpYWlzfS57JHt0aGlzLm51bWJlck9mQ2hhcmFjdGVyfSx9JGA7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICBcclxuICAvL1BsYWNlaG9sZGVycyBmb3IgdGhlIGNhbGxiYWNrcyB3aGljaCBhcmUgbGF0ZXIgcHJvdmlkZXNkXHJcbiAgICAvL2J5IHRoZSBDb250cm9sIFZhbHVlIEFjY2Vzc29yXHJcbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcclxuICAgIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XHJcblxyXG4gICAgLy9nZXQgYWNjZXNzb3JcclxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vc2V0IGFjY2Vzc29yIGluY2x1ZGluZyBjYWxsIHRoZSBvbmNoYW5nZSBjYWxsYmFja1xyXG4gICAgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdjtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL1NldCB0b3VjaGVkIG9uIGJsdXJcclxuICAgIG9uQmx1cigpIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9Gcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRjbG91ZC11aS1pbnB1dC1wYXNzd29yZFwiPlxyXG4gICAgPHRhYmxlPlxyXG4gICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPCEtLSBpbnB1dCBwYXNzd29yZCAtLT5cclxuICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGZvcm0gI19mb3JtPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhc3N3b3JkUmVnZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwidGMtZm9ybS1jb250cm9sXCIgKm5nSWY9XCJtb2RlID09ICdwYXNzd29yZCdcIiB0eXBlPVwicGFzc3dvcmRcIiBuYW1lPVwidGNfcGFzc3dvcmRcIiBbcGF0dGVybl09XCJwYXNzd29yZFJlZ2V4XCIgYXV0b0NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCIgWyhuZ01vZGVsKV09XCJpbm5lclZhbHVlXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInRjLWZvcm0tY29udHJvbFwiICpuZ0lmPVwibW9kZSA9PSAndGV4dCdcIiB0eXBlPVwidGV4dFwiIG5hbWU9XCJ0Y190ZXh0XCIgW3BhdHRlcm5dPVwicGFzc3dvcmRSZWdleFwiIFsobmdNb2RlbCldPVwiaW5uZXJWYWx1ZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBhY3Rpb24gc2hvdyBoaWRlIC0tPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJhY3Rpb25WaWV3XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwidG9nZ2xlTW9kZSgpXCIgW3RpdGxlXT1cIihtb2RlID09ICdwYXNzd29yZCcpID8gJ1Zpc3VhbGl6YXIgU2VuaGEnIDogJ0VzY29uZGVyIFNlbmhhJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwibW9kZSA9PSAncGFzc3dvcmQnXCIgY2xhc3M9XCJmYXIgZmEtZXllLXNsYXNoXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwibW9kZSA9PSAndGV4dCdcIiBjbGFzcz1cImZhciBmYS1leWVcIj48L2k+IFxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgICA8IS0tIGFjdGlvbiBnZW5lcmF0ZSBwYXNzIC0tPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJhY3Rpb25HZW5lcmF0ZVBhc3N3b3JkXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ0dlcmFyIFNlbmhhJ1wiIChjbGljayk9XCJnZW5lcmF0ZVBhc3N3b3JkKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWtleVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBhY3Rpb24gY29weSBwYXNzIC0tPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJhY3Rpb25Db3B5XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ0NvcGlhciBTZW5oYSdcIiAoY2xpY2spPVwiY29weVRleHQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIWlzQ29weVwiIGNsYXNzPVwiZmEtcmVndWxhciBmYS1jb3B5XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiaXNDb3B5XCIgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGVja1wiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L3RhYmxlPlxyXG48L2Rpdj4iXX0=
|
|
@@ -9,7 +9,15 @@ export class BytesPipe {
|
|
|
9
9
|
const c = 0 > b ? 0 : b, d = Math.floor(Math.log(a) / Math.log(1024));
|
|
10
10
|
return parseFloat((a / Math.pow(1024, d)).toFixed(c)) + ' ' + ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"][d];
|
|
11
11
|
}
|
|
12
|
-
transform(value) {
|
|
12
|
+
transform(value, typeValue) {
|
|
13
|
+
if (typeValue !== undefined && typeValue !== null && typeValue !== '') {
|
|
14
|
+
if ((typeValue).toLowerCase() === 'kb') {
|
|
15
|
+
value = value * 1024;
|
|
16
|
+
}
|
|
17
|
+
if ((typeValue).toLowerCase() === 'mb') {
|
|
18
|
+
value = (value * 1024) * 1024;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
13
21
|
const b = +value;
|
|
14
22
|
return this.formatBytes(b);
|
|
15
23
|
}
|
|
@@ -20,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
20
28
|
type: Pipe,
|
|
21
29
|
args: [{ name: 'bytes' }]
|
|
22
30
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Y2xvdWQtdWkvc3JjL2xpYi9fcGlwZXMvYnl0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxTQUFTO0lBRXBCLFdBQVcsQ0FBQyxDQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDMUIsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVSxFQUFFLFNBQWtCO1FBRXRDLElBQUksU0FBUyxLQUFLLFNBQVMsSUFBSSxTQUFTLEtBQUssSUFBSSxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFFckUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDdEMsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUE7YUFDckI7WUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUN0QyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFBO2FBQzlCO1NBQ0Y7UUFFRCxNQUFNLENBQUMsR0FBVyxDQUFDLEtBQUssQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7dUdBeEJVLFNBQVM7cUdBQVQsU0FBUzs0RkFBVCxTQUFTO2tCQURyQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ2J5dGVzJ30pXHJcbmV4cG9ydCBjbGFzcyBCeXRlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgZm9ybWF0Qnl0ZXMoYTogbnVtYmVyLCBiID0gMik6IHN0cmluZyB7XHJcbiAgICBpZiAoIWEpIHJldHVybiAnLS0tJztcclxuICAgIGlmICgwID09PSBhKSByZXR1cm4gJzAgQnl0ZXMnO1xyXG4gICAgY29uc3QgYyA9IDAgPiBiID8gMCA6IGIsIGQgPSBNYXRoLmZsb29yKE1hdGgubG9nKGEpIC8gTWF0aC5sb2coMTAyNCkpO1xyXG4gICAgcmV0dXJuIHBhcnNlRmxvYXQoKGEgLyBNYXRoLnBvdygxMDI0LCBkKSkudG9GaXhlZChjKSkgKyAnICcgKyBbXCJCeXRlc1wiLCBcIktCXCIsIFwiTUJcIiwgXCJHQlwiLCBcIlRCXCIsIFwiUEJcIiwgXCJFQlwiLCBcIlpCXCIsIFwiWUJcIl1bZF07XHJcbiAgfVxyXG4gIFxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCB0eXBlVmFsdWU/OiBzdHJpbmcpOiBzdHJpbmd7ICAgXHJcbiAgICBcclxuICAgIGlmKCB0eXBlVmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0eXBlVmFsdWUgIT09IG51bGwgJiYgdHlwZVZhbHVlICE9PSAnJyApe1xyXG4gICAgICBcclxuICAgICAgaWYoICh0eXBlVmFsdWUpLnRvTG93ZXJDYXNlKCkgPT09ICdrYicgKXtcclxuICAgICAgICB2YWx1ZSA9IHZhbHVlICogMTAyNFxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiggKHR5cGVWYWx1ZSkudG9Mb3dlckNhc2UoKSA9PT0gJ21iJyApe1xyXG4gICAgICAgIHZhbHVlID0gKHZhbHVlICogMTAyNCkgKiAxMDI0XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgY29uc3QgYjogbnVtYmVyID0gK3ZhbHVlOyAgICAgIFxyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRCeXRlcyhiKTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -2118,7 +2118,15 @@ class BytesPipe {
|
|
|
2118
2118
|
const c = 0 > b ? 0 : b, d = Math.floor(Math.log(a) / Math.log(1024));
|
|
2119
2119
|
return parseFloat((a / Math.pow(1024, d)).toFixed(c)) + ' ' + ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"][d];
|
|
2120
2120
|
}
|
|
2121
|
-
transform(value) {
|
|
2121
|
+
transform(value, typeValue) {
|
|
2122
|
+
if (typeValue !== undefined && typeValue !== null && typeValue !== '') {
|
|
2123
|
+
if ((typeValue).toLowerCase() === 'kb') {
|
|
2124
|
+
value = value * 1024;
|
|
2125
|
+
}
|
|
2126
|
+
if ((typeValue).toLowerCase() === 'mb') {
|
|
2127
|
+
value = (value * 1024) * 1024;
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2122
2130
|
const b = +value;
|
|
2123
2131
|
return this.formatBytes(b);
|
|
2124
2132
|
}
|
|
@@ -4559,10 +4567,17 @@ class TCloudUiElCopyDirective {
|
|
|
4559
4567
|
this.setItemFuncCopy();
|
|
4560
4568
|
}
|
|
4561
4569
|
setItemFuncCopy() {
|
|
4570
|
+
var _a;
|
|
4562
4571
|
const btn_copy = this.renderer.createElement('i');
|
|
4563
4572
|
var copyText = () => {
|
|
4564
4573
|
const elementWithCopyAttribute = document.querySelector(`[data-el-copy="${id}"]`);
|
|
4565
|
-
|
|
4574
|
+
let copyText = '';
|
|
4575
|
+
if (elementWithCopyAttribute && elementWithCopyAttribute.tagName && (elementWithCopyAttribute.tagName).toUpperCase() === 'INPUT') {
|
|
4576
|
+
copyText = elementWithCopyAttribute === null || elementWithCopyAttribute === void 0 ? void 0 : elementWithCopyAttribute.value;
|
|
4577
|
+
}
|
|
4578
|
+
else {
|
|
4579
|
+
copyText = elementWithCopyAttribute === null || elementWithCopyAttribute === void 0 ? void 0 : elementWithCopyAttribute.textContent;
|
|
4580
|
+
}
|
|
4566
4581
|
navigator.clipboard.writeText(copyText);
|
|
4567
4582
|
this.renderer.removeClass(btn_copy, 'fa-copy');
|
|
4568
4583
|
this.renderer.addClass(btn_copy, 'fa-check');
|
|
@@ -4581,7 +4596,19 @@ class TCloudUiElCopyDirective {
|
|
|
4581
4596
|
this.renderer.setAttribute(btn_copy, 'id', id);
|
|
4582
4597
|
this.renderer.setAttribute(btn_copy, 'title', 'Copy');
|
|
4583
4598
|
this.renderer.listen(btn_copy, 'click', () => { copyText(); });
|
|
4584
|
-
|
|
4599
|
+
if (((this.el.nativeElement).tagName).toUpperCase() === 'INPUT') {
|
|
4600
|
+
let classList = (_a = this.el.nativeElement) === null || _a === void 0 ? void 0 : _a.classList;
|
|
4601
|
+
if (classList && (classList).length > 0 && ('tc-form-control').indexOf(classList) > -1) {
|
|
4602
|
+
this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy-tc-form-control');
|
|
4603
|
+
}
|
|
4604
|
+
else {
|
|
4605
|
+
this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy');
|
|
4606
|
+
}
|
|
4607
|
+
this.renderer.appendChild(this.el.nativeElement.parentNode, btn_copy);
|
|
4608
|
+
}
|
|
4609
|
+
else {
|
|
4610
|
+
this.renderer.appendChild(this.el.nativeElement, btn_copy);
|
|
4611
|
+
}
|
|
4585
4612
|
}
|
|
4586
4613
|
generateID(target) {
|
|
4587
4614
|
const ref = (target) ? `-${target}` : '';
|
|
@@ -5141,6 +5168,9 @@ const noop = () => {
|
|
|
5141
5168
|
};
|
|
5142
5169
|
class TCloudUiInputPasswordComponent {
|
|
5143
5170
|
constructor() {
|
|
5171
|
+
this.actionView = true;
|
|
5172
|
+
this.actionCopy = true;
|
|
5173
|
+
this.actionGeneratePassword = true;
|
|
5144
5174
|
this.numberOfCharacter = 14;
|
|
5145
5175
|
this.atLeastOneUppercaseLetter = true;
|
|
5146
5176
|
this.atLeastOneLowercaseLetter = true;
|
|
@@ -5242,11 +5272,17 @@ class TCloudUiInputPasswordComponent {
|
|
|
5242
5272
|
}
|
|
5243
5273
|
}
|
|
5244
5274
|
TCloudUiInputPasswordComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5245
|
-
TCloudUiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiInputPasswordComponent, selector: "tcloud-ui-input-password", inputs: { numberOfCharacter: "numberOfCharacter", atLeastOneUppercaseLetter: "atLeastOneUppercaseLetter", atLeastOneLowercaseLetter: "atLeastOneLowercaseLetter", atLeastOneSpecialCharacter: "atLeastOneSpecialCharacter", ngModel: "ngModel" }, outputs: { ngModelChange: "ngModelChange" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td>\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td>\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td>\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
5275
|
+
TCloudUiInputPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiInputPasswordComponent, selector: "tcloud-ui-input-password", inputs: { actionView: "actionView", actionCopy: "actionCopy", actionGeneratePassword: "actionGeneratePassword", numberOfCharacter: "numberOfCharacter", atLeastOneUppercaseLetter: "atLeastOneUppercaseLetter", atLeastOneLowercaseLetter: "atLeastOneLowercaseLetter", atLeastOneSpecialCharacter: "atLeastOneSpecialCharacter", ngModel: "ngModel" }, outputs: { ngModelChange: "ngModelChange" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td *ngIf=\"actionView\">\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td *ngIf=\"actionGeneratePassword\">\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td *ngIf=\"actionCopy\">\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
5246
5276
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputPasswordComponent, decorators: [{
|
|
5247
5277
|
type: Component,
|
|
5248
|
-
args: [{ selector: 'tcloud-ui-input-password', providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], template: "<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td>\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td>\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td>\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"] }]
|
|
5249
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
5278
|
+
args: [{ selector: 'tcloud-ui-input-password', providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], template: "<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td *ngIf=\"actionView\">\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td *ngIf=\"actionGeneratePassword\">\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td *ngIf=\"actionCopy\">\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>", styles: [".tcloud-ui-input-password{border:1px solid var(--tc-gray-300);border-radius:3px}.tcloud-ui-input-password table{width:100%}.tcloud-ui-input-password table td:first-child{width:100%!important}.tcloud-ui-input-password table td:first-child input{width:100%;border:none;height:38px;padding-left:8px}.tcloud-ui-input-password table td{width:50px;height:40px;background-color:#fff}.tcloud-ui-input-password table td button{background:transparent;border:none;margin-right:3px;cursor:pointer;color:var(--tc-gray-500)}.tcloud-ui-input-password table td button:hover{color:var(--tc-primary2)}.tcloud-ui-input-password .ng-invalid.ng-touched{border:1px solid var(--red)!important}\n"] }]
|
|
5279
|
+
}], ctorParameters: function () { return []; }, propDecorators: { actionView: [{
|
|
5280
|
+
type: Input
|
|
5281
|
+
}], actionCopy: [{
|
|
5282
|
+
type: Input
|
|
5283
|
+
}], actionGeneratePassword: [{
|
|
5284
|
+
type: Input
|
|
5285
|
+
}], numberOfCharacter: [{
|
|
5250
5286
|
type: Input
|
|
5251
5287
|
}], atLeastOneUppercaseLetter: [{
|
|
5252
5288
|
type: Input
|