lib-portal-angular 0.0.18 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,83 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class AlertComponent {
5
+ constructor() {
6
+ this.alerts = [];
7
+ this.closeTimeouts = {}; // Armazena os temporizadores para cada alerta
8
+ }
9
+ ngOnInit() {
10
+ // Inicia o temporizador de fechamento para cada alerta quando a página é carregada
11
+ this.alerts.forEach(alert => {
12
+ this.closeTimeouts[alert.message] = setTimeout(() => {
13
+ this.closeAlert(alert);
14
+ }, 6000); // Fecha após 8 segundos
15
+ });
16
+ }
17
+ ngAfterViewInit() {
18
+ // Adiciona a classe 'show' após um curto atraso para acionar a animação
19
+ setTimeout(() => {
20
+ this.alerts.forEach(alert => {
21
+ const element = document.getElementById(`alert-${alert.message}`);
22
+ if (element) {
23
+ element.classList.add('show');
24
+ }
25
+ });
26
+ }, 10); // Pequeno atraso para garantir que o elemento esteja no DOM
27
+ }
28
+ closeAlert(alert) {
29
+ const element = document.getElementById(`alert-${alert.message}`);
30
+ if (element) {
31
+ element.classList.remove('show');
32
+ setTimeout(() => {
33
+ this.alerts = this.alerts.filter(a => a !== alert);
34
+ }, 500); // Duração da animação de saída
35
+ }
36
+ else {
37
+ this.alerts = this.alerts.filter(a => a !== alert);
38
+ }
39
+ }
40
+ getAlertClass(alert) {
41
+ return {
42
+ 'alert-container': true,
43
+ 'alert-dismissible': true,
44
+ [`alert-${alert.type}`]: true
45
+ };
46
+ }
47
+ getAlertIconClass(alert) {
48
+ switch (alert.type) {
49
+ case 'success':
50
+ return 'success-icon'; // Classe para o ícone de sucesso
51
+ case 'info':
52
+ return 'info-icon'; // Classe para o ícone de informação
53
+ case 'warning':
54
+ return 'warning-icon'; // Classe para o ícone de aviso
55
+ case 'danger':
56
+ return 'danger-icon'; // Classe para o ícone de erro
57
+ default:
58
+ return '';
59
+ }
60
+ }
61
+ onMouseEnter(alert) {
62
+ // Cancela o temporizador quando o mouse entra no alerta
63
+ if (this.closeTimeouts[alert.message]) {
64
+ clearTimeout(this.closeTimeouts[alert.message]);
65
+ delete this.closeTimeouts[alert.message];
66
+ }
67
+ }
68
+ onMouseLeave(alert) {
69
+ // Inicia um novo temporizador para fechar o alerta após 2 segundos quando o mouse sai do alerta
70
+ this.closeTimeouts[alert.message] = setTimeout(() => {
71
+ this.closeAlert(alert);
72
+ }, 2000); // Fechar após 2 segundos
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AlertComponent, selector: "lib-alert", inputs: { alerts: "alerts" }, ngImport: i0, template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'lib-alert', template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"] }]
80
+ }], propDecorators: { alerts: [{
81
+ type: Input
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXhFLE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBTWEsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUN0QixrQkFBYSxHQUEyQixFQUFFLENBQUMsQ0FBQyw4Q0FBOEM7S0F3RXJHO0lBdEVHLFFBQVE7UUFDSixtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLHdFQUF3RTtRQUN4RSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxPQUFPLEVBQUU7b0JBQ1QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ2pDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw0REFBNEQ7SUFDeEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZO1FBQ25CLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRSxJQUFJLE9BQU8sRUFBRTtZQUNULE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN2RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7U0FDM0M7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVk7UUFDdEIsT0FBTztZQUNILGlCQUFpQixFQUFFLElBQUk7WUFDdkIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixDQUFDLFNBQVMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSTtTQUNoQyxDQUFDO0lBQ04sQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVk7UUFDMUIsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2hCLEtBQUssU0FBUztnQkFDVixPQUFPLGNBQWMsQ0FBQyxDQUFDLGlDQUFpQztZQUM1RCxLQUFLLE1BQU07Z0JBQ1AsT0FBTyxXQUFXLENBQUMsQ0FBQyxvQ0FBb0M7WUFDNUQsS0FBSyxTQUFTO2dCQUNWLE9BQU8sY0FBYyxDQUFDLENBQUMsK0JBQStCO1lBQzFELEtBQUssUUFBUTtnQkFDVCxPQUFPLGFBQWEsQ0FBQyxDQUFDLDhCQUE4QjtZQUN4RDtnQkFDSSxPQUFPLEVBQUUsQ0FBQztTQUNqQjtJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUNyQix3REFBd0Q7UUFDeEQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3JCLGdHQUFnRztRQUNoRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMseUJBQXlCO0lBQ3ZDLENBQUM7K0dBekVRLGNBQWM7bUdBQWQsY0FBYywrRUNSM0IsNm1CQWlCQTs7NEZEVGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDSSxXQUFXOzhCQUtaLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItYWxlcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWxlcnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgYWxlcnRzOiBBbGVydFtdID0gW107XG4gICAgcHJpdmF0ZSBjbG9zZVRpbWVvdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307IC8vIEFybWF6ZW5hIG9zIHRlbXBvcml6YWRvcmVzIHBhcmEgY2FkYSBhbGVydGFcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBJbmljaWEgbyB0ZW1wb3JpemFkb3IgZGUgZmVjaGFtZW50byBwYXJhIGNhZGEgYWxlcnRhIHF1YW5kbyBhIHDDoWdpbmEgw6kgY2FycmVnYWRhXG4gICAgICAgIHRoaXMuYWxlcnRzLmZvckVhY2goYWxlcnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUFsZXJ0KGFsZXJ0KTtcbiAgICAgICAgICAgIH0sIDYwMDApOyAvLyBGZWNoYSBhcMOzcyA4IHNlZ3VuZG9zXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gQWRpY2lvbmEgYSBjbGFzc2UgJ3Nob3cnIGFww7NzIHVtIGN1cnRvIGF0cmFzbyBwYXJhIGFjaW9uYXIgYSBhbmltYcOnw6NvXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGVydHMuZm9yRWFjaChhbGVydCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhbGVydC0ke2FsZXJ0Lm1lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIDEwKTsgLy8gUGVxdWVubyBhdHJhc28gcGFyYSBnYXJhbnRpciBxdWUgbyBlbGVtZW50byBlc3RlamEgbm8gRE9NXG4gICAgfVxuXG4gICAgY2xvc2VBbGVydChhbGVydDogQWxlcnQpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhbGVydC0ke2FsZXJ0Lm1lc3NhZ2V9YCk7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRzID0gdGhpcy5hbGVydHMuZmlsdGVyKGEgPT4gYSAhPT0gYWxlcnQpO1xuICAgICAgICAgICAgfSwgNTAwKTsgLy8gRHVyYcOnw6NvIGRhIGFuaW1hw6fDo28gZGUgc2HDrWRhXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0cyA9IHRoaXMuYWxlcnRzLmZpbHRlcihhID0+IGEgIT09IGFsZXJ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEFsZXJ0Q2xhc3MoYWxlcnQ6IEFsZXJ0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnYWxlcnQtY29udGFpbmVyJzogdHJ1ZSxcbiAgICAgICAgICAgICdhbGVydC1kaXNtaXNzaWJsZSc6IHRydWUsXG4gICAgICAgICAgICBbYGFsZXJ0LSR7YWxlcnQudHlwZX1gXTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldEFsZXJ0SWNvbkNsYXNzKGFsZXJ0OiBBbGVydCkge1xuICAgICAgICBzd2l0Y2ggKGFsZXJ0LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnc3VjY2Vzcy1pY29uJzsgLy8gQ2xhc3NlIHBhcmEgbyDDrWNvbmUgZGUgc3VjZXNzb1xuICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdpbmZvLWljb24nOyAvLyBDbGFzc2UgcGFyYSBvIMOtY29uZSBkZSBpbmZvcm1hw6fDo29cbiAgICAgICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnd2FybmluZy1pY29uJzsgLy8gQ2xhc3NlIHBhcmEgbyDDrWNvbmUgZGUgYXZpc29cbiAgICAgICAgICAgIGNhc2UgJ2Rhbmdlcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdkYW5nZXItaWNvbic7IC8vIENsYXNzZSBwYXJhIG8gw61jb25lIGRlIGVycm9cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKGFsZXJ0OiBBbGVydCkge1xuICAgICAgICAvLyBDYW5jZWxhIG8gdGVtcG9yaXphZG9yIHF1YW5kbyBvIG1vdXNlIGVudHJhIG5vIGFsZXJ0YVxuICAgICAgICBpZiAodGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdKTtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmNsb3NlVGltZW91dHNbYWxlcnQubWVzc2FnZV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmUoYWxlcnQ6IEFsZXJ0KSB7XG4gICAgICAgIC8vIEluaWNpYSB1bSBub3ZvIHRlbXBvcml6YWRvciBwYXJhIGZlY2hhciBvIGFsZXJ0YSBhcMOzcyAyIHNlZ3VuZG9zIHF1YW5kbyBvIG1vdXNlIHNhaSBkbyBhbGVydGFcbiAgICAgICAgdGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQWxlcnQoYWxlcnQpO1xuICAgICAgICB9LCAyMDAwKTsgLy8gRmVjaGFyIGFww7NzIDIgc2VndW5kb3NcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCBhbGVydCBvZiBhbGVydHNcIiBcbiAgICAgW25nQ2xhc3NdPVwiZ2V0QWxlcnRDbGFzcyhhbGVydClcIiBcbiAgICAgcm9sZT1cImFsZXJ0XCIgXG4gICAgIFtpZF09XCInYWxlcnQtJyArIGFsZXJ0Lm1lc3NhZ2VcIlxuICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoYWxlcnQpXCIgXG4gICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZShhbGVydClcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZUFsZXJ0KGFsZXJ0KVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gIDwvYnV0dG9uPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQtaGVhZGVyXCI+XG4gICAgPHNwYW4gW25nQ2xhc3NdPVwiZ2V0QWxlcnRJY29uQ2xhc3MoYWxlcnQpXCIgY2xhc3M9XCJhbGVydC1pY29uXCI+PC9zcGFuPlxuICAgIDxzdHJvbmc+e3sgYWxlcnQudGl0bGUgfX08L3N0cm9uZz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhbGVydC1ib2R5XCI+XG4gICAge3sgYWxlcnQubWVzc2FnZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,31 @@
1
+ import { createComponent, Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { AlertComponent } from './alert.component';
4
+ import * as i0 from "@angular/core";
5
+ export class NotificationService {
6
+ constructor(appRef, injector) {
7
+ this.appRef = appRef;
8
+ this.injector = injector;
9
+ this.alertsSubject = new Subject();
10
+ this.alerts$ = this.alertsSubject.asObservable();
11
+ }
12
+ showAlert(type, title, message) {
13
+ const alert = { type, title, message };
14
+ this.alertsSubject.next(alert);
15
+ // Create the alert component dynamically
16
+ const componentRef = createComponent(AlertComponent, { environmentInjector: this.appRef.injector });
17
+ componentRef.instance.alerts = [alert];
18
+ this.appRef.attachView(componentRef.hostView);
19
+ const domElem = componentRef.hostView.rootNodes[0];
20
+ document.body.appendChild(domElem);
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, decorators: [{
26
+ type: Injectable,
27
+ args: [{
28
+ providedIn: 'root'
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.Injector }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsZUFBZSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFXbkQsTUFBTSxPQUFPLG1CQUFtQjtJQUk1QixZQUNZLE1BQXNCLEVBQ3RCLFFBQWtCO1FBRGxCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFMdEIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUyxDQUFDO1FBQzdDLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBS3hDLENBQUM7SUFFTCxTQUFTLENBQUMsSUFBK0MsRUFBRSxLQUFhLEVBQUUsT0FBZTtRQUNyRixNQUFNLEtBQUssR0FBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IseUNBQXlDO1FBQ3pDLE1BQU0sWUFBWSxHQUFpQyxlQUFlLENBQUMsY0FBYyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xJLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDM0UsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFHdkMsQ0FBQzsrR0F0QlEsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7NEZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRSZWYsIGNyZWF0ZUNvbXBvbmVudCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0IHtcbiAgICB0eXBlOiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZGFuZ2VyJztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIGFsZXJ0c1N1YmplY3QgPSBuZXcgU3ViamVjdDxBbGVydD4oKTtcbiAgICBhbGVydHMkID0gdGhpcy5hbGVydHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHsgfVxuXG4gICAgc2hvd0FsZXJ0KHR5cGU6ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInLCB0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgYWxlcnQ6IEFsZXJ0ID0geyB0eXBlLCB0aXRsZSwgbWVzc2FnZSB9O1xuICAgICAgICB0aGlzLmFsZXJ0c1N1YmplY3QubmV4dChhbGVydCk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBhbGVydCBjb21wb25lbnQgZHluYW1pY2FsbHlcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QWxlcnRDb21wb25lbnQ+ID0gY3JlYXRlQ29tcG9uZW50KEFsZXJ0Q29tcG9uZW50LCB7IGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuYXBwUmVmLmluamVjdG9yIH0pO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYWxlcnRzID0gW2FsZXJ0XTtcblxuICAgICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIGFueSkucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICBcbiAgICAgICAgXG4gICAgfVxufVxuIl19
@@ -3,6 +3,8 @@ import { NgModule } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { NgSelectModule } from '@ng-select/ng-select';
5
5
  import { NgxPaginationModule } from 'ngx-pagination';
6
+ import { AlertComponent } from './alert/alert.component';
7
+ import { NotificationService } from './alert/notification.service';
6
8
  import { BadgeComponent } from './badge/badge.component';
7
9
  import { ButtonComponent } from './button/button.component';
8
10
  import { CardComponent } from './card/card.component';
@@ -29,7 +31,8 @@ export class ComponentsModule {
29
31
  MultiSelectComponent,
30
32
  BootstrapTableComponent,
31
33
  CodeHighlightComponent,
32
- BadgeComponent], imports: [CommonModule,
34
+ BadgeComponent,
35
+ AlertComponent], imports: [CommonModule,
33
36
  FormsModule,
34
37
  ReactiveFormsModule,
35
38
  NgSelectModule,
@@ -47,8 +50,11 @@ export class ComponentsModule {
47
50
  NgSelectModule,
48
51
  BootstrapTableComponent,
49
52
  CodeHighlightComponent,
50
- BadgeComponent] }); }
51
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule,
53
+ BadgeComponent,
54
+ AlertComponent] }); }
55
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, providers: [
56
+ NotificationService
57
+ ], imports: [CommonModule,
52
58
  FormsModule,
53
59
  ReactiveFormsModule,
54
60
  NgSelectModule,
@@ -71,14 +77,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
71
77
  MultiSelectComponent,
72
78
  BootstrapTableComponent,
73
79
  CodeHighlightComponent,
74
- BadgeComponent
80
+ BadgeComponent,
81
+ AlertComponent,
75
82
  ],
76
83
  imports: [
77
84
  CommonModule,
78
85
  FormsModule,
79
86
  ReactiveFormsModule,
80
87
  NgSelectModule,
81
- NgxPaginationModule
88
+ NgxPaginationModule,
82
89
  ],
83
90
  exports: [
84
91
  ButtonComponent,
@@ -95,8 +102,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
95
102
  NgSelectModule,
96
103
  BootstrapTableComponent,
97
104
  CodeHighlightComponent,
98
- BadgeComponent
99
- ]
105
+ BadgeComponent,
106
+ AlertComponent
107
+ ],
108
+ providers: [
109
+ NotificationService
110
+ ],
100
111
  }]
