ngx-vector-components 3.4.0 → 3.4.1
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/components/fields/currency-field/currency-field.component.mjs +24 -66
- package/fesm2015/ngx-vector-components.mjs +24 -64
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +23 -64
- package/fesm2020/ngx-vector-components.mjs.map +1 -1
- package/lib/components/fields/currency-field/currency-field.component.d.ts +5 -8
- package/package.json +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { StringUtil } from '../../../utils';
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { InputNumber } from 'primeng/inputnumber';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
import * as i1 from "primeng/inputnumber";
|
|
6
5
|
import * as i2 from "@angular/common";
|
|
@@ -14,25 +13,12 @@ export class CurrencyFieldComponent {
|
|
|
14
13
|
this.rounded = false;
|
|
15
14
|
this.isBankingField = false;
|
|
16
15
|
this.inputClassName = '';
|
|
17
|
-
this.lastInvertedIndexTyped = 0;
|
|
18
|
-
this.subscription = new Subscription();
|
|
19
16
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
this.subscription.add(this.control.valueChanges.subscribe((value) => {
|
|
26
|
-
if (value) {
|
|
27
|
-
this.lastInvertedIndexTyped = `${value}`.length;
|
|
28
|
-
}
|
|
29
|
-
}));
|
|
30
|
-
}
|
|
31
|
-
get control() {
|
|
32
|
-
return this._control;
|
|
33
|
-
}
|
|
34
|
-
ngOnDestroy() {
|
|
35
|
-
this.subscription.unsubscribe();
|
|
17
|
+
ngAfterViewInit() {
|
|
18
|
+
const inputElement = this.inputElement?.el.nativeElement.querySelector('input');
|
|
19
|
+
inputElement.addEventListener('select', () => {
|
|
20
|
+
inputElement.selectionStart = inputElement.selectionEnd;
|
|
21
|
+
}, false);
|
|
36
22
|
}
|
|
37
23
|
getInputNgClass() {
|
|
38
24
|
return { outlined: this.outlined, rounded: this.rounded, [this.inputClassName]: !!this.inputClassName };
|
|
@@ -43,61 +29,30 @@ export class CurrencyFieldComponent {
|
|
|
43
29
|
target?.setSelectionRange(selectionIndex, selectionIndex);
|
|
44
30
|
}
|
|
45
31
|
inputNextChar($event) {
|
|
46
|
-
this.focusLastIndex($event);
|
|
47
32
|
const target = $event.target;
|
|
33
|
+
const valueTyped = $event.key;
|
|
34
|
+
let newValue = target.value.replace('R$ ', '').replace(/[\.,]/g, '');
|
|
48
35
|
const isDeleteOrBackspace = ['Delete', 'Backspace'].includes($event.key);
|
|
49
36
|
if (isDeleteOrBackspace) {
|
|
50
|
-
|
|
51
|
-
target.value = target.value.substr(0, target.value.length - 1);
|
|
52
|
-
if (target.value === '') {
|
|
53
|
-
this.lastInvertedIndexTyped = 0;
|
|
54
|
-
target.value = '0,00';
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
37
|
+
newValue = newValue.substring(0, newValue.length - 1).padStart(3, '0');
|
|
57
38
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
if (isDeleteOrBackspace) {
|
|
64
|
-
valueTyped = '';
|
|
65
|
-
}
|
|
66
|
-
let i = 0;
|
|
67
|
-
const reversedPreviousValue = StringUtil.revertString(target.value.replace(/[^0-9]/g, ''));
|
|
68
|
-
const newValue = StringUtil.revertString(StringUtil.revertString(this.lastInvertedIndexTyped >= 3 ? `${target.value}${valueTyped}`.replace(/[0-9]/g, '#') : '#,##').replace(/#/g, () => {
|
|
69
|
-
let returnValue = '0';
|
|
70
|
-
if (isDeleteOrBackspace) {
|
|
71
|
-
returnValue = reversedPreviousValue[i];
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
if (i === 0) {
|
|
75
|
-
returnValue = `${valueTyped}`;
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
returnValue = reversedPreviousValue[i - 1] || '0';
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
i++;
|
|
82
|
-
return returnValue;
|
|
83
|
-
}));
|
|
84
|
-
const newValueOnlyNumbers = newValue.replace(/[^0-9]/g, '');
|
|
85
|
-
target.value = Number(`${newValueOnlyNumbers.substring(0, newValueOnlyNumbers.length - 2)}.${newValueOnlyNumbers.substr(newValueOnlyNumbers.length - 2)}`).toLocaleString('pt-BR', {
|
|
86
|
-
currency: 'BRL',
|
|
87
|
-
minimumFractionDigits: 2,
|
|
88
|
-
maximumFractionDigits: 2,
|
|
89
|
-
});
|
|
90
|
-
if (!isNaN(+valueTyped)) {
|
|
91
|
-
this.lastInvertedIndexTyped++;
|
|
92
|
-
}
|
|
39
|
+
else if (!isNaN(+valueTyped)) {
|
|
40
|
+
newValue += valueTyped;
|
|
41
|
+
newValue = `${+newValue}`.padStart(3, '0');
|
|
93
42
|
}
|
|
43
|
+
target.value = `R$ ${Number(`${newValue.substring(0, newValue.length - 2)}.${newValue.substring(newValue.length - 2, newValue.length)}`).toLocaleString('pt-BR', {
|
|
44
|
+
currency: 'BRL',
|
|
45
|
+
minimumFractionDigits: 2,
|
|
46
|
+
maximumFractionDigits: 2,
|
|
47
|
+
})}`;
|
|
48
|
+
this.focusLastIndex($event);
|
|
94
49
|
}
|
|
95
50
|
clearValue() {
|
|
96
51
|
this.control.setValue(0);
|
|
97
52
|
}
|
|
98
53
|
}
|
|
99
54
|
CurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
-
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", control: "control", outlined: "outlined", rounded: "rounded", label: "label", isBankingField: "isBankingField", inputClassName: "inputClassName" }, ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"], components: [{ type: i1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
55
|
+
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", control: "control", outlined: "outlined", rounded: "rounded", label: "label", isBankingField: "isBankingField", inputClassName: "inputClassName" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: InputNumber, descendants: true }], ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"], components: [{ type: i1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
101
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
|
|
102
57
|
type: Component,
|
|
103
58
|
args: [{ selector: 'vector-currency-field', template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"] }]
|
|
@@ -119,5 +74,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
119
74
|
type: Input
|
|
120
75
|
}], inputClassName: [{
|
|
121
76
|
type: Input
|
|
77
|
+
}], inputElement: [{
|
|
78
|
+
type: ViewChild,
|
|
79
|
+
args: [InputNumber]
|
|
122
80
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFPUyxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsYUFBUSxHQUFHLFNBQVMsQ0FBQztRQUVyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQWlCekIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSWhCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBT25CLDJCQUFzQixHQUFHLENBQUMsQ0FBQztRQUMzQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0ErRTNDO0lBL0dDLElBQ0ksT0FBTyxDQUFDLFFBQWE7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUN0QixJQUFJLENBQUMsc0JBQXNCLEdB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Q0FBQzs7bUhBckhVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG1TQ1RuQywyL0JBd0JBOzJGRGZhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSx1QkFBdUI7OEJBTTFCLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFHRixPQUFPO3NCQURWLEtBQUs7Z0JBZ0JDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsS0FBSztzQkFEWCxLQUFLO2dCQUdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBR0MsY0FBYztzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3RyaW5nVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWN1cnJlbmN5LWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW5WYWx1ZSA9IDA7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF4VmFsdWUgPSA5OTk5OTk5OTk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbnRyb2woX2NvbnRyb2w6IGFueSkge1xyXG4gICAgdGhpcy5fY29udHJvbCA9IF9jb250cm9sO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSkge1xyXG4gICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQgPSBgJHt0aGlzLmNvbnRyb2wudmFsdWV9YC5sZW5ndGg7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5sYXN0SW52ZXJ0ZWRJbmRleFR5cGVkID0gYCR7dmFsdWV9YC5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3V0bGluZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3VuZGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWw/OiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNCYW5raW5nRmllbGQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbnB1dENsYXNzTmFtZSA9ICcnO1xyXG5cclxuICBnZXQgY29udHJvbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29udHJvbDogYW55O1xyXG4gIHByaXZhdGUgbGFzdEludmVydGVkSW5kZXhUeXBlZCA9IDA7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJbnB1dE5nQ2xhc3MoKSB7XHJcbiAgICByZXR1cm4geyBvdXRsaW5lZDogdGhpcy5vdXRsaW5lZCwgcm91bmRlZDogdGhpcy5yb3VuZGVkLCBbdGhpcy5pbnB1dENsYXNzTmFtZV06ICEhdGhpcy5pbnB1dENsYXNzTmFtZSB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZvY3VzTGFzdEluZGV4KCRldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHNlbGVjdGlvbkluZGV4ID0gdGFyZ2V0Py52YWx1ZS5sZW5ndGggfHwgMDtcclxuICAgIHRhcmdldD8uc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uSW5kZXgsIHNlbGVjdGlvbkluZGV4KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbnB1dE5leHRDaGFyKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb2N1c0xhc3RJbmRleCgkZXZlbnQpO1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgaXNEZWxldGVPckJhY2tzcGFjZSA9IFsnRGVsZXRlJywgJ0JhY2tzcGFjZSddLmluY2x1ZGVzKCRldmVudC5rZXkpO1xyXG4gICAgaWYgKGlzRGVsZXRlT3JCYWNrc3BhY2UpIHtcclxuICAgICAgdGhpcy5sYXN0SW52ZXJ0ZWRJbmRleFR5cGVkLS07XHJcbiAgICAgIHRhcmdldC52YWx1ZSA9IHRhcmdldC52YWx1ZS5zdWJzdHIoMCwgdGFyZ2V0LnZhbHVlLmxlbmd0aCAtIDEpO1xyXG4gICAgICBpZiAodGFyZ2V0LnZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZCA9IDA7XHJcbiAgICAgICAgdGFyZ2V0LnZhbHVlID0gJzAsMDAnO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IHZhbHVlVHlwZWQgPSAkZXZlbnQua2V5O1xyXG4gICAgaWYgKCFpc05hTigrdmFsdWVUeXBlZCkgfHwgaXNEZWxldGVPckJhY2tzcGFjZSkge1xyXG4gICAgICBpZiAodGFyZ2V0LnZhbHVlID09PSAnMCwwMCcgJiYgK3ZhbHVlVHlwZWQgPT09IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpc0RlbGV0ZU9yQmFja3NwYWNlKSB7XHJcbiAgICAgICAgdmFsdWVUeXBlZCA9ICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgaSA9IDA7XHJcbiAgICAgIGNvbnN0IHJldmVyc2VkUHJldmlvdXNWYWx1ZSA9IFN0cmluZ1V0aWwucmV2ZXJ0U3RyaW5nKHRhcmdldC52YWx1ZS5yZXBsYWNlKC9bXjAtOV0vZywgJycpKTtcclxuICAgICAgY29uc3QgbmV3VmFsdWUgPSBTdHJpbmdVdGlsLnJldmVydFN0cmluZyhcclxuICAgICAgICBTdHJpbmdVdGlsLnJldmVydFN0cmluZyhcclxuICAgICAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZCA+PSAzID8gYCR7dGFyZ2V0LnZhbHVlfSR7dmFsdWVUeXBlZH1gLnJlcGxhY2UoL1swLTldL2csICcjJykgOiAnIywjIydcclxuICAgICAgICApLnJlcGxhY2UoLyMvZywgKCkgPT4ge1xyXG4gICAgICAgICAgbGV0IHJldHVyblZhbHVlID0gJzAnO1xyXG4gICAgICAgICAgaWYgKGlzRGVsZXRlT3JCYWNrc3BhY2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuVmFsdWUgPSByZXZlcnNlZFByZXZpb3VzVmFsdWVbaV07XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIHJldHVyblZhbHVlID0gYCR7dmFsdWVUeXBlZH1gO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJldHVyblZhbHVlID0gcmV2ZXJzZWRQcmV2aW91c1ZhbHVlW2kgLSAxXSB8fCAnMCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpKys7XHJcbiAgICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgY29uc3QgbmV3VmFsdWVPbmx5TnVtYmVycyA9IG5ld1ZhbHVlLnJlcGxhY2UoL1teMC05XS9nLCAnJyk7XHJcbiAgICAgIHRhcmdldC52YWx1ZSA9IE51bWJlcihcclxuICAgICAgICBgJHtuZXdWYWx1ZU9ubHlOdW1iZXJzLnN1YnN0cmluZygwLCBuZXdWYWx1ZU9ubHlOdW1iZXJzLmxlbmd0aCAtIDIpfS4ke25ld1ZhbHVlT25seU51bWJlcnMuc3Vic3RyKFxyXG4gICAgICAgICAgbmV3VmFsdWVPbmx5TnVtYmVycy5sZW5ndGggLSAyXHJcbiAgICAgICAgKX1gXHJcbiAgICAgICkudG9Mb2NhbGVTdHJpbmcoJ3B0LUJSJywge1xyXG4gICAgICAgIGN1cnJlbmN5OiAnQlJMJyxcclxuICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKCFpc05hTigrdmFsdWVUeXBlZCkpIHtcclxuICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQrKztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyVmFsdWUoKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieyAnaW5wdXQtY29udGFpbmVyJzogb3V0bGluZWQsICd2YWx1ZS1pbnB1dC1jb250YWluZXInOiAhb3V0bGluZWQsIHJvdW5kZWQ6IHJvdW5kZWQgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1jb250YWluZXJcIj5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0XCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiIW91dGxpbmVkXCI+UiQgPC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsdWUtaW5wdXRcIj5cclxuICAgICAgICA8cC1pbnB1dE51bWJlclxyXG4gICAgICAgICAgY2xhc3M9XCJjdXJyZW5jeS1pbnB1dFwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJnZXRJbnB1dE5nQ2xhc3MoKVwiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgICBtb2RlPVwiZGVjaW1hbFwiXHJcbiAgICAgICAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwiMlwiXHJcbiAgICAgICAgICBbbWF4RnJhY3Rpb25EaWdpdHNdPVwiMlwiXHJcbiAgICAgICAgICBbbWluXT1cIm1pblZhbHVlXCJcclxuICAgICAgICAgIFttYXhdPVwibWF4VmFsdWVcIlxyXG4gICAgICAgICAgW3ByZWZpeF09XCJvdXRsaW5lZCA/ICdSJCAnIDogJydcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImlzQmFua2luZ0ZpZWxkID8gZm9jdXNMYXN0SW5kZXgoJGV2ZW50KSA6IG51bGxcIlxyXG4gICAgICAgICAgKG9uS2V5RG93bik9XCJpc0JhbmtpbmdGaWVsZCA/IGlucHV0TmV4dENoYXIoJGV2ZW50KSA6IG51bGxcIlxyXG4gICAgICAgID48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPHNwYW4gKm5nSWY9XCJyb3VuZGVkXCIgY2xhc3M9XCJjbGVhci12YWx1ZVwiIChjbGljayk9XCJjbGVhclZhbHVlKClcIj48aSBjbGFzcz1cInBpIHBpLXRpbWVzXCI+PC9pPjwvc3Bhbj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBT2xELE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFPUyxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsYUFBUSxHQUFHLFNBQVMsQ0FBQztRQUVyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUl6QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFaEMsbUJBQWMsR0FBRyxFQUFFLENBQUM7S0FrRDVCO0lBN0NDLGVBQWU7UUFDYixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hGLFlBQVksQ0FBQyxnQkFBZ0IsQ0FDM0IsUUFBUSxFQUNSLEdBQUcsRUFBRTtZQUNILFlBQVksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUMxRCxDQUFDLEVBQ0QsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxRyxDQUFDO0lBRU0sY0FBYyxDQUFDLE1BQWE7UUFDakMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQTBCLENBQUM7UUFDakQsTUFBTSxjQUFjLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFxQjtRQUN4QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBMEIsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQzlCLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RSxJQUFJLG1CQUFtQixFQUFFO1lBQ3ZCLFFBQVEsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDeEU7YUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDOUIsUUFBUSxJQUFJLFVBQVUsQ0FBQztZQUN2QixRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDNUM7UUFDRCxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sTUFBTSxDQUN6QixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDNUcsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ3hCLFFBQVEsRUFBRSxLQUFLO1lBQ2YscUJBQXFCLEVBQUUsQ0FBQztZQUN4QixxQkFBcUIsRUFBRSxDQUFDO1NBQ3pCLENBQUMsRUFBRSxDQUFDO1FBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7O21IQW5FVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixpVkFvQnRCLFdBQVcsZ0RDNUJ4QiwyL0JBd0JBOzJGRGhCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsdUJBQXVCOzhCQU0xQixRQUFRO3NCQURkLEtBQUs7Z0JBR0MsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsS0FBSztzQkFEWCxLQUFLO2dCQUdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBR0MsY0FBYztzQkFEcEIsS0FBSztnQkFJRSxZQUFZO3NCQURuQixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXROdW1iZXIgfSBmcm9tICdwcmltZW5nL2lucHV0bnVtYmVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWN1cnJlbmN5LWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWluVmFsdWUgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1heFZhbHVlID0gOTk5OTk5OTk5O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjb250cm9sOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3V0bGluZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByb3VuZGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWw/OiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNCYW5raW5nRmllbGQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpbnB1dENsYXNzTmFtZSA9ICcnO1xyXG5cclxuICBAVmlld0NoaWxkKElucHV0TnVtYmVyKVxyXG4gIHByaXZhdGUgaW5wdXRFbGVtZW50PzogSW5wdXROdW1iZXI7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuaW5wdXRFbGVtZW50Py5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XHJcbiAgICBpbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgJ3NlbGVjdCcsXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpbnB1dEVsZW1lbnQuc2VsZWN0aW9uU3RhcnQgPSBpbnB1dEVsZW1lbnQuc2VsZWN0aW9uRW5kO1xyXG4gICAgICB9LFxyXG4gICAgICBmYWxzZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJbnB1dE5nQ2xhc3MoKSB7XHJcbiAgICByZXR1cm4geyBvdXRsaW5lZDogdGhpcy5vdXRsaW5lZCwgcm91bmRlZDogdGhpcy5yb3VuZGVkLCBbdGhpcy5pbnB1dENsYXNzTmFtZV06ICEhdGhpcy5pbnB1dENsYXNzTmFtZSB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZvY3VzTGFzdEluZGV4KCRldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHNlbGVjdGlvbkluZGV4ID0gdGFyZ2V0Py52YWx1ZS5sZW5ndGggfHwgMDtcclxuICAgIHRhcmdldD8uc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uSW5kZXgsIHNlbGVjdGlvbkluZGV4KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbnB1dE5leHRDaGFyKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgdmFsdWVUeXBlZCA9ICRldmVudC5rZXk7XHJcbiAgICBsZXQgbmV3VmFsdWUgPSB0YXJnZXQudmFsdWUucmVwbGFjZSgnUiQgJywgJycpLnJlcGxhY2UoL1tcXC4sXS9nLCAnJyk7XHJcbiAgICBjb25zdCBpc0RlbGV0ZU9yQmFja3NwYWNlID0gWydEZWxldGUnLCAnQmFja3NwYWNlJ10uaW5jbHVkZXMoJGV2ZW50LmtleSk7XHJcbiAgICBpZiAoaXNEZWxldGVPckJhY2tzcGFjZSkge1xyXG4gICAgICBuZXdWYWx1ZSA9IG5ld1ZhbHVlLnN1YnN0cmluZygwLCBuZXdWYWx1ZS5sZW5ndGggLSAxKS5wYWRTdGFydCgzLCAnMCcpO1xyXG4gICAgfSBlbHNlIGlmICghaXNOYU4oK3ZhbHVlVHlwZWQpKSB7XHJcbiAgICAgIG5ld1ZhbHVlICs9IHZhbHVlVHlwZWQ7XHJcbiAgICAgIG5ld1ZhbHVlID0gYCR7K25ld1ZhbHVlfWAucGFkU3RhcnQoMywgJzAnKTtcclxuICAgIH1cclxuICAgIHRhcmdldC52YWx1ZSA9IGBSJCAke051bWJlcihcclxuICAgICAgYCR7bmV3VmFsdWUuc3Vic3RyaW5nKDAsIG5ld1ZhbHVlLmxlbmd0aCAtIDIpfS4ke25ld1ZhbHVlLnN1YnN0cmluZyhuZXdWYWx1ZS5sZW5ndGggLSAyLCBuZXdWYWx1ZS5sZW5ndGgpfWBcclxuICAgICkudG9Mb2NhbGVTdHJpbmcoJ3B0LUJSJywge1xyXG4gICAgICBjdXJyZW5jeTogJ0JSTCcsXHJcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgfSl9YDtcclxuICAgIHRoaXMuZm9jdXNMYXN0SW5kZXgoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhclZhbHVlKCkge1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKDApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ2lucHV0LWNvbnRhaW5lcic6IG91dGxpbmVkLCAndmFsdWUtaW5wdXQtY29udGFpbmVyJzogIW91dGxpbmVkLCByb3VuZGVkOiByb3VuZGVkIH1cIj5cclxuICA8ZGl2IGNsYXNzPVwiaW5uZXItY29udGFpbmVyXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIiFvdXRsaW5lZFwiPlIkIDwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInZhbHVlLWlucHV0XCI+XHJcbiAgICAgICAgPHAtaW5wdXROdW1iZXJcclxuICAgICAgICAgIGNsYXNzPVwiY3VycmVuY3ktaW5wdXRcIlxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0SW5wdXROZ0NsYXNzKClcIlxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICAgICAgbW9kZT1cImRlY2ltYWxcIlxyXG4gICAgICAgICAgW21pbkZyYWN0aW9uRGlnaXRzXT1cIjJcIlxyXG4gICAgICAgICAgW21heEZyYWN0aW9uRGlnaXRzXT1cIjJcIlxyXG4gICAgICAgICAgW21pbl09XCJtaW5WYWx1ZVwiXHJcbiAgICAgICAgICBbbWF4XT1cIm1heFZhbHVlXCJcclxuICAgICAgICAgIFtwcmVmaXhdPVwib3V0bGluZWQgPyAnUiQgJyA6ICcnXCJcclxuICAgICAgICAgIChjbGljayk9XCJpc0JhbmtpbmdGaWVsZCA/IGZvY3VzTGFzdEluZGV4KCRldmVudCkgOiBudWxsXCJcclxuICAgICAgICAgIChvbktleURvd24pPVwiaXNCYW5raW5nRmllbGQgPyBpbnB1dE5leHRDaGFyKCRldmVudCkgOiBudWxsXCJcclxuICAgICAgICA+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxzcGFuICpuZ0lmPVwicm91bmRlZFwiIGNsYXNzPVwiY2xlYXItdmFsdWVcIiAoY2xpY2spPVwiY2xlYXJWYWx1ZSgpXCI+PGkgY2xhc3M9XCJwaSBwaS10aW1lc1wiPjwvaT48L3NwYW4+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -26,7 +26,7 @@ import { FileUploadModule } from 'primeng/fileupload';
|
|
|
26
26
|
import * as i2$5 from 'primeng/inputmask';
|
|
27
27
|
import { InputMaskModule } from 'primeng/inputmask';
|
|
28
28
|
import * as i1$5 from 'primeng/inputnumber';
|
|
29
|
-
import { InputNumberModule } from 'primeng/inputnumber';
|
|
29
|
+
import { InputNumber, InputNumberModule } from 'primeng/inputnumber';
|
|
30
30
|
import * as i6 from 'primeng/inputtext';
|
|
31
31
|
import { InputTextModule } from 'primeng/inputtext';
|
|
32
32
|
import * as i2$7 from 'primeng/inputtextarea';
|
|
@@ -1572,25 +1572,13 @@ class CurrencyFieldComponent {
|
|
|
1572
1572
|
this.rounded = false;
|
|
1573
1573
|
this.isBankingField = false;
|
|
1574
1574
|
this.inputClassName = '';
|
|
1575
|
-
this.lastInvertedIndexTyped = 0;
|
|
1576
|
-
this.subscription = new Subscription();
|
|
1577
|
-
}
|
|
1578
|
-
set control(_control) {
|
|
1579
|
-
this._control = _control;
|
|
1580
|
-
if (this.control.value) {
|
|
1581
|
-
this.lastInvertedIndexTyped = `${this.control.value}`.length;
|
|
1582
|
-
}
|
|
1583
|
-
this.subscription.add(this.control.valueChanges.subscribe((value) => {
|
|
1584
|
-
if (value) {
|
|
1585
|
-
this.lastInvertedIndexTyped = `${value}`.length;
|
|
1586
|
-
}
|
|
1587
|
-
}));
|
|
1588
1575
|
}
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1576
|
+
ngAfterViewInit() {
|
|
1577
|
+
var _a;
|
|
1578
|
+
const inputElement = (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.el.nativeElement.querySelector('input');
|
|
1579
|
+
inputElement.addEventListener('select', () => {
|
|
1580
|
+
inputElement.selectionStart = inputElement.selectionEnd;
|
|
1581
|
+
}, false);
|
|
1594
1582
|
}
|
|
1595
1583
|
getInputNgClass() {
|
|
1596
1584
|
return { outlined: this.outlined, rounded: this.rounded, [this.inputClassName]: !!this.inputClassName };
|
|
@@ -1601,61 +1589,30 @@ class CurrencyFieldComponent {
|
|
|
1601
1589
|
target === null || target === void 0 ? void 0 : target.setSelectionRange(selectionIndex, selectionIndex);
|
|
1602
1590
|
}
|
|
1603
1591
|
inputNextChar($event) {
|
|
1604
|
-
this.focusLastIndex($event);
|
|
1605
1592
|
const target = $event.target;
|
|
1593
|
+
const valueTyped = $event.key;
|
|
1594
|
+
let newValue = target.value.replace('R$ ', '').replace(/[\.,]/g, '');
|
|
1606
1595
|
const isDeleteOrBackspace = ['Delete', 'Backspace'].includes($event.key);
|
|
1607
1596
|
if (isDeleteOrBackspace) {
|
|
1608
|
-
|
|
1609
|
-
target.value = target.value.substr(0, target.value.length - 1);
|
|
1610
|
-
if (target.value === '') {
|
|
1611
|
-
this.lastInvertedIndexTyped = 0;
|
|
1612
|
-
target.value = '0,00';
|
|
1613
|
-
return;
|
|
1614
|
-
}
|
|
1615
|
-
}
|
|
1616
|
-
let valueTyped = $event.key;
|
|
1617
|
-
if (!isNaN(+valueTyped) || isDeleteOrBackspace) {
|
|
1618
|
-
if (target.value === '0,00' && +valueTyped === 0) {
|
|
1619
|
-
return;
|
|
1620
|
-
}
|
|
1621
|
-
if (isDeleteOrBackspace) {
|
|
1622
|
-
valueTyped = '';
|
|
1623
|
-
}
|
|
1624
|
-
let i = 0;
|
|
1625
|
-
const reversedPreviousValue = StringUtil.revertString(target.value.replace(/[^0-9]/g, ''));
|
|
1626
|
-
const newValue = StringUtil.revertString(StringUtil.revertString(this.lastInvertedIndexTyped >= 3 ? `${target.value}${valueTyped}`.replace(/[0-9]/g, '#') : '#,##').replace(/#/g, () => {
|
|
1627
|
-
let returnValue = '0';
|
|
1628
|
-
if (isDeleteOrBackspace) {
|
|
1629
|
-
returnValue = reversedPreviousValue[i];
|
|
1630
|
-
}
|
|
1631
|
-
else {
|
|
1632
|
-
if (i === 0) {
|
|
1633
|
-
returnValue = `${valueTyped}`;
|
|
1634
|
-
}
|
|
1635
|
-
else {
|
|
1636
|
-
returnValue = reversedPreviousValue[i - 1] || '0';
|
|
1637
|
-
}
|
|
1638
|
-
}
|
|
1639
|
-
i++;
|
|
1640
|
-
return returnValue;
|
|
1641
|
-
}));
|
|
1642
|
-
const newValueOnlyNumbers = newValue.replace(/[^0-9]/g, '');
|
|
1643
|
-
target.value = Number(`${newValueOnlyNumbers.substring(0, newValueOnlyNumbers.length - 2)}.${newValueOnlyNumbers.substr(newValueOnlyNumbers.length - 2)}`).toLocaleString('pt-BR', {
|
|
1644
|
-
currency: 'BRL',
|
|
1645
|
-
minimumFractionDigits: 2,
|
|
1646
|
-
maximumFractionDigits: 2,
|
|
1647
|
-
});
|
|
1648
|
-
if (!isNaN(+valueTyped)) {
|
|
1649
|
-
this.lastInvertedIndexTyped++;
|
|
1650
|
-
}
|
|
1597
|
+
newValue = newValue.substring(0, newValue.length - 1).padStart(3, '0');
|
|
1651
1598
|
}
|
|
1599
|
+
else if (!isNaN(+valueTyped)) {
|
|
1600
|
+
newValue += valueTyped;
|
|
1601
|
+
newValue = `${+newValue}`.padStart(3, '0');
|
|
1602
|
+
}
|
|
1603
|
+
target.value = `R$ ${Number(`${newValue.substring(0, newValue.length - 2)}.${newValue.substring(newValue.length - 2, newValue.length)}`).toLocaleString('pt-BR', {
|
|
1604
|
+
currency: 'BRL',
|
|
1605
|
+
minimumFractionDigits: 2,
|
|
1606
|
+
maximumFractionDigits: 2,
|
|
1607
|
+
})}`;
|
|
1608
|
+
this.focusLastIndex($event);
|
|
1652
1609
|
}
|
|
1653
1610
|
clearValue() {
|
|
1654
1611
|
this.control.setValue(0);
|
|
1655
1612
|
}
|
|
1656
1613
|
}
|
|
1657
1614
|
CurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1658
|
-
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", control: "control", outlined: "outlined", rounded: "rounded", label: "label", isBankingField: "isBankingField", inputClassName: "inputClassName" }, ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"], components: [{ type: i1$5.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
1615
|
+
CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", control: "control", outlined: "outlined", rounded: "rounded", label: "label", isBankingField: "isBankingField", inputClassName: "inputClassName" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: InputNumber, descendants: true }], ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"], components: [{ type: i1$5.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
1659
1616
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
|
|
1660
1617
|
type: Component,
|
|
1661
1618
|
args: [{ selector: 'vector-currency-field', template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n", styles: [".value-input-container{padding:5px 20px;display:flex;align-items:center;justify-content:space-between}.value-input-container:focus-within{border:2px solid var(--theme-dark)}.value-input-container:not(.rounded) span{font-size:2em}.value-input-container label{color:var(--gray-dark);font-size:13px}.value-input-container span{font-weight:700;color:var(--theme-dark)}.value-input-container .input{display:flex;align-items:center}.value-input-container .input .value-input{margin:0 4px;flex:1}.rounded:not(.currency-input){padding:0 25px;background-color:#fff;border-radius:16px}.rounded span{font-size:1em}.rounded input{font-size:1rem}.rounded .clear-value{padding:5px 5px 0;border-radius:20px}.rounded .clear-value:hover{background-color:var(--gray-medium)}\n"] }]
|
|
@@ -1677,6 +1634,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
1677
1634
|
type: Input
|
|
1678
1635
|
}], inputClassName: [{
|
|
1679
1636
|
type: Input
|
|
1637
|
+
}], inputElement: [{
|
|
1638
|
+
type: ViewChild,
|
|
1639
|
+
args: [InputNumber]
|
|
1680
1640
|
}] } });
|
|
1681
1641
|
|
|
1682
1642
|
class TextFieldComponent {
|