otimus-library 0.2.42 → 0.2.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/oc-autocomplete/oc-autocomplete.component.mjs +1 -10
- package/esm2022/lib/components/oc-checkbox/oc-checkbox.component.mjs +1 -9
- package/esm2022/lib/components/oc-modal/oc-modal.component.mjs +1 -2
- package/fesm2022/otimus-library.mjs +0 -18
- package/fesm2022/otimus-library.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -55,7 +55,6 @@ export class OcAutocompleteComponent {
|
|
|
55
55
|
}
|
|
56
56
|
this.formatOcValueType();
|
|
57
57
|
this.loadOptions();
|
|
58
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
59
58
|
}
|
|
60
59
|
ngOnInit() {
|
|
61
60
|
if (this.ocValue === undefined) {
|
|
@@ -73,8 +72,6 @@ export class OcAutocompleteComponent {
|
|
|
73
72
|
this.formatOcValueType();
|
|
74
73
|
this.loadOptions();
|
|
75
74
|
this.translateService.getTranslationsByLanguage();
|
|
76
|
-
this.cdr.detectChanges();
|
|
77
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
78
75
|
}
|
|
79
76
|
ngAfterContentChecked() {
|
|
80
77
|
if (this.ocPrefix) {
|
|
@@ -83,8 +80,6 @@ export class OcAutocompleteComponent {
|
|
|
83
80
|
if (this.ocSuffix) {
|
|
84
81
|
this.hasSuffix = true;
|
|
85
82
|
}
|
|
86
|
-
this.cdr.detectChanges();
|
|
87
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
88
83
|
}
|
|
89
84
|
formatOcValueType() {
|
|
90
85
|
if (this.ocValue) {
|
|
@@ -167,8 +162,6 @@ export class OcAutocompleteComponent {
|
|
|
167
162
|
name: '',
|
|
168
163
|
value: null,
|
|
169
164
|
};
|
|
170
|
-
this.cdr.detectChanges();
|
|
171
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
172
165
|
return;
|
|
173
166
|
}
|
|
174
167
|
this.selectedValue = foundValue;
|
|
@@ -181,8 +174,6 @@ export class OcAutocompleteComponent {
|
|
|
181
174
|
}
|
|
182
175
|
this.isOptionsShown = false;
|
|
183
176
|
this.ocChange.emit(this.selectedValue.value);
|
|
184
|
-
this.cdr.detectChanges();
|
|
185
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
186
177
|
}
|
|
187
178
|
clearValue() {
|
|
188
179
|
this.selectedValue = {
|
|
@@ -277,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
277
268
|
type: HostBinding,
|
|
278
269
|
args: ['style.max-width']
|
|
279
270
|
}] } });
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7Ozs7OztBQWtCekYsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUNVLFFBQW1CLEVBQ25CLEVBQWMsRUFDZCxnQkFBNkMsRUFDN0MsaUJBQW9DLEVBQ3BDLEdBQXNCO1FBSnRCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBNkI7UUFDN0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVd2QixXQUFNLEdBQWlDLFFBQVEsQ0FBQTtRQUMvQyxXQUFNLEdBQXlCLEVBQUUsQ0FBQTtRQUNqQyxZQUFPLEdBQVEsRUFBRSxDQUFBO1FBQ2pCLG9CQUFlLEdBQVksS0FB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Q2YsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFhSCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLGFBQWE7Z0JBTXRCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTFCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE9jQXV0b0NvbXBsZXRlVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2MtYXV0b2NvbXBsZXRlJ1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xyXG5pbXBvcnQgeyBJbnRlcm5hdGlvbmFsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnRlcm5hdGlvbmFsaXphdGlvbi5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBPY1N0eWxlVGhlbWVUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYy1zdHlsZS10aGVtZSdcclxuaW1wb3J0IHsgU3R5bGVUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdHlsZS10aGVtZS5zZXJ2aWNlJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1hdXRvY29tcGxldGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW0ludGVybmF0aW9uYWxpemF0aW9uU2VydmljZV0sXHJcbiAgaG9zdDoge1xyXG4gICAgJ1tzdHlsZS53aWR0aF0nOiAnY29tcHV0ZWRXaWR0aCcsXHJcbiAgICAnW3N0eWxlLm1pbi13aWR0aF0nOiAnY29tcHV0ZWRNaW5XaWR0aCcsXHJcbiAgICAnW3N0eWxlLm1heC13aWR0aF0nOiAnY29tcHV0ZWRNYXhXaWR0aCcsXHJcbiAgfSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0F1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkluaXRcclxue1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdHlsZVRoZW1lU2VydmljZTogU3R5bGVUaGVtZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQhOiBFbGVtZW50UmVmXHJcbiAgQFZpZXdDaGlsZCgnb3B0aW9ucycpIG9wdGlvbnMhOiBFbGVtZW50UmVmXHJcbiAgQFZpZXdDaGlsZCgnb3V0ZXJEaXYnKSBvdXRlckRpdiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ29jUHJlZml4Jykgb2NQcmVmaXg6IGFueVxyXG4gIEBDb250ZW50Q2hpbGQoJ29jU3VmZml4Jykgb2NTdWZmaXg6IGFueVxyXG4gIEBJbnB1dCgpIG9jUGxhY2Vob2xkZXI/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY0Vycm9yPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NTaXplOiAnc21hbGwnIHwgJ2xhcmdlJyB8ICdtZWRpdW0nID0gJ21lZGl1bSdcclxuICBASW5wdXQoKSBvY0RhdGE6IE9jQXV0b0NvbXBsZXRlVHlwZVtdID0gW11cclxuICBASW5wdXQoKSBvY1ZhbHVlOiBhbnkgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jQ2xlYXJPbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWluV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY01heFdpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NPcHRpb25zTWF4SGVpZ2h0Pzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NPcHRpb25zV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY01heFJlc3VsdHM/OiBudW1iZXJcclxuICBASW5wdXQoKSBvY0FsbG93Tm90TGlzdGVkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NTZW1hbnRpY0xpa2U6IGJvb2xlYW4gPSBmYWxzZSAvLyBkZXByZWNhdGVkLiBQcmVmZXIgdXNpbmcgb2NTdHlsZVRoZW1lIGluc3RlYWRcclxuICBASW5wdXQoKSBvY1N0eWxlOiBPY1N0eWxlVGhlbWVUeXBlID0gJ290aW11cydcclxuICBASW5wdXQoKSBvY1RhYkluZGV4PzogbnVtYmVyXHJcblxyXG4gIEBJbnB1dCgpIG9jSGFzRGVsZXRlQnV0dG9uPzogYm9vbGVhbiA9IGZhbHNlXHJcblxyXG4gIEBPdXRwdXQoKSBvY1ZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcclxuICBAT3V0cHV0KCkgb2NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KClcclxuICBAT3V0cHV0KCkgb2NPcHRpb25Ob3RGb3VuZCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxyXG4gIEBPdXRwdXQoKSBvY0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcblxyXG4gIGhhc1N1ZmZpeDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgaGFzUHJlZml4OiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgaXNPcHRpb25zU2hvd246IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGZpbHRlcmVkRGF0YTogT2NBdXRvQ29tcGxldGVUeXBlW10gPSBbXVxyXG4gIHNlbGVjdGVkVmFsdWU6IE9jQXV0b0NvbXBsZXRlVHlwZSA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdmFsdWU6IG51bGwsXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcclxuICBnZXQgY29tcHV0ZWRXaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jV2lkdGggPyB0aGlzLm9jV2lkdGggOiBudWxsXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY01pbldpZHRoIHx8ICcwJ1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZE1heFdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNYXhXaWR0aCB8fCAnMTAwJSdcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcclxuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcclxuICAgIHRoaXMubG9hZE9wdGlvbnMoKVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpLCAxMDApXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jVmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLm9jVmFsdWUgPSBudWxsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9jU3R5bGUgPSB0aGlzLnN0eWxlVGhlbWVTZXJ2aWNlLmdldFN0eWxlVGhlbWUoKSB8fCB0aGlzLm9jU3R5bGVcclxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcclxuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcclxuICAgIHRoaXMubG9hZE9wdGlvbnMoKVxyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0aW9uc0J5TGFuZ3VhZ2UoKVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSwgMTAwKVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcclxuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xyXG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCksIDEwMClcclxuICB9XHJcblxyXG4gIGZvcm1hdE9jVmFsdWVUeXBlKCkge1xyXG4gICAgaWYgKHRoaXMub2NWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gYCR7dGhpcy5vY1ZhbHVlfWBcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICBnZXRUcmFuc2xhdGlvbihjb2RlOiBudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0VHJhbnNsYXRpb24oY29kZSlcclxuICB9XHJcblxyXG4gIGxvYWRPcHRpb25zKCkge1xyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gICAgICBjb25zdCBpbnB1dEJveCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudFxyXG5cclxuICAgICAgY29uc3QgZm91bmQgPSB0aGlzLm9jRGF0YS5maW5kKChlbCkgPT4gZWwudmFsdWUgPT0gdGhpcy5vY1ZhbHVlKVxyXG4gICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFxyXG4gICAgICAgIHRoaXMub2NWYWx1ZSA9IGZvdW5kLm5hbWVcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGlucHV0Qm94KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXRCb3gucXVlcnlTZWxlY3RvcignaW5wdXQnKVxyXG5cclxuICAgICAgICBpZiAoaW5wdXRFbGVtZW50ICYmICF0aGlzLm9jU2VtYW50aWNMaWtlICYmIFsnb3RpbXVzJywgJ3NodWknXS5pbmNsdWRlcyh0aGlzLm9jU3R5bGUpKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdwbGFjZWhvbGRlcicsICcnKVxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncmVxdWlyZWQnLCB0aGlzLm9jUmVxdWlyZWQudG9TdHJpbmcoKSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDUwKVxyXG4gIH1cclxuXHJcbiAgY2xvc2VPbkNsaWNrT3V0KCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdjbGljaycsIChlOiBFdmVudCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLm9wdGlvbnMpIHtcclxuICAgICAgICBpZiAoZS50YXJnZXQgIT09IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCAmJiBlLnRhcmdldCAhPT0gdGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbmRCeVR5cGluZygpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZmluZEJ5VHlwaW5nKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm9jVmFsdWUgfHwgIXRoaXMub2NWYWx1ZT8udG9TdHJpbmcoKS50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMub2NDaGFuZ2UuZW1pdChudWxsKVxyXG4gICAgICB0aGlzLm9jT3B0aW9uTm90Rm91bmQuZW1pdCgpXHJcbiAgICB9XHJcbiAgICBjb25zdCBmb3VuZFZhbHVlID0gdGhpcy5vY0RhdGEuZmluZChcclxuICAgICAgKGRhdGEpID0+XHJcbiAgICAgICAgZGF0YS5uYW1lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gdGhpcy5vY1ZhbHVlPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgfHxcclxuICAgICAgICBkYXRhLnZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gdGhpcy5vY1ZhbHVlPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKClcclxuICAgIClcclxuXHJcbiAgICBpZiAoIWZvdW5kVmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xyXG4gICAgICAgIG5hbWU6ICcnLFxyXG4gICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICB9XHJcbiAgICAgIGlmICghdGhpcy5vY0FsbG93Tm90TGlzdGVkVmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFZhbHVlXHJcbiAgfVxyXG5cclxuICBmaWx0ZXJEYXRhKG5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9IHRydWVcclxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGEuZmlsdGVyKChkYXRhKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZE5hbWUoZGF0YS5uYW1lKT8uaW5jbHVkZXModGhpcy5nZXRGb3JtYXR0ZWROYW1lKG5hbWUpKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldEZvcm1hdHRlZE5hbWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0clxyXG4gICAgICA/LnRvTG93ZXJDYXNlKClcclxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSAvLyBSZW1vdmUgbWFyY2FzIGRpYWNyw610aWNhc1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT3B0aW9ucygpIHtcclxuICAgIHRoaXMuY2xvc2VPbkNsaWNrT3V0KClcclxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSAhdGhpcy5pc09wdGlvbnNTaG93blxyXG4gIH1cclxuXHJcbiAgc2VsZWN0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgY29uc3QgZm91bmRWYWx1ZSA9IHRoaXMub2NEYXRhLmZpbmQoKGRhdGEpID0+IGRhdGEudmFsdWUgPT0gdmFsdWUpXHJcblxyXG4gICAgaWYgKCFmb3VuZFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgICBuYW1lOiAnJyxcclxuICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpLCAxMDApXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcclxuICAgIGlmICh0aGlzLm9jQ2xlYXJPbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZFZhbHVlLm5hbWVcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gZmFsc2VcclxuXHJcbiAgICB0aGlzLm9jQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKVxyXG5cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCksIDEwMClcclxuICB9XHJcblxyXG4gIGNsZWFyVmFsdWUoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgIG5hbWU6ICcnLFxyXG4gICAgICB2YWx1ZTogbnVsbCxcclxuICAgIH1cclxuICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBbbmdDbGFzc109XCJ7XHJcbiAgICAnb2MtaW5wdXQtYm94JzogIW9jU2VtYW50aWNMaWtlICYmIG9jU3R5bGUgPT09ICdvdGltdXMnLFxyXG4gICAgc21hbGw6IG9jU2l6ZSA9PT0gJ3NtYWxsJyxcclxuICAgIGxhcmdlOiBvY1NpemUgPT09ICdsYXJnZScsXHJcbiAgICBlcnJvcjogISFvY0Vycm9yLFxyXG4gICAgcHJlZml4OiBoYXNQcmVmaXgsXHJcbiAgICBzdWZmaXg6IGhhc1N1ZmZpeCB8fCBvY0hhc0RlbGV0ZUJ1dHRvbixcclxuICAgIHNodWk6IG9jU3R5bGUgPT09ICdzaHVpJyxcclxuICAgICdzaHVpLWlucHV0LWJveCc6IG9jU3R5bGUgPT09ICdzaHVpJyxcclxuICB9XCJcclxuPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8aW5wdXRcclxuICAgIFtwbGFjZWhvbGRlcl09XCJvY1BsYWNlaG9sZGVyXCJcclxuICAgICNpbnB1dFxyXG4gICAgKGNsaWNrKT1cInRvZ2dsZU9wdGlvbnMoKTsgb2NDbGljay5lbWl0KClcIlxyXG4gICAgdHlwZT1cInRleHRcIlxyXG4gICAgKGlucHV0KT1cImZpbHRlckRhdGEob2NWYWx1ZSlcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJvY1ZhbHVlXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9jVmFsdWUgPSAkZXZlbnQ7IG9jVmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ3NlbWFudGljLWlucHV0Jzogb2NTZW1hbnRpY0xpa2UgfHwgb2NTdHlsZSA9PT0gJ3NlbWFudGljJyxcclxuICAgIH1cIlxyXG4gICAgW3RhYmluZGV4XT1cIm9jVGFiSW5kZXhcIlxyXG4gIC8+XHJcbiAgQGlmICghb2NTZW1hbnRpY0xpa2UgJiYgb2NTdHlsZSAhPT0gJ3NlbWFudGljJykge1xyXG4gICAgPGxhYmVsPlxyXG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIm9jUGxhY2Vob2xkZXJcIj48L3NwYW4+XHJcbiAgICAgIEBpZiAob2NSZXF1aXJlZCkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwib2MgY29sb3IgZXJyb3JcIj4qPC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L2xhYmVsPlxyXG4gIH1cclxuICA8c21hbGxcclxuICAgICpuZ0lmPVwib2NFcnJvclwiXHJcbiAgICBjbGFzcz1cImVycm9yLW1zZ1wiXHJcbiAgICA+e3sgb2NFcnJvciB9fTwvc21hbGxcclxuICA+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NQcmVmaXhcIj48L25nLWNvbnRlbnQ+XHJcbiAgQGlmIChvY0hhc0RlbGV0ZUJ1dHRvbikge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICBjbGFzcz1cIm9jLWhhcy1jbG9zZS1idXR0b24gb2Mgc3VmZml4XCJcclxuICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmJhY2tzcGFjZTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1N1ZmZpeFwiPjwvbmctY29udGVudD5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm9jLW9wdGlvbnMtZGl2XCI+XHJcbiAgICBAaWYgKGlzT3B0aW9uc1Nob3duICYmICFvY0xvYWRpbmcpIHtcclxuICAgICAgPHVsXHJcbiAgICAgICAgI29wdGlvbnNcclxuICAgICAgICBjbGFzcz1cIm9jLW9wdGlvbnNcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICdtYXgtaGVpZ2h0Jzogb2NPcHRpb25zTWF4SGVpZ2h0LFxyXG4gICAgICAgICAgd2lkdGg6IG9jT3B0aW9uc1dpZHRoLFxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgQGlmICghZmlsdGVyZWREYXRhLmxlbmd0aCkge1xyXG4gICAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICB7eyBvY05vQXZhaWxhYmxlT3B0aW9uc1RleHQgfHwgJ05lbmh1bSByZXN1bHRhZG8gZGlzcG9uw612ZWwnIH19XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgQGZvciAoZGF0YSBvZiBmaWx0ZXJlZERhdGE7IHRyYWNrIGRhdGEudmFsdWU7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgIEBpZiAoIW9jTWF4UmVzdWx0cyB8fCBpIDwgb2NNYXhSZXN1bHRzKSB7XHJcbiAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZhbHVlKGRhdGEudmFsdWUpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgZGF0YS5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKG9jTWF4UmVzdWx0cyAmJiBmaWx0ZXJlZERhdGEubGVuZ3RoID4gb2NNYXhSZXN1bHRzKSB7XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5vLW9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICB7eyBvY1R5cGVGb3JNb3JlUmVzdWx0c1RleHQgfHwgJ0RpZ2l0ZSBwYXJhIHZlciBtYWlzIHJlc3VsdGFkb3MnIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICA8L3VsPlxyXG4gICAgfSBAZWxzZSBpZiAoaXNPcHRpb25zU2hvd24gJiYgb2NMb2FkaW5nKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvYy1vcHRpb25zIGxvYWRlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBsb2FkaW5nXCI+IHByb2dyZXNzX2FjdGl2aXR5IDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7Ozs7OztBQWtCekYsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUNVLFFBQW1CLEVBQ25CLEVBQWMsRUFDZCxnQkFBNkMsRUFDN0MsaUJBQW9DLEVBQ3BDLEdBQXNCO1FBSnRCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBNkI7UUFDN0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVd2QixXQUFNLEdBQWlDLFFBQVEsQ0FBQTtRQUMvQyxXQUFNLEdBQXlCLEVBQUUsQ0FBQTtRQUNqQyxZQUFPLEdBQVEsRUFBRSxDQUFBO1FBQ2pCLG9CQUFlLEdBQVksS0FB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QWhCLE1BQU07Z0JBYUgsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxhQUFhO2dCQU10QixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPY0F1dG9Db21wbGV0ZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLWF1dG9jb21wbGV0ZSdcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcclxuaW1wb3J0IHsgSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW50ZXJuYXRpb25hbGl6YXRpb24uc2VydmljZSdcclxuaW1wb3J0IHsgT2NTdHlsZVRoZW1lVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2Mtc3R5bGUtdGhlbWUnXHJcbmltcG9ydCB7IFN0eWxlVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3R5bGUtdGhlbWUuc2VydmljZSdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnb2MtYXV0b2NvbXBsZXRlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcclxuICBwcm92aWRlcnM6IFtJbnRlcm5hdGlvbmFsaXphdGlvblNlcnZpY2VdLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbc3R5bGUud2lkdGhdJzogJ2NvbXB1dGVkV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5taW4td2lkdGhdJzogJ2NvbXB1dGVkTWluV2lkdGgnLFxyXG4gICAgJ1tzdHlsZS5tYXgtd2lkdGhdJzogJ2NvbXB1dGVkTWF4V2lkdGgnLFxyXG4gIH0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL29jLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2NBdXRvY29tcGxldGVDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25Jbml0XHJcbntcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IEludGVybmF0aW9uYWxpemF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgc3R5bGVUaGVtZVNlcnZpY2U6IFN0eWxlVGhlbWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0ITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ29wdGlvbnMnKSBvcHRpb25zITogRWxlbWVudFJlZlxyXG4gIEBWaWV3Q2hpbGQoJ291dGVyRGl2Jykgb3V0ZXJEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxyXG5cclxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcclxuICBAQ29udGVudENoaWxkKCdvY1N1ZmZpeCcpIG9jU3VmZml4OiBhbnlcclxuICBASW5wdXQoKSBvY1BsYWNlaG9sZGVyPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NFcnJvcj86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdsYXJnZScgfCAnbWVkaXVtJyA9ICdtZWRpdW0nXHJcbiAgQElucHV0KCkgb2NEYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXHJcbiAgQElucHV0KCkgb2NWYWx1ZTogYW55ID0gJydcclxuICBASW5wdXQoKSBvY0NsZWFyT25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jV2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY01pbldpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NNYXhXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jT3B0aW9uc01heEhlaWdodD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jT3B0aW9uc1dpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NNYXhSZXN1bHRzPzogbnVtYmVyXHJcbiAgQElucHV0KCkgb2NBbGxvd05vdExpc3RlZFZhbHVlOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY05vQXZhaWxhYmxlT3B0aW9uc1RleHQ/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1R5cGVGb3JNb3JlUmVzdWx0c1RleHQ/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jU2VtYW50aWNMaWtlOiBib29sZWFuID0gZmFsc2UgLy8gZGVwcmVjYXRlZC4gUHJlZmVyIHVzaW5nIG9jU3R5bGVUaGVtZSBpbnN0ZWFkXHJcbiAgQElucHV0KCkgb2NTdHlsZTogT2NTdHlsZVRoZW1lVHlwZSA9ICdvdGltdXMnXHJcbiAgQElucHV0KCkgb2NUYWJJbmRleD86IG51bWJlclxyXG5cclxuICBASW5wdXQoKSBvY0hhc0RlbGV0ZUJ1dHRvbj86IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBAT3V0cHV0KCkgb2NWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXHJcbiAgQE91dHB1dCgpIG9jQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpXHJcbiAgQE91dHB1dCgpIG9jT3B0aW9uTm90Rm91bmQgPSBuZXcgRXZlbnRFbWl0dGVyKClcclxuICBAT3V0cHV0KCkgb2NDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKVxyXG5cclxuICBoYXNTdWZmaXg6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGhhc1ByZWZpeDogYm9vbGVhbiA9IGZhbHNlXHJcblxyXG4gIGlzT3B0aW9uc1Nob3duOiBib29sZWFuID0gZmFsc2VcclxuICBmaWx0ZXJlZERhdGE6IE9jQXV0b0NvbXBsZXRlVHlwZVtdID0gW11cclxuICBzZWxlY3RlZFZhbHVlOiBPY0F1dG9Db21wbGV0ZVR5cGUgPSB7XHJcbiAgICBuYW1lOiAnJyxcclxuICAgIHZhbHVlOiBudWxsLFxyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkV2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY1dpZHRoID8gdGhpcy5vY1dpZHRoIDogbnVsbFxyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4td2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZE1pbldpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNaW5XaWR0aCB8fCAnMCdcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcclxuICBnZXQgY29tcHV0ZWRNYXhXaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jTWF4V2lkdGggfHwgJzEwMCUnXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2NWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMub2NWYWx1ZSA9IG51bGxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMub2NTdHlsZSA9IHRoaXMuc3R5bGVUaGVtZVNlcnZpY2UuZ2V0U3R5bGVUaGVtZSgpIHx8IHRoaXMub2NTdHlsZVxyXG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcclxuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xyXG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybWF0T2NWYWx1ZVR5cGUoKVxyXG4gICAgdGhpcy5sb2FkT3B0aW9ucygpXHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0VHJhbnNsYXRpb25zQnlMYW5ndWFnZSgpXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybWF0T2NWYWx1ZVR5cGUoKSB7XHJcbiAgICBpZiAodGhpcy5vY1ZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBgJHt0aGlzLm9jVmFsdWV9YFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGxcclxuICB9XHJcblxyXG4gIGdldFRyYW5zbGF0aW9uKGNvZGU6IG51bWJlciB8IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRUcmFuc2xhdGlvbihjb2RlKVxyXG4gIH1cclxuXHJcbiAgbG9hZE9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgICAgIGNvbnN0IGlucHV0Qm94ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50XHJcblxyXG4gICAgICBjb25zdCBmb3VuZCA9IHRoaXMub2NEYXRhLmZpbmQoKGVsKSA9PiBlbC52YWx1ZSA9PSB0aGlzLm9jVmFsdWUpXHJcbiAgICAgIGlmIChmb3VuZCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kXHJcbiAgICAgICAgdGhpcy5vY1ZhbHVlID0gZm91bmQubmFtZVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaW5wdXRCb3gpIHtcclxuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dEJveC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXHJcblxyXG4gICAgICAgIGlmIChpbnB1dEVsZW1lbnQgJiYgIXRoaXMub2NTZW1hbnRpY0xpa2UgJiYgWydvdGltdXMnLCAnc2h1aSddLmluY2x1ZGVzKHRoaXMub2NTdHlsZSkpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWxlbWVudCwgJ3BsYWNlaG9sZGVyJywgJycpXHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdyZXF1aXJlZCcsIHRoaXMub2NSZXF1aXJlZC50b1N0cmluZygpKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgNTApXHJcbiAgfVxyXG5cclxuICBjbG9zZU9uQ2xpY2tPdXQoKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2NsaWNrJywgKGU6IEV2ZW50KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlucHV0ICYmIHRoaXMub3B0aW9ucykge1xyXG4gICAgICAgIGlmIChlLnRhcmdldCAhPT0gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50ICYmIGUudGFyZ2V0ICE9PSB0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgdGhpcy5pc09wdGlvbnNTaG93biA9IGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZmluZEJ5VHlwaW5nKClcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBmaW5kQnlUeXBpbmcoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub2NWYWx1ZSB8fCAhdGhpcy5vY1ZhbHVlPy50b1N0cmluZygpLnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5vY0NoYW5nZS5lbWl0KG51bGwpXHJcbiAgICAgIHRoaXMub2NPcHRpb25Ob3RGb3VuZC5lbWl0KClcclxuICAgIH1cclxuICAgIGNvbnN0IGZvdW5kVmFsdWUgPSB0aGlzLm9jRGF0YS5maW5kKFxyXG4gICAgICAoZGF0YSkgPT5cclxuICAgICAgICBkYXRhLm5hbWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB0aGlzLm9jVmFsdWU/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSB8fFxyXG4gICAgICAgIGRhdGEudmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB0aGlzLm9jVmFsdWU/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKVxyXG4gICAgKVxyXG5cclxuICAgIGlmICghZm91bmRWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgIH1cclxuICAgICAgaWYgKCF0aGlzLm9jQWxsb3dOb3RMaXN0ZWRWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcclxuICB9XHJcblxyXG4gIGZpbHRlckRhdGEobmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gdHJ1ZVxyXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YS5maWx0ZXIoKGRhdGEpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkTmFtZShkYXRhLm5hbWUpPy5pbmNsdWRlcyh0aGlzLmdldEZvcm1hdHRlZE5hbWUobmFtZSkpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Rm9ybWF0dGVkTmFtZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gc3RyXHJcbiAgICAgID8udG9Mb3dlckNhc2UoKVxyXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxyXG4gICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpIC8vIFJlbW92ZSBtYXJjYXMgZGlhY3LDrXRpY2FzXHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcHRpb25zKCkge1xyXG4gICAgdGhpcy5jbG9zZU9uQ2xpY2tPdXQoKVxyXG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9ICF0aGlzLmlzT3B0aW9uc1Nob3duXHJcbiAgfVxyXG5cclxuICBzZWxlY3RWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBjb25zdCBmb3VuZFZhbHVlID0gdGhpcy5vY0RhdGEuZmluZCgoZGF0YSkgPT4gZGF0YS52YWx1ZSA9PSB2YWx1ZSlcclxuXHJcbiAgICBpZiAoIWZvdW5kVmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xyXG4gICAgICAgIG5hbWU6ICcnLFxyXG4gICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFZhbHVlXHJcbiAgICBpZiAodGhpcy5vY0NsZWFyT25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5vY1ZhbHVlID0gJydcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vY1ZhbHVlID0gZm91bmRWYWx1ZS5uYW1lXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9IGZhbHNlXHJcblxyXG4gICAgdGhpcy5vY0NoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSlcclxuICB9XHJcblxyXG4gIGNsZWFyVmFsdWUoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgIG5hbWU6ICcnLFxyXG4gICAgICB2YWx1ZTogbnVsbCxcclxuICAgIH1cclxuICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBbbmdDbGFzc109XCJ7XHJcbiAgICAnb2MtaW5wdXQtYm94JzogIW9jU2VtYW50aWNMaWtlICYmIG9jU3R5bGUgPT09ICdvdGltdXMnLFxyXG4gICAgc21hbGw6IG9jU2l6ZSA9PT0gJ3NtYWxsJyxcclxuICAgIGxhcmdlOiBvY1NpemUgPT09ICdsYXJnZScsXHJcbiAgICBlcnJvcjogISFvY0Vycm9yLFxyXG4gICAgcHJlZml4OiBoYXNQcmVmaXgsXHJcbiAgICBzdWZmaXg6IGhhc1N1ZmZpeCB8fCBvY0hhc0RlbGV0ZUJ1dHRvbixcclxuICAgIHNodWk6IG9jU3R5bGUgPT09ICdzaHVpJyxcclxuICAgICdzaHVpLWlucHV0LWJveCc6IG9jU3R5bGUgPT09ICdzaHVpJyxcclxuICB9XCJcclxuPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8aW5wdXRcclxuICAgIFtwbGFjZWhvbGRlcl09XCJvY1BsYWNlaG9sZGVyXCJcclxuICAgICNpbnB1dFxyXG4gICAgKGNsaWNrKT1cInRvZ2dsZU9wdGlvbnMoKTsgb2NDbGljay5lbWl0KClcIlxyXG4gICAgdHlwZT1cInRleHRcIlxyXG4gICAgKGlucHV0KT1cImZpbHRlckRhdGEob2NWYWx1ZSlcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJvY1ZhbHVlXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9jVmFsdWUgPSAkZXZlbnQ7IG9jVmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ3NlbWFudGljLWlucHV0Jzogb2NTZW1hbnRpY0xpa2UgfHwgb2NTdHlsZSA9PT0gJ3NlbWFudGljJyxcclxuICAgIH1cIlxyXG4gICAgW3RhYmluZGV4XT1cIm9jVGFiSW5kZXhcIlxyXG4gIC8+XHJcbiAgQGlmICghb2NTZW1hbnRpY0xpa2UgJiYgb2NTdHlsZSAhPT0gJ3NlbWFudGljJykge1xyXG4gICAgPGxhYmVsPlxyXG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIm9jUGxhY2Vob2xkZXJcIj48L3NwYW4+XHJcbiAgICAgIEBpZiAob2NSZXF1aXJlZCkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwib2MgY29sb3IgZXJyb3JcIj4qPC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L2xhYmVsPlxyXG4gIH1cclxuICA8c21hbGxcclxuICAgICpuZ0lmPVwib2NFcnJvclwiXHJcbiAgICBjbGFzcz1cImVycm9yLW1zZ1wiXHJcbiAgICA+e3sgb2NFcnJvciB9fTwvc21hbGxcclxuICA+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NQcmVmaXhcIj48L25nLWNvbnRlbnQ+XHJcbiAgQGlmIChvY0hhc0RlbGV0ZUJ1dHRvbikge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICBjbGFzcz1cIm9jLWhhcy1jbG9zZS1idXR0b24gb2Mgc3VmZml4XCJcclxuICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmJhY2tzcGFjZTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1N1ZmZpeFwiPjwvbmctY29udGVudD5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm9jLW9wdGlvbnMtZGl2XCI+XHJcbiAgICBAaWYgKGlzT3B0aW9uc1Nob3duICYmICFvY0xvYWRpbmcpIHtcclxuICAgICAgPHVsXHJcbiAgICAgICAgI29wdGlvbnNcclxuICAgICAgICBjbGFzcz1cIm9jLW9wdGlvbnNcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICdtYXgtaGVpZ2h0Jzogb2NPcHRpb25zTWF4SGVpZ2h0LFxyXG4gICAgICAgICAgd2lkdGg6IG9jT3B0aW9uc1dpZHRoLFxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgQGlmICghZmlsdGVyZWREYXRhLmxlbmd0aCkge1xyXG4gICAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICB7eyBvY05vQXZhaWxhYmxlT3B0aW9uc1RleHQgfHwgJ05lbmh1bSByZXN1bHRhZG8gZGlzcG9uw612ZWwnIH19XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgQGZvciAoZGF0YSBvZiBmaWx0ZXJlZERhdGE7IHRyYWNrIGRhdGEudmFsdWU7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgIEBpZiAoIW9jTWF4UmVzdWx0cyB8fCBpIDwgb2NNYXhSZXN1bHRzKSB7XHJcbiAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZhbHVlKGRhdGEudmFsdWUpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgZGF0YS5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKG9jTWF4UmVzdWx0cyAmJiBmaWx0ZXJlZERhdGEubGVuZ3RoID4gb2NNYXhSZXN1bHRzKSB7XHJcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm5vLW9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICB7eyBvY1R5cGVGb3JNb3JlUmVzdWx0c1RleHQgfHwgJ0RpZ2l0ZSBwYXJhIHZlciBtYWlzIHJlc3VsdGFkb3MnIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICA8L3VsPlxyXG4gICAgfSBAZWxzZSBpZiAoaXNPcHRpb25zU2hvd24gJiYgb2NMb2FkaW5nKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvYy1vcHRpb25zIGxvYWRlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBsb2FkaW5nXCI+IHByb2dyZXNzX2FjdGl2aXR5IDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -27,22 +27,18 @@ export class OcCheckboxComponent {
|
|
|
27
27
|
ngAfterViewInit() {
|
|
28
28
|
this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle;
|
|
29
29
|
this.cdr.markForCheck();
|
|
30
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
31
30
|
}
|
|
32
31
|
writeValue(value) {
|
|
33
32
|
this.ocChecked = value;
|
|
34
33
|
this.cdr.markForCheck();
|
|
35
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
36
34
|
}
|
|
37
35
|
registerOnChange(fn) {
|
|
38
36
|
this.onChange = fn;
|
|
39
37
|
this.cdr.markForCheck();
|
|
40
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
41
38
|
}
|
|
42
39
|
registerOnTouched(fn) {
|
|
43
40
|
this.onTouched = fn;
|
|
44
41
|
this.cdr.markForCheck();
|
|
45
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
46
42
|
}
|
|
47
43
|
onDoubleClick() {
|
|
48
44
|
if (this.disableDoubleClickCheck) {
|
|
@@ -57,7 +53,6 @@ export class OcCheckboxComponent {
|
|
|
57
53
|
this.timeoutId = setTimeout(() => {
|
|
58
54
|
this.doubleClickCounter = 0;
|
|
59
55
|
this.cdr.markForCheck();
|
|
60
|
-
setInterval(() => this.cdr.detectChanges(), 100);
|
|
61
56
|
}, 500);
|
|
62
57
|
}
|
|
63
58
|
else {
|
|
@@ -67,12 +62,10 @@ export class OcCheckboxComponent {
|
|
|
67
62
|
}
|
|
68
63
|
}
|
|
69
64
|
this.cdr.markForCheck();
|
|
70
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
71
65
|
}
|
|
72
66
|
toggleChecked() {
|
|
73
67
|
if (this.doubleClickCounter === 1) {
|
|
74
68
|
this.cdr.markForCheck();
|
|
75
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
76
69
|
return;
|
|
77
70
|
}
|
|
78
71
|
this.ocChecked = !this.ocChecked;
|
|
@@ -85,7 +78,6 @@ export class OcCheckboxComponent {
|
|
|
85
78
|
this.formControl.setValue(this.ocChecked);
|
|
86
79
|
}
|
|
87
80
|
this.cdr.markForCheck();
|
|
88
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
89
81
|
}
|
|
90
82
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcCheckboxComponent, deps: [{ token: i1.StyleThemeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
83
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcCheckboxComponent, isStandalone: true, selector: "oc-checkbox", inputs: { ocChecked: "ocChecked", ocSize: "ocSize", ocLabel: "ocLabel", ocName: "ocName", ocColor: "ocColor", ocBorderColor: "ocBorderColor", ocStyle: "ocStyle", formControl: "formControl", ocTabIndex: "ocTabIndex", disableDoubleClickCheck: "disableDoubleClickCheck" }, outputs: { ocChange: "ocChange", ocDoubleClick: "ocDoubleClick" }, providers: [
|
|
@@ -130,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
130
122
|
}], disableDoubleClickCheck: [{
|
|
131
123
|
type: Input
|
|
132
124
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWNoZWNrYm94L29jLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1jaGVja2JveC9vYy1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFHTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFBOzs7OztBQW1CdkIsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUNVLGlCQUFvQyxFQUNwQyxHQUFzQjtRQUR0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBSmhDLGVBQVUsR0FBVyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFBO1FBT2hDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFBO1FBRXZDLGNBQVMsR0FBWSxLQUFLLENBQUE7UUFDMUIsV0FBTSxHQUFxQixPQUFPLENBQUE7UUFDbEMsWUFBTyxHQUFZLEVBQUUsQ0FBQTtRQUNyQixXQUFNLEdBQVksRUFBRSxDQUFBO1FBQ3BCLFlBQU8sR0FBdUIsT0FBTyxDQUFBO1FBQ3JDLGtCQUFhLEdBQXFCLE9BQU8sQ0FBQTtRQUN6QyxZQUFPLEdBQXFCLFFBQVEsQ0FBQTtRQUNu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bUJBQW1CO2tCQWYvQixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLGFBRzlDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsT0FBTztzSEFVdEMsUUFBUTtzQkFBakIsTUFBTTtnQkFFRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3JtcydcclxuaW1wb3J0IHsgU3R5bGVUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdHlsZS10aGVtZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2NTdHlsZVRoZW1lVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2Mtc3R5bGUtdGhlbWUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1jaGVja2JveCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtY2hlY2tib3guY29tcG9uZW50LnNjc3MnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gT2NDaGVja2JveENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9jQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgY2hlY2tCb3hJZDogc3RyaW5nID0gYG9jLSR7TWF0aC5yYW5kb20oKX1gXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzdHlsZVRoZW1lU2VydmljZTogU3R5bGVUaGVtZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIEBPdXRwdXQoKSBvY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxyXG5cclxuICBASW5wdXQoKSBvY0NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3RpbnknIHwgJ3NtYWxsJyA9ICdzbWFsbCdcclxuICBASW5wdXQoKSBvY0xhYmVsPzogc3RyaW5nID0gJydcclxuICBASW5wdXQoKSBvY05hbWU/OiBzdHJpbmcgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jQ29sb3I6ICdwdXJwbGUnIHwgJ2dyZWVuJyA9ICdncmVlbidcclxuICBASW5wdXQoKSBvY0JvcmRlckNvbG9yOiAnd2hpdGUnIHwgJ2dyYXknID0gJ3doaXRlJ1xyXG4gIEBJbnB1dCgpIG9jU3R5bGU6IE9jU3R5bGVUaGVtZVR5cGUgPSAnb3RpbXVzJ1xyXG4gIEBPdXRwdXQoKSBvY0RvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2w/OiBGb3JtQ29udHJvbFxyXG4gIEBJbnB1dCgpIG9jVGFiSW5kZXg/OiBudW1iZXJcclxuICBASW5wdXQoKSBkaXNhYmxlRG91YmxlQ2xpY2tDaGVjayA9IHRydWVcclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZT86ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZFxyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vY1N0eWxlID0gdGhpcy5zdHlsZVRoZW1lU2VydmljZS5nZXRTdHlsZVRoZW1lKCkgfHwgdGhpcy5vY1N0eWxlXHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCksIDEwMClcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMub2NDaGVja2VkID0gdmFsdWVcclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSwgMTAwKVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm5cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSwgMTAwKVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm5cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSwgMTAwKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkb3VibGVDbGlja0NvdW50ZXIgPSAwXHJcbiAgcHJpdmF0ZSB0aW1lb3V0SWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGxcclxuICBwcm90ZWN0ZWQgb25Eb3VibGVDbGljaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVEb3VibGVDbGlja0NoZWNrKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGltZW91dElkKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRJZClcclxuICAgICAgdGhpcy50aW1lb3V0SWQgPSBudWxsXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZG91YmxlQ2xpY2tDb3VudGVyID09PSAwKSB7XHJcbiAgICAgIHRoaXMuZG91YmxlQ2xpY2tDb3VudGVyID0gMVxyXG4gICAgICB0aGlzLnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZG91YmxlQ2xpY2tDb3VudGVyID0gMFxyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXHJcbiAgICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpLCAxMDApXHJcbiAgICAgIH0sIDUwMClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZG91YmxlQ2xpY2tDb3VudGVyID0gMFxyXG4gICAgICBpZiAodGhpcy5vY0RvdWJsZUNsaWNrICYmIHRoaXMub2NDaGVja2VkKSB7XHJcbiAgICAgICAgdGhpcy5vY0RvdWJsZUNsaWNrLmVtaXQodGhpcy5vY0NoZWNrZWQpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSwgMTAwKVxyXG4gIH1cclxuICB0b2dnbGVDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZG91YmxlQ2xpY2tDb3VudGVyID09PSAxKSB7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpLCAxMDApXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy5vY0NoZWNrZWQgPSAhdGhpcy5vY0NoZWNrZWRcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5vY0NoZWNrZWQpXHJcbiAgICB9XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpXHJcbiAgICB0aGlzLm9jQ2hhbmdlLmVtaXQodGhpcy5vY0NoZWNrZWQpXHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLm9jQ2hlY2tlZClcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSwgMTAwKVxyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uIGNsYXNzPVwib2MtY2hlY2tib3gtY29udGVudCBjYnhcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZUNoZWNrZWQoKTtcclxub25Eb3VibGVDbGljaygpXCIgW25nQ2xhc3NdPVwie1xyXG4gIHNodWk6IG9jU3R5bGUgPT09ICdzaHVpJ1xyXG59XCIgW3RhYkluZGV4XT1cIm9jVGFiSW5kZXhcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm9jLWNoZWNrYm94IGNieFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2NoZWNrZWQnOiBvY0NoZWNrZWQsXHJcbiAgICAgICd0aW55Jzogb2NTaXplID09PSAndGlueScsXHJcbiAgICAgIHB1cnBsZTogb2NDb2xvciA9PT0gJ3B1cnBsZScsXHJcbiAgICAgICdncmF5LWJvcmRlcic6IG9jQm9yZGVyQ29sb3IgPT09ICdncmF5J1xyXG4gICAgfVwiPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwiY2hlY2staWNvbiBtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+Y2hlY2tfc21hbGw8L3NwYW4+XHJcbiAgPC9kaXY+XHJcblxyXG4gIEBpZihvY0xhYmVsKSB7XHJcbiAgPHNwYW4gY2xhc3M9XCJvYy1jaGVja2JveC1sYWJlbCBjYnhcIj5cclxuICAgIHt7b2NMYWJlbH19XHJcbiAgPC9zcGFuPlxyXG4gIH1cclxuXHJcbiAgPG5nLWNvbnRlbnQ+XHJcbiAgPC9uZy1jb250ZW50PlxyXG5cclxuICBAaWYoZm9ybUNvbnRyb2wpIHtcclxuICA8aW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgW25hbWVdPVwib2NOYW1lXCIgW2NoZWNrZWRdPVwib2NDaGVja2VkXCIgdHlwZT1cImNoZWNrYm94XCIgaGlkZGVuPlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxpbnB1dCBbbmFtZV09XCJvY05hbWVcIiBbY2hlY2tlZF09XCJvY0NoZWNrZWRcIiB0eXBlPVwiY2hlY2tib3hcIiBoaWRkZW4+XHJcbiAgfVxyXG48L2J1dHRvbj4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWNoZWNrYm94L29jLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1jaGVja2JveC9vYy1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFHTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFBOzs7OztBQW1CdkIsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUNVLGlCQUFvQyxFQUNwQyxHQUFzQjtRQUR0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBSmhDLGVBQVUsR0FBVyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFBO1FBT2hDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFBO1FBRXZDLGNBQVMsR0FBWSxLQUFLLENBQUE7UUFDMUIsV0FBTSxHQUFxQixPQUFPLENBQUE7UUFDbEMsWUFBTyxHQUFZLEVBQUUsQ0FBQTtRQUNyQixXQUFNLEdBQVksRUFBRSxDQUFBO1FBQ3BCLFlBQU8sR0FBdUIsT0FBTyxDQUFBO1FBQ3JDLGtCQUFhLEdBQXFCLE9BQU8sQ0FBQTtRQUN6QyxZQUFPLEdBQXFCLFFBQVEsQ0FBQTtRQUNu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SSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUN6QixDQUFDOytHQXRGVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiwyWUFUbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDakNILHM0QkE2QlMseW1ERExHLFlBQVksNEhBQUUsV0FBVyx1VEFBRSxtQkFBbUI7OzRGQVk3QyxtQkFBbUI7a0JBZi9CLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUMsYUFHOUM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxPQUFPO3NIQVV0QyxRQUFRO3NCQUFqQixNQUFNO2dCQUVFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3Jtc01vZHVsZSxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xyXG5pbXBvcnQgeyBTdHlsZVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0eWxlLXRoZW1lLnNlcnZpY2UnXHJcbmltcG9ydCB7IE9jU3R5bGVUaGVtZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLXN0eWxlLXRoZW1lJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1jaGVja2JveCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtY2hlY2tib3guY29tcG9uZW50LnNjc3MnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gT2NDaGVja2JveENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9jQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgY2hlY2tCb3hJZDogc3RyaW5nID0gYG9jLSR7TWF0aC5yYW5kb20oKX1gXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzdHlsZVRoZW1lU2VydmljZTogU3R5bGVUaGVtZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIEBPdXRwdXQoKSBvY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxyXG5cclxuICBASW5wdXQoKSBvY0NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3RpbnknIHwgJ3NtYWxsJyA9ICdzbWFsbCdcclxuICBASW5wdXQoKSBvY0xhYmVsPzogc3RyaW5nID0gJydcclxuICBASW5wdXQoKSBvY05hbWU/OiBzdHJpbmcgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jQ29sb3I6ICdwdXJwbGUnIHwgJ2dyZWVuJyA9ICdncmVlbidcclxuICBASW5wdXQoKSBvY0JvcmRlckNvbG9yOiAnd2hpdGUnIHwgJ2dyYXknID0gJ3doaXRlJ1xyXG4gIEBJbnB1dCgpIG9jU3R5bGU6IE9jU3R5bGVUaGVtZVR5cGUgPSAnb3RpbXVzJ1xyXG4gIEBPdXRwdXQoKSBvY0RvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2w/OiBGb3JtQ29udHJvbFxyXG4gIEBJbnB1dCgpIG9jVGFiSW5kZXg/OiBudW1iZXJcclxuICBASW5wdXQoKSBkaXNhYmxlRG91YmxlQ2xpY2tDaGVjayA9IHRydWVcclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZT86ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZFxyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vY1N0eWxlID0gdGhpcy5zdHlsZVRoZW1lU2VydmljZS5nZXRTdHlsZVRoZW1lKCkgfHwgdGhpcy5vY1N0eWxlXHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5vY0NoZWNrZWQgPSB2YWx1ZVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKClcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuXHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm5cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRvdWJsZUNsaWNrQ291bnRlciA9IDBcclxuICBwcml2YXRlIHRpbWVvdXRJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbFxyXG4gIHByb3RlY3RlZCBvbkRvdWJsZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZURvdWJsZUNsaWNrQ2hlY2spIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50aW1lb3V0SWQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dElkKVxyXG4gICAgICB0aGlzLnRpbWVvdXRJZCA9IG51bGxcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kb3VibGVDbGlja0NvdW50ZXIgPT09IDApIHtcclxuICAgICAgdGhpcy5kb3VibGVDbGlja0NvdW50ZXIgPSAxXHJcbiAgICAgIHRoaXMudGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kb3VibGVDbGlja0NvdW50ZXIgPSAwXHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKClcclxuICAgICAgfSwgNTAwKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kb3VibGVDbGlja0NvdW50ZXIgPSAwXHJcbiAgICAgIGlmICh0aGlzLm9jRG91YmxlQ2xpY2sgJiYgdGhpcy5vY0NoZWNrZWQpIHtcclxuICAgICAgICB0aGlzLm9jRG91YmxlQ2xpY2suZW1pdCh0aGlzLm9jQ2hlY2tlZClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKClcclxuICB9XHJcbiAgdG9nZ2xlQ2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRvdWJsZUNsaWNrQ291bnRlciA9PT0gMSkge1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIHRoaXMub2NDaGVja2VkID0gIXRoaXMub2NDaGVja2VkXHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMub2NDaGVja2VkKVxyXG4gICAgfVxyXG4gICAgdGhpcy5vblRvdWNoZWQoKVxyXG4gICAgdGhpcy5vY0NoYW5nZS5lbWl0KHRoaXMub2NDaGVja2VkKVxyXG5cclxuICAgIGlmICh0aGlzLmZvcm1Db250cm9sKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5vY0NoZWNrZWQpXHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKVxyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uIGNsYXNzPVwib2MtY2hlY2tib3gtY29udGVudCBjYnhcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZUNoZWNrZWQoKTtcclxub25Eb3VibGVDbGljaygpXCIgW25nQ2xhc3NdPVwie1xyXG4gIHNodWk6IG9jU3R5bGUgPT09ICdzaHVpJ1xyXG59XCIgW3RhYkluZGV4XT1cIm9jVGFiSW5kZXhcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm9jLWNoZWNrYm94IGNieFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2NoZWNrZWQnOiBvY0NoZWNrZWQsXHJcbiAgICAgICd0aW55Jzogb2NTaXplID09PSAndGlueScsXHJcbiAgICAgIHB1cnBsZTogb2NDb2xvciA9PT0gJ3B1cnBsZScsXHJcbiAgICAgICdncmF5LWJvcmRlcic6IG9jQm9yZGVyQ29sb3IgPT09ICdncmF5J1xyXG4gICAgfVwiPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwiY2hlY2staWNvbiBtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+Y2hlY2tfc21hbGw8L3NwYW4+XHJcbiAgPC9kaXY+XHJcblxyXG4gIEBpZihvY0xhYmVsKSB7XHJcbiAgPHNwYW4gY2xhc3M9XCJvYy1jaGVja2JveC1sYWJlbCBjYnhcIj5cclxuICAgIHt7b2NMYWJlbH19XHJcbiAgPC9zcGFuPlxyXG4gIH1cclxuXHJcbiAgPG5nLWNvbnRlbnQ+XHJcbiAgPC9uZy1jb250ZW50PlxyXG5cclxuICBAaWYoZm9ybUNvbnRyb2wpIHtcclxuICA8aW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgW25hbWVdPVwib2NOYW1lXCIgW2NoZWNrZWRdPVwib2NDaGVja2VkXCIgdHlwZT1cImNoZWNrYm94XCIgaGlkZGVuPlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxpbnB1dCBbbmFtZV09XCJvY05hbWVcIiBbY2hlY2tlZF09XCJvY0NoZWNrZWRcIiB0eXBlPVwiY2hlY2tib3hcIiBoaWRkZW4+XHJcbiAgfVxyXG48L2J1dHRvbj4iXX0=
|
|
@@ -37,7 +37,6 @@ export class OcModalComponent {
|
|
|
37
37
|
this.ocOnClose.emit(this.isOpen);
|
|
38
38
|
}
|
|
39
39
|
this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll');
|
|
40
|
-
this.cdr.detectChanges();
|
|
41
40
|
}, 100);
|
|
42
41
|
}
|
|
43
42
|
getModalStyles() {
|
|
@@ -82,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
82
81
|
}], isOpen: [{
|
|
83
82
|
type: Input
|
|
84
83
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLW1vZGFsL29jLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1tb2RhbC9vYy1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7Ozs7QUFZdEIsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNVLEtBQWlCLEVBQ2pCLGlCQUFvQyxFQUNwQyxHQUFzQjtRQUZ0QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFHdkIsWUFBTyxHQUFZLElBQUksQ0FBQTtRQUN2QixZQUFPLEdBQVcsRUFBRSxDQUFBO1FBQ3BCLFdBQU0sR0FBNEMsUUFBUSxDQUFBO1FBRTFELFlBQU8sR0FBVyxFQUFFLENBQUE7UUFDcEIsZUFBVSxHQUFXLEVBQUUsQ0FBQTtRQUN2QixZQUFPLEdBQXFCLFFBQVEsQ0FBQTtRQUNwQyxjQUFTLEdBQVksS0FBSyxDQUFBO1FBQ3pCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBQ25DLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO1FBRW5DLFdBQU0sR0FBWSxLQUFLLENBQUE7UUFDaEMsWUFBTyxHQUFZLEtBQUssQ0FBQTtJQWRyQixDQUFDO0lBZ0JKLGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3ZFLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDNUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDbkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO1lBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1lBRXBCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDbEMsQ0FBQztZQUVELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ2pGLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNULENBQUM7SUFFUyxjQUFjO1FBQ3RCLE1BQU0sTUFBTSxHQUE4QixFQUFFLENBQUE7UUFDNUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQTtRQUM3QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDaEMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7K0dBekRVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHlVQ3RCN0IsZ3JDQW1DQyw4bXh2RERsQlcsWUFBWTs7NEZBS1gsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsaUJBR1IsaUJBQWlCLENBQUMsSUFBSTsrSUFTNUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBRUUsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPY1N0eWxlVGhlbWVUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYy1zdHlsZS10aGVtZSdcclxuaW1wb3J0IHsgU3R5bGVUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdHlsZS10aGVtZS5zZXJ2aWNlJ1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdvYy1tb2RhbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2MtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYy1tb2RhbC5jb21wb25lbnQuc2NzcycsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9jTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHN0eWxlVGhlbWVTZXJ2aWNlOiBTdHlsZVRoZW1lU2VydmljZSxcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgQElucHV0KCkgb2NDbG9zZTogYm9vbGVhbiA9IHRydWVcclxuICBASW5wdXQoKSBvY1RpdGxlOiBzdHJpbmcgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICdzY3JlZW4nID0gJ21lZGl1bSdcclxuICBASW5wdXQoKSBvY0JnQ29sb3I/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1dpZHRoOiBzdHJpbmcgPSAnJ1xyXG4gIEBJbnB1dCgpIG9jTWF4V2lkdGg6IHN0cmluZyA9ICcnXHJcbiAgQElucHV0KCkgb2NTdHlsZTogT2NTdHlsZVRoZW1lVHlwZSA9ICdvdGltdXMnXHJcbiAgQElucHV0KCkgb2NMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcclxuICBAT3V0cHV0KCkgb2NPbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcclxuICBAT3V0cHV0KCkgb2NPbk9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG5cclxuICBASW5wdXQoKSBpc09wZW46IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGNsb3Npbmc6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9jU3R5bGUgPSB0aGlzLnN0eWxlVGhlbWVTZXJ2aWNlLmdldFN0eWxlVGhlbWUoKSB8fCB0aGlzLm9jU3R5bGVcclxuICB9XHJcblxyXG4gIG9wZW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IHRydWVcclxuICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQtc2Nyb2xsJylcclxuICAgIHRoaXMub2NPbk9wZW4uZW1pdCh0aGlzLmlzT3BlbilcclxuICB9XHJcblxyXG4gIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbG9zaW5nID0gdHJ1ZVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2VcclxuICAgICAgdGhpcy5jbG9zaW5nID0gZmFsc2VcclxuXHJcbiAgICAgIGlmICh0aGlzLm9jT25DbG9zZSkge1xyXG4gICAgICAgIHRoaXMub2NPbkNsb3NlLmVtaXQodGhpcy5pc09wZW4pXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQtc2Nyb2xsJylcclxuICAgIH0sIDEwMClcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRNb2RhbFN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcclxuICAgIGNvbnN0IHN0eWxlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9XHJcbiAgICBpZiAodGhpcy5vY0JnQ29sb3IpIHtcclxuICAgICAgc3R5bGVzWydiYWNrZ3JvdW5kLWNvbG9yJ10gPSB0aGlzLm9jQmdDb2xvclxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NXaWR0aCkge1xyXG4gICAgICBzdHlsZXNbJ3dpZHRoJ10gPSB0aGlzLm9jV2lkdGhcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jTWF4V2lkdGgpIHtcclxuICAgICAgc3R5bGVzWydtYXgtd2lkdGgnXSA9IHRoaXMub2NNYXhXaWR0aFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlc1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKGlzT3Blbikge1xyXG48ZGl2IGNsYXNzPVwib2MtbW9kYWwtYmdcIiAqbmdJZj1cImlzT3BlblwiIFtuZ0NsYXNzXT1cIntcclxuICAnY2xvc2luZy1iZyc6IGNsb3NpbmcsIFxyXG4gICdzaHVpJzogb2NTdHlsZSA9PT0gJ3NodWknLFxyXG4gICdzaHVpLW1vZGFsJzogb2NTdHlsZSA9PT0gJ3NodWknXHJcbiAgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJvYy1tb2RhbFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICBsYXJnZTogb2NTaXplID09PSAnbGFyZ2UnLFxyXG4gICAgICAgIG1lZGl1bTogb2NTaXplID09PSAnbWVkaXVtJyxcclxuICAgICAgICBzbWFsbDogb2NTaXplID09PSAnc21hbGwnLFxyXG4gICAgICAgIGNsb3Npbmc6IGNsb3NpbmcsXHJcbiAgICAgICAgJ3RvdGFsLXdoaXRlJzogb2NCZ0NvbG9yID09PSAnd2hpdGUnXHJcbiAgICAgIH1cIiBbbmdTdHlsZV09XCJnZXRNb2RhbFN0eWxlcygpXCI+XHJcbiAgICA8aGVhZGVyIGNsYXNzPVwib2MtbW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgIDxoMyAqbmdJZj1cIm9jVGl0bGUudHJpbSgpLmxlbmd0aCA+IDBcIj57e29jVGl0bGV9fTwvaDM+XHJcbiAgICAgIEBpZihvY0Nsb3NlKSB7XHJcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlKClcIiBjbGFzcz1cIm9jLWNsb3NlLWJ0blwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtZC0xOFwiIHRpdGxlPVwiRmVjaGFyXCI+Y2xvc2U8L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L2hlYWRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJvYy1tb2RhbC1jb250ZW50XCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnbG9hZGluZy1jb250ZW50Jzogb2NMb2FkaW5nXHJcbiAgICB9XCI+XHJcbiAgICAgIEBpZihpc09wZW4pe1xyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgIH1cclxuICAgICAgQGlmKG9jTG9hZGluZykge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwibG9hZC1jb250YWluZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImxvYWRlciBtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIG9jIGNvbG9yIHAtMVwiPnByb2dyZXNzX2FjdGl2aXR5PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG59Il19
|
|
@@ -428,7 +428,6 @@ class OcModalComponent {
|
|
|
428
428
|
this.ocOnClose.emit(this.isOpen);
|
|
429
429
|
}
|
|
430
430
|
this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll');
|
|
431
|
-
this.cdr.detectChanges();
|
|
432
431
|
}, 100);
|
|
433
432
|
}
|
|
434
433
|
getModalStyles() {
|
|
@@ -671,7 +670,6 @@ class OcAutocompleteComponent {
|
|
|
671
670
|
}
|
|
672
671
|
this.formatOcValueType();
|
|
673
672
|
this.loadOptions();
|
|
674
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
675
673
|
}
|
|
676
674
|
ngOnInit() {
|
|
677
675
|
if (this.ocValue === undefined) {
|
|
@@ -689,8 +687,6 @@ class OcAutocompleteComponent {
|
|
|
689
687
|
this.formatOcValueType();
|
|
690
688
|
this.loadOptions();
|
|
691
689
|
this.translateService.getTranslationsByLanguage();
|
|
692
|
-
this.cdr.detectChanges();
|
|
693
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
694
690
|
}
|
|
695
691
|
ngAfterContentChecked() {
|
|
696
692
|
if (this.ocPrefix) {
|
|
@@ -699,8 +695,6 @@ class OcAutocompleteComponent {
|
|
|
699
695
|
if (this.ocSuffix) {
|
|
700
696
|
this.hasSuffix = true;
|
|
701
697
|
}
|
|
702
|
-
this.cdr.detectChanges();
|
|
703
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
704
698
|
}
|
|
705
699
|
formatOcValueType() {
|
|
706
700
|
if (this.ocValue) {
|
|
@@ -783,8 +777,6 @@ class OcAutocompleteComponent {
|
|
|
783
777
|
name: '',
|
|
784
778
|
value: null,
|
|
785
779
|
};
|
|
786
|
-
this.cdr.detectChanges();
|
|
787
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
788
780
|
return;
|
|
789
781
|
}
|
|
790
782
|
this.selectedValue = foundValue;
|
|
@@ -797,8 +789,6 @@ class OcAutocompleteComponent {
|
|
|
797
789
|
}
|
|
798
790
|
this.isOptionsShown = false;
|
|
799
791
|
this.ocChange.emit(this.selectedValue.value);
|
|
800
|
-
this.cdr.detectChanges();
|
|
801
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
802
792
|
}
|
|
803
793
|
clearValue() {
|
|
804
794
|
this.selectedValue = {
|
|
@@ -1021,22 +1011,18 @@ class OcCheckboxComponent {
|
|
|
1021
1011
|
ngAfterViewInit() {
|
|
1022
1012
|
this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle;
|
|
1023
1013
|
this.cdr.markForCheck();
|
|
1024
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
1025
1014
|
}
|
|
1026
1015
|
writeValue(value) {
|
|
1027
1016
|
this.ocChecked = value;
|
|
1028
1017
|
this.cdr.markForCheck();
|
|
1029
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
1030
1018
|
}
|
|
1031
1019
|
registerOnChange(fn) {
|
|
1032
1020
|
this.onChange = fn;
|
|
1033
1021
|
this.cdr.markForCheck();
|
|
1034
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
1035
1022
|
}
|
|
1036
1023
|
registerOnTouched(fn) {
|
|
1037
1024
|
this.onTouched = fn;
|
|
1038
1025
|
this.cdr.markForCheck();
|
|
1039
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
1040
1026
|
}
|
|
1041
1027
|
onDoubleClick() {
|
|
1042
1028
|
if (this.disableDoubleClickCheck) {
|
|
@@ -1051,7 +1037,6 @@ class OcCheckboxComponent {
|
|
|
1051
1037
|
this.timeoutId = setTimeout(() => {
|
|
1052
1038
|
this.doubleClickCounter = 0;
|
|
1053
1039
|
this.cdr.markForCheck();
|
|
1054
|
-
setInterval(() => this.cdr.detectChanges(), 100);
|
|
1055
1040
|
}, 500);
|
|
1056
1041
|
}
|
|
1057
1042
|
else {
|
|
@@ -1061,12 +1046,10 @@ class OcCheckboxComponent {
|
|
|
1061
1046
|
}
|
|
1062
1047
|
}
|
|
1063
1048
|
this.cdr.markForCheck();
|
|
1064
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
1065
1049
|
}
|
|
1066
1050
|
toggleChecked() {
|
|
1067
1051
|
if (this.doubleClickCounter === 1) {
|
|
1068
1052
|
this.cdr.markForCheck();
|
|
1069
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
1070
1053
|
return;
|
|
1071
1054
|
}
|
|
1072
1055
|
this.ocChecked = !this.ocChecked;
|
|
@@ -1079,7 +1062,6 @@ class OcCheckboxComponent {
|
|
|
1079
1062
|
this.formControl.setValue(this.ocChecked);
|
|
1080
1063
|
}
|
|
1081
1064
|
this.cdr.markForCheck();
|
|
1082
|
-
setTimeout(() => this.cdr.detectChanges(), 100);
|
|
1083
1065
|
}
|
|
1084
1066
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OcCheckboxComponent, deps: [{ token: StyleThemeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1085
1067
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: OcCheckboxComponent, isStandalone: true, selector: "oc-checkbox", inputs: { ocChecked: "ocChecked", ocSize: "ocSize", ocLabel: "ocLabel", ocName: "ocName", ocColor: "ocColor", ocBorderColor: "ocBorderColor", ocStyle: "ocStyle", formControl: "formControl", ocTabIndex: "ocTabIndex", disableDoubleClickCheck: "disableDoubleClickCheck" }, outputs: { ocChange: "ocChange", ocDoubleClick: "ocDoubleClick" }, providers: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otimus-library.mjs","sources":["../../../projects/otimus-library/src/lib/otimus-library.service.ts","../../../projects/otimus-library/src/lib/otimus-library.component.ts","../../../projects/otimus-library/src/lib/services/oc-toast.service.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.html","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.ts","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.html","../../../projects/otimus-library/src/lib/directives/oc-tooltip/oc-tooltip.directive.ts","../../../projects/otimus-library/src/lib/services/style-theme.service.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.html","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.html","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.ts","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.html","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.ts","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.html","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.html","../../../projects/otimus-library/src/lib/services/internationalization.service.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.html","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.ts","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.html","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.ts","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.html","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.ts","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.html","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.ts","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.html","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.ts","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.html","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.ts","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.html","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.ts","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.html","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.ts","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.html","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.ts","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.html","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.ts","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.html","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.ts","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.html","../../../projects/otimus-library/src/lib/components/oc-accordion-item/oc-accordion-item.component.ts","../../../projects/otimus-library/src/lib/components/oc-accordion-item/oc-accordion-item.component.html","../../../projects/otimus-library/src/lib/components/oc-accordion/oc-accordion.component.ts","../../../projects/otimus-library/src/lib/components/oc-accordion/oc-accordion.component.html","../../../projects/otimus-library/src/public-api.ts","../../../projects/otimus-library/src/otimus-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OtimusLibraryService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-otimus-library',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n otimus-library works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class OtimusLibraryComponent {\r\n\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core'\r\nimport { ToastType } from '../interfaces/oc-toast'\r\n\r\ntype ToastStatusType =\r\n | 'erro'\r\n | 'error'\r\n | 'success'\r\n | 'éxito'\r\n | 'sucesso'\r\n | 'carregando'\r\n | 'cargando'\r\n | 'loading'\r\n | 'informação'\r\n | 'información'\r\n | 'information'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OcToastService {\r\n toastList: ToastType[] = []\r\n isRunning: boolean = false\r\n currentToast!: ToastType\r\n\r\n closeToast(id: number): void {\r\n this.toastList = this.toastList.map((to) => {\r\n if (to.id === id) {\r\n return { ...to, counter: 0 }\r\n }\r\n return to\r\n })\r\n\r\n this.currentToast = this.toastList[0]\r\n }\r\n\r\n openToast = (\r\n toastStatus: ToastStatusType,\r\n toastMessage: string,\r\n toastCounter?: number,\r\n promiseKey?: string\r\n ): void => {\r\n const toast = {\r\n id: this.toastList.length === 0 ? 1 : this.toastList[this.toastList.length - 1].id + 1,\r\n counter: toastCounter || 5,\r\n status: toastStatus,\r\n message: toastMessage,\r\n promiseKey,\r\n hasAnimation: true,\r\n }\r\n\r\n const toastExists = this.toastList.some((to) => {\r\n return to.status === toastStatus && to.message === toastMessage\r\n })\r\n\r\n if (toastExists) {\r\n return\r\n }\r\n\r\n const keyExists = this.toastList.find((to) => to.promiseKey === toast.promiseKey)\r\n\r\n if (keyExists) {\r\n this.toastList = this.toastList.map((to) => {\r\n if (to.promiseKey === promiseKey) {\r\n return { ...toast, hasAnimation: false }\r\n }\r\n return to\r\n })\r\n }\r\n\r\n this.toastList.push(toast)\r\n\r\n if (!this.isRunning) {\r\n this.renderToasts()\r\n }\r\n }\r\n\r\n renderToasts(): void {\r\n if (this.toastList.length === 0) {\r\n this.isRunning = false\r\n return\r\n }\r\n\r\n this.isRunning = true\r\n this.currentToast = this.toastList[0]\r\n\r\n const toastInterval = setInterval(() => {\r\n if (this.toastList.length === 0) {\r\n clearInterval(toastInterval)\r\n this.isRunning = false\r\n return\r\n }\r\n\r\n this.currentToast = this.toastList[0]\r\n if (this.currentToast.status !== 'carregando') {\r\n this.currentToast.counter--\r\n }\r\n\r\n if (this.currentToast.counter <= 0) {\r\n this.toastList = this.toastList.filter((to) => {\r\n return to.status !== this.currentToast.status && to.message !== this.currentToast.message\r\n })\r\n clearInterval(toastInterval)\r\n this.renderToasts()\r\n }\r\n }, 1000)\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-badge',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-badge.component.html',\r\n styleUrl: './oc-badge.component.scss'\r\n})\r\nexport class OcBadgeComponent implements OnInit {\r\n @Input() ocSize: 'small' | 'medium' | 'large' = 'small'\r\n @Input() ocColor: 'notification' | 'brand-g' | 'brand-p' | 'success' | 'warning' = 'notification'\r\n @Input() ocWaved: boolean = false\r\n\r\n classList: string[] = []\r\n\r\n ngOnInit(): void {\r\n this.classList.push(this.ocSize, this.ocColor)\r\n if(this.ocWaved) this.classList.push('waved')\r\n }\r\n}\r\n","<div>\r\n <div class=\"oc-badge\" [ngClass]=\"classList\">\r\n <ng-content>\r\n \r\n </ng-content>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { OcBadgeComponent } from '../oc-badge/oc-badge.component';\r\n\r\n@Component({\r\n selector: 'oc-filter',\r\n standalone: true,\r\n imports: [CommonModule, OcBadgeComponent],\r\n templateUrl: './oc-filter.component.html',\r\n styleUrl: './oc-filter.component.scss'\r\n})\r\nexport class OcFilterComponent {\r\n @Input() isOpen: boolean = false\r\n @Input() ocText: string = 'Filtros'\r\n @Input() ocActive: number = 0\r\n @Input() ocSide: 'left' | 'right' = 'left'\r\n\r\n toggleOpen() {\r\n this.isOpen = !this.isOpen\r\n }\r\n}\r\n","<div class=\"oc-filter-row\" [ngClass]=\"{\r\n reverse: ocSide === 'right'\r\n}\">\r\n <button class=\"oc-filter-btn\" (click)=\"toggleOpen()\">\r\n <span class=\"material-symbols-outlined\">filter_list</span>\r\n {{ocText}}\r\n <div class=\"badge\">\r\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\r\n </div>\r\n </button>\r\n \r\n <div class=\"filter-row-content\">\r\n <ng-content select=\"[row]\"></ng-content>\r\n </div>\r\n \r\n</div>\r\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\r\n <ng-content select=\"[body]\">\r\n </ng-content>\r\n</div>\r\n","import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[ocTooltip]',\r\n standalone: true,\r\n})\r\nexport class OcTooltipDirective {\r\n constructor(\r\n private elRef: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n @Input() content: string = ''\r\n @Input() side: 'bottom' | 'upon' | 'left' | 'right' | 'top' | 'mouse' = 'mouse'\r\n\r\n private created: boolean = false\r\n private tooltip: HTMLElement | null = null\r\n\r\n createToolTip(): HTMLElement | null {\r\n if (this.created) {\r\n return this.tooltip!\r\n }\r\n\r\n this.tooltip = this.renderer.createElement('div')\r\n const htmlRegex = /<([a-z][a-z0-9]*)\\b[^>]*>(.*?)<\\/\\1>/is\r\n if (htmlRegex.test(this.content)) {\r\n this.content = this.content.replace('>', ' style=\"margin: 0\">')\r\n this.renderer.setProperty(this.tooltip, 'innerHTML', this.content)\r\n } else {\r\n const text = this.renderer.createText(this.content)\r\n this.renderer.appendChild(this.tooltip, text)\r\n this.renderer.setStyle(this.tooltip, 'color', '#7E8485')\r\n }\r\n this.renderer.addClass(this.tooltip, 'oc-tooltip')\r\n if (this.side === 'mouse') {\r\n this.renderer.addClass(this.tooltip, 'mouse-tracking')\r\n }\r\n this.renderer.setStyle(this.tooltip, 'position', 'absolute')\r\n this.renderer.setStyle(this.tooltip, 'pointer-events', 'none')\r\n this.renderer.setStyle(this.tooltip, 'z-index', '1000')\r\n\r\n document.body.appendChild(this.tooltip as any)\r\n this.created = true\r\n return this.tooltip\r\n }\r\n\r\n @HostListener('mouseover', ['$event'])\r\n onMouseOver(event: MouseEvent): void {\r\n if (!this.content) {\r\n return\r\n }\r\n this.tooltip = this.createToolTip()\r\n this.updateTooltipPosition(event)\r\n }\r\n\r\n mouseingInterval: any | null = null\r\n @HostListener('mousemove', ['$event'])\r\n onMouseMove(event: MouseEvent): void {\r\n if (this.tooltip) {\r\n if (this.side === 'mouse') {\r\n this.updateTooltipPosition(event)\r\n } else {\r\n this.positionTooltipFixed()\r\n }\r\n }\r\n }\r\n\r\n private updateTooltipPosition(event: MouseEvent): void {\r\n if (this.tooltip) {\r\n this.renderer.setStyle(this.tooltip, 'left', `${event.pageX + 12}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${event.pageY + 12}px`)\r\n }\r\n }\r\n\r\n private positionTooltipFixed(): void {\r\n if (!this.tooltip) {\r\n return\r\n }\r\n const rect = this.elRef.nativeElement.getBoundingClientRect()\r\n const width = this.elRef.nativeElement.offsetWidth\r\n const height = this.elRef.nativeElement.offsetHeight\r\n\r\n if (this.side === 'right') {\r\n this.renderer.setStyle(this.tooltip, 'left', `${rect.right + 10}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${rect.top + height / 2}px`)\r\n } else if (this.side === 'left') {\r\n this.renderer.setStyle(this.tooltip, 'left', `${rect.left - this.tooltip.offsetWidth - 10}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${rect.top + height / 2}px`)\r\n } else if (this.side === 'upon' || this.side === 'top') {\r\n this.renderer.setStyle(this.tooltip, 'left', `${rect.left + width / 2}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${rect.top - this.tooltip.offsetHeight - 10}px`)\r\n } else if (this.side === 'bottom') {\r\n this.renderer.setStyle(this.tooltip, 'left', `${rect.left + width / 2}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${rect.bottom + 10}px`)\r\n }\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut(): void {\r\n if (this.tooltip) {\r\n document.body.removeChild(this.tooltip)\r\n this.created = false\r\n this.tooltip = null\r\n }\r\n\r\n this.mouseingInterval = null\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { OcStyleThemeType } from '../interfaces/oc-style-theme'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StyleThemeService {\r\n constructor() {}\r\n\r\n getStyleTheme(): OcStyleThemeType | undefined {\r\n const localStorageTheme = localStorage.getItem('@oc-lib-style_theme')\r\n\r\n if (!localStorageTheme || !['otimus', 'shui', 'semantic'].includes(localStorageTheme)) {\r\n return undefined\r\n }\r\n\r\n return localStorageTheme as OcStyleThemeType\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common'\r\nimport {\r\n AfterContentChecked,\r\n AfterViewInit,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-input',\r\n host: {\r\n '[style.width]': 'computedWidth',\r\n '[style.min-width]': 'computedMinWidth',\r\n '[style.max-width]': 'computedMaxWidth',\r\n },\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-input.component.html',\r\n styleUrls: ['./oc-input.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OcInputComponent implements AfterViewInit, OnChanges, AfterContentChecked {\r\n @ContentChild('ocPrefix') ocPrefix: any\r\n @ContentChild('ocSuffix') ocSuffix: any\r\n\r\n @Input() ocError?: string\r\n @Input() ocSize?: 'small' | 'medium' | 'large' = 'medium'\r\n @Input() ocPlaceholder: string = ''\r\n @Input() ocWidth?: string\r\n @Input() ocMinWidth?: string\r\n @Input() ocMaxWidth?: string\r\n @Input() ocRequired: boolean = false\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n inputId: string = `oc-${Math.random()}`\r\n hasSuffix: boolean = false\r\n hasPrefix: boolean = false\r\n\r\n @HostBinding('style.width')\r\n get computedWidth() {\r\n return this.ocWidth ? this.ocWidth : null\r\n }\r\n\r\n @HostBinding('style.min-width')\r\n get computedMinWidth() {\r\n return this.ocMinWidth || '0'\r\n }\r\n\r\n @HostBinding('style.max-width')\r\n get computedMaxWidth() {\r\n return this.ocMaxWidth || '100%'\r\n }\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n private styleThemeService: StyleThemeService\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n const inputBox = this.el.nativeElement\r\n\r\n if (inputBox) {\r\n const inputElement = inputBox.querySelector('input')\r\n\r\n if (inputElement) {\r\n this.renderer.setAttribute(inputElement, 'placeholder', '')\r\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\r\n }\r\n }\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n }\r\n}\r\n","<div [ngClass]=\"{\r\n 'oc-input-box': !ocStyle || ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix,\r\n 'shui': ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui'\r\n}\" [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>\r\n <span [innerHTML]=\"ocPlaceholder\"></span>\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\r\n</div>","import { CommonModule } from '@angular/common'\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-modal',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-modal.component.html',\r\n styleUrl: './oc-modal.component.scss',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OcModalComponent implements AfterViewInit {\r\n constructor(\r\n private elRef: ElementRef,\r\n private styleThemeService: StyleThemeService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n @Input() ocClose: boolean = true\r\n @Input() ocTitle: string = ''\r\n @Input() ocSize: 'small' | 'medium' | 'large' | 'screen' = 'medium'\r\n @Input() ocBgColor?: string\r\n @Input() ocWidth: string = ''\r\n @Input() ocMaxWidth: string = ''\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Input() ocLoading: boolean = false\r\n @Output() ocOnClose = new EventEmitter<any>()\r\n @Output() ocOnOpen = new EventEmitter<any>()\r\n\r\n @Input() isOpen: boolean = false\r\n closing: boolean = false\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n }\r\n\r\n open(): void {\r\n this.isOpen = true\r\n this.elRef.nativeElement.ownerDocument.body.classList.add('disabled-scroll')\r\n this.ocOnOpen.emit(this.isOpen)\r\n }\r\n\r\n close(): void {\r\n this.closing = true\r\n setTimeout(() => {\r\n this.isOpen = false\r\n this.closing = false\r\n\r\n if (this.ocOnClose) {\r\n this.ocOnClose.emit(this.isOpen)\r\n }\r\n\r\n this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll')\r\n this.cdr.detectChanges()\r\n }, 100)\r\n }\r\n\r\n protected getModalStyles(): { [key: string]: string } {\r\n const styles: { [key: string]: string } = {}\r\n if (this.ocBgColor) {\r\n styles['background-color'] = this.ocBgColor\r\n }\r\n if (this.ocWidth) {\r\n styles['width'] = this.ocWidth\r\n }\r\n if (this.ocMaxWidth) {\r\n styles['max-width'] = this.ocMaxWidth\r\n }\r\n return styles\r\n }\r\n}\r\n","@if (isOpen) {\r\n<div class=\"oc-modal-bg\" *ngIf=\"isOpen\" [ngClass]=\"{\r\n 'closing-bg': closing, \r\n 'shui': ocStyle === 'shui',\r\n 'shui-modal': ocStyle === 'shui'\r\n }\">\r\n <div class=\"oc-modal\" [ngClass]=\"{\r\n large: ocSize === 'large',\r\n medium: ocSize === 'medium',\r\n small: ocSize === 'small',\r\n closing: closing,\r\n 'total-white': ocBgColor === 'white'\r\n }\" [ngStyle]=\"getModalStyles()\">\r\n <header class=\"oc-modal-header\">\r\n <h3 *ngIf=\"ocTitle.trim().length > 0\">{{ocTitle}}</h3>\r\n @if(ocClose) {\r\n <button (click)=\"close()\" class=\"oc-close-btn\">\r\n <span class=\"material-symbols-outlined md-18\" title=\"Fechar\">close</span>\r\n </button>\r\n }\r\n </header>\r\n <div class=\"oc-modal-content\" [ngClass]=\"{\r\n 'loading-content': ocLoading\r\n }\">\r\n @if(isOpen){\r\n <ng-content></ng-content>\r\n }\r\n @if(ocLoading) {\r\n <div class=\"load-container\">\r\n <span class=\"loader material-symbols-outlined oc color p-1\">progress_activity</span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n}","import { CommonModule } from '@angular/common'\r\nimport { AfterViewInit, Component, Input, ViewEncapsulation } from '@angular/core'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-key-value',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-key-value.component.html',\r\n styleUrl: './oc-key-value.component.scss',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OcKeyValueComponent implements AfterViewInit {\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n @Input() ocKey: string = ''\r\n @Input() ocValue: string = ''\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n }\r\n}\r\n","<div class=\"oc-key-value\" [ngClass]=\"{\r\n shui: ocStyle === 'shui'\r\n}\">\r\n <!-- Ícone -->\r\n <ng-content></ng-content>\r\n <p>\r\n @if (ocKey) {\r\n <span>{{ocKey}}:</span>\r\n }\r\n {{ocValue}}\r\n </p>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-chip',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-chip.component.html',\r\n styleUrl: './oc-chip.component.scss'\r\n})\r\nexport class OcChipComponent {\r\n @Input() ocSelected: boolean = false\r\n @Input() ocType: 'select' | 'remove' | 'tag' | 'select_remove' = 'select'\r\n @Input() ocBg: 'green' | 'red' | 'yellow' | 'default' = 'green'\r\n @Input() ocText: string = ''\r\n @Output() ocClick: EventEmitter<any> = new EventEmitter<any>\r\n @Output() ocRemove: EventEmitter<any> = new EventEmitter<any>\r\n\r\n ocEvent(event:any) {\r\n event.stopPropagation()\r\n this.ocClick.emit()\r\n }\r\n \r\n ocRemoveEvent (event: any) {\r\n event.stopPropagation()\r\n if(!this.ocRemove.observed) {\r\n this.ocClick.emit()\r\n return\r\n }\r\n this.ocRemove.emit()\r\n }\r\n}\r\n","<button\r\n [ngClass]=\"{\r\n 'oc-chip': true,\r\n selected: ocSelected,\r\n 'not-selectable': ocType !== 'select' && ocType !== 'select_remove',\r\n 'tag': ocType === 'tag',\r\n 'remove': ocType === 'remove' || ocType==='select_remove',\r\n 'green-bg': ocBg === 'green',\r\n 'red-bg': ocBg === 'red',\r\n 'yellow-bg': ocBg === 'yellow'\r\n }\"\r\n type=\"button\"\r\n [title]=\"ocText\"\r\n (click)=\"ocType.includes('select') ? ocEvent($event) : null\"\r\n>\r\n <ng-content></ng-content>\r\n @if (ocType.includes('remove')) {\r\n <span class=\"material-symbols-outlined\" (click)=\"ocRemoveEvent($event)\">close</span>\r\n }\r\n</button>\r\n","import { CommonModule } from '@angular/common'\r\nimport { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-modal-footer',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-modal-footer.component.html',\r\n styleUrl: './oc-modal-footer.component.scss',\r\n})\r\nexport class OcModalFooterComponent {\r\n @Input() ocSide: 'left' | 'right' = 'right'\r\n @Input() ocBgColor?: string\r\n @Input() ocFixed: boolean = true\r\n}\r\n","<footer class=\"oc-modal-footer\" [ngClass]=\"{\r\n 'left': ocSide === 'left',\r\n 'right': ocSide === 'right',\r\n 'fixed': ocFixed\r\n}\"\r\n [ngStyle]=\"{\r\n 'background-color': ocBgColor\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n</footer>","import { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InternationalizationService {\r\n constructor(private http: HttpClient) { }\r\n private queryLang: string | null = null\r\n\r\n getTranslation(\r\n code: string | number,\r\n params?: { [key: string]: string | number } | null\r\n ): string {\r\n code = typeof code === 'number' ? `LIB${code}` : code\r\n const translations = JSON.parse(localStorage.getItem('@oc-lib-lang_words') || '{}')\r\n let translation = translations[code] || code\r\n\r\n if (params) {\r\n Object.keys(params).forEach((key) => {\r\n translation = translation.replace(`%{${key}}`, params[key].toString())\r\n })\r\n }\r\n\r\n return translation\r\n }\r\n\r\n getTranslationsByLanguage() {\r\n const urlParams = new URLSearchParams(window.location.search)\r\n this.queryLang = urlParams.get('lang')\r\n if(!this.queryLang) return\r\n if (!this.canUpdateStoredLanguages()) return\r\n\r\n return this.http.get<Object>(`https://cms-backend.otimusclinic.com/translations/language?lang=${this.queryLang}`)\r\n .subscribe(resp => {\r\n if (!resp || !Object.keys(resp).length) return\r\n this.setLanguages(resp)\r\n this.setLanguage(this.queryLang as string)\r\n this.setUpdatedLastTime()\r\n })\r\n }\r\n\r\n canUpdateStoredLanguages(): boolean {\r\n const storedLastTime = localStorage.getItem('@oc-lib-stored_at')\r\n const storedLanguage = localStorage.getItem('language')\r\n \r\n if (!storedLastTime || !storedLanguage || !this.queryLang) return true\r\n\r\n let yesterday = new Date()\r\n yesterday.setDate(yesterday.getDate() - 1)\r\n\r\n const storedDate = new Date(storedLastTime)\r\n\r\n if (storedDate <= yesterday || (storedLanguage !== this.queryLang)) {\r\n return true\r\n }\r\n\r\n return false\r\n }\r\n\r\n setLanguage(language: string): void {\r\n localStorage.setItem('language', language)\r\n }\r\n\r\n setUpdatedLastTime(): void {\r\n const updatedLastTime = new Date().toISOString()\r\n localStorage.setItem('@oc-lib-stored_at', updatedLastTime)\r\n }\r\n\r\n setLanguages(translations: Object): void {\r\n localStorage.setItem('@oc-lib-lang_words', JSON.stringify(translations))\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common'\r\nimport {\r\n AfterContentChecked,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core'\r\nimport { OcAutoCompleteType } from '../../interfaces/oc-autocomplete'\r\nimport { FormsModule } from '@angular/forms'\r\nimport { InternationalizationService } from '../../services/internationalization.service'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-autocomplete',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n providers: [InternationalizationService],\r\n host: {\r\n '[style.width]': 'computedWidth',\r\n '[style.min-width]': 'computedMinWidth',\r\n '[style.max-width]': 'computedMaxWidth',\r\n },\r\n templateUrl: './oc-autocomplete.component.html',\r\n styleUrl: './oc-autocomplete.component.scss',\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class OcAutocompleteComponent\r\n implements AfterViewInit, OnChanges, AfterContentChecked, OnInit\r\n{\r\n constructor(\r\n private renderer: Renderer2,\r\n private el: ElementRef,\r\n private translateService: InternationalizationService,\r\n private styleThemeService: StyleThemeService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n @ViewChild('input') input!: ElementRef\r\n @ViewChild('options') options!: ElementRef\r\n @ViewChild('outerDiv') outerDiv!: ElementRef<HTMLDivElement>\r\n\r\n @ContentChild('ocPrefix') ocPrefix: any\r\n @ContentChild('ocSuffix') ocSuffix: any\r\n @Input() ocPlaceholder?: string\r\n @Input() ocError?: string\r\n @Input() ocSize: 'small' | 'large' | 'medium' = 'medium'\r\n @Input() ocData: OcAutoCompleteType[] = []\r\n @Input() ocValue: any = ''\r\n @Input() ocClearOnChange: boolean = false\r\n @Input() ocWidth?: string\r\n @Input() ocMinWidth?: string\r\n @Input() ocMaxWidth?: string\r\n @Input() ocOptionsMaxHeight?: string\r\n @Input() ocOptionsWidth?: string\r\n @Input() ocRequired: boolean = false\r\n @Input() ocMaxResults?: number\r\n @Input() ocAllowNotListedValue: boolean = false\r\n @Input() ocNoAvailableOptionsText?: string\r\n @Input() ocTypeForMoreResultsText?: string\r\n @Input() ocLoading: boolean = false\r\n @Input() ocSemanticLike: boolean = false // deprecated. Prefer using ocStyleTheme instead\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Input() ocTabIndex?: number\r\n\r\n @Input() ocHasDeleteButton?: boolean = false\r\n\r\n @Output() ocValueChange = new EventEmitter<string>()\r\n @Output() ocChange = new EventEmitter<string | null>()\r\n @Output() ocOptionNotFound = new EventEmitter()\r\n @Output() ocClick = new EventEmitter()\r\n\r\n hasSuffix: boolean = false\r\n hasPrefix: boolean = false\r\n\r\n isOptionsShown: boolean = false\r\n filteredData: OcAutoCompleteType[] = []\r\n selectedValue: OcAutoCompleteType = {\r\n name: '',\r\n value: null,\r\n }\r\n\r\n @HostBinding('style.width')\r\n get computedWidth() {\r\n return this.ocWidth ? this.ocWidth : null\r\n }\r\n\r\n @HostBinding('style.min-width')\r\n get computedMinWidth() {\r\n return this.ocMinWidth || '0'\r\n }\r\n\r\n @HostBinding('style.max-width')\r\n get computedMaxWidth() {\r\n return this.ocMaxWidth || '100%'\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n this.formatOcValueType()\r\n this.loadOptions()\r\n\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ocValue === undefined) {\r\n this.ocValue = null\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n this.formatOcValueType()\r\n this.loadOptions()\r\n this.translateService.getTranslationsByLanguage()\r\n this.cdr.detectChanges()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n this.cdr.detectChanges()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n\r\n formatOcValueType() {\r\n if (this.ocValue) {\r\n return `${this.ocValue}`\r\n }\r\n return null\r\n }\r\n\r\n getTranslation(code: number | string) {\r\n return this.translateService.getTranslation(code)\r\n }\r\n\r\n loadOptions() {\r\n this.formatOcValueType()\r\n setTimeout(() => {\r\n this.filteredData = this.ocData\r\n const inputBox = this.el.nativeElement\r\n\r\n const found = this.ocData.find((el) => el.value == this.ocValue)\r\n if (found) {\r\n this.selectedValue = found\r\n this.ocValue = found.name\r\n }\r\n\r\n if (inputBox) {\r\n const inputElement = inputBox.querySelector('input')\r\n\r\n if (inputElement && !this.ocSemanticLike && ['otimus', 'shui'].includes(this.ocStyle)) {\r\n this.renderer.setAttribute(inputElement, 'placeholder', '')\r\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\r\n }\r\n }\r\n }, 50)\r\n }\r\n\r\n closeOnClickOut() {\r\n this.renderer.listen('window', 'click', (e: Event) => {\r\n if (this.input && this.options) {\r\n if (e.target !== this.input.nativeElement && e.target !== this.options.nativeElement) {\r\n this.isOptionsShown = false\r\n }\r\n }\r\n this.findByTyping()\r\n })\r\n }\r\n\r\n findByTyping(): void {\r\n if (!this.ocValue || !this.ocValue?.toString().trim().length) {\r\n this.ocChange.emit(null)\r\n this.ocOptionNotFound.emit()\r\n }\r\n const foundValue = this.ocData.find(\r\n (data) =>\r\n data.name.toString().toLowerCase() === this.ocValue?.toString().toLowerCase() ||\r\n data.value.toString().toLowerCase() === this.ocValue?.toString().toLowerCase()\r\n )\r\n\r\n if (!foundValue) {\r\n this.selectedValue = {\r\n name: '',\r\n value: null,\r\n }\r\n if (!this.ocAllowNotListedValue) {\r\n this.ocValue = ''\r\n }\r\n this.filteredData = this.ocData\r\n return\r\n }\r\n this.selectedValue = foundValue\r\n }\r\n\r\n filterData(name: string): void {\r\n this.isOptionsShown = true\r\n this.filteredData = this.ocData.filter((data) => {\r\n return this.getFormattedName(data.name)?.includes(this.getFormattedName(name))\r\n })\r\n }\r\n\r\n getFormattedName(str: string): string {\r\n return str\r\n ?.toLowerCase()\r\n .normalize('NFD')\r\n .replace(/[\\u0300-\\u036f]/g, '') // Remove marcas diacríticas\r\n }\r\n\r\n toggleOptions() {\r\n this.closeOnClickOut()\r\n this.isOptionsShown = !this.isOptionsShown\r\n }\r\n\r\n selectValue(value: any) {\r\n const foundValue = this.ocData.find((data) => data.value == value)\r\n\r\n if (!foundValue) {\r\n this.selectedValue = {\r\n name: '',\r\n value: null,\r\n }\r\n\r\n this.cdr.detectChanges()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n return\r\n }\r\n\r\n this.selectedValue = foundValue\r\n if (this.ocClearOnChange) {\r\n this.ocValue = ''\r\n this.filteredData = this.ocData\r\n } else {\r\n this.ocValue = foundValue.name\r\n }\r\n\r\n this.isOptionsShown = false\r\n\r\n this.ocChange.emit(this.selectedValue.value)\r\n\r\n this.cdr.detectChanges()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n\r\n clearValue() {\r\n this.selectedValue = {\r\n name: '',\r\n value: null,\r\n }\r\n this.ocValue = ''\r\n this.filteredData = this.ocData\r\n }\r\n}\r\n","<div\r\n [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix || ocHasDeleteButton,\r\n shui: ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui',\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n <input\r\n [placeholder]=\"ocPlaceholder\"\r\n #input\r\n (click)=\"toggleOptions(); ocClick.emit()\"\r\n type=\"text\"\r\n (input)=\"filterData(ocValue)\"\r\n [(ngModel)]=\"ocValue\"\r\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\r\n [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\r\n }\"\r\n [tabindex]=\"ocTabIndex\"\r\n />\r\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\r\n <label>\r\n <span [innerHTML]=\"ocPlaceholder\"></span>\r\n @if (ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ ocError }}</small\r\n >\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n @if (ocHasDeleteButton) {\r\n <button\r\n class=\"oc-has-close-button oc suffix\"\r\n (click)=\"clearValue()\"\r\n >\r\n <span class=\"material-symbols-outlined\">backspace</span>\r\n </button>\r\n }\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if (isOptionsShown && !ocLoading) {\r\n <ul\r\n #options\r\n class=\"oc-options\"\r\n [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n width: ocOptionsWidth,\r\n }\"\r\n >\r\n @if (!filteredData.length) {\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhum resultado disponível' }}\r\n </li>\r\n } @else {\r\n @for (data of filteredData; track data.value; let i = $index) {\r\n @if (!ocMaxResults || i < ocMaxResults) {\r\n <li>\r\n <button\r\n type=\"button\"\r\n (click)=\"selectValue(data.value)\"\r\n >\r\n {{ data.name }}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-profile',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-profile.component.html',\r\n styleUrl: './oc-profile.component.scss',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OcProfileComponent implements OnInit {\r\n @Input() ocUserName?: string\r\n @Input() ocProfilePic?: string\r\n @Input() ocSize: 'large' | 'medium' | 'small' | 'tiny' = 'medium'\r\n nameInitials: string = ''\r\n \r\n ngOnInit() {\r\n this.getInitials()\r\n }\r\n\r\n getInitials() {\r\n if(!this.ocUserName) return\r\n\r\n const splittedName = this.ocUserName?.split(' ')\r\n\r\n const firstLetter = splittedName[0][0]\r\n let lastLetter = ''\r\n \r\n const lastName = splittedName[splittedName.length - 1]\r\n\r\n if(splittedName.length > 1 && lastName){\r\n lastLetter = lastName[0]\r\n }\r\n\r\n this.nameInitials = (firstLetter + lastLetter).toUpperCase()\r\n }\r\n}\r\n","<div class=\"oc-profile\"\r\n [ngClass]=\"{\r\n small: ocSize === 'small',\r\n tiny: ocSize === 'tiny',\r\n large: ocSize === 'large'\r\n }\"\r\n>\r\n <div class=\"content\">\r\n @if(ocProfilePic){\r\n <img [src]=\"ocProfilePic\" [alt]=\"ocUserName || 'Foto de perfil do usuário'\">\r\n }@else {\r\n <span>\r\n {{nameInitials}}\r\n </span>\r\n }\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { OcProfileComponent } from '../oc-profile/oc-profile.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'oc-log',\r\n standalone: true,\r\n imports: [CommonModule, OcProfileComponent],\r\n templateUrl: './oc-log.component.html',\r\n styleUrl: './oc-log.component.scss'\r\n})\r\nexport class OcLogComponent {\r\n @Input() ocProfilePic?: string = ''\r\n @Input() ocUserName?: string = ''\r\n}\r\n","<div class=\"oc-log\">\r\n <div class=\"left-side\" [ngClass]=\"{\r\n 'has-profile': ocProfilePic || ocUserName\r\n }\">\r\n @if(ocProfilePic || ocUserName) {\r\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\r\n </oc-profile>\r\n } @else {\r\n <div class=\"dot\"></div>\r\n }\r\n </div>\r\n\r\n <div class=\"content\" [ngClass]=\"{\r\n 'has-profile-content': ocProfilePic || ocUserName\r\n }\" selector=\"[content]\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-pagination',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-pagination.component.html',\r\n styleUrl: './oc-pagination.component.scss'\r\n})\r\nexport class OcPaginationComponent implements OnInit{\r\n @Input() ocPage: number = 1\r\n @Input() ocMaxPage?: number\r\n @Output() ocGetPage = new EventEmitter<number>()\r\n \r\n ngOnInit(): void {\r\n if(!this.ocMaxPage) this.ocMaxPage = this.ocPage\r\n }\r\n\r\n firstPage() {\r\n this.ocPage = 1\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n decrementPage() {\r\n if(this.ocPage <= 1) return\r\n this.ocPage--\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n incrementPage() {\r\n if(!this.ocMaxPage || this.ocPage >= this.ocMaxPage) return\r\n this.ocPage++\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n lastPage() {\r\n if(!this.ocMaxPage) return\r\n this.ocPage = this.ocMaxPage\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n}\r\n","<div class=\"oc-pagination\">\r\n <p class=\"oc-pagination-text\">\r\n Página\r\n <span>{{ocPage}}</span> \r\n de\r\n <span>{{ocMaxPage}}</span>\r\n </p>\r\n <div class=\"oc-pagination-buttons\">\r\n <button (click)=\"firstPage()\" [ngClass]=\"{\r\n disabled: ocPage === 1\r\n }\">\r\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\r\n </button>\r\n <button (click)=\"decrementPage()\" [ngClass]=\"{\r\n disabled: ocPage === 1\r\n }\">\r\n <span class=\"material-symbols-outlined\">navigate_before</span>\r\n </button>\r\n <button (click)=\"incrementPage()\" [ngClass]=\"{\r\n disabled: ocPage === ocMaxPage\r\n }\"> \r\n <span class=\"material-symbols-outlined\">navigate_next</span>\r\n </button>\r\n <button (click)=\"lastPage()\" [ngClass]=\"{\r\n disabled: ocPage === ocMaxPage\r\n }\"> \r\n <span class=\"material-symbols-outlined\">\r\n keyboard_double_arrow_right\r\n </span>\r\n </button>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-not-found',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-not-found.component.html',\r\n styleUrl: './oc-not-found.component.scss'\r\n})\r\nexport class OcNotFoundComponent {\r\n\r\n}\r\n","<main class=\"oc-not-found\">\r\n <div class=\"content\">\r\n <div class=\"main-title\">\r\n <h1>404</h1>\r\n <span class=\"s-1\">?</span>\r\n <span class=\"s-2\">?</span>\r\n <span class=\"s-3\">?</span>\r\n </div>\r\n <div class=\"not-found-msg\">\r\n <h2>Página não encontrada</h2>\r\n <p>Não conseguimos encontrar a página que você está procurando</p>\r\n </div>\r\n </div>\r\n</main>","import { CommonModule } from '@angular/common'\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n} from '@angular/core'\r\nimport {\r\n ControlValueAccessor,\r\n FormControl,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n ReactiveFormsModule,\r\n} from '@angular/forms'\r\nimport { StyleThemeService } from '../../services/style-theme.service';\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme';\r\n\r\n@Component({\r\n selector: 'oc-checkbox',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './oc-checkbox.component.html',\r\n styleUrl: './oc-checkbox.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => OcCheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class OcCheckboxComponent implements ControlValueAccessor, AfterViewInit {\r\n checkBoxId: string = `oc-${Math.random()}`\r\n\r\n constructor(\r\n private styleThemeService: StyleThemeService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n @Output() ocChange = new EventEmitter<boolean>()\r\n\r\n @Input() ocChecked: boolean = false\r\n @Input() ocSize: 'tiny' | 'small' = 'small'\r\n @Input() ocLabel?: string = ''\r\n @Input() ocName?: string = ''\r\n @Input() ocColor: 'purple' | 'green' = 'green'\r\n @Input() ocBorderColor: 'white' | 'gray' = 'white'\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Output() ocDoubleClick = new EventEmitter<boolean>()\r\n @Input() formControl?: FormControl\r\n @Input() ocTabIndex?: number\r\n @Input() disableDoubleClickCheck = true\r\n\r\n private onChange?: (value: boolean) => void\r\n private onTouched = (): void => {}\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n this.cdr.markForCheck()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n\r\n writeValue(value: boolean): void {\r\n this.ocChecked = value\r\n this.cdr.markForCheck()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n\r\n registerOnChange(fn: (value: boolean) => void): void {\r\n this.onChange = fn\r\n this.cdr.markForCheck()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn\r\n this.cdr.markForCheck()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n\r\n private doubleClickCounter = 0\r\n private timeoutId: ReturnType<typeof setTimeout> | null = null\r\n protected onDoubleClick(): void {\r\n if (this.disableDoubleClickCheck) {\r\n return\r\n }\r\n if (this.timeoutId) {\r\n clearTimeout(this.timeoutId)\r\n this.timeoutId = null\r\n }\r\n\r\n if (this.doubleClickCounter === 0) {\r\n this.doubleClickCounter = 1\r\n this.timeoutId = setTimeout(() => {\r\n this.doubleClickCounter = 0\r\n this.cdr.markForCheck()\r\n setInterval(() => this.cdr.detectChanges(), 100)\r\n }, 500)\r\n } else {\r\n this.doubleClickCounter = 0\r\n if (this.ocDoubleClick && this.ocChecked) {\r\n this.ocDoubleClick.emit(this.ocChecked)\r\n }\r\n }\r\n this.cdr.markForCheck()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n toggleChecked(): void {\r\n if (this.doubleClickCounter === 1) {\r\n this.cdr.markForCheck()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n return\r\n }\r\n this.ocChecked = !this.ocChecked\r\n if (this.onChange) {\r\n this.onChange(this.ocChecked)\r\n }\r\n this.onTouched()\r\n this.ocChange.emit(this.ocChecked)\r\n\r\n if (this.formControl) {\r\n this.formControl.setValue(this.ocChecked)\r\n }\r\n this.cdr.markForCheck()\r\n setTimeout(() => this.cdr.detectChanges(), 100)\r\n }\r\n}\r\n","<button class=\"oc-checkbox-content cbx\" type=\"button\" (click)=\"toggleChecked();\r\nonDoubleClick()\" [ngClass]=\"{\r\n shui: ocStyle === 'shui'\r\n}\" [tabIndex]=\"ocTabIndex\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\">\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n\r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>","import { Component,ElementRef,EventEmitter,Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { CdkMenuModule } from '@angular/cdk/menu';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OcMenuType } from '../../interfaces/oc-menu';\r\nimport { OcCheckboxComponent } from '../oc-checkbox/oc-checkbox.component';\r\n\r\n@Component({\r\n selector: 'oc-menu',\r\n standalone: true,\r\n imports: [CommonModule, CdkMenuModule, OcCheckboxComponent],\r\n templateUrl: './oc-menu.component.html',\r\n styleUrls: ['./oc-menu.component.scss']\r\n})\r\nexport class OcMenuComponent implements OnInit {\r\n constructor(private renderer: Renderer2) {}\r\n\r\n @ViewChild('ocMenuEl') menu!: ElementRef;\r\n @Output() ocChange = new EventEmitter()\r\n @Input() ocMenu: OcMenuType[] = []\r\n isMenuShown: boolean = false\r\n buttonId?:string\r\n\r\n open() {\r\n this.isMenuShown = true\r\n\r\n setTimeout(() => {\r\n if(this.menu){\r\n const parentButton = this.findParentButton(this.menu.nativeElement);\r\n if (parentButton) {\r\n this.buttonId = `oc-${Math.random()}`\r\n this.renderer.setAttribute(parentButton, 'id', this.buttonId);\r\n }\r\n }\r\n }, 100)\r\n }\r\n\r\n ngOnInit() {\r\n this.closeOnClickOut()\r\n }\r\n\r\n findParentButton(element: HTMLElement): HTMLButtonElement | null {\r\n let parent = element.parentElement;\r\n while (parent) {\r\n if (parent.tagName.toLowerCase() === 'button') {\r\n return parent as HTMLButtonElement;\r\n }\r\n parent = parent.parentElement;\r\n }\r\n return null;\r\n }\r\n \r\n closeOnClickOut() {\r\n this.renderer.listen('window', 'click',(e:any)=>{\r\n\r\n const isCheckbox = Array.from(e.target.classList).includes('cbx')\r\n\r\n if(isCheckbox) return\r\n else if(!this.menu) return\r\n\r\n if(this.buttonId && e.target.id !== this.buttonId) {\r\n this.isMenuShown = false\r\n return\r\n }\r\n \r\n })\r\n }\r\n\r\n changeCheckbox(name: string, checked: boolean) {\r\n let foundItem\r\n this.ocMenu.forEach(item => {\r\n if(item.name === name && typeof checked === 'boolean') {\r\n item.checked = checked\r\n\r\n foundItem = item\r\n }\r\n })\r\n this.ocChange.emit(foundItem)\r\n return foundItem\r\n }\r\n\r\n typeof(key: any) {\r\n return typeof key\r\n }\r\n}\r\n","<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\r\n <ul>\r\n @for(option of ocMenu; track $index) {\r\n <li\r\n [ngClass]=\"{\r\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\r\n }\"\r\n >\r\n @if(typeof(option.checked) === 'boolean'){\r\n <div class=\"checkbox-opt cbx\">\r\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\r\n </div>\r\n }\r\n @if(option.icon) {\r\n <span class=\"material-symbols-outlined\">\r\n {{option.icon}}\r\n </span>\r\n } \r\n @if(option.callback){\r\n <button (click)=\"option.callback()\">{{option.name}}</button>\r\n }\r\n @if(option.url){\r\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\r\n }\r\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\r\n <span>{{option.name}}</span>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n","import { CommonModule } from '@angular/common'\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core'\r\nimport { OcToastService } from '../../services/oc-toast.service'\r\n\r\n@Component({\r\n selector: 'oc-toast',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-toast.component.html',\r\n styleUrl: './oc-toast.component.scss',\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class OcToastComponent {\r\n constructor(public toast: OcToastService) {}\r\n}\r\n","<div\r\n class=\"toast\"\r\n [ngClass]=\"{\r\n 'close-toast': toast.currentToast.counter === 1,\r\n error: ['erro', 'error'].includes(toast.currentToast.status.toLowerCase()),\r\n success: ['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase()),\r\n loading: ['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase()),\r\n animation: toast.currentToast.hasAnimation\r\n }\"\r\n *ngIf=\"toast.currentToast && toast.currentToast.counter > 0\"\r\n>\r\n <header>\r\n <ng-container [ngTemplateOutlet]=\"iconTemplate\"></ng-container>\r\n <h4 class=\"status\">\r\n {{ toast.currentToast.status[0].toUpperCase() + toast.currentToast.status.slice(1) }}\r\n </h4>\r\n <button (click)=\"toast.closeToast(toast.currentToast.id)\">\r\n <span class=\"material-symbols-outlined\">close</span>\r\n </button>\r\n </header>\r\n <p>{{ toast.currentToast.message }}</p>\r\n</div>\r\n\r\n<ng-template #iconTemplate>\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['erro', 'error'].includes(toast.currentToast.status.toLowerCase())\"\r\n >error</span\r\n >\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase())\"\r\n >check_circle</span\r\n >\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['information', 'informação', 'información'].includes(toast.currentToast.status.toLowerCase())\"\r\n >info</span\r\n >\r\n\r\n <svg *ngIf=\"['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase())\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><style>rect{fill:#00DDA3}.spinner_zWVm{animation:spinner_5QiW 1.2s linear infinite,spinner_PnZo 1.2s linear infinite}.spinner_gfyD{animation:spinner_5QiW 1.2s linear infinite,spinner_4j7o 1.2s linear infinite;animation-delay:.1s}.spinner_T5JJ{animation:spinner_5QiW 1.2s linear infinite,spinner_fLK4 1.2s linear infinite;animation-delay:.1s}.spinner_E3Wz{animation:spinner_5QiW 1.2s linear infinite,spinner_tDji 1.2s linear infinite;animation-delay:.2s}.spinner_g2vs{animation:spinner_5QiW 1.2s linear infinite,spinner_CMiT 1.2s linear infinite;animation-delay:.2s}.spinner_ctYB{animation:spinner_5QiW 1.2s linear infinite,spinner_cHKR 1.2s linear infinite;animation-delay:.2s}.spinner_BDNj{animation:spinner_5QiW 1.2s linear infinite,spinner_Re6e 1.2s linear infinite;animation-delay:.3s}.spinner_rCw3{animation:spinner_5QiW 1.2s linear infinite,spinner_EJmJ 1.2s linear infinite;animation-delay:.3s}.spinner_Rszm{animation:spinner_5QiW 1.2s linear infinite,spinner_YJOP 1.2s linear infinite;animation-delay:.4s}@keyframes spinner_5QiW{0%,50%{width:7.33px;height:7.33px}25%{width:1.33px;height:1.33px}}@keyframes spinner_PnZo{0%,50%{x:1px;y:1px}25%{x:4px;y:4px}}@keyframes spinner_4j7o{0%,50%{x:8.33px;y:1px}25%{x:11.33px;y:4px}}@keyframes spinner_fLK4{0%,50%{x:1px;y:8.33px}25%{x:4px;y:11.33px}}@keyframes spinner_tDji{0%,50%{x:15.66px;y:1px}25%{x:18.66px;y:4px}}@keyframes spinner_CMiT{0%,50%{x:8.33px;y:8.33px}25%{x:11.33px;y:11.33px}}@keyframes spinner_cHKR{0%,50%{x:1px;y:15.66px}25%{x:4px;y:18.66px}}@keyframes spinner_Re6e{0%,50%{x:15.66px;y:8.33px}25%{x:18.66px;y:11.33px}}@keyframes spinner_EJmJ{0%,50%{x:8.33px;y:15.66px}25%{x:11.33px;y:18.66px}}@keyframes spinner_YJOP{0%,50%{x:15.66px;y:15.66px}25%{x:18.66px;y:18.66px}}</style><rect class=\"spinner_zWVm\" x=\"1\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_gfyD\" x=\"8.33\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_T5JJ\" x=\"1\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_E3Wz\" x=\"15.66\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_g2vs\" x=\"8.33\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_ctYB\" x=\"1\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_BDNj\" x=\"15.66\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_rCw3\" x=\"8.33\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_Rszm\" x=\"15.66\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/></svg>\r\n \r\n\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-toggle',\r\n standalone: true,\r\n imports: [ CommonModule ],\r\n templateUrl: './oc-toggle.component.html',\r\n styleUrl: './oc-toggle.component.scss'\r\n})\r\nexport class OcToggleComponent {\r\n _ocChecked: boolean = false;\r\n\r\n @Input() set ocChecked(value: boolean) {\r\n this._ocChecked = value\r\n this.ocCheckedChange.emit(this._ocChecked)\r\n }\r\n\r\n get ocChecked() {\r\n return this._ocChecked\r\n }\r\n\r\n @Input() ocColor: 'purple' | 'green' = 'green';\r\n\r\n @Output() ocCheckedChange = new EventEmitter<boolean>();\r\n\r\n toggleChecked() {\r\n this.ocChecked = !this.ocChecked;\r\n }\r\n}\r\n\r\n\r\n","<label class=\"switch\">\r\n <input [checked]=\"ocChecked\" (click)=\"toggleChecked()\" type=\"checkbox\">\r\n <span class=\"slider round\" [ngClass]=\"[ocColor]\"></span>\r\n</label>","import { CommonModule } from '@angular/common'\r\nimport { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\n\r\n@Component({\r\n selector: 'oc-step',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-step.component.html',\r\n styleUrl: './oc-step.component.scss',\r\n})\r\nexport class OcStepComponent implements AfterViewInit {\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n\r\n @Input() ocIsActive: boolean = false\r\n @Input() ocTitle: string = ''\r\n @Input() ocColor: 'purple' | 'green' = 'purple'\r\n @Input() ocCompleted: boolean = false\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n @Output() ocClick = new EventEmitter()\r\n stepIndex: number = 0\r\n selectedIndex: number = 0\r\n lastIndex: number = 0\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n }\r\n\r\n protected handleStepClick(stepIndex: number): void {\r\n if (stepIndex !== this.selectedIndex && (stepIndex <= this.selectedIndex || this.ocCompleted)) {\r\n this.selectStep(stepIndex)\r\n this.ocClick.emit()\r\n }\r\n }\r\n\r\n @Input() selectStep!: (index: number) => void\r\n}\r\n","<div class=\"oc-step\" (click)=\"\r\n handleStepClick(stepIndex)\r\n \" [ngClass]=\"{\r\n 'oc-not-selected': stepIndex !== selectedIndex,\r\n 'shui': ocStyle === 'shui',\r\n 'shui-step': ocStyle === 'shui'\r\n}\">\r\n <div class=\"left-side\">\r\n <div class=\"step-number\" [ngClass]=\"{\r\n 'oc-selected-p': selectedIndex === stepIndex && ocColor === 'purple',\r\n 'oc-selected-g': selectedIndex === stepIndex && ocColor === 'green',\r\n 'oc-purple': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'purple',\r\n 'oc-green': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'green'\r\n }\">\r\n <span>{{stepIndex! + 1}}</span>\r\n </div>\r\n <h2 [ngClass]=\"{\r\n 'oc-selected-p-title': selectedIndex === stepIndex && ocColor === 'purple',\r\n 'oc-selected-g-title': selectedIndex === stepIndex && ocColor === 'green',\r\n }\">{{ocTitle}}</h2>\r\n </div>\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n 'expanded': ocIsActive,\r\n 'oc-prev-selected-p': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'purple',\r\n 'oc-prev-selected-g': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'green',\r\n 'oc-left-border': stepIndex !== lastIndex\r\n }\">\r\n @if (ocIsActive) {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n</div>","import { AfterViewInit, Component, ContentChildren, QueryList, Input } from '@angular/core'\r\nimport { OcStepComponent } from '../oc-step/oc-step.component'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-stepper',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-stepper.component.html',\r\n styleUrl: './oc-stepper.component.scss',\r\n})\r\nexport class OcStepperComponent implements AfterViewInit {\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n @ContentChildren(OcStepComponent) ocSteps!: QueryList<OcStepComponent>\r\n @Input() ocAllowNavigation: boolean = false\r\n @Input() ocColor: 'purple' | 'green' = 'purple'\r\n @Input() ocCurrentIndex: number = 0\r\n @Input() ocSaveCompletedSteps: boolean = true\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n private completedSteps: number[] = []\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n this.setStepsValues()\r\n this.selectStep(this.ocCurrentIndex)\r\n this.setCompletedSteps()\r\n }\r\n\r\n private setCompletedSteps(): void {\r\n if (!this.ocSaveCompletedSteps) {\r\n return\r\n }\r\n for (let i = 0; i <= this.ocCurrentIndex; i++) {\r\n this.completedSteps.push(i)\r\n }\r\n }\r\n\r\n setStepsValues(): void {\r\n this.ocSteps.forEach((step, i) => {\r\n step.stepIndex = i\r\n step.ocColor = this.ocColor\r\n step.lastIndex = this.ocSteps.length - 1\r\n step.ocStyle = this.ocStyle\r\n\r\n step.selectStep = (index: number) => this.selectStep(index)\r\n })\r\n }\r\n\r\n selectStep(index: number): void {\r\n this.ocSteps.forEach((step, i) => {\r\n step.ocStyle = this.ocStyle\r\n\r\n if (this.completedSteps.includes(i)) {\r\n step.ocCompleted = true\r\n }\r\n if (i !== index) {\r\n step.ocIsActive = false\r\n step.selectedIndex = index\r\n return\r\n }\r\n step.ocIsActive = true\r\n this.ocCurrentIndex = index\r\n step.selectedIndex = this.ocCurrentIndex\r\n this.setCompletedSteps()\r\n })\r\n return\r\n }\r\n\r\n nextStep(event: Event): void {\r\n event.stopPropagation()\r\n if (this.ocCurrentIndex === this.ocSteps.length - 1) {\r\n return\r\n }\r\n this.selectStep(this.ocCurrentIndex + 1)\r\n }\r\n\r\n previousStep(event: Event): void {\r\n event.stopPropagation()\r\n if (!this.ocCurrentIndex) {\r\n return\r\n }\r\n this.selectStep(this.ocCurrentIndex - 1)\r\n }\r\n}\r\n","<div class=\"oc-stepper\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-tab',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-tab.component.html',\r\n styleUrl: './oc-tab.component.scss',\r\n})\r\nexport class OcTabComponent {\r\n @Input() ocTitle: string = ''\r\n @Input() ocIsActive: boolean = false\r\n\r\n tabIndex: number = 0\r\n}\r\n","@if (ocIsActive) {\r\n <ng-content></ng-content>\r\n}","import {\r\n Component,\r\n ContentChildren,\r\n QueryList,\r\n AfterContentInit,\r\n EventEmitter,\r\n Output,\r\n Input,\r\n} from '@angular/core'\r\nimport { OcTabComponent } from '../oc-tab/oc-tab.component'\r\nimport { CommonModule } from '@angular/common'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\n\r\n@Component({\r\n selector: 'oc-tabs',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-tabs.component.html',\r\n styleUrl: './oc-tabs.component.scss',\r\n})\r\nexport class OcTabsComponent implements AfterContentInit {\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n @ContentChildren(OcTabComponent) ocTabs!: QueryList<OcTabComponent>\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Output() ocClick = new EventEmitter<void>()\r\n\r\n activeTabIndex: number = 0\r\n\r\n ngAfterContentInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n this.selectTab(0)\r\n }\r\n\r\n selectTab(index: number): void {\r\n this.ocTabs.toArray().forEach((tab, i) => {\r\n tab.tabIndex = i\r\n tab.ocIsActive = i === index\r\n })\r\n this.activeTabIndex = index\r\n }\r\n\r\n handleTabClick(): void {\r\n this.ocClick.emit()\r\n }\r\n}\r\n","<div class=\"oc-tabs\" [ngClass]=\"{\r\n shui: ocStyle === 'shui'\r\n}\">\r\n <div class=\"row\">\r\n @for(tab of ocTabs; track $index) {\r\n <button [ngClass]=\"{\r\n 'oc-selected': tab.tabIndex === activeTabIndex\r\n }\" class=\"oc-tab\" (click)=\"selectTab(tab.tabIndex); \r\n handleTabClick()\" type=\"button\">{{tab.ocTitle}}</button>\r\n }\r\n </div>\r\n <ng-content></ng-content>\r\n</div>","import { CommonModule } from '@angular/common'\r\nimport { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-accordion-item',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-accordion-item.component.html',\r\n styleUrl: './oc-accordion-item.component.scss',\r\n})\r\nexport class OcAccordionItemComponent {\r\n @Input() ocIsOpen: boolean = false\r\n @Input() ocTitle: string = ''\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Output() closeAllItems = new EventEmitter()\r\n\r\n protected toggle(): void {\r\n if (this.ocIsOpen) {\r\n this.ocIsOpen = !this.ocIsOpen\r\n return\r\n }\r\n this.closeAllItems.emit()\r\n this.ocIsOpen = !this.ocIsOpen\r\n }\r\n}\r\n","<div class=\"oc-accordion-item\" [ngClass]=\"{\r\n 'shui': ocStyle === 'shui'\r\n}\">\r\n <div class=\"item-header\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\" (click)=\"toggle()\">\r\n <h3>{{ocTitle}}</h3>\r\n <span class=\"material-symbols-outlined\">\r\n keyboard_control_key\r\n </span>\r\n </div>\r\n @if (ocIsOpen) {\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>","import { AfterViewInit, Component, ContentChildren, Input, QueryList } from '@angular/core'\r\nimport { OcAccordionItemComponent } from '../oc-accordion-item/oc-accordion-item.component'\r\nimport { CommonModule } from '@angular/common'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-accordion',\r\n standalone: true,\r\n imports: [CommonModule, OcAccordionItemComponent],\r\n templateUrl: './oc-accordion.component.html',\r\n styleUrl: './oc-accordion.component.scss',\r\n})\r\nexport class OcAccordionComponent implements AfterViewInit {\r\n @ContentChildren(OcAccordionItemComponent) items!: QueryList<OcAccordionItemComponent>\r\n @Input() ocAlternate: boolean = true\r\n @Input() ocCurrentIndex?: number\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.items.forEach((item, i) => {\r\n item.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n item.closeAllItems.subscribe(() => this.closeAllItems())\r\n })\r\n }\r\n\r\n closeAllItems(): void {\r\n if (this.ocAlternate) {\r\n this.items.forEach((item) => (item.ocIsOpen = false))\r\n }\r\n }\r\n\r\n alternateToIndex(index: number): void {\r\n this.items.forEach((item, i) => {\r\n if (i === index) {\r\n item.ocIsOpen = true\r\n return\r\n }\r\n item.ocIsOpen = false\r\n })\r\n }\r\n}\r\n","<div>\r\n <ng-content></ng-content>\r\n</div>","/*\r\n * Public API Surface of otimus-library\r\n */\r\n\r\nexport * from './lib/otimus-library.service'\r\nexport * from './lib/otimus-library.component'\r\nexport * from './lib/services/oc-toast.service'\r\nexport * from './lib/components/oc-badge/oc-badge.component'\r\nexport * from './lib/components/oc-filter/oc-filter.component'\r\nexport * from './lib/directives/oc-tooltip/oc-tooltip.directive'\r\nexport * from './lib/components/oc-input/oc-input.component'\r\nexport * from './lib/components/oc-modal/oc-modal.component'\r\nexport * from './lib/components/oc-key-value/oc-key-value.component'\r\nexport * from './lib/components/oc-chip/oc-chip.component'\r\nexport * from './lib/components/oc-modal-footer/oc-modal-footer.component'\r\nexport * from './lib/components/oc-autocomplete/oc-autocomplete.component'\r\nexport * from './lib/components/oc-profile/oc-profile.component'\r\nexport * from './lib/components/oc-log/oc-log.component'\r\nexport * from './lib/components/oc-pagination/oc-pagination.component'\r\nexport * from './lib/components/oc-not-found/oc-not-found.component'\r\nexport * from './lib/components/oc-menu/oc-menu.component'\r\nexport * from './lib/components/oc-toast/oc-toast.component'\r\nexport * from './lib/components/oc-checkbox/oc-checkbox.component'\r\nexport * from './lib/components/oc-toggle/oc-toggle.component'\r\nexport * from './lib/components/oc-stepper/oc-stepper.component'\r\nexport * from './lib/components/oc-step/oc-step.component'\r\nexport * from './lib/components/oc-tabs/oc-tabs.component'\r\nexport * from './lib/components/oc-tab/oc-tab.component'\r\nexport * from './lib/components/oc-accordion/oc-accordion.component'\r\nexport * from './lib/components/oc-accordion-item/oc-accordion-item.component'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StyleThemeService","i2","i1","i1.InternationalizationService","i2.StyleThemeService","i3","i1.OcToastService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"otimus-library.mjs","sources":["../../../projects/otimus-library/src/lib/otimus-library.service.ts","../../../projects/otimus-library/src/lib/otimus-library.component.ts","../../../projects/otimus-library/src/lib/services/oc-toast.service.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.ts","../../../projects/otimus-library/src/lib/components/oc-badge/oc-badge.component.html","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.ts","../../../projects/otimus-library/src/lib/components/oc-filter/oc-filter.component.html","../../../projects/otimus-library/src/lib/directives/oc-tooltip/oc-tooltip.directive.ts","../../../projects/otimus-library/src/lib/services/style-theme.service.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.ts","../../../projects/otimus-library/src/lib/components/oc-input/oc-input.component.html","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal/oc-modal.component.html","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.ts","../../../projects/otimus-library/src/lib/components/oc-key-value/oc-key-value.component.html","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.ts","../../../projects/otimus-library/src/lib/components/oc-chip/oc-chip.component.html","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.ts","../../../projects/otimus-library/src/lib/components/oc-modal-footer/oc-modal-footer.component.html","../../../projects/otimus-library/src/lib/services/internationalization.service.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.ts","../../../projects/otimus-library/src/lib/components/oc-autocomplete/oc-autocomplete.component.html","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.ts","../../../projects/otimus-library/src/lib/components/oc-profile/oc-profile.component.html","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.ts","../../../projects/otimus-library/src/lib/components/oc-log/oc-log.component.html","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.ts","../../../projects/otimus-library/src/lib/components/oc-pagination/oc-pagination.component.html","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.ts","../../../projects/otimus-library/src/lib/components/oc-not-found/oc-not-found.component.html","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.ts","../../../projects/otimus-library/src/lib/components/oc-checkbox/oc-checkbox.component.html","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-menu/oc-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.ts","../../../projects/otimus-library/src/lib/components/oc-toast/oc-toast.component.html","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.ts","../../../projects/otimus-library/src/lib/components/oc-toggle/oc-toggle.component.html","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.ts","../../../projects/otimus-library/src/lib/components/oc-step/oc-step.component.html","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.ts","../../../projects/otimus-library/src/lib/components/oc-stepper/oc-stepper.component.html","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.ts","../../../projects/otimus-library/src/lib/components/oc-tab/oc-tab.component.html","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.ts","../../../projects/otimus-library/src/lib/components/oc-tabs/oc-tabs.component.html","../../../projects/otimus-library/src/lib/components/oc-accordion-item/oc-accordion-item.component.ts","../../../projects/otimus-library/src/lib/components/oc-accordion-item/oc-accordion-item.component.html","../../../projects/otimus-library/src/lib/components/oc-accordion/oc-accordion.component.ts","../../../projects/otimus-library/src/lib/components/oc-accordion/oc-accordion.component.html","../../../projects/otimus-library/src/public-api.ts","../../../projects/otimus-library/src/otimus-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OtimusLibraryService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-otimus-library',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n otimus-library works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class OtimusLibraryComponent {\r\n\r\n}\r\n","import { ChangeDetectorRef, Injectable } from '@angular/core'\r\nimport { ToastType } from '../interfaces/oc-toast'\r\n\r\ntype ToastStatusType =\r\n | 'erro'\r\n | 'error'\r\n | 'success'\r\n | 'éxito'\r\n | 'sucesso'\r\n | 'carregando'\r\n | 'cargando'\r\n | 'loading'\r\n | 'informação'\r\n | 'información'\r\n | 'information'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OcToastService {\r\n toastList: ToastType[] = []\r\n isRunning: boolean = false\r\n currentToast!: ToastType\r\n\r\n closeToast(id: number): void {\r\n this.toastList = this.toastList.map((to) => {\r\n if (to.id === id) {\r\n return { ...to, counter: 0 }\r\n }\r\n return to\r\n })\r\n\r\n this.currentToast = this.toastList[0]\r\n }\r\n\r\n openToast = (\r\n toastStatus: ToastStatusType,\r\n toastMessage: string,\r\n toastCounter?: number,\r\n promiseKey?: string\r\n ): void => {\r\n const toast = {\r\n id: this.toastList.length === 0 ? 1 : this.toastList[this.toastList.length - 1].id + 1,\r\n counter: toastCounter || 5,\r\n status: toastStatus,\r\n message: toastMessage,\r\n promiseKey,\r\n hasAnimation: true,\r\n }\r\n\r\n const toastExists = this.toastList.some((to) => {\r\n return to.status === toastStatus && to.message === toastMessage\r\n })\r\n\r\n if (toastExists) {\r\n return\r\n }\r\n\r\n const keyExists = this.toastList.find((to) => to.promiseKey === toast.promiseKey)\r\n\r\n if (keyExists) {\r\n this.toastList = this.toastList.map((to) => {\r\n if (to.promiseKey === promiseKey) {\r\n return { ...toast, hasAnimation: false }\r\n }\r\n return to\r\n })\r\n }\r\n\r\n this.toastList.push(toast)\r\n\r\n if (!this.isRunning) {\r\n this.renderToasts()\r\n }\r\n }\r\n\r\n renderToasts(): void {\r\n if (this.toastList.length === 0) {\r\n this.isRunning = false\r\n return\r\n }\r\n\r\n this.isRunning = true\r\n this.currentToast = this.toastList[0]\r\n\r\n const toastInterval = setInterval(() => {\r\n if (this.toastList.length === 0) {\r\n clearInterval(toastInterval)\r\n this.isRunning = false\r\n return\r\n }\r\n\r\n this.currentToast = this.toastList[0]\r\n if (this.currentToast.status !== 'carregando') {\r\n this.currentToast.counter--\r\n }\r\n\r\n if (this.currentToast.counter <= 0) {\r\n this.toastList = this.toastList.filter((to) => {\r\n return to.status !== this.currentToast.status && to.message !== this.currentToast.message\r\n })\r\n clearInterval(toastInterval)\r\n this.renderToasts()\r\n }\r\n }, 1000)\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-badge',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-badge.component.html',\r\n styleUrl: './oc-badge.component.scss'\r\n})\r\nexport class OcBadgeComponent implements OnInit {\r\n @Input() ocSize: 'small' | 'medium' | 'large' = 'small'\r\n @Input() ocColor: 'notification' | 'brand-g' | 'brand-p' | 'success' | 'warning' = 'notification'\r\n @Input() ocWaved: boolean = false\r\n\r\n classList: string[] = []\r\n\r\n ngOnInit(): void {\r\n this.classList.push(this.ocSize, this.ocColor)\r\n if(this.ocWaved) this.classList.push('waved')\r\n }\r\n}\r\n","<div>\r\n <div class=\"oc-badge\" [ngClass]=\"classList\">\r\n <ng-content>\r\n \r\n </ng-content>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { OcBadgeComponent } from '../oc-badge/oc-badge.component';\r\n\r\n@Component({\r\n selector: 'oc-filter',\r\n standalone: true,\r\n imports: [CommonModule, OcBadgeComponent],\r\n templateUrl: './oc-filter.component.html',\r\n styleUrl: './oc-filter.component.scss'\r\n})\r\nexport class OcFilterComponent {\r\n @Input() isOpen: boolean = false\r\n @Input() ocText: string = 'Filtros'\r\n @Input() ocActive: number = 0\r\n @Input() ocSide: 'left' | 'right' = 'left'\r\n\r\n toggleOpen() {\r\n this.isOpen = !this.isOpen\r\n }\r\n}\r\n","<div class=\"oc-filter-row\" [ngClass]=\"{\r\n reverse: ocSide === 'right'\r\n}\">\r\n <button class=\"oc-filter-btn\" (click)=\"toggleOpen()\">\r\n <span class=\"material-symbols-outlined\">filter_list</span>\r\n {{ocText}}\r\n <div class=\"badge\">\r\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\r\n </div>\r\n </button>\r\n \r\n <div class=\"filter-row-content\">\r\n <ng-content select=\"[row]\"></ng-content>\r\n </div>\r\n \r\n</div>\r\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\r\n <ng-content select=\"[body]\">\r\n </ng-content>\r\n</div>\r\n","import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[ocTooltip]',\r\n standalone: true,\r\n})\r\nexport class OcTooltipDirective {\r\n constructor(\r\n private elRef: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n @Input() content: string = ''\r\n @Input() side: 'bottom' | 'upon' | 'left' | 'right' | 'top' | 'mouse' = 'mouse'\r\n\r\n private created: boolean = false\r\n private tooltip: HTMLElement | null = null\r\n\r\n createToolTip(): HTMLElement | null {\r\n if (this.created) {\r\n return this.tooltip!\r\n }\r\n\r\n this.tooltip = this.renderer.createElement('div')\r\n const htmlRegex = /<([a-z][a-z0-9]*)\\b[^>]*>(.*?)<\\/\\1>/is\r\n if (htmlRegex.test(this.content)) {\r\n this.content = this.content.replace('>', ' style=\"margin: 0\">')\r\n this.renderer.setProperty(this.tooltip, 'innerHTML', this.content)\r\n } else {\r\n const text = this.renderer.createText(this.content)\r\n this.renderer.appendChild(this.tooltip, text)\r\n this.renderer.setStyle(this.tooltip, 'color', '#7E8485')\r\n }\r\n this.renderer.addClass(this.tooltip, 'oc-tooltip')\r\n if (this.side === 'mouse') {\r\n this.renderer.addClass(this.tooltip, 'mouse-tracking')\r\n }\r\n this.renderer.setStyle(this.tooltip, 'position', 'absolute')\r\n this.renderer.setStyle(this.tooltip, 'pointer-events', 'none')\r\n this.renderer.setStyle(this.tooltip, 'z-index', '1000')\r\n\r\n document.body.appendChild(this.tooltip as any)\r\n this.created = true\r\n return this.tooltip\r\n }\r\n\r\n @HostListener('mouseover', ['$event'])\r\n onMouseOver(event: MouseEvent): void {\r\n if (!this.content) {\r\n return\r\n }\r\n this.tooltip = this.createToolTip()\r\n this.updateTooltipPosition(event)\r\n }\r\n\r\n mouseingInterval: any | null = null\r\n @HostListener('mousemove', ['$event'])\r\n onMouseMove(event: MouseEvent): void {\r\n if (this.tooltip) {\r\n if (this.side === 'mouse') {\r\n this.updateTooltipPosition(event)\r\n } else {\r\n this.positionTooltipFixed()\r\n }\r\n }\r\n }\r\n\r\n private updateTooltipPosition(event: MouseEvent): void {\r\n if (this.tooltip) {\r\n this.renderer.setStyle(this.tooltip, 'left', `${event.pageX + 12}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${event.pageY + 12}px`)\r\n }\r\n }\r\n\r\n private positionTooltipFixed(): void {\r\n if (!this.tooltip) {\r\n return\r\n }\r\n const rect = this.elRef.nativeElement.getBoundingClientRect()\r\n const width = this.elRef.nativeElement.offsetWidth\r\n const height = this.elRef.nativeElement.offsetHeight\r\n\r\n if (this.side === 'right') {\r\n this.renderer.setStyle(this.tooltip, 'left', `${rect.right + 10}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${rect.top + height / 2}px`)\r\n } else if (this.side === 'left') {\r\n this.renderer.setStyle(this.tooltip, 'left', `${rect.left - this.tooltip.offsetWidth - 10}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${rect.top + height / 2}px`)\r\n } else if (this.side === 'upon' || this.side === 'top') {\r\n this.renderer.setStyle(this.tooltip, 'left', `${rect.left + width / 2}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${rect.top - this.tooltip.offsetHeight - 10}px`)\r\n } else if (this.side === 'bottom') {\r\n this.renderer.setStyle(this.tooltip, 'left', `${rect.left + width / 2}px`)\r\n this.renderer.setStyle(this.tooltip, 'top', `${rect.bottom + 10}px`)\r\n }\r\n }\r\n\r\n @HostListener('mouseout')\r\n onMouseOut(): void {\r\n if (this.tooltip) {\r\n document.body.removeChild(this.tooltip)\r\n this.created = false\r\n this.tooltip = null\r\n }\r\n\r\n this.mouseingInterval = null\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { OcStyleThemeType } from '../interfaces/oc-style-theme'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StyleThemeService {\r\n constructor() {}\r\n\r\n getStyleTheme(): OcStyleThemeType | undefined {\r\n const localStorageTheme = localStorage.getItem('@oc-lib-style_theme')\r\n\r\n if (!localStorageTheme || !['otimus', 'shui', 'semantic'].includes(localStorageTheme)) {\r\n return undefined\r\n }\r\n\r\n return localStorageTheme as OcStyleThemeType\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common'\r\nimport {\r\n AfterContentChecked,\r\n AfterViewInit,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-input',\r\n host: {\r\n '[style.width]': 'computedWidth',\r\n '[style.min-width]': 'computedMinWidth',\r\n '[style.max-width]': 'computedMaxWidth',\r\n },\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-input.component.html',\r\n styleUrls: ['./oc-input.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OcInputComponent implements AfterViewInit, OnChanges, AfterContentChecked {\r\n @ContentChild('ocPrefix') ocPrefix: any\r\n @ContentChild('ocSuffix') ocSuffix: any\r\n\r\n @Input() ocError?: string\r\n @Input() ocSize?: 'small' | 'medium' | 'large' = 'medium'\r\n @Input() ocPlaceholder: string = ''\r\n @Input() ocWidth?: string\r\n @Input() ocMinWidth?: string\r\n @Input() ocMaxWidth?: string\r\n @Input() ocRequired: boolean = false\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n inputId: string = `oc-${Math.random()}`\r\n hasSuffix: boolean = false\r\n hasPrefix: boolean = false\r\n\r\n @HostBinding('style.width')\r\n get computedWidth() {\r\n return this.ocWidth ? this.ocWidth : null\r\n }\r\n\r\n @HostBinding('style.min-width')\r\n get computedMinWidth() {\r\n return this.ocMinWidth || '0'\r\n }\r\n\r\n @HostBinding('style.max-width')\r\n get computedMaxWidth() {\r\n return this.ocMaxWidth || '100%'\r\n }\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n private styleThemeService: StyleThemeService\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n const inputBox = this.el.nativeElement\r\n\r\n if (inputBox) {\r\n const inputElement = inputBox.querySelector('input')\r\n\r\n if (inputElement) {\r\n this.renderer.setAttribute(inputElement, 'placeholder', '')\r\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\r\n }\r\n }\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n }\r\n}\r\n","<div [ngClass]=\"{\r\n 'oc-input-box': !ocStyle || ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix,\r\n 'shui': ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui'\r\n}\" [id]=\"inputId\">\r\n <ng-content></ng-content>\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n <label>\r\n <span [innerHTML]=\"ocPlaceholder\"></span>\r\n @if(ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\r\n</div>","import { CommonModule } from '@angular/common'\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-modal',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-modal.component.html',\r\n styleUrl: './oc-modal.component.scss',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OcModalComponent implements AfterViewInit {\r\n constructor(\r\n private elRef: ElementRef,\r\n private styleThemeService: StyleThemeService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n @Input() ocClose: boolean = true\r\n @Input() ocTitle: string = ''\r\n @Input() ocSize: 'small' | 'medium' | 'large' | 'screen' = 'medium'\r\n @Input() ocBgColor?: string\r\n @Input() ocWidth: string = ''\r\n @Input() ocMaxWidth: string = ''\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Input() ocLoading: boolean = false\r\n @Output() ocOnClose = new EventEmitter<any>()\r\n @Output() ocOnOpen = new EventEmitter<any>()\r\n\r\n @Input() isOpen: boolean = false\r\n closing: boolean = false\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n }\r\n\r\n open(): void {\r\n this.isOpen = true\r\n this.elRef.nativeElement.ownerDocument.body.classList.add('disabled-scroll')\r\n this.ocOnOpen.emit(this.isOpen)\r\n }\r\n\r\n close(): void {\r\n this.closing = true\r\n setTimeout(() => {\r\n this.isOpen = false\r\n this.closing = false\r\n\r\n if (this.ocOnClose) {\r\n this.ocOnClose.emit(this.isOpen)\r\n }\r\n\r\n this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll')\r\n }, 100)\r\n }\r\n\r\n protected getModalStyles(): { [key: string]: string } {\r\n const styles: { [key: string]: string } = {}\r\n if (this.ocBgColor) {\r\n styles['background-color'] = this.ocBgColor\r\n }\r\n if (this.ocWidth) {\r\n styles['width'] = this.ocWidth\r\n }\r\n if (this.ocMaxWidth) {\r\n styles['max-width'] = this.ocMaxWidth\r\n }\r\n return styles\r\n }\r\n}\r\n","@if (isOpen) {\r\n<div class=\"oc-modal-bg\" *ngIf=\"isOpen\" [ngClass]=\"{\r\n 'closing-bg': closing, \r\n 'shui': ocStyle === 'shui',\r\n 'shui-modal': ocStyle === 'shui'\r\n }\">\r\n <div class=\"oc-modal\" [ngClass]=\"{\r\n large: ocSize === 'large',\r\n medium: ocSize === 'medium',\r\n small: ocSize === 'small',\r\n closing: closing,\r\n 'total-white': ocBgColor === 'white'\r\n }\" [ngStyle]=\"getModalStyles()\">\r\n <header class=\"oc-modal-header\">\r\n <h3 *ngIf=\"ocTitle.trim().length > 0\">{{ocTitle}}</h3>\r\n @if(ocClose) {\r\n <button (click)=\"close()\" class=\"oc-close-btn\">\r\n <span class=\"material-symbols-outlined md-18\" title=\"Fechar\">close</span>\r\n </button>\r\n }\r\n </header>\r\n <div class=\"oc-modal-content\" [ngClass]=\"{\r\n 'loading-content': ocLoading\r\n }\">\r\n @if(isOpen){\r\n <ng-content></ng-content>\r\n }\r\n @if(ocLoading) {\r\n <div class=\"load-container\">\r\n <span class=\"loader material-symbols-outlined oc color p-1\">progress_activity</span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n}","import { CommonModule } from '@angular/common'\r\nimport { AfterViewInit, Component, Input, ViewEncapsulation } from '@angular/core'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-key-value',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-key-value.component.html',\r\n styleUrl: './oc-key-value.component.scss',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OcKeyValueComponent implements AfterViewInit {\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n @Input() ocKey: string = ''\r\n @Input() ocValue: string = ''\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n }\r\n}\r\n","<div class=\"oc-key-value\" [ngClass]=\"{\r\n shui: ocStyle === 'shui'\r\n}\">\r\n <!-- Ícone -->\r\n <ng-content></ng-content>\r\n <p>\r\n @if (ocKey) {\r\n <span>{{ocKey}}:</span>\r\n }\r\n {{ocValue}}\r\n </p>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-chip',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-chip.component.html',\r\n styleUrl: './oc-chip.component.scss'\r\n})\r\nexport class OcChipComponent {\r\n @Input() ocSelected: boolean = false\r\n @Input() ocType: 'select' | 'remove' | 'tag' | 'select_remove' = 'select'\r\n @Input() ocBg: 'green' | 'red' | 'yellow' | 'default' = 'green'\r\n @Input() ocText: string = ''\r\n @Output() ocClick: EventEmitter<any> = new EventEmitter<any>\r\n @Output() ocRemove: EventEmitter<any> = new EventEmitter<any>\r\n\r\n ocEvent(event:any) {\r\n event.stopPropagation()\r\n this.ocClick.emit()\r\n }\r\n \r\n ocRemoveEvent (event: any) {\r\n event.stopPropagation()\r\n if(!this.ocRemove.observed) {\r\n this.ocClick.emit()\r\n return\r\n }\r\n this.ocRemove.emit()\r\n }\r\n}\r\n","<button\r\n [ngClass]=\"{\r\n 'oc-chip': true,\r\n selected: ocSelected,\r\n 'not-selectable': ocType !== 'select' && ocType !== 'select_remove',\r\n 'tag': ocType === 'tag',\r\n 'remove': ocType === 'remove' || ocType==='select_remove',\r\n 'green-bg': ocBg === 'green',\r\n 'red-bg': ocBg === 'red',\r\n 'yellow-bg': ocBg === 'yellow'\r\n }\"\r\n type=\"button\"\r\n [title]=\"ocText\"\r\n (click)=\"ocType.includes('select') ? ocEvent($event) : null\"\r\n>\r\n <ng-content></ng-content>\r\n @if (ocType.includes('remove')) {\r\n <span class=\"material-symbols-outlined\" (click)=\"ocRemoveEvent($event)\">close</span>\r\n }\r\n</button>\r\n","import { CommonModule } from '@angular/common'\r\nimport { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-modal-footer',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-modal-footer.component.html',\r\n styleUrl: './oc-modal-footer.component.scss',\r\n})\r\nexport class OcModalFooterComponent {\r\n @Input() ocSide: 'left' | 'right' = 'right'\r\n @Input() ocBgColor?: string\r\n @Input() ocFixed: boolean = true\r\n}\r\n","<footer class=\"oc-modal-footer\" [ngClass]=\"{\r\n 'left': ocSide === 'left',\r\n 'right': ocSide === 'right',\r\n 'fixed': ocFixed\r\n}\"\r\n [ngStyle]=\"{\r\n 'background-color': ocBgColor\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n</footer>","import { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InternationalizationService {\r\n constructor(private http: HttpClient) { }\r\n private queryLang: string | null = null\r\n\r\n getTranslation(\r\n code: string | number,\r\n params?: { [key: string]: string | number } | null\r\n ): string {\r\n code = typeof code === 'number' ? `LIB${code}` : code\r\n const translations = JSON.parse(localStorage.getItem('@oc-lib-lang_words') || '{}')\r\n let translation = translations[code] || code\r\n\r\n if (params) {\r\n Object.keys(params).forEach((key) => {\r\n translation = translation.replace(`%{${key}}`, params[key].toString())\r\n })\r\n }\r\n\r\n return translation\r\n }\r\n\r\n getTranslationsByLanguage() {\r\n const urlParams = new URLSearchParams(window.location.search)\r\n this.queryLang = urlParams.get('lang')\r\n if(!this.queryLang) return\r\n if (!this.canUpdateStoredLanguages()) return\r\n\r\n return this.http.get<Object>(`https://cms-backend.otimusclinic.com/translations/language?lang=${this.queryLang}`)\r\n .subscribe(resp => {\r\n if (!resp || !Object.keys(resp).length) return\r\n this.setLanguages(resp)\r\n this.setLanguage(this.queryLang as string)\r\n this.setUpdatedLastTime()\r\n })\r\n }\r\n\r\n canUpdateStoredLanguages(): boolean {\r\n const storedLastTime = localStorage.getItem('@oc-lib-stored_at')\r\n const storedLanguage = localStorage.getItem('language')\r\n \r\n if (!storedLastTime || !storedLanguage || !this.queryLang) return true\r\n\r\n let yesterday = new Date()\r\n yesterday.setDate(yesterday.getDate() - 1)\r\n\r\n const storedDate = new Date(storedLastTime)\r\n\r\n if (storedDate <= yesterday || (storedLanguage !== this.queryLang)) {\r\n return true\r\n }\r\n\r\n return false\r\n }\r\n\r\n setLanguage(language: string): void {\r\n localStorage.setItem('language', language)\r\n }\r\n\r\n setUpdatedLastTime(): void {\r\n const updatedLastTime = new Date().toISOString()\r\n localStorage.setItem('@oc-lib-stored_at', updatedLastTime)\r\n }\r\n\r\n setLanguages(translations: Object): void {\r\n localStorage.setItem('@oc-lib-lang_words', JSON.stringify(translations))\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common'\r\nimport {\r\n AfterContentChecked,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core'\r\nimport { OcAutoCompleteType } from '../../interfaces/oc-autocomplete'\r\nimport { FormsModule } from '@angular/forms'\r\nimport { InternationalizationService } from '../../services/internationalization.service'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-autocomplete',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n providers: [InternationalizationService],\r\n host: {\r\n '[style.width]': 'computedWidth',\r\n '[style.min-width]': 'computedMinWidth',\r\n '[style.max-width]': 'computedMaxWidth',\r\n },\r\n templateUrl: './oc-autocomplete.component.html',\r\n styleUrl: './oc-autocomplete.component.scss',\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class OcAutocompleteComponent\r\n implements AfterViewInit, OnChanges, AfterContentChecked, OnInit\r\n{\r\n constructor(\r\n private renderer: Renderer2,\r\n private el: ElementRef,\r\n private translateService: InternationalizationService,\r\n private styleThemeService: StyleThemeService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n @ViewChild('input') input!: ElementRef\r\n @ViewChild('options') options!: ElementRef\r\n @ViewChild('outerDiv') outerDiv!: ElementRef<HTMLDivElement>\r\n\r\n @ContentChild('ocPrefix') ocPrefix: any\r\n @ContentChild('ocSuffix') ocSuffix: any\r\n @Input() ocPlaceholder?: string\r\n @Input() ocError?: string\r\n @Input() ocSize: 'small' | 'large' | 'medium' = 'medium'\r\n @Input() ocData: OcAutoCompleteType[] = []\r\n @Input() ocValue: any = ''\r\n @Input() ocClearOnChange: boolean = false\r\n @Input() ocWidth?: string\r\n @Input() ocMinWidth?: string\r\n @Input() ocMaxWidth?: string\r\n @Input() ocOptionsMaxHeight?: string\r\n @Input() ocOptionsWidth?: string\r\n @Input() ocRequired: boolean = false\r\n @Input() ocMaxResults?: number\r\n @Input() ocAllowNotListedValue: boolean = false\r\n @Input() ocNoAvailableOptionsText?: string\r\n @Input() ocTypeForMoreResultsText?: string\r\n @Input() ocLoading: boolean = false\r\n @Input() ocSemanticLike: boolean = false // deprecated. Prefer using ocStyleTheme instead\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Input() ocTabIndex?: number\r\n\r\n @Input() ocHasDeleteButton?: boolean = false\r\n\r\n @Output() ocValueChange = new EventEmitter<string>()\r\n @Output() ocChange = new EventEmitter<string | null>()\r\n @Output() ocOptionNotFound = new EventEmitter()\r\n @Output() ocClick = new EventEmitter()\r\n\r\n hasSuffix: boolean = false\r\n hasPrefix: boolean = false\r\n\r\n isOptionsShown: boolean = false\r\n filteredData: OcAutoCompleteType[] = []\r\n selectedValue: OcAutoCompleteType = {\r\n name: '',\r\n value: null,\r\n }\r\n\r\n @HostBinding('style.width')\r\n get computedWidth() {\r\n return this.ocWidth ? this.ocWidth : null\r\n }\r\n\r\n @HostBinding('style.min-width')\r\n get computedMinWidth() {\r\n return this.ocMinWidth || '0'\r\n }\r\n\r\n @HostBinding('style.max-width')\r\n get computedMaxWidth() {\r\n return this.ocMaxWidth || '100%'\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n this.formatOcValueType()\r\n this.loadOptions()\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.ocValue === undefined) {\r\n this.ocValue = null\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n this.formatOcValueType()\r\n this.loadOptions()\r\n this.translateService.getTranslationsByLanguage()\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.ocPrefix) {\r\n this.hasPrefix = true\r\n }\r\n if (this.ocSuffix) {\r\n this.hasSuffix = true\r\n }\r\n }\r\n\r\n formatOcValueType() {\r\n if (this.ocValue) {\r\n return `${this.ocValue}`\r\n }\r\n return null\r\n }\r\n\r\n getTranslation(code: number | string) {\r\n return this.translateService.getTranslation(code)\r\n }\r\n\r\n loadOptions() {\r\n this.formatOcValueType()\r\n setTimeout(() => {\r\n this.filteredData = this.ocData\r\n const inputBox = this.el.nativeElement\r\n\r\n const found = this.ocData.find((el) => el.value == this.ocValue)\r\n if (found) {\r\n this.selectedValue = found\r\n this.ocValue = found.name\r\n }\r\n\r\n if (inputBox) {\r\n const inputElement = inputBox.querySelector('input')\r\n\r\n if (inputElement && !this.ocSemanticLike && ['otimus', 'shui'].includes(this.ocStyle)) {\r\n this.renderer.setAttribute(inputElement, 'placeholder', '')\r\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\r\n }\r\n }\r\n }, 50)\r\n }\r\n\r\n closeOnClickOut() {\r\n this.renderer.listen('window', 'click', (e: Event) => {\r\n if (this.input && this.options) {\r\n if (e.target !== this.input.nativeElement && e.target !== this.options.nativeElement) {\r\n this.isOptionsShown = false\r\n }\r\n }\r\n this.findByTyping()\r\n })\r\n }\r\n\r\n findByTyping(): void {\r\n if (!this.ocValue || !this.ocValue?.toString().trim().length) {\r\n this.ocChange.emit(null)\r\n this.ocOptionNotFound.emit()\r\n }\r\n const foundValue = this.ocData.find(\r\n (data) =>\r\n data.name.toString().toLowerCase() === this.ocValue?.toString().toLowerCase() ||\r\n data.value.toString().toLowerCase() === this.ocValue?.toString().toLowerCase()\r\n )\r\n\r\n if (!foundValue) {\r\n this.selectedValue = {\r\n name: '',\r\n value: null,\r\n }\r\n if (!this.ocAllowNotListedValue) {\r\n this.ocValue = ''\r\n }\r\n this.filteredData = this.ocData\r\n return\r\n }\r\n this.selectedValue = foundValue\r\n }\r\n\r\n filterData(name: string): void {\r\n this.isOptionsShown = true\r\n this.filteredData = this.ocData.filter((data) => {\r\n return this.getFormattedName(data.name)?.includes(this.getFormattedName(name))\r\n })\r\n }\r\n\r\n getFormattedName(str: string): string {\r\n return str\r\n ?.toLowerCase()\r\n .normalize('NFD')\r\n .replace(/[\\u0300-\\u036f]/g, '') // Remove marcas diacríticas\r\n }\r\n\r\n toggleOptions() {\r\n this.closeOnClickOut()\r\n this.isOptionsShown = !this.isOptionsShown\r\n }\r\n\r\n selectValue(value: any) {\r\n const foundValue = this.ocData.find((data) => data.value == value)\r\n\r\n if (!foundValue) {\r\n this.selectedValue = {\r\n name: '',\r\n value: null,\r\n }\r\n\r\n return\r\n }\r\n\r\n this.selectedValue = foundValue\r\n if (this.ocClearOnChange) {\r\n this.ocValue = ''\r\n this.filteredData = this.ocData\r\n } else {\r\n this.ocValue = foundValue.name\r\n }\r\n\r\n this.isOptionsShown = false\r\n\r\n this.ocChange.emit(this.selectedValue.value)\r\n }\r\n\r\n clearValue() {\r\n this.selectedValue = {\r\n name: '',\r\n value: null,\r\n }\r\n this.ocValue = ''\r\n this.filteredData = this.ocData\r\n }\r\n}\r\n","<div\r\n [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix || ocHasDeleteButton,\r\n shui: ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui',\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n <input\r\n [placeholder]=\"ocPlaceholder\"\r\n #input\r\n (click)=\"toggleOptions(); ocClick.emit()\"\r\n type=\"text\"\r\n (input)=\"filterData(ocValue)\"\r\n [(ngModel)]=\"ocValue\"\r\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\r\n [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\r\n }\"\r\n [tabindex]=\"ocTabIndex\"\r\n />\r\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\r\n <label>\r\n <span [innerHTML]=\"ocPlaceholder\"></span>\r\n @if (ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ ocError }}</small\r\n >\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n @if (ocHasDeleteButton) {\r\n <button\r\n class=\"oc-has-close-button oc suffix\"\r\n (click)=\"clearValue()\"\r\n >\r\n <span class=\"material-symbols-outlined\">backspace</span>\r\n </button>\r\n }\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if (isOptionsShown && !ocLoading) {\r\n <ul\r\n #options\r\n class=\"oc-options\"\r\n [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n width: ocOptionsWidth,\r\n }\"\r\n >\r\n @if (!filteredData.length) {\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhum resultado disponível' }}\r\n </li>\r\n } @else {\r\n @for (data of filteredData; track data.value; let i = $index) {\r\n @if (!ocMaxResults || i < ocMaxResults) {\r\n <li>\r\n <button\r\n type=\"button\"\r\n (click)=\"selectValue(data.value)\"\r\n >\r\n {{ data.name }}\r\n </button>\r\n </li>\r\n }\r\n }\r\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-profile',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-profile.component.html',\r\n styleUrl: './oc-profile.component.scss',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OcProfileComponent implements OnInit {\r\n @Input() ocUserName?: string\r\n @Input() ocProfilePic?: string\r\n @Input() ocSize: 'large' | 'medium' | 'small' | 'tiny' = 'medium'\r\n nameInitials: string = ''\r\n \r\n ngOnInit() {\r\n this.getInitials()\r\n }\r\n\r\n getInitials() {\r\n if(!this.ocUserName) return\r\n\r\n const splittedName = this.ocUserName?.split(' ')\r\n\r\n const firstLetter = splittedName[0][0]\r\n let lastLetter = ''\r\n \r\n const lastName = splittedName[splittedName.length - 1]\r\n\r\n if(splittedName.length > 1 && lastName){\r\n lastLetter = lastName[0]\r\n }\r\n\r\n this.nameInitials = (firstLetter + lastLetter).toUpperCase()\r\n }\r\n}\r\n","<div class=\"oc-profile\"\r\n [ngClass]=\"{\r\n small: ocSize === 'small',\r\n tiny: ocSize === 'tiny',\r\n large: ocSize === 'large'\r\n }\"\r\n>\r\n <div class=\"content\">\r\n @if(ocProfilePic){\r\n <img [src]=\"ocProfilePic\" [alt]=\"ocUserName || 'Foto de perfil do usuário'\">\r\n }@else {\r\n <span>\r\n {{nameInitials}}\r\n </span>\r\n }\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { OcProfileComponent } from '../oc-profile/oc-profile.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'oc-log',\r\n standalone: true,\r\n imports: [CommonModule, OcProfileComponent],\r\n templateUrl: './oc-log.component.html',\r\n styleUrl: './oc-log.component.scss'\r\n})\r\nexport class OcLogComponent {\r\n @Input() ocProfilePic?: string = ''\r\n @Input() ocUserName?: string = ''\r\n}\r\n","<div class=\"oc-log\">\r\n <div class=\"left-side\" [ngClass]=\"{\r\n 'has-profile': ocProfilePic || ocUserName\r\n }\">\r\n @if(ocProfilePic || ocUserName) {\r\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\r\n </oc-profile>\r\n } @else {\r\n <div class=\"dot\"></div>\r\n }\r\n </div>\r\n\r\n <div class=\"content\" [ngClass]=\"{\r\n 'has-profile-content': ocProfilePic || ocUserName\r\n }\" selector=\"[content]\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-pagination',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-pagination.component.html',\r\n styleUrl: './oc-pagination.component.scss'\r\n})\r\nexport class OcPaginationComponent implements OnInit{\r\n @Input() ocPage: number = 1\r\n @Input() ocMaxPage?: number\r\n @Output() ocGetPage = new EventEmitter<number>()\r\n \r\n ngOnInit(): void {\r\n if(!this.ocMaxPage) this.ocMaxPage = this.ocPage\r\n }\r\n\r\n firstPage() {\r\n this.ocPage = 1\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n decrementPage() {\r\n if(this.ocPage <= 1) return\r\n this.ocPage--\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n incrementPage() {\r\n if(!this.ocMaxPage || this.ocPage >= this.ocMaxPage) return\r\n this.ocPage++\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n\r\n lastPage() {\r\n if(!this.ocMaxPage) return\r\n this.ocPage = this.ocMaxPage\r\n \r\n this.ocGetPage.emit(this.ocPage)\r\n }\r\n}\r\n","<div class=\"oc-pagination\">\r\n <p class=\"oc-pagination-text\">\r\n Página\r\n <span>{{ocPage}}</span> \r\n de\r\n <span>{{ocMaxPage}}</span>\r\n </p>\r\n <div class=\"oc-pagination-buttons\">\r\n <button (click)=\"firstPage()\" [ngClass]=\"{\r\n disabled: ocPage === 1\r\n }\">\r\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\r\n </button>\r\n <button (click)=\"decrementPage()\" [ngClass]=\"{\r\n disabled: ocPage === 1\r\n }\">\r\n <span class=\"material-symbols-outlined\">navigate_before</span>\r\n </button>\r\n <button (click)=\"incrementPage()\" [ngClass]=\"{\r\n disabled: ocPage === ocMaxPage\r\n }\"> \r\n <span class=\"material-symbols-outlined\">navigate_next</span>\r\n </button>\r\n <button (click)=\"lastPage()\" [ngClass]=\"{\r\n disabled: ocPage === ocMaxPage\r\n }\"> \r\n <span class=\"material-symbols-outlined\">\r\n keyboard_double_arrow_right\r\n </span>\r\n </button>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-not-found',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-not-found.component.html',\r\n styleUrl: './oc-not-found.component.scss'\r\n})\r\nexport class OcNotFoundComponent {\r\n\r\n}\r\n","<main class=\"oc-not-found\">\r\n <div class=\"content\">\r\n <div class=\"main-title\">\r\n <h1>404</h1>\r\n <span class=\"s-1\">?</span>\r\n <span class=\"s-2\">?</span>\r\n <span class=\"s-3\">?</span>\r\n </div>\r\n <div class=\"not-found-msg\">\r\n <h2>Página não encontrada</h2>\r\n <p>Não conseguimos encontrar a página que você está procurando</p>\r\n </div>\r\n </div>\r\n</main>","import { CommonModule } from '@angular/common'\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n} from '@angular/core'\r\nimport {\r\n ControlValueAccessor,\r\n FormControl,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n ReactiveFormsModule,\r\n} from '@angular/forms'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\n\r\n@Component({\r\n selector: 'oc-checkbox',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './oc-checkbox.component.html',\r\n styleUrl: './oc-checkbox.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => OcCheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class OcCheckboxComponent implements ControlValueAccessor, AfterViewInit {\r\n checkBoxId: string = `oc-${Math.random()}`\r\n\r\n constructor(\r\n private styleThemeService: StyleThemeService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n @Output() ocChange = new EventEmitter<boolean>()\r\n\r\n @Input() ocChecked: boolean = false\r\n @Input() ocSize: 'tiny' | 'small' = 'small'\r\n @Input() ocLabel?: string = ''\r\n @Input() ocName?: string = ''\r\n @Input() ocColor: 'purple' | 'green' = 'green'\r\n @Input() ocBorderColor: 'white' | 'gray' = 'white'\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Output() ocDoubleClick = new EventEmitter<boolean>()\r\n @Input() formControl?: FormControl\r\n @Input() ocTabIndex?: number\r\n @Input() disableDoubleClickCheck = true\r\n\r\n private onChange?: (value: boolean) => void\r\n private onTouched = (): void => {}\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n this.cdr.markForCheck()\r\n }\r\n\r\n writeValue(value: boolean): void {\r\n this.ocChecked = value\r\n this.cdr.markForCheck()\r\n }\r\n\r\n registerOnChange(fn: (value: boolean) => void): void {\r\n this.onChange = fn\r\n this.cdr.markForCheck()\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn\r\n this.cdr.markForCheck()\r\n }\r\n\r\n private doubleClickCounter = 0\r\n private timeoutId: ReturnType<typeof setTimeout> | null = null\r\n protected onDoubleClick(): void {\r\n if (this.disableDoubleClickCheck) {\r\n return\r\n }\r\n if (this.timeoutId) {\r\n clearTimeout(this.timeoutId)\r\n this.timeoutId = null\r\n }\r\n\r\n if (this.doubleClickCounter === 0) {\r\n this.doubleClickCounter = 1\r\n this.timeoutId = setTimeout(() => {\r\n this.doubleClickCounter = 0\r\n this.cdr.markForCheck()\r\n }, 500)\r\n } else {\r\n this.doubleClickCounter = 0\r\n if (this.ocDoubleClick && this.ocChecked) {\r\n this.ocDoubleClick.emit(this.ocChecked)\r\n }\r\n }\r\n this.cdr.markForCheck()\r\n }\r\n toggleChecked(): void {\r\n if (this.doubleClickCounter === 1) {\r\n this.cdr.markForCheck()\r\n return\r\n }\r\n this.ocChecked = !this.ocChecked\r\n if (this.onChange) {\r\n this.onChange(this.ocChecked)\r\n }\r\n this.onTouched()\r\n this.ocChange.emit(this.ocChecked)\r\n\r\n if (this.formControl) {\r\n this.formControl.setValue(this.ocChecked)\r\n }\r\n this.cdr.markForCheck()\r\n }\r\n}\r\n","<button class=\"oc-checkbox-content cbx\" type=\"button\" (click)=\"toggleChecked();\r\nonDoubleClick()\" [ngClass]=\"{\r\n shui: ocStyle === 'shui'\r\n}\" [tabIndex]=\"ocTabIndex\">\r\n\r\n <div class=\"oc-checkbox cbx\" [ngClass]=\"{\r\n 'checked': ocChecked,\r\n 'tiny': ocSize === 'tiny',\r\n purple: ocColor === 'purple',\r\n 'gray-border': ocBorderColor === 'gray'\r\n }\">\r\n\r\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\r\n </div>\r\n\r\n @if(ocLabel) {\r\n <span class=\"oc-checkbox-label cbx\">\r\n {{ocLabel}}\r\n </span>\r\n }\r\n\r\n <ng-content>\r\n </ng-content>\r\n\r\n @if(formControl) {\r\n <input [formControl]=\"formControl\" [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n } @else {\r\n <input [name]=\"ocName\" [checked]=\"ocChecked\" type=\"checkbox\" hidden>\r\n }\r\n</button>","import { Component,ElementRef,EventEmitter,Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { CdkMenuModule } from '@angular/cdk/menu';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OcMenuType } from '../../interfaces/oc-menu';\r\nimport { OcCheckboxComponent } from '../oc-checkbox/oc-checkbox.component';\r\n\r\n@Component({\r\n selector: 'oc-menu',\r\n standalone: true,\r\n imports: [CommonModule, CdkMenuModule, OcCheckboxComponent],\r\n templateUrl: './oc-menu.component.html',\r\n styleUrls: ['./oc-menu.component.scss']\r\n})\r\nexport class OcMenuComponent implements OnInit {\r\n constructor(private renderer: Renderer2) {}\r\n\r\n @ViewChild('ocMenuEl') menu!: ElementRef;\r\n @Output() ocChange = new EventEmitter()\r\n @Input() ocMenu: OcMenuType[] = []\r\n isMenuShown: boolean = false\r\n buttonId?:string\r\n\r\n open() {\r\n this.isMenuShown = true\r\n\r\n setTimeout(() => {\r\n if(this.menu){\r\n const parentButton = this.findParentButton(this.menu.nativeElement);\r\n if (parentButton) {\r\n this.buttonId = `oc-${Math.random()}`\r\n this.renderer.setAttribute(parentButton, 'id', this.buttonId);\r\n }\r\n }\r\n }, 100)\r\n }\r\n\r\n ngOnInit() {\r\n this.closeOnClickOut()\r\n }\r\n\r\n findParentButton(element: HTMLElement): HTMLButtonElement | null {\r\n let parent = element.parentElement;\r\n while (parent) {\r\n if (parent.tagName.toLowerCase() === 'button') {\r\n return parent as HTMLButtonElement;\r\n }\r\n parent = parent.parentElement;\r\n }\r\n return null;\r\n }\r\n \r\n closeOnClickOut() {\r\n this.renderer.listen('window', 'click',(e:any)=>{\r\n\r\n const isCheckbox = Array.from(e.target.classList).includes('cbx')\r\n\r\n if(isCheckbox) return\r\n else if(!this.menu) return\r\n\r\n if(this.buttonId && e.target.id !== this.buttonId) {\r\n this.isMenuShown = false\r\n return\r\n }\r\n \r\n })\r\n }\r\n\r\n changeCheckbox(name: string, checked: boolean) {\r\n let foundItem\r\n this.ocMenu.forEach(item => {\r\n if(item.name === name && typeof checked === 'boolean') {\r\n item.checked = checked\r\n\r\n foundItem = item\r\n }\r\n })\r\n this.ocChange.emit(foundItem)\r\n return foundItem\r\n }\r\n\r\n typeof(key: any) {\r\n return typeof key\r\n }\r\n}\r\n","<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\r\n <ul>\r\n @for(option of ocMenu; track $index) {\r\n <li\r\n [ngClass]=\"{\r\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\r\n }\"\r\n >\r\n @if(typeof(option.checked) === 'boolean'){\r\n <div class=\"checkbox-opt cbx\">\r\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\r\n </div>\r\n }\r\n @if(option.icon) {\r\n <span class=\"material-symbols-outlined\">\r\n {{option.icon}}\r\n </span>\r\n } \r\n @if(option.callback){\r\n <button (click)=\"option.callback()\">{{option.name}}</button>\r\n }\r\n @if(option.url){\r\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\r\n }\r\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\r\n <span>{{option.name}}</span>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n","import { CommonModule } from '@angular/common'\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core'\r\nimport { OcToastService } from '../../services/oc-toast.service'\r\n\r\n@Component({\r\n selector: 'oc-toast',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-toast.component.html',\r\n styleUrl: './oc-toast.component.scss',\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n})\r\nexport class OcToastComponent {\r\n constructor(public toast: OcToastService) {}\r\n}\r\n","<div\r\n class=\"toast\"\r\n [ngClass]=\"{\r\n 'close-toast': toast.currentToast.counter === 1,\r\n error: ['erro', 'error'].includes(toast.currentToast.status.toLowerCase()),\r\n success: ['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase()),\r\n loading: ['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase()),\r\n animation: toast.currentToast.hasAnimation\r\n }\"\r\n *ngIf=\"toast.currentToast && toast.currentToast.counter > 0\"\r\n>\r\n <header>\r\n <ng-container [ngTemplateOutlet]=\"iconTemplate\"></ng-container>\r\n <h4 class=\"status\">\r\n {{ toast.currentToast.status[0].toUpperCase() + toast.currentToast.status.slice(1) }}\r\n </h4>\r\n <button (click)=\"toast.closeToast(toast.currentToast.id)\">\r\n <span class=\"material-symbols-outlined\">close</span>\r\n </button>\r\n </header>\r\n <p>{{ toast.currentToast.message }}</p>\r\n</div>\r\n\r\n<ng-template #iconTemplate>\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['erro', 'error'].includes(toast.currentToast.status.toLowerCase())\"\r\n >error</span\r\n >\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase())\"\r\n >check_circle</span\r\n >\r\n\r\n <span\r\n class=\"material-symbols-outlined\"\r\n *ngIf=\"['information', 'informação', 'información'].includes(toast.currentToast.status.toLowerCase())\"\r\n >info</span\r\n >\r\n\r\n <svg *ngIf=\"['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase())\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><style>rect{fill:#00DDA3}.spinner_zWVm{animation:spinner_5QiW 1.2s linear infinite,spinner_PnZo 1.2s linear infinite}.spinner_gfyD{animation:spinner_5QiW 1.2s linear infinite,spinner_4j7o 1.2s linear infinite;animation-delay:.1s}.spinner_T5JJ{animation:spinner_5QiW 1.2s linear infinite,spinner_fLK4 1.2s linear infinite;animation-delay:.1s}.spinner_E3Wz{animation:spinner_5QiW 1.2s linear infinite,spinner_tDji 1.2s linear infinite;animation-delay:.2s}.spinner_g2vs{animation:spinner_5QiW 1.2s linear infinite,spinner_CMiT 1.2s linear infinite;animation-delay:.2s}.spinner_ctYB{animation:spinner_5QiW 1.2s linear infinite,spinner_cHKR 1.2s linear infinite;animation-delay:.2s}.spinner_BDNj{animation:spinner_5QiW 1.2s linear infinite,spinner_Re6e 1.2s linear infinite;animation-delay:.3s}.spinner_rCw3{animation:spinner_5QiW 1.2s linear infinite,spinner_EJmJ 1.2s linear infinite;animation-delay:.3s}.spinner_Rszm{animation:spinner_5QiW 1.2s linear infinite,spinner_YJOP 1.2s linear infinite;animation-delay:.4s}@keyframes spinner_5QiW{0%,50%{width:7.33px;height:7.33px}25%{width:1.33px;height:1.33px}}@keyframes spinner_PnZo{0%,50%{x:1px;y:1px}25%{x:4px;y:4px}}@keyframes spinner_4j7o{0%,50%{x:8.33px;y:1px}25%{x:11.33px;y:4px}}@keyframes spinner_fLK4{0%,50%{x:1px;y:8.33px}25%{x:4px;y:11.33px}}@keyframes spinner_tDji{0%,50%{x:15.66px;y:1px}25%{x:18.66px;y:4px}}@keyframes spinner_CMiT{0%,50%{x:8.33px;y:8.33px}25%{x:11.33px;y:11.33px}}@keyframes spinner_cHKR{0%,50%{x:1px;y:15.66px}25%{x:4px;y:18.66px}}@keyframes spinner_Re6e{0%,50%{x:15.66px;y:8.33px}25%{x:18.66px;y:11.33px}}@keyframes spinner_EJmJ{0%,50%{x:8.33px;y:15.66px}25%{x:11.33px;y:18.66px}}@keyframes spinner_YJOP{0%,50%{x:15.66px;y:15.66px}25%{x:18.66px;y:18.66px}}</style><rect class=\"spinner_zWVm\" x=\"1\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_gfyD\" x=\"8.33\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_T5JJ\" x=\"1\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_E3Wz\" x=\"15.66\" y=\"1\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_g2vs\" x=\"8.33\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_ctYB\" x=\"1\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_BDNj\" x=\"15.66\" y=\"8.33\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_rCw3\" x=\"8.33\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/><rect class=\"spinner_Rszm\" x=\"15.66\" y=\"15.66\" width=\"7.33\" height=\"7.33\"/></svg>\r\n \r\n\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'oc-toggle',\r\n standalone: true,\r\n imports: [ CommonModule ],\r\n templateUrl: './oc-toggle.component.html',\r\n styleUrl: './oc-toggle.component.scss'\r\n})\r\nexport class OcToggleComponent {\r\n _ocChecked: boolean = false;\r\n\r\n @Input() set ocChecked(value: boolean) {\r\n this._ocChecked = value\r\n this.ocCheckedChange.emit(this._ocChecked)\r\n }\r\n\r\n get ocChecked() {\r\n return this._ocChecked\r\n }\r\n\r\n @Input() ocColor: 'purple' | 'green' = 'green';\r\n\r\n @Output() ocCheckedChange = new EventEmitter<boolean>();\r\n\r\n toggleChecked() {\r\n this.ocChecked = !this.ocChecked;\r\n }\r\n}\r\n\r\n\r\n","<label class=\"switch\">\r\n <input [checked]=\"ocChecked\" (click)=\"toggleChecked()\" type=\"checkbox\">\r\n <span class=\"slider round\" [ngClass]=\"[ocColor]\"></span>\r\n</label>","import { CommonModule } from '@angular/common'\r\nimport { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\n\r\n@Component({\r\n selector: 'oc-step',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-step.component.html',\r\n styleUrl: './oc-step.component.scss',\r\n})\r\nexport class OcStepComponent implements AfterViewInit {\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n\r\n @Input() ocIsActive: boolean = false\r\n @Input() ocTitle: string = ''\r\n @Input() ocColor: 'purple' | 'green' = 'purple'\r\n @Input() ocCompleted: boolean = false\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n @Output() ocClick = new EventEmitter()\r\n stepIndex: number = 0\r\n selectedIndex: number = 0\r\n lastIndex: number = 0\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n }\r\n\r\n protected handleStepClick(stepIndex: number): void {\r\n if (stepIndex !== this.selectedIndex && (stepIndex <= this.selectedIndex || this.ocCompleted)) {\r\n this.selectStep(stepIndex)\r\n this.ocClick.emit()\r\n }\r\n }\r\n\r\n @Input() selectStep!: (index: number) => void\r\n}\r\n","<div class=\"oc-step\" (click)=\"\r\n handleStepClick(stepIndex)\r\n \" [ngClass]=\"{\r\n 'oc-not-selected': stepIndex !== selectedIndex,\r\n 'shui': ocStyle === 'shui',\r\n 'shui-step': ocStyle === 'shui'\r\n}\">\r\n <div class=\"left-side\">\r\n <div class=\"step-number\" [ngClass]=\"{\r\n 'oc-selected-p': selectedIndex === stepIndex && ocColor === 'purple',\r\n 'oc-selected-g': selectedIndex === stepIndex && ocColor === 'green',\r\n 'oc-purple': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'purple',\r\n 'oc-green': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'green'\r\n }\">\r\n <span>{{stepIndex! + 1}}</span>\r\n </div>\r\n <h2 [ngClass]=\"{\r\n 'oc-selected-p-title': selectedIndex === stepIndex && ocColor === 'purple',\r\n 'oc-selected-g-title': selectedIndex === stepIndex && ocColor === 'green',\r\n }\">{{ocTitle}}</h2>\r\n </div>\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n 'expanded': ocIsActive,\r\n 'oc-prev-selected-p': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'purple',\r\n 'oc-prev-selected-g': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'green',\r\n 'oc-left-border': stepIndex !== lastIndex\r\n }\">\r\n @if (ocIsActive) {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n</div>","import { AfterViewInit, Component, ContentChildren, QueryList, Input } from '@angular/core'\r\nimport { OcStepComponent } from '../oc-step/oc-step.component'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-stepper',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-stepper.component.html',\r\n styleUrl: './oc-stepper.component.scss',\r\n})\r\nexport class OcStepperComponent implements AfterViewInit {\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n @ContentChildren(OcStepComponent) ocSteps!: QueryList<OcStepComponent>\r\n @Input() ocAllowNavigation: boolean = false\r\n @Input() ocColor: 'purple' | 'green' = 'purple'\r\n @Input() ocCurrentIndex: number = 0\r\n @Input() ocSaveCompletedSteps: boolean = true\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n private completedSteps: number[] = []\r\n\r\n ngAfterViewInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n this.setStepsValues()\r\n this.selectStep(this.ocCurrentIndex)\r\n this.setCompletedSteps()\r\n }\r\n\r\n private setCompletedSteps(): void {\r\n if (!this.ocSaveCompletedSteps) {\r\n return\r\n }\r\n for (let i = 0; i <= this.ocCurrentIndex; i++) {\r\n this.completedSteps.push(i)\r\n }\r\n }\r\n\r\n setStepsValues(): void {\r\n this.ocSteps.forEach((step, i) => {\r\n step.stepIndex = i\r\n step.ocColor = this.ocColor\r\n step.lastIndex = this.ocSteps.length - 1\r\n step.ocStyle = this.ocStyle\r\n\r\n step.selectStep = (index: number) => this.selectStep(index)\r\n })\r\n }\r\n\r\n selectStep(index: number): void {\r\n this.ocSteps.forEach((step, i) => {\r\n step.ocStyle = this.ocStyle\r\n\r\n if (this.completedSteps.includes(i)) {\r\n step.ocCompleted = true\r\n }\r\n if (i !== index) {\r\n step.ocIsActive = false\r\n step.selectedIndex = index\r\n return\r\n }\r\n step.ocIsActive = true\r\n this.ocCurrentIndex = index\r\n step.selectedIndex = this.ocCurrentIndex\r\n this.setCompletedSteps()\r\n })\r\n return\r\n }\r\n\r\n nextStep(event: Event): void {\r\n event.stopPropagation()\r\n if (this.ocCurrentIndex === this.ocSteps.length - 1) {\r\n return\r\n }\r\n this.selectStep(this.ocCurrentIndex + 1)\r\n }\r\n\r\n previousStep(event: Event): void {\r\n event.stopPropagation()\r\n if (!this.ocCurrentIndex) {\r\n return\r\n }\r\n this.selectStep(this.ocCurrentIndex - 1)\r\n }\r\n}\r\n","<div class=\"oc-stepper\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input } from '@angular/core'\r\n\r\n@Component({\r\n selector: 'oc-tab',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './oc-tab.component.html',\r\n styleUrl: './oc-tab.component.scss',\r\n})\r\nexport class OcTabComponent {\r\n @Input() ocTitle: string = ''\r\n @Input() ocIsActive: boolean = false\r\n\r\n tabIndex: number = 0\r\n}\r\n","@if (ocIsActive) {\r\n <ng-content></ng-content>\r\n}","import {\r\n Component,\r\n ContentChildren,\r\n QueryList,\r\n AfterContentInit,\r\n EventEmitter,\r\n Output,\r\n Input,\r\n} from '@angular/core'\r\nimport { OcTabComponent } from '../oc-tab/oc-tab.component'\r\nimport { CommonModule } from '@angular/common'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\n\r\n@Component({\r\n selector: 'oc-tabs',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-tabs.component.html',\r\n styleUrl: './oc-tabs.component.scss',\r\n})\r\nexport class OcTabsComponent implements AfterContentInit {\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n @ContentChildren(OcTabComponent) ocTabs!: QueryList<OcTabComponent>\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Output() ocClick = new EventEmitter<void>()\r\n\r\n activeTabIndex: number = 0\r\n\r\n ngAfterContentInit(): void {\r\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n this.selectTab(0)\r\n }\r\n\r\n selectTab(index: number): void {\r\n this.ocTabs.toArray().forEach((tab, i) => {\r\n tab.tabIndex = i\r\n tab.ocIsActive = i === index\r\n })\r\n this.activeTabIndex = index\r\n }\r\n\r\n handleTabClick(): void {\r\n this.ocClick.emit()\r\n }\r\n}\r\n","<div class=\"oc-tabs\" [ngClass]=\"{\r\n shui: ocStyle === 'shui'\r\n}\">\r\n <div class=\"row\">\r\n @for(tab of ocTabs; track $index) {\r\n <button [ngClass]=\"{\r\n 'oc-selected': tab.tabIndex === activeTabIndex\r\n }\" class=\"oc-tab\" (click)=\"selectTab(tab.tabIndex); \r\n handleTabClick()\" type=\"button\">{{tab.ocTitle}}</button>\r\n }\r\n </div>\r\n <ng-content></ng-content>\r\n</div>","import { CommonModule } from '@angular/common'\r\nimport { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-accordion-item',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './oc-accordion-item.component.html',\r\n styleUrl: './oc-accordion-item.component.scss',\r\n})\r\nexport class OcAccordionItemComponent {\r\n @Input() ocIsOpen: boolean = false\r\n @Input() ocTitle: string = ''\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n @Output() closeAllItems = new EventEmitter()\r\n\r\n protected toggle(): void {\r\n if (this.ocIsOpen) {\r\n this.ocIsOpen = !this.ocIsOpen\r\n return\r\n }\r\n this.closeAllItems.emit()\r\n this.ocIsOpen = !this.ocIsOpen\r\n }\r\n}\r\n","<div class=\"oc-accordion-item\" [ngClass]=\"{\r\n 'shui': ocStyle === 'shui'\r\n}\">\r\n <div class=\"item-header\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\" (click)=\"toggle()\">\r\n <h3>{{ocTitle}}</h3>\r\n <span class=\"material-symbols-outlined\">\r\n keyboard_control_key\r\n </span>\r\n </div>\r\n @if (ocIsOpen) {\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>","import { AfterViewInit, Component, ContentChildren, Input, QueryList } from '@angular/core'\r\nimport { OcAccordionItemComponent } from '../oc-accordion-item/oc-accordion-item.component'\r\nimport { CommonModule } from '@angular/common'\r\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\r\nimport { StyleThemeService } from '../../services/style-theme.service'\r\n\r\n@Component({\r\n selector: 'oc-accordion',\r\n standalone: true,\r\n imports: [CommonModule, OcAccordionItemComponent],\r\n templateUrl: './oc-accordion.component.html',\r\n styleUrl: './oc-accordion.component.scss',\r\n})\r\nexport class OcAccordionComponent implements AfterViewInit {\r\n @ContentChildren(OcAccordionItemComponent) items!: QueryList<OcAccordionItemComponent>\r\n @Input() ocAlternate: boolean = true\r\n @Input() ocCurrentIndex?: number\r\n @Input() ocStyle: OcStyleThemeType = 'otimus'\r\n\r\n constructor(private styleThemeService: StyleThemeService) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.items.forEach((item, i) => {\r\n item.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\r\n item.closeAllItems.subscribe(() => this.closeAllItems())\r\n })\r\n }\r\n\r\n closeAllItems(): void {\r\n if (this.ocAlternate) {\r\n this.items.forEach((item) => (item.ocIsOpen = false))\r\n }\r\n }\r\n\r\n alternateToIndex(index: number): void {\r\n this.items.forEach((item, i) => {\r\n if (i === index) {\r\n item.ocIsOpen = true\r\n return\r\n }\r\n item.ocIsOpen = false\r\n })\r\n }\r\n}\r\n","<div>\r\n <ng-content></ng-content>\r\n</div>","/*\r\n * Public API Surface of otimus-library\r\n */\r\n\r\nexport * from './lib/otimus-library.service'\r\nexport * from './lib/otimus-library.component'\r\nexport * from './lib/services/oc-toast.service'\r\nexport * from './lib/components/oc-badge/oc-badge.component'\r\nexport * from './lib/components/oc-filter/oc-filter.component'\r\nexport * from './lib/directives/oc-tooltip/oc-tooltip.directive'\r\nexport * from './lib/components/oc-input/oc-input.component'\r\nexport * from './lib/components/oc-modal/oc-modal.component'\r\nexport * from './lib/components/oc-key-value/oc-key-value.component'\r\nexport * from './lib/components/oc-chip/oc-chip.component'\r\nexport * from './lib/components/oc-modal-footer/oc-modal-footer.component'\r\nexport * from './lib/components/oc-autocomplete/oc-autocomplete.component'\r\nexport * from './lib/components/oc-profile/oc-profile.component'\r\nexport * from './lib/components/oc-log/oc-log.component'\r\nexport * from './lib/components/oc-pagination/oc-pagination.component'\r\nexport * from './lib/components/oc-not-found/oc-not-found.component'\r\nexport * from './lib/components/oc-menu/oc-menu.component'\r\nexport * from './lib/components/oc-toast/oc-toast.component'\r\nexport * from './lib/components/oc-checkbox/oc-checkbox.component'\r\nexport * from './lib/components/oc-toggle/oc-toggle.component'\r\nexport * from './lib/components/oc-stepper/oc-stepper.component'\r\nexport * from './lib/components/oc-step/oc-step.component'\r\nexport * from './lib/components/oc-tabs/oc-tabs.component'\r\nexport * from './lib/components/oc-tab/oc-tab.component'\r\nexport * from './lib/components/oc-accordion/oc-accordion.component'\r\nexport * from './lib/components/oc-accordion-item/oc-accordion-item.component'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StyleThemeService","i2","i1","i1.InternationalizationService","i2.StyleThemeService","i3","i1.OcToastService"],"mappings":"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"}
|