101
112
  }] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQTBDbEUsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBdEN6QixlQUFlO1lBQ2YsYUFBYTtZQUNiLGFBQWE7WUFDYixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsY0FBYztZQUNkLG9CQUFvQjtZQUNwQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLGNBQWMsYUFHZCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsbUJBQW1CLGFBR25CLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsY0FBYztnSEFHTCxnQkFBZ0IsWUF4QnpCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxtQkFBbUIsRUFZbkIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjOzs0RkFNTCxnQkFBZ0I7a0JBeEM1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IE5neFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICduZ3gtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuL2NvZGUtaGlnaGxpZ2h0L2NvZGUtaGlnaGxpZ2h0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbXB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb290c3RyYXBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGVzL2Jvb3RzdHJhcC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDYXJkQ29tcG9uZW50LFxuICAgIEZvcm1Db21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIFJhZGlvQ29tcG9uZW50LFxuICAgIE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIEJvb3RzdHJhcFRhYmxlQ29tcG9uZW50LFxuICAgIENvZGVIaWdobGlnaHRDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nU2VsZWN0TW9kdWxlLFxuICAgIE5neFBhZ2luYXRpb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDYXJkQ29tcG9uZW50LFxuICAgIEZvcm1Db21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIFJhZGlvQ29tcG9uZW50LFxuICAgIE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmdTZWxlY3RNb2R1bGUsXG4gICAgQm9vdHN0cmFwVGFibGVDb21wb25lbnQsXG4gICAgQ29kZUhpZ2hsaWdodENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudHNNb2R1bGUgeyB9XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUErQ2xFLE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQTNDekIsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsY0FBYyxhQUdkLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxtQkFBbUIsYUFHbkIsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsY0FBYztnSEFNTCxnQkFBZ0IsYUFKaEI7WUFDVCxtQkFBbUI7U0FDcEIsWUExQkMsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLG1CQUFtQixFQVluQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7OzRGQVVMLGdCQUFnQjtrQkE3QzVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QixjQUFjO3dCQUNkLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2QsY0FBYztxQkFDZjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IE5neFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICduZ3gtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2FsZXJ0L25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkL2NhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kZUhpZ2hsaWdodENvbXBvbmVudCB9IGZyb20gJy4vY29kZS1oaWdobGlnaHQvY29kZS1oaWdobGlnaHQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ltcHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJvb3RzdHJhcFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZXMvYm9vdHN0cmFwLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIENhcmRDb21wb25lbnQsXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgUmFkaW9Db21wb25lbnQsXG4gICAgTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgQm9vdHN0cmFwVGFibGVDb21wb25lbnQsXG4gICAgQ29kZUhpZ2hsaWdodENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBBbGVydENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nU2VsZWN0TW9kdWxlLFxuICAgIE5neFBhZ2luYXRpb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ2FyZENvbXBvbmVudCxcbiAgICBGb3JtQ29tcG9uZW50LFxuICAgIElucHV0Q29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIFRleHRhcmVhQ29tcG9uZW50LFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBSYWRpb0NvbXBvbmVudCxcbiAgICBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nU2VsZWN0TW9kdWxlLFxuICAgIEJvb3RzdHJhcFRhYmxlQ29tcG9uZW50LFxuICAgIENvZGVIaWdobGlnaHRDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgQWxlcnRDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTm90aWZpY2F0aW9uU2VydmljZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRzTW9kdWxlIHsgfVxuIl19
