{"version":3,"file":"seniorsistemas-angular-components-alert.mjs","sources":["../../projects/angular-components/alert/src/lib/alert/alert.component.ts","../../projects/angular-components/alert/src/lib/alert/alert.component.html","../../projects/angular-components/alert/src/lib/alert/alert.module.ts","../../projects/angular-components/alert/src/seniorsistemas-angular-components-alert.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n/**\n * @description Componente de alerta que exibe mensagens informativas, de sucesso, aviso ou erro.\n * Suporta fechamento manual pelo usuário e emite um evento ao ser fechado.\n *\n * @example\n * ```html\n * <s-alert\n *   severity=\"warning\"\n *   summary=\"Atenção\"\n *   detail=\"Verifique os dados antes de continuar.\"\n *   (closed)=\"onAlertClosed()\"\n * />\n * ```\n *\n * @category Feedback\n */\n@Component({\n    selector: 's-alert',\n    templateUrl: './alert.component.html',\n    styleUrls: ['./alert.component.scss'],\n})\nexport class AlertComponent {\n    /**\n     * @description Nível de severidade do alerta, que define a cor e o ícone exibidos.\n     * - `'info'`: alerta informativo (padrão).\n     * - `'success'`: alerta de sucesso.\n     * - `'warning'`: alerta de aviso.\n     * - `'error'`: alerta de erro.\n     *\n     * @default 'info'\n     */\n    // sonar-ignore: Refactor this union type to have less than 3 elements\n    @Input()\n    public severity: 'info' | 'success' | 'warning' | 'error' = 'info';\n\n    /**\n     * @description Título principal do alerta exibido em destaque. Campo obrigatório.\n     */\n    @Input({ required: true })\n    public summary!: string;\n\n    /**\n     * @description Mensagem detalhada exibida abaixo do título do alerta. Campo obrigatório.\n     */\n    @Input({ required: true })\n    public detail!: string;\n\n    /**\n     * @description Quando `true`, exibe o botão de fechar o alerta.\n     * Quando `false`, o alerta não pode ser dispensado pelo usuário.\n     *\n     * @default true\n     */\n    @Input()\n    public closable = true;\n\n    /**\n     * @description Emitido quando o usuário fecha o alerta clicando no botão de fechar.\n     */\n    @Output()\n    public closed = new EventEmitter<void>();\n\n    public get isOpen(): boolean {\n        return this._isOpen;\n    }\n\n    public closeAlert(): void {\n        this._isOpen = false;\n    }\n\n    public showAlert(): void {\n        this._isOpen = true;\n    }\n\n    public onClose(): void {\n        this.closed.emit();\n        this.closeAlert();\n    }\n\n    private _isOpen = true;\n}\n\n","<div\n    class=\"alert\"\n    [ngClass]=\"{\n        'alert--info': severity === 'info',\n        'alert--success': severity === 'success',\n        'alert--warning': severity === 'warning',\n        'alert--error': severity === 'error',\n    }\"\n>\n    <div class=\"content\">\n        <div class=\"icon-container\">\n            <i\n                class=\"fas fa-info\"\n                [ngClass]=\"{\n                    'fa-info': severity === 'info',\n                    'fa-check': severity === 'success',\n                    'fa-exclamation-triangle': severity === 'warning',\n                    'fa-times': severity === 'error',\n                }\"\n            ></i>\n        </div>\n        <div class=\"text-container\">\n            <div class=\"text\">\n                @if (summary) {\n                    <span class=\"summary\">{{ summary }}</span>\n                }\n\n                @if (detail) {\n                    <span class=\"detail\">{{ detail }}</span>\n                }\n            </div>\n        </div>\n    </div>\n    @if (closable) {\n        <button\n            class=\"close-option\"\n            (click)=\"onClose()\"\n        >\n            <i class=\"fas fa-times\"></i>\n        </button>\n    }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AlertComponent } from './alert.component';\n\n@NgModule({\n    imports: [CommonModule],\n    declarations: [AlertComponent],\n    exports: [AlertComponent],\n})\nexport class AlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAEA;;;;;;;;;;;;;;;AAeG;MAMU,cAAc,CAAA;AACvB;;;;;;;;AAQG;;IAGI,QAAQ,GAA6C,MAAM,CAAC;AAEnE;;AAEG;AAEI,IAAA,OAAO,CAAU;AAExB;;AAEG;AAEI,IAAA,MAAM,CAAU;AAEvB;;;;;AAKG;IAEI,QAAQ,GAAG,IAAI,CAAC;AAEvB;;AAEG;AAEI,IAAA,MAAM,GAAG,IAAI,YAAY,EAAQ,CAAC;AAEzC,IAAA,IAAW,MAAM,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;IAEM,UAAU,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACxB;IAEM,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACvB;IAEM,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;IAEO,OAAO,GAAG,IAAI,CAAC;wGA1Dd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,4KCvB3B,0uCA0CA,EAAA,MAAA,EAAA,CAAA,4+CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDnBa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACI,SAAS,EAAA,QAAA,EAAA,0uCAAA,EAAA,MAAA,EAAA,CAAA,4+CAAA,CAAA,EAAA,CAAA;8BAgBZ,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAOC,OAAO,EAAA,CAAA;sBADb,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAOlB,MAAM,EAAA,CAAA;sBADZ,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAUlB,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAOC,MAAM,EAAA,CAAA;sBADZ,MAAM;;;MEnDE,WAAW,CAAA;wGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAHL,YAAA,EAAA,CAAA,cAAc,CADnB,EAAA,OAAA,EAAA,CAAA,YAAY,aAEZ,cAAc,CAAA,EAAA,CAAA,CAAA;AAEf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAJV,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIb,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,YAAY,EAAE,CAAC,cAAc,CAAC;oBAC9B,OAAO,EAAE,CAAC,cAAc,CAAC;AAC5B,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}