otimus-library 0.2.94 → 0.2.95

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.
@@ -75,9 +75,6 @@ export class OcAutocompleteComponent {
75
75
  if (this.ocSuffix) {
76
76
  this.hasSuffix = true;
77
77
  }
78
- if (changes['ocData']) {
79
- this.filterData(this.ocValue);
80
- }
81
78
  this.formatOcValueType();
82
79
  this.loadOptions();
83
80
  this.cdr.detectChanges();
@@ -373,4 +370,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
373
370
  type: HostBinding,
374
371
  args: ['style.max-width']
375
372
  }] } });
376
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUlOLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBOzs7Ozs7QUFrQnpGLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFDVSxRQUFtQixFQUNuQixFQUFjLEVBQ2QsZ0JBQTZDLEVBQzdDLGlCQUFvQyxFQUNwQyxHQUFzQjtRQUp0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTZCO1FBQzdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFXeEIsWUFBTyxHQUF5QixFQUFFLENBQUE7UUF1QmpDLFdBQU0sR0FBaUMsUUFBUSxDQUFBO1FBQy9DLFlBQU8sR0FBUSxFQUFFLENBQUE7UUFDakIsb0JB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ZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQWVILGFBQWE7c0JBRGhCLFdBQVc7dUJBQUMsYUFBYTtnQkFNdEIsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNMUIsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPY0F1dG9Db21wbGV0ZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLWF1dG9jb21wbGV0ZSdcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBJbnRlcm5hdGlvbmFsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnRlcm5hdGlvbmFsaXphdGlvbi5zZXJ2aWNlJ1xuaW1wb3J0IHsgT2NTdHlsZVRoZW1lVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2Mtc3R5bGUtdGhlbWUnXG5pbXBvcnQgeyBTdHlsZVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0eWxlLXRoZW1lLnNlcnZpY2UnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29jLWF1dG9jb21wbGV0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlXSxcbiAgaG9zdDoge1xuICAgICdbc3R5bGUud2lkdGhdJzogJ2NvbXB1dGVkV2lkdGgnLFxuICAgICdbc3R5bGUubWluLXdpZHRoXSc6ICdjb21wdXRlZE1pbldpZHRoJyxcbiAgICAnW3N0eWxlLm1heC13aWR0aF0nOiAnY29tcHV0ZWRNYXhXaWR0aCcsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxufSlcbmV4cG9ydCBjbGFzcyBPY0F1dG9jb21wbGV0ZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25Jbml0XG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3R5bGVUaGVtZVNlcnZpY2U6IFN0eWxlVGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dCE6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnb3B0aW9ucycpIG9wdGlvbnMhOiBFbGVtZW50UmVmXG4gIEBWaWV3Q2hpbGQoJ291dGVyRGl2Jykgb3V0ZXJEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxuICBAVmlld0NoaWxkcmVuKCdsaXN0T3B0aW9uc1JlZicpIGxpc3RPcHRpb25zRWxlbWVudHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MTElFbGVtZW50Pj5cblxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcbiAgQENvbnRlbnRDaGlsZCgnb2NTdWZmaXgnKSBvY1N1ZmZpeDogYW55XG5cbiAgcHJpdmF0ZSBfb2NEYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXG4gIEBJbnB1dCgpXG4gIHNldCBvY0RhdGEodmFsdWU6IE9jQXV0b0NvbXBsZXRlVHlwZVtdKSB7XG4gICAgdGhpcy5fb2NEYXRhID0gdmFsdWVcblxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdmFsdWVcblxuICAgIGlmICh0aGlzLm9jU2VsZWN0QnlUeXBpbmcgJiYgdGhpcy5vY1ZhbHVlKSB7XG4gICAgICBjb25zdCBmb3VuZCA9IHZhbHVlLmZpbmQoKGVsKSA9PiBlbC52YWx1ZSA9PSB0aGlzLm9jVmFsdWUpXG4gICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRcbiAgICAgICAgdGhpcy5vY1ZhbHVlID0gZm91bmQubmFtZVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSAvLyBGb3LDp2EgYSBhdHVhbGl6YcOnw6NvXG4gIH1cblxuICBnZXQgb2NEYXRhKCk6IE9jQXV0b0NvbXBsZXRlVHlwZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fb2NEYXRhXG4gIH1cbiAgQElucHV0KCkgb2NQbGFjZWhvbGRlcj86IHN0cmluZ1xuICBASW5wdXQoKSBvY0Vycm9yPzogc3RyaW5nXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdsYXJnZScgfCAnbWVkaXVtJyA9ICdtZWRpdW0nXG4gIEBJbnB1dCgpIG9jVmFsdWU6IGFueSA9ICcnXG4gIEBJbnB1dCgpIG9jQ2xlYXJPbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIG9jV2lkdGg/OiBzdHJpbmdcbiAgQElucHV0KCkgb2NNaW5XaWR0aD86IHN0cmluZ1xuICBASW5wdXQoKSBvY01heFdpZHRoPzogc3RyaW5nXG4gIEBJbnB1dCgpIG9jT3B0aW9uc01heEhlaWdodD86IHN0cmluZ1xuICBASW5wdXQoKSBvY09wdGlvbnNXaWR0aD86IHN0cmluZ1xuICBASW5wdXQoKSBvY1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCkgb2NNYXhSZXN1bHRzPzogbnVtYmVyXG4gIEBJbnB1dCgpIG9jQWxsb3dOb3RMaXN0ZWRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSBvY1R5cGVGb3JNb3JlUmVzdWx0c1RleHQ/OiBzdHJpbmdcbiAgQElucHV0KCkgb2NMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCkgb2NTZW1hbnRpY0xpa2U6IGJvb2xlYW4gPSBmYWxzZSAvLyBkZXByZWNhdGVkLiBQcmVmZXIgdXNpbmcgb2NTdHlsZVRoZW1lIGluc3RlYWRcbiAgQElucHV0KCkgb2NTdHlsZTogT2NTdHlsZVRoZW1lVHlwZSA9ICdvdGltdXMnXG4gIEBJbnB1dCgpIG9jVGFiSW5kZXg/OiBudW1iZXJcbiAgQElucHV0KCkgaWNvblNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJ1xuICBASW5wdXQoKSBvY1NlbGVjdEJ5VHlwaW5nOiBib29sZWFuID0gdHJ1ZVxuICBASW5wdXQoKSBvY0Rpc2FibGVkID0gZmFsc2VcbiAgQElucHV0KCkgb2NUeXBlOiAnY291bnRlclNlbGVjdCcgfCAnZGVmYXVsdCcgPSAnZGVmYXVsdCdcblxuICBASW5wdXQoKSBvY0hhc0RlbGV0ZUJ1dHRvbj86IGJvb2xlYW4gPSBmYWxzZVxuICBASW5wdXQoKSBvY0VuYWJsZUtleWJvYXJkOiBib29sZWFuID0gZmFsc2VcblxuICBAT3V0cHV0KCkgb2NWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXG4gIEBPdXRwdXQoKSBvY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKVxuICBAT3V0cHV0KCkgb2NDb3VudGVyU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPY0F1dG9Db21wbGV0ZVR5cGVbXT4oKVxuICBAT3V0cHV0KCkgb2NPcHRpb25Ob3RGb3VuZCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgb2NDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGhhc1N1ZmZpeDogYm9vbGVhbiA9IGZhbHNlXG4gIGhhc1ByZWZpeDogYm9vbGVhbiA9IGZhbHNlXG5cbiAgaXNPcHRpb25zU2hvd246IGJvb2xlYW4gPSBmYWxzZVxuICBmaWx0ZXJlZERhdGE6IE9jQXV0b0NvbXBsZXRlVHlwZVtdID0gW11cbiAgc2VsZWN0ZWRWYWx1ZTogT2NBdXRvQ29tcGxldGVUeXBlID0ge1xuICAgIG5hbWU6ICcnLFxuICAgIHZhbHVlOiBudWxsLFxuICB9XG5cbiAgc2VsZWN0ZWRJbmRleDogbnVtYmVyID0gLTFcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcbiAgZ2V0IGNvbXB1dGVkV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NXaWR0aCA/IHRoaXMub2NXaWR0aCA6IG51bGxcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NNaW5XaWR0aCB8fCAnMCdcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcbiAgZ2V0IGNvbXB1dGVkTWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NNYXhXaWR0aCB8fCAnMTAwJSdcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXG4gICAgfVxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ29jRGF0YSddKSB7XG4gICAgICB0aGlzLmZpbHRlckRhdGEodGhpcy5vY1ZhbHVlKVxuICAgIH1cbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2NWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm9jVmFsdWUgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub2NTdHlsZSA9IHRoaXMuc3R5bGVUaGVtZVNlcnZpY2UuZ2V0U3R5bGVUaGVtZSgpIHx8IHRoaXMub2NTdHlsZVxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcbiAgICB9XG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxuICAgIH1cbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0VHJhbnNsYXRpb25zQnlMYW5ndWFnZSgpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxuICAgIH1cbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXG4gICAgfVxuICB9XG5cbiAgZm9ybWF0T2NWYWx1ZVR5cGUoKSB7XG4gICAgaWYgKHRoaXMub2NWYWx1ZSkge1xuICAgICAgcmV0dXJuIGAke3RoaXMub2NWYWx1ZX1gXG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBnZXRUcmFuc2xhdGlvbihjb2RlOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0aW9uKGNvZGUpXG4gIH1cblxuICBsb2FkT3B0aW9ucygpIHtcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcblxuICAgICAgY29uc3QgaW5wdXRCb3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcblxuICAgICAgaWYgKHRoaXMub2NTZWxlY3RCeVR5cGluZyAmJiB0aGlzLm9jVmFsdWUpIHtcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLm9jRGF0YS5maW5kKChlbCkgPT4gZWwudmFsdWUgPT0gdGhpcy5vY1ZhbHVlKVxuXG4gICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kXG4gICAgICAgICAgdGhpcy5vY1ZhbHVlID0gZm91bmQubmFtZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnB1dEJveCkge1xuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dEJveC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXG5cbiAgICAgICAgaWYgKGlucHV0RWxlbWVudCAmJiAhdGhpcy5vY1NlbWFudGljTGlrZSAmJiBbJ290aW11cycsICdzaHVpJ10uaW5jbHVkZXModGhpcy5vY1N0eWxlKSkge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWxlbWVudCwgJ3BsYWNlaG9sZGVyJywgJycpXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncmVxdWlyZWQnLCB0aGlzLm9jUmVxdWlyZWQudG9TdHJpbmcoKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIDUwKVxuICB9XG5cbiAgY2xvc2VPbkNsaWNrT3V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnY2xpY2snLCAoZTogRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50XG5cbiAgICAgIGNvbnN0IGluc2lkZUNvdW50ZXJTZWxlY3QgPVxuICAgICAgICB0aGlzLm9jVHlwZSA9PT0gJ2NvdW50ZXJTZWxlY3QnICYmIHRhcmdldC5jbG9zZXN0KCcub2MtY291bnRlci1zZWxlY3QnKVxuXG4gICAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLm9wdGlvbnMgJiYgIWluc2lkZUNvdW50ZXJTZWxlY3QpIHtcbiAgICAgICAgaWYgKHRhcmdldCAhPT0gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50ICYmIHRhcmdldCAhPT0gdGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gZmFsc2VcbiAgICAgICAgICB0aGlzLmZpbmRCeVR5cGluZygpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZmluZEJ5VHlwaW5nKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vY1ZhbHVlIHx8ICF0aGlzLm9jVmFsdWU/LnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aCkge1xuICAgICAgdGhpcy5vY0NoYW5nZS5lbWl0KG51bGwpXG4gICAgICB0aGlzLm9jT3B0aW9uTm90Rm91bmQuZW1pdCgpXG4gICAgfVxuICAgIGlmICghdGhpcy5vY1NlbGVjdEJ5VHlwaW5nKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBmb3VuZFZhbHVlID0gdGhpcy5vY0RhdGEuZmluZChcbiAgICAgIChkYXRhKSA9PlxuICAgICAgICBkYXRhLm5hbWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB0aGlzLm9jVmFsdWU/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSB8fFxuICAgICAgICBkYXRhLnZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gdGhpcy5vY1ZhbHVlPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKClcbiAgICApXG5cbiAgICBpZiAoIWZvdW5kVmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcbiAgICAgICAgbmFtZTogJycsXG4gICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLm9jQWxsb3dOb3RMaXN0ZWRWYWx1ZSkge1xuICAgICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xuICAgICAgfVxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcbiAgfVxuXG4gIGZpbHRlckRhdGEobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9IHRydWVcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhLmZpbHRlcigoZGF0YSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkTmFtZShkYXRhLm5hbWUpPy5pbmNsdWRlcyh0aGlzLmdldEZvcm1hdHRlZE5hbWUobmFtZSkpXG4gICAgfSlcbiAgfVxuXG4gIGdldEZvcm1hdHRlZE5hbWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJcbiAgICAgID8udG9Mb3dlckNhc2UoKVxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJykgLy8gUmVtb3ZlIG1hcmNhcyBkaWFjcsOtdGljYXNcbiAgfVxuXG4gIHRvZ2dsZU9wdGlvbnMoKSB7XG4gICAgdGhpcy5jbG9zZU9uQ2xpY2tPdXQoKVxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSAhdGhpcy5pc09wdGlvbnNTaG93blxuICB9XG5cbiAgc2VsZWN0VmFsdWUodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGZvdW5kVmFsdWUgPSB0aGlzLm9jRGF0YS5maW5kKChkYXRhKSA9PiBkYXRhLnZhbHVlID09IHZhbHVlKVxuXG4gICAgaWYgKCFmb3VuZFZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gLTFcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMub2NUeXBlID09PSAnY291bnRlclNlbGVjdCcpIHtcbiAgICAgIGZvdW5kVmFsdWUuY291bnRlciA9IChmb3VuZFZhbHVlLmNvdW50ZXIgfHwgMCkgKyAxXG4gICAgICB0aGlzLmVtaXRDb3VudGVyU2VsZWN0Q2hhbmdlKClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcbiAgICBpZiAodGhpcy5vY0NsZWFyT25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub2NWYWx1ZSA9IGZvdW5kVmFsdWUubmFtZVxuICAgIH1cblxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSBmYWxzZVxuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuZmlsdGVyZWREYXRhLmluZGV4T2YoZm91bmRWYWx1ZSlcblxuICAgIHRoaXMub2NDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpXG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIGNsZWFyVmFsdWUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xuICAgICAgbmFtZTogJycsXG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICB9XG4gICAgdGhpcy5vY1ZhbHVlID0gJydcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXG4gIH1cblxuICBwcm90ZWN0ZWQgaW5jcmVtZW50Q291bnRlcihvcHRpb246IE9jQXV0b0NvbXBsZXRlVHlwZSk6IHZvaWQge1xuICAgIGlmICghb3B0aW9uLmNvdW50ZXIpIHtcbiAgICAgIG9wdGlvbi5jb3VudGVyID0gMVxuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb24uY291bnRlcisrXG4gICAgfVxuICAgIHRoaXMuZW1pdENvdW50ZXJTZWxlY3RDaGFuZ2UoKVxuICB9XG5cbiAgcHJvdGVjdGVkIGRlY3JlbWVudENvdW50ZXIob3B0aW9uOiBPY0F1dG9Db21wbGV0ZVR5cGUpOiB2b2lkIHtcbiAgICBpZiAob3B0aW9uLmNvdW50ZXIgJiYgb3B0aW9uLmNvdW50ZXIgPiAwKSB7XG4gICAgICBvcHRpb24uY291bnRlci0tXG4gICAgICB0aGlzLmVtaXRDb3VudGVyU2VsZWN0Q2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBlbWl0Q291bnRlclNlbGVjdENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNNb3JlVGhhblplcm8gPSB0aGlzLm9jRGF0YS5maWx0ZXIoKGRhdGEpID0+ICEhZGF0YS5jb3VudGVyKVxuICAgIHRoaXMub2NDb3VudGVyU2VsZWN0Q2hhbmdlLmVtaXQoaGFzTW9yZVRoYW5aZXJvKVxuICB9XG5cbiAgbW92ZVNlbGVjdGlvbihkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gTWF0aC5tYXgoXG4gICAgICAwLFxuICAgICAgTWF0aC5taW4odGhpcy5saXN0T3B0aW9uc0VsZW1lbnRzLmxlbmd0aCAtIDEsIHRoaXMuc2VsZWN0ZWRJbmRleCArIGRlbHRhKVxuICAgIClcblxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmxpc3RPcHRpb25zRWxlbWVudHMuZ2V0KHRoaXMuc2VsZWN0ZWRJbmRleCk/Lm5hdGl2ZUVsZW1lbnRcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICduZWFyZXN0JyB9KVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvbktleURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2NFbmFibGVLZXlib2FyZCkge1xuICAgICAgY29uc3QgZSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnRcblxuICAgICAgaWYgKHRoaXMuaXNPcHRpb25zU2hvd24pIHtcbiAgICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgICB0aGlzLm1vdmVTZWxlY3Rpb24oLTEpXG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgdGhpcy5tb3ZlU2VsZWN0aW9uKDEpXG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdFZhbHVlKHRoaXMuZmlsdGVyZWREYXRhW3RoaXMuc2VsZWN0ZWRJbmRleF0udmFsdWUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnb2MtaW5wdXQtYm94JzogIW9jU2VtYW50aWNMaWtlICYmIG9jU3R5bGUgPT09ICdvdGltdXMnLFxuICAgIHNtYWxsOiBvY1NpemUgPT09ICdzbWFsbCcsXG4gICAgbGFyZ2U6IG9jU2l6ZSA9PT0gJ2xhcmdlJyxcbiAgICBlcnJvcjogISFvY0Vycm9yLFxuICAgIHByZWZpeDogaGFzUHJlZml4LFxuICAgIHN1ZmZpeDogaGFzU3VmZml4IHx8IG9jSGFzRGVsZXRlQnV0dG9uLFxuICAgIHNodWk6IG9jU3R5bGUgPT09ICdzaHVpJyxcbiAgICAnc2h1aS1pbnB1dC1ib3gnOiBvY1N0eWxlID09PSAnc2h1aScsXG4gIH1cIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxpbnB1dFxuICAgIFtwbGFjZWhvbGRlcl09XCJvY1BsYWNlaG9sZGVyXCJcbiAgICAjaW5wdXRcbiAgICAoY2xpY2spPVwidG9nZ2xlT3B0aW9ucygpOyBvY0NsaWNrLmVtaXQoKVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIChpbnB1dCk9XCJmaWx0ZXJEYXRhKG9jVmFsdWUpXCJcbiAgICBbKG5nTW9kZWwpXT1cIm9jVmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9jVmFsdWUgPSAkZXZlbnQ7IG9jVmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2VtYW50aWMtaW5wdXQnOiBvY1NlbWFudGljTGlrZSB8fCBvY1N0eWxlID09PSAnc2VtYW50aWMnLFxuICAgIH1cIlxuICAgIFt0YWJpbmRleF09XCJvY1RhYkluZGV4XCJcbiAgICBbZGlzYWJsZWRdPVwib2NEaXNhYmxlZFwiXG4gICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAvPlxuICBAaWYgKCFvY1NlbWFudGljTGlrZSAmJiBvY1N0eWxlICE9PSAnc2VtYW50aWMnKSB7XG4gICAgPGxhYmVsPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJvY1BsYWNlaG9sZGVyXCI+PC9zcGFuPlxuICAgICAgQGlmIChvY1JlcXVpcmVkKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwib2MgY29sb3IgZXJyb3JcIj4qPC9zcGFuPlxuICAgICAgfVxuICAgIDwvbGFiZWw+XG4gIH1cbiAgPHNtYWxsXG4gICAgKm5nSWY9XCJvY0Vycm9yXCJcbiAgICBjbGFzcz1cImVycm9yLW1zZ1wiXG4gICAgPnt7IG9jRXJyb3IgfX08L3NtYWxsXG4gID5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NQcmVmaXhcIj48L25nLWNvbnRlbnQ+XG4gIEBpZiAob2NIYXNEZWxldGVCdXR0b24gJiYgIW9jRGlzYWJsZWQpIHtcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cIm9jLWhhcy1jbG9zZS1idXR0b24gb2Mgc3VmZml4XCJcbiAgICAgIChjbGljayk9XCJjbGVhclZhbHVlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9jRGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmJhY2tzcGFjZTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgfVxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1N1ZmZpeFwiPjwvbmctY29udGVudD5cblxuICA8ZGl2IGNsYXNzPVwib2Mtb3B0aW9ucy1kaXZcIj5cbiAgICBAaWYgKGlzT3B0aW9uc1Nob3duICYmICFvY0xvYWRpbmcgJiYgIW9jRGlzYWJsZWQpIHtcbiAgICAgIDx1bFxuICAgICAgICAjb3B0aW9uc1xuICAgICAgICBjbGFzcz1cIm9jLW9wdGlvbnNcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgJ21heC1oZWlnaHQnOiBvY09wdGlvbnNNYXhIZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IG9jT3B0aW9uc1dpZHRoLFxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgQGlmICghZmlsdGVyZWREYXRhLmxlbmd0aCkge1xuICAgICAgICAgIDxsaSBjbGFzcz1cIm5vLW9wdGlvbnNcIj5cbiAgICAgICAgICAgIHt7IG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dCB8fCAnTmVuaHVtIHJlc3VsdGFkbyBkaXNwb27DrXZlbCcgfX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAZm9yIChkYXRhIG9mIGZpbHRlcmVkRGF0YTsgdHJhY2sgZGF0YS52YWx1ZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIEBpZiAoIW9jTWF4UmVzdWx0cyB8fCBpIDwgb2NNYXhSZXN1bHRzKSB7XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpLW9wdGlvblwiICNsaXN0T3B0aW9uc1JlZj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RWYWx1ZShkYXRhLnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuaG92ZXJdPVwib2NUeXBlICE9PSAnY291bnRlclNlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmhpZ2hsaWdodF09XCJzZWxlY3RlZEluZGV4ID09PSBpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBAaWYgKGRhdGEuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IGRhdGEuaWNvblNpemUgfHwgJzEuMnJlbScsXG4gICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRhLmljb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAge3sgZGF0YS5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgQGlmIChvY1R5cGUgPT09ICdjb3VudGVyU2VsZWN0Jykge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9jLWNvdW50ZXItc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1YnRyYWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVjcmVtZW50Q291bnRlcihkYXRhKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5yZW1vdmU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImNvdW50ZXJcIj57eyBkYXRhLmNvdW50ZXIgfHwgMCB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRkXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVtZW50Q291bnRlcihkYXRhKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5hZGQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKG9jTWF4UmVzdWx0cyAmJiBmaWx0ZXJlZERhdGEubGVuZ3RoID4gb2NNYXhSZXN1bHRzKSB7XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuby1vcHRpb25zXCI+XG4gICAgICAgICAgICAgIHt7IG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dCB8fCAnRGlnaXRlIHBhcmEgdmVyIG1haXMgcmVzdWx0YWRvcycgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIH0gQGVsc2UgaWYgKGlzT3B0aW9uc1Nob3duICYmIG9jTG9hZGluZyAmJiAhb2NEaXNhYmxlZCkge1xuICAgICAgPGRpdiBjbGFzcz1cIm9jLW9wdGlvbnMgbG9hZGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBsb2FkaW5nXCI+IHByb2dyZXNzX2FjdGl2aXR5IDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUlOLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBOzs7Ozs7QUFrQnpGLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFDVSxRQUFtQixFQUNuQixFQUFjLEVBQ2QsZ0JBQTZDLEVBQzdDLGlCQUFvQyxFQUNwQyxHQUFzQjtRQUp0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTZCO1FBQzdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFXeEIsWUFBTyxHQUF5QixFQUFFLENBQUE7UUF1QmpDLFdBQU0sR0FBaUMsUUFBUSxDQUFBO1FBQy9DLFlBQU8sR0FBUSxFQUFFLENBQUE7UUFDakIsb0JB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MUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQWVILGFBQWE7c0JBRGhCLFdBQVc7dUJBQUMsYUFBYTtnQkFNdEIsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNMUIsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPY0F1dG9Db21wbGV0ZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLWF1dG9jb21wbGV0ZSdcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBJbnRlcm5hdGlvbmFsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnRlcm5hdGlvbmFsaXphdGlvbi5zZXJ2aWNlJ1xuaW1wb3J0IHsgT2NTdHlsZVRoZW1lVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2Mtc3R5bGUtdGhlbWUnXG5pbXBvcnQgeyBTdHlsZVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0eWxlLXRoZW1lLnNlcnZpY2UnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29jLWF1dG9jb21wbGV0ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlXSxcbiAgaG9zdDoge1xuICAgICdbc3R5bGUud2lkdGhdJzogJ2NvbXB1dGVkV2lkdGgnLFxuICAgICdbc3R5bGUubWluLXdpZHRoXSc6ICdjb21wdXRlZE1pbldpZHRoJyxcbiAgICAnW3N0eWxlLm1heC13aWR0aF0nOiAnY29tcHV0ZWRNYXhXaWR0aCcsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxufSlcbmV4cG9ydCBjbGFzcyBPY0F1dG9jb21wbGV0ZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25Jbml0XG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3R5bGVUaGVtZVNlcnZpY2U6IFN0eWxlVGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dCE6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnb3B0aW9ucycpIG9wdGlvbnMhOiBFbGVtZW50UmVmXG4gIEBWaWV3Q2hpbGQoJ291dGVyRGl2Jykgb3V0ZXJEaXYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PlxuICBAVmlld0NoaWxkcmVuKCdsaXN0T3B0aW9uc1JlZicpIGxpc3RPcHRpb25zRWxlbWVudHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MTElFbGVtZW50Pj5cblxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcbiAgQENvbnRlbnRDaGlsZCgnb2NTdWZmaXgnKSBvY1N1ZmZpeDogYW55XG5cbiAgcHJpdmF0ZSBfb2NEYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXG4gIEBJbnB1dCgpXG4gIHNldCBvY0RhdGEodmFsdWU6IE9jQXV0b0NvbXBsZXRlVHlwZVtdKSB7XG4gICAgdGhpcy5fb2NEYXRhID0gdmFsdWVcblxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdmFsdWVcblxuICAgIGlmICh0aGlzLm9jU2VsZWN0QnlUeXBpbmcgJiYgdGhpcy5vY1ZhbHVlKSB7XG4gICAgICBjb25zdCBmb3VuZCA9IHZhbHVlLmZpbmQoKGVsKSA9PiBlbC52YWx1ZSA9PSB0aGlzLm9jVmFsdWUpXG4gICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRcbiAgICAgICAgdGhpcy5vY1ZhbHVlID0gZm91bmQubmFtZVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSAvLyBGb3LDp2EgYSBhdHVhbGl6YcOnw6NvXG4gIH1cblxuICBnZXQgb2NEYXRhKCk6IE9jQXV0b0NvbXBsZXRlVHlwZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fb2NEYXRhXG4gIH1cbiAgQElucHV0KCkgb2NQbGFjZWhvbGRlcj86IHN0cmluZ1xuICBASW5wdXQoKSBvY0Vycm9yPzogc3RyaW5nXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdsYXJnZScgfCAnbWVkaXVtJyA9ICdtZWRpdW0nXG4gIEBJbnB1dCgpIG9jVmFsdWU6IGFueSA9ICcnXG4gIEBJbnB1dCgpIG9jQ2xlYXJPbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIG9jV2lkdGg/OiBzdHJpbmdcbiAgQElucHV0KCkgb2NNaW5XaWR0aD86IHN0cmluZ1xuICBASW5wdXQoKSBvY01heFdpZHRoPzogc3RyaW5nXG4gIEBJbnB1dCgpIG9jT3B0aW9uc01heEhlaWdodD86IHN0cmluZ1xuICBASW5wdXQoKSBvY09wdGlvbnNXaWR0aD86IHN0cmluZ1xuICBASW5wdXQoKSBvY1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCkgb2NNYXhSZXN1bHRzPzogbnVtYmVyXG4gIEBJbnB1dCgpIG9jQWxsb3dOb3RMaXN0ZWRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSBvY1R5cGVGb3JNb3JlUmVzdWx0c1RleHQ/OiBzdHJpbmdcbiAgQElucHV0KCkgb2NMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCkgb2NTZW1hbnRpY0xpa2U6IGJvb2xlYW4gPSBmYWxzZSAvLyBkZXByZWNhdGVkLiBQcmVmZXIgdXNpbmcgb2NTdHlsZVRoZW1lIGluc3RlYWRcbiAgQElucHV0KCkgb2NTdHlsZTogT2NTdHlsZVRoZW1lVHlwZSA9ICdvdGltdXMnXG4gIEBJbnB1dCgpIG9jVGFiSW5kZXg/OiBudW1iZXJcbiAgQElucHV0KCkgaWNvblNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJ1xuICBASW5wdXQoKSBvY1NlbGVjdEJ5VHlwaW5nOiBib29sZWFuID0gdHJ1ZVxuICBASW5wdXQoKSBvY0Rpc2FibGVkID0gZmFsc2VcbiAgQElucHV0KCkgb2NUeXBlOiAnY291bnRlclNlbGVjdCcgfCAnZGVmYXVsdCcgPSAnZGVmYXVsdCdcblxuICBASW5wdXQoKSBvY0hhc0RlbGV0ZUJ1dHRvbj86IGJvb2xlYW4gPSBmYWxzZVxuICBASW5wdXQoKSBvY0VuYWJsZUtleWJvYXJkOiBib29sZWFuID0gZmFsc2VcblxuICBAT3V0cHV0KCkgb2NWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXG4gIEBPdXRwdXQoKSBvY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKVxuICBAT3V0cHV0KCkgb2NDb3VudGVyU2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPY0F1dG9Db21wbGV0ZVR5cGVbXT4oKVxuICBAT3V0cHV0KCkgb2NPcHRpb25Ob3RGb3VuZCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgb2NDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIGhhc1N1ZmZpeDogYm9vbGVhbiA9IGZhbHNlXG4gIGhhc1ByZWZpeDogYm9vbGVhbiA9IGZhbHNlXG5cbiAgaXNPcHRpb25zU2hvd246IGJvb2xlYW4gPSBmYWxzZVxuICBmaWx0ZXJlZERhdGE6IE9jQXV0b0NvbXBsZXRlVHlwZVtdID0gW11cbiAgc2VsZWN0ZWRWYWx1ZTogT2NBdXRvQ29tcGxldGVUeXBlID0ge1xuICAgIG5hbWU6ICcnLFxuICAgIHZhbHVlOiBudWxsLFxuICB9XG5cbiAgc2VsZWN0ZWRJbmRleDogbnVtYmVyID0gLTFcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcbiAgZ2V0IGNvbXB1dGVkV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NXaWR0aCA/IHRoaXMub2NXaWR0aCA6IG51bGxcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NNaW5XaWR0aCB8fCAnMCdcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcbiAgZ2V0IGNvbXB1dGVkTWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NNYXhXaWR0aCB8fCAnMTAwJSdcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXG4gICAgfVxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2NWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm9jVmFsdWUgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub2NTdHlsZSA9IHRoaXMuc3R5bGVUaGVtZVNlcnZpY2UuZ2V0U3R5bGVUaGVtZSgpIHx8IHRoaXMub2NTdHlsZVxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcbiAgICB9XG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxuICAgIH1cbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0VHJhbnNsYXRpb25zQnlMYW5ndWFnZSgpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxuICAgIH1cbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXG4gICAgfVxuICB9XG5cbiAgZm9ybWF0T2NWYWx1ZVR5cGUoKSB7XG4gICAgaWYgKHRoaXMub2NWYWx1ZSkge1xuICAgICAgcmV0dXJuIGAke3RoaXMub2NWYWx1ZX1gXG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBnZXRUcmFuc2xhdGlvbihjb2RlOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0aW9uKGNvZGUpXG4gIH1cblxuICBsb2FkT3B0aW9ucygpIHtcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcblxuICAgICAgY29uc3QgaW5wdXRCb3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcblxuICAgICAgaWYgKHRoaXMub2NTZWxlY3RCeVR5cGluZyAmJiB0aGlzLm9jVmFsdWUpIHtcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLm9jRGF0YS5maW5kKChlbCkgPT4gZWwudmFsdWUgPT0gdGhpcy5vY1ZhbHVlKVxuXG4gICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kXG4gICAgICAgICAgdGhpcy5vY1ZhbHVlID0gZm91bmQubmFtZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnB1dEJveCkge1xuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dEJveC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXG5cbiAgICAgICAgaWYgKGlucHV0RWxlbWVudCAmJiAhdGhpcy5vY1NlbWFudGljTGlrZSAmJiBbJ290aW11cycsICdzaHVpJ10uaW5jbHVkZXModGhpcy5vY1N0eWxlKSkge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWxlbWVudCwgJ3BsYWNlaG9sZGVyJywgJycpXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaW5wdXRFbGVtZW50LCAncmVxdWlyZWQnLCB0aGlzLm9jUmVxdWlyZWQudG9TdHJpbmcoKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIDUwKVxuICB9XG5cbiAgY2xvc2VPbkNsaWNrT3V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnY2xpY2snLCAoZTogRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50XG5cbiAgICAgIGNvbnN0IGluc2lkZUNvdW50ZXJTZWxlY3QgPVxuICAgICAgICB0aGlzLm9jVHlwZSA9PT0gJ2NvdW50ZXJTZWxlY3QnICYmIHRhcmdldC5jbG9zZXN0KCcub2MtY291bnRlci1zZWxlY3QnKVxuXG4gICAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLm9wdGlvbnMgJiYgIWluc2lkZUNvdW50ZXJTZWxlY3QpIHtcbiAgICAgICAgaWYgKHRhcmdldCAhPT0gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50ICYmIHRhcmdldCAhPT0gdGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gZmFsc2VcbiAgICAgICAgICB0aGlzLmZpbmRCeVR5cGluZygpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZmluZEJ5VHlwaW5nKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vY1ZhbHVlIHx8ICF0aGlzLm9jVmFsdWU/LnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aCkge1xuICAgICAgdGhpcy5vY0NoYW5nZS5lbWl0KG51bGwpXG4gICAgICB0aGlzLm9jT3B0aW9uTm90Rm91bmQuZW1pdCgpXG4gICAgfVxuICAgIGlmICghdGhpcy5vY1NlbGVjdEJ5VHlwaW5nKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBmb3VuZFZhbHVlID0gdGhpcy5vY0RhdGEuZmluZChcbiAgICAgIChkYXRhKSA9PlxuICAgICAgICBkYXRhLm5hbWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB0aGlzLm9jVmFsdWU/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSB8fFxuICAgICAgICBkYXRhLnZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gdGhpcy5vY1ZhbHVlPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKClcbiAgICApXG5cbiAgICBpZiAoIWZvdW5kVmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcbiAgICAgICAgbmFtZTogJycsXG4gICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLm9jQWxsb3dOb3RMaXN0ZWRWYWx1ZSkge1xuICAgICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xuICAgICAgfVxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcbiAgfVxuXG4gIGZpbHRlckRhdGEobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9IHRydWVcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhLmZpbHRlcigoZGF0YSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0dGVkTmFtZShkYXRhLm5hbWUpPy5pbmNsdWRlcyh0aGlzLmdldEZvcm1hdHRlZE5hbWUobmFtZSkpXG4gICAgfSlcbiAgfVxuXG4gIGdldEZvcm1hdHRlZE5hbWUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJcbiAgICAgID8udG9Mb3dlckNhc2UoKVxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJykgLy8gUmVtb3ZlIG1hcmNhcyBkaWFjcsOtdGljYXNcbiAgfVxuXG4gIHRvZ2dsZU9wdGlvbnMoKSB7XG4gICAgdGhpcy5jbG9zZU9uQ2xpY2tPdXQoKVxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSAhdGhpcy5pc09wdGlvbnNTaG93blxuICB9XG5cbiAgc2VsZWN0VmFsdWUodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGZvdW5kVmFsdWUgPSB0aGlzLm9jRGF0YS5maW5kKChkYXRhKSA9PiBkYXRhLnZhbHVlID09IHZhbHVlKVxuXG4gICAgaWYgKCFmb3VuZFZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgICB2YWx1ZTogbnVsbCxcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gLTFcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMub2NUeXBlID09PSAnY291bnRlclNlbGVjdCcpIHtcbiAgICAgIGZvdW5kVmFsdWUuY291bnRlciA9IChmb3VuZFZhbHVlLmNvdW50ZXIgfHwgMCkgKyAxXG4gICAgICB0aGlzLmVtaXRDb3VudGVyU2VsZWN0Q2hhbmdlKClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kVmFsdWVcbiAgICBpZiAodGhpcy5vY0NsZWFyT25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub2NWYWx1ZSA9IGZvdW5kVmFsdWUubmFtZVxuICAgIH1cblxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSBmYWxzZVxuICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuZmlsdGVyZWREYXRhLmluZGV4T2YoZm91bmRWYWx1ZSlcblxuICAgIHRoaXMub2NDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpXG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIGNsZWFyVmFsdWUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xuICAgICAgbmFtZTogJycsXG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICB9XG4gICAgdGhpcy5vY1ZhbHVlID0gJydcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXG4gIH1cblxuICBwcm90ZWN0ZWQgaW5jcmVtZW50Q291bnRlcihvcHRpb246IE9jQXV0b0NvbXBsZXRlVHlwZSk6IHZvaWQge1xuICAgIGlmICghb3B0aW9uLmNvdW50ZXIpIHtcbiAgICAgIG9wdGlvbi5jb3VudGVyID0gMVxuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb24uY291bnRlcisrXG4gICAgfVxuICAgIHRoaXMuZW1pdENvdW50ZXJTZWxlY3RDaGFuZ2UoKVxuICB9XG5cbiAgcHJvdGVjdGVkIGRlY3JlbWVudENvdW50ZXIob3B0aW9uOiBPY0F1dG9Db21wbGV0ZVR5cGUpOiB2b2lkIHtcbiAgICBpZiAob3B0aW9uLmNvdW50ZXIgJiYgb3B0aW9uLmNvdW50ZXIgPiAwKSB7XG4gICAgICBvcHRpb24uY291bnRlci0tXG4gICAgICB0aGlzLmVtaXRDb3VudGVyU2VsZWN0Q2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBlbWl0Q291bnRlclNlbGVjdENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNNb3JlVGhhblplcm8gPSB0aGlzLm9jRGF0YS5maWx0ZXIoKGRhdGEpID0+ICEhZGF0YS5jb3VudGVyKVxuICAgIHRoaXMub2NDb3VudGVyU2VsZWN0Q2hhbmdlLmVtaXQoaGFzTW9yZVRoYW5aZXJvKVxuICB9XG5cbiAgbW92ZVNlbGVjdGlvbihkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gTWF0aC5tYXgoXG4gICAgICAwLFxuICAgICAgTWF0aC5taW4odGhpcy5saXN0T3B0aW9uc0VsZW1lbnRzLmxlbmd0aCAtIDEsIHRoaXMuc2VsZWN0ZWRJbmRleCArIGRlbHRhKVxuICAgIClcblxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmxpc3RPcHRpb25zRWxlbWVudHMuZ2V0KHRoaXMuc2VsZWN0ZWRJbmRleCk/Lm5hdGl2ZUVsZW1lbnRcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICduZWFyZXN0JyB9KVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvbktleURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2NFbmFibGVLZXlib2FyZCkge1xuICAgICAgY29uc3QgZSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnRcblxuICAgICAgaWYgKHRoaXMuaXNPcHRpb25zU2hvd24pIHtcbiAgICAgICAgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgICB0aGlzLm1vdmVTZWxlY3Rpb24oLTEpXG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgdGhpcy5tb3ZlU2VsZWN0aW9uKDEpXG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdFZhbHVlKHRoaXMuZmlsdGVyZWREYXRhW3RoaXMuc2VsZWN0ZWRJbmRleF0udmFsdWUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnb2MtaW5wdXQtYm94JzogIW9jU2VtYW50aWNMaWtlICYmIG9jU3R5bGUgPT09ICdvdGltdXMnLFxuICAgIHNtYWxsOiBvY1NpemUgPT09ICdzbWFsbCcsXG4gICAgbGFyZ2U6IG9jU2l6ZSA9PT0gJ2xhcmdlJyxcbiAgICBlcnJvcjogISFvY0Vycm9yLFxuICAgIHByZWZpeDogaGFzUHJlZml4LFxuICAgIHN1ZmZpeDogaGFzU3VmZml4IHx8IG9jSGFzRGVsZXRlQnV0dG9uLFxuICAgIHNodWk6IG9jU3R5bGUgPT09ICdzaHVpJyxcbiAgICAnc2h1aS1pbnB1dC1ib3gnOiBvY1N0eWxlID09PSAnc2h1aScsXG4gIH1cIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxpbnB1dFxuICAgIFtwbGFjZWhvbGRlcl09XCJvY1BsYWNlaG9sZGVyXCJcbiAgICAjaW5wdXRcbiAgICAoY2xpY2spPVwidG9nZ2xlT3B0aW9ucygpOyBvY0NsaWNrLmVtaXQoKVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIChpbnB1dCk9XCJmaWx0ZXJEYXRhKG9jVmFsdWUpXCJcbiAgICBbKG5nTW9kZWwpXT1cIm9jVmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9jVmFsdWUgPSAkZXZlbnQ7IG9jVmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2VtYW50aWMtaW5wdXQnOiBvY1NlbWFudGljTGlrZSB8fCBvY1N0eWxlID09PSAnc2VtYW50aWMnLFxuICAgIH1cIlxuICAgIFt0YWJpbmRleF09XCJvY1RhYkluZGV4XCJcbiAgICBbZGlzYWJsZWRdPVwib2NEaXNhYmxlZFwiXG4gICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAvPlxuICBAaWYgKCFvY1NlbWFudGljTGlrZSAmJiBvY1N0eWxlICE9PSAnc2VtYW50aWMnKSB7XG4gICAgPGxhYmVsPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJvY1BsYWNlaG9sZGVyXCI+PC9zcGFuPlxuICAgICAgQGlmIChvY1JlcXVpcmVkKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwib2MgY29sb3IgZXJyb3JcIj4qPC9zcGFuPlxuICAgICAgfVxuICAgIDwvbGFiZWw+XG4gIH1cbiAgPHNtYWxsXG4gICAgKm5nSWY9XCJvY0Vycm9yXCJcbiAgICBjbGFzcz1cImVycm9yLW1zZ1wiXG4gICAgPnt7IG9jRXJyb3IgfX08L3NtYWxsXG4gID5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwib2NQcmVmaXhcIj48L25nLWNvbnRlbnQ+XG4gIEBpZiAob2NIYXNEZWxldGVCdXR0b24gJiYgIW9jRGlzYWJsZWQpIHtcbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cIm9jLWhhcy1jbG9zZS1idXR0b24gb2Mgc3VmZml4XCJcbiAgICAgIChjbGljayk9XCJjbGVhclZhbHVlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9jRGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmJhY2tzcGFjZTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgfVxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1N1ZmZpeFwiPjwvbmctY29udGVudD5cblxuICA8ZGl2IGNsYXNzPVwib2Mtb3B0aW9ucy1kaXZcIj5cbiAgICBAaWYgKGlzT3B0aW9uc1Nob3duICYmICFvY0xvYWRpbmcgJiYgIW9jRGlzYWJsZWQpIHtcbiAgICAgIDx1bFxuICAgICAgICAjb3B0aW9uc1xuICAgICAgICBjbGFzcz1cIm9jLW9wdGlvbnNcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgJ21heC1oZWlnaHQnOiBvY09wdGlvbnNNYXhIZWlnaHQsXG4gICAgICAgICAgd2lkdGg6IG9jT3B0aW9uc1dpZHRoLFxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgQGlmICghZmlsdGVyZWREYXRhLmxlbmd0aCkge1xuICAgICAgICAgIDxsaSBjbGFzcz1cIm5vLW9wdGlvbnNcIj5cbiAgICAgICAgICAgIHt7IG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dCB8fCAnTmVuaHVtIHJlc3VsdGFkbyBkaXNwb27DrXZlbCcgfX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAZm9yIChkYXRhIG9mIGZpbHRlcmVkRGF0YTsgdHJhY2sgZGF0YS52YWx1ZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIEBpZiAoIW9jTWF4UmVzdWx0cyB8fCBpIDwgb2NNYXhSZXN1bHRzKSB7XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpLW9wdGlvblwiICNsaXN0T3B0aW9uc1JlZj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RWYWx1ZShkYXRhLnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuaG92ZXJdPVwib2NUeXBlICE9PSAnY291bnRlclNlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmhpZ2hsaWdodF09XCJzZWxlY3RlZEluZGV4ID09PSBpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBAaWYgKGRhdGEuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IGRhdGEuaWNvblNpemUgfHwgJzEuMnJlbScsXG4gICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRhLmljb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAge3sgZGF0YS5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgQGlmIChvY1R5cGUgPT09ICdjb3VudGVyU2VsZWN0Jykge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9jLWNvdW50ZXItc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1YnRyYWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVjcmVtZW50Q291bnRlcihkYXRhKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5yZW1vdmU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImNvdW50ZXJcIj57eyBkYXRhLmNvdW50ZXIgfHwgMCB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRkXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVtZW50Q291bnRlcihkYXRhKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5hZGQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKG9jTWF4UmVzdWx0cyAmJiBmaWx0ZXJlZERhdGEubGVuZ3RoID4gb2NNYXhSZXN1bHRzKSB7XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuby1vcHRpb25zXCI+XG4gICAgICAgICAgICAgIHt7IG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dCB8fCAnRGlnaXRlIHBhcmEgdmVyIG1haXMgcmVzdWx0YWRvcycgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIH0gQGVsc2UgaWYgKGlzT3B0aW9uc1Nob3duICYmIG9jTG9hZGluZyAmJiAhb2NEaXNhYmxlZCkge1xuICAgICAgPGRpdiBjbGFzcz1cIm9jLW9wdGlvbnMgbG9hZGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBsb2FkaW5nXCI+IHByb2dyZXNzX2FjdGl2aXR5IDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -746,9 +746,6 @@ class OcAutocompleteComponent {
746
746
  if (this.ocSuffix) {
747
747
  this.hasSuffix = true;
748
748
  }
749
- if (changes['ocData']) {
750
- this.filterData(this.ocValue);
751
- }
752
749
  this.formatOcValueType();
753
750
  this.loadOptions();
754
751
  this.cdr.detectChanges();
@@ -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/services/style-theme.service.ts","../../../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/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/lib/components/oc-message/oc-message.component.ts","../../../projects/otimus-library/src/lib/components/oc-message/oc-message.component.html","../../../projects/otimus-library/src/lib/components/oc-date-select/oc-date-select.component.ts","../../../projects/otimus-library/src/lib/components/oc-date-select/oc-date-select.component.html","../../../projects/otimus-library/src/lib/components/oc-button-menu/oc-button-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-button-menu/oc-button-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-progress/oc-progress.component.ts","../../../projects/otimus-library/src/lib/components/oc-progress/oc-progress.component.html","../../../projects/otimus-library/src/public-api.ts","../../../projects/otimus-library/src/otimus-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OtimusLibraryService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-otimus-library',\n standalone: true,\n imports: [],\n template: `\n <p>\n otimus-library works!\n </p>\n `,\n styles: ``\n})\nexport class OtimusLibraryComponent {\n\n}\n","import { ChangeDetectorRef, Injectable } from '@angular/core'\nimport { ToastType } from '../interfaces/oc-toast'\n\ntype ToastStatusType =\n | 'erro'\n | 'error'\n | 'success'\n | 'éxito'\n | 'sucesso'\n | 'carregando'\n | 'cargando'\n | 'loading'\n | 'informação'\n | 'información'\n | 'information'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OcToastService {\n toastList: ToastType[] = []\n isRunning: boolean = false\n currentToast!: ToastType\n\n closeToast(id: number): void {\n this.toastList = this.toastList.map((to) => {\n if (to.id === id) {\n return { ...to, counter: 0 }\n }\n return to\n })\n\n this.currentToast = this.toastList[0]\n }\n\n openToast = (\n toastStatus: ToastStatusType,\n toastMessage: string,\n toastCounter?: number,\n promiseKey?: string\n ): void => {\n const toast = {\n id: this.toastList.length === 0 ? 1 : this.toastList[this.toastList.length - 1].id + 1,\n counter: toastCounter || 5,\n status: toastStatus,\n message: toastMessage,\n promiseKey,\n hasAnimation: true,\n }\n\n const toastExists = this.toastList.some((to) => {\n return to.status === toastStatus && to.message === toastMessage\n })\n\n if (toastExists) {\n return\n }\n\n const keyExists = this.toastList.find((to) => to.promiseKey === toast.promiseKey)\n\n if (keyExists) {\n this.toastList = this.toastList.map((to) => {\n if (to.promiseKey === promiseKey) {\n return { ...toast, hasAnimation: false }\n }\n return to\n })\n }\n\n this.toastList.push(toast)\n\n if (!this.isRunning) {\n this.renderToasts()\n }\n }\n\n renderToasts(): void {\n if (this.toastList.length === 0) {\n this.isRunning = false\n return\n }\n\n this.isRunning = true\n this.currentToast = this.toastList[0]\n\n const toastInterval = setInterval(() => {\n if (this.toastList.length === 0) {\n clearInterval(toastInterval)\n this.isRunning = false\n return\n }\n\n this.currentToast = this.toastList[0]\n if (this.currentToast.status !== 'carregando') {\n this.currentToast.counter--\n }\n\n if (this.currentToast.counter <= 0) {\n this.toastList = this.toastList.filter((to) => {\n return to.status !== this.currentToast.status && to.message !== this.currentToast.message\n })\n clearInterval(toastInterval)\n this.renderToasts()\n }\n }, 1000)\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'oc-badge',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-badge.component.html',\n styleUrl: './oc-badge.component.scss'\n})\nexport class OcBadgeComponent implements OnInit {\n @Input() ocSize: 'small' | 'medium' | 'large' = 'small'\n @Input() ocColor: 'notification' | 'brand-g' | 'brand-p' | 'success' | 'warning' = 'notification'\n @Input() ocWaved: boolean = false\n\n classList: string[] = []\n\n ngOnInit(): void {\n this.classList.push(this.ocSize, this.ocColor)\n if(this.ocWaved) this.classList.push('waved')\n }\n}\n","<div>\n <div class=\"oc-badge\" [ngClass]=\"classList\">\n <ng-content>\n \n </ng-content>\n </div>\n</div>\n","import { Injectable } from '@angular/core'\nimport { OcStyleThemeType } from '../interfaces/oc-style-theme'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StyleThemeService {\n constructor() {}\n\n getStyleTheme(): OcStyleThemeType | undefined {\n const localStorageTheme = localStorage.getItem('@oc-lib-style_theme')\n\n if (!localStorageTheme || !['otimus', 'shui', 'semantic'].includes(localStorageTheme)) {\n return undefined\n }\n\n return localStorageTheme as OcStyleThemeType\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input } from '@angular/core'\nimport { OcBadgeComponent } from '../oc-badge/oc-badge.component'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-filter',\n standalone: true,\n imports: [CommonModule, OcBadgeComponent],\n templateUrl: './oc-filter.component.html',\n styleUrl: './oc-filter.component.scss',\n})\nexport class OcFilterComponent implements AfterViewInit {\n @Input() isOpen: boolean = false\n @Input() ocText: string = 'Filtros'\n @Input() ocActive: number = 0\n @Input() ocSide: 'left' | 'right' = 'left'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n toggleOpen() {\n this.isOpen = !this.isOpen\n }\n}\n","<div class=\"oc-filter-row\" [ngClass]=\"{\n reverse: ocSide === 'right'\n}\">\n <button class=\"oc-filter-btn\" [ngClass]=\"{\n shui: ocStyle === 'shui'\n }\" (click)=\"toggleOpen()\">\n <span class=\"material-symbols-outlined\">filter_list</span>\n {{ocText}}\n <div class=\"badge\">\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\n </div>\n </button>\n\n <div class=\"filter-row-content\">\n <ng-content select=\"[row]\"></ng-content>\n </div>\n\n</div>\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\n <ng-content select=\"[body]\">\n </ng-content>\n</div>","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n NgZone,\n ChangeDetectorRef,\n OnDestroy,\n SimpleChanges,\n OnChanges,\n} from '@angular/core'\n\n@Directive({\n selector: '[ocTooltip]',\n standalone: true,\n})\nexport class OcTooltipDirective implements OnDestroy, OnChanges {\n @Input() content: string = ''\n @Input() side: 'bottom' | 'upon' | 'left' | 'right' | 'top' | 'mouse' = 'mouse'\n\n private tooltip: HTMLElement | null = null\n private moveScheduled = false\n\n constructor(\n private elRef: ElementRef,\n private renderer: Renderer2,\n private zone: NgZone,\n private cdr: ChangeDetectorRef\n ) {\n this.zone.runOutsideAngular(() => {\n this.setupEvents()\n })\n }\n\n // ––– 1) Hook OnChanges para atualizar só quando @Input content mudar\n ngOnChanges(changes: SimpleChanges): void {\n if (!(changes['content'] && this.tooltip)) {\n return\n }\n // Limpa e redefine o conteúdo interno do tooltip já criado\n this.tooltip.innerHTML = ''\n const isHTML =\n new DOMParser().parseFromString(this.content, 'text/html').body.children.length > 0\n if (isHTML) {\n this.renderer.setProperty(this.tooltip, 'innerHTML', this.content)\n } else {\n const text = this.renderer.createText(this.content)\n this.renderer.appendChild(this.tooltip, text)\n this.renderer.setStyle(this.tooltip, 'color', '#7E8485')\n }\n }\n\n private setupEvents() {\n this.elRef.nativeElement.addEventListener('mouseover', (e: MouseEvent) => this.onMouseOver(e))\n this.elRef.nativeElement.addEventListener('mousemove', (e: MouseEvent) => this.onMouseMove(e))\n this.elRef.nativeElement.addEventListener('mouseout', (e: MouseEvent) => this.onMouseOut(e))\n }\n\n private createTooltip(): HTMLElement {\n if (!this.tooltip) {\n this.tooltip = this.renderer.createElement('div') as HTMLElement\n this.renderer.addClass(this.tooltip, 'oc-tooltip')\n this.renderer.setStyle(this.tooltip, 'position', 'absolute')\n this.renderer.setStyle(this.tooltip, 'pointer-events', 'none')\n this.renderer.setStyle(this.tooltip, 'z-index', '1000')\n this.renderer.setStyle(this.tooltip, 'display', 'none')\n this.renderer.appendChild(document.body, this.tooltip)\n }\n\n this.tooltip.innerHTML = ''\n\n const isHTML =\n new DOMParser().parseFromString(this.content, 'text/html').body.children.length > 0\n if (isHTML) {\n this.renderer.setProperty(this.tooltip, 'innerHTML', this.content)\n } else {\n const text = this.renderer.createText(this.content)\n this.renderer.appendChild(this.tooltip, text)\n this.renderer.setStyle(this.tooltip, 'color', '#7E8485')\n }\n\n if (this.side === 'mouse') {\n this.renderer.addClass(this.tooltip, 'mouse-tracking')\n }\n\n return this.tooltip\n }\n\n onMouseOver(event: MouseEvent): void {\n if (!this.content) return\n\n if (!this.tooltip) this.createTooltip()\n this.renderer.setStyle(this.tooltip, 'display', 'block')\n\n if (this.side === 'mouse') {\n this.updateTooltipPosition(event)\n } else {\n this.positionTooltipFixed()\n }\n\n this.cdr.markForCheck()\n }\n\n onMouseMove(event: MouseEvent): void {\n if (!this.tooltip || this.side !== 'mouse') return\n\n if (!this.moveScheduled) {\n this.moveScheduled = true\n requestAnimationFrame(() => {\n this.updateTooltipPosition(event)\n this.moveScheduled = false\n })\n }\n }\n\n onMouseOut(event: MouseEvent): void {\n if (\n this.tooltip &&\n event.relatedTarget instanceof Node &&\n this.tooltip.contains(event.relatedTarget)\n ) {\n return // evita flicker se mouse entra no tooltip\n }\n\n if (this.tooltip) {\n this.renderer.setStyle(this.tooltip, 'display', 'none')\n }\n\n this.cdr.markForCheck()\n }\n\n private updateTooltipPosition(event: MouseEvent): void {\n if (!this.tooltip) return\n\n const left = event.pageX + 12\n const top = event.pageY + 12\n\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`)\n this.renderer.setStyle(this.tooltip, 'top', `${top}px`)\n }\n\n private positionTooltipFixed(): void {\n if (!this.tooltip) return\n\n const rect = this.elRef.nativeElement.getBoundingClientRect()\n const width = this.elRef.nativeElement.offsetWidth\n const height = this.elRef.nativeElement.offsetHeight\n\n const scrollX = window.scrollX\n const scrollY = window.scrollY\n\n let left = 0\n let top = 0\n\n switch (this.side) {\n case 'right':\n left = scrollX + rect.right + 10\n top = scrollY + rect.top + height / 2\n break\n case 'left':\n left = scrollX + rect.left - this.tooltip.offsetWidth - 10\n top = scrollY + rect.top + height / 2\n break\n case 'upon':\n case 'top':\n left = scrollX + rect.left + width / 2\n top = scrollY + rect.top - this.tooltip.offsetHeight - 10\n break\n case 'bottom':\n left = scrollX + rect.left + width / 2\n top = scrollY + rect.bottom + 10\n break\n }\n\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`)\n this.renderer.setStyle(this.tooltip, 'top', `${top}px`)\n }\n\n ngOnDestroy(): void {\n if (this.tooltip && this.tooltip.parentNode) {\n this.tooltip.parentNode.removeChild(this.tooltip)\n this.tooltip = null\n }\n }\n}\n","import { CommonModule } from '@angular/common'\nimport {\n AfterContentChecked,\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-input',\n host: {\n '[style.width]': 'computedWidth',\n '[style.min-width]': 'computedMinWidth',\n '[style.max-width]': 'computedMaxWidth',\n },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-input.component.html',\n styleUrls: ['./oc-input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OcInputComponent implements AfterViewInit, OnChanges, AfterContentChecked {\n @ContentChild('ocPrefix') ocPrefix: any\n @ContentChild('ocSuffix') ocSuffix: any\n\n @Input() ocError?: string\n @Input() ocSize?: 'small' | 'medium' | 'large' = 'medium'\n @Input() ocPlaceholder: string = ''\n @Input() ocWidth?: string\n @Input() ocMinWidth?: string\n @Input() ocMaxWidth?: string\n @Input() ocRequired: boolean = false\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n inputId: string = `oc-${Math.random()}`\n hasSuffix: boolean = false\n hasPrefix: boolean = false\n\n @HostBinding('style.width')\n get computedWidth() {\n return this.ocWidth ? this.ocWidth : null\n }\n\n @HostBinding('style.min-width')\n get computedMinWidth() {\n return this.ocMinWidth || '0'\n }\n\n @HostBinding('style.max-width')\n get computedMaxWidth() {\n return this.ocMaxWidth || '100%'\n }\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private styleThemeService: StyleThemeService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n const inputBox = this.el.nativeElement\n\n if (inputBox) {\n const inputElement = inputBox.querySelector('input')\n\n if (inputElement) {\n this.renderer.setAttribute(inputElement, 'placeholder', '')\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\n }\n }\n }\n\n ngAfterContentChecked(): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n}\n","<div [ngClass]=\"{\n 'oc-input-box': !ocStyle || ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix,\n 'shui': ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui'\n}\" [id]=\"inputId\">\n <ng-content></ng-content>\n <ng-content select=\"ocPrefix\"></ng-content>\n <ng-content select=\"ocSuffix\"></ng-content>\n <label>\n <span [innerHTML]=\"ocPlaceholder\"></span>\n @if(ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\n</div>","import { CommonModule } from '@angular/common'\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-modal',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-modal.component.html',\n styleUrl: './oc-modal.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class OcModalComponent implements AfterViewInit {\n constructor(\n private elRef: ElementRef,\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @Input() ocClose: boolean = true\n @Input() ocTitle: string = ''\n @Input() ocSize: 'small' | 'medium' | 'large' | 'screen' = 'medium'\n @Input() ocBgColor?: string\n @Input() ocWidth: string = ''\n @Input() ocMaxWidth: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocLoading: boolean = false\n @Output() ocOnClose = new EventEmitter<any>()\n @Output() ocOnOpen = new EventEmitter<any>()\n\n @Input() isOpen: boolean = false\n closing: boolean = false\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n open(): void {\n this.isOpen = true\n this.elRef.nativeElement.ownerDocument.body.classList.add('disabled-scroll')\n this.ocOnOpen.emit(this.isOpen)\n }\n\n close(): void {\n this.closing = true\n setTimeout(() => {\n this.isOpen = false\n this.closing = false\n\n if (this.ocOnClose) {\n this.ocOnClose.emit(this.isOpen)\n }\n\n this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll')\n this.cdr.detectChanges()\n }, 100)\n }\n\n protected getModalStyles(): { [key: string]: string } {\n const styles: { [key: string]: string } = {}\n if (this.ocBgColor) {\n styles['background-color'] = this.ocBgColor\n }\n if (this.ocWidth) {\n styles['width'] = this.ocWidth\n }\n if (this.ocMaxWidth) {\n styles['max-width'] = this.ocMaxWidth\n }\n return styles\n }\n}\n","@if (isOpen) {\n <div\n class=\"oc-modal-bg\"\n *ngIf=\"isOpen\"\n [ngClass]=\"{\n 'closing-bg': closing,\n shui: ocStyle === 'shui',\n 'shui-modal': ocStyle === 'shui',\n }\"\n >\n <div\n class=\"oc-modal\"\n [ngClass]=\"{\n large: ocSize === 'large',\n medium: ocSize === 'medium',\n small: ocSize === 'small',\n closing: closing,\n 'total-white': ocBgColor === 'white',\n }\"\n [ngStyle]=\"getModalStyles()\"\n >\n <header class=\"oc-modal-header\">\n <h3 *ngIf=\"ocTitle && ocTitle.trim().length > 0\">{{ ocTitle }}</h3>\n @if (ocClose) {\n <button\n (click)=\"close()\"\n class=\"oc-close-btn\"\n >\n <span\n class=\"material-symbols-outlined md-18\"\n title=\"Fechar\"\n >close</span\n >\n </button>\n }\n </header>\n <div\n class=\"oc-modal-content\"\n [ngClass]=\"{\n 'loading-content': ocLoading,\n }\"\n >\n @if (isOpen) {\n <ng-content></ng-content>\n }\n @if (ocLoading) {\n <div class=\"load-container\">\n <span class=\"loader material-symbols-outlined oc color p-1\">progress_activity</span>\n </div>\n }\n </div>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input, ViewEncapsulation } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { DomSanitizer } from '@angular/platform-browser'\n\n@Component({\n selector: 'oc-key-value',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-key-value.component.html',\n styleUrl: './oc-key-value.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class OcKeyValueComponent implements AfterViewInit {\n constructor(\n private styleThemeService: StyleThemeService,\n protected sanitizer: DomSanitizer\n ) {}\n @Input() ocKey: string = ''\n @Input() ocValue: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n}\n","<div\n class=\"oc-key-value\"\n [ngClass]=\"{\n shui: ocStyle === 'shui',\n }\"\n>\n <!-- Ícone -->\n <ng-content></ng-content>\n @if (ocKey) {\n <span [innerHTML]=\"ocKey + ':'\"></span>\n }\n <p [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(ocValue)\"></p>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'oc-chip',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-chip.component.html',\n styleUrl: './oc-chip.component.scss',\n})\nexport class OcChipComponent {\n @Input() ocSelected: boolean = false\n @Input() ocType: 'select' | 'remove' | 'tag' | 'select_remove' = 'select'\n @Input() ocBg: 'green' | 'red' | 'yellow' | 'default' = 'green'\n @Input() ocText: string = ''\n @Input() ocFontSize: string = '16px'\n @Output() ocClick: EventEmitter<any> = new EventEmitter<any>()\n @Output() ocRemove: EventEmitter<any> = new EventEmitter<any>()\n\n ocEvent(event: any) {\n event.stopPropagation()\n this.ocClick.emit()\n }\n\n ocRemoveEvent(event: any) {\n event.stopPropagation()\n if (!this.ocRemove.observed) {\n this.ocClick.emit()\n return\n }\n this.ocRemove.emit()\n }\n}\n","<button\n [ngClass]=\"{\n 'oc-chip': true,\n selected: ocSelected,\n 'not-selectable': ocType !== 'select' && ocType !== 'select_remove',\n tag: ocType === 'tag',\n remove: ocType === 'remove' || ocType === 'select_remove',\n 'green-bg': ocBg === 'green',\n 'red-bg': ocBg === 'red',\n 'yellow-bg': ocBg === 'yellow',\n }\"\n type=\"button\"\n [ngStyle]=\"{\n 'font-size': ocFontSize,\n }\"\n [title]=\"ocText\"\n (click)=\"ocType.includes('select') ? ocEvent($event) : null\"\n>\n <ng-content></ng-content>\n @if (ocType.includes('remove')) {\n <span\n class=\"material-symbols-outlined\"\n (click)=\"ocRemoveEvent($event)\"\n >close</span\n >\n }\n</button>\n","import { CommonModule } from '@angular/common'\nimport { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-modal-footer',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-modal-footer.component.html',\n styleUrl: './oc-modal-footer.component.scss',\n})\nexport class OcModalFooterComponent {\n @Input() ocSide: 'left' | 'right' = 'right'\n @Input() ocBgColor?: string\n @Input() ocFixed: boolean = true\n}\n","<footer class=\"oc-modal-footer\" [ngClass]=\"{\n 'left': ocSide === 'left',\n 'right': ocSide === 'right',\n 'fixed': ocFixed\n}\"\n [ngStyle]=\"{\n 'background-color': ocBgColor\n }\"\n>\n <ng-content></ng-content>\n</footer>","import { HttpClient } from '@angular/common/http'\nimport { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InternationalizationService {\n constructor(private http: HttpClient) { }\n private queryLang: string | null = null\n\n getTranslation(\n code: string | number,\n params?: { [key: string]: string | number } | null\n ): string {\n code = typeof code === 'number' ? `LIB${code}` : code\n const translations = JSON.parse(localStorage.getItem('@oc-lib-lang_words') || '{}')\n let translation = translations[code] || code\n\n if (params) {\n Object.keys(params).forEach((key) => {\n translation = translation.replace(`%{${key}}`, params[key].toString())\n })\n }\n\n return translation\n }\n\n getTranslationsByLanguage() {\n const urlParams = new URLSearchParams(window.location.search)\n this.queryLang = urlParams.get('lang')\n if(!this.queryLang) return\n if (!this.canUpdateStoredLanguages()) return\n\n return this.http.get<Object>(`https://cms-backend.otimusclinic.com/translations/language?lang=${this.queryLang}`)\n .subscribe(resp => {\n if (!resp || !Object.keys(resp).length) return\n this.setLanguages(resp)\n this.setLanguage(this.queryLang as string)\n this.setUpdatedLastTime()\n })\n }\n\n canUpdateStoredLanguages(): boolean {\n const storedLastTime = localStorage.getItem('@oc-lib-stored_at')\n const storedLanguage = localStorage.getItem('language')\n \n if (!storedLastTime || !storedLanguage || !this.queryLang) return true\n\n let yesterday = new Date()\n yesterday.setDate(yesterday.getDate() - 1)\n\n const storedDate = new Date(storedLastTime)\n\n if (storedDate <= yesterday || (storedLanguage !== this.queryLang)) {\n return true\n }\n\n return false\n }\n\n setLanguage(language: string): void {\n localStorage.setItem('language', language)\n }\n\n setUpdatedLastTime(): void {\n const updatedLastTime = new Date().toISOString()\n localStorage.setItem('@oc-lib-stored_at', updatedLastTime)\n }\n\n setLanguages(translations: Object): void {\n localStorage.setItem('@oc-lib-lang_words', JSON.stringify(translations))\n }\n}\n","import { CommonModule } from '@angular/common'\nimport {\n AfterContentChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n} from '@angular/core'\nimport { OcAutoCompleteType } from '../../interfaces/oc-autocomplete'\nimport { FormsModule } from '@angular/forms'\nimport { InternationalizationService } from '../../services/internationalization.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-autocomplete',\n standalone: true,\n imports: [CommonModule, FormsModule],\n providers: [InternationalizationService],\n host: {\n '[style.width]': 'computedWidth',\n '[style.min-width]': 'computedMinWidth',\n '[style.max-width]': 'computedMaxWidth',\n },\n templateUrl: './oc-autocomplete.component.html',\n styleUrl: './oc-autocomplete.component.scss',\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class OcAutocompleteComponent\n implements AfterViewInit, OnChanges, AfterContentChecked, OnInit\n{\n constructor(\n private renderer: Renderer2,\n private el: ElementRef,\n private translateService: InternationalizationService,\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @ViewChild('input') input!: ElementRef\n @ViewChild('options') options!: ElementRef\n @ViewChild('outerDiv') outerDiv!: ElementRef<HTMLDivElement>\n @ViewChildren('listOptionsRef') listOptionsElements!: QueryList<ElementRef<HTMLLIElement>>\n\n @ContentChild('ocPrefix') ocPrefix: any\n @ContentChild('ocSuffix') ocSuffix: any\n\n private _ocData: OcAutoCompleteType[] = []\n @Input()\n set ocData(value: OcAutoCompleteType[]) {\n this._ocData = value\n\n this.filteredData = value\n\n if (this.ocSelectByTyping && this.ocValue) {\n const found = value.find((el) => el.value == this.ocValue)\n if (found) {\n this.selectedValue = found\n this.ocValue = found.name\n }\n }\n\n this.cdr.detectChanges() // Força a atualização\n }\n\n get ocData(): OcAutoCompleteType[] {\n return this._ocData\n }\n @Input() ocPlaceholder?: string\n @Input() ocError?: string\n @Input() ocSize: 'small' | 'large' | 'medium' = 'medium'\n @Input() ocValue: any = ''\n @Input() ocClearOnChange: boolean = false\n @Input() ocWidth?: string\n @Input() ocMinWidth?: string\n @Input() ocMaxWidth?: string\n @Input() ocOptionsMaxHeight?: string\n @Input() ocOptionsWidth?: string\n @Input() ocRequired: boolean = false\n @Input() ocMaxResults?: number\n @Input() ocAllowNotListedValue: boolean = false\n @Input() ocNoAvailableOptionsText?: string\n @Input() ocTypeForMoreResultsText?: string\n @Input() ocLoading: boolean = false\n @Input() ocSemanticLike: boolean = false // deprecated. Prefer using ocStyleTheme instead\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocTabIndex?: number\n @Input() iconSize: 'small' | 'medium' | 'large' = 'medium'\n @Input() ocSelectByTyping: boolean = true\n @Input() ocDisabled = false\n @Input() ocType: 'counterSelect' | 'default' = 'default'\n\n @Input() ocHasDeleteButton?: boolean = false\n @Input() ocEnableKeyboard: boolean = false\n\n @Output() ocValueChange = new EventEmitter<string>()\n @Output() ocChange = new EventEmitter<string | null>()\n @Output() ocCounterSelectChange = new EventEmitter<OcAutoCompleteType[]>()\n @Output() ocOptionNotFound = new EventEmitter()\n @Output() ocClick = new EventEmitter()\n\n hasSuffix: boolean = false\n hasPrefix: boolean = false\n\n isOptionsShown: boolean = false\n filteredData: OcAutoCompleteType[] = []\n selectedValue: OcAutoCompleteType = {\n name: '',\n value: null,\n }\n\n selectedIndex: number = -1\n\n @HostBinding('style.width')\n get computedWidth() {\n return this.ocWidth ? this.ocWidth : null\n }\n\n @HostBinding('style.min-width')\n get computedMinWidth() {\n return this.ocMinWidth || '0'\n }\n\n @HostBinding('style.max-width')\n get computedMaxWidth() {\n return this.ocMaxWidth || '100%'\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n if (changes['ocData']) {\n this.filterData(this.ocValue)\n }\n this.formatOcValueType()\n this.loadOptions()\n\n this.cdr.detectChanges()\n }\n\n ngOnInit(): void {\n if (this.ocValue === undefined) {\n this.ocValue = null\n }\n }\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n this.formatOcValueType()\n this.loadOptions()\n this.translateService.getTranslationsByLanguage()\n this.cdr.detectChanges()\n }\n\n ngAfterContentChecked(): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n\n formatOcValueType() {\n if (this.ocValue) {\n return `${this.ocValue}`\n }\n return null\n }\n\n getTranslation(code: number | string) {\n return this.translateService.getTranslation(code)\n }\n\n loadOptions() {\n this.formatOcValueType()\n setTimeout(() => {\n this.filteredData = this.ocData\n\n const inputBox = this.el.nativeElement\n\n if (this.ocSelectByTyping && this.ocValue) {\n const found = this.ocData.find((el) => el.value == this.ocValue)\n\n if (found) {\n this.selectedValue = found\n this.ocValue = found.name\n }\n }\n\n if (inputBox) {\n const inputElement = inputBox.querySelector('input')\n\n if (inputElement && !this.ocSemanticLike && ['otimus', 'shui'].includes(this.ocStyle)) {\n this.renderer.setAttribute(inputElement, 'placeholder', '')\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\n }\n }\n }, 50)\n }\n\n closeOnClickOut(): void {\n this.renderer.listen('window', 'click', (e: Event) => {\n const target = e.target as HTMLElement\n\n const insideCounterSelect =\n this.ocType === 'counterSelect' && target.closest('.oc-counter-select')\n\n if (this.input && this.options && !insideCounterSelect) {\n if (target !== this.input.nativeElement && target !== this.options.nativeElement) {\n this.isOptionsShown = false\n this.findByTyping()\n }\n }\n })\n }\n\n findByTyping(): void {\n if (!this.ocValue || !this.ocValue?.toString().trim().length) {\n this.ocChange.emit(null)\n this.ocOptionNotFound.emit()\n }\n if (!this.ocSelectByTyping) {\n return\n }\n\n const foundValue = this.ocData.find(\n (data) =>\n data.name.toString().toLowerCase() === this.ocValue?.toString().toLowerCase() ||\n data.value.toString().toLowerCase() === this.ocValue?.toString().toLowerCase()\n )\n\n if (!foundValue) {\n this.selectedValue = {\n name: '',\n value: null,\n }\n if (!this.ocAllowNotListedValue) {\n this.ocValue = ''\n }\n this.filteredData = this.ocData\n return\n }\n this.selectedValue = foundValue\n }\n\n filterData(name: string): void {\n this.isOptionsShown = true\n this.filteredData = this.ocData.filter((data) => {\n return this.getFormattedName(data.name)?.includes(this.getFormattedName(name))\n })\n }\n\n getFormattedName(str: string): string {\n return str\n ?.toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '') // Remove marcas diacríticas\n }\n\n toggleOptions() {\n this.closeOnClickOut()\n this.isOptionsShown = !this.isOptionsShown\n }\n\n selectValue(value: any) {\n const foundValue = this.ocData.find((data) => data.value == value)\n\n if (!foundValue) {\n this.selectedValue = {\n name: '',\n value: null,\n }\n\n this.selectedIndex = -1\n this.cdr.detectChanges()\n return\n }\n\n if (this.ocType === 'counterSelect') {\n foundValue.counter = (foundValue.counter || 0) + 1\n this.emitCounterSelectChange()\n return\n }\n\n this.selectedValue = foundValue\n if (this.ocClearOnChange) {\n this.ocValue = ''\n this.filteredData = this.ocData\n } else {\n this.ocValue = foundValue.name\n }\n\n this.isOptionsShown = false\n this.selectedIndex = this.filteredData.indexOf(foundValue)\n\n this.ocChange.emit(this.selectedValue.value)\n\n this.cdr.detectChanges()\n }\n\n clearValue() {\n this.selectedValue = {\n name: '',\n value: null,\n }\n this.ocValue = ''\n this.filteredData = this.ocData\n }\n\n protected incrementCounter(option: OcAutoCompleteType): void {\n if (!option.counter) {\n option.counter = 1\n } else {\n option.counter++\n }\n this.emitCounterSelectChange()\n }\n\n protected decrementCounter(option: OcAutoCompleteType): void {\n if (option.counter && option.counter > 0) {\n option.counter--\n this.emitCounterSelectChange()\n }\n }\n\n emitCounterSelectChange(): void {\n const hasMoreThanZero = this.ocData.filter((data) => !!data.counter)\n this.ocCounterSelectChange.emit(hasMoreThanZero)\n }\n\n moveSelection(delta: number): void {\n this.selectedIndex = Math.max(\n 0,\n Math.min(this.listOptionsElements.length - 1, this.selectedIndex + delta)\n )\n\n const element = this.listOptionsElements.get(this.selectedIndex)?.nativeElement\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n }\n }\n\n protected onKeyDown(event: Event): void {\n if (this.ocEnableKeyboard) {\n const e = event as KeyboardEvent\n\n if (this.isOptionsShown) {\n if (e.key === 'ArrowUp') {\n this.moveSelection(-1)\n } else if (e.key === 'ArrowDown') {\n this.moveSelection(1)\n } else if (e.key === 'Enter') {\n this.selectValue(this.filteredData[this.selectedIndex].value)\n } else {\n return\n }\n }\n\n e.preventDefault()\n e.stopPropagation()\n }\n }\n}\n","<div\n [ngClass]=\"{\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix || ocHasDeleteButton,\n shui: ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui',\n }\"\n>\n <ng-content></ng-content>\n <input\n [placeholder]=\"ocPlaceholder\"\n #input\n (click)=\"toggleOptions(); ocClick.emit()\"\n type=\"text\"\n (input)=\"filterData(ocValue)\"\n [(ngModel)]=\"ocValue\"\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\n [ngClass]=\"{\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\n }\"\n [tabindex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n (keydown)=\"onKeyDown($event)\"\n />\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\n <label>\n <span [innerHTML]=\"ocPlaceholder\"></span>\n @if (ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n }\n <small\n *ngIf=\"ocError\"\n class=\"error-msg\"\n >{{ ocError }}</small\n >\n <ng-content select=\"ocPrefix\"></ng-content>\n @if (ocHasDeleteButton && !ocDisabled) {\n <button\n class=\"oc-has-close-button oc suffix\"\n (click)=\"clearValue()\"\n [disabled]=\"ocDisabled\"\n >\n <span class=\"material-symbols-outlined\">backspace</span>\n </button>\n }\n <ng-content select=\"ocSuffix\"></ng-content>\n\n <div class=\"oc-options-div\">\n @if (isOptionsShown && !ocLoading && !ocDisabled) {\n <ul\n #options\n class=\"oc-options\"\n [ngStyle]=\"{\n 'max-height': ocOptionsMaxHeight,\n width: ocOptionsWidth,\n }\"\n >\n @if (!filteredData.length) {\n <li class=\"no-options\">\n {{ ocNoAvailableOptionsText || 'Nenhum resultado disponível' }}\n </li>\n } @else {\n @for (data of filteredData; track data.value; let i = $index) {\n @if (!ocMaxResults || i < ocMaxResults) {\n <li class=\"li-option\" #listOptionsRef>\n <button\n type=\"button\"\n (click)=\"selectValue(data.value)\"\n [class.hover]=\"ocType !== 'counterSelect'\"\n [class.highlight]=\"selectedIndex === i\"\n >\n @if (data.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n 'font-size': data.iconSize || '1.2rem',\n }\"\n >\n {{ data.icon }}\n </span>\n }\n {{ data.name }}\n </button>\n @if (ocType === 'counterSelect') {\n <div class=\"oc-counter-select\">\n <button\n class=\"subtract\"\n (click)=\"decrementCounter(data)\"\n >\n <span class=\"material-symbols-outlined\">remove</span>\n </button>\n <p class=\"counter\">{{ data.counter || 0 }}</p>\n <button\n class=\"add\"\n (click)=\"incrementCounter(data)\"\n >\n <span class=\"material-symbols-outlined\">add</span>\n </button>\n </div>\n }\n </li>\n }\n }\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\n <li class=\"no-options\">\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\n </li>\n }\n }\n </ul>\n } @else if (isOptionsShown && ocLoading && !ocDisabled) {\n <div class=\"oc-options loader\">\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'oc-profile',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-profile.component.html',\n styleUrl: './oc-profile.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class OcProfileComponent implements OnInit {\n @Input() ocUserName?: string\n @Input() ocProfilePic?: string\n @Input() ocSize: 'large' | 'medium' | 'small' | 'tiny' = 'medium'\n nameInitials: string = ''\n \n ngOnInit() {\n this.getInitials()\n }\n\n getInitials() {\n if(!this.ocUserName) return\n\n const splittedName = this.ocUserName?.split(' ')\n\n const firstLetter = splittedName[0][0]\n let lastLetter = ''\n \n const lastName = splittedName[splittedName.length - 1]\n\n if(splittedName.length > 1 && lastName){\n lastLetter = lastName[0]\n }\n\n this.nameInitials = (firstLetter + lastLetter).toUpperCase()\n }\n}\n","<div class=\"oc-profile\"\n [ngClass]=\"{\n small: ocSize === 'small',\n tiny: ocSize === 'tiny',\n large: ocSize === 'large'\n }\"\n>\n <div class=\"content\">\n @if(ocProfilePic){\n <img [src]=\"ocProfilePic\" [alt]=\"ocUserName || 'Foto de perfil do usuário'\">\n }@else {\n <span>\n {{nameInitials}}\n </span>\n }\n </div>\n</div>","import { Component, Input } from '@angular/core';\nimport { OcProfileComponent } from '../oc-profile/oc-profile.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'oc-log',\n standalone: true,\n imports: [CommonModule, OcProfileComponent],\n templateUrl: './oc-log.component.html',\n styleUrl: './oc-log.component.scss'\n})\nexport class OcLogComponent {\n @Input() ocProfilePic?: string = ''\n @Input() ocUserName?: string = ''\n}\n","<div class=\"oc-log\">\n <div class=\"left-side\" [ngClass]=\"{\n 'has-profile': ocProfilePic || ocUserName\n }\">\n @if(ocProfilePic || ocUserName) {\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\n </oc-profile>\n } @else {\n <div class=\"dot\"></div>\n }\n </div>\n\n <div class=\"content\" [ngClass]=\"{\n 'has-profile-content': ocProfilePic || ocUserName\n }\" selector=\"[content]\">\n <ng-content></ng-content>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'oc-pagination',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-pagination.component.html',\n styleUrl: './oc-pagination.component.scss'\n})\nexport class OcPaginationComponent implements OnInit{\n @Input() ocPage: number = 1\n @Input() ocMaxPage?: number\n @Output() ocGetPage = new EventEmitter<number>()\n \n ngOnInit(): void {\n if(!this.ocMaxPage) this.ocMaxPage = this.ocPage\n }\n\n firstPage() {\n this.ocPage = 1\n \n this.ocGetPage.emit(this.ocPage)\n }\n\n decrementPage() {\n if(this.ocPage <= 1) return\n this.ocPage--\n \n this.ocGetPage.emit(this.ocPage)\n }\n\n incrementPage() {\n if(!this.ocMaxPage || this.ocPage >= this.ocMaxPage) return\n this.ocPage++\n \n this.ocGetPage.emit(this.ocPage)\n }\n\n lastPage() {\n if(!this.ocMaxPage) return\n this.ocPage = this.ocMaxPage\n \n this.ocGetPage.emit(this.ocPage)\n }\n}\n","<div class=\"oc-pagination\">\n <p class=\"oc-pagination-text\">\n Página\n <span>{{ocPage}}</span> \n de\n <span>{{ocMaxPage}}</span>\n </p>\n <div class=\"oc-pagination-buttons\">\n <button (click)=\"firstPage()\" [ngClass]=\"{\n disabled: ocPage === 1\n }\">\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\n </button>\n <button (click)=\"decrementPage()\" [ngClass]=\"{\n disabled: ocPage === 1\n }\">\n <span class=\"material-symbols-outlined\">navigate_before</span>\n </button>\n <button (click)=\"incrementPage()\" [ngClass]=\"{\n disabled: ocPage === ocMaxPage\n }\"> \n <span class=\"material-symbols-outlined\">navigate_next</span>\n </button>\n <button (click)=\"lastPage()\" [ngClass]=\"{\n disabled: ocPage === ocMaxPage\n }\"> \n <span class=\"material-symbols-outlined\">\n keyboard_double_arrow_right\n </span>\n </button>\n </div>\n</div>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'oc-not-found',\n standalone: true,\n imports: [],\n templateUrl: './oc-not-found.component.html',\n styleUrl: './oc-not-found.component.scss'\n})\nexport class OcNotFoundComponent {\n\n}\n","<main class=\"oc-not-found\">\n <div class=\"content\">\n <div class=\"main-title\">\n <h1>404</h1>\n <span class=\"s-1\">?</span>\n <span class=\"s-2\">?</span>\n <span class=\"s-3\">?</span>\n </div>\n <div class=\"not-found-msg\">\n <h2>Página não encontrada</h2>\n <p>Não conseguimos encontrar a página que você está procurando</p>\n </div>\n </div>\n</main>","import { CommonModule } from '@angular/common'\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core'\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-checkbox',\n standalone: true,\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n templateUrl: './oc-checkbox.component.html',\n styleUrl: './oc-checkbox.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OcCheckboxComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class OcCheckboxComponent implements ControlValueAccessor, AfterViewInit {\n checkBoxId: string = `oc-${Math.random()}`\n\n constructor(\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @Output() ocChange = new EventEmitter<boolean>()\n @Output() ocCheckedChange = new EventEmitter<boolean>();\n\n @Input() ocChecked: boolean = false\n @Input() ocSize: 'tiny' | 'small' = 'small'\n @Input() ocLabel?: string = ''\n @Input() ocName?: string = ''\n @Input() ocColor: 'purple' | 'green' = 'green'\n @Input() ocBorderColor: 'white' | 'gray' = 'white'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocDoubleClick = new EventEmitter<boolean>()\n @Input() formControl?: FormControl\n @Input() ocTabIndex?: number\n @Input() disableDoubleClickCheck = true\n @Input() ocDisabled = false\n\n private onChange?: (value: boolean) => void\n private onTouched = (): void => {}\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n writeValue(value: boolean): void {\n this.ocChecked = value\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n private doubleClickCounter = 0\n private timeoutId: ReturnType<typeof setTimeout> | null = null\n protected onDoubleClick(): void {\n if (this.disableDoubleClickCheck) {\n return\n }\n if (this.timeoutId) {\n clearTimeout(this.timeoutId)\n this.timeoutId = null\n }\n\n if (this.doubleClickCounter === 0) {\n this.doubleClickCounter = 1\n this.timeoutId = setTimeout(() => {\n this.doubleClickCounter = 0\n this.cdr.markForCheck()\n setInterval(() => this.cdr.detectChanges(), 100)\n }, 500)\n } else {\n this.doubleClickCounter = 0\n if (this.ocDoubleClick && this.ocChecked) {\n this.ocDoubleClick.emit(this.ocChecked)\n }\n }\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n toggleChecked(): void {\n if (this.doubleClickCounter === 1) {\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n return\n }\n this.ocChecked = !this.ocChecked\n if (this.onChange) {\n this.onChange(this.ocChecked)\n }\n this.onTouched()\n this.ocChange.emit(this.ocChecked)\n this.ocCheckedChange.emit(this.ocChecked)\n\n if (this.formControl) {\n this.formControl.setValue(this.ocChecked)\n }\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n}\n","<button\n class=\"oc-checkbox-content cbx\"\n type=\"button\"\n (click)=\"toggleChecked(); onDoubleClick()\"\n [ngClass]=\"{\n shui: ocStyle === 'shui',\n }\"\n [tabIndex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n>\n <div\n class=\"oc-checkbox cbx\"\n [ngClass]=\"{\n checked: ocChecked,\n tiny: ocSize === 'tiny',\n purple: ocColor === 'purple',\n 'gray-border': ocBorderColor === 'gray',\n }\"\n >\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\n </div>\n\n @if (ocLabel) {\n <span class=\"oc-checkbox-label cbx\">\n {{ ocLabel }}\n </span>\n }\n\n <ng-content> </ng-content>\n\n @if (formControl) {\n <input\n [formControl]=\"formControl\"\n [name]=\"ocName\"\n [checked]=\"ocChecked\"\n type=\"checkbox\"\n hidden\n [disabled]=\"ocDisabled\"\n />\n } @else {\n <input\n [name]=\"ocName\"\n [checked]=\"ocChecked\"\n type=\"checkbox\"\n hidden\n [disabled]=\"ocDisabled\"\n />\n }\n</button>\n","import { Component,ElementRef,EventEmitter,Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { OcMenuType } from '../../interfaces/oc-menu';\nimport { OcCheckboxComponent } from '../oc-checkbox/oc-checkbox.component';\n\n@Component({\n selector: 'oc-menu',\n standalone: true,\n imports: [CommonModule, CdkMenuModule, OcCheckboxComponent],\n templateUrl: './oc-menu.component.html',\n styleUrls: ['./oc-menu.component.scss']\n})\nexport class OcMenuComponent implements OnInit {\n constructor(private renderer: Renderer2) {}\n\n @ViewChild('ocMenuEl') menu!: ElementRef;\n @Output() ocChange = new EventEmitter()\n @Input() ocMenu: OcMenuType[] = []\n isMenuShown: boolean = false\n buttonId?:string\n\n open() {\n this.isMenuShown = true\n\n setTimeout(() => {\n if(this.menu){\n const parentButton = this.findParentButton(this.menu.nativeElement);\n if (parentButton) {\n this.buttonId = `oc-${Math.random()}`\n this.renderer.setAttribute(parentButton, 'id', this.buttonId);\n }\n }\n }, 100)\n }\n\n ngOnInit() {\n this.closeOnClickOut()\n }\n\n findParentButton(element: HTMLElement): HTMLButtonElement | null {\n let parent = element.parentElement;\n while (parent) {\n if (parent.tagName.toLowerCase() === 'button') {\n return parent as HTMLButtonElement;\n }\n parent = parent.parentElement;\n }\n return null;\n }\n \n closeOnClickOut() {\n this.renderer.listen('window', 'click',(e:any)=>{\n\n const isCheckbox = Array.from(e.target.classList).includes('cbx')\n\n if(isCheckbox) return\n else if(!this.menu) return\n\n if(this.buttonId && e.target.id !== this.buttonId) {\n this.isMenuShown = false\n return\n }\n \n })\n }\n\n changeCheckbox(name: string, checked: boolean) {\n let foundItem\n this.ocMenu.forEach(item => {\n if(item.name === name && typeof checked === 'boolean') {\n item.checked = checked\n\n foundItem = item\n }\n })\n this.ocChange.emit(foundItem)\n return foundItem\n }\n\n typeof(key: any) {\n return typeof key\n }\n}\n","<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\n <ul>\n @for(option of ocMenu; track $index) {\n <li\n [ngClass]=\"{\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\n }\"\n >\n @if(typeof(option.checked) === 'boolean'){\n <div class=\"checkbox-opt cbx\">\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\n </div>\n }\n @if(option.icon) {\n <span class=\"material-symbols-outlined\">\n {{option.icon}}\n </span>\n } \n @if(option.callback){\n <button (click)=\"option.callback()\">{{option.name}}</button>\n }\n @if(option.url){\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\n }\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\n <span>{{option.name}}</span>\n }\n </li>\n }\n </ul>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { ChangeDetectionStrategy, Component } from '@angular/core'\nimport { OcToastService } from '../../services/oc-toast.service'\n\n@Component({\n selector: 'oc-toast',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-toast.component.html',\n styleUrl: './oc-toast.component.scss',\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class OcToastComponent {\n constructor(public toast: OcToastService) {}\n}\n","<div\n class=\"toast\"\n [ngClass]=\"{\n 'close-toast': toast.currentToast.counter === 1,\n error: ['erro', 'error'].includes(toast.currentToast.status.toLowerCase()),\n success: ['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase()),\n loading: ['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase()),\n animation: toast.currentToast.hasAnimation\n }\"\n *ngIf=\"toast.currentToast && toast.currentToast.counter > 0\"\n>\n <header>\n <ng-container [ngTemplateOutlet]=\"iconTemplate\"></ng-container>\n <h4 class=\"status\">\n {{ toast.currentToast.status[0].toUpperCase() + toast.currentToast.status.slice(1) }}\n </h4>\n <button (click)=\"toast.closeToast(toast.currentToast.id)\">\n <span class=\"material-symbols-outlined\">close</span>\n </button>\n </header>\n <p>{{ toast.currentToast.message }}</p>\n</div>\n\n<ng-template #iconTemplate>\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['erro', 'error'].includes(toast.currentToast.status.toLowerCase())\"\n >error</span\n >\n\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase())\"\n >check_circle</span\n >\n\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['information', 'informação', 'información'].includes(toast.currentToast.status.toLowerCase())\"\n >info</span\n >\n\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>\n \n\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'oc-toggle',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-toggle.component.html',\n styleUrl: './oc-toggle.component.scss',\n})\nexport class OcToggleComponent {\n _ocChecked: boolean = false\n @Input() ocDisabled: boolean = false\n\n @Input() ocSize: 'medium' | 'large' = 'medium'\n @Input() set ocChecked(value: boolean) {\n this._ocChecked = value\n this.ocCheckedChange.emit(this._ocChecked)\n }\n\n get ocChecked() {\n return this._ocChecked\n }\n\n @Input() ocColor: 'purple' | 'green' = 'green'\n\n @Output() ocCheckedChange = new EventEmitter<boolean>()\n\n toggleChecked() {\n this.ocChecked = !this.ocChecked\n }\n}\n","<label\n class=\"switch\"\n [ngClass]=\"{\n large: ocSize === 'large',\n medium: ocSize === 'medium',\n }\"\n>\n <input\n [checked]=\"ocChecked\"\n (click)=\"toggleChecked()\"\n type=\"checkbox\"\n [disabled]=\"ocDisabled\"\n />\n <span\n class=\"slider round\"\n [ngClass]=\"[ocColor]\"\n ></span>\n</label>\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-step',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-step.component.html',\n styleUrl: './oc-step.component.scss',\n})\nexport class OcStepComponent implements AfterViewInit {\n constructor(private styleThemeService: StyleThemeService) {}\n\n @Input() ocIsActive: boolean = false\n @Input() ocTitle: string = ''\n @Input() ocColor: 'purple' | 'green' = 'purple'\n @Input() ocCompleted: boolean = false\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocType: 'history' | 'default' = 'default'\n @Input() ocExpandable?: boolean = true\n\n @Output() ocClick = new EventEmitter()\n stepIndex: number = 0\n selectedIndex: number = 0\n lastIndex: number = 0\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n protected handleStepClick(stepIndex: number): void {\n if (!this.ocExpandable) {\n return\n }\n if (stepIndex !== this.selectedIndex && (stepIndex <= this.selectedIndex || this.ocCompleted)) {\n this.selectStep(stepIndex)\n this.ocClick.emit()\n }\n }\n\n @Input() selectStep!: (index: number) => void\n}\n","<div class=\"oc-step\" (click)=\"\n handleStepClick(stepIndex)\n \" [ngClass]=\"{\n 'oc-not-selected': stepIndex !== selectedIndex,\n 'shui': ocStyle === 'shui',\n 'shui-step': ocStyle === 'shui',\n 'oc-expandable': ocExpandable\n}\">\n <div class=\"left-side\">\n <div class=\"step-number\" [ngClass]=\"{\n 'oc-selected-p': selectedIndex === stepIndex && ocColor === 'purple',\n 'oc-selected-g': selectedIndex === stepIndex && ocColor === 'green',\n 'oc-purple': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'purple',\n 'oc-green': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'green',\n 'history-point': ocType === 'history'\n }\">\n @if(ocType !== 'history') {\n <span>{{stepIndex! + 1}}</span>\n }\n </div>\n <h2 [ngClass]=\"{\n 'oc-selected-p-title': selectedIndex === stepIndex && ocColor === 'purple',\n 'oc-selected-g-title': selectedIndex === stepIndex && ocColor === 'green',\n }\">{{ocTitle}}</h2>\n </div>\n <div class=\"oc-content\" [ngClass]=\"{\n 'expanded': ocIsActive || !ocExpandable,\n 'oc-expandable': ocExpandable,\n 'oc-prev-selected-p': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'purple',\n 'oc-prev-selected-g': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'green',\n 'oc-left-border': stepIndex !== lastIndex,\n 'history-point': ocType === 'history'\n }\">\n @if (ocIsActive || !ocExpandable) {\n <ng-content></ng-content>\n }\n </div>\n</div>","import { AfterViewInit, Component, ContentChildren, QueryList, Input } from '@angular/core'\nimport { OcStepComponent } from '../oc-step/oc-step.component'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-stepper',\n standalone: true,\n imports: [],\n templateUrl: './oc-stepper.component.html',\n styleUrl: './oc-stepper.component.scss',\n})\nexport class OcStepperComponent implements AfterViewInit {\n constructor(private styleThemeService: StyleThemeService) {}\n @ContentChildren(OcStepComponent) ocSteps!: QueryList<OcStepComponent>\n @Input() ocAllowNavigation: boolean = false\n @Input() ocColor: 'purple' | 'green' = 'purple'\n @Input() ocCurrentIndex: number = 0\n @Input() ocSaveCompletedSteps: boolean = true\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocType: 'history' | 'default' = 'default'\n\n private completedSteps: number[] = []\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.setStepsValues()\n this.selectStep(this.ocCurrentIndex)\n this.setCompletedSteps()\n }\n\n private setCompletedSteps(): void {\n if (!this.ocSaveCompletedSteps) {\n return\n }\n for (let i = 0; i <= this.ocCurrentIndex; i++) {\n this.completedSteps.push(i)\n }\n }\n\n setStepsValues(): void {\n this.ocSteps.forEach((step, i) => {\n step.stepIndex = i\n step.ocColor = this.ocColor\n step.lastIndex = this.ocSteps.length - 1\n step.ocStyle = this.ocStyle\n step.ocType = this.ocType\n\n step.selectStep = (index: number) => this.selectStep(index)\n })\n }\n\n selectStep(index: number): void {\n this.ocSteps.forEach((step, i) => {\n step.ocStyle = this.ocStyle\n\n if (this.completedSteps.includes(i)) {\n step.ocCompleted = true\n }\n if (i !== index) {\n step.ocIsActive = false\n step.selectedIndex = index\n return\n }\n step.ocIsActive = true\n this.ocCurrentIndex = index\n step.selectedIndex = this.ocCurrentIndex\n this.setCompletedSteps()\n })\n return\n }\n\n nextStep(event: Event): void {\n event.stopPropagation()\n if (this.ocCurrentIndex === this.ocSteps.length - 1) {\n return\n }\n this.selectStep(this.ocCurrentIndex + 1)\n }\n\n previousStep(event: Event): void {\n event.stopPropagation()\n if (!this.ocCurrentIndex) {\n return\n }\n this.selectStep(this.ocCurrentIndex - 1)\n }\n}\n","<div class=\"oc-stepper\">\n <ng-content></ng-content>\n</div>","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-tab',\n standalone: true,\n imports: [],\n templateUrl: './oc-tab.component.html',\n styleUrl: './oc-tab.component.scss',\n})\nexport class OcTabComponent {\n @Input() ocTitle: string = ''\n @Input() ocIsActive: boolean = false\n\n tabIndex: number = 0\n}\n","@if (ocIsActive) {\n <ng-content></ng-content>\n}","import {\n Component,\n ContentChildren,\n QueryList,\n AfterContentInit,\n EventEmitter,\n Output,\n Input,\n} from '@angular/core'\nimport { OcTabComponent } from '../oc-tab/oc-tab.component'\nimport { CommonModule } from '@angular/common'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-tabs',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-tabs.component.html',\n styleUrl: './oc-tabs.component.scss',\n})\nexport class OcTabsComponent implements AfterContentInit {\n constructor(private styleThemeService: StyleThemeService) {}\n @ContentChildren(OcTabComponent) ocTabs!: QueryList<OcTabComponent>\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocClick = new EventEmitter<void>()\n\n activeTabIndex: number = 0\n\n ngAfterContentInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.selectTab(0)\n }\n\n selectTab(index: number): void {\n this.ocTabs.toArray().forEach((tab, i) => {\n tab.tabIndex = i\n tab.ocIsActive = i === index\n })\n this.activeTabIndex = index\n }\n\n handleTabClick(): void {\n this.ocClick.emit()\n }\n}\n","<div class=\"oc-tabs\" [ngClass]=\"{\n shui: ocStyle === 'shui'\n}\">\n <div class=\"row\">\n @for(tab of ocTabs; track $index) {\n <button [ngClass]=\"{\n 'oc-selected': tab.tabIndex === activeTabIndex\n }\" class=\"oc-tab\" (click)=\"selectTab(tab.tabIndex); \n handleTabClick()\" type=\"button\">{{tab.ocTitle}}</button>\n }\n <div class=\"row-content\">\n <ng-content select=\"[row]\"></ng-content>\n </div>\n </div>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-accordion-item',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-accordion-item.component.html',\n styleUrl: './oc-accordion-item.component.scss',\n})\nexport class OcAccordionItemComponent {\n @Input() ocIsOpen: boolean = false\n @Input() ocTitle: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() closeAllItems = new EventEmitter()\n\n protected toggle(): void {\n if (this.ocIsOpen) {\n this.ocIsOpen = !this.ocIsOpen\n return\n }\n this.closeAllItems.emit()\n this.ocIsOpen = !this.ocIsOpen\n }\n\n}\n","<div class=\"oc-accordion-item\" [ngClass]=\"{\n 'shui': ocStyle === 'shui'\n}\">\n <div class=\"item-header\" [ngClass]=\"{ open: ocIsOpen }\" (click)=\"toggle()\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n <span class=\"material-symbols-outlined\" style=\"user-select: none;\">\n keyboard_control_key\n </span>\n </div>\n @if (ocIsOpen) {\n <div class=\"oc-content\" [ngClass]=\"{\n open: ocIsOpen\n }\">\n <ng-content></ng-content>\n </div>\n }\n</div>","import { AfterViewInit, Component, ContentChildren, Input, QueryList } from '@angular/core'\nimport { OcAccordionItemComponent } from '../oc-accordion-item/oc-accordion-item.component'\nimport { CommonModule } from '@angular/common'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-accordion',\n standalone: true,\n imports: [CommonModule, OcAccordionItemComponent],\n templateUrl: './oc-accordion.component.html',\n styleUrl: './oc-accordion.component.scss',\n})\nexport class OcAccordionComponent implements AfterViewInit {\n @ContentChildren(OcAccordionItemComponent) items!: QueryList<OcAccordionItemComponent>\n @Input() ocAlternate: boolean = true\n @Input() ocCurrentIndex?: number\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngAfterViewInit(): void {\n this.items.forEach((item, i) => {\n item.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n item.closeAllItems.subscribe(() => this.closeAllItems())\n })\n }\n\n closeAllItems(): void {\n if (this.ocAlternate) {\n this.items.forEach((item) => (item.ocIsOpen = false))\n }\n }\n\n alternateToIndex(index: number): void {\n this.items.forEach((item, i) => {\n if (i === index) {\n item.ocIsOpen = true\n return\n }\n item.ocIsOpen = false\n })\n }\n}\n","<div>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'oc-message',\n standalone: true,\n imports: [\n CommonModule\n ],\n templateUrl: './oc-message.component.html',\n styleUrl: './oc-message.component.scss'\n})\nexport class OcMessageComponent {\n @Input() isOpen: boolean = false\n @Input() ocColor: 'default' | 'green' | 'red' = 'default'\n @Input() ocClosable: boolean = false\n @Input() ocIcon: string = '' \n\n private _ocTitle: string = '';\n @Input()\n set ocTitle(value: string) {\n this._ocTitle = value.trim();\n }\n get ocTitle(): string {\n return this._ocTitle;\n }\n\n @Output() ocOnClose = new EventEmitter<any>()\n @Output() ocOnOpen = new EventEmitter<any>()\n\n open() {\n this.isOpen = true\n this.ocOnOpen.emit(this.isOpen)\n }\n\n close() {\n this.isOpen = false\n this.ocOnClose.emit(this.isOpen)\n }\n}\n","@if (!ocClosable || isOpen) {\n<div class=\"oc-message-bg\" [ngClass]=\"'oc-' + ocColor\">\n <div class=\"oc-icon\" [ngClass]=\"'oc-' + ocColor\">\n @if (ocIcon) {\n <span class=\"material-symbols-outlined\">{{ ocIcon }}</span>\n } @else {\n <span>\n <ng-content select=\"[ocIcon]\"></ng-content>\n </span>\n }\n </div>\n <div class=\"oc-main-content\">\n <div class=\"oc-message-header\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n @if (ocClosable) {\n <button (click)=\"close()\" class=\"oc-close-btn\">\n <span class=\"material-symbols-outlined md-18\" ocTooltip content=\"Fechar\" ocSide=\"bottom\">\n close\n </span>\n </button>\n }\n </div>\n <div class=\"oc-message-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n}","import {\n Component,\n Input,\n ViewChild,\n ElementRef,\n Output,\n EventEmitter,\n AfterViewInit,\n} from '@angular/core'\nimport monthsData from './data/months.json'\n\ninterface MonthsData {\n [key: string]: { [key: string]: string }\n}\n\nconst months: MonthsData = monthsData as unknown as MonthsData\n\n@Component({\n selector: 'oc-date-select',\n standalone: true,\n templateUrl: './oc-date-select.component.html',\n styleUrl: './oc-date-select.component.scss',\n})\nexport class OcDateSelectComponent implements AfterViewInit {\n @Input() ocValue: string = this.getCurrentDate()\n @Input() ocType: 'day' | 'month' | 'year' = 'day'\n @Input() ocSkipType: 'day' | 'week' | 'month' | 'year' = 'day'\n @Output() ocValueChange = new EventEmitter<string>()\n\n @Output() ocChange = new EventEmitter<string>()\n\n @Input() ocLanguage: 'ptbr' | 'enus' | 'esch' = 'ptbr'\n @Input() ocMaxDate: string | null = null\n @Input() ocMinDate: string | null = null\n\n @ViewChild('dateInput') dateInput!: ElementRef<HTMLInputElement>\n private intervalId: ReturnType<typeof setInterval> | null = null\n\n ngAfterViewInit(): void {\n if (this.ocSkipType !== this.ocType) {\n this.ocSkipType = this.ocType\n }\n }\n\n private getCurrentDate(): string {\n const today = new Date()\n const dd = String(today.getDate()).padStart(2, '0')\n const mm = String(today.getMonth() + 1).padStart(2, '0')\n const yyyy = today.getFullYear()\n return `${yyyy}-${mm}-${dd}`\n }\n\n protected getViewDate(): string {\n const [year, month, day] = this.ocValue.split('-')\n const monthName = months[this.ocLanguage][month]\n let intersection = ' de '\n if (this.ocLanguage === 'enus') {\n intersection = ' '\n }\n if (this.ocType === 'year') {\n return year\n }\n if (this.ocType === 'month') {\n return `${monthName.toLowerCase()}${intersection}${year}`\n }\n return `${day}${intersection}${monthName.toLowerCase()}${intersection}${year}`\n }\n\n private updateValue(newValue: string): void {\n this.ocValue = newValue\n this.ocValueChange.emit(this.ocValue) // two-way binding\n this.ocChange.emit(this.ocValue) // evento custom\n }\n\n protected increaseDate(): void {\n const date = new Date(this.ocValue)\n date.setDate(date.getDate() + 1)\n // sum 1 month\n if (this.ocSkipType === 'month') {\n date.setMonth(date.getMonth() + 1)\n }\n if (this.ocSkipType === 'week') {\n date.setDate(date.getDate() + 7)\n }\n this.updateValue(date.toISOString().split('T')[0])\n }\n\n protected decreaseDate(): void {\n const date = new Date(this.ocValue)\n date.setDate(date.getDate() - 1)\n // sub 1 month\n if (this.ocSkipType === 'month') {\n date.setMonth(date.getMonth() - 1)\n }\n if (this.ocSkipType === 'week') {\n date.setDate(date.getDate() - 7)\n }\n this.updateValue(date.toISOString().split('T')[0])\n }\n\n protected startHold(direction: 'increase' | 'decrease'): void {\n this.stopHold()\n if (direction === 'increase') {\n this.increaseDate()\n this.intervalId = setInterval(() => this.increaseDate(), 150)\n } else {\n this.decreaseDate()\n this.intervalId = setInterval(() => this.decreaseDate(), 150)\n }\n }\n\n protected stopHold(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId)\n this.intervalId = null\n }\n }\n\n protected openDatePicker(): void {\n if (this.dateInput.nativeElement.showPicker) {\n this.dateInput.nativeElement.showPicker()\n } else {\n this.dateInput.nativeElement.click()\n }\n }\n\n protected onDateChange(event: Event): void {\n const input = event.target as HTMLInputElement\n this.updateValue(input.value)\n }\n}\n","<div class=\"date-select\">\n <button\n class=\"left-btn\"\n (mousedown)=\"startHold('decrease')\"\n (mouseup)=\"stopHold()\"\n (mouseleave)=\"stopHold()\"\n (touchstart)=\"startHold('decrease')\"\n (touchend)=\"stopHold()\"\n >\n <span class=\"material-symbols-outlined\">arrow_back_ios</span>\n </button>\n\n <div class=\"date-text-wrapper\">\n <p\n class=\"date-text\"\n (click)=\"openDatePicker()\"\n >\n {{ getViewDate() }}\n </p>\n @let type = ocType === 'day' ? 'date' : ocType;\n <input\n #dateInput\n [type]=\"type\"\n [max]=\"ocMaxDate\"\n [min]=\"ocMinDate\"\n (change)=\"onDateChange($event)\"\n />\n </div>\n\n <button\n class=\"right-btn\"\n (mousedown)=\"startHold('increase')\"\n (mouseup)=\"stopHold()\"\n (mouseleave)=\"stopHold()\"\n (touchstart)=\"startHold('increase')\"\n (touchend)=\"stopHold()\"\n >\n <span class=\"material-symbols-outlined\">arrow_forward_ios</span>\n </button>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcMenuType } from '../../interfaces/oc-menu'\nimport { OcMenuComponent } from '../oc-menu/oc-menu.component'\n\n@Component({\n selector: 'oc-button-menu',\n standalone: true,\n imports: [CommonModule, OcMenuComponent],\n templateUrl: './oc-button-menu.component.html',\n styleUrl: './oc-button-menu.component.scss',\n})\nexport class OcButtonMenuComponent {\n @Input() ocSize: 'tiny' | 'small' | 'medium' | 'large' = 'medium'\n @Input() ocColor: 'purple' | 'green' | 'lightGray' = 'lightGray'\n @Input() ocType: 'button' | 'submit' = 'button'\n @Input() ocMenu: OcMenuType[] = []\n @Output() ocClick = new EventEmitter()\n @Output() ocChange = new EventEmitter()\n\n protected getStyleClass(): object {\n return {\n tiny: this.ocSize === 'tiny',\n small: this.ocSize === 'small',\n medium: this.ocSize === 'medium',\n large: this.ocSize === 'large',\n 'p-1': this.ocColor === 'purple',\n 'gray-1': this.ocColor === 'lightGray',\n 'g-1': this.ocColor === 'green',\n }\n }\n}\n","<div class=\"oc-button-menu\" [ngClass]=\"getStyleClass()\">\n <button class=\"oc button left-btn\" [type]=\"ocType\" (click)=\"ocClick.emit($event)\">\n <ng-content></ng-content>\n </button>\n <button (click)=\"menu.open()\" class=\"oc button menu right-btn\" [ngClass]=\"getStyleClass()\">\n <span class=\"material-symbols-outlined\">\n arrow_drop_down\n </span>\n <oc-menu class=\"oc-menu\" #menu [ocMenu]=\"ocMenu\" (ocChange)=\"ocChange.emit($event)\"></oc-menu>\n </button>\n</div>","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-progress',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-progress.component.html',\n styleUrl: './oc-progress.component.scss',\n})\nexport class OcProgressComponent implements AfterViewInit {\n @Input() ocWidth: string = '100%'\n @Input() ocColor: 'purple' | 'green' | 'orange' = 'purple'\n @Input() ocGradient: boolean = true\n @Input() ocStyle: 'otimus' | 'shui' = 'otimus'\n\n @Input() ocPercentage: number = 0\n\n ngAfterViewInit(): void {\n if (this.ocStyle === 'shui') {\n this.ocColor = 'orange'\n }\n }\n}\n","<div class=\"oc-progress-container\">\n <div\n class=\"oc-progress\"\n [ngStyle]=\"{\n width: ocWidth || '100%',\n }\"\n >\n <div\n class=\"fill\"\n [ngClass]=\"{\n purple: ocColor === 'purple',\n green: ocColor === 'green',\n orange: ocColor === 'orange',\n gradient: ocGradient,\n }\"\n [ngStyle]=\"{\n width: ocPercentage + '%',\n }\"\n ></div>\n </div>\n\n <div\n class=\"percentage-tooltip\"\n [ngStyle]=\"{\n width: ocPercentage + '%',\n }\"\n >\n <span class=\"tooltip\">{{ ocPercentage }}%</span>\n </div>\n</div>\n","/*\n * Public API Surface of otimus-library\n */\n\nexport * from './lib/otimus-library.service'\nexport * from './lib/otimus-library.component'\nexport * from './lib/services/oc-toast.service'\nexport * from './lib/components/oc-badge/oc-badge.component'\nexport * from './lib/components/oc-filter/oc-filter.component'\nexport * from './lib/directives/oc-tooltip/oc-tooltip.directive'\nexport * from './lib/components/oc-input/oc-input.component'\nexport * from './lib/components/oc-modal/oc-modal.component'\nexport * from './lib/components/oc-key-value/oc-key-value.component'\nexport * from './lib/components/oc-chip/oc-chip.component'\nexport * from './lib/components/oc-modal-footer/oc-modal-footer.component'\nexport * from './lib/components/oc-autocomplete/oc-autocomplete.component'\nexport * from './lib/components/oc-profile/oc-profile.component'\nexport * from './lib/components/oc-log/oc-log.component'\nexport * from './lib/components/oc-pagination/oc-pagination.component'\nexport * from './lib/components/oc-not-found/oc-not-found.component'\nexport * from './lib/components/oc-menu/oc-menu.component'\nexport * from './lib/components/oc-toast/oc-toast.component'\nexport * from './lib/components/oc-checkbox/oc-checkbox.component'\nexport * from './lib/components/oc-toggle/oc-toggle.component'\nexport * from './lib/components/oc-stepper/oc-stepper.component'\nexport * from './lib/components/oc-step/oc-step.component'\nexport * from './lib/components/oc-tabs/oc-tabs.component'\nexport * from './lib/components/oc-tab/oc-tab.component'\nexport * from './lib/components/oc-accordion/oc-accordion.component'\nexport * from './lib/components/oc-accordion-item/oc-accordion-item.component'\nexport * from './lib/components/oc-message/oc-message.component'\nexport * from './lib/components/oc-date-select/oc-date-select.component'\nexport * from './lib/components/oc-button-menu/oc-button-menu.component'\nexport * from './lib/components/oc-progress/oc-progress.component'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StyleThemeService","i2","i3","i1","i1.InternationalizationService","i2.StyleThemeService","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/services/style-theme.service.ts","../../../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/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/lib/components/oc-message/oc-message.component.ts","../../../projects/otimus-library/src/lib/components/oc-message/oc-message.component.html","../../../projects/otimus-library/src/lib/components/oc-date-select/oc-date-select.component.ts","../../../projects/otimus-library/src/lib/components/oc-date-select/oc-date-select.component.html","../../../projects/otimus-library/src/lib/components/oc-button-menu/oc-button-menu.component.ts","../../../projects/otimus-library/src/lib/components/oc-button-menu/oc-button-menu.component.html","../../../projects/otimus-library/src/lib/components/oc-progress/oc-progress.component.ts","../../../projects/otimus-library/src/lib/components/oc-progress/oc-progress.component.html","../../../projects/otimus-library/src/public-api.ts","../../../projects/otimus-library/src/otimus-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OtimusLibraryService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-otimus-library',\n standalone: true,\n imports: [],\n template: `\n <p>\n otimus-library works!\n </p>\n `,\n styles: ``\n})\nexport class OtimusLibraryComponent {\n\n}\n","import { ChangeDetectorRef, Injectable } from '@angular/core'\nimport { ToastType } from '../interfaces/oc-toast'\n\ntype ToastStatusType =\n | 'erro'\n | 'error'\n | 'success'\n | 'éxito'\n | 'sucesso'\n | 'carregando'\n | 'cargando'\n | 'loading'\n | 'informação'\n | 'información'\n | 'information'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OcToastService {\n toastList: ToastType[] = []\n isRunning: boolean = false\n currentToast!: ToastType\n\n closeToast(id: number): void {\n this.toastList = this.toastList.map((to) => {\n if (to.id === id) {\n return { ...to, counter: 0 }\n }\n return to\n })\n\n this.currentToast = this.toastList[0]\n }\n\n openToast = (\n toastStatus: ToastStatusType,\n toastMessage: string,\n toastCounter?: number,\n promiseKey?: string\n ): void => {\n const toast = {\n id: this.toastList.length === 0 ? 1 : this.toastList[this.toastList.length - 1].id + 1,\n counter: toastCounter || 5,\n status: toastStatus,\n message: toastMessage,\n promiseKey,\n hasAnimation: true,\n }\n\n const toastExists = this.toastList.some((to) => {\n return to.status === toastStatus && to.message === toastMessage\n })\n\n if (toastExists) {\n return\n }\n\n const keyExists = this.toastList.find((to) => to.promiseKey === toast.promiseKey)\n\n if (keyExists) {\n this.toastList = this.toastList.map((to) => {\n if (to.promiseKey === promiseKey) {\n return { ...toast, hasAnimation: false }\n }\n return to\n })\n }\n\n this.toastList.push(toast)\n\n if (!this.isRunning) {\n this.renderToasts()\n }\n }\n\n renderToasts(): void {\n if (this.toastList.length === 0) {\n this.isRunning = false\n return\n }\n\n this.isRunning = true\n this.currentToast = this.toastList[0]\n\n const toastInterval = setInterval(() => {\n if (this.toastList.length === 0) {\n clearInterval(toastInterval)\n this.isRunning = false\n return\n }\n\n this.currentToast = this.toastList[0]\n if (this.currentToast.status !== 'carregando') {\n this.currentToast.counter--\n }\n\n if (this.currentToast.counter <= 0) {\n this.toastList = this.toastList.filter((to) => {\n return to.status !== this.currentToast.status && to.message !== this.currentToast.message\n })\n clearInterval(toastInterval)\n this.renderToasts()\n }\n }, 1000)\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'oc-badge',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-badge.component.html',\n styleUrl: './oc-badge.component.scss'\n})\nexport class OcBadgeComponent implements OnInit {\n @Input() ocSize: 'small' | 'medium' | 'large' = 'small'\n @Input() ocColor: 'notification' | 'brand-g' | 'brand-p' | 'success' | 'warning' = 'notification'\n @Input() ocWaved: boolean = false\n\n classList: string[] = []\n\n ngOnInit(): void {\n this.classList.push(this.ocSize, this.ocColor)\n if(this.ocWaved) this.classList.push('waved')\n }\n}\n","<div>\n <div class=\"oc-badge\" [ngClass]=\"classList\">\n <ng-content>\n \n </ng-content>\n </div>\n</div>\n","import { Injectable } from '@angular/core'\nimport { OcStyleThemeType } from '../interfaces/oc-style-theme'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StyleThemeService {\n constructor() {}\n\n getStyleTheme(): OcStyleThemeType | undefined {\n const localStorageTheme = localStorage.getItem('@oc-lib-style_theme')\n\n if (!localStorageTheme || !['otimus', 'shui', 'semantic'].includes(localStorageTheme)) {\n return undefined\n }\n\n return localStorageTheme as OcStyleThemeType\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input } from '@angular/core'\nimport { OcBadgeComponent } from '../oc-badge/oc-badge.component'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-filter',\n standalone: true,\n imports: [CommonModule, OcBadgeComponent],\n templateUrl: './oc-filter.component.html',\n styleUrl: './oc-filter.component.scss',\n})\nexport class OcFilterComponent implements AfterViewInit {\n @Input() isOpen: boolean = false\n @Input() ocText: string = 'Filtros'\n @Input() ocActive: number = 0\n @Input() ocSide: 'left' | 'right' = 'left'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n toggleOpen() {\n this.isOpen = !this.isOpen\n }\n}\n","<div class=\"oc-filter-row\" [ngClass]=\"{\n reverse: ocSide === 'right'\n}\">\n <button class=\"oc-filter-btn\" [ngClass]=\"{\n shui: ocStyle === 'shui'\n }\" (click)=\"toggleOpen()\">\n <span class=\"material-symbols-outlined\">filter_list</span>\n {{ocText}}\n <div class=\"badge\">\n <oc-badge *ngIf=\"ocActive > 0\" ocSize=\"small\" ocColor=\"success\" [ocWaved]=\"true\">{{ocActive}}</oc-badge>\n </div>\n </button>\n\n <div class=\"filter-row-content\">\n <ng-content select=\"[row]\"></ng-content>\n </div>\n\n</div>\n<div *ngIf=\"isOpen\" class=\"oc-filter-content\">\n <ng-content select=\"[body]\">\n </ng-content>\n</div>","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n NgZone,\n ChangeDetectorRef,\n OnDestroy,\n SimpleChanges,\n OnChanges,\n} from '@angular/core'\n\n@Directive({\n selector: '[ocTooltip]',\n standalone: true,\n})\nexport class OcTooltipDirective implements OnDestroy, OnChanges {\n @Input() content: string = ''\n @Input() side: 'bottom' | 'upon' | 'left' | 'right' | 'top' | 'mouse' = 'mouse'\n\n private tooltip: HTMLElement | null = null\n private moveScheduled = false\n\n constructor(\n private elRef: ElementRef,\n private renderer: Renderer2,\n private zone: NgZone,\n private cdr: ChangeDetectorRef\n ) {\n this.zone.runOutsideAngular(() => {\n this.setupEvents()\n })\n }\n\n // ––– 1) Hook OnChanges para atualizar só quando @Input content mudar\n ngOnChanges(changes: SimpleChanges): void {\n if (!(changes['content'] && this.tooltip)) {\n return\n }\n // Limpa e redefine o conteúdo interno do tooltip já criado\n this.tooltip.innerHTML = ''\n const isHTML =\n new DOMParser().parseFromString(this.content, 'text/html').body.children.length > 0\n if (isHTML) {\n this.renderer.setProperty(this.tooltip, 'innerHTML', this.content)\n } else {\n const text = this.renderer.createText(this.content)\n this.renderer.appendChild(this.tooltip, text)\n this.renderer.setStyle(this.tooltip, 'color', '#7E8485')\n }\n }\n\n private setupEvents() {\n this.elRef.nativeElement.addEventListener('mouseover', (e: MouseEvent) => this.onMouseOver(e))\n this.elRef.nativeElement.addEventListener('mousemove', (e: MouseEvent) => this.onMouseMove(e))\n this.elRef.nativeElement.addEventListener('mouseout', (e: MouseEvent) => this.onMouseOut(e))\n }\n\n private createTooltip(): HTMLElement {\n if (!this.tooltip) {\n this.tooltip = this.renderer.createElement('div') as HTMLElement\n this.renderer.addClass(this.tooltip, 'oc-tooltip')\n this.renderer.setStyle(this.tooltip, 'position', 'absolute')\n this.renderer.setStyle(this.tooltip, 'pointer-events', 'none')\n this.renderer.setStyle(this.tooltip, 'z-index', '1000')\n this.renderer.setStyle(this.tooltip, 'display', 'none')\n this.renderer.appendChild(document.body, this.tooltip)\n }\n\n this.tooltip.innerHTML = ''\n\n const isHTML =\n new DOMParser().parseFromString(this.content, 'text/html').body.children.length > 0\n if (isHTML) {\n this.renderer.setProperty(this.tooltip, 'innerHTML', this.content)\n } else {\n const text = this.renderer.createText(this.content)\n this.renderer.appendChild(this.tooltip, text)\n this.renderer.setStyle(this.tooltip, 'color', '#7E8485')\n }\n\n if (this.side === 'mouse') {\n this.renderer.addClass(this.tooltip, 'mouse-tracking')\n }\n\n return this.tooltip\n }\n\n onMouseOver(event: MouseEvent): void {\n if (!this.content) return\n\n if (!this.tooltip) this.createTooltip()\n this.renderer.setStyle(this.tooltip, 'display', 'block')\n\n if (this.side === 'mouse') {\n this.updateTooltipPosition(event)\n } else {\n this.positionTooltipFixed()\n }\n\n this.cdr.markForCheck()\n }\n\n onMouseMove(event: MouseEvent): void {\n if (!this.tooltip || this.side !== 'mouse') return\n\n if (!this.moveScheduled) {\n this.moveScheduled = true\n requestAnimationFrame(() => {\n this.updateTooltipPosition(event)\n this.moveScheduled = false\n })\n }\n }\n\n onMouseOut(event: MouseEvent): void {\n if (\n this.tooltip &&\n event.relatedTarget instanceof Node &&\n this.tooltip.contains(event.relatedTarget)\n ) {\n return // evita flicker se mouse entra no tooltip\n }\n\n if (this.tooltip) {\n this.renderer.setStyle(this.tooltip, 'display', 'none')\n }\n\n this.cdr.markForCheck()\n }\n\n private updateTooltipPosition(event: MouseEvent): void {\n if (!this.tooltip) return\n\n const left = event.pageX + 12\n const top = event.pageY + 12\n\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`)\n this.renderer.setStyle(this.tooltip, 'top', `${top}px`)\n }\n\n private positionTooltipFixed(): void {\n if (!this.tooltip) return\n\n const rect = this.elRef.nativeElement.getBoundingClientRect()\n const width = this.elRef.nativeElement.offsetWidth\n const height = this.elRef.nativeElement.offsetHeight\n\n const scrollX = window.scrollX\n const scrollY = window.scrollY\n\n let left = 0\n let top = 0\n\n switch (this.side) {\n case 'right':\n left = scrollX + rect.right + 10\n top = scrollY + rect.top + height / 2\n break\n case 'left':\n left = scrollX + rect.left - this.tooltip.offsetWidth - 10\n top = scrollY + rect.top + height / 2\n break\n case 'upon':\n case 'top':\n left = scrollX + rect.left + width / 2\n top = scrollY + rect.top - this.tooltip.offsetHeight - 10\n break\n case 'bottom':\n left = scrollX + rect.left + width / 2\n top = scrollY + rect.bottom + 10\n break\n }\n\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`)\n this.renderer.setStyle(this.tooltip, 'top', `${top}px`)\n }\n\n ngOnDestroy(): void {\n if (this.tooltip && this.tooltip.parentNode) {\n this.tooltip.parentNode.removeChild(this.tooltip)\n this.tooltip = null\n }\n }\n}\n","import { CommonModule } from '@angular/common'\nimport {\n AfterContentChecked,\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-input',\n host: {\n '[style.width]': 'computedWidth',\n '[style.min-width]': 'computedMinWidth',\n '[style.max-width]': 'computedMaxWidth',\n },\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-input.component.html',\n styleUrls: ['./oc-input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OcInputComponent implements AfterViewInit, OnChanges, AfterContentChecked {\n @ContentChild('ocPrefix') ocPrefix: any\n @ContentChild('ocSuffix') ocSuffix: any\n\n @Input() ocError?: string\n @Input() ocSize?: 'small' | 'medium' | 'large' = 'medium'\n @Input() ocPlaceholder: string = ''\n @Input() ocWidth?: string\n @Input() ocMinWidth?: string\n @Input() ocMaxWidth?: string\n @Input() ocRequired: boolean = false\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n inputId: string = `oc-${Math.random()}`\n hasSuffix: boolean = false\n hasPrefix: boolean = false\n\n @HostBinding('style.width')\n get computedWidth() {\n return this.ocWidth ? this.ocWidth : null\n }\n\n @HostBinding('style.min-width')\n get computedMinWidth() {\n return this.ocMinWidth || '0'\n }\n\n @HostBinding('style.max-width')\n get computedMaxWidth() {\n return this.ocMaxWidth || '100%'\n }\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private styleThemeService: StyleThemeService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n const inputBox = this.el.nativeElement\n\n if (inputBox) {\n const inputElement = inputBox.querySelector('input')\n\n if (inputElement) {\n this.renderer.setAttribute(inputElement, 'placeholder', '')\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\n }\n }\n }\n\n ngAfterContentChecked(): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n}\n","<div [ngClass]=\"{\n 'oc-input-box': !ocStyle || ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix,\n 'shui': ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui'\n}\" [id]=\"inputId\">\n <ng-content></ng-content>\n <ng-content select=\"ocPrefix\"></ng-content>\n <ng-content select=\"ocSuffix\"></ng-content>\n <label>\n <span [innerHTML]=\"ocPlaceholder\"></span>\n @if(ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n <small *ngIf=\"ocError\" class=\"error-msg\">{{ocError}}</small>\n</div>","import { CommonModule } from '@angular/common'\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-modal',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-modal.component.html',\n styleUrl: './oc-modal.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class OcModalComponent implements AfterViewInit {\n constructor(\n private elRef: ElementRef,\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @Input() ocClose: boolean = true\n @Input() ocTitle: string = ''\n @Input() ocSize: 'small' | 'medium' | 'large' | 'screen' = 'medium'\n @Input() ocBgColor?: string\n @Input() ocWidth: string = ''\n @Input() ocMaxWidth: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocLoading: boolean = false\n @Output() ocOnClose = new EventEmitter<any>()\n @Output() ocOnOpen = new EventEmitter<any>()\n\n @Input() isOpen: boolean = false\n closing: boolean = false\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n open(): void {\n this.isOpen = true\n this.elRef.nativeElement.ownerDocument.body.classList.add('disabled-scroll')\n this.ocOnOpen.emit(this.isOpen)\n }\n\n close(): void {\n this.closing = true\n setTimeout(() => {\n this.isOpen = false\n this.closing = false\n\n if (this.ocOnClose) {\n this.ocOnClose.emit(this.isOpen)\n }\n\n this.elRef.nativeElement.ownerDocument.body.classList.remove('disabled-scroll')\n this.cdr.detectChanges()\n }, 100)\n }\n\n protected getModalStyles(): { [key: string]: string } {\n const styles: { [key: string]: string } = {}\n if (this.ocBgColor) {\n styles['background-color'] = this.ocBgColor\n }\n if (this.ocWidth) {\n styles['width'] = this.ocWidth\n }\n if (this.ocMaxWidth) {\n styles['max-width'] = this.ocMaxWidth\n }\n return styles\n }\n}\n","@if (isOpen) {\n <div\n class=\"oc-modal-bg\"\n *ngIf=\"isOpen\"\n [ngClass]=\"{\n 'closing-bg': closing,\n shui: ocStyle === 'shui',\n 'shui-modal': ocStyle === 'shui',\n }\"\n >\n <div\n class=\"oc-modal\"\n [ngClass]=\"{\n large: ocSize === 'large',\n medium: ocSize === 'medium',\n small: ocSize === 'small',\n closing: closing,\n 'total-white': ocBgColor === 'white',\n }\"\n [ngStyle]=\"getModalStyles()\"\n >\n <header class=\"oc-modal-header\">\n <h3 *ngIf=\"ocTitle && ocTitle.trim().length > 0\">{{ ocTitle }}</h3>\n @if (ocClose) {\n <button\n (click)=\"close()\"\n class=\"oc-close-btn\"\n >\n <span\n class=\"material-symbols-outlined md-18\"\n title=\"Fechar\"\n >close</span\n >\n </button>\n }\n </header>\n <div\n class=\"oc-modal-content\"\n [ngClass]=\"{\n 'loading-content': ocLoading,\n }\"\n >\n @if (isOpen) {\n <ng-content></ng-content>\n }\n @if (ocLoading) {\n <div class=\"load-container\">\n <span class=\"loader material-symbols-outlined oc color p-1\">progress_activity</span>\n </div>\n }\n </div>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input, ViewEncapsulation } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { DomSanitizer } from '@angular/platform-browser'\n\n@Component({\n selector: 'oc-key-value',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-key-value.component.html',\n styleUrl: './oc-key-value.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class OcKeyValueComponent implements AfterViewInit {\n constructor(\n private styleThemeService: StyleThemeService,\n protected sanitizer: DomSanitizer\n ) {}\n @Input() ocKey: string = ''\n @Input() ocValue: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n}\n","<div\n class=\"oc-key-value\"\n [ngClass]=\"{\n shui: ocStyle === 'shui',\n }\"\n>\n <!-- Ícone -->\n <ng-content></ng-content>\n @if (ocKey) {\n <span [innerHTML]=\"ocKey + ':'\"></span>\n }\n <p [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(ocValue)\"></p>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, HostListener, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'oc-chip',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-chip.component.html',\n styleUrl: './oc-chip.component.scss',\n})\nexport class OcChipComponent {\n @Input() ocSelected: boolean = false\n @Input() ocType: 'select' | 'remove' | 'tag' | 'select_remove' = 'select'\n @Input() ocBg: 'green' | 'red' | 'yellow' | 'default' = 'green'\n @Input() ocText: string = ''\n @Input() ocFontSize: string = '16px'\n @Output() ocClick: EventEmitter<any> = new EventEmitter<any>()\n @Output() ocRemove: EventEmitter<any> = new EventEmitter<any>()\n\n ocEvent(event: any) {\n event.stopPropagation()\n this.ocClick.emit()\n }\n\n ocRemoveEvent(event: any) {\n event.stopPropagation()\n if (!this.ocRemove.observed) {\n this.ocClick.emit()\n return\n }\n this.ocRemove.emit()\n }\n}\n","<button\n [ngClass]=\"{\n 'oc-chip': true,\n selected: ocSelected,\n 'not-selectable': ocType !== 'select' && ocType !== 'select_remove',\n tag: ocType === 'tag',\n remove: ocType === 'remove' || ocType === 'select_remove',\n 'green-bg': ocBg === 'green',\n 'red-bg': ocBg === 'red',\n 'yellow-bg': ocBg === 'yellow',\n }\"\n type=\"button\"\n [ngStyle]=\"{\n 'font-size': ocFontSize,\n }\"\n [title]=\"ocText\"\n (click)=\"ocType.includes('select') ? ocEvent($event) : null\"\n>\n <ng-content></ng-content>\n @if (ocType.includes('remove')) {\n <span\n class=\"material-symbols-outlined\"\n (click)=\"ocRemoveEvent($event)\"\n >close</span\n >\n }\n</button>\n","import { CommonModule } from '@angular/common'\nimport { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-modal-footer',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-modal-footer.component.html',\n styleUrl: './oc-modal-footer.component.scss',\n})\nexport class OcModalFooterComponent {\n @Input() ocSide: 'left' | 'right' = 'right'\n @Input() ocBgColor?: string\n @Input() ocFixed: boolean = true\n}\n","<footer class=\"oc-modal-footer\" [ngClass]=\"{\n 'left': ocSide === 'left',\n 'right': ocSide === 'right',\n 'fixed': ocFixed\n}\"\n [ngStyle]=\"{\n 'background-color': ocBgColor\n }\"\n>\n <ng-content></ng-content>\n</footer>","import { HttpClient } from '@angular/common/http'\nimport { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InternationalizationService {\n constructor(private http: HttpClient) { }\n private queryLang: string | null = null\n\n getTranslation(\n code: string | number,\n params?: { [key: string]: string | number } | null\n ): string {\n code = typeof code === 'number' ? `LIB${code}` : code\n const translations = JSON.parse(localStorage.getItem('@oc-lib-lang_words') || '{}')\n let translation = translations[code] || code\n\n if (params) {\n Object.keys(params).forEach((key) => {\n translation = translation.replace(`%{${key}}`, params[key].toString())\n })\n }\n\n return translation\n }\n\n getTranslationsByLanguage() {\n const urlParams = new URLSearchParams(window.location.search)\n this.queryLang = urlParams.get('lang')\n if(!this.queryLang) return\n if (!this.canUpdateStoredLanguages()) return\n\n return this.http.get<Object>(`https://cms-backend.otimusclinic.com/translations/language?lang=${this.queryLang}`)\n .subscribe(resp => {\n if (!resp || !Object.keys(resp).length) return\n this.setLanguages(resp)\n this.setLanguage(this.queryLang as string)\n this.setUpdatedLastTime()\n })\n }\n\n canUpdateStoredLanguages(): boolean {\n const storedLastTime = localStorage.getItem('@oc-lib-stored_at')\n const storedLanguage = localStorage.getItem('language')\n \n if (!storedLastTime || !storedLanguage || !this.queryLang) return true\n\n let yesterday = new Date()\n yesterday.setDate(yesterday.getDate() - 1)\n\n const storedDate = new Date(storedLastTime)\n\n if (storedDate <= yesterday || (storedLanguage !== this.queryLang)) {\n return true\n }\n\n return false\n }\n\n setLanguage(language: string): void {\n localStorage.setItem('language', language)\n }\n\n setUpdatedLastTime(): void {\n const updatedLastTime = new Date().toISOString()\n localStorage.setItem('@oc-lib-stored_at', updatedLastTime)\n }\n\n setLanguages(translations: Object): void {\n localStorage.setItem('@oc-lib-lang_words', JSON.stringify(translations))\n }\n}\n","import { CommonModule } from '@angular/common'\nimport {\n AfterContentChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n} from '@angular/core'\nimport { OcAutoCompleteType } from '../../interfaces/oc-autocomplete'\nimport { FormsModule } from '@angular/forms'\nimport { InternationalizationService } from '../../services/internationalization.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-autocomplete',\n standalone: true,\n imports: [CommonModule, FormsModule],\n providers: [InternationalizationService],\n host: {\n '[style.width]': 'computedWidth',\n '[style.min-width]': 'computedMinWidth',\n '[style.max-width]': 'computedMaxWidth',\n },\n templateUrl: './oc-autocomplete.component.html',\n styleUrl: './oc-autocomplete.component.scss',\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class OcAutocompleteComponent\n implements AfterViewInit, OnChanges, AfterContentChecked, OnInit\n{\n constructor(\n private renderer: Renderer2,\n private el: ElementRef,\n private translateService: InternationalizationService,\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @ViewChild('input') input!: ElementRef\n @ViewChild('options') options!: ElementRef\n @ViewChild('outerDiv') outerDiv!: ElementRef<HTMLDivElement>\n @ViewChildren('listOptionsRef') listOptionsElements!: QueryList<ElementRef<HTMLLIElement>>\n\n @ContentChild('ocPrefix') ocPrefix: any\n @ContentChild('ocSuffix') ocSuffix: any\n\n private _ocData: OcAutoCompleteType[] = []\n @Input()\n set ocData(value: OcAutoCompleteType[]) {\n this._ocData = value\n\n this.filteredData = value\n\n if (this.ocSelectByTyping && this.ocValue) {\n const found = value.find((el) => el.value == this.ocValue)\n if (found) {\n this.selectedValue = found\n this.ocValue = found.name\n }\n }\n\n this.cdr.detectChanges() // Força a atualização\n }\n\n get ocData(): OcAutoCompleteType[] {\n return this._ocData\n }\n @Input() ocPlaceholder?: string\n @Input() ocError?: string\n @Input() ocSize: 'small' | 'large' | 'medium' = 'medium'\n @Input() ocValue: any = ''\n @Input() ocClearOnChange: boolean = false\n @Input() ocWidth?: string\n @Input() ocMinWidth?: string\n @Input() ocMaxWidth?: string\n @Input() ocOptionsMaxHeight?: string\n @Input() ocOptionsWidth?: string\n @Input() ocRequired: boolean = false\n @Input() ocMaxResults?: number\n @Input() ocAllowNotListedValue: boolean = false\n @Input() ocNoAvailableOptionsText?: string\n @Input() ocTypeForMoreResultsText?: string\n @Input() ocLoading: boolean = false\n @Input() ocSemanticLike: boolean = false // deprecated. Prefer using ocStyleTheme instead\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocTabIndex?: number\n @Input() iconSize: 'small' | 'medium' | 'large' = 'medium'\n @Input() ocSelectByTyping: boolean = true\n @Input() ocDisabled = false\n @Input() ocType: 'counterSelect' | 'default' = 'default'\n\n @Input() ocHasDeleteButton?: boolean = false\n @Input() ocEnableKeyboard: boolean = false\n\n @Output() ocValueChange = new EventEmitter<string>()\n @Output() ocChange = new EventEmitter<string | null>()\n @Output() ocCounterSelectChange = new EventEmitter<OcAutoCompleteType[]>()\n @Output() ocOptionNotFound = new EventEmitter()\n @Output() ocClick = new EventEmitter()\n\n hasSuffix: boolean = false\n hasPrefix: boolean = false\n\n isOptionsShown: boolean = false\n filteredData: OcAutoCompleteType[] = []\n selectedValue: OcAutoCompleteType = {\n name: '',\n value: null,\n }\n\n selectedIndex: number = -1\n\n @HostBinding('style.width')\n get computedWidth() {\n return this.ocWidth ? this.ocWidth : null\n }\n\n @HostBinding('style.min-width')\n get computedMinWidth() {\n return this.ocMinWidth || '0'\n }\n\n @HostBinding('style.max-width')\n get computedMaxWidth() {\n return this.ocMaxWidth || '100%'\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n\n this.formatOcValueType()\n this.loadOptions()\n\n this.cdr.detectChanges()\n }\n\n ngOnInit(): void {\n if (this.ocValue === undefined) {\n this.ocValue = null\n }\n }\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n this.formatOcValueType()\n this.loadOptions()\n this.translateService.getTranslationsByLanguage()\n this.cdr.detectChanges()\n }\n\n ngAfterContentChecked(): void {\n if (this.ocPrefix) {\n this.hasPrefix = true\n }\n if (this.ocSuffix) {\n this.hasSuffix = true\n }\n }\n\n formatOcValueType() {\n if (this.ocValue) {\n return `${this.ocValue}`\n }\n return null\n }\n\n getTranslation(code: number | string) {\n return this.translateService.getTranslation(code)\n }\n\n loadOptions() {\n this.formatOcValueType()\n setTimeout(() => {\n this.filteredData = this.ocData\n\n const inputBox = this.el.nativeElement\n\n if (this.ocSelectByTyping && this.ocValue) {\n const found = this.ocData.find((el) => el.value == this.ocValue)\n\n if (found) {\n this.selectedValue = found\n this.ocValue = found.name\n }\n }\n\n if (inputBox) {\n const inputElement = inputBox.querySelector('input')\n\n if (inputElement && !this.ocSemanticLike && ['otimus', 'shui'].includes(this.ocStyle)) {\n this.renderer.setAttribute(inputElement, 'placeholder', '')\n this.renderer.setAttribute(inputElement, 'required', this.ocRequired.toString())\n }\n }\n }, 50)\n }\n\n closeOnClickOut(): void {\n this.renderer.listen('window', 'click', (e: Event) => {\n const target = e.target as HTMLElement\n\n const insideCounterSelect =\n this.ocType === 'counterSelect' && target.closest('.oc-counter-select')\n\n if (this.input && this.options && !insideCounterSelect) {\n if (target !== this.input.nativeElement && target !== this.options.nativeElement) {\n this.isOptionsShown = false\n this.findByTyping()\n }\n }\n })\n }\n\n findByTyping(): void {\n if (!this.ocValue || !this.ocValue?.toString().trim().length) {\n this.ocChange.emit(null)\n this.ocOptionNotFound.emit()\n }\n if (!this.ocSelectByTyping) {\n return\n }\n\n const foundValue = this.ocData.find(\n (data) =>\n data.name.toString().toLowerCase() === this.ocValue?.toString().toLowerCase() ||\n data.value.toString().toLowerCase() === this.ocValue?.toString().toLowerCase()\n )\n\n if (!foundValue) {\n this.selectedValue = {\n name: '',\n value: null,\n }\n if (!this.ocAllowNotListedValue) {\n this.ocValue = ''\n }\n this.filteredData = this.ocData\n return\n }\n this.selectedValue = foundValue\n }\n\n filterData(name: string): void {\n this.isOptionsShown = true\n this.filteredData = this.ocData.filter((data) => {\n return this.getFormattedName(data.name)?.includes(this.getFormattedName(name))\n })\n }\n\n getFormattedName(str: string): string {\n return str\n ?.toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '') // Remove marcas diacríticas\n }\n\n toggleOptions() {\n this.closeOnClickOut()\n this.isOptionsShown = !this.isOptionsShown\n }\n\n selectValue(value: any) {\n const foundValue = this.ocData.find((data) => data.value == value)\n\n if (!foundValue) {\n this.selectedValue = {\n name: '',\n value: null,\n }\n\n this.selectedIndex = -1\n this.cdr.detectChanges()\n return\n }\n\n if (this.ocType === 'counterSelect') {\n foundValue.counter = (foundValue.counter || 0) + 1\n this.emitCounterSelectChange()\n return\n }\n\n this.selectedValue = foundValue\n if (this.ocClearOnChange) {\n this.ocValue = ''\n this.filteredData = this.ocData\n } else {\n this.ocValue = foundValue.name\n }\n\n this.isOptionsShown = false\n this.selectedIndex = this.filteredData.indexOf(foundValue)\n\n this.ocChange.emit(this.selectedValue.value)\n\n this.cdr.detectChanges()\n }\n\n clearValue() {\n this.selectedValue = {\n name: '',\n value: null,\n }\n this.ocValue = ''\n this.filteredData = this.ocData\n }\n\n protected incrementCounter(option: OcAutoCompleteType): void {\n if (!option.counter) {\n option.counter = 1\n } else {\n option.counter++\n }\n this.emitCounterSelectChange()\n }\n\n protected decrementCounter(option: OcAutoCompleteType): void {\n if (option.counter && option.counter > 0) {\n option.counter--\n this.emitCounterSelectChange()\n }\n }\n\n emitCounterSelectChange(): void {\n const hasMoreThanZero = this.ocData.filter((data) => !!data.counter)\n this.ocCounterSelectChange.emit(hasMoreThanZero)\n }\n\n moveSelection(delta: number): void {\n this.selectedIndex = Math.max(\n 0,\n Math.min(this.listOptionsElements.length - 1, this.selectedIndex + delta)\n )\n\n const element = this.listOptionsElements.get(this.selectedIndex)?.nativeElement\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'nearest' })\n }\n }\n\n protected onKeyDown(event: Event): void {\n if (this.ocEnableKeyboard) {\n const e = event as KeyboardEvent\n\n if (this.isOptionsShown) {\n if (e.key === 'ArrowUp') {\n this.moveSelection(-1)\n } else if (e.key === 'ArrowDown') {\n this.moveSelection(1)\n } else if (e.key === 'Enter') {\n this.selectValue(this.filteredData[this.selectedIndex].value)\n } else {\n return\n }\n }\n\n e.preventDefault()\n e.stopPropagation()\n }\n }\n}\n","<div\n [ngClass]=\"{\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix || ocHasDeleteButton,\n shui: ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui',\n }\"\n>\n <ng-content></ng-content>\n <input\n [placeholder]=\"ocPlaceholder\"\n #input\n (click)=\"toggleOptions(); ocClick.emit()\"\n type=\"text\"\n (input)=\"filterData(ocValue)\"\n [(ngModel)]=\"ocValue\"\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\n [ngClass]=\"{\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\n }\"\n [tabindex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n (keydown)=\"onKeyDown($event)\"\n />\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\n <label>\n <span [innerHTML]=\"ocPlaceholder\"></span>\n @if (ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n }\n <small\n *ngIf=\"ocError\"\n class=\"error-msg\"\n >{{ ocError }}</small\n >\n <ng-content select=\"ocPrefix\"></ng-content>\n @if (ocHasDeleteButton && !ocDisabled) {\n <button\n class=\"oc-has-close-button oc suffix\"\n (click)=\"clearValue()\"\n [disabled]=\"ocDisabled\"\n >\n <span class=\"material-symbols-outlined\">backspace</span>\n </button>\n }\n <ng-content select=\"ocSuffix\"></ng-content>\n\n <div class=\"oc-options-div\">\n @if (isOptionsShown && !ocLoading && !ocDisabled) {\n <ul\n #options\n class=\"oc-options\"\n [ngStyle]=\"{\n 'max-height': ocOptionsMaxHeight,\n width: ocOptionsWidth,\n }\"\n >\n @if (!filteredData.length) {\n <li class=\"no-options\">\n {{ ocNoAvailableOptionsText || 'Nenhum resultado disponível' }}\n </li>\n } @else {\n @for (data of filteredData; track data.value; let i = $index) {\n @if (!ocMaxResults || i < ocMaxResults) {\n <li class=\"li-option\" #listOptionsRef>\n <button\n type=\"button\"\n (click)=\"selectValue(data.value)\"\n [class.hover]=\"ocType !== 'counterSelect'\"\n [class.highlight]=\"selectedIndex === i\"\n >\n @if (data.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n 'font-size': data.iconSize || '1.2rem',\n }\"\n >\n {{ data.icon }}\n </span>\n }\n {{ data.name }}\n </button>\n @if (ocType === 'counterSelect') {\n <div class=\"oc-counter-select\">\n <button\n class=\"subtract\"\n (click)=\"decrementCounter(data)\"\n >\n <span class=\"material-symbols-outlined\">remove</span>\n </button>\n <p class=\"counter\">{{ data.counter || 0 }}</p>\n <button\n class=\"add\"\n (click)=\"incrementCounter(data)\"\n >\n <span class=\"material-symbols-outlined\">add</span>\n </button>\n </div>\n }\n </li>\n }\n }\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\n <li class=\"no-options\">\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\n </li>\n }\n }\n </ul>\n } @else if (isOptionsShown && ocLoading && !ocDisabled) {\n <div class=\"oc-options loader\">\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\n </div>\n }\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'oc-profile',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-profile.component.html',\n styleUrl: './oc-profile.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class OcProfileComponent implements OnInit {\n @Input() ocUserName?: string\n @Input() ocProfilePic?: string\n @Input() ocSize: 'large' | 'medium' | 'small' | 'tiny' = 'medium'\n nameInitials: string = ''\n \n ngOnInit() {\n this.getInitials()\n }\n\n getInitials() {\n if(!this.ocUserName) return\n\n const splittedName = this.ocUserName?.split(' ')\n\n const firstLetter = splittedName[0][0]\n let lastLetter = ''\n \n const lastName = splittedName[splittedName.length - 1]\n\n if(splittedName.length > 1 && lastName){\n lastLetter = lastName[0]\n }\n\n this.nameInitials = (firstLetter + lastLetter).toUpperCase()\n }\n}\n","<div class=\"oc-profile\"\n [ngClass]=\"{\n small: ocSize === 'small',\n tiny: ocSize === 'tiny',\n large: ocSize === 'large'\n }\"\n>\n <div class=\"content\">\n @if(ocProfilePic){\n <img [src]=\"ocProfilePic\" [alt]=\"ocUserName || 'Foto de perfil do usuário'\">\n }@else {\n <span>\n {{nameInitials}}\n </span>\n }\n </div>\n</div>","import { Component, Input } from '@angular/core';\nimport { OcProfileComponent } from '../oc-profile/oc-profile.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'oc-log',\n standalone: true,\n imports: [CommonModule, OcProfileComponent],\n templateUrl: './oc-log.component.html',\n styleUrl: './oc-log.component.scss'\n})\nexport class OcLogComponent {\n @Input() ocProfilePic?: string = ''\n @Input() ocUserName?: string = ''\n}\n","<div class=\"oc-log\">\n <div class=\"left-side\" [ngClass]=\"{\n 'has-profile': ocProfilePic || ocUserName\n }\">\n @if(ocProfilePic || ocUserName) {\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\n </oc-profile>\n } @else {\n <div class=\"dot\"></div>\n }\n </div>\n\n <div class=\"content\" [ngClass]=\"{\n 'has-profile-content': ocProfilePic || ocUserName\n }\" selector=\"[content]\">\n <ng-content></ng-content>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'oc-pagination',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-pagination.component.html',\n styleUrl: './oc-pagination.component.scss'\n})\nexport class OcPaginationComponent implements OnInit{\n @Input() ocPage: number = 1\n @Input() ocMaxPage?: number\n @Output() ocGetPage = new EventEmitter<number>()\n \n ngOnInit(): void {\n if(!this.ocMaxPage) this.ocMaxPage = this.ocPage\n }\n\n firstPage() {\n this.ocPage = 1\n \n this.ocGetPage.emit(this.ocPage)\n }\n\n decrementPage() {\n if(this.ocPage <= 1) return\n this.ocPage--\n \n this.ocGetPage.emit(this.ocPage)\n }\n\n incrementPage() {\n if(!this.ocMaxPage || this.ocPage >= this.ocMaxPage) return\n this.ocPage++\n \n this.ocGetPage.emit(this.ocPage)\n }\n\n lastPage() {\n if(!this.ocMaxPage) return\n this.ocPage = this.ocMaxPage\n \n this.ocGetPage.emit(this.ocPage)\n }\n}\n","<div class=\"oc-pagination\">\n <p class=\"oc-pagination-text\">\n Página\n <span>{{ocPage}}</span> \n de\n <span>{{ocMaxPage}}</span>\n </p>\n <div class=\"oc-pagination-buttons\">\n <button (click)=\"firstPage()\" [ngClass]=\"{\n disabled: ocPage === 1\n }\">\n <span class=\"material-symbols-outlined\">keyboard_double_arrow_left</span>\n </button>\n <button (click)=\"decrementPage()\" [ngClass]=\"{\n disabled: ocPage === 1\n }\">\n <span class=\"material-symbols-outlined\">navigate_before</span>\n </button>\n <button (click)=\"incrementPage()\" [ngClass]=\"{\n disabled: ocPage === ocMaxPage\n }\"> \n <span class=\"material-symbols-outlined\">navigate_next</span>\n </button>\n <button (click)=\"lastPage()\" [ngClass]=\"{\n disabled: ocPage === ocMaxPage\n }\"> \n <span class=\"material-symbols-outlined\">\n keyboard_double_arrow_right\n </span>\n </button>\n </div>\n</div>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'oc-not-found',\n standalone: true,\n imports: [],\n templateUrl: './oc-not-found.component.html',\n styleUrl: './oc-not-found.component.scss'\n})\nexport class OcNotFoundComponent {\n\n}\n","<main class=\"oc-not-found\">\n <div class=\"content\">\n <div class=\"main-title\">\n <h1>404</h1>\n <span class=\"s-1\">?</span>\n <span class=\"s-2\">?</span>\n <span class=\"s-3\">?</span>\n </div>\n <div class=\"not-found-msg\">\n <h2>Página não encontrada</h2>\n <p>Não conseguimos encontrar a página que você está procurando</p>\n </div>\n </div>\n</main>","import { CommonModule } from '@angular/common'\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core'\nimport {\n ControlValueAccessor,\n FormControl,\n FormsModule,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-checkbox',\n standalone: true,\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n templateUrl: './oc-checkbox.component.html',\n styleUrl: './oc-checkbox.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OcCheckboxComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class OcCheckboxComponent implements ControlValueAccessor, AfterViewInit {\n checkBoxId: string = `oc-${Math.random()}`\n\n constructor(\n private styleThemeService: StyleThemeService,\n private cdr: ChangeDetectorRef\n ) {}\n\n @Output() ocChange = new EventEmitter<boolean>()\n @Output() ocCheckedChange = new EventEmitter<boolean>();\n\n @Input() ocChecked: boolean = false\n @Input() ocSize: 'tiny' | 'small' = 'small'\n @Input() ocLabel?: string = ''\n @Input() ocName?: string = ''\n @Input() ocColor: 'purple' | 'green' = 'green'\n @Input() ocBorderColor: 'white' | 'gray' = 'white'\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocDoubleClick = new EventEmitter<boolean>()\n @Input() formControl?: FormControl\n @Input() ocTabIndex?: number\n @Input() disableDoubleClickCheck = true\n @Input() ocDisabled = false\n\n private onChange?: (value: boolean) => void\n private onTouched = (): void => {}\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n writeValue(value: boolean): void {\n this.ocChecked = value\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n\n private doubleClickCounter = 0\n private timeoutId: ReturnType<typeof setTimeout> | null = null\n protected onDoubleClick(): void {\n if (this.disableDoubleClickCheck) {\n return\n }\n if (this.timeoutId) {\n clearTimeout(this.timeoutId)\n this.timeoutId = null\n }\n\n if (this.doubleClickCounter === 0) {\n this.doubleClickCounter = 1\n this.timeoutId = setTimeout(() => {\n this.doubleClickCounter = 0\n this.cdr.markForCheck()\n setInterval(() => this.cdr.detectChanges(), 100)\n }, 500)\n } else {\n this.doubleClickCounter = 0\n if (this.ocDoubleClick && this.ocChecked) {\n this.ocDoubleClick.emit(this.ocChecked)\n }\n }\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n toggleChecked(): void {\n if (this.doubleClickCounter === 1) {\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n return\n }\n this.ocChecked = !this.ocChecked\n if (this.onChange) {\n this.onChange(this.ocChecked)\n }\n this.onTouched()\n this.ocChange.emit(this.ocChecked)\n this.ocCheckedChange.emit(this.ocChecked)\n\n if (this.formControl) {\n this.formControl.setValue(this.ocChecked)\n }\n this.cdr.markForCheck()\n this.cdr.detectChanges()\n }\n}\n","<button\n class=\"oc-checkbox-content cbx\"\n type=\"button\"\n (click)=\"toggleChecked(); onDoubleClick()\"\n [ngClass]=\"{\n shui: ocStyle === 'shui',\n }\"\n [tabIndex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n>\n <div\n class=\"oc-checkbox cbx\"\n [ngClass]=\"{\n checked: ocChecked,\n tiny: ocSize === 'tiny',\n purple: ocColor === 'purple',\n 'gray-border': ocBorderColor === 'gray',\n }\"\n >\n <span class=\"check-icon material-symbols-outlined\">check_small</span>\n </div>\n\n @if (ocLabel) {\n <span class=\"oc-checkbox-label cbx\">\n {{ ocLabel }}\n </span>\n }\n\n <ng-content> </ng-content>\n\n @if (formControl) {\n <input\n [formControl]=\"formControl\"\n [name]=\"ocName\"\n [checked]=\"ocChecked\"\n type=\"checkbox\"\n hidden\n [disabled]=\"ocDisabled\"\n />\n } @else {\n <input\n [name]=\"ocName\"\n [checked]=\"ocChecked\"\n type=\"checkbox\"\n hidden\n [disabled]=\"ocDisabled\"\n />\n }\n</button>\n","import { Component,ElementRef,EventEmitter,Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { CdkMenuModule } from '@angular/cdk/menu';\nimport { CommonModule } from '@angular/common';\nimport { OcMenuType } from '../../interfaces/oc-menu';\nimport { OcCheckboxComponent } from '../oc-checkbox/oc-checkbox.component';\n\n@Component({\n selector: 'oc-menu',\n standalone: true,\n imports: [CommonModule, CdkMenuModule, OcCheckboxComponent],\n templateUrl: './oc-menu.component.html',\n styleUrls: ['./oc-menu.component.scss']\n})\nexport class OcMenuComponent implements OnInit {\n constructor(private renderer: Renderer2) {}\n\n @ViewChild('ocMenuEl') menu!: ElementRef;\n @Output() ocChange = new EventEmitter()\n @Input() ocMenu: OcMenuType[] = []\n isMenuShown: boolean = false\n buttonId?:string\n\n open() {\n this.isMenuShown = true\n\n setTimeout(() => {\n if(this.menu){\n const parentButton = this.findParentButton(this.menu.nativeElement);\n if (parentButton) {\n this.buttonId = `oc-${Math.random()}`\n this.renderer.setAttribute(parentButton, 'id', this.buttonId);\n }\n }\n }, 100)\n }\n\n ngOnInit() {\n this.closeOnClickOut()\n }\n\n findParentButton(element: HTMLElement): HTMLButtonElement | null {\n let parent = element.parentElement;\n while (parent) {\n if (parent.tagName.toLowerCase() === 'button') {\n return parent as HTMLButtonElement;\n }\n parent = parent.parentElement;\n }\n return null;\n }\n \n closeOnClickOut() {\n this.renderer.listen('window', 'click',(e:any)=>{\n\n const isCheckbox = Array.from(e.target.classList).includes('cbx')\n\n if(isCheckbox) return\n else if(!this.menu) return\n\n if(this.buttonId && e.target.id !== this.buttonId) {\n this.isMenuShown = false\n return\n }\n \n })\n }\n\n changeCheckbox(name: string, checked: boolean) {\n let foundItem\n this.ocMenu.forEach(item => {\n if(item.name === name && typeof checked === 'boolean') {\n item.checked = checked\n\n foundItem = item\n }\n })\n this.ocChange.emit(foundItem)\n return foundItem\n }\n\n typeof(key: any) {\n return typeof key\n }\n}\n","<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\n <ul>\n @for(option of ocMenu; track $index) {\n <li\n [ngClass]=\"{\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\n }\"\n >\n @if(typeof(option.checked) === 'boolean'){\n <div class=\"checkbox-opt cbx\">\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\n </div>\n }\n @if(option.icon) {\n <span class=\"material-symbols-outlined\">\n {{option.icon}}\n </span>\n } \n @if(option.callback){\n <button (click)=\"option.callback()\">{{option.name}}</button>\n }\n @if(option.url){\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\n }\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\n <span>{{option.name}}</span>\n }\n </li>\n }\n </ul>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { ChangeDetectionStrategy, Component } from '@angular/core'\nimport { OcToastService } from '../../services/oc-toast.service'\n\n@Component({\n selector: 'oc-toast',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-toast.component.html',\n styleUrl: './oc-toast.component.scss',\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class OcToastComponent {\n constructor(public toast: OcToastService) {}\n}\n","<div\n class=\"toast\"\n [ngClass]=\"{\n 'close-toast': toast.currentToast.counter === 1,\n error: ['erro', 'error'].includes(toast.currentToast.status.toLowerCase()),\n success: ['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase()),\n loading: ['carregando', 'cargando', 'loading'].includes(toast.currentToast.status.toLowerCase()),\n animation: toast.currentToast.hasAnimation\n }\"\n *ngIf=\"toast.currentToast && toast.currentToast.counter > 0\"\n>\n <header>\n <ng-container [ngTemplateOutlet]=\"iconTemplate\"></ng-container>\n <h4 class=\"status\">\n {{ toast.currentToast.status[0].toUpperCase() + toast.currentToast.status.slice(1) }}\n </h4>\n <button (click)=\"toast.closeToast(toast.currentToast.id)\">\n <span class=\"material-symbols-outlined\">close</span>\n </button>\n </header>\n <p>{{ toast.currentToast.message }}</p>\n</div>\n\n<ng-template #iconTemplate>\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['erro', 'error'].includes(toast.currentToast.status.toLowerCase())\"\n >error</span\n >\n\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['sucesso', 'success', 'éxito'].includes(toast.currentToast.status.toLowerCase())\"\n >check_circle</span\n >\n\n <span\n class=\"material-symbols-outlined\"\n *ngIf=\"['information', 'informação', 'información'].includes(toast.currentToast.status.toLowerCase())\"\n >info</span\n >\n\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>\n \n\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\n\n@Component({\n selector: 'oc-toggle',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-toggle.component.html',\n styleUrl: './oc-toggle.component.scss',\n})\nexport class OcToggleComponent {\n _ocChecked: boolean = false\n @Input() ocDisabled: boolean = false\n\n @Input() ocSize: 'medium' | 'large' = 'medium'\n @Input() set ocChecked(value: boolean) {\n this._ocChecked = value\n this.ocCheckedChange.emit(this._ocChecked)\n }\n\n get ocChecked() {\n return this._ocChecked\n }\n\n @Input() ocColor: 'purple' | 'green' = 'green'\n\n @Output() ocCheckedChange = new EventEmitter<boolean>()\n\n toggleChecked() {\n this.ocChecked = !this.ocChecked\n }\n}\n","<label\n class=\"switch\"\n [ngClass]=\"{\n large: ocSize === 'large',\n medium: ocSize === 'medium',\n }\"\n>\n <input\n [checked]=\"ocChecked\"\n (click)=\"toggleChecked()\"\n type=\"checkbox\"\n [disabled]=\"ocDisabled\"\n />\n <span\n class=\"slider round\"\n [ngClass]=\"[ocColor]\"\n ></span>\n</label>\n","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, EventEmitter, Input, Output } from '@angular/core'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-step',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-step.component.html',\n styleUrl: './oc-step.component.scss',\n})\nexport class OcStepComponent implements AfterViewInit {\n constructor(private styleThemeService: StyleThemeService) {}\n\n @Input() ocIsActive: boolean = false\n @Input() ocTitle: string = ''\n @Input() ocColor: 'purple' | 'green' = 'purple'\n @Input() ocCompleted: boolean = false\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocType: 'history' | 'default' = 'default'\n @Input() ocExpandable?: boolean = true\n\n @Output() ocClick = new EventEmitter()\n stepIndex: number = 0\n selectedIndex: number = 0\n lastIndex: number = 0\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n }\n\n protected handleStepClick(stepIndex: number): void {\n if (!this.ocExpandable) {\n return\n }\n if (stepIndex !== this.selectedIndex && (stepIndex <= this.selectedIndex || this.ocCompleted)) {\n this.selectStep(stepIndex)\n this.ocClick.emit()\n }\n }\n\n @Input() selectStep!: (index: number) => void\n}\n","<div class=\"oc-step\" (click)=\"\n handleStepClick(stepIndex)\n \" [ngClass]=\"{\n 'oc-not-selected': stepIndex !== selectedIndex,\n 'shui': ocStyle === 'shui',\n 'shui-step': ocStyle === 'shui',\n 'oc-expandable': ocExpandable\n}\">\n <div class=\"left-side\">\n <div class=\"step-number\" [ngClass]=\"{\n 'oc-selected-p': selectedIndex === stepIndex && ocColor === 'purple',\n 'oc-selected-g': selectedIndex === stepIndex && ocColor === 'green',\n 'oc-purple': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'purple',\n 'oc-green': (stepIndex! <= selectedIndex || ocCompleted) && ocColor === 'green',\n 'history-point': ocType === 'history'\n }\">\n @if(ocType !== 'history') {\n <span>{{stepIndex! + 1}}</span>\n }\n </div>\n <h2 [ngClass]=\"{\n 'oc-selected-p-title': selectedIndex === stepIndex && ocColor === 'purple',\n 'oc-selected-g-title': selectedIndex === stepIndex && ocColor === 'green',\n }\">{{ocTitle}}</h2>\n </div>\n <div class=\"oc-content\" [ngClass]=\"{\n 'expanded': ocIsActive || !ocExpandable,\n 'oc-expandable': ocExpandable,\n 'oc-prev-selected-p': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'purple',\n 'oc-prev-selected-g': (stepIndex! < selectedIndex || ocCompleted) && ocColor === 'green',\n 'oc-left-border': stepIndex !== lastIndex,\n 'history-point': ocType === 'history'\n }\">\n @if (ocIsActive || !ocExpandable) {\n <ng-content></ng-content>\n }\n </div>\n</div>","import { AfterViewInit, Component, ContentChildren, QueryList, Input } from '@angular/core'\nimport { OcStepComponent } from '../oc-step/oc-step.component'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-stepper',\n standalone: true,\n imports: [],\n templateUrl: './oc-stepper.component.html',\n styleUrl: './oc-stepper.component.scss',\n})\nexport class OcStepperComponent implements AfterViewInit {\n constructor(private styleThemeService: StyleThemeService) {}\n @ContentChildren(OcStepComponent) ocSteps!: QueryList<OcStepComponent>\n @Input() ocAllowNavigation: boolean = false\n @Input() ocColor: 'purple' | 'green' = 'purple'\n @Input() ocCurrentIndex: number = 0\n @Input() ocSaveCompletedSteps: boolean = true\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Input() ocType: 'history' | 'default' = 'default'\n\n private completedSteps: number[] = []\n\n ngAfterViewInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.setStepsValues()\n this.selectStep(this.ocCurrentIndex)\n this.setCompletedSteps()\n }\n\n private setCompletedSteps(): void {\n if (!this.ocSaveCompletedSteps) {\n return\n }\n for (let i = 0; i <= this.ocCurrentIndex; i++) {\n this.completedSteps.push(i)\n }\n }\n\n setStepsValues(): void {\n this.ocSteps.forEach((step, i) => {\n step.stepIndex = i\n step.ocColor = this.ocColor\n step.lastIndex = this.ocSteps.length - 1\n step.ocStyle = this.ocStyle\n step.ocType = this.ocType\n\n step.selectStep = (index: number) => this.selectStep(index)\n })\n }\n\n selectStep(index: number): void {\n this.ocSteps.forEach((step, i) => {\n step.ocStyle = this.ocStyle\n\n if (this.completedSteps.includes(i)) {\n step.ocCompleted = true\n }\n if (i !== index) {\n step.ocIsActive = false\n step.selectedIndex = index\n return\n }\n step.ocIsActive = true\n this.ocCurrentIndex = index\n step.selectedIndex = this.ocCurrentIndex\n this.setCompletedSteps()\n })\n return\n }\n\n nextStep(event: Event): void {\n event.stopPropagation()\n if (this.ocCurrentIndex === this.ocSteps.length - 1) {\n return\n }\n this.selectStep(this.ocCurrentIndex + 1)\n }\n\n previousStep(event: Event): void {\n event.stopPropagation()\n if (!this.ocCurrentIndex) {\n return\n }\n this.selectStep(this.ocCurrentIndex - 1)\n }\n}\n","<div class=\"oc-stepper\">\n <ng-content></ng-content>\n</div>","import { Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-tab',\n standalone: true,\n imports: [],\n templateUrl: './oc-tab.component.html',\n styleUrl: './oc-tab.component.scss',\n})\nexport class OcTabComponent {\n @Input() ocTitle: string = ''\n @Input() ocIsActive: boolean = false\n\n tabIndex: number = 0\n}\n","@if (ocIsActive) {\n <ng-content></ng-content>\n}","import {\n Component,\n ContentChildren,\n QueryList,\n AfterContentInit,\n EventEmitter,\n Output,\n Input,\n} from '@angular/core'\nimport { OcTabComponent } from '../oc-tab/oc-tab.component'\nimport { CommonModule } from '@angular/common'\nimport { StyleThemeService } from '../../services/style-theme.service'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-tabs',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-tabs.component.html',\n styleUrl: './oc-tabs.component.scss',\n})\nexport class OcTabsComponent implements AfterContentInit {\n constructor(private styleThemeService: StyleThemeService) {}\n @ContentChildren(OcTabComponent) ocTabs!: QueryList<OcTabComponent>\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() ocClick = new EventEmitter<void>()\n\n activeTabIndex: number = 0\n\n ngAfterContentInit(): void {\n this.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n this.selectTab(0)\n }\n\n selectTab(index: number): void {\n this.ocTabs.toArray().forEach((tab, i) => {\n tab.tabIndex = i\n tab.ocIsActive = i === index\n })\n this.activeTabIndex = index\n }\n\n handleTabClick(): void {\n this.ocClick.emit()\n }\n}\n","<div class=\"oc-tabs\" [ngClass]=\"{\n shui: ocStyle === 'shui'\n}\">\n <div class=\"row\">\n @for(tab of ocTabs; track $index) {\n <button [ngClass]=\"{\n 'oc-selected': tab.tabIndex === activeTabIndex\n }\" class=\"oc-tab\" (click)=\"selectTab(tab.tabIndex); \n handleTabClick()\" type=\"button\">{{tab.ocTitle}}</button>\n }\n <div class=\"row-content\">\n <ng-content select=\"[row]\"></ng-content>\n </div>\n </div>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\n\n@Component({\n selector: 'oc-accordion-item',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-accordion-item.component.html',\n styleUrl: './oc-accordion-item.component.scss',\n})\nexport class OcAccordionItemComponent {\n @Input() ocIsOpen: boolean = false\n @Input() ocTitle: string = ''\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n @Output() closeAllItems = new EventEmitter()\n\n protected toggle(): void {\n if (this.ocIsOpen) {\n this.ocIsOpen = !this.ocIsOpen\n return\n }\n this.closeAllItems.emit()\n this.ocIsOpen = !this.ocIsOpen\n }\n\n}\n","<div class=\"oc-accordion-item\" [ngClass]=\"{\n 'shui': ocStyle === 'shui'\n}\">\n <div class=\"item-header\" [ngClass]=\"{ open: ocIsOpen }\" (click)=\"toggle()\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n <span class=\"material-symbols-outlined\" style=\"user-select: none;\">\n keyboard_control_key\n </span>\n </div>\n @if (ocIsOpen) {\n <div class=\"oc-content\" [ngClass]=\"{\n open: ocIsOpen\n }\">\n <ng-content></ng-content>\n </div>\n }\n</div>","import { AfterViewInit, Component, ContentChildren, Input, QueryList } from '@angular/core'\nimport { OcAccordionItemComponent } from '../oc-accordion-item/oc-accordion-item.component'\nimport { CommonModule } from '@angular/common'\nimport { OcStyleThemeType } from '../../interfaces/oc-style-theme'\nimport { StyleThemeService } from '../../services/style-theme.service'\n\n@Component({\n selector: 'oc-accordion',\n standalone: true,\n imports: [CommonModule, OcAccordionItemComponent],\n templateUrl: './oc-accordion.component.html',\n styleUrl: './oc-accordion.component.scss',\n})\nexport class OcAccordionComponent implements AfterViewInit {\n @ContentChildren(OcAccordionItemComponent) items!: QueryList<OcAccordionItemComponent>\n @Input() ocAlternate: boolean = true\n @Input() ocCurrentIndex?: number\n @Input() ocStyle: OcStyleThemeType = 'otimus'\n\n constructor(private styleThemeService: StyleThemeService) {}\n\n ngAfterViewInit(): void {\n this.items.forEach((item, i) => {\n item.ocStyle = this.styleThemeService.getStyleTheme() || this.ocStyle\n item.closeAllItems.subscribe(() => this.closeAllItems())\n })\n }\n\n closeAllItems(): void {\n if (this.ocAlternate) {\n this.items.forEach((item) => (item.ocIsOpen = false))\n }\n }\n\n alternateToIndex(index: number): void {\n this.items.forEach((item, i) => {\n if (i === index) {\n item.ocIsOpen = true\n return\n }\n item.ocIsOpen = false\n })\n }\n}\n","<div>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'oc-message',\n standalone: true,\n imports: [\n CommonModule\n ],\n templateUrl: './oc-message.component.html',\n styleUrl: './oc-message.component.scss'\n})\nexport class OcMessageComponent {\n @Input() isOpen: boolean = false\n @Input() ocColor: 'default' | 'green' | 'red' = 'default'\n @Input() ocClosable: boolean = false\n @Input() ocIcon: string = '' \n\n private _ocTitle: string = '';\n @Input()\n set ocTitle(value: string) {\n this._ocTitle = value.trim();\n }\n get ocTitle(): string {\n return this._ocTitle;\n }\n\n @Output() ocOnClose = new EventEmitter<any>()\n @Output() ocOnOpen = new EventEmitter<any>()\n\n open() {\n this.isOpen = true\n this.ocOnOpen.emit(this.isOpen)\n }\n\n close() {\n this.isOpen = false\n this.ocOnClose.emit(this.isOpen)\n }\n}\n","@if (!ocClosable || isOpen) {\n<div class=\"oc-message-bg\" [ngClass]=\"'oc-' + ocColor\">\n <div class=\"oc-icon\" [ngClass]=\"'oc-' + ocColor\">\n @if (ocIcon) {\n <span class=\"material-symbols-outlined\">{{ ocIcon }}</span>\n } @else {\n <span>\n <ng-content select=\"[ocIcon]\"></ng-content>\n </span>\n }\n </div>\n <div class=\"oc-main-content\">\n <div class=\"oc-message-header\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n @if (ocClosable) {\n <button (click)=\"close()\" class=\"oc-close-btn\">\n <span class=\"material-symbols-outlined md-18\" ocTooltip content=\"Fechar\" ocSide=\"bottom\">\n close\n </span>\n </button>\n }\n </div>\n <div class=\"oc-message-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n}","import {\n Component,\n Input,\n ViewChild,\n ElementRef,\n Output,\n EventEmitter,\n AfterViewInit,\n} from '@angular/core'\nimport monthsData from './data/months.json'\n\ninterface MonthsData {\n [key: string]: { [key: string]: string }\n}\n\nconst months: MonthsData = monthsData as unknown as MonthsData\n\n@Component({\n selector: 'oc-date-select',\n standalone: true,\n templateUrl: './oc-date-select.component.html',\n styleUrl: './oc-date-select.component.scss',\n})\nexport class OcDateSelectComponent implements AfterViewInit {\n @Input() ocValue: string = this.getCurrentDate()\n @Input() ocType: 'day' | 'month' | 'year' = 'day'\n @Input() ocSkipType: 'day' | 'week' | 'month' | 'year' = 'day'\n @Output() ocValueChange = new EventEmitter<string>()\n\n @Output() ocChange = new EventEmitter<string>()\n\n @Input() ocLanguage: 'ptbr' | 'enus' | 'esch' = 'ptbr'\n @Input() ocMaxDate: string | null = null\n @Input() ocMinDate: string | null = null\n\n @ViewChild('dateInput') dateInput!: ElementRef<HTMLInputElement>\n private intervalId: ReturnType<typeof setInterval> | null = null\n\n ngAfterViewInit(): void {\n if (this.ocSkipType !== this.ocType) {\n this.ocSkipType = this.ocType\n }\n }\n\n private getCurrentDate(): string {\n const today = new Date()\n const dd = String(today.getDate()).padStart(2, '0')\n const mm = String(today.getMonth() + 1).padStart(2, '0')\n const yyyy = today.getFullYear()\n return `${yyyy}-${mm}-${dd}`\n }\n\n protected getViewDate(): string {\n const [year, month, day] = this.ocValue.split('-')\n const monthName = months[this.ocLanguage][month]\n let intersection = ' de '\n if (this.ocLanguage === 'enus') {\n intersection = ' '\n }\n if (this.ocType === 'year') {\n return year\n }\n if (this.ocType === 'month') {\n return `${monthName.toLowerCase()}${intersection}${year}`\n }\n return `${day}${intersection}${monthName.toLowerCase()}${intersection}${year}`\n }\n\n private updateValue(newValue: string): void {\n this.ocValue = newValue\n this.ocValueChange.emit(this.ocValue) // two-way binding\n this.ocChange.emit(this.ocValue) // evento custom\n }\n\n protected increaseDate(): void {\n const date = new Date(this.ocValue)\n date.setDate(date.getDate() + 1)\n // sum 1 month\n if (this.ocSkipType === 'month') {\n date.setMonth(date.getMonth() + 1)\n }\n if (this.ocSkipType === 'week') {\n date.setDate(date.getDate() + 7)\n }\n this.updateValue(date.toISOString().split('T')[0])\n }\n\n protected decreaseDate(): void {\n const date = new Date(this.ocValue)\n date.setDate(date.getDate() - 1)\n // sub 1 month\n if (this.ocSkipType === 'month') {\n date.setMonth(date.getMonth() - 1)\n }\n if (this.ocSkipType === 'week') {\n date.setDate(date.getDate() - 7)\n }\n this.updateValue(date.toISOString().split('T')[0])\n }\n\n protected startHold(direction: 'increase' | 'decrease'): void {\n this.stopHold()\n if (direction === 'increase') {\n this.increaseDate()\n this.intervalId = setInterval(() => this.increaseDate(), 150)\n } else {\n this.decreaseDate()\n this.intervalId = setInterval(() => this.decreaseDate(), 150)\n }\n }\n\n protected stopHold(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId)\n this.intervalId = null\n }\n }\n\n protected openDatePicker(): void {\n if (this.dateInput.nativeElement.showPicker) {\n this.dateInput.nativeElement.showPicker()\n } else {\n this.dateInput.nativeElement.click()\n }\n }\n\n protected onDateChange(event: Event): void {\n const input = event.target as HTMLInputElement\n this.updateValue(input.value)\n }\n}\n","<div class=\"date-select\">\n <button\n class=\"left-btn\"\n (mousedown)=\"startHold('decrease')\"\n (mouseup)=\"stopHold()\"\n (mouseleave)=\"stopHold()\"\n (touchstart)=\"startHold('decrease')\"\n (touchend)=\"stopHold()\"\n >\n <span class=\"material-symbols-outlined\">arrow_back_ios</span>\n </button>\n\n <div class=\"date-text-wrapper\">\n <p\n class=\"date-text\"\n (click)=\"openDatePicker()\"\n >\n {{ getViewDate() }}\n </p>\n @let type = ocType === 'day' ? 'date' : ocType;\n <input\n #dateInput\n [type]=\"type\"\n [max]=\"ocMaxDate\"\n [min]=\"ocMinDate\"\n (change)=\"onDateChange($event)\"\n />\n </div>\n\n <button\n class=\"right-btn\"\n (mousedown)=\"startHold('increase')\"\n (mouseup)=\"stopHold()\"\n (mouseleave)=\"stopHold()\"\n (touchstart)=\"startHold('increase')\"\n (touchend)=\"stopHold()\"\n >\n <span class=\"material-symbols-outlined\">arrow_forward_ios</span>\n </button>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { Component, EventEmitter, Input, Output } from '@angular/core'\nimport { OcMenuType } from '../../interfaces/oc-menu'\nimport { OcMenuComponent } from '../oc-menu/oc-menu.component'\n\n@Component({\n selector: 'oc-button-menu',\n standalone: true,\n imports: [CommonModule, OcMenuComponent],\n templateUrl: './oc-button-menu.component.html',\n styleUrl: './oc-button-menu.component.scss',\n})\nexport class OcButtonMenuComponent {\n @Input() ocSize: 'tiny' | 'small' | 'medium' | 'large' = 'medium'\n @Input() ocColor: 'purple' | 'green' | 'lightGray' = 'lightGray'\n @Input() ocType: 'button' | 'submit' = 'button'\n @Input() ocMenu: OcMenuType[] = []\n @Output() ocClick = new EventEmitter()\n @Output() ocChange = new EventEmitter()\n\n protected getStyleClass(): object {\n return {\n tiny: this.ocSize === 'tiny',\n small: this.ocSize === 'small',\n medium: this.ocSize === 'medium',\n large: this.ocSize === 'large',\n 'p-1': this.ocColor === 'purple',\n 'gray-1': this.ocColor === 'lightGray',\n 'g-1': this.ocColor === 'green',\n }\n }\n}\n","<div class=\"oc-button-menu\" [ngClass]=\"getStyleClass()\">\n <button class=\"oc button left-btn\" [type]=\"ocType\" (click)=\"ocClick.emit($event)\">\n <ng-content></ng-content>\n </button>\n <button (click)=\"menu.open()\" class=\"oc button menu right-btn\" [ngClass]=\"getStyleClass()\">\n <span class=\"material-symbols-outlined\">\n arrow_drop_down\n </span>\n <oc-menu class=\"oc-menu\" #menu [ocMenu]=\"ocMenu\" (ocChange)=\"ocChange.emit($event)\"></oc-menu>\n </button>\n</div>","import { CommonModule } from '@angular/common'\nimport { AfterViewInit, Component, Input } from '@angular/core'\n\n@Component({\n selector: 'oc-progress',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './oc-progress.component.html',\n styleUrl: './oc-progress.component.scss',\n})\nexport class OcProgressComponent implements AfterViewInit {\n @Input() ocWidth: string = '100%'\n @Input() ocColor: 'purple' | 'green' | 'orange' = 'purple'\n @Input() ocGradient: boolean = true\n @Input() ocStyle: 'otimus' | 'shui' = 'otimus'\n\n @Input() ocPercentage: number = 0\n\n ngAfterViewInit(): void {\n if (this.ocStyle === 'shui') {\n this.ocColor = 'orange'\n }\n }\n}\n","<div class=\"oc-progress-container\">\n <div\n class=\"oc-progress\"\n [ngStyle]=\"{\n width: ocWidth || '100%',\n }\"\n >\n <div\n class=\"fill\"\n [ngClass]=\"{\n purple: ocColor === 'purple',\n green: ocColor === 'green',\n orange: ocColor === 'orange',\n gradient: ocGradient,\n }\"\n [ngStyle]=\"{\n width: ocPercentage + '%',\n }\"\n ></div>\n </div>\n\n <div\n class=\"percentage-tooltip\"\n [ngStyle]=\"{\n width: ocPercentage + '%',\n }\"\n >\n <span class=\"tooltip\">{{ ocPercentage }}%</span>\n </div>\n</div>\n","/*\n * Public API Surface of otimus-library\n */\n\nexport * from './lib/otimus-library.service'\nexport * from './lib/otimus-library.component'\nexport * from './lib/services/oc-toast.service'\nexport * from './lib/components/oc-badge/oc-badge.component'\nexport * from './lib/components/oc-filter/oc-filter.component'\nexport * from './lib/directives/oc-tooltip/oc-tooltip.directive'\nexport * from './lib/components/oc-input/oc-input.component'\nexport * from './lib/components/oc-modal/oc-modal.component'\nexport * from './lib/components/oc-key-value/oc-key-value.component'\nexport * from './lib/components/oc-chip/oc-chip.component'\nexport * from './lib/components/oc-modal-footer/oc-modal-footer.component'\nexport * from './lib/components/oc-autocomplete/oc-autocomplete.component'\nexport * from './lib/components/oc-profile/oc-profile.component'\nexport * from './lib/components/oc-log/oc-log.component'\nexport * from './lib/components/oc-pagination/oc-pagination.component'\nexport * from './lib/components/oc-not-found/oc-not-found.component'\nexport * from './lib/components/oc-menu/oc-menu.component'\nexport * from './lib/components/oc-toast/oc-toast.component'\nexport * from './lib/components/oc-checkbox/oc-checkbox.component'\nexport * from './lib/components/oc-toggle/oc-toggle.component'\nexport * from './lib/components/oc-stepper/oc-stepper.component'\nexport * from './lib/components/oc-step/oc-step.component'\nexport * from './lib/components/oc-tabs/oc-tabs.component'\nexport * from './lib/components/oc-tab/oc-tab.component'\nexport * from './lib/components/oc-accordion/oc-accordion.component'\nexport * from './lib/components/oc-accordion-item/oc-accordion-item.component'\nexport * from './lib/components/oc-message/oc-message.component'\nexport * from './lib/components/oc-date-select/oc-date-select.component'\nexport * from './lib/components/oc-button-menu/oc-button-menu.component'\nexport * from './lib/components/oc-progress/oc-progress.component'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StyleThemeService","i2","i3","i1","i1.InternationalizationService","i2.StyleThemeService","i1.OcToastService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "otimus-library",
3
- "version": "0.2.94",
3
+ "version": "0.2.95",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/cdk": "^18.2.14",