{"version":3,"file":"kovalenko-material-confirm.mjs","sources":["../../../projects/material-confirm/src/lib/confirm/confirm-dialog/confirm-dialog.component.ts","../../../projects/material-confirm/src/lib/confirm/confirm-dialog/confirm-dialog.component.html","../../../projects/material-confirm/src/lib/confirm.config.ts","../../../projects/material-confirm/src/lib/confirm/confirm.service.ts","../../../projects/material-confirm/src/lib/confirm/confirm.directive.ts","../../../projects/material-confirm/src/lib/material-confirm.module.ts","../../../projects/material-confirm/src/public-api.ts","../../../projects/material-confirm/src/kovalenko-material-confirm.ts"],"sourcesContent":["import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\ninterface ConfirmDialogData {\n  title: string;\n  message: string;\n  buttons?: {ok: string, cancel: string};\n  actions?: {value: any, title: string}[];\n}\n\n@Component({\n  selector: 'ngc-confirm',\n  templateUrl: './confirm-dialog.component.html',\n  styleUrls: ['./confirm-dialog.component.scss']\n})\nexport class ConfirmDialogComponent {\n\n  constructor(\n    public dialogRef: MatDialogRef<ConfirmDialogComponent>,\n    @Inject(MAT_DIALOG_DATA) public data: ConfirmDialogData,\n  ) { }\n}\n","<div\n  *ngIf=\"data?.title\"\n  mat-dialog-title\n  cdkDrag\n  cdkDragRootElement=\".cdk-overlay-pane\"\n  cdkDragHandle\n  cdkDragBoundary=\".cdk-global-overlay-wrapper\"\n  ngcMatDialogDragBounds\n>\n  {{ data.title }}\n</div>\n\n<div mat-dialog-content class=\"pw\" [innerHTML]=\"data.message\"></div>\n\n<div align=\"end\" mat-dialog-actions>\n  <button\n    [matDialogClose]=\"false\"\n    mat-button\n    type=\"submit\"\n  >\n    {{ data?.buttons?.cancel }}\n  </button>\n\n  <button\n    *ngFor=\"let action of data.actions\"\n    [matDialogClose]=\"action.value\"\n    mat-button\n    type=\"submit\"\n  >\n    {{ action.title }}\n  </button>\n\n  <button\n    [matDialogClose]=\"true\"\n    cdkFocusInitial\n    mat-button\n    type=\"submit\"\n  >\n    {{ data?.buttons?.ok }}\n  </button>\n</div>\n","import { InjectionToken } from '@angular/core';\nimport {MaterialConfirmConfig} from './material-confirm-config.interface';\n\n\nexport const config: InjectionToken<MaterialConfirmConfig> = new InjectionToken('material-confirm');\n","import {Inject, Injectable} from '@angular/core';\nimport {MatDialog, MatDialogConfig, MatDialogRef} from '@angular/material/dialog';\nimport {ConfirmDialogComponent} from './confirm-dialog/confirm-dialog.component';\nimport {MaterialConfirmConfig} from '../material-confirm-config.interface';\nimport { config as c } from '../confirm.config';\nimport {firstValueFrom} from 'rxjs';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ConfirmService {\n  private dialogInstance?: MatDialogRef<ConfirmDialogComponent, any>;\n\n  constructor(\n    @Inject(c) private config: MaterialConfirmConfig,\n    private dialog: MatDialog\n  ) { }\n\n  setDefaults(title: string, ok: string, cancel: string): void {\n    this.config ??= {};\n    this.config.title = title;\n    this.config.ok = ok;\n    this.config.cancel = cancel;\n  }\n\n  confirm(\n    confirmMessage: string,\n    confirmTitle = this.config?.title || '',\n    confirmOk = this.config?.ok || 'ok',\n    confirmCancel = this.config?.cancel || 'cancel',\n    config?: MatDialogConfig,\n    actions?: {value: any, title: string}[],\n  ): Promise<boolean> {\n    this.dialogInstance = this.dialog.open(ConfirmDialogComponent, {\n      ...this.config,\n      ...config,\n      closeOnNavigation: true,\n      data: {\n        title: confirmTitle,\n        message: [confirmMessage],\n        buttons: {\n          ok: confirmOk,\n          cancel: confirmCancel,\n        },\n        actions,\n      }\n    });\n\n    return firstValueFrom(this.dialogInstance.afterClosed());\n  }\n\n  cancel(): void {\n    this.dialogInstance?.close();\n  }\n}\n","import {Directive, HostListener, Input, Output, EventEmitter} from '@angular/core';\nimport {ConfirmService} from './confirm.service';\n\n@Directive({\n  // tslint:disable-next-line:directive-selector\n  selector: '[confirm]'\n})\nexport class ConfirmDirective {\n  @Input() confirmTitle?: string;\n  @Input() confirmMessage!: string;\n  @Input() confirmOk?: string;\n  @Input() confirmCancel?: string;\n  @Output() confirm = new EventEmitter<any>();\n\n  constructor(private confirmService: ConfirmService) { }\n\n  @HostListener('click', ['$event'])\n  async onClick(e: MouseEvent): Promise<void> {\n    e.preventDefault();\n    e.stopPropagation();\n\n    const promise = this.confirmService.confirm(this.confirmMessage, this.confirmTitle, this.confirmOk, this.confirmCancel);\n    if (await promise) {\n      this.confirm.emit();\n    }\n  }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {ConfirmDirective} from './confirm/confirm.directive';\nimport {ConfirmDialogComponent} from './confirm/confirm-dialog/confirm-dialog.component';\nimport {ConfirmService} from './confirm/confirm.service';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatButtonModule} from '@angular/material/button';\nimport {CommonModule} from '@angular/common';\nimport {MaterialConfirmConfig} from './material-confirm-config.interface';\nimport { config } from './confirm.config';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {MatDialogDragBoundsModule} from '@kovalenko/mat-dialog-drag-bounds';\nimport {DragDropModule} from '@angular/cdk/drag-drop';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n  declarations: [\n    ConfirmDirective,\n    ConfirmDialogComponent,\n  ],\n  imports: [\n    MatDialogModule,\n    MatButtonModule,\n    DragDropModule,\n    MatDialogDragBoundsModule,\n    A11yModule,\n    CommonModule,\n    TranslateModule,\n  ],\n  exports: [\n    ConfirmDirective\n  ],\n  providers: [\n    ConfirmService,\n  ]\n})\nexport class MaterialConfirmModule {\n  static config(conf?: MaterialConfirmConfig): ModuleWithProviders<MaterialConfirmModule> {\n    return {\n      ngModule: MaterialConfirmModule,\n      providers: [\n        {\n          provide: config,\n          useValue: conf\n        }\n      ]\n    };\n  }\n}\n","/*\n * Public API Surface of material-confirm\n */\n\nexport * from './lib/confirm/confirm.directive';\nexport * from './lib/confirm/confirm.service';\nexport * from './lib/confirm.config';\nexport * from './lib/material-confirm-config.interface';\nexport * from './lib/material-confirm.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["c","i1.ConfirmService"],"mappings":"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"}