@@ -2,10 +2,11 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwar
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
5
6
  export class InputComponent {
6
7
  constructor() {
7
8
  this.label = 'Default Label';
8
- this.placeholder = 'Default Placeholder';
9
+ this.placeholder = '';
9
10
  this.id = 'inputId';
10
11
  this.type = 'text';
11
12
  this.disabled = false;
@@ -110,7 +111,7 @@ export class InputComponent {
110
111
  class="form-control custom-input"
111
112
  [id]="id"
112
113
  [placeholder]="placeholder"
113
- [value]="value"
114
+ [(ngModel)]="value"
114
115
  (input)="onInput($event)"
115
116
  (change)="onChange($event)"
116
117
  (focus)="onFocus($event)"
@@ -126,7 +127,7 @@ export class InputComponent {
126
127
  [attr.pattern]="pattern"
127
128
  [autofocus]="autofocus">
128
129
  </div>
129
- `, isInline: true, styles: [".form-group{font-family:Inter;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter;font-size:16px;line-height:19.36px;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
+ `, isInline: true, styles: [".form-group{font-family:Inter;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter;font-size:16px;line-height:19.36px;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
131
  }
131
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
132
133
  type: Component,
@@ -142,7 +143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
142
143
  class="form-control custom-input"
143
144
  [id]="id"
144
145
  [placeholder]="placeholder"
145
- [value]="value"
146
+ [(ngModel)]="value"
146
147
  (input)="onInput($event)"
147
148
  (change)="onChange($event)"
148
149
  (focus)="onFocus($event)"
@@ -216,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
216
217
  }], keypressEvent: [{
217
218
  type: Output
218
219
  }] } });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbXB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFrRXpFLE1BQU0sT0FBTyxjQUFjO0lBaEUzQjtRQWlFVyxVQUFLLEdBQVcsZUFBZSxDQUFDO1FBQ2hDLGdCQUFXLEdBQVcscUJBQXFCLENBQUM7UUFDNUMsT0FBRSxHQUFXLFNBQVMsQ0FBQztRQUN2QixTQUFJLEdBQVcsTUFBTSxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBQzlCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLG9CQUFlLEdBQVcsR0FBRyxDQUFDO1FBRTlCLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBQzNCLHNCQUFpQixHQUFnRCxJQUFJLENBQUM7UUFFckUsZUFBVSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzVELGdCQUFXLEdBQXdCLElBQUksWUFBWSxF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O3NCQUFsQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpbS1hcHAtaW5wdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgKm5nSWY9XCJoYXNQZXJtaXNzaW9uKClcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbbmdTdHlsZV09XCJ7XG4gICAgICAnbWFyZ2luLXRvcCc6IG1hcmdpblRvcCArICdyZW0nLFxuICAgICAgJ21hcmdpbi1ib3R0b20nOiBtYXJnaW5Cb3R0b20gKyAncmVtJyxcbiAgICAgICdtYXJnaW4tbGVmdCc6IG1hcmdpbkxlZnQgKyAncmVtJyxcbiAgICAgICdtYXJnaW4tcmlnaHQnOiBtYXJnaW5SaWdodCArICdyZW0nXG4gICAgfVwiPlxuICAgICAgPGxhYmVsIFtmb3JdPVwiaWRcIiBbbmdTdHlsZV09XCJnZXRMYWJlbFN0eWxlcygpXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgICAgPGlucHV0IFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGN1c3RvbS1pbnB1dFwiXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleXByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcbiAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgIFthdHRyLnBhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBJbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgLyogRGVmaW5lIG8gdGFtYW5obyBwYWRyw6NvIGRhIGZvbnRlICovXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgZm9udC1mYW1pbHk6IEludGVyO1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTsgLyogRGVmaW5lIG8gdGFtYW5obyBwYWRyw6NvIGRhIGZvbnRlIHBhcmEgbyBpbnB1dCAqL1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICB3aWR0aDogNjIzcHg7XG4gICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICB0b3A6IDE2MDhweDtcbiAgICAgIGxlZnQ6IDEzM3B4O1xuICAgICAgZ2FwOiAwcHg7XG4gICAgICBvcGFjaXR5OiAwcHg7XG4gICAgICBmb250LWZhbWlseTogSW50ZXI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTkuMzZweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICBgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnRGVmYXVsdCBMYWJlbCc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnRGVmYXVsdCBQbGFjZWhvbGRlcic7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSAnaW5wdXRJZCc7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICd0ZXh0JztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4bGVuZ3RoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbWlubGVuZ3RoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcGF0dGVybjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9mb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG1hcmdpblRvcDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWFyZ2luQm90dG9tOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5MZWZ0OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5SaWdodDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbGFiZWxGb250V2VpZ2h0OiBudW1iZXIgPSA0MDA7XG5cbiAgQElucHV0KCkgcGVybWlzc2lvbnM6IHN0cmluZ1tdID0gW107XG4gIEBJbnB1dCgpIHBlcm1pc3Npb25DaGVja2VyOiAoKHBlcm1pc3Npb25zOiBzdHJpbmdbXSkgPT4gYm9vbGVhbikgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgaW5wdXRFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBmb2N1c0V2ZW50OiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBibHVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgQE91dHB1dCgpIGtleXVwRXZlbnQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcbiAgQE91dHB1dCgpIGtleWRvd25FdmVudDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuICBAT3V0cHV0KCkga2V5cHJlc3NFdmVudDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHsgfTtcbiAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcblxuICB2YWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLnZhbHVlID0gaW5wdXRFbGVtZW50LnZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmlucHV0RXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgIHRoaXMuZm9jdXNFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogRm9jdXNFdmVudCkge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmJsdXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmtleXVwRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmtleWRvd25FdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uS2V5cHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmtleXByZXNzRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBoYXNQZXJtaXNzaW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5wZXJtaXNzaW9uQ2hlY2tlciB8fCB0aGlzLnBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25DaGVja2VyKHRoaXMucGVybWlzc2lvbnMpO1xuICB9XG5cbiAgZ2V0TGFiZWxTdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdmb250LXdlaWdodCc6IHRoaXMubGFiZWxGb250V2VpZ2h0LFxuICAgICAgJ3dpZHRoJzogJzYyM3B4JyxcbiAgICAgICdoZWlnaHQnOiAnMTlweCcsXG4gICAgICAndG9wJzogJzE2MDhweCcsXG4gICAgICAnbGVmdCc6ICcxMzNweCcsXG4gICAgICAnZ2FwJzogJzBweCcsXG4gICAgICAnb3BhY2l0eSc6ICcwcHgnLFxuICAgICAgJ2ZvbnQtZmFtaWx5JzogJ0ludGVyJyxcbiAgICAgICdmb250LXNpemUnOiAnMTZweCcsXG4gICAgICAnbGluZS1oZWlnaHQnOiAnMTkuMzZweCcsXG4gICAgICAndGV4dC1hbGlnbic6ICdsZWZ0J1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9pbXB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBa0V6RSxNQUFNLE9BQU8sY0FBYztJQWhFM0I7UUFpRVcsVUFBSyxHQUFXLGVBQWUsQ0FBQztRQUNoQyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixPQUFFLEdBQVcsU0FBUyxDQUFDO1FBQ3ZCLFNBQUksR0FBVyxNQUFNLENBQUM7UUFDdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsWUFBTyxHQUFrQixJQUFJLENBQUM7UUFDOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsb0JBQWUsR0FBVyxHQUFHLENBQUM7UUFFOUIsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFDM0Isc0JBQWlCLEdBQWdELElBQUksQ0FBQztRQUVyRSxlQUFVLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFDNUQsZ0JBQVcsR0FBd0IsSUFBSSxZQUFZLEVB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c0JBQWxCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ltLWFwcC1pbnB1dCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiAqbmdJZj1cImhhc1Blcm1pc3Npb24oKVwiIGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ1N0eWxlXT1cIntcbiAgICAgICdtYXJnaW4tdG9wJzogbWFyZ2luVG9wICsgJ3JlbScsXG4gICAgICAnbWFyZ2luLWJvdHRvbSc6IG1hcmdpbkJvdHRvbSArICdyZW0nLFxuICAgICAgJ21hcmdpbi1sZWZ0JzogbWFyZ2luTGVmdCArICdyZW0nLFxuICAgICAgJ21hcmdpbi1yaWdodCc6IG1hcmdpblJpZ2h0ICsgJ3JlbSdcbiAgICB9XCI+XG4gICAgICA8bGFiZWwgW2Zvcl09XCJpZFwiIFtuZ1N0eWxlXT1cImdldExhYmVsU3R5bGVzKClcIj57eyBsYWJlbCB9fTwvbGFiZWw+XG4gICAgICA8aW5wdXQgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgY3VzdG9tLWlucHV0XCJcbiAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleXByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcbiAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgIFthdHRyLnBhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBJbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBmb250LWZhbWlseTogSW50ZXI7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICB3aWR0aDogNjIzcHg7XG4gICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICB0b3A6IDE2MDhweDtcbiAgICAgIGxlZnQ6IDEzM3B4O1xuICAgICAgZ2FwOiAwcHg7XG4gICAgICBvcGFjaXR5OiAwcHg7XG4gICAgICBmb250LWZhbWlseTogSW50ZXI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTkuMzZweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICBgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnRGVmYXVsdCBMYWJlbCc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICdpbnB1dElkJztcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJ3RleHQnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBtaW5sZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwYXR0ZXJuOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbWFyZ2luVG9wOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBtYXJnaW5Cb3R0b206IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpbkxlZnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIG1hcmdpblJpZ2h0OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBsYWJlbEZvbnRXZWlnaHQ6IG51bWJlciA9IDQwMDtcblxuICBASW5wdXQoKSBwZXJtaXNzaW9uczogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KCkgcGVybWlzc2lvbkNoZWNrZXI6ICgocGVybWlzc2lvbnM6IHN0cmluZ1tdKSA9PiBib29sZWFuKSB8IG51bGwgPSBudWxsO1xuXG4gIEBPdXRwdXQoKSBpbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIGZvY3VzRXZlbnQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgQE91dHB1dCgpIGJsdXJFdmVudDogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICBAT3V0cHV0KCkga2V5dXBFdmVudDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuICBAT3V0cHV0KCkga2V5ZG93bkV2ZW50OiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBrZXlwcmVzc0V2ZW50OiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuXG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHRoaXMudmFsdWUgPSBpbnB1dEVsZW1lbnQudmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5mb2N1c0V2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuYmx1ckV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25LZXl1cChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMua2V5dXBFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMua2V5ZG93bkV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25LZXlwcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMua2V5cHJlc3NFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIGhhc1Blcm1pc3Npb24oKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnBlcm1pc3Npb25DaGVja2VyIHx8IHRoaXMucGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbkNoZWNrZXIodGhpcy5wZXJtaXNzaW9ucyk7XG4gIH1cblxuICBnZXRMYWJlbFN0eWxlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2ZvbnQtd2VpZ2h0JzogdGhpcy5sYWJlbEZvbnRXZWlnaHQsXG4gICAgICAnd2lkdGgnOiAnNjIzcHgnLFxuICAgICAgJ2hlaWdodCc6ICcxOXB4JyxcbiAgICAgICd0b3AnOiAnMTYwOHB4JyxcbiAgICAgICdsZWZ0JzogJzEzM3B4JyxcbiAgICAgICdnYXAnOiAnMHB4JyxcbiAgICAgICdvcGFjaXR5JzogJzBweCcsXG4gICAgICAnZm9udC1mYW1pbHknOiAnSW50ZXInLFxuICAgICAgJ2ZvbnQtc2l6ZSc6ICcxNnB4JyxcbiAgICAgICdsaW5lLWhlaWdodCc6ICcxOS4zNnB4JyxcbiAgICAgICd0ZXh0LWFsaWduJzogJ2xlZnQnXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -5,6 +5,7 @@
5
5
  * para que os consumidores da biblioteca possam utilizá-los em suas aplicações.
6
6
  */
7
7
  // Componentes
8
+ export * from './lib/components/alert/alert.component';
8
9
  export * from './lib/components/badge/badge.component';
9
10
  export * from './lib/components/button/button.component';
10
11
  export * from './lib/components/card/card.component';
@@ -22,4 +23,6 @@ export * from './lib/enum/ButtonClassesEnum';
22
23
  // Módulos
23
24
  export * from './lib/components/components.module';
24
25
  export * from './lib/lib-portal-angular.module';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYi1wb3J0YWwtYW5ndWxhci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILGNBQWM7QUFDZCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxRQUFRO0FBQ1IsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxVQUFVO0FBQ1YsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzaW0tbGliXG4gKlxuICogRXN0ZSBhcnF1aXZvIGV4cG9ydGEgdG9kb3Mgb3MgY29tcG9uZW50ZXMsIGVudW1zIGUgbcOzZHVsb3MgbmVjZXNzw6FyaW9zXG4gKiBwYXJhIHF1ZSBvcyBjb25zdW1pZG9yZXMgZGEgYmlibGlvdGVjYSBwb3NzYW0gdXRpbGl6w6EtbG9zIGVtIHN1YXMgYXBsaWNhw6fDtWVzLlxuICovXG5cbi8vIENvbXBvbmVudGVzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JhZGdlL2JhZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvZGUtaGlnaGxpZ2h0L2NvZGUtaGlnaGxpZ2h0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9pbXB1dC9pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGVzL2Jvb3RzdHJhcC10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQnO1xuXG4vLyBFbnVtc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bS9CdXR0b25DbGFzc2VzRW51bSc7XG5cbi8vIE3Ds2R1bG9zXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpYi1wb3J0YWwtYW5ndWxhci5tb2R1bGUnO1xuXG5cbiJdfQ==
