{"version":3,"file":"main-class-componentes-dialog.mjs","sources":["../../../../projects/main-class/componentes/dialog/src/dialog-confirmacao/dialog-confirmacao.component.ts","../../../../projects/main-class/componentes/dialog/src/dialog-confirmacao/dialog-confirmacao.component.html","../../../../projects/main-class/componentes/dialog/src/dialog-iframe/dialog-iframe.component.ts","../../../../projects/main-class/componentes/dialog/src/dialog-iframe/dialog-iframe.component.html","../../../../projects/main-class/componentes/dialog/src/dialog-sidebar/sidebar-modal-ref.ts","../../../../projects/main-class/componentes/dialog/src/dialog-sidebar/modal-template/modal-template.component.ts","../../../../projects/main-class/componentes/dialog/src/dialog-sidebar/modal-template/modal-template.component.html","../../../../projects/main-class/componentes/dialog/src/dialog.service.ts","../../../../projects/main-class/componentes/dialog/src/dialog-sidebar/modal.component.ts","../../../../projects/main-class/componentes/dialog/src/dialog-sidebar/modal.component.html","../../../../projects/main-class/componentes/dialog/src/dialog-sidebar/modal-template/modal-close.directive.ts","../../../../projects/main-class/componentes/dialog/src/dialog-sidebar/modal-template/modal-footer.directive.ts","../../../../projects/main-class/componentes/dialog/src/dialog-sidebar/modal-template/modal-header.directive.ts","../../../../projects/main-class/componentes/dialog/src/dialog-sidebar/modal-template/modal-body.directive.ts","../../../../projects/main-class/componentes/dialog/main-class-componentes-dialog.ts"],"sourcesContent":["import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogRef, MatDialogTitle} from '@angular/material/dialog';\nimport {FormsModule, NgForm} from '@angular/forms';\nimport {TranslatePipe} from '@ngx-translate/core';\nimport {MatButton} from '@angular/material/button';\n\nexport interface DialogConfirmacaoData {\n  titulo: string;\n  mensagem: string;\n  okLabel: string;\n  cancelLabel?: string;\n}\n\n@Component({\n  selector: 'mcl-dialog-confirmacao',\n  templateUrl: './dialog-confirmacao.component.html',\n  imports: [\n    FormsModule,\n    TranslatePipe,\n    MatDialogTitle,\n    MatDialogActions,\n    MatButton,\n    MatDialogContent,\n    MatDialogClose\n  ],\n  styleUrls: ['./dialog-confirmacao.component.scss']\n})\nexport class DialogConfirmacaoComponent implements OnInit {\n\n  constructor(\n    @Inject(MAT_DIALOG_DATA) private data: DialogConfirmacaoData,\n    private dialogRef: MatDialogRef<any>,\n  ) {\n  }\n\n  get titulo() {\n    return this.data.titulo;\n  }\n\n  get mensagem() {\n    return this.data.mensagem;\n  }\n\n  get okLabel() {\n    return this.data.okLabel;\n  }\n\n  get cancelLabel() {\n    return this.data.cancelLabel;\n  }\n\n  ngOnInit(): void {\n  }\n\n  confirma(form: NgForm) {\n    if (!form.valid) {\n      return;\n    }\n\n    this.dialogRef.close(true);\n  }\n}\n","<div mat-dialog-title>\n  {{ titulo | translate }}\n</div>\n\n<form (ngSubmit)=\"confirma(form)\" #form=\"ngForm\">\n  <div mat-dialog-content>\n\n    <p [innerHTML]=\"mensagem | translate\"></p>\n\n  </div>\n\n  <div mat-dialog-actions>\n    <button mat-stroked-button color=\"accent\">\n      {{ okLabel | translate }}\n    </button>\n    @if (!!cancelLabel) {\n      <button mat-flat-button color=\"warn\" type=\"button\" mat-dialog-close>\n        {{ cancelLabel | translate }}\n      </button>\n    }\n  </div>\n</form>\n","import {AfterViewInit, Component, ElementRef, Inject, ViewChild} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogClose, MatDialogContent, MatDialogRef, MatDialogTitle} from '@angular/material/dialog';\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\nimport {MatIconButton} from '@angular/material/button';\nimport {MatIcon} from '@angular/material/icon';\n\nexport interface DialogIframData {\n  url: string;\n  titulo: string;\n}\n\n@Component({\n  selector: 'mcl-dialog-iframe',\n  templateUrl: './dialog-iframe.component.html',\n  imports: [\n    MatDialogContent,\n    MatIconButton,\n    MatDialogTitle,\n    MatIcon,\n    MatDialogClose\n  ],\n  styleUrls: ['./dialog-iframe.component.scss']\n})\nexport class DialogIframeComponent implements AfterViewInit {\n\n  titulo: string;\n  url: SafeResourceUrl;\n\n  @ViewChild('iframe') iframe!: ElementRef;\n\n  constructor(\n    @Inject(MAT_DIALOG_DATA) dados: DialogIframData,\n    private dialogRef: MatDialogRef<any>,\n    sanitizer: DomSanitizer,\n  ) {\n    this.titulo = dados.titulo;\n    this.url = sanitizer.bypassSecurityTrustResourceUrl(dados.url);\n  }\n\n  ngAfterViewInit() {\n    registerDialogOnIframe(this.iframe.nativeElement, () => this.close());\n  }\n\n  private returnValue() {\n    const fraContent = this.iframe.nativeElement.contentDocument ||\n      this.iframe.nativeElement.contentWindow?.document;\n\n    if (fraContent) {\n      const divRetornoValue = fraContent.getElementById('returnValue');\n\n      if (divRetornoValue) {\n        const returnValue = divRetornoValue.innerText;\n\n        if (returnValue) {\n          return JSON.parse(returnValue);\n        }\n      }\n    }\n\n    return undefined;\n  }\n\n  close() {\n    this.dialogRef.close(this.returnValue());\n  }\n}\n\nfunction registerDialogOnIframe(iframe: any, callback: any) {\n  window.addEventListener('dialogIframeClosed', () => callback());\n}\n\nexport function closeDialogIframe(returnValue?: any) {\n  if (returnValue) {\n    const returnDiv = document.createElement('div');\n\n    returnDiv.id = 'returnValue';\n    returnDiv.innerText = JSON.stringify(returnValue);\n    returnDiv.style.display = 'none';\n\n    document.body.appendChild(returnDiv);\n  }\n\n  window.parent.dispatchEvent(new Event('dialogIframeClosed'));\n}\n","<div mat-dialog-title >\n  <h2>{{titulo}}</h2>\n  <button mat-icon-button mat-dialog-close class=\"pull-right\" tabindex=\"-1\">\n    <mat-icon>close</mat-icon>\n  </button>\n</div>\n<div mat-dialog-content>\n  <iframe #iframe width=\"560\" height=\"315\" [src]=\"url\" (close)=\"close()\" frameborder=\"0\"\n  ></iframe>\n</div>\n","import {Observable, Subject} from 'rxjs';\nimport {InjectionToken} from '@angular/core';\n\nexport const SIDEBAR_MODAL_DATA = new InjectionToken<any>('mainclass.SIDEBAR_MODAL_DATA');\n\nexport const SIDEBAR_MODAL_OPTIONS = new InjectionToken<SidebarModalOptions>('mainclass.SIDEBAR_MODAL_OPTIONS');\n\nexport interface SidebarModalOptions {\n    size?: 'small' | 'medium' | 'large' | 'auto';\n    closeable?: boolean;\n    data?: any;\n    container?: HTMLElement\n}\n\nexport class SidebarModalRef<T> {\n    private $closeSubject: Subject<T | undefined> = new Subject();\n\n    readonly size: 'small' | 'medium' | 'large' | 'auto';\n\n    constructor(options?: SidebarModalOptions) {\n        this.size = options?.size || 'auto';\n    }\n\n    afterClosed(): Observable<T | undefined> {\n        return this.$closeSubject.asObservable();\n    }\n\n    close(result?: T) {\n        this.$closeSubject.next(result);\n        this.$closeSubject.complete()\n    }\n}\n","import {Component, Inject} from '@angular/core';\nimport {SIDEBAR_MODAL_OPTIONS, SidebarModalOptions, SidebarModalRef} from '../sidebar-modal-ref';\nimport {animate, query, style, transition, trigger} from '@angular/animations';\nimport {NgClass} from '@angular/common';\n\n@Component({\n    selector: 'mcl-sidebar-modal-template',\n    imports: [\n        NgClass\n    ],\n    templateUrl: './modal-template.component.html',\n    styleUrl: './modal-template.component.scss',\n    animations: [\n        trigger('modal', [\n            transition(':enter', [\n                style({maxWidth: 0}),\n                query('.inner', style({opacity: 0})),\n                animate('200ms', style({maxWidth: 800})),\n                query('.inner', animate('200ms', style({opacity: 1}))),\n\n            ]),\n            transition(':leave', [\n                query('.inner', style({opacity: 1})),\n                style({maxWidth: 800}),\n                query('.inner', animate('200ms', style({opacity: 0}))),\n                animate('200ms', style({maxWidth: 0})),\n            ])\n        ])\n    ]\n})\nexport class ModalTemplateComponent {\n\n    constructor(\n        public modalRef: SidebarModalRef<any>,\n        @Inject(SIDEBAR_MODAL_OPTIONS) private config: SidebarModalOptions\n    ) {\n    }\n\n    get fixed(): boolean {\n        return !this.config.container;\n    }\n\n    get size() {\n        return this.config.size;\n    }\n\n    close() {\n        if (this.config.closeable || this.config.closeable === undefined) {\n            this.modalRef.close();\n        }\n    }\n}\n","  <!-- Backdrop (fora do painel). Opcional: controle de exibição via *ngIf -->\n  <div class=\"backdrop\" (click)=\"close()\"></div>\n\n<!-- Container lateral -->\n<div class=\"sidebar\" @modal [ngClass]=\"{ 'absolute': !fixed }\">\n\n  <!-- Painel interno (largura e animação) -->\n  <div class=\"inner {{size}}\">\n\n    <!-- Conteúdo projetado (outro componente injeta header/body/footer) -->\n    <ng-content select=\"br-modal-content\"></ng-content>\n  </div>\n</div>\n","import {\n  ApplicationRef,\n  createComponent,\n  createEnvironmentInjector,\n  EnvironmentInjector,\n  Injectable,\n  Injector,\n  StaticProvider\n} from '@angular/core';\nimport {EMPTY, Observable} from 'rxjs';\nimport {MatDialog} from '@angular/material/dialog';\nimport {DialogConfirmacaoComponent, DialogConfirmacaoData} from './dialog-confirmacao/dialog-confirmacao.component';\nimport {map} from 'rxjs/operators';\nimport {DialogIframeComponent} from './dialog-iframe/dialog-iframe.component';\nimport {SIDEBAR_MODAL_DATA, SIDEBAR_MODAL_OPTIONS, SidebarModalOptions, SidebarModalRef} from './dialog-sidebar/sidebar-modal-ref';\nimport {ModalTemplateComponent} from './dialog-sidebar/modal-template/modal-template.component';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class DialogService {\n\n  constructor(\n    private appRef: ApplicationRef,\n    private injector: Injector,\n    private dialog: MatDialog\n  ) {\n  }\n\n  openSidebar<T = any>(component: any, options?: SidebarModalOptions): SidebarModalRef<T> {\n    const dialogRef = new SidebarModalRef<T>(options);\n\n    const container = options?.container ?? document.body;\n\n    const providers = [\n      {\n        provide: SIDEBAR_MODAL_OPTIONS,\n        useValue: {\n          type: 'normal',\n          size: 'medium',\n          ...(options || {})\n        }\n      },\n      {provide: SIDEBAR_MODAL_DATA, useValue: options?.data},\n      {provide: SidebarModalRef, useValue: dialogRef}\n    ] as Array<StaticProvider>;\n\n    const newComponent = createComponent(component, {\n      environmentInjector: createEnvironmentInjector(\n        providers,\n        this.injector as EnvironmentInjector,\n      )\n    });\n\n    const modal = createComponent(ModalTemplateComponent, {\n      environmentInjector: createEnvironmentInjector(\n        providers,\n        this.injector as EnvironmentInjector,\n      ),\n      projectableNodes: [\n        [newComponent.location.nativeElement],\n      ],\n    });\n\n    container.appendChild(modal.location.nativeElement);\n\n    // Attach views to the changeDetection cycle\n    this.appRef.attachView(newComponent.hostView);\n    this.appRef.attachView(modal.hostView);\n\n    dialogRef.afterClosed().subscribe(async () => {\n      this.appRef.detachView(newComponent.hostView);\n      this.appRef.detachView(modal.hostView);\n\n      modal.destroy();\n      newComponent.destroy();\n\n      setTimeout(() => {\n        if (container.contains(modal.location.nativeElement)) {\n          container.removeChild(modal.location.nativeElement);\n        }\n      }, 300);\n\n    });\n\n    return dialogRef;\n  }\n\n  confirma(mensagem: string, config: {\n    icon?: string,\n    titulo?: string,\n    okLabel?: string,\n    cancelLabel?: string\n  } = {}): Observable<boolean> {\n    return this.dialog.open<DialogConfirmacaoComponent, DialogConfirmacaoData, boolean>(DialogConfirmacaoComponent, {\n      data: {\n        titulo: config.titulo || 'mcl.dialog.confirmacao',\n        mensagem,\n        okLabel: config.okLabel || 'mcl.dialog.sim',\n        cancelLabel: config.cancelLabel || 'mcl.dialog.nao'\n      }\n    }).afterClosed().pipe(map(result => !!result));\n  }\n\n  informa(mensagem: string, config: {\n    icon?: string,\n    titulo?: string,\n    okLabel?: string\n  } = {}): Observable<boolean> {\n    return this.dialog.open<DialogConfirmacaoComponent, DialogConfirmacaoData, boolean>(DialogConfirmacaoComponent, {\n      data: {\n        titulo: config.titulo || 'mcl.dialog.informacao',\n        mensagem,\n        okLabel: config.okLabel || 'mcl.dialog.ok',\n      }\n    }).afterClosed().pipe(map(result => !!result));\n  }\n\n  iframe(url: string, titulo: string): Observable<any> {\n    if (!!window.parent && window.parent !== window) {\n      window.location.href = url;\n      return EMPTY;\n    } else {\n      return this.dialog.open(DialogIframeComponent, {\n        data: {\n          titulo,\n          url,\n        },\n        panelClass: 'dialog-frame',\n      }).afterClosed();\n    }\n  }\n}\n","import {Component, TemplateRef} from '@angular/core';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {ModalTemplateComponent} from './modal-template/modal-template.component';\n\n@Component({\n  selector: 'mcl-modal',\n    imports: [\n        ModalTemplateComponent,\n        NgTemplateOutlet\n    ],\n  templateUrl: './modal.component.html',\n  styleUrl: './modal.component.scss'\n})\nexport class ModalComponent {\n\n    constructor(\n        public template: TemplateRef<any>\n    ){}\n\n}\n","<mcl-sidebar-modal-template>\n    <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n</mcl-sidebar-modal-template>\n","import {Directive, HostListener} from '@angular/core';\nimport {SidebarModalRef} from '../sidebar-modal-ref';\n\n@Directive({\n  selector: '[mclSidebarModalClose]',\n})\nexport class ModalCloseDirective {\n\n  constructor(\n      private modalRef: SidebarModalRef<any>\n  ) {\n  }\n\n  @HostListener('click')\n  onClick() {\n    this.modalRef.close();\n  }\n\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n  selector: '[mclSidebarModalFooter]',\n  host: {\n    '[style.display]': '\"flex\"',\n    '[style.gap]': '\"8px\"',\n    '[style.justifyContent]': '\"flex-end\"',\n    '[style.padding]': '\"12px 16px\"',\n    '[style.borderTop]': '\"1px solid var(--mt-border)\"',\n    '[style.background]': '\"var(--mt-bg)\"',\n    '[style.color]': '\"var(--mt-fg)\"'\n  }\n})\nexport class ModalFooterDirective {\n\n  constructor() { }\n\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n  selector: '[mclSidebarModalHeader]',\n  host: {\n    '[style.display]': '\"flex\"',\n    '[style.alignItems]': '\"center\"',\n    '[style.gap]': '\"8px\"',\n    '[style.padding]': '\"16px\"',\n    '[style.borderBottom]': '\"1px solid var(--mt-border)\"',\n    '[style.background]': ' \"var(--mt-bg)\"',\n    '[style.color]': '\"var(--mt-fg)\"'\n  }\n})\nexport class ModalHeaderDirective {\n\n  constructor() { }\n\n}\n","import {Directive, Inject} from '@angular/core';\nimport {SIDEBAR_MODAL_OPTIONS, SidebarModalOptions} from '../sidebar-modal-ref';\n\n@Directive({\n  selector: '[mclSidebarModalBody]',\n  host: {\n    '[style.display]': '\"grid\"',\n    '[style.gap]': '\"12px\"',\n    '[style.minHeight]': '\"0\"',\n    '[style.overflow]': '\"auto\"',\n    '[style.padding]': '\"16px\"',\n    '[style.background]': '\"var(--mt-bg)\"',\n    '[style.color]': '\"var(--mt-fg)\"'\n  }\n})\nexport class ModalBodyDirective {\n\n  constructor(\n      @Inject(SIDEBAR_MODAL_OPTIONS) private config: SidebarModalOptions\n  ) {\n  }\n\n  get size() {\n    return this.config.size;\n  }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1.SidebarModalRef"],"mappings":"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"}