{"version":3,"file":"sq-ui-ng-modal.mjs","sources":["../../../projects/ng-modal/src/lib/modal/modal.component.ts","../../../projects/ng-modal/src/lib/modal/modal.component.html","../../../projects/ng-modal/src/lib/ng-modal.module.ts","../../../projects/ng-modal/src/index.ts","../../../projects/ng-modal/src/sq-ui-ng-modal.ts"],"sourcesContent":["import {\r\n  Component, ViewEncapsulation, Input,\r\n  Output, EventEmitter, ViewChild, OnChanges,\r\n  Renderer2, ElementRef, SimpleChanges\r\n} from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'sq-modal',\r\n  templateUrl: './modal.component.html',\r\n  styleUrls: ['./modal.component.scss'],\r\n  encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ModalComponent implements OnChanges {\r\n  @Input() show: boolean = false;\r\n  @Output() showChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n  @Input() customCssAnimation: {\r\n    duration: number,\r\n    entranceAnimation: string,\r\n    exitAnimation: string\r\n  } = {\r\n    duration: 0,\r\n    entranceAnimation: '',\r\n    exitAnimation: ''\r\n  };\r\n\r\n  @ViewChild('sqModal') private sqModal: ElementRef;\r\n  @ViewChild('sqModalWindow') private sqModalWindow: ElementRef;\r\n\r\n  listenForOutsideClick: boolean = false;\r\n\r\n  constructor(private renderer: Renderer2) { }\r\n\r\n  ngOnChanges(changesObj: SimpleChanges) {\r\n    if (changesObj.show && this.sqModalWindow) {\r\n      const entranceAnimationClass = this.customCssAnimation.entranceAnimation || 'fadeInDown';\r\n      const exitAnimationClass = this.customCssAnimation.exitAnimation || 'fadeOutUp';\r\n      const animationDuration = this.customCssAnimation.duration || 500;\r\n\r\n      if (changesObj.show.currentValue === true) {\r\n        this.renderer.removeClass(this.sqModal.nativeElement, 'display-none');\r\n        this.renderer.addClass(this.sqModalWindow.nativeElement, entranceAnimationClass);\r\n\r\n        setTimeout(() => {\r\n          this.renderer.removeClass(this.sqModalWindow.nativeElement, entranceAnimationClass);\r\n          this.listenForOutsideClick = true;\r\n        }, animationDuration);\r\n      } else {\r\n        this.renderer.addClass(this.sqModalWindow.nativeElement, exitAnimationClass);\r\n\r\n        setTimeout(() => {\r\n          this.renderer.addClass(this.sqModal.nativeElement, 'display-none');\r\n          this.renderer.removeClass(this.sqModalWindow.nativeElement, exitAnimationClass);\r\n          this.listenForOutsideClick = false;\r\n        }, animationDuration);\r\n      }\r\n    }\r\n  }\r\n\r\n  close() {\r\n    this.show = false;\r\n    this.showChange.emit(false);\r\n  }\r\n\r\n  open() {\r\n    this.show = true;\r\n    this.showChange.emit(true);\r\n  }\r\n\r\n  onClickOutsideComponent() {\r\n    this.listenForOutsideClick = false;\r\n    this.close();\r\n  }\r\n\r\n}\r\n","<div class=\"modal-cover display-none\" #sqModal>\r\n  <article #sqModalWindow\r\n           class=\"modal-window animated\"\r\n           sqOutsideClickListener\r\n           [listenForOutsideClick]=\"listenForOutsideClick\"\r\n           (clickOutside)=\"onClickOutsideComponent()\">\r\n    <header class=\"modal-header-wrapper display-flex space-between align-items-center\">\r\n      <div class=\"modal-title\">\r\n        <ng-content select=\"[sq-modal-title]\"></ng-content>\r\n      </div>\r\n\r\n      <span class=\"close\" (click)=\"close()\">\r\n          <i class=\"fas fa-times\" aria-hidden=\"true\"></i>\r\n      </span>\r\n    </header>\r\n\r\n    <div class=\"content\">\r\n      <ng-content select=\"[sq-modal-body]\"></ng-content>\r\n    </div>\r\n\r\n    <footer class=\"modal-footer\">\r\n      <ng-content select=\"[sq-modal-footer]\"></ng-content>\r\n    </footer>\r\n  </article>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgSqCommonModule } from '@sq-ui/ng-sq-common';\r\nimport { ModalComponent } from './modal/modal.component';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    NgSqCommonModule\r\n  ],\r\n  declarations: [ModalComponent],\r\n  exports: [ModalComponent]\r\n})\r\nexport class NgModalModule { }\r\n","/*\r\n * Public API Surface of ng-modal\r\n */\r\nexport { ModalComponent } from './lib/modal/modal.component';\r\nexport * from './lib/ng-modal.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}