26
+ // Service
27
+ export * from './lib/components/alert/notification.service';
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYi1wb3J0YWwtYW5ndWxhci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILGNBQWM7QUFDZCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELFFBQVE7QUFDUixjQUFjLDhCQUE4QixDQUFDO0FBRTdDLFVBQVU7QUFDVixjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsVUFBVTtBQUNWLGNBQWMsNkNBQTZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNpbS1saWJcbiAqXG4gKiBFc3RlIGFycXVpdm8gZXhwb3J0YSB0b2RvcyBvcyBjb21wb25lbnRlcywgZW51bXMgZSBtw7NkdWxvcyBuZWNlc3PDoXJpb3NcbiAqIHBhcmEgcXVlIG9zIGNvbnN1bWlkb3JlcyBkYSBiaWJsaW90ZWNhIHBvc3NhbSB1dGlsaXrDoS1sb3MgZW0gc3VhcyBhcGxpY2HDp8O1ZXMuXG4gKi9cblxuLy8gQ29tcG9uZW50ZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29kZS1oaWdobGlnaHQvY29kZS1oaWdobGlnaHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ltcHV0L2lucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZXMvYm9vdHN0cmFwLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XG5cbi8vIEVudW1zXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtL0J1dHRvbkNsYXNzZXNFbnVtJztcblxuLy8gTcOzZHVsb3NcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliLXBvcnRhbC1hbmd1bGFyLm1vZHVsZSc7XG5cbi8vIFNlcnZpY2VcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWxlcnQvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG4iXX0=
@@ -1,16 +1,96 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, HostListener, forwardRef, ViewChild, NgModule } from '@angular/core';
2
+ import { Component, Input, EventEmitter, ChangeDetectionStrategy, Output, HostListener, forwardRef, ViewChild, createComponent, Injectable, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
7
7
  import hljs from 'highlight.js';
8
- import { of } from 'rxjs';
8
+ import { of, Subject } from 'rxjs';
9
9
  import * as i3 from '@ng-select/ng-select';
10
10
  import { NgSelectModule } from '@ng-select/ng-select';
11
11
  import * as i3$1 from 'ngx-pagination';
12
12
  import { NgxPaginationModule } from 'ngx-pagination';
13
13
 
14
+ class AlertComponent {
15
+ constructor() {
16
+ this.alerts = [];
17
+ this.closeTimeouts = {}; // Armazena os temporizadores para cada alerta
18
+ }
19
+ ngOnInit() {
20
+ // Inicia o temporizador de fechamento para cada alerta quando a página é carregada
21
+ this.alerts.forEach(alert => {
22
+ this.closeTimeouts[alert.message] = setTimeout(() => {
23
+ this.closeAlert(alert);
24
+ }, 6000); // Fecha após 8 segundos
25
+ });
26
+ }
27
+ ngAfterViewInit() {
28
+ // Adiciona a classe 'show' após um curto atraso para acionar a animação
29
+ setTimeout(() => {
30
+ this.alerts.forEach(alert => {
31
+ const element = document.getElementById(`alert-${alert.message}`);
32
+ if (element) {
33
+ element.classList.add('show');
34
+ }
35
+ });
36
+ }, 10); // Pequeno atraso para garantir que o elemento esteja no DOM
37
+ }
38
+ closeAlert(alert) {
39
+ const element = document.getElementById(`alert-${alert.message}`);
40
+ if (element) {
41
+ element.classList.remove('show');
42
+ setTimeout(() => {
43
+ this.alerts = this.alerts.filter(a => a !== alert);
44
+ }, 500); // Duração da animação de saída
45
+ }
46
+ else {
47
+ this.alerts = this.alerts.filter(a => a !== alert);
48
+ }
49
+ }
50
+ getAlertClass(alert) {
51
+ return {
52
+ 'alert-container': true,
53
+ 'alert-dismissible': true,
54
+ [`alert-${alert.type}`]: true
55
+ };
56
+ }
57
+ getAlertIconClass(alert) {
58
+ switch (alert.type) {
59
+ case 'success':
60
+ return 'success-icon'; // Classe para o ícone de sucesso
61
+ case 'info':
62
+ return 'info-icon'; // Classe para o ícone de informação
63
+ case 'warning':
64
+ return 'warning-icon'; // Classe para o ícone de aviso
65
+ case 'danger':
66
+ return 'danger-icon'; // Classe para o ícone de erro
67
+ default:
68
+ return '';
69
+ }
70
+ }
71
+ onMouseEnter(alert) {
72
+ // Cancela o temporizador quando o mouse entra no alerta
73
+ if (this.closeTimeouts[alert.message]) {
74
+ clearTimeout(this.closeTimeouts[alert.message]);
75
+ delete this.closeTimeouts[alert.message];
76
+ }
77
+ }
78
+ onMouseLeave(alert) {
79
+ // Inicia um novo temporizador para fechar o alerta após 2 segundos quando o mouse sai do alerta
80
+ this.closeTimeouts[alert.message] = setTimeout(() => {
81
+ this.closeAlert(alert);
82
+ }, 2000); // Fechar após 2 segundos
83
+ }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AlertComponent, selector: "lib-alert", inputs: { alerts: "alerts" }, ngImport: i0, template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, decorators: [{
88
+ type: Component,
89
+ args: [{ selector: 'lib-alert', template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"] }]
90
+ }], propDecorators: { alerts: [{
91
+ type: Input
92
+ }] } });
93
+
14
94
  var ButtonClasses;
15
95
  (function (ButtonClasses) {
16
96
  ButtonClasses["Primary"] = "btn-primary";
@@ -629,7 +709,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
629
709
  class InputComponent {
630
710
  constructor() {
631
711
  this.label = 'Default Label';
632
- this.placeholder = 'Default Placeholder';
712
+ this.placeholder = '';
633
713
  this.id = 'inputId';
634
714
  this.type = 'text';
635
715
  this.disabled = false;
@@ -734,7 +814,7 @@ class InputComponent {
734
814
  class="form-control custom-input"
735
815
  [id]="id"
736
816
  [placeholder]="placeholder"
737
- [value]="value"
817
+ [(ngModel)]="value"
738
818
  (input)="onInput($event)"
739
819
  (change)="onChange($event)"
740
820
  (focus)="onFocus($event)"
@@ -750,7 +830,7 @@ class InputComponent {
750
830
  [attr.pattern]="pattern"
751
831
  [autofocus]="autofocus">
752
832
  </div>
753
- `, isInline: true, styles: [".form-group{font-family:Inter;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter;font-size:16px;line-height:19.36px;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
833
+ `, isInline: true, styles: [".form-group{font-family:Inter;font-size:1rem;font-weight:700}.form-check-input{font-family:Inter;color:#333;font-size:.9rem}.form-check-label{width:623px;height:19px;top:1608px;left:133px;gap:0px;opacity:0px;font-family:Inter;font-size:16px;line-height:19.36px;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
754
834
  }
755
835
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
756
836
  type: Component,
@@ -766,7 +846,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
766
846
  class="form-control custom-input"
767
847
  [id]="id"
768
848
  [placeholder]="placeholder"
769
- [value]="value"
849
+ [(ngModel)]="value"
770
850
  (input)="onInput($event)"
771
851
  (change)="onChange($event)"
772
852
  (focus)="onFocus($event)"
@@ -1483,6 +1563,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1483
1563
  type: Output
1484
1564
  }] } });
1485
1565
 
1566
+ class NotificationService {
1567
+ constructor(appRef, injector) {
1568
+ this.appRef = appRef;
1569
+ this.injector = injector;
1570
+ this.alertsSubject = new Subject();
1571
+ this.alerts$ = this.alertsSubject.asObservable();
1572
+ }
1573
+ showAlert(type, title, message) {
1574
+ const alert = { type, title, message };
1575
+ this.alertsSubject.next(alert);
1576
+ // Create the alert component dynamically
1577
+ const componentRef = createComponent(AlertComponent, { environmentInjector: this.appRef.injector });
1578
+ componentRef.instance.alerts = [alert];
1579
+ this.appRef.attachView(componentRef.hostView);
1580
+ const domElem = componentRef.hostView.rootNodes[0];
1581
+ document.body.appendChild(domElem);
1582
+ }
1583
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1584
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
1585
+ }
1586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, decorators: [{
1587
+ type: Injectable,
1588
+ args: [{
1589
+ providedIn: 'root'
1590
+ }]
1591
+ }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.Injector }]; } });
1592
+
1486
1593
  class ComponentsModule {
1487
1594
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1488
1595
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, declarations: [ButtonComponent,
@@ -1496,7 +1603,8 @@ class ComponentsModule {
1496
1603
  MultiSelectComponent,
1497
1604
  BootstrapTableComponent,
1498
1605
  CodeHighlightComponent,
1499
- BadgeComponent], imports: [CommonModule,
1606
+ BadgeComponent,
1607
+ AlertComponent], imports: [CommonModule,
1500
1608
  FormsModule,
1501
1609
  ReactiveFormsModule,
1502
1610
  NgSelectModule,
@@ -1514,8 +1622,11 @@ class ComponentsModule {
1514
1622
  NgSelectModule,
1515
1623
  BootstrapTableComponent,
1516
1624
  CodeHighlightComponent,
1517
- BadgeComponent] }); }
1518
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, imports: [CommonModule,
1625
+ BadgeComponent,
1626
+ AlertComponent] }); }
1627
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentsModule, providers: [
1628
+ NotificationService
1629
+ ], imports: [CommonModule,
1519
1630
  FormsModule,
1520
1631
  ReactiveFormsModule,
1521
1632
  NgSelectModule,
@@ -1538,14 +1649,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1538
1649
  MultiSelectComponent,
1539
1650
  BootstrapTableComponent,
1540
1651
  CodeHighlightComponent,
1541
- BadgeComponent
1652
+ BadgeComponent,
1653
+ AlertComponent,
1542
1654
  ],
1543
1655
  imports: [
1544
1656
  CommonModule,
1545
1657
  FormsModule,
1546
1658
  ReactiveFormsModule,
1547
1659
  NgSelectModule,
1548
- NgxPaginationModule
1660
+ NgxPaginationModule,
1549
1661
  ],
1550
1662
  exports: [
1551
1663
  ButtonComponent,
@@ -1562,8 +1674,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1562
1674
  NgSelectModule,
1563
1675
  BootstrapTableComponent,
1564
1676
  CodeHighlightComponent,
1565
- BadgeComponent
1566
- ]
1677
+ BadgeComponent,
1678
+ AlertComponent
1679
+ ],
1680
+ providers: [
1681
+ NotificationService
1682
+ ],
1567
1683
  }]
1568
1684
  }] });
1569
1685
 
@@ -1596,5 +1712,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1596
1712
  * Generated bundle index. Do not edit.
1597
1713
  */
1598
1714
 
