{"version":3,"file":"novo-elements-elements-modal.mjs","sources":["../../../projects/novo-elements/src/elements/modal/modal-ref.ts","../../../projects/novo-elements/src/elements/modal/modal.animation.ts","../../../projects/novo-elements/src/elements/modal/modal-container.component.ts","../../../projects/novo-elements/src/elements/modal/modal-container.component.html","../../../projects/novo-elements/src/elements/modal/modal.component.ts","../../../projects/novo-elements/src/elements/modal/modal.service.ts","../../../projects/novo-elements/src/elements/modal/modal.module.ts","../../../projects/novo-elements/src/elements/modal/novo-elements-elements-modal.ts"],"sourcesContent":["import { OverlayRef } from '@angular/cdk/overlay';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { NovoModalContainerComponent } from './modal-container.component';\n\n/**\n * Params that can be passed to the Modal\n */\n\nexport interface ModalParams {\n  [propName: string]: any;\n}\nexport class NovoModalParams implements ModalParams {}\n\nexport class NovoModalRef<T = any, R = any> {\n  constructor(public component: any, public params: T, private overlayRef: OverlayRef) {}\n\n  private _beforeClose = new Subject<R>();\n  private _afterClosed = new Subject<R>();\n\n  componentInstance: NovoModalContainerComponent;\n  isClosed: boolean = false;\n\n  // Gets a promise that is resolved when the dialog is closed.\n  get onClosed(): Promise<R> {\n    return this._afterClosed.toPromise();\n  }\n\n  afterClosed(): Observable<R> {\n    return this._afterClosed.asObservable();\n  }\n\n  beforeClose(): Observable<R> {\n    return this._beforeClose.asObservable();\n  }\n\n  close(result?: R): void {\n    // Listen for animation 'start' events\n    this.componentInstance.animationStateChanged\n      .pipe(\n        filter((event) => event.phaseName === 'start'),\n        take(1),\n      )\n      .subscribe(() => {\n        this._beforeClose.next(result);\n        this._beforeClose.complete();\n        this.overlayRef.detachBackdrop();\n      });\n\n    // Listen for animation 'done' events\n    this.componentInstance.animationStateChanged\n      .pipe(\n        filter((event) => event.phaseName === 'done' && event.toState === 'leave'),\n        take(1),\n      )\n      .subscribe(() => {\n        this.isClosed = true;\n        this.overlayRef.dispose();\n        this._afterClosed.next(result);\n        this._afterClosed.complete();\n        // Make sure to also clear the reference to the\n        // component instance to avoid memory leaks\n        this.componentInstance = null;\n      });\n\n    // Start exit animation\n    this.componentInstance.startExitAnimation();\n  }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const zoomInOut = trigger('zoomInOut', [\n  transition('void => *', [style({ transform: 'scale3d(.3, .3, .3)' }), animate(50)]),\n  transition('* => void', [animate(50, style({ transform: 'scale3d(.0, .0, .0)' }))]),\n]);\n","import { AnimationEvent } from '@angular/animations';\nimport { ComponentPortal, Portal } from '@angular/cdk/portal';\nimport { Component, EventEmitter, HostBinding, Injector, Output } from '@angular/core';\nimport { NovoModalRef } from './modal-ref';\nimport { zoomInOut } from './modal.animation';\n\n@Component({\n    selector: 'novo-modal-container',\n    templateUrl: './modal-container.component.html',\n    styleUrls: ['./modal-container.component.scss'],\n    animations: [zoomInOut],\n    standalone: false,\n})\nexport class NovoModalContainerComponent {\n  @Output() animationStateChanged = new EventEmitter<AnimationEvent>();\n  animationState: 'void' | 'enter' | 'leave' = 'enter';\n  component: Portal<any>;\n  initTimestamp = Date.now();\n  @HostBinding('id') id = `modal-container-${this.initTimestamp}`;\n\n  constructor(private injector: Injector, private modalRef: NovoModalRef) {\n    this.component = new ComponentPortal(modalRef.component, null, injector);\n  }\n\n  onAnimationStart(event: AnimationEvent) {\n    this.animationStateChanged.emit(event);\n  }\n\n  onAnimationDone(event: AnimationEvent) {\n    this.animationStateChanged.emit(event);\n  }\n\n  startExitAnimation() {\n    this.animationState = 'leave';\n  }\n}\n","<div class=\"modal-container\"\n     [@zoomInOut]=\"animationState\"\n     (@zoomInOut.start)=\"onAnimationStart($event)\"\n     (@zoomInOut.done)=\"onAnimationDone($event)\">\n  <ng-template [cdkPortalOutlet]=\"component\"></ng-template>\n</div>","// NG2\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NovoModalRef } from './modal-ref';\n\n@Component({\n    selector: 'novo-modal',\n    template: `\n    <ng-content select=\"header,novo-header,novo-card-header\"></ng-content>\n    <ng-content select=\"section,novo-card-content\"></ng-content>\n    <footer class=\"novo-modal-footer\"><ng-content select=\"button,novo-button\"></ng-content></footer>\n  `,\n    styleUrls: ['./modal.component.scss'],\n    host: {\n        class: 'novo-modal',\n    },\n    standalone: false,\n})\nexport class NovoModalElement {\n  constructor(private modalRef: NovoModalRef) {}\n}\n\n@Component({\n    selector: 'novo-notification',\n    template: `\n    <novo-button class=\"modal-close\" theme=\"icon\" icon=\"x\" (click)=\"close()\"></novo-button>\n    <header class=\"novo-notification-header\"><ng-content select=\"label,novo-label\"></ng-content></header>\n    <section class=\"novo-notification-body notification-body\">\n      <i class=\"indicator\" [ngClass]=\"iconType\" *ngIf=\"iconType\"></i>\n      <ng-content select=\"h1\"></ng-content>\n      <ng-content select=\"h2\"></ng-content>\n      <ng-content select=\"p\"></ng-content>\n    </section>\n    <footer class=\"novo-notification-footer\"><ng-content select=\"button,novo-button,novo-dropdown\"></ng-content></footer>\n  `,\n    styleUrls: ['./notification.component.scss'],\n    host: {\n        class: 'novo-notification',\n    },\n    standalone: false,\n})\nexport class NovoModalNotificationElement implements OnInit {\n  @Input()\n  type: string;\n  @Input()\n  icon: string;\n\n  @Output()\n  cancel: EventEmitter<any> = new EventEmitter();\n\n  iconType: string;\n\n  constructor(private modalRef: NovoModalRef) {\n    this.modalRef = modalRef;\n  }\n\n  close() {\n    this.cancel.emit();\n    this.modalRef.close();\n  }\n\n  ngOnInit() {\n    switch (this.type) {\n      case 'success':\n        this.iconType = 'bhi-check';\n        break;\n      case 'warning':\n        this.iconType = 'bhi-caution-o';\n        break;\n      case 'error':\n        this.iconType = 'bhi-caution-o';\n        break;\n      case 'custom':\n        this.iconType = `bhi-${this.icon}`;\n        break;\n      default:\n        break;\n    }\n  }\n}\n","// NG2\nimport { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, ViewContainerRef } from '@angular/core';\nimport { NovoModalContainerComponent } from './modal-container.component';\n// APP\nimport { NovoModalParams, NovoModalRef } from './modal-ref';\n\ninterface ModalConfig {\n  panelClass?: string;\n  hasBackdrop?: boolean;\n  backdropClass?: string;\n}\n\nconst DEFAULT_CONFIG: ModalConfig = {\n  hasBackdrop: true,\n  backdropClass: 'modal-overlay-backdrop',\n  panelClass: 'modal-overlay-panel',\n};\n\n@Injectable({ providedIn: 'root' })\nexport class NovoModalService {\n  _parentViewContainer: ViewContainerRef;\n  overlayRef: OverlayRef;\n\n  set parentViewContainer(view: ViewContainerRef) {\n    console.warn('parentViewContainer is deprecated');\n    this._parentViewContainer = view;\n  }\n\n  constructor(private injector: Injector, private overlay: Overlay) {}\n\n  open<T extends Record<string, any>>(component, params: Partial<T> = {}) {\n    // Override default configuration\n    const modalConfig = DEFAULT_CONFIG;\n\n    // Returns an OverlayRef which is a PortalHost\n    const overlayRef = this.createOverlay(modalConfig);\n    this.overlayRef = overlayRef;\n\n    // Instantiate remote control\n    const modalRef = new NovoModalRef<typeof params>(component, params, overlayRef);\n\n    const overlayComponent = this.attachModalContainer(NovoModalContainerComponent, overlayRef, modalConfig, modalRef);\n\n    // Pass the instance of the overlay component to the remote control\n    modalRef.componentInstance = overlayComponent;\n\n    overlayRef.backdropClick().subscribe(() => modalRef.close());\n\n    return modalRef;\n  }\n\n  private createOverlay(config: ModalConfig) {\n    const overlayConfig = this.getOverlayConfig(config);\n    return this.overlay.create(overlayConfig);\n  }\n\n  private attachModalContainer(component, overlayRef: OverlayRef, config: ModalConfig, modalRef: NovoModalRef) {\n    const injector = this.createInjector(config, modalRef);\n    const containerPortal = new ComponentPortal(component, null, injector);\n    const containerRef: ComponentRef<any> = overlayRef.attach(containerPortal);\n\n    return containerRef.instance;\n  }\n\n  private createInjector(config: ModalConfig, modalRef: NovoModalRef): Injector {\n    return Injector.create({\n      parent: this.injector,\n      providers: [\n        { provide: NovoModalRef, useValue: modalRef },\n        // Support backwards compatability\n        { provide: NovoModalParams, useValue: modalRef.params },\n      ],\n    });\n  }\n\n  private getOverlayConfig(config: ModalConfig): OverlayConfig {\n    const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();\n\n    const overlayConfig = new OverlayConfig({\n      positionStrategy,\n      hasBackdrop: config.hasBackdrop,\n      backdropClass: config.backdropClass,\n      panelClass: config.panelClass,\n    });\n\n    return overlayConfig;\n  }\n}\n","// NG2\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoModalContainerComponent } from './modal-container.component';\nimport { NovoModalElement, NovoModalNotificationElement } from './modal.component';\nimport { NovoModalService } from './modal.service';\n\n@NgModule({\n  imports: [OverlayModule, PortalModule, CommonModule, NovoButtonModule],\n  declarations: [NovoModalContainerComponent, NovoModalElement, NovoModalNotificationElement],\n  exports: [NovoModalElement, NovoModalNotificationElement],\n  providers: [NovoModalService],\n})\nexport class NovoModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoModalRef","i2"],"mappings":"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"}