{"version":3,"file":"seniorsistemas-angular-components-confirm-dialog.mjs","sources":["../../projects/angular-components/confirm-dialog/src/lib/popup-confirm-dialog/popup-confirm-dialog.component.ts","../../projects/angular-components/confirm-dialog/src/lib/popup-confirm-dialog/popup-confirm-dialog.component.html","../../projects/angular-components/confirm-dialog/src/lib/confirm-dialog.service.ts","../../projects/angular-components/confirm-dialog/src/seniorsistemas-angular-components-confirm-dialog.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { DialogComponent } from '@seniorsistemas/angular-components/dialog';\nimport { ConfirmDialog } from '../confirm-dialog.model';\nimport { TemplateModule } from '@seniorsistemas/angular-components/template';\nimport { ButtonModule } from '@seniorsistemas/angular-components/button';\n\n/**\n * @description Componente interno do diálogo de confirmação, renderizado pelo `ConfirmDialogService`.\n * Exibe uma janela modal com uma mensagem, título e botões de aceitar e rejeitar configuráveis.\n * Não deve ser instanciado diretamente; utilize `ConfirmDialogService.open()` para exibi-lo.\n *\n * @example\n * ```ts\n * // Uso via serviço\n * this.confirmDialogService.open({\n *   header: 'Confirmar exclusão',\n *   message: 'Deseja realmente excluir este item?',\n *   acceptLabel: 'Excluir',\n *   rejectLabel: 'Cancelar',\n *   accept: () => this.delete(),\n * });\n * ```\n *\n * @category Overlay\n */\n@Component({\n    standalone: true,\n    imports: [DialogComponent, TemplateModule, ButtonModule],\n    templateUrl: './popup-confirm-dialog.component.html',\n})\nexport class PopupConfirmDialogComponent {\n    confirmDialog!: ConfirmDialog;\n}\n\n","@if (confirmDialog) {\n    <s-dialog [header]=\"confirmDialog.header\">\n        <div class=\"grid grid-cols-12\">\n            <div class=\"col-span-12\">\n                {{ confirmDialog.message }}\n            </div>\n        </div>\n        <ng-template\n            sTemplate=\"footer\"\n            let-activeDialog=\"activeDialog\"\n        >\n            <div class=\"grid grid-cols-12\">\n                <div class=\"col-span-12 flex flex-wrap justify-end gap-3\">\n                    @if (confirmDialog.rejectLabel) {\n                        <s-button\n                            [label]=\"confirmDialog.rejectLabel\"\n                            (clicked)=\"activeDialog.close(false)\"\n                            label=\"Ação secundária\"\n                            priority=\"link\"\n                        />\n                    }\n                    <s-button\n                        [label]=\"confirmDialog.acceptLabel\"\n                        (clicked)=\"activeDialog.close(true)\"\n                        priority=\"primary\"\n                    />\n                </div>\n            </div>\n        </ng-template>\n    </s-dialog>\n}\n","import { inject, Injectable } from '@angular/core';\nimport { ConfirmDialog } from './confirm-dialog.model';\nimport { DialogService } from '@seniorsistemas/angular-components/dialog';\nimport { PopupConfirmDialogComponent } from './popup-confirm-dialog/popup-confirm-dialog.component';\nimport { take } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ConfirmDialogService {\n  private readonly dialogService = inject(DialogService);\n\n  confirm(confirmDialog: ConfirmDialog) {\n    const dialogRef = this.dialogService.open(PopupConfirmDialogComponent);\n\n    dialogRef.componentInstance.confirmDialog = confirmDialog;\n\n    dialogRef.closed.pipe(take(1)).subscribe((response) => {\n      if (response) {\n        confirmDialog.accept()\n      } else if (!response && confirmDialog.reject) {\n        confirmDialog.reject();\n      }\n    })\n\n    dialogRef.dismissed.pipe(take(1)).subscribe(() => {\n      if (confirmDialog.reject) {\n        confirmDialog.reject()\n      }\n    })\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}