1599
- export { BadgeComponent, BootstrapTableComponent, ButtonClasses, ButtonComponent, CardComponent, CheckboxComponent, CodeHighlightComponent, ComponentsModule, FormComponent, InputComponent, LibPortalAngularModule, MultiSelectComponent, RadioComponent, SelectComponent, TextareaComponent };
1715
+ export { AlertComponent, BadgeComponent, BootstrapTableComponent, ButtonClasses, ButtonComponent, CardComponent, CheckboxComponent, CodeHighlightComponent, ComponentsModule, FormComponent, InputComponent, LibPortalAngularModule, MultiSelectComponent, NotificationService, RadioComponent, SelectComponent, TextareaComponent };
1600
1716
  //# sourceMappingURL=lib-portal-angular.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib-portal-angular.mjs","sources":["../../../projects/lib-portal-angular/src/lib/enum/ButtonClassesEnum.ts","../../../projects/lib-portal-angular/src/lib/components/badge/badge.component.ts","../../../projects/lib-portal-angular/src/lib/components/button/button.component.ts","../../../projects/lib-portal-angular/src/lib/components/card/card.component.ts","../../../projects/lib-portal-angular/src/lib/components/checkbox/checkbox.component.ts","../../../projects/lib-portal-angular/src/lib/components/code-highlight/code-highlight.component.ts","../../../projects/lib-portal-angular/src/lib/components/form/form.component.ts","../../../projects/lib-portal-angular/src/lib/components/imput/input.component.ts","../../../projects/lib-portal-angular/src/lib/components/multi-select/multi-select.component.ts","../../../projects/lib-portal-angular/src/lib/components/radio/radio.component.ts","../../../projects/lib-portal-angular/src/lib/components/select/select.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/bootstrap-table.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/bootstrap-table.component.html","../../../projects/lib-portal-angular/src/lib/components/textarea/textarea.component.ts","../../../projects/lib-portal-angular/src/lib/components/components.module.ts","../../../projects/lib-portal-angular/src/lib/lib-portal-angular.module.ts","../../../projects/lib-portal-angular/src/public-api.ts","../../../projects/lib-portal-angular/src/lib-portal-angular.ts"],"sourcesContent":["export enum ButtonClasses {\n Primary = 'btn-primary',\n Secondary = 'btn-secondary',\n Success = 'btn-success',\n Danger = 'btn-danger',\n Warning = 'btn-warning',\n Info = 'btn-info',\n Light = 'btn-light',\n Dark = 'btn-dark',\n Link = 'btn-link'\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-badge',\n template: `\n <button\n class=\"notification-button\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick()\"\n [class.hovered]=\"isHovered\"\n [class.clicked]=\"isClicked\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n (mouseleave)=\"onMouseLeave()\"\n (mouseenter)=\"onMouseEnter()\">\n {{ label }}\n <span class=\"badge\">{{ badgeContent }}</span>\n </button>\n `,\n styles: [`\n .notification-button {\n position: relative;\n display: inline-block;\n width: 155px;\n height: 58px;\n padding: 14px 29px 14px 36px;\n border-radius: 6px;\n border: none;\n font-size: 16px;\n font-weight: bold;\n text-align: center;\n transition: opacity 0.3s;\n }\n .badge {\n position: absolute;\n width: 52px; /* Largura fixa */\n height: 32px; /* Altura fixa */\n top: -15px;\n right: -20px;\n background-color: #dc3545;\n color: #FFFFFF;\n border-radius: 16px; /* Arredondamento das bordas */\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n font-size: 14px;\n font-family: 'Inter', sans-serif;\n }\n .notification-button.hovered {\n opacity: 0.8;\n }\n .notification-button.clicked {\n opacity: 0.6;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BadgeComponent {\n @Input() label: string = 'Mensagem';\n @Input() badgeContent: string = '+45';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Output() buttonClick: EventEmitter<void> = new EventEmitter<void>();\n\n isHovered: boolean = false;\n isClicked: boolean = false;\n isActive: boolean = false;\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isClicked ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n onClick() {\n this.buttonClick.emit();\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.isHovered = false;\n this.isClicked = false;\n }\n\n @HostListener('mousedown')\n onMouseDown() {\n this.isClicked = true;\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.isClicked = false;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-button',\n template: `\n <ng-container *ngIf=\"hasPermission()\">\n <button [type]=\"type\"\n class=\"btn\"\n [ngClass]=\"btnClass\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.autofocus]=\"autofocus ? true : null\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate\"\n [attr.formtarget]=\"formtarget\"\n [attr.name]=\"name\"\n [attr.value]=\"value\">\n {{ label }}\n </button>\n </ng-container>\n `,\n styles: [`\n .btn {\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n transition: background-color 0.3s, border-color 0.3s, filter 0.3s;\n font-family: 'Inter', sans-serif;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 0.005em;\n text-align: left;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n @Input() type: string = 'button';\n @Input() label: string = 'Submit';\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Input() fontSize: string = '1rem';\n @Input() disabled: boolean = false;\n @Input() autofocus: boolean = false;\n @Input() form: string | null = null;\n @Input() formaction: string | null = null;\n @Input() formenctype: string | null = null;\n @Input() formmethod: string | null = null;\n @Input() formnovalidate: boolean = false;\n @Input() formtarget: string | null = null;\n @Input() name: string | null = null;\n @Input() value: string | null = null;\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Input() permissions: string[] = [];\n @Input() permissionChecker: ((permissions: string[]) => boolean) | null = null;\n\n @Output() clickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private isHovered: boolean = false;\n private isActive: boolean = false;\n\n @HostListener('mouseenter') onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.isHovered = false;\n this.isActive = false;\n }\n\n @HostListener('mousedown') onMouseDown() {\n this.isActive = true;\n }\n\n @HostListener('mouseup') onMouseUp() {\n this.isActive = false;\n }\n\n onClick(event: Event) {\n this.clickEvent.emit(event);\n }\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isActive ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'font-size': this.fontSize,\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n hasPermission(): boolean {\n if (!this.permissionChecker || this.permissions.length === 0) {\n return true;\n }\n return this.permissionChecker(this.permissions);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-card',\n template: `\n <div class=\"card mb-3\">\n <div class=\"card-header\">\n <h3>{{ cardTitle }}</h3>\n </div>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class CardComponent {\n @Input() cardTitle: string = 'Default Title';\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-checkbox',\n template: `\n <div\n class=\"form-group form-check\"\n [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [id]=\"id\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n />\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o input */\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o label */\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() id: string = 'defaultCheckbox';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Check me out';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n private onChangeFn: (value: boolean) => void = () => { };\n private onTouchedFn: () => void = () => { };\n\n onChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.checked = input.checked;\n this.onChangeFn(this.checked);\n this.checkedChange.emit(this.checked);\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport hljs from 'highlight.js';\n\n@Component({\n selector: 'app-code-highlight',\n template: `\n <div class=\"code-container\">\n <pre><code #codeElement [innerHTML]=\"highlightedCode\"></code></pre>\n <button (click)=\"copyCode()\">Copy</button>\n </div>\n `,\n styles: [`\n .code-container {\n position: relative;\n }\n pre {\n background-color: #2d2d2d;\n color: #f8f8f2;\n padding: 1rem;\n border-radius: 5px;\n overflow-x: auto;\n }\n button {\n position: absolute;\n top: 10px;\n right: 10px;\n background-color: #f8f8f2;\n border: none;\n padding: 0.5rem 1rem;\n cursor: pointer;\n border-radius: 5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: background-color 0.3s, transform 0.2s, box-shadow 0.2s;\n }\n button:hover {\n background-color: #e0e0e0;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n }\n button:active {\n background-color: #d0d0d0;\n transform: scale(0.98);\n }\n `]\n})\nexport class CodeHighlightComponent implements AfterViewInit {\n @Input() code: string = ''; // Definindo um valor padrão\n @Input() language: string = 'typescript';\n @ViewChild('codeElement') codeElement!: ElementRef; // Usando operador de asserção não nula\n\n highlightedCode: string = '';\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.highlightCode();\n this.cdr.detectChanges();\n });\n }\n\n highlightCode() {\n const code = hljs.highlight(this.language, this.code).value;\n this.highlightedCode = code;\n }\n\n copyCode() {\n const codeElement = this.codeElement.nativeElement;\n navigator.clipboard.writeText(codeElement.innerText).then(() => {\n alert('Code copied to clipboard!');\n });\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-form',\n template: `\n <div class=\"row\" [ngStyle]=\"getRowStyles()\">\n <div [ngClass]=\"colClasses\">\n <div class=\"card\">\n <div class=\"card-title\">\n {{ cardTitle }}\n </div>\n <div class=\"card-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: [`\n .row {\n margin-top: 0.5rem;\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n }\n .col-12 {\n padding: 0;\n }\n .card {\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n padding: 1rem;\n }\n .card-title {\n font-family: Inter, sans-serif;\n font-size: 42px;\n font-weight: 700;\n line-height: 50.83px;\n text-align: left;\n width: 98%;\n height: 51px;\n gap: 0px;\n opacity: 0px;\n margin-bottom: 1rem;\n }\n .card-content {\n font-family: Arial, sans-serif;\n }\n `]\n})\nexport class FormComponent {\n @Input() cardTitle: string = 'Default Form Title';\n @Input() colClasses: string = 'col-12'; // Classes de coluna responsiva\n\n // Valores de margem dinâmica\n @Input() marginTop: number = 0; // Em rem\n @Input() marginLeft: number = 0; // Em rem\n @Input() marginRight: number = 0; // Em rem\n\n getRowStyles() {\n return {\n 'margin-top': `${this.marginTop}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-input',\n template: `\n <div *ngIf=\"hasPermission()\" class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" [ngStyle]=\"getLabelStyles()\">{{ label }}</label>\n <input [type]=\"type\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\">\n </div>\n `,\n styles: [`\n .form-group {\n font-family: Inter;\n font-size: 1rem; /* Define o tamanho padrão da fonte */\n font-weight: bold;\n }\n .form-check-input {\n font-family: Inter;\n color: #333;\n font-size: 0.9rem; /* Define o tamanho padrão da fonte para o input */\n }\n .form-check-label {\n width: 623px;\n height: 19px;\n top: 1608px;\n left: 133px;\n gap: 0px;\n opacity: 0px;\n font-family: Inter;\n font-size: 16px;\n line-height: 19.36px;\n text-align: left;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = 'Default Placeholder';\n @Input() id: string = 'inputId';\n @Input() type: string = 'text';\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() pattern: string | null = null;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() labelFontWeight: number = 400;\n\n @Input() permissions: string[] = [];\n @Input() permissionChecker: ((permissions: string[]) => boolean) | null = null;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n hasPermission(): boolean {\n if (!this.permissionChecker || this.permissions.length === 0) {\n return true;\n }\n return this.permissionChecker(this.permissions);\n }\n\n getLabelStyles() {\n return {\n 'font-weight': this.labelFontWeight,\n 'width': '623px',\n 'height': '19px',\n 'top': '1608px',\n 'left': '133px',\n 'gap': '0px',\n 'opacity': '0px',\n 'font-family': 'Inter',\n 'font-size': '16px',\n 'line-height': '19.36px',\n 'text-align': 'left'\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable, of } from 'rxjs';\n\n@Component({\n selector: 'sim-app-multi-select',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <ng-select\n [class.course-entry]=\"isCourseEntered\"\n class=\"ng-select\"\n [items]=\"items | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [hideSelected]=\"true\"\n [bindLabel]=\"bindLabel\"\n [(ngModel)]=\"selected\"\n (keyup)=\"onKeyUp($event)\"\n [id]=\"id\"\n [placeholder]=\"selected && selected.length === 0 ? placeholder : ''\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n >\n <ng-template ng-option-tmp let-item=\"item\">\n {{ item[bindLabel] }}\n </ng-template>\n </ng-select>\n </div>\n `,\n styles: [`\n .form-group {\n font-family: Arial, sans-serif;\n font-size: 1rem;\n }\n .form-label {\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MultiSelectComponent implements ControlValueAccessor, OnInit {\n @Input() label: string = 'Multi Select';\n @Input() data: any[] = []; // Aceita um array de objetos genéricos\n @Input() placeholder: string = 'Select items';\n @Input() selected: any[] = []; // A variável selected deve ser um array\n @Input() id: string = 'multiSelectId';\n @Input() bindLabel: string = ''; // Label dinâmico genérico\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() keyupEvent: EventEmitter<any> = new EventEmitter<any>();\n\n items: Observable<any[]> = of([]); // Inicialização da propriedade\n\n ngOnInit(): void {\n this.items = of(this.data);\n }\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n isCourseEntered = false;\n\n onFocus() {\n this.isCourseEntered = true;\n }\n\n onBlur() {\n this.isCourseEntered = false;\n }\n\n onKeyUp(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.selected = value || [];\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // No implementation needed for this example\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-radio',\n template: `\n <div class=\"form-check\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input class=\"form-check-input\"\n type=\"radio\"\n [name]=\"name\"\n [id]=\"id\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"handleRadioChange($event)\"\n [disabled]=\"disabled\">\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check {\n font-family: Arial, sans-serif;\n font-size: 1rem; /* Define o tamanho padrão da fonte */\n }\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n margin-right: 0.5rem;\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input() name: string = 'defaultRadio';\n @Input() id: string = 'radioId';\n @Input() value: string = 'default';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Radio label';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n handleRadioChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.checked = inputElement.checked;\n this.onChangeCallback(this.checked);\n this.changeEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.checked = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-select',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\">{{ label }}</label>\n <select class=\"form-control custom-select\"\n [id]=\"id\"\n [value]=\"value\"\n (change)=\"onSelectChange($event)\"\n [disabled]=\"disabled\">\n <option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.label }}</option>\n </select>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SelectComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() id: string = 'selectId';\n @Input() disabled: boolean = false;\n @Input() options: { value: any, label: string }[] = [];\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<any> = new EventEmitter<any>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: any;\n\n onSelectChange(event: Event) {\n const selectElement = event.target as HTMLSelectElement;\n this.value = selectElement.value;\n this.onChangeCallback(this.value);\n this.changeEvent.emit(this.value);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { PaginationInstance } from 'ngx-pagination';\n\n@Component({\n selector: 'sim-bootstrap-table',\n templateUrl: './bootstrap-table.component.html',\n styleUrls: ['./bootstrap-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BootstrapTableComponent implements OnInit, OnChanges {\n @Input() columns: any[] = [];\n @Input() data: any[] = [];\n @Input() itemsPerPageOptions: number[] = [5, 10, 15, 20];\n @Input() defaultItemsPerPage: number = 10;\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() showActionColumn: boolean = false;\n @Input() actionColumnLabel: string = 'Actions';\n\n @Output() sortChange: EventEmitter<any> = new EventEmitter();\n @Output() pageChange: EventEmitter<number> = new EventEmitter();\n @Output() itemsPerPageChange: EventEmitter<number> = new EventEmitter();\n @Output() onEditTable: EventEmitter<any> = new EventEmitter();\n @Output() onDeleteTable: EventEmitter<any> = new EventEmitter();\n @Output() onViewTable: EventEmitter<any> = new EventEmitter();\n\n currentPage: number = 1;\n totalItems: number = 0;\n config: PaginationInstance = {\n id: 'bootstrap-table',\n itemsPerPage: this.defaultItemsPerPage,\n currentPage: this.currentPage,\n totalItems: this.totalItems\n };\n\n ngOnInit() {\n this.totalItems = this.data.length;\n this.updateConfig();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['data']) {\n this.totalItems = this.data.length;\n this.updateConfig();\n }\n }\n\n updateConfig() {\n this.config.itemsPerPage = this.defaultItemsPerPage;\n this.config.currentPage = this.currentPage;\n this.config.totalItems = this.totalItems;\n }\n\n onSort(column: string) {\n this.sortChange.emit(column);\n }\n\n onPageChange(page: number) {\n this.currentPage = page;\n this.config.currentPage = page;\n this.pageChange.emit(page);\n }\n\n onItemsPerPageChange(event: any) {\n const itemsPerPage = parseInt(event, 10);\n this.defaultItemsPerPage = itemsPerPage;\n this.config.itemsPerPage = itemsPerPage;\n this.itemsPerPageChange.emit(itemsPerPage);\n this.updateConfig();\n }\n\n handleAction(action: string, item: any, index: number) {\n switch (action) {\n case 'edit':\n this.onEditTable.emit({ item, index });\n break;\n case 'delete':\n this.onDeleteTable.emit({ item, index });\n break;\n case 'view':\n this.onViewTable.emit({ item, index });\n break;\n }\n }\n}\n","<div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n}\" style=\"text-align: right;\">\n <label for=\"itemsPerPageSelect\" style=\"margin-right: 0.5rem; margin-bottom: 0.7rem;\">Itens por Página:</label>\n <select\n id=\"itemsPerPageSelect\"\n class=\"form-control form-control-sm d-inline-block w-auto\"\n [(ngModel)]=\"defaultItemsPerPage\"\n (ngModelChange)=\"onItemsPerPageChange($event)\">\n <option *ngFor=\"let option of itemsPerPageOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n</div>\n\n<div class=\"table-responsive\">\n <table class=\"table table-hover\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns\" (click)=\"onSort(column.prop)\">\n {{ column.label }}\n </th>\n <th *ngIf=\"showActionColumn\">{{ actionColumnLabel }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data | paginate: config; let i = index\">\n <td *ngFor=\"let column of columns\">\n {{ item[column.prop] }}\n </td>\n <td *ngIf=\"showActionColumn\">\n <div class=\"d-flex justify-content-center\">\n <button *ngIf=\"onEditTable.observers.length > 0\" (click)=\"handleAction('edit', item, i)\" class=\"btn btn-sm btn-primary mx-1\">Edit</button>\n <button *ngIf=\"onDeleteTable.observers.length > 0\" (click)=\"handleAction('delete', item, i)\" class=\"btn btn-sm btn-danger mx-1\">Delete</button>\n <button *ngIf=\"onViewTable.observers.length > 0\" (click)=\"handleAction('view', item, i)\" class=\"btn btn-sm btn-info mx-1\">View</button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"text-center\">\n <pagination-controls id=\"bootstrap-table\" (pageChange)=\"onPageChange($event)\" previousLabel=\"Anterior\" nextLabel=\"Próximo\" [responsive]=\"true\"></pagination-controls>\n</div>\n\n\n<!-- Estilos CSS diretamente no HTML -->\n<style>\n .table thead th {\n background-color: #343a40; /* Tom de cinza escuro */\n color: #fff;\n }\n</style>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-textarea',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <textarea class=\"form-control custom-textarea\"\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [autofocus]=\"autofocus\"></textarea>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextareaComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextareaComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = 'Default Placeholder';\n @Input() id: string = 'textareaId';\n @Input() rows: number = 3;\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLTextAreaElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { BadgeComponent } from './badge/badge.component';\nimport { ButtonComponent } from './button/button.component';\nimport { CardComponent } from './card/card.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { CodeHighlightComponent } from './code-highlight/code-highlight.component';\nimport { FormComponent } from './form/form.component';\nimport { InputComponent } from './imput/input.component';\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { SelectComponent } from './select/select.component';\nimport { BootstrapTableComponent } from './tables/bootstrap-table.component';\nimport { TextareaComponent } from './textarea/textarea.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n CardComponent,\n FormComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n BootstrapTableComponent,\n CodeHighlightComponent,\n BadgeComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n NgxPaginationModule\n ],\n exports: [\n ButtonComponent,\n CardComponent,\n FormComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n BootstrapTableComponent,\n CodeHighlightComponent,\n BadgeComponent\n ]\n})\nexport class ComponentsModule { }\n","import { NgModule } from '@angular/core';\nimport { ComponentsModule } from './components/components.module';\n\n@NgModule({\n imports: [\n ComponentsModule,\n ],\n exports: [\n ComponentsModule\n ]\n})\nexport class LibPortalAngularModule { }\n","/*\n * Public API Surface of sim-lib\n *\n * Este arquivo exporta todos os componentes, enums e módulos necessários\n * para que os consumidores da biblioteca possam utilizá-los em suas aplicações.\n */\n\n// Componentes\nexport * from './lib/components/badge/badge.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/card/card.component';\nexport * from './lib/components/checkbox/checkbox.component';\nexport * from './lib/components/code-highlight/code-highlight.component';\nexport * from './lib/components/form/form.component';\nexport * from './lib/components/imput/input.component';\nexport * from './lib/components/multi-select/multi-select.component';\nexport * from './lib/components/radio/radio.component';\nexport * from './lib/components/select/select.component';\nexport * from './lib/components/tables/bootstrap-table.component';\nexport * from './lib/components/textarea/textarea.component';\n\n// Enums\nexport * from './lib/enum/ButtonClassesEnum';\n\n// Módulos\nexport * from './lib/components/components.module';\nexport * from './lib/lib-portal-angular.module';\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3"],"mappings":"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"}
