lib-portal-angular 0.0.59 → 0.0.61
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/components/components.module.mjs +21 -4
- package/esm2022/lib/components/imput/input.component.mjs +123 -52
- package/esm2022/lib/directive/cep-mask.directive.mjs +49 -0
- package/esm2022/lib/directive/cnpj-mask.directive.mjs +53 -0
- package/esm2022/lib/directive/cpf-mask.directive.mjs +52 -0
- package/esm2022/public-api.mjs +6 -1
- package/fesm2022/lib-portal-angular.mjs +282 -52
- package/fesm2022/lib-portal-angular.mjs.map +1 -1
- package/lib/components/components.module.d.ts +16 -13
- package/lib/components/imput/input.component.d.ts +15 -1
- package/lib/directive/cep-mask.directive.d.ts +12 -0
- package/lib/directive/cnpj-mask.directive.d.ts +12 -0
- package/lib/directive/cpf-mask.directive.d.ts +12 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
@@ -3,6 +3,9 @@ import { NgModule } from '@angular/core';
|
|
3
3
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
4
4
|
import { NgSelectModule } from '@ng-select/ng-select';
|
5
5
|
import { AutofocusDirective } from '../directive/autofocus-directive/autofocus.directive';
|
6
|
+
import { CepMaskDirective } from '../directive/cep-mask.directive';
|
7
|
+
import { CnpjMaskDirective } from '../directive/cnpj-mask.directive';
|
8
|
+
import { CpfMaskDirective } from '../directive/cpf-mask.directive';
|
6
9
|
import { LucideIconsModule } from '../icons/lucide-icons.module';
|
7
10
|
import { AlertComponent } from './alert/alert.component';
|
8
11
|
import { AppBackgroundComponent } from './app-background/app-background.component';
|
@@ -14,17 +17,17 @@ import { CheckboxComponent } from './checkbox/checkbox.component';
|
|
14
17
|
import { CodeHighlightComponent } from './code-highlight/code-highlight.component';
|
15
18
|
import { ConfirmationComponent } from './confirmation/confirmation.component';
|
16
19
|
import { CustomPaginationComponent } from './custom-pagination/custom-pagination.component';
|
20
|
+
import { CustomSwitchComponent } from './custom-switch/custom-switch.component';
|
17
21
|
import { InputComponent } from './imput/input.component';
|
18
22
|
import { MultiSelectComponent } from './multi-select/multi-select.component';
|
19
23
|
import { RadioComponent } from './radio/radio.component';
|
24
|
+
import { SearchCustomerComponent } from './search-customer/search-customer.component';
|
20
25
|
import { SearchInputComponent } from './search-input/search-input.component';
|
21
26
|
import { SelectComponent } from './select/select.component';
|
27
|
+
import { TabComponent } from './tab/tab.component';
|
22
28
|
import { DataTableComponent } from './tables/data-table.component';
|
23
29
|
import { TextareaComponent } from './textarea/textarea.component';
|
24
30
|
import { TreeNodeComponent } from './tree-node/tree-node.component';
|
25
|
-
import { CustomSwitchComponent } from './custom-switch/custom-switch.component';
|
26
|
-
import { SearchCustomerComponent } from './search-customer/search-customer.component';
|
27
|
-
import { TabComponent } from './tab/tab.component';
|
28
31
|
import * as i0 from "@angular/core";
|
29
32
|
export class ComponentsModule {
|
30
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
@@ -42,6 +45,9 @@ export class ComponentsModule {
|
|
42
45
|
AlertComponent,
|
43
46
|
ConfirmationComponent,
|
44
47
|
AutofocusDirective,
|
48
|
+
CepMaskDirective,
|
49
|
+
CnpjMaskDirective,
|
50
|
+
CpfMaskDirective,
|
45
51
|
CustomPaginationComponent,
|
46
52
|
TreeNodeComponent,
|
47
53
|
SearchInputComponent,
|
@@ -69,6 +75,10 @@ export class ComponentsModule {
|
|
69
75
|
BadgeComponent,
|
70
76
|
AlertComponent,
|
71
77
|
ConfirmationComponent,
|
78
|
+
AutofocusDirective,
|
79
|
+
CepMaskDirective,
|
80
|
+
CnpjMaskDirective,
|
81
|
+
CpfMaskDirective,
|
72
82
|
CustomPaginationComponent,
|
73
83
|
TreeNodeComponent,
|
74
84
|
SearchInputComponent,
|
@@ -105,6 +115,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
105
115
|
AlertComponent,
|
106
116
|
ConfirmationComponent,
|
107
117
|
AutofocusDirective,
|
118
|
+
CepMaskDirective,
|
119
|
+
CnpjMaskDirective,
|
120
|
+
CpfMaskDirective,
|
108
121
|
CustomPaginationComponent,
|
109
122
|
TreeNodeComponent,
|
110
123
|
SearchInputComponent,
|
@@ -138,6 +151,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
138
151
|
BadgeComponent,
|
139
152
|
AlertComponent,
|
140
153
|
ConfirmationComponent,
|
154
|
+
AutofocusDirective,
|
155
|
+
CepMaskDirective,
|
156
|
+
CnpjMaskDirective,
|
157
|
+
CpfMaskDirective,
|
141
158
|
CustomPaginationComponent,
|
142
159
|
TreeNodeComponent,
|
143
160
|
SearchInputComponent,
|
@@ -150,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
150
167
|
],
|
151
168
|
}]
|
152
169
|
}] });
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9B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Q3BCLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6QixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLDBCQUEwQjt3QkFDMUIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBBdXRvZm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmUvYXV0b2ZvY3VzLWRpcmVjdGl2ZS9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IENlcE1hc2tEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmUvY2VwLW1hc2suZGlyZWN0aXZlJztcbmltcG9ydCB7IENucGpNYXNrRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlL2NucGotbWFzay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ3BmTWFza0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZS9jcGYtbWFzay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTHVjaWRlSWNvbnNNb2R1bGUgfSBmcm9tICcuLi9pY29ucy9sdWNpZGUtaWNvbnMubW9kdWxlJztcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC9hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwQmFja2dyb3VuZENvbXBvbmVudCB9IGZyb20gJy4vYXBwLWJhY2tncm91bmQvYXBwLWJhY2tncm91bmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzaWNSZWdpc3RyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2Jhc2ljLXJlZ2lzdHJhdGlvbi9iYXNpYy1yZWdpc3RyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuL2NvZGUtaGlnaGxpZ2h0L2NvZGUtaGlnaGxpZ2h0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1wYWdpbmF0aW9uL2N1c3RvbS1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21Td2l0Y2hDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1zd2l0Y2gvY3VzdG9tLXN3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ltcHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hDdXN0b21lckNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWN1c3RvbWVyL3NlYXJjaC1jdXN0b21lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlcy9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IFRyZWVOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi90cmVlLW5vZGUvdHJlZS1ub2RlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDYXJkQ29tcG9uZW50LFxuICAgIElucHV0Q29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIFRleHRhcmVhQ29tcG9uZW50LFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBSYWRpb0NvbXBvbmVudCxcbiAgICBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBEYXRhVGFibGVDb21wb25lbnQsXG4gICAgQ29kZUhpZ2hsaWdodENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBBbGVydENvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25Db21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIENlcE1hc2tEaXJlY3RpdmUsXG4gICAgQ25wak1hc2tEaXJlY3RpdmUsXG4gICAgQ3BmTWFza0RpcmVjdGl2ZSxcbiAgICBDdXN0b21QYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIFRyZWVOb2RlQ29tcG9uZW50LFxuICAgIFNlYXJjaElucHV0Q29tcG9uZW50LFxuICAgIEFwcEJhY2tncm91bmRDb21wb25lbnQsXG4gICAgQmFzaWNSZWdpc3RyYXRpb25Db21wb25lbnQsXG4gICAgQ3VzdG9tU3dpdGNoQ29tcG9uZW50LFxuICAgIFNlYXJjaEN1c3RvbWVyQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nU2VsZWN0TW9kdWxlLFxuICAgIEx1Y2lkZUljb25zTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIENhcmRDb21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIFJhZGlvQ29tcG9uZW50LFxuICAgIE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmdTZWxlY3RNb2R1bGUsXG4gICAgRGF0YVRhYmxlQ29tcG9uZW50LFxuICAgIENvZGVIaWdobGlnaHRDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgQWxlcnRDb21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uQ29tcG9uZW50LFxuICAgIEF1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICBDZXBNYXNrRGlyZWN0aXZlLFxuICAgIENucGpNYXNrRGlyZWN0aXZlLFxuICAgIENwZk1hc2tEaXJlY3RpdmUsXG4gICAgQ3VzdG9tUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBUcmVlTm9kZUNvbXBvbmVudCxcbiAgICBTZWFyY2hJbnB1dENvbXBvbmVudCxcbiAgICBMdWNpZGVJY29uc01vZHVsZSxcbiAgICBBcHBCYWNrZ3JvdW5kQ29tcG9uZW50LFxuICAgIEJhc2ljUmVnaXN0cmF0aW9uQ29tcG9uZW50LFxuICAgIEN1c3RvbVN3aXRjaENvbXBvbmVudCxcbiAgICBTZWFyY2hDdXN0b21lckNvbXBvbmVudCxcbiAgICBUYWJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudHNNb2R1bGUgeyB9XG4iXX0=
|
@@ -4,6 +4,9 @@ import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../../service/auth-service.service";
|
5
5
|
import * as i2 from "@angular/common";
|
6
6
|
import * as i3 from "@angular/forms";
|
7
|
+
import * as i4 from "../../directive/cep-mask.directive";
|
8
|
+
import * as i5 from "../../directive/cnpj-mask.directive";
|
9
|
+
import * as i6 from "../../directive/cpf-mask.directive";
|
7
10
|
export class InputComponent {
|
8
11
|
constructor(authService) {
|
9
12
|
this.authService = authService;
|
@@ -18,6 +21,11 @@ export class InputComponent {
|
|
18
21
|
this.required = false;
|
19
22
|
this.pattern = null;
|
20
23
|
this.autofocus = false;
|
24
|
+
this.useCpfMask = false;
|
25
|
+
this.useCnpjMask = false;
|
26
|
+
this.useCepMask = false;
|
27
|
+
this.onlyNumbers = false;
|
28
|
+
this.validateInput = false;
|
21
29
|
this.labelFontWeight = 400;
|
22
30
|
this.inputEvent = new EventEmitter();
|
23
31
|
this.changeEvent = new EventEmitter();
|
@@ -29,17 +37,116 @@ export class InputComponent {
|
|
29
37
|
this.onChangeCallback = () => { };
|
30
38
|
this.onTouchedCallback = () => { };
|
31
39
|
this.value = '';
|
40
|
+
this.showErrorModal = false;
|
41
|
+
this.errorMessage = '';
|
32
42
|
this.subscriptions = [];
|
33
43
|
}
|
44
|
+
getInputType() {
|
45
|
+
return this.onlyNumbers ? 'tel' : this.type;
|
46
|
+
}
|
34
47
|
onInput(event) {
|
35
48
|
const inputElement = event.target;
|
36
|
-
|
49
|
+
let inputValue = inputElement.value;
|
50
|
+
if ((this.onlyNumbers) && !(this.useCpfMask || this.useCnpjMask || this.useCepMask)) {
|
51
|
+
inputValue = inputValue.replace(/\D/g, '');
|
52
|
+
}
|
53
|
+
this.value = inputValue;
|
37
54
|
this.onChangeCallback(this.value);
|
38
55
|
this.inputEvent.emit(event);
|
56
|
+
// Validar imediatamente após o último caractere numérico para CPF, CNPJ ou CEP
|
57
|
+
const numericValue = this.value.replace(/\D/g, ''); // Remove todos os caracteres não numéricos
|
58
|
+
if (this.validateInput) {
|
59
|
+
if (this.useCpfMask && numericValue.length === 11 && !this.validateCpf(numericValue)) {
|
60
|
+
this.clearAndShowValidationError('CPF inválido. Por favor, insira um CPF correto.');
|
61
|
+
}
|
62
|
+
else if (this.useCnpjMask && numericValue.length === 14 && !this.validateCnpj(numericValue)) {
|
63
|
+
this.clearAndShowValidationError('CNPJ inválido. Por favor, insira um CNPJ correto.');
|
64
|
+
}
|
65
|
+
else if (this.useCepMask && numericValue.length === 8 && !this.validateCep(numericValue)) {
|
66
|
+
this.clearAndShowValidationError('CEP inválido. Por favor, insira um CEP correto.');
|
67
|
+
}
|
68
|
+
}
|
69
|
+
}
|
70
|
+
onKeyDown(event) {
|
71
|
+
if (this.onlyNumbers && !/^\d$/.test(event.key) && event.key !== 'Backspace' && event.key !== 'ArrowLeft' && event.key !== 'ArrowRight') {
|
72
|
+
event.preventDefault();
|
73
|
+
}
|
39
74
|
}
|
40
75
|
onChange(event) {
|
76
|
+
const numericValue = this.value.replace(/\D/g, ''); // Remove todos os caracteres não numéricos
|
77
|
+
// Validação também ocorre no blur para casos onde o input não está completo
|
78
|
+
if (this.validateInput) {
|
79
|
+
if (this.useCpfMask && !this.validateCpf(numericValue)) {
|
80
|
+
this.clearAndShowValidationError('CPF inválido. Por favor, insira um CPF correto.');
|
81
|
+
}
|
82
|
+
else if (this.useCnpjMask && !this.validateCnpj(numericValue)) {
|
83
|
+
this.clearAndShowValidationError('CNPJ inválido. Por favor, insira um CNPJ correto.');
|
84
|
+
}
|
85
|
+
else if (this.useCepMask && !this.validateCep(numericValue)) {
|
86
|
+
this.clearAndShowValidationError('CEP inválido. Por favor, insira um CEP correto.');
|
87
|
+
}
|
88
|
+
}
|
41
89
|
this.changeEvent.emit(event);
|
42
90
|
}
|
91
|
+
validateCpf(cpf) {
|
92
|
+
if (cpf.length !== 11 || /^(\d)\1+$/.test(cpf))
|
93
|
+
return false;
|
94
|
+
let sum = 0, remainder;
|
95
|
+
for (let i = 1; i <= 9; i++)
|
96
|
+
sum += parseInt(cpf.substring(i - 1, i)) * (11 - i);
|
97
|
+
remainder = (sum * 10) % 11;
|
98
|
+
if (remainder === 10 || remainder === 11)
|
99
|
+
remainder = 0;
|
100
|
+
if (remainder !== parseInt(cpf.substring(9, 10)))
|
101
|
+
return false;
|
102
|
+
sum = 0;
|
103
|
+
for (let i = 1; i <= 10; i++)
|
104
|
+
sum += parseInt(cpf.substring(i - 1, i)) * (12 - i);
|
105
|
+
remainder = (sum * 10) % 11;
|
106
|
+
if (remainder === 10 || remainder === 11)
|
107
|
+
remainder = 0;
|
108
|
+
return remainder === parseInt(cpf.substring(10, 11));
|
109
|
+
}
|
110
|
+
validateCnpj(cnpj) {
|
111
|
+
if (cnpj.length !== 14)
|
112
|
+
return false;
|
113
|
+
let length = cnpj.length - 2;
|
114
|
+
let numbers = cnpj.substring(0, length);
|
115
|
+
let digits = cnpj.substring(length);
|
116
|
+
let sum = 0, pos = length - 7;
|
117
|
+
for (let i = length; i >= 1; i--) {
|
118
|
+
sum += parseInt(numbers.charAt(length - i)) * pos--;
|
119
|
+
if (pos < 2)
|
120
|
+
pos = 9;
|
121
|
+
}
|
122
|
+
let result = sum % 11 < 2 ? 0 : 11 - sum % 11;
|
123
|
+
if (result !== parseInt(digits.charAt(0)))
|
124
|
+
return false;
|
125
|
+
length = length + 1;
|
126
|
+
numbers = cnpj.substring(0, length);
|
127
|
+
sum = 0;
|
128
|
+
pos = length - 7;
|
129
|
+
for (let i = length; i >= 1; i--) {
|
130
|
+
sum += parseInt(numbers.charAt(length - i)) * pos--;
|
131
|
+
if (pos < 2)
|
132
|
+
pos = 9;
|
133
|
+
}
|
134
|
+
result = sum % 11 < 2 ? 0 : 11 - sum % 11;
|
135
|
+
return result === parseInt(digits.charAt(1));
|
136
|
+
}
|
137
|
+
validateCep(cep) {
|
138
|
+
return /^\d{8}$/.test(cep); // Valida apenas números, sem considerar a máscara
|
139
|
+
}
|
140
|
+
clearAndShowValidationError(message) {
|
141
|
+
this.value = ''; // Limpa o valor do ngModel
|
142
|
+
this.onChangeCallback(this.value); // Atualiza o ngModel com o valor limpo
|
143
|
+
this.errorMessage = message;
|
144
|
+
this.showErrorModal = true;
|
145
|
+
}
|
146
|
+
closeModal() {
|
147
|
+
this.showErrorModal = false;
|
148
|
+
this.errorMessage = '';
|
149
|
+
}
|
43
150
|
onFocus(event) {
|
44
151
|
this.focusEvent.emit(event);
|
45
152
|
}
|
@@ -80,69 +187,23 @@ export class InputComponent {
|
|
80
187
|
this.subscriptions.forEach(sub => sub.unsubscribe());
|
81
188
|
}
|
82
189
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, selector: "argenta-custom-input", inputs: { label: "label", placeholder: "placeholder", id: "id", type: "type", disabled: "disabled", readonly: "readonly", maxlength: "maxlength", minlength: "minlength", required: "required", pattern: "pattern", autofocus: "autofocus", labelFontWeight: "labelFontWeight", permissions: "permissions" }, outputs: { inputEvent: "inputEvent", changeEvent: "changeEvent", focusEvent: "focusEvent", blurEvent: "blurEvent", keyupEvent: "keyupEvent", keydownEvent: "keydownEvent", keypressEvent: "keypressEvent" }, providers: [
|
190
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, selector: "argenta-custom-input", inputs: { label: "label", placeholder: "placeholder", id: "id", type: "type", disabled: "disabled", readonly: "readonly", maxlength: "maxlength", minlength: "minlength", required: "required", pattern: "pattern", autofocus: "autofocus", useCpfMask: "useCpfMask", useCnpjMask: "useCnpjMask", useCepMask: "useCepMask", onlyNumbers: "onlyNumbers", validateInput: "validateInput", labelFontWeight: "labelFontWeight", permissions: "permissions" }, outputs: { inputEvent: "inputEvent", changeEvent: "changeEvent", focusEvent: "focusEvent", blurEvent: "blurEvent", keyupEvent: "keyupEvent", keydownEvent: "keydownEvent", keypressEvent: "keypressEvent" }, providers: [
|
84
191
|
{
|
85
192
|
provide: NG_VALUE_ACCESSOR,
|
86
193
|
useExisting: forwardRef(() => InputComponent),
|
87
194
|
multi: true
|
88
195
|
}
|
89
|
-
], ngImport: i0, template:
|
90
|
-
<div *ngIf="hasPermission()" class="form-group">
|
91
|
-
<label [for]="id" [ngClass]="'label-styles'">{{ label }}</label>
|
92
|
-
<input [type]="type"
|
93
|
-
class="form-control custom-input"
|
94
|
-
[id]="id"
|
95
|
-
[placeholder]="placeholder"
|
96
|
-
[(ngModel)]="value"
|
97
|
-
(input)="onInput($event)"
|
98
|
-
(change)="onChange($event)"
|
99
|
-
(focus)="onFocus($event)"
|
100
|
-
(blur)="onBlur($event)"
|
101
|
-
(keyup)="keyupEvent.emit($event)"
|
102
|
-
(keydown)="keydownEvent.emit($event)"
|
103
|
-
(keypress)="keypressEvent.emit($event)"
|
104
|
-
[disabled]="disabled"
|
105
|
-
[readonly]="readonly"
|
106
|
-
[attr.maxlength]="maxlength"
|
107
|
-
[attr.minlength]="minlength"
|
108
|
-
[required]="required"
|
109
|
-
[attr.pattern]="pattern"
|
110
|
-
[autofocus]="autofocus">
|
111
|
-
</div>
|
112
|
-
`, isInline: true, styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap\";body{font-family:Inter,sans-serif}.form-group{font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter,Arial,sans-serif;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:19.36px;text-align:left}.custom-input{font-family:Inter,Arial,sans-serif;color:#333;font-size:.9rem;height:46px}.custom-input::placeholder{font-size:14px;color:#d3d3d3}.form-label{font-family:Inter,Arial,sans-serif;color:#333;font-size:1rem;font-weight:700}.label-styles{font-weight:400;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:19.36px;text-align:left;margin-top:1rem;margin-bottom:.5rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
196
|
+
], ngImport: i0, template: "<div *ngIf=\"hasPermission()\" class=\"form-group\">\n <label [for]=\"id\" [ngClass]=\"'label-styles'\">{{ label }}</label>\n <input [type]=\"getInputType()\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"keyupEvent.emit($event)\"\n (keydown)=\"onKeyDown($event)\"\n (keypress)=\"keypressEvent.emit($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\"\n [cpfMask]=\"useCpfMask\" \n [cnpjMask]=\"useCnpjMask\" \n [cepMask]=\"useCepMask\">\n\n <!-- Modal para exibir mensagens de erro -->\n <div class=\"modal-overlay\" *ngIf=\"showErrorModal\">\n <div class=\"modal-content\">\n <span class=\"close\" (click)=\"closeModal()\">×</span>\n <p>{{ errorMessage }}</p>\n <button class=\"btn-ok\" (click)=\"closeModal()\">OK</button>\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap\";body{font-family:Inter,sans-serif}.form-group{font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter,Arial,sans-serif;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:19.36px;text-align:left}.custom-input{font-family:Inter,Arial,sans-serif;color:#333;font-size:.9rem;height:46px}.custom-input::placeholder{font-size:14px;color:#d3d3d3}.form-label{font-family:Inter,Arial,sans-serif;color:#333;font-size:1rem;font-weight:700}.label-styles{font-weight:400;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:19.36px;text-align:left;margin-top:1rem;margin-bottom:.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:25px 30px;border-radius:8px;width:360px;text-align:center;position:relative;box-shadow:0 4px 12px #0003}.close{position:absolute;top:10px;right:15px;cursor:pointer;font-size:20px;color:#555;transition:color .3s}.close:hover{color:#f44336}.btn-ok{margin-top:20px;padding:8px 20px;border:none;background-color:#00444c;color:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s,transform .2s}.btn-ok:hover{background-color:#00363d;transform:scale(1.05)}.btn-ok:active{transform:scale(.98)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.CepMaskDirective, selector: "[cepMask]", inputs: ["cepMask"] }, { kind: "directive", type: i5.CnpjMaskDirective, selector: "[cnpjMask]", inputs: ["cnpjMask"] }, { kind: "directive", type: i6.CpfMaskDirective, selector: "[cpfMask]", inputs: ["cpfMask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
113
197
|
}
|
114
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
|
115
199
|
type: Component,
|
116
|
-
args: [{ selector: 'argenta-custom-input',
|
117
|
-
<div *ngIf="hasPermission()" class="form-group">
|
118
|
-
<label [for]="id" [ngClass]="'label-styles'">{{ label }}</label>
|
119
|
-
<input [type]="type"
|
120
|
-
class="form-control custom-input"
|
121
|
-
[id]="id"
|
122
|
-
[placeholder]="placeholder"
|
123
|
-
[(ngModel)]="value"
|
124
|
-
(input)="onInput($event)"
|
125
|
-
(change)="onChange($event)"
|
126
|
-
(focus)="onFocus($event)"
|
127
|
-
(blur)="onBlur($event)"
|
128
|
-
(keyup)="keyupEvent.emit($event)"
|
129
|
-
(keydown)="keydownEvent.emit($event)"
|
130
|
-
(keypress)="keypressEvent.emit($event)"
|
131
|
-
[disabled]="disabled"
|
132
|
-
[readonly]="readonly"
|
133
|
-
[attr.maxlength]="maxlength"
|
134
|
-
[attr.minlength]="minlength"
|
135
|
-
[required]="required"
|
136
|
-
[attr.pattern]="pattern"
|
137
|
-
[autofocus]="autofocus">
|
138
|
-
</div>
|
139
|
-
`, providers: [
|
200
|
+
args: [{ selector: 'argenta-custom-input', providers: [
|
140
201
|
{
|
141
202
|
provide: NG_VALUE_ACCESSOR,
|
142
203
|
useExisting: forwardRef(() => InputComponent),
|
143
204
|
multi: true
|
144
205
|
}
|
145
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap\";body{font-family:Inter,sans-serif}.form-group{font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter,Arial,sans-serif;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:19.36px;text-align:left}.custom-input{font-family:Inter,Arial,sans-serif;color:#333;font-size:.9rem;height:46px}.custom-input::placeholder{font-size:14px;color:#d3d3d3}.form-label{font-family:Inter,Arial,sans-serif;color:#333;font-size:1rem;font-weight:700}.label-styles{font-weight:400;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:19.36px;text-align:left;margin-top:1rem;margin-bottom:.5rem}\n"] }]
|
206
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"hasPermission()\" class=\"form-group\">\n <label [for]=\"id\" [ngClass]=\"'label-styles'\">{{ label }}</label>\n <input [type]=\"getInputType()\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"keyupEvent.emit($event)\"\n (keydown)=\"onKeyDown($event)\"\n (keypress)=\"keypressEvent.emit($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\"\n [cpfMask]=\"useCpfMask\" \n [cnpjMask]=\"useCnpjMask\" \n [cepMask]=\"useCepMask\">\n\n <!-- Modal para exibir mensagens de erro -->\n <div class=\"modal-overlay\" *ngIf=\"showErrorModal\">\n <div class=\"modal-content\">\n <span class=\"close\" (click)=\"closeModal()\">×</span>\n <p>{{ errorMessage }}</p>\n <button class=\"btn-ok\" (click)=\"closeModal()\">OK</button>\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap\";body{font-family:Inter,sans-serif}.form-group{font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter,Arial,sans-serif;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:19.36px;text-align:left}.custom-input{font-family:Inter,Arial,sans-serif;color:#333;font-size:.9rem;height:46px}.custom-input::placeholder{font-size:14px;color:#d3d3d3}.form-label{font-family:Inter,Arial,sans-serif;color:#333;font-size:1rem;font-weight:700}.label-styles{font-weight:400;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:19.36px;text-align:left;margin-top:1rem;margin-bottom:.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:25px 30px;border-radius:8px;width:360px;text-align:center;position:relative;box-shadow:0 4px 12px #0003}.close{position:absolute;top:10px;right:15px;cursor:pointer;font-size:20px;color:#555;transition:color .3s}.close:hover{color:#f44336}.btn-ok{margin-top:20px;padding:8px 20px;border:none;background-color:#00444c;color:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s,transform .2s}.btn-ok:hover{background-color:#00363d;transform:scale(1.05)}.btn-ok:active{transform:scale(.98)}\n"] }]
|
146
207
|
}], ctorParameters: function () { return [{ type: i1.AuthService }]; }, propDecorators: { label: [{
|
147
208
|
type: Input
|
148
209
|
}], placeholder: [{
|
@@ -165,6 +226,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
165
226
|
type: Input
|
166
227
|
}], autofocus: [{
|
167
228
|
type: Input
|
229
|
+
}], useCpfMask: [{
|
230
|
+
type: Input
|
231
|
+
}], useCnpjMask: [{
|
232
|
+
type: Input
|
233
|
+
}], useCepMask: [{
|
234
|
+
type: Input
|
235
|
+
}], onlyNumbers: [{
|
236
|
+
type: Input
|
237
|
+
}], validateInput: [{
|
238
|
+
type: Input
|
168
239
|
}], labelFontWeight: [{
|
169
240
|
type: Input
|
170
241
|
}], permissions: [{
|
@@ -184,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
184
255
|
}], keypressEvent: [{
|
185
256
|
type: Output
|
186
257
|
}] } });
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbXB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQXdDekUsTUFBTSxPQUFPLGNBQWM7SUFnQ3pCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBL0JuQyxVQUFLLEdBQVcsZUFBZSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLE9BQUUsR0FBVyxTQUFTLENBQUM7UUFDdkIsU0FBSSxHQUFXLE1BQU0sQ0FBQztRQUN0QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFDaEMsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFDaEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNCLG9CQUFlLEdBQVcsR0FBRyxDQUFDO1FBSTdCLGVBQVUsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUM1RCxnQkFBVyxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzdELGVBQVUsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUN0RSxjQUFTLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDckUsZUFBVSxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztR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aUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQzs0QkFDN0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07a0dBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2F1dGgtc2VydmljZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJnZW50YS1jdXN0b20taW5wdXQnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgKm5nSWY9XCJoYXNQZXJtaXNzaW9uKClcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgIDxsYWJlbCBbZm9yXT1cImlkXCIgW25nQ2xhc3NdPVwiJ2xhYmVsLXN0eWxlcydcIj57eyBsYWJlbCB9fTwvbGFiZWw+XG4gICAgICA8aW5wdXQgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY3VzdG9tLWlucHV0XCJcbiAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleXVwKT1cImtleXVwRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoa2V5ZG93bik9XCJrZXlkb3duRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoa2V5cHJlc3MpPVwia2V5cHJlc3NFdmVudC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcbiAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgIFthdHRyLnBhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdEZWZhdWx0IExhYmVsJztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpZDogc3RyaW5nID0gJ2lucHV0SWQnO1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgPSAndGV4dCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1heGxlbmd0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIG1pbmxlbmd0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBhdHRlcm46IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBhdXRvZm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBsYWJlbEZvbnRXZWlnaHQ6IG51bWJlciA9IDQwMDtcblxuICBASW5wdXQoKSBwZXJtaXNzaW9uczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIGlucHV0RXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgY2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgZm9jdXNFdmVudDogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICBAT3V0cHV0KCkgYmx1ckV2ZW50OiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBrZXl1cEV2ZW50OiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBrZXlkb3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcbiAgQE91dHB1dCgpIGtleXByZXNzRXZlbnQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XG5cbiAgdmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgeyB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLnZhbHVlID0gaW5wdXRFbGVtZW50LnZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmlucHV0RXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgIHRoaXMuZm9jdXNFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmJsdXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIGhhc1Blcm1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnBlcm1pc3Npb25zIHx8IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuaGFzUGVybWlzc2lvbih0aGlzLnBlcm1pc3Npb25zKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignUGVybWlzc2lvbiBlcnJvcjonLCBlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1Vua25vd24gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHBlcm1pc3Npb24gY2hlY2snKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiJdfQ==
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbXB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2ltcHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFpQnpFLE1BQU0sT0FBTyxjQUFjO0lBcUN6QixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXBDbkMsVUFBSyxHQUFXLGVBQWUsQ0FBQztRQUNoQyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixPQUFFLEdBQVcsU0FBUyxDQUFDO1FBQ3ZCLFNBQUksR0FBVyxNQUFNLENBQUM7UUFDdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsWUFBTyxHQUFrQixJQUFJLENBQUM7UUFDOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0Isa0JBQWEs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QUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRixTQUFTLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksU0FBUyxLQUFLLEVBQUUsSUFBSSxTQUFTLEtBQUssRUFBRTtZQUFFLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDeEQsSUFBSSxTQUFTLEtBQUssUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0QsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNSLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRixTQUFTLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksU0FBUyxLQUFLLEVBQUUsSUFBSSxTQUFTLEtBQUssRUFBRTtZQUFFLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDeEQsT0FBTyxTQUFTLEtBQUssUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDckMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxPQUFPLEdBQUcs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QWIxQixTQUFTOytCQUNFLHNCQUFzQixhQUdyQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUM7NEJBQzdDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO2tHQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXV0aC1zZXJ2aWNlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcmdlbnRhLWN1c3RvbS1pbnB1dCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnRGVmYXVsdCBMYWJlbCc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICdpbnB1dElkJztcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJ3RleHQnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBtaW5sZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwYXR0ZXJuOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZUNwZk1hc2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdXNlQ25wak1hc2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdXNlQ2VwTWFzazogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBvbmx5TnVtYmVyczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB2YWxpZGF0ZUlucHV0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsRm9udFdlaWdodDogbnVtYmVyID0gNDAwO1xuICBASW5wdXQoKSBwZXJtaXNzaW9uczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIGlucHV0RXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgY2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgZm9jdXNFdmVudDogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICBAT3V0cHV0KCkgYmx1ckV2ZW50OiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBrZXl1cEV2ZW50OiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBrZXlkb3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcbiAgQE91dHB1dCgpIGtleXByZXNzRXZlbnQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XG5cbiAgdmFsdWU6IHN0cmluZyA9ICcnO1xuICBzaG93RXJyb3JNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgeyB9XG5cbiAgZ2V0SW5wdXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub25seU51bWJlcnMgPyAndGVsJyA6IHRoaXMudHlwZTtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgbGV0IGlucHV0VmFsdWUgPSBpbnB1dEVsZW1lbnQudmFsdWU7XG5cbiAgICBpZiAoKHRoaXMub25seU51bWJlcnMpICYmICEodGhpcy51c2VDcGZNYXNrIHx8IHRoaXMudXNlQ25wak1hc2sgfHwgdGhpcy51c2VDZXBNYXNrKSkge1xuICAgICAgaW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICB9XG5cbiAgICB0aGlzLnZhbHVlID0gaW5wdXRWYWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5pbnB1dEV2ZW50LmVtaXQoZXZlbnQpO1xuXG4gICAgLy8gVmFsaWRhciBpbWVkaWF0YW1lbnRlIGFww7NzIG8gw7psdGltbyBjYXJhY3RlcmUgbnVtw6lyaWNvIHBhcmEgQ1BGLCBDTlBKIG91IENFUFxuICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IHRoaXMudmFsdWUucmVwbGFjZSgvXFxEL2csICcnKTsgLy8gUmVtb3ZlIHRvZG9zIG9zIGNhcmFjdGVyZXMgbsOjbyBudW3DqXJpY29zXG4gICAgaWYgKHRoaXMudmFsaWRhdGVJbnB1dCkge1xuICAgICAgaWYgKHRoaXMudXNlQ3BmTWFzayAmJiBudW1lcmljVmFsdWUubGVuZ3RoID09PSAxMSAmJiAhdGhpcy52YWxpZGF0ZUNwZihudW1lcmljVmFsdWUpKSB7XG4gICAgICAgIHRoaXMuY2xlYXJBbmRTaG93VmFsaWRhdGlvbkVycm9yKCdDUEYgaW52w6FsaWRvLiBQb3IgZmF2b3IsIGluc2lyYSB1bSBDUEYgY29ycmV0by4nKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy51c2VDbnBqTWFzayAmJiBudW1lcmljVmFsdWUubGVuZ3RoID09PSAxNCAmJiAhdGhpcy52YWxpZGF0ZUNucGoobnVtZXJpY1ZhbHVlKSkge1xuICAgICAgICB0aGlzLmNsZWFyQW5kU2hvd1ZhbGlkYXRpb25FcnJvcignQ05QSiBpbnbDoWxpZG8uIFBvciBmYXZvciwgaW5zaXJhIHVtIENOUEogY29ycmV0by4nKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy51c2VDZXBNYXNrICYmIG51bWVyaWNWYWx1ZS5sZW5ndGggPT09IDggJiYgIXRoaXMudmFsaWRhdGVDZXAobnVtZXJpY1ZhbHVlKSkge1xuICAgICAgICB0aGlzLmNsZWFyQW5kU2hvd1ZhbGlkYXRpb25FcnJvcignQ0VQIGludsOhbGlkby4gUG9yIGZhdm9yLCBpbnNpcmEgdW0gQ0VQIGNvcnJldG8uJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMub25seU51bWJlcnMgJiYgIS9eXFxkJC8udGVzdChldmVudC5rZXkpICYmIGV2ZW50LmtleSAhPT0gJ0JhY2tzcGFjZScgJiYgZXZlbnQua2V5ICE9PSAnQXJyb3dMZWZ0JyAmJiBldmVudC5rZXkgIT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBudW1lcmljVmFsdWUgPSB0aGlzLnZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7IC8vIFJlbW92ZSB0b2RvcyBvcyBjYXJhY3RlcmVzIG7Do28gbnVtw6lyaWNvc1xuICAgIC8vIFZhbGlkYcOnw6NvIHRhbWLDqW0gb2NvcnJlIG5vIGJsdXIgcGFyYSBjYXNvcyBvbmRlIG8gaW5wdXQgbsOjbyBlc3TDoSBjb21wbGV0b1xuICAgIGlmICh0aGlzLnZhbGlkYXRlSW5wdXQpIHtcbiAgICAgIGlmICh0aGlzLnVzZUNwZk1hc2sgJiYgIXRoaXMudmFsaWRhdGVDcGYobnVtZXJpY1ZhbHVlKSkge1xuICAgICAgICB0aGlzLmNsZWFyQW5kU2hvd1ZhbGlkYXRpb25FcnJvcignQ1BGIGludsOhbGlkby4gUG9yIGZhdm9yLCBpbnNpcmEgdW0gQ1BGIGNvcnJldG8uJyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudXNlQ25wak1hc2sgJiYgIXRoaXMudmFsaWRhdGVDbnBqKG51bWVyaWNWYWx1ZSkpIHtcbiAgICAgICAgdGhpcy5jbGVhckFuZFNob3dWYWxpZGF0aW9uRXJyb3IoJ0NOUEogaW52w6FsaWRvLiBQb3IgZmF2b3IsIGluc2lyYSB1bSBDTlBKIGNvcnJldG8uJyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudXNlQ2VwTWFzayAmJiAhdGhpcy52YWxpZGF0ZUNlcChudW1lcmljVmFsdWUpKSB7XG4gICAgICAgIHRoaXMuY2xlYXJBbmRTaG93VmFsaWRhdGlvbkVycm9yKCdDRVAgaW52w6FsaWRvLiBQb3IgZmF2b3IsIGluc2lyYSB1bSBDRVAgY29ycmV0by4nKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHZhbGlkYXRlQ3BmKGNwZjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGNwZi5sZW5ndGggIT09IDExIHx8IC9eKFxcZClcXDErJC8udGVzdChjcGYpKSByZXR1cm4gZmFsc2U7XG4gICAgbGV0IHN1bSA9IDAsIHJlbWFpbmRlcjtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSA5OyBpKyspIHN1bSArPSBwYXJzZUludChjcGYuc3Vic3RyaW5nKGkgLSAxLCBpKSkgKiAoMTEgLSBpKTtcbiAgICByZW1haW5kZXIgPSAoc3VtICogMTApICUgMTE7XG4gICAgaWYgKHJlbWFpbmRlciA9PT0gMTAgfHwgcmVtYWluZGVyID09PSAxMSkgcmVtYWluZGVyID0gMDtcbiAgICBpZiAocmVtYWluZGVyICE9PSBwYXJzZUludChjcGYuc3Vic3RyaW5nKDksIDEwKSkpIHJldHVybiBmYWxzZTtcbiAgICBzdW0gPSAwO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IDEwOyBpKyspIHN1bSArPSBwYXJzZUludChjcGYuc3Vic3RyaW5nKGkgLSAxLCBpKSkgKiAoMTIgLSBpKTtcbiAgICByZW1haW5kZXIgPSAoc3VtICogMTApICUgMTE7XG4gICAgaWYgKHJlbWFpbmRlciA9PT0gMTAgfHwgcmVtYWluZGVyID09PSAxMSkgcmVtYWluZGVyID0gMDtcbiAgICByZXR1cm4gcmVtYWluZGVyID09PSBwYXJzZUludChjcGYuc3Vic3RyaW5nKDEwLCAxMSkpO1xuICB9XG5cbiAgdmFsaWRhdGVDbnBqKGNucGo6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmIChjbnBqLmxlbmd0aCAhPT0gMTQpIHJldHVybiBmYWxzZTtcbiAgICBsZXQgbGVuZ3RoID0gY25wai5sZW5ndGggLSAyO1xuICAgIGxldCBudW1iZXJzID0gY25wai5zdWJzdHJpbmcoMCwgbGVuZ3RoKTtcbiAgICBsZXQgZGlnaXRzID0gY25wai5zdWJzdHJpbmcobGVuZ3RoKTtcbiAgICBsZXQgc3VtID0gMCwgcG9zID0gbGVuZ3RoIC0gNztcbiAgICBmb3IgKGxldCBpID0gbGVuZ3RoOyBpID49IDE7IGktLSkge1xuICAgICAgc3VtICs9IHBhcnNlSW50KG51bWJlcnMuY2hhckF0KGxlbmd0aCAtIGkpKSAqIHBvcy0tO1xuICAgICAgaWYgKHBvcyA8IDIpIHBvcyA9IDk7XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSBzdW0gJSAxMSA8IDIgPyAwIDogMTEgLSBzdW0gJSAxMTtcbiAgICBpZiAocmVzdWx0ICE9PSBwYXJzZUludChkaWdpdHMuY2hhckF0KDApKSkgcmV0dXJuIGZhbHNlO1xuICAgIGxlbmd0aCA9IGxlbmd0aCArIDE7XG4gICAgbnVtYmVycyA9IGNucGouc3Vic3RyaW5nKDAsIGxlbmd0aCk7XG4gICAgc3VtID0gMDtcbiAgICBwb3MgPSBsZW5ndGggLSA3O1xuICAgIGZvciAobGV0IGkgPSBsZW5ndGg7IGkgPj0gMTsgaS0tKSB7XG4gICAgICBzdW0gKz0gcGFyc2VJbnQobnVtYmVycy5jaGFyQXQobGVuZ3RoIC0gaSkpICogcG9zLS07XG4gICAgICBpZiAocG9zIDwgMikgcG9zID0gOTtcbiAgICB9XG4gICAgcmVzdWx0ID0gc3VtICUgMTEgPCAyID8gMCA6IDExIC0gc3VtICUgMTE7XG4gICAgcmV0dXJuIHJlc3VsdCA9PT0gcGFyc2VJbnQoZGlnaXRzLmNoYXJBdCgxKSk7XG4gIH1cblxuICB2YWxpZGF0ZUNlcChjZXA6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAvXlxcZHs4fSQvLnRlc3QoY2VwKTsgLy8gVmFsaWRhIGFwZW5hcyBuw7ptZXJvcywgc2VtIGNvbnNpZGVyYXIgYSBtw6FzY2FyYVxuICB9XG5cbiAgY2xlYXJBbmRTaG93VmFsaWRhdGlvbkVycm9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWUgPSAnJzsgLy8gTGltcGEgbyB2YWxvciBkbyBuZ01vZGVsXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMudmFsdWUpOyAvLyBBdHVhbGl6YSBvIG5nTW9kZWwgY29tIG8gdmFsb3IgbGltcG9cbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgdGhpcy5zaG93RXJyb3JNb2RhbCA9IHRydWU7XG4gIH1cblxuICBjbG9zZU1vZGFsKCkge1xuICAgIHRoaXMuc2hvd0Vycm9yTW9kYWwgPSBmYWxzZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICcnO1xuICB9XG5cbiAgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgIHRoaXMuZm9jdXNFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmJsdXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIGhhc1Blcm1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnBlcm1pc3Npb25zIHx8IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuaGFzUGVybWlzc2lvbih0aGlzLnBlcm1pc3Npb25zKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignUGVybWlzc2lvbiBlcnJvcjonLCBlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1Vua25vd24gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHBlcm1pc3Npb24gY2hlY2snKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJoYXNQZXJtaXNzaW9uKClcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBbbmdDbGFzc109XCInbGFiZWwtc3R5bGVzJ1wiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPGlucHV0IFt0eXBlXT1cImdldElucHV0VHlwZSgpXCJcbiAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGN1c3RvbS1pbnB1dFwiXG4gICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAoa2V5dXApPVwia2V5dXBFdmVudC5lbWl0KCRldmVudClcIlxuICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgICAgICAgKGtleXByZXNzKT1cImtleXByZXNzRXZlbnQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcbiAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgICAgW2NwZk1hc2tdPVwidXNlQ3BmTWFza1wiICBcbiAgICAgICAgIFtjbnBqTWFza109XCJ1c2VDbnBqTWFza1wiIFxuICAgICAgICAgW2NlcE1hc2tdPVwidXNlQ2VwTWFza1wiPlxuXG4gIDwhLS0gTW9kYWwgcGFyYSBleGliaXIgbWVuc2FnZW5zIGRlIGVycm8gLS0+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1vdmVybGF5XCIgKm5nSWY9XCJzaG93RXJyb3JNb2RhbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNsb3NlXCIgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICA8cD57eyBlcnJvck1lc3NhZ2UgfX08L3A+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLW9rXCIgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPk9LPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class CepMaskDirective {
|
4
|
+
constructor(el, renderer) {
|
5
|
+
this.el = el;
|
6
|
+
this.renderer = renderer;
|
7
|
+
this.enabled = false; // Define como opcional e padrão desabilitado
|
8
|
+
}
|
9
|
+
onInputChange(event) {
|
10
|
+
if (!this.enabled)
|
11
|
+
return; // Não aplica a máscara se não estiver habilitada
|
12
|
+
// Obtém o valor atual e remove todos os caracteres não numéricos
|
13
|
+
let initialValue = this.el.nativeElement.value.replace(/\D/g, '');
|
14
|
+
// Limita o número de caracteres a 8 para CEP
|
15
|
+
if (initialValue.length > 8) {
|
16
|
+
initialValue = initialValue.slice(0, 8);
|
17
|
+
}
|
18
|
+
// Aplica a máscara de CEP
|
19
|
+
const formattedValue = this.formatCep(initialValue);
|
20
|
+
// Atualiza o valor do input se necessário
|
21
|
+
if (formattedValue !== this.el.nativeElement.value) {
|
22
|
+
this.renderer.setProperty(this.el.nativeElement, 'value', formattedValue);
|
23
|
+
// Dispara um evento de input para atualizar o modelo
|
24
|
+
if (event.target.dispatchEvent) {
|
25
|
+
const newEvent = new Event('input', { bubbles: true });
|
26
|
+
event.target.dispatchEvent(newEvent);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
formatCep(value) {
|
31
|
+
// Aplica a formatação de CEP: 12345-678
|
32
|
+
return value.replace(/(\d{5})(\d)/, '$1-$2');
|
33
|
+
}
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CepMaskDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CepMaskDirective, selector: "[cepMask]", inputs: { enabled: ["cepMask", "enabled"] }, host: { listeners: { "input": "onInputChange($event)" } }, ngImport: i0 }); }
|
36
|
+
}
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CepMaskDirective, decorators: [{
|
38
|
+
type: Directive,
|
39
|
+
args: [{
|
40
|
+
selector: '[cepMask]',
|
41
|
+
}]
|
42
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { enabled: [{
|
43
|
+
type: Input,
|
44
|
+
args: ['cepMask']
|
45
|
+
}], onInputChange: [{
|
46
|
+
type: HostListener,
|
47
|
+
args: ['input', ['$event']]
|
48
|
+
}] } });
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VwLW1hc2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlL2NlcC1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBS3RGLE1BQU0sT0FBTyxnQkFBZ0I7SUFHekIsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBRjdDLFlBQU8sR0FBWSxLQUFLLENBQUMsQ0FBQyw2Q0FBNkM7SUFFdEIsQ0FBQztJQUdwRSxhQUFhLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLENBQUMsaURBQWlEO1FBRTVFLGlFQUFpRTtRQUNqRSxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsRSw2Q0FBNkM7UUFDN0MsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QixZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDM0M7UUFFRCwwQkFBMEI7UUFDMUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVwRCwwQ0FBMEM7UUFDMUMsSUFBSSxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztZQUUxRSxxREFBcUQ7WUFDckQsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtnQkFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3hDO1NBQ0o7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDbkIsd0NBQXdDO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0FuQ1EsZ0JBQWdCO21HQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7aUJBQ3hCO3lIQUVxQixPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVM7Z0JBS2hCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjZXBNYXNrXScsXG59KVxuZXhwb3J0IGNsYXNzIENlcE1hc2tEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgnY2VwTWFzaycpIGVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8gRGVmaW5lIGNvbW8gb3BjaW9uYWwgZSBwYWRyw6NvIGRlc2FiaWxpdGFkb1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgICBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVuYWJsZWQpIHJldHVybjsgLy8gTsOjbyBhcGxpY2EgYSBtw6FzY2FyYSBzZSBuw6NvIGVzdGl2ZXIgaGFiaWxpdGFkYVxuXG4gICAgICAgIC8vIE9idMOpbSBvIHZhbG9yIGF0dWFsIGUgcmVtb3ZlIHRvZG9zIG9zIGNhcmFjdGVyZXMgbsOjbyBudW3DqXJpY29zXG4gICAgICAgIGxldCBpbml0aWFsVmFsdWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUucmVwbGFjZSgvXFxEL2csICcnKTtcblxuICAgICAgICAvLyBMaW1pdGEgbyBuw7ptZXJvIGRlIGNhcmFjdGVyZXMgYSA4IHBhcmEgQ0VQXG4gICAgICAgIGlmIChpbml0aWFsVmFsdWUubGVuZ3RoID4gOCkge1xuICAgICAgICAgICAgaW5pdGlhbFZhbHVlID0gaW5pdGlhbFZhbHVlLnNsaWNlKDAsIDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBsaWNhIGEgbcOhc2NhcmEgZGUgQ0VQXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRDZXAoaW5pdGlhbFZhbHVlKTtcblxuICAgICAgICAvLyBBdHVhbGl6YSBvIHZhbG9yIGRvIGlucHV0IHNlIG5lY2Vzc8OhcmlvXG4gICAgICAgIGlmIChmb3JtYXR0ZWRWYWx1ZSAhPT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgZm9ybWF0dGVkVmFsdWUpO1xuXG4gICAgICAgICAgICAvLyBEaXNwYXJhIHVtIGV2ZW50byBkZSBpbnB1dCBwYXJhIGF0dWFsaXphciBvIG1vZGVsb1xuICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5kaXNwYXRjaEV2ZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RXZlbnQgPSBuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5kaXNwYXRjaEV2ZW50KG5ld0V2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvcm1hdENlcCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gQXBsaWNhIGEgZm9ybWF0YcOnw6NvIGRlIENFUDogMTIzNDUtNjc4XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC8oXFxkezV9KShcXGQpLywgJyQxLSQyJyk7XG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class CnpjMaskDirective {
|
4
|
+
constructor(el, renderer) {
|
5
|
+
this.el = el;
|
6
|
+
this.renderer = renderer;
|
7
|
+
this.enabled = false; // Define como opcional e padrão desabilitado
|
8
|
+
}
|
9
|
+
onInputChange(event) {
|
10
|
+
if (!this.enabled)
|
11
|
+
return; // Não aplica a máscara se não estiver habilitada
|
12
|
+
// Obtém o valor atual e remove todos os caracteres não numéricos
|
13
|
+
let initialValue = this.el.nativeElement.value.replace(/\D/g, '');
|
14
|
+
// Limita o número de caracteres a 14 para CNPJ
|
15
|
+
if (initialValue.length > 14) {
|
16
|
+
initialValue = initialValue.slice(0, 14);
|
17
|
+
}
|
18
|
+
// Aplica a máscara de CNPJ
|
19
|
+
const formattedValue = this.formatCnpj(initialValue);
|
20
|
+
// Atualiza o valor do input se necessário
|
21
|
+
if (formattedValue !== this.el.nativeElement.value) {
|
22
|
+
this.renderer.setProperty(this.el.nativeElement, 'value', formattedValue);
|
23
|
+
// Dispara um evento de input para atualizar o modelo
|
24
|
+
if (event.target.dispatchEvent) {
|
25
|
+
const newEvent = new Event('input', { bubbles: true });
|
26
|
+
event.target.dispatchEvent(newEvent);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
formatCnpj(value) {
|
31
|
+
// Aplica a formatação de CNPJ: 12.345.678/0001-00
|
32
|
+
return value
|
33
|
+
.replace(/(\d{2})(\d)/, '$1.$2')
|
34
|
+
.replace(/(\d{3})(\d)/, '$1.$2')
|
35
|
+
.replace(/(\d{3})(\d{4})(\d)/, '$1/$2-$3')
|
36
|
+
.replace(/(\d{4})(\d{2})$/, '$1-$2');
|
37
|
+
}
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CnpjMaskDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
39
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CnpjMaskDirective, selector: "[cnpjMask]", inputs: { enabled: ["cnpjMask", "enabled"] }, host: { listeners: { "input": "onInputChange($event)" } }, ngImport: i0 }); }
|
40
|
+
}
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CnpjMaskDirective, decorators: [{
|
42
|
+
type: Directive,
|
43
|
+
args: [{
|
44
|
+
selector: '[cnpjMask]',
|
45
|
+
}]
|
46
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { enabled: [{
|
47
|
+
type: Input,
|
48
|
+
args: ['cnpjMask']
|
49
|
+
}], onInputChange: [{
|
50
|
+
type: HostListener,
|
51
|
+
args: ['input', ['$event']]
|
52
|
+
}] } });
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY25wai1tYXNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYi1wb3J0YWwtYW5ndWxhci9zcmMvbGliL2RpcmVjdGl2ZS9jbnBqLW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFLdEYsTUFBTSxPQUFPLGlCQUFpQjtJQUcxQixZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFGNUMsWUFBTyxHQUFZLEtBQUssQ0FBQyxDQUFDLDZDQUE2QztJQUV2QixDQUFDO0lBR3BFLGFBQWEsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sQ0FBQyxpREFBaUQ7UUFFNUUsaUVBQWlFO1FBQ2pFLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLCtDQUErQztRQUMvQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFO1lBQzFCLFlBQVksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUVELDJCQUEyQjtRQUMzQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJELDBDQUEwQztRQUMxQyxJQUFJLGNBQWMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBRTFFLHFEQUFxRDtZQUNyRCxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO2dCQUM1QixNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDdkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEM7U0FDSjtJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUNwQixrREFBa0Q7UUFDbEQsT0FBTyxLQUFLO2FBQ1AsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7YUFDL0IsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7YUFDL0IsT0FBTyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQzthQUN6QyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQzsrR0F2Q1EsaUJBQWlCO21HQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7aUJBQ3pCO3lIQUVzQixPQUFPO3NCQUF6QixLQUFLO3VCQUFDLFVBQVU7Z0JBS2pCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjbnBqTWFza10nLFxufSlcbmV4cG9ydCBjbGFzcyBDbnBqTWFza0RpcmVjdGl2ZSB7XG4gICAgQElucHV0KCdjbnBqTWFzaycpIGVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8gRGVmaW5lIGNvbW8gb3BjaW9uYWwgZSBwYWRyw6NvIGRlc2FiaWxpdGFkb1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgICBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVuYWJsZWQpIHJldHVybjsgLy8gTsOjbyBhcGxpY2EgYSBtw6FzY2FyYSBzZSBuw6NvIGVzdGl2ZXIgaGFiaWxpdGFkYVxuXG4gICAgICAgIC8vIE9idMOpbSBvIHZhbG9yIGF0dWFsIGUgcmVtb3ZlIHRvZG9zIG9zIGNhcmFjdGVyZXMgbsOjbyBudW3DqXJpY29zXG4gICAgICAgIGxldCBpbml0aWFsVmFsdWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUucmVwbGFjZSgvXFxEL2csICcnKTtcblxuICAgICAgICAvLyBMaW1pdGEgbyBuw7ptZXJvIGRlIGNhcmFjdGVyZXMgYSAxNCBwYXJhIENOUEpcbiAgICAgICAgaWYgKGluaXRpYWxWYWx1ZS5sZW5ndGggPiAxNCkge1xuICAgICAgICAgICAgaW5pdGlhbFZhbHVlID0gaW5pdGlhbFZhbHVlLnNsaWNlKDAsIDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwbGljYSBhIG3DoXNjYXJhIGRlIENOUEpcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmZvcm1hdENucGooaW5pdGlhbFZhbHVlKTtcblxuICAgICAgICAvLyBBdHVhbGl6YSBvIHZhbG9yIGRvIGlucHV0IHNlIG5lY2Vzc8OhcmlvXG4gICAgICAgIGlmIChmb3JtYXR0ZWRWYWx1ZSAhPT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgZm9ybWF0dGVkVmFsdWUpO1xuXG4gICAgICAgICAgICAvLyBEaXNwYXJhIHVtIGV2ZW50byBkZSBpbnB1dCBwYXJhIGF0dWFsaXphciBvIG1vZGVsb1xuICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5kaXNwYXRjaEV2ZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RXZlbnQgPSBuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5kaXNwYXRjaEV2ZW50KG5ld0V2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvcm1hdENucGoodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIC8vIEFwbGljYSBhIGZvcm1hdGHDp8OjbyBkZSBDTlBKOiAxMi4zNDUuNjc4LzAwMDEtMDBcbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAucmVwbGFjZSgvKFxcZHsyfSkoXFxkKS8sICckMS4kMicpXG4gICAgICAgICAgICAucmVwbGFjZSgvKFxcZHszfSkoXFxkKS8sICckMS4kMicpXG4gICAgICAgICAgICAucmVwbGFjZSgvKFxcZHszfSkoXFxkezR9KShcXGQpLywgJyQxLyQyLSQzJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8oXFxkezR9KShcXGR7Mn0pJC8sICckMS0kMicpO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class CpfMaskDirective {
|
4
|
+
constructor(el, renderer) {
|
5
|
+
this.el = el;
|
6
|
+
this.renderer = renderer;
|
7
|
+
this.enabled = false; // Define como opcional e padrão desabilitado
|
8
|
+
}
|
9
|
+
onInputChange(event) {
|
10
|
+
if (!this.enabled)
|
11
|
+
return;
|
12
|
+
// Obtém o valor atual e remove todos os caracteres não numéricos
|
13
|
+
let initialValue = this.el.nativeElement.value.replace(/\D/g, '');
|
14
|
+
// Limita o número de caracteres a 11 para CPF
|
15
|
+
if (initialValue.length > 11) {
|
16
|
+
initialValue = initialValue.slice(0, 11);
|
17
|
+
}
|
18
|
+
// Aplica a máscara de CPF
|
19
|
+
const formattedValue = this.formatCpf(initialValue);
|
20
|
+
// Atualiza o valor do input se necessário
|
21
|
+
if (formattedValue !== this.el.nativeElement.value) {
|
22
|
+
this.renderer.setProperty(this.el.nativeElement, 'value', formattedValue);
|
23
|
+
// Dispara um evento de input para atualizar o modelo
|
24
|
+
if (event.target.dispatchEvent) {
|
25
|
+
const newEvent = new Event('input', { bubbles: true });
|
26
|
+
event.target.dispatchEvent(newEvent);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
formatCpf(value) {
|
31
|
+
// Aplica a formatação de CPF: 123.456.789-00
|
32
|
+
return value
|
33
|
+
.replace(/(\d{3})(\d)/, '$1.$2')
|
34
|
+
.replace(/(\d{3})(\d)/, '$1.$2')
|
35
|
+
.replace(/(\d{3})(\d{1,2})$/, '$1-$2');
|
36
|
+
}
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CpfMaskDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
38
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CpfMaskDirective, selector: "[cpfMask]", inputs: { enabled: ["cpfMask", "enabled"] }, host: { listeners: { "input": "onInputChange($event)" } }, ngImport: i0 }); }
|
39
|
+
}
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CpfMaskDirective, decorators: [{
|
41
|
+
type: Directive,
|
42
|
+
args: [{
|
43
|
+
selector: '[cpfMask]',
|
44
|
+
}]
|
45
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { enabled: [{
|
46
|
+
type: Input,
|
47
|
+
args: ['cpfMask']
|
48
|
+
}], onInputChange: [{
|
49
|
+
type: HostListener,
|
50
|
+
args: ['input', ['$event']]
|
51
|
+
}] } });
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLW1hc2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlL2NwZi1tYXNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBS3RGLE1BQU0sT0FBTyxnQkFBZ0I7SUFHekIsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBRjdDLFlBQU8sR0FBWSxLQUFLLENBQUMsQ0FBQyw2Q0FBNkM7SUFFdEIsQ0FBQztJQUdwRSxhQUFhLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTFCLGlFQUFpRTtRQUNqRSxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsRSw4Q0FBOEM7UUFDOUMsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRTtZQUMxQixZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDNUM7UUFFRCwwQkFBMEI7UUFDMUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVwRCwwQ0FBMEM7UUFDMUMsSUFBSSxjQUFjLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztZQUUxRSxxREFBcUQ7WUFDckQsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtnQkFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3hDO1NBQ0o7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDbkIsNkNBQTZDO1FBQzdDLE9BQU8sS0FBSzthQUNQLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO2FBQy9CLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO2FBQy9CLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQXRDUSxnQkFBZ0I7bUdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFINUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztpQkFDeEI7eUhBRXFCLE9BQU87c0JBQXhCLEtBQUs7dUJBQUMsU0FBUztnQkFLaEIsYUFBYTtzQkFEWixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2NwZk1hc2tdJyxcbn0pXG5leHBvcnQgY2xhc3MgQ3BmTWFza0RpcmVjdGl2ZSB7XG4gICAgQElucHV0KCdjcGZNYXNrJykgZW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyBEZWZpbmUgY29tbyBvcGNpb25hbCBlIHBhZHLDo28gZGVzYWJpbGl0YWRvXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICAgIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCkgcmV0dXJuO1xuXG4gICAgICAgIC8vIE9idMOpbSBvIHZhbG9yIGF0dWFsIGUgcmVtb3ZlIHRvZG9zIG9zIGNhcmFjdGVyZXMgbsOjbyBudW3DqXJpY29zXG4gICAgICAgIGxldCBpbml0aWFsVmFsdWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUucmVwbGFjZSgvXFxEL2csICcnKTtcblxuICAgICAgICAvLyBMaW1pdGEgbyBuw7ptZXJvIGRlIGNhcmFjdGVyZXMgYSAxMSBwYXJhIENQRlxuICAgICAgICBpZiAoaW5pdGlhbFZhbHVlLmxlbmd0aCA+IDExKSB7XG4gICAgICAgICAgICBpbml0aWFsVmFsdWUgPSBpbml0aWFsVmFsdWUuc2xpY2UoMCwgMTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBsaWNhIGEgbcOhc2NhcmEgZGUgQ1BGXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRDcGYoaW5pdGlhbFZhbHVlKTtcblxuICAgICAgICAvLyBBdHVhbGl6YSBvIHZhbG9yIGRvIGlucHV0IHNlIG5lY2Vzc8OhcmlvXG4gICAgICAgIGlmIChmb3JtYXR0ZWRWYWx1ZSAhPT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgZm9ybWF0dGVkVmFsdWUpO1xuXG4gICAgICAgICAgICAvLyBEaXNwYXJhIHVtIGV2ZW50byBkZSBpbnB1dCBwYXJhIGF0dWFsaXphciBvIG1vZGVsb1xuICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5kaXNwYXRjaEV2ZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RXZlbnQgPSBuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5kaXNwYXRjaEV2ZW50KG5ld0V2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvcm1hdENwZih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gQXBsaWNhIGEgZm9ybWF0YcOnw6NvIGRlIENQRjogMTIzLjQ1Ni43ODktMDBcbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAucmVwbGFjZSgvKFxcZHszfSkoXFxkKS8sICckMS4kMicpXG4gICAgICAgICAgICAucmVwbGFjZSgvKFxcZHszfSkoXFxkKS8sICckMS4kMicpXG4gICAgICAgICAgICAucmVwbGFjZSgvKFxcZHszfSkoXFxkezEsMn0pJC8sICckMS0kMicpO1xuICAgIH1cbn1cbiJdfQ==
|