1
+ {"version":3,"file":"lib-portal-angular.mjs","sources":["../../../projects/lib-portal-angular/src/lib/components/alert/alert.component.ts","../../../projects/lib-portal-angular/src/lib/components/alert/alert.component.html","../../../projects/lib-portal-angular/src/lib/enum/ButtonClassesEnum.ts","../../../projects/lib-portal-angular/src/lib/components/badge/badge.component.ts","../../../projects/lib-portal-angular/src/lib/components/button/button.component.ts","../../../projects/lib-portal-angular/src/lib/components/card/card.component.ts","../../../projects/lib-portal-angular/src/lib/components/checkbox/checkbox.component.ts","../../../projects/lib-portal-angular/src/lib/components/code-highlight/code-highlight.component.ts","../../../projects/lib-portal-angular/src/lib/components/form/form.component.ts","../../../projects/lib-portal-angular/src/lib/components/imput/input.component.ts","../../../projects/lib-portal-angular/src/lib/components/multi-select/multi-select.component.ts","../../../projects/lib-portal-angular/src/lib/components/radio/radio.component.ts","../../../projects/lib-portal-angular/src/lib/components/select/select.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/bootstrap-table.component.ts","../../../projects/lib-portal-angular/src/lib/components/tables/bootstrap-table.component.html","../../../projects/lib-portal-angular/src/lib/components/textarea/textarea.component.ts","../../../projects/lib-portal-angular/src/lib/components/alert/notification.service.ts","../../../projects/lib-portal-angular/src/lib/components/components.module.ts","../../../projects/lib-portal-angular/src/lib/lib-portal-angular.module.ts","../../../projects/lib-portal-angular/src/public-api.ts","../../../projects/lib-portal-angular/src/lib-portal-angular.ts"],"sourcesContent":["import { AfterViewInit, Component, Input, OnInit } from '@angular/core';\nimport { Alert } from './notification.service';\n\n@Component({\n selector: 'lib-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements OnInit, AfterViewInit {\n @Input() alerts: Alert[] = [];\n private closeTimeouts: { [key: string]: any } = {}; // Armazena os temporizadores para cada alerta\n\n ngOnInit(): void {\n // Inicia o temporizador de fechamento para cada alerta quando a página é carregada\n this.alerts.forEach(alert => {\n this.closeTimeouts[alert.message] = setTimeout(() => {\n this.closeAlert(alert);\n }, 6000); // Fecha após 8 segundos\n });\n }\n\n ngAfterViewInit(): void {\n // Adiciona a classe 'show' após um curto atraso para acionar a animação\n setTimeout(() => {\n this.alerts.forEach(alert => {\n const element = document.getElementById(`alert-${alert.message}`);\n if (element) {\n element.classList.add('show');\n }\n });\n }, 10); // Pequeno atraso para garantir que o elemento esteja no DOM\n }\n\n closeAlert(alert: Alert) {\n const element = document.getElementById(`alert-${alert.message}`);\n if (element) {\n element.classList.remove('show');\n setTimeout(() => {\n this.alerts = this.alerts.filter(a => a !== alert);\n }, 500); // Duração da animação de saída\n } else {\n this.alerts = this.alerts.filter(a => a !== alert);\n }\n }\n\n getAlertClass(alert: Alert) {\n return {\n 'alert-container': true,\n 'alert-dismissible': true,\n [`alert-${alert.type}`]: true\n };\n }\n\n getAlertIconClass(alert: Alert) {\n switch (alert.type) {\n case 'success':\n return 'success-icon'; // Classe para o ícone de sucesso\n case 'info':\n return 'info-icon'; // Classe para o ícone de informação\n case 'warning':\n return 'warning-icon'; // Classe para o ícone de aviso\n case 'danger':\n return 'danger-icon'; // Classe para o ícone de erro\n default:\n return '';\n }\n }\n\n onMouseEnter(alert: Alert) {\n // Cancela o temporizador quando o mouse entra no alerta\n if (this.closeTimeouts[alert.message]) {\n clearTimeout(this.closeTimeouts[alert.message]);\n delete this.closeTimeouts[alert.message];\n }\n }\n\n onMouseLeave(alert: Alert) {\n // Inicia um novo temporizador para fechar o alerta após 2 segundos quando o mouse sai do alerta\n this.closeTimeouts[alert.message] = setTimeout(() => {\n this.closeAlert(alert);\n }, 2000); // Fechar após 2 segundos\n }\n}\n","<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n","export enum ButtonClasses {\n Primary = 'btn-primary',\n Secondary = 'btn-secondary',\n Success = 'btn-success',\n Danger = 'btn-danger',\n Warning = 'btn-warning',\n Info = 'btn-info',\n Light = 'btn-light',\n Dark = 'btn-dark',\n Link = 'btn-link'\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-badge',\n template: `\n <button\n class=\"notification-button\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick()\"\n [class.hovered]=\"isHovered\"\n [class.clicked]=\"isClicked\"\n (mousedown)=\"onMouseDown()\"\n (mouseup)=\"onMouseUp()\"\n (mouseleave)=\"onMouseLeave()\"\n (mouseenter)=\"onMouseEnter()\">\n {{ label }}\n <span class=\"badge\">{{ badgeContent }}</span>\n </button>\n `,\n styles: [`\n .notification-button {\n position: relative;\n display: inline-block;\n width: 155px;\n height: 58px;\n padding: 14px 29px 14px 36px;\n border-radius: 6px;\n border: none;\n font-size: 16px;\n font-weight: bold;\n text-align: center;\n transition: opacity 0.3s;\n }\n .badge {\n position: absolute;\n width: 52px; /* Largura fixa */\n height: 32px; /* Altura fixa */\n top: -15px;\n right: -20px;\n background-color: #dc3545;\n color: #FFFFFF;\n border-radius: 16px; /* Arredondamento das bordas */\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n font-size: 14px;\n font-family: 'Inter', sans-serif;\n }\n .notification-button.hovered {\n opacity: 0.8;\n }\n .notification-button.clicked {\n opacity: 0.6;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BadgeComponent {\n @Input() label: string = 'Mensagem';\n @Input() badgeContent: string = '+45';\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Output() buttonClick: EventEmitter<void> = new EventEmitter<void>();\n\n isHovered: boolean = false;\n isClicked: boolean = false;\n isActive: boolean = false;\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isClicked ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n onClick() {\n this.buttonClick.emit();\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n this.isHovered = false;\n this.isClicked = false;\n }\n\n @HostListener('mousedown')\n onMouseDown() {\n this.isClicked = true;\n }\n\n @HostListener('mouseup')\n onMouseUp() {\n this.isClicked = false;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ButtonClasses } from '../../enum/ButtonClassesEnum';\n\n@Component({\n selector: 'sim-app-button',\n template: `\n <ng-container *ngIf=\"hasPermission()\">\n <button [type]=\"type\"\n class=\"btn\"\n [ngClass]=\"btnClass\"\n [ngStyle]=\"getDynamicStyles()\"\n (click)=\"onClick($event)\"\n [disabled]=\"disabled\"\n [attr.autofocus]=\"autofocus ? true : null\"\n [attr.form]=\"form\"\n [attr.formaction]=\"formaction\"\n [attr.formenctype]=\"formenctype\"\n [attr.formmethod]=\"formmethod\"\n [attr.formnovalidate]=\"formnovalidate\"\n [attr.formtarget]=\"formtarget\"\n [attr.name]=\"name\"\n [attr.value]=\"value\">\n {{ label }}\n </button>\n </ng-container>\n `,\n styles: [`\n .btn {\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n transition: background-color 0.3s, border-color 0.3s, filter 0.3s;\n font-family: 'Inter', sans-serif;\n font-size: 16px;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 0.005em;\n text-align: left;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n @Input() type: string = 'button';\n @Input() label: string = 'Submit';\n @Input() btnClass: ButtonClasses = ButtonClasses.Primary;\n @Input() fontSize: string = '1rem';\n @Input() disabled: boolean = false;\n @Input() autofocus: boolean = false;\n @Input() form: string | null = null;\n @Input() formaction: string | null = null;\n @Input() formenctype: string | null = null;\n @Input() formmethod: string | null = null;\n @Input() formnovalidate: boolean = false;\n @Input() formtarget: string | null = null;\n @Input() name: string | null = null;\n @Input() value: string | null = null;\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Input() permissions: string[] = [];\n @Input() permissionChecker: ((permissions: string[]) => boolean) | null = null;\n\n @Output() clickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private isHovered: boolean = false;\n private isActive: boolean = false;\n\n @HostListener('mouseenter') onMouseEnter() {\n this.isHovered = true;\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.isHovered = false;\n this.isActive = false;\n }\n\n @HostListener('mousedown') onMouseDown() {\n this.isActive = true;\n }\n\n @HostListener('mouseup') onMouseUp() {\n this.isActive = false;\n }\n\n onClick(event: Event) {\n this.clickEvent.emit(event);\n }\n\n getDynamicStyles() {\n let backgroundColor = '';\n let textColor = '#fff'; // Default text color\n let borderColor = '';\n\n switch (this.btnClass) {\n case ButtonClasses.Primary:\n backgroundColor = '#00444C';\n break;\n case ButtonClasses.Secondary:\n backgroundColor = '#2CA58D';\n break;\n case ButtonClasses.Success:\n backgroundColor = '#00C853';\n break;\n case ButtonClasses.Danger:\n backgroundColor = '#D32F2F';\n break;\n case ButtonClasses.Warning:\n backgroundColor = '#FFC107';\n break;\n case ButtonClasses.Info:\n backgroundColor = '#3EC9D6';\n break;\n case ButtonClasses.Light:\n backgroundColor = '#EEF2F6';\n textColor = '#00444C'; // Custom text color for Light\n break;\n case ButtonClasses.Dark:\n backgroundColor = '#111936';\n break;\n case ButtonClasses.Link:\n backgroundColor = 'transparent';\n borderColor = '#DDE5E9';\n textColor = '#00444C'; // Custom text color for Link\n break;\n default:\n backgroundColor = '#00444C';\n break;\n }\n\n const hoverFilter = this.isHovered ? 'brightness(80%)' : 'none'; // Adjusted hover brightness\n const activeFilter = this.isActive ? 'brightness(60%)' : hoverFilter; // Adjusted active brightness\n\n return {\n 'font-size': this.fontSize,\n 'margin-top': `${this.marginTop}rem`,\n 'margin-bottom': `${this.marginBottom}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`,\n 'background-color': backgroundColor,\n 'color': textColor,\n 'border': borderColor ? `1px solid ${borderColor}` : 'none',\n 'transition': 'background-color 0.3s, border-color 0.3s, filter 0.3s',\n 'filter': activeFilter\n };\n }\n\n hasPermission(): boolean {\n if (!this.permissionChecker || this.permissions.length === 0) {\n return true;\n }\n return this.permissionChecker(this.permissions);\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-card',\n template: `\n <div class=\"card mb-3\">\n <div class=\"card-header\">\n <h3>{{ cardTitle }}</h3>\n </div>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n </div>\n `\n})\nexport class CardComponent {\n @Input() cardTitle: string = 'Default Title';\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-checkbox',\n template: `\n <div\n class=\"form-group form-check\"\n [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [id]=\"id\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n />\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o input */\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem; /* Define o tamanho padrão da fonte para o label */\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() id: string = 'defaultCheckbox';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Check me out';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() checkedChange = new EventEmitter<boolean>();\n\n private onChangeFn: (value: boolean) => void = () => { };\n private onTouchedFn: () => void = () => { };\n\n onChange(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.checked = input.checked;\n this.onChangeFn(this.checked);\n this.checkedChange.emit(this.checked);\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedFn = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport hljs from 'highlight.js';\n\n@Component({\n selector: 'app-code-highlight',\n template: `\n <div class=\"code-container\">\n <pre><code #codeElement [innerHTML]=\"highlightedCode\"></code></pre>\n <button (click)=\"copyCode()\">Copy</button>\n </div>\n `,\n styles: [`\n .code-container {\n position: relative;\n }\n pre {\n background-color: #2d2d2d;\n color: #f8f8f2;\n padding: 1rem;\n border-radius: 5px;\n overflow-x: auto;\n }\n button {\n position: absolute;\n top: 10px;\n right: 10px;\n background-color: #f8f8f2;\n border: none;\n padding: 0.5rem 1rem;\n cursor: pointer;\n border-radius: 5px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: background-color 0.3s, transform 0.2s, box-shadow 0.2s;\n }\n button:hover {\n background-color: #e0e0e0;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);\n }\n button:active {\n background-color: #d0d0d0;\n transform: scale(0.98);\n }\n `]\n})\nexport class CodeHighlightComponent implements AfterViewInit {\n @Input() code: string = ''; // Definindo um valor padrão\n @Input() language: string = 'typescript';\n @ViewChild('codeElement') codeElement!: ElementRef; // Usando operador de asserção não nula\n\n highlightedCode: string = '';\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.highlightCode();\n this.cdr.detectChanges();\n });\n }\n\n highlightCode() {\n const code = hljs.highlight(this.language, this.code).value;\n this.highlightedCode = code;\n }\n\n copyCode() {\n const codeElement = this.codeElement.nativeElement;\n navigator.clipboard.writeText(codeElement.innerText).then(() => {\n alert('Code copied to clipboard!');\n });\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'sim-app-form',\n template: `\n <div class=\"row\" [ngStyle]=\"getRowStyles()\">\n <div [ngClass]=\"colClasses\">\n <div class=\"card\">\n <div class=\"card-title\">\n {{ cardTitle }}\n </div>\n <div class=\"card-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: [`\n .row {\n margin-top: 0.5rem;\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n }\n .col-12 {\n padding: 0;\n }\n .card {\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n padding: 1rem;\n }\n .card-title {\n font-family: Inter, sans-serif;\n font-size: 42px;\n font-weight: 700;\n line-height: 50.83px;\n text-align: left;\n width: 98%;\n height: 51px;\n gap: 0px;\n opacity: 0px;\n margin-bottom: 1rem;\n }\n .card-content {\n font-family: Arial, sans-serif;\n }\n `]\n})\nexport class FormComponent {\n @Input() cardTitle: string = 'Default Form Title';\n @Input() colClasses: string = 'col-12'; // Classes de coluna responsiva\n\n // Valores de margem dinâmica\n @Input() marginTop: number = 0; // Em rem\n @Input() marginLeft: number = 0; // Em rem\n @Input() marginRight: number = 0; // Em rem\n\n getRowStyles() {\n return {\n 'margin-top': `${this.marginTop}rem`,\n 'margin-left': `${this.marginLeft}rem`,\n 'margin-right': `${this.marginRight}rem`\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-input',\n template: `\n <div *ngIf=\"hasPermission()\" class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" [ngStyle]=\"getLabelStyles()\">{{ label }}</label>\n <input [type]=\"type\"\n class=\"form-control custom-input\"\n [id]=\"id\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [attr.pattern]=\"pattern\"\n [autofocus]=\"autofocus\">\n </div>\n `,\n styles: [`\n .form-group {\n font-family: Inter;\n font-size: 1rem;\n font-weight: bold;\n }\n .form-check-input {\n font-family: Inter;\n color: #333;\n font-size: 0.9rem;\n }\n .form-check-label {\n width: 623px;\n height: 19px;\n top: 1608px;\n left: 133px;\n gap: 0px;\n opacity: 0px;\n font-family: Inter;\n font-size: 16px;\n line-height: 19.36px;\n text-align: left;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = '';\n @Input() id: string = 'inputId';\n @Input() type: string = 'text';\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() pattern: string | null = null;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() labelFontWeight: number = 400;\n\n @Input() permissions: string[] = [];\n @Input() permissionChecker: ((permissions: string[]) => boolean) | null = null;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n hasPermission(): boolean {\n if (!this.permissionChecker || this.permissions.length === 0) {\n return true;\n }\n return this.permissionChecker(this.permissions);\n }\n\n getLabelStyles() {\n return {\n 'font-weight': this.labelFontWeight,\n 'width': '623px',\n 'height': '19px',\n 'top': '1608px',\n 'left': '133px',\n 'gap': '0px',\n 'opacity': '0px',\n 'font-family': 'Inter',\n 'font-size': '16px',\n 'line-height': '19.36px',\n 'text-align': 'left'\n };\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable, of } from 'rxjs';\n\n@Component({\n selector: 'sim-app-multi-select',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <ng-select\n [class.course-entry]=\"isCourseEntered\"\n class=\"ng-select\"\n [items]=\"items | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [hideSelected]=\"true\"\n [bindLabel]=\"bindLabel\"\n [(ngModel)]=\"selected\"\n (keyup)=\"onKeyUp($event)\"\n [id]=\"id\"\n [placeholder]=\"selected && selected.length === 0 ? placeholder : ''\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n >\n <ng-template ng-option-tmp let-item=\"item\">\n {{ item[bindLabel] }}\n </ng-template>\n </ng-select>\n </div>\n `,\n styles: [`\n .form-group {\n font-family: Arial, sans-serif;\n font-size: 1rem;\n }\n .form-label {\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MultiSelectComponent implements ControlValueAccessor, OnInit {\n @Input() label: string = 'Multi Select';\n @Input() data: any[] = []; // Aceita um array de objetos genéricos\n @Input() placeholder: string = 'Select items';\n @Input() selected: any[] = []; // A variável selected deve ser um array\n @Input() id: string = 'multiSelectId';\n @Input() bindLabel: string = ''; // Label dinâmico genérico\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() keyupEvent: EventEmitter<any> = new EventEmitter<any>();\n\n items: Observable<any[]> = of([]); // Inicialização da propriedade\n\n ngOnInit(): void {\n this.items = of(this.data);\n }\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n isCourseEntered = false;\n\n onFocus() {\n this.isCourseEntered = true;\n }\n\n onBlur() {\n this.isCourseEntered = false;\n }\n\n onKeyUp(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.selected = value || [];\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n // No implementation needed for this example\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-radio',\n template: `\n <div class=\"form-check\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <input class=\"form-check-input\"\n type=\"radio\"\n [name]=\"name\"\n [id]=\"id\"\n [value]=\"value\"\n [checked]=\"checked\"\n (change)=\"handleRadioChange($event)\"\n [disabled]=\"disabled\">\n <label class=\"form-check-label\" [for]=\"id\">{{ label }}</label>\n </div>\n `,\n styles: [`\n .form-check {\n font-family: Arial, sans-serif;\n font-size: 1rem; /* Define o tamanho padrão da fonte */\n }\n .form-check-input {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n margin-right: 0.5rem;\n }\n .form-check-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RadioComponent implements ControlValueAccessor {\n @Input() name: string = 'defaultRadio';\n @Input() id: string = 'radioId';\n @Input() value: string = 'default';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() label: string = 'Radio label';\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n handleRadioChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n this.checked = inputElement.checked;\n this.onChangeCallback(this.checked);\n this.changeEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.checked = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-select',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\">{{ label }}</label>\n <select class=\"form-control custom-select\"\n [id]=\"id\"\n [value]=\"value\"\n (change)=\"onSelectChange($event)\"\n [disabled]=\"disabled\">\n <option *ngFor=\"let option of options\" [value]=\"option.value\">{{ option.label }}</option>\n </select>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SelectComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() id: string = 'selectId';\n @Input() disabled: boolean = false;\n @Input() options: { value: any, label: string }[] = [];\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() changeEvent: EventEmitter<any> = new EventEmitter<any>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: any;\n\n onSelectChange(event: Event) {\n const selectElement = event.target as HTMLSelectElement;\n this.value = selectElement.value;\n this.onChangeCallback(this.value);\n this.changeEvent.emit(this.value);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { PaginationInstance } from 'ngx-pagination';\n\n@Component({\n selector: 'sim-bootstrap-table',\n templateUrl: './bootstrap-table.component.html',\n styleUrls: ['./bootstrap-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BootstrapTableComponent implements OnInit, OnChanges {\n @Input() columns: any[] = [];\n @Input() data: any[] = [];\n @Input() itemsPerPageOptions: number[] = [5, 10, 15, 20];\n @Input() defaultItemsPerPage: number = 10;\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n @Input() showActionColumn: boolean = false;\n @Input() actionColumnLabel: string = 'Actions';\n\n @Output() sortChange: EventEmitter<any> = new EventEmitter();\n @Output() pageChange: EventEmitter<number> = new EventEmitter();\n @Output() itemsPerPageChange: EventEmitter<number> = new EventEmitter();\n @Output() onEditTable: EventEmitter<any> = new EventEmitter();\n @Output() onDeleteTable: EventEmitter<any> = new EventEmitter();\n @Output() onViewTable: EventEmitter<any> = new EventEmitter();\n\n currentPage: number = 1;\n totalItems: number = 0;\n config: PaginationInstance = {\n id: 'bootstrap-table',\n itemsPerPage: this.defaultItemsPerPage,\n currentPage: this.currentPage,\n totalItems: this.totalItems\n };\n\n ngOnInit() {\n this.totalItems = this.data.length;\n this.updateConfig();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['data']) {\n this.totalItems = this.data.length;\n this.updateConfig();\n }\n }\n\n updateConfig() {\n this.config.itemsPerPage = this.defaultItemsPerPage;\n this.config.currentPage = this.currentPage;\n this.config.totalItems = this.totalItems;\n }\n\n onSort(column: string) {\n this.sortChange.emit(column);\n }\n\n onPageChange(page: number) {\n this.currentPage = page;\n this.config.currentPage = page;\n this.pageChange.emit(page);\n }\n\n onItemsPerPageChange(event: any) {\n const itemsPerPage = parseInt(event, 10);\n this.defaultItemsPerPage = itemsPerPage;\n this.config.itemsPerPage = itemsPerPage;\n this.itemsPerPageChange.emit(itemsPerPage);\n this.updateConfig();\n }\n\n handleAction(action: string, item: any, index: number) {\n switch (action) {\n case 'edit':\n this.onEditTable.emit({ item, index });\n break;\n case 'delete':\n this.onDeleteTable.emit({ item, index });\n break;\n case 'view':\n this.onViewTable.emit({ item, index });\n break;\n }\n }\n}\n","<div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n}\" style=\"text-align: right;\">\n <label for=\"itemsPerPageSelect\" style=\"margin-right: 0.5rem; margin-bottom: 0.7rem;\">Itens por Página:</label>\n <select\n id=\"itemsPerPageSelect\"\n class=\"form-control form-control-sm d-inline-block w-auto\"\n [(ngModel)]=\"defaultItemsPerPage\"\n (ngModelChange)=\"onItemsPerPageChange($event)\">\n <option *ngFor=\"let option of itemsPerPageOptions\" [value]=\"option\">{{ option }}</option>\n </select>\n</div>\n\n<div class=\"table-responsive\">\n <table class=\"table table-hover\">\n <thead>\n <tr>\n <th *ngFor=\"let column of columns\" (click)=\"onSort(column.prop)\">\n {{ column.label }}\n </th>\n <th *ngIf=\"showActionColumn\">{{ actionColumnLabel }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of data | paginate: config; let i = index\">\n <td *ngFor=\"let column of columns\">\n {{ item[column.prop] }}\n </td>\n <td *ngIf=\"showActionColumn\">\n <div class=\"d-flex justify-content-center\">\n <button *ngIf=\"onEditTable.observers.length > 0\" (click)=\"handleAction('edit', item, i)\" class=\"btn btn-sm btn-primary mx-1\">Edit</button>\n <button *ngIf=\"onDeleteTable.observers.length > 0\" (click)=\"handleAction('delete', item, i)\" class=\"btn btn-sm btn-danger mx-1\">Delete</button>\n <button *ngIf=\"onViewTable.observers.length > 0\" (click)=\"handleAction('view', item, i)\" class=\"btn btn-sm btn-info mx-1\">View</button>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<div class=\"text-center\">\n <pagination-controls id=\"bootstrap-table\" (pageChange)=\"onPageChange($event)\" previousLabel=\"Anterior\" nextLabel=\"Próximo\" [responsive]=\"true\"></pagination-controls>\n</div>\n\n\n<!-- Estilos CSS diretamente no HTML -->\n<style>\n .table thead th {\n background-color: #343a40; /* Tom de cinza escuro */\n color: #fff;\n }\n</style>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'sim-app-textarea',\n template: `\n <div class=\"form-group\" [ngStyle]=\"{\n 'margin-top': marginTop + 'rem',\n 'margin-bottom': marginBottom + 'rem',\n 'margin-left': marginLeft + 'rem',\n 'margin-right': marginRight + 'rem'\n }\">\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n <textarea class=\"form-control custom-textarea\"\n [id]=\"id\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (keypress)=\"onKeypress($event)\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [autofocus]=\"autofocus\"></textarea>\n </div>\n `,\n styles: [`\n .form-group {\n margin-bottom: 1rem;\n }\n .form-label {\n font-family: Arial, sans-serif;\n color: #333;\n font-size: 1rem;\n font-weight: bold;\n }\n `],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextareaComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextareaComponent implements ControlValueAccessor {\n @Input() label: string = 'Default Label';\n @Input() placeholder: string = 'Default Placeholder';\n @Input() id: string = 'textareaId';\n @Input() rows: number = 3;\n @Input() disabled: boolean = false;\n @Input() readonly: boolean = false;\n @Input() maxlength: number | null = null;\n @Input() minlength: number | null = null;\n @Input() required: boolean = false;\n @Input() autofocus: boolean = false;\n\n @Input() marginTop: number = 0;\n @Input() marginBottom: number = 0;\n @Input() marginLeft: number = 0;\n @Input() marginRight: number = 0;\n\n @Output() inputEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() changeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output() keyupEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keydownEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n @Output() keypressEvent: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n private onChangeCallback: (_: any) => void = () => { };\n private onTouchedCallback: () => void = () => { };\n\n value: string = '';\n\n onInput(event: Event) {\n const inputElement = event.target as HTMLTextAreaElement;\n this.value = inputElement.value;\n this.onChangeCallback(this.value);\n this.inputEvent.emit(event);\n }\n\n onChange(event: Event) {\n this.changeEvent.emit(event);\n }\n\n onFocus(event: FocusEvent) {\n this.focusEvent.emit(event);\n }\n\n onBlur(event: FocusEvent) {\n this.onTouchedCallback();\n this.blurEvent.emit(event);\n }\n\n onKeyup(event: KeyboardEvent) {\n this.keyupEvent.emit(event);\n }\n\n onKeydown(event: KeyboardEvent) {\n this.keydownEvent.emit(event);\n }\n\n onKeypress(event: KeyboardEvent) {\n this.keypressEvent.emit(event);\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChangeCallback = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { ApplicationRef, ComponentRef, createComponent, Injectable, Injector } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AlertComponent } from './alert.component';\n\nexport interface Alert {\n type: 'success' | 'info' | 'warning' | 'danger';\n title: string;\n message: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n private alertsSubject = new Subject<Alert>();\n alerts$ = this.alertsSubject.asObservable();\n\n constructor(\n private appRef: ApplicationRef,\n private injector: Injector\n ) { }\n\n showAlert(type: 'success' | 'info' | 'warning' | 'danger', title: string, message: string) {\n const alert: Alert = { type, title, message };\n this.alertsSubject.next(alert);\n\n // Create the alert component dynamically\n const componentRef: ComponentRef<AlertComponent> = createComponent(AlertComponent, { environmentInjector: this.appRef.injector });\n componentRef.instance.alerts = [alert];\n\n this.appRef.attachView(componentRef.hostView);\n const domElem = (componentRef.hostView as any).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n \n \n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { AlertComponent } from './alert/alert.component';\nimport { NotificationService } from './alert/notification.service';\nimport { BadgeComponent } from './badge/badge.component';\nimport { ButtonComponent } from './button/button.component';\nimport { CardComponent } from './card/card.component';\nimport { CheckboxComponent } from './checkbox/checkbox.component';\nimport { CodeHighlightComponent } from './code-highlight/code-highlight.component';\nimport { FormComponent } from './form/form.component';\nimport { InputComponent } from './imput/input.component';\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\nimport { RadioComponent } from './radio/radio.component';\nimport { SelectComponent } from './select/select.component';\nimport { BootstrapTableComponent } from './tables/bootstrap-table.component';\nimport { TextareaComponent } from './textarea/textarea.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n CardComponent,\n FormComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n BootstrapTableComponent,\n CodeHighlightComponent,\n BadgeComponent,\n AlertComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n NgxPaginationModule,\n ],\n exports: [\n ButtonComponent,\n CardComponent,\n FormComponent,\n InputComponent,\n CheckboxComponent,\n TextareaComponent,\n SelectComponent,\n RadioComponent,\n MultiSelectComponent,\n FormsModule,\n ReactiveFormsModule,\n NgSelectModule,\n BootstrapTableComponent,\n CodeHighlightComponent,\n BadgeComponent,\n AlertComponent\n ],\n providers: [\n NotificationService\n ],\n})\nexport class ComponentsModule { }\n","import { NgModule } from '@angular/core';\nimport { ComponentsModule } from './components/components.module';\n\n@NgModule({\n imports: [\n ComponentsModule,\n ],\n exports: [\n ComponentsModule\n ]\n})\nexport class LibPortalAngularModule { }\n","/*\n * Public API Surface of sim-lib\n *\n * Este arquivo exporta todos os componentes, enums e módulos necessários\n * para que os consumidores da biblioteca possam utilizá-los em suas aplicações.\n */\n\n// Componentes\nexport * from './lib/components/alert/alert.component';\nexport * from './lib/components/badge/badge.component';\nexport * from './lib/components/button/button.component';\nexport * from './lib/components/card/card.component';\nexport * from './lib/components/checkbox/checkbox.component';\nexport * from './lib/components/code-highlight/code-highlight.component';\nexport * from './lib/components/form/form.component';\nexport * from './lib/components/imput/input.component';\nexport * from './lib/components/multi-select/multi-select.component';\nexport * from './lib/components/radio/radio.component';\nexport * from './lib/components/select/select.component';\nexport * from './lib/components/tables/bootstrap-table.component';\nexport * from './lib/components/textarea/textarea.component';\n\n// Enums\nexport * from './lib/enum/ButtonClassesEnum';\n\n// Módulos\nexport * from './lib/components/components.module';\nexport * from './lib/lib-portal-angular.module';\n\n// Service\nexport * from './lib/components/alert/notification.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { AfterViewInit, OnInit } from '@angular/core';
2
+ import { Alert } from './notification.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AlertComponent implements OnInit, AfterViewInit {
5
+ alerts: Alert[];
6
+ private closeTimeouts;
7
+ ngOnInit(): void;
8
+ ngAfterViewInit(): void;
9
+ closeAlert(alert: Alert): void;
10
+ getAlertClass(alert: Alert): {
11
+ [x: string]: boolean;
12
+ 'alert-container': boolean;
13
+ 'alert-dismissible': boolean;
14
+ };
15
+ getAlertIconClass(alert: Alert): "" | "success-icon" | "info-icon" | "warning-icon" | "danger-icon";
16
+ onMouseEnter(alert: Alert): void;
17
+ onMouseLeave(alert: Alert): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<AlertComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<AlertComponent, "lib-alert", never, { "alerts": { "alias": "alerts"; "required": false; }; }, {}, never, never, false, never>;
20
+ }
@@ -0,0 +1,17 @@
1
+ import { ApplicationRef, Injector } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export interface Alert {
4
+ type: 'success' | 'info' | 'warning' | 'danger';
5
+ title: string;
6
+ message: string;
7
+ }
8
+ export declare class NotificationService {
9
+ private appRef;
10
+ private injector;
11
+ private alertsSubject;
12
+ alerts$: import("rxjs").Observable<Alert>;
13
+ constructor(appRef: ApplicationRef, injector: Injector);
14
+ showAlert(type: 'success' | 'info' | 'warning' | 'danger', title: string, message: string): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
17
+ }
@@ -11,12 +11,13 @@ import * as i9 from "./multi-select/multi-select.component";
11
11
  import * as i10 from "./tables/bootstrap-table.component";
12
12
  import * as i11 from "./code-highlight/code-highlight.component";
13
13
  import * as i12 from "./badge/badge.component";
14
- import * as i13 from "@angular/common";
15
- import * as i14 from "@angular/forms";
16
- import * as i15 from "@ng-select/ng-select";
17
- import * as i16 from "ngx-pagination";
14
+ import * as i13 from "./alert/alert.component";
15
+ import * as i14 from "@angular/common";
16
+ import * as i15 from "@angular/forms";
17
+ import * as i16 from "@ng-select/ng-select";
18
+ import * as i17 from "ngx-pagination";
18
19
  export declare class ComponentsModule {
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsModule, never>;
20
- static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i10.BootstrapTableComponent, typeof i11.CodeHighlightComponent, typeof i12.BadgeComponent], [typeof i13.CommonModule, typeof i14.FormsModule, typeof i14.ReactiveFormsModule, typeof i15.NgSelectModule, typeof i16.NgxPaginationModule], [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i14.FormsModule, typeof i14.ReactiveFormsModule, typeof i15.NgSelectModule, typeof i10.BootstrapTableComponent, typeof i11.CodeHighlightComponent, typeof i12.BadgeComponent]>;
21
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i10.BootstrapTableComponent, typeof i11.CodeHighlightComponent, typeof i12.BadgeComponent, typeof i13.AlertComponent], [typeof i14.CommonModule, typeof i15.FormsModule, typeof i15.ReactiveFormsModule, typeof i16.NgSelectModule, typeof i17.NgxPaginationModule], [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i15.FormsModule, typeof i15.ReactiveFormsModule, typeof i16.NgSelectModule, typeof i10.BootstrapTableComponent, typeof i11.CodeHighlightComponent, typeof i12.BadgeComponent, typeof i13.AlertComponent]>;
21
22
  static ɵinj: i0.ɵɵInjectorDeclaration<ComponentsModule>;
22
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lib-portal-angular",
3
- "version": "0.0.18",
3
+ "version": "0.0.21",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
6
  "@angular/core": "^16.2.0"
package/public-api.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './lib/components/alert/alert.component';
1
2
  export * from './lib/components/badge/badge.component';
2
3
  export * from './lib/components/button/button.component';
3
4
  export * from './lib/components/card/card.component';
@@ -13,3 +14,4 @@ export * from './lib/components/textarea/textarea.component';
13
14
  export * from './lib/enum/ButtonClassesEnum';
14
15
  export * from './lib/components/components.module';
15
16
  export * from './lib/lib-portal-angular.module';
17
+ export * from './lib/components/alert/notification.service';