{"version":3,"file":"axulus-uikit-lightbox.mjs","sources":["../../src/app/components/lightbox/lightbox.ts","../../src/app/components/lightbox/axulus-uikit-lightbox.ts"],"sourcesContent":["import {\n  NgModule,\n  Component,\n  ElementRef,\n  Input,\n  Renderer2,\n  AfterViewInit,\n  OnDestroy,\n  ChangeDetectorRef,\n  ChangeDetectionStrategy,\n  ViewEncapsulation\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from '@axulus/uikit/dom';\n\n@Component({\n  selector: 'p-lightbox',\n  template: `\n    <div [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"type == 'image'\">\n      <a *ngFor=\"let image of images; let i = index\" [href]=\"image.source\" (click)=\"onImageClick($event, image, i, content)\">\n        <img [src]=\"image.thumbnail\" [title]=\"image.title\" [alt]=\"image.alt\" />\n      </a>\n    </div>\n    <span [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"type == 'content'\" (click)=\"onLinkClick($event, content)\">\n      <ng-content select=\"a\"></ng-content>\n    </span>\n    <div\n      class=\"ui-lightbox ui-widget ui-corner-all ui-shadow\"\n      [style.display]=\"visible ? 'block' : 'none'\"\n      [style.zIndex]=\"zindex\"\n      [ngClass]=\"{ 'ui-lightbox-loading': loading }\"\n      [style.transitionProperty]=\"'all'\"\n      [style.transitionDuration]=\"effectDuration\"\n      [style.transitionTimingFunction]=\"easing\"\n      (click)=\"preventDocumentClickListener = true\"\n    >\n      <div class=\"ui-lightbox-content-wrapper\">\n        <a\n          class=\"ui-state-default ui-lightbox-nav-left ui-corner-right\"\n          [style.zIndex]=\"zindex + 1\"\n          (click)=\"prev(img)\"\n          [ngClass]=\"{ 'ui-helper-hidden': !leftVisible }\"\n          ><span class=\"ui-lightbox-nav-icon pi pi-chevron-left\"></span\n        ></a>\n        <div\n          #content\n          class=\"ui-lightbox-content ui-corner-all\"\n          [style.transitionProperty]=\"'width,height'\"\n          [style.transitionDuration]=\"effectDuration\"\n          [style.transitionTimingFunction]=\"easing\"\n        >\n          <img #img [src]=\"currentImage ? currentImage.source || '' : ''\" (load)=\"onImageLoad($event, content)\" style=\"display:none\" />\n          <ng-content></ng-content>\n        </div>\n        <a\n          class=\"ui-state-default ui-lightbox-nav-right ui-corner-left ui-helper-hidden\"\n          [style.zIndex]=\"zindex + 1\"\n          (click)=\"next(img)\"\n          [ngClass]=\"{ 'ui-helper-hidden': !rightVisible }\"\n          ><span class=\"ui-lightbox-nav-icon pi pi-chevron-right\"></span\n        ></a>\n      </div>\n      <div class=\"ui-lightbox-caption ui-widget-header\" [style.display]=\"captionText ? 'block' : 'none'\">\n        <span class=\"ui-lightbox-caption-text\">{{ captionText }}</span\n        ><a class=\"ui-lightbox-close ui-corner-all\" tabindex=\"0\" (click)=\"hide($event)\" (keydown.enter)=\"hide($event)\"\n          ><span class=\"pi pi-times\"></span\n        ></a>\n        <div style=\"clear:both\"></div>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.Default,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: ['./lightbox.css', '../dialog/dialog.css'],\n  host: {\n    class: 'p-element'\n  }\n})\nexport class Lightbox implements AfterViewInit, OnDestroy {\n  @Input() images: any[];\n\n  @Input() type: string = 'image';\n\n  @Input() style: any;\n\n  @Input() styleClass: string;\n\n  @Input() appendTo: any;\n\n  @Input() easing: 'ease-out';\n\n  @Input() effectDuration: any = '500ms';\n\n  @Input() autoZIndex: boolean = true;\n\n  @Input() baseZIndex: number = 0;\n\n  @Input() closeOnEscape: boolean = true;\n\n  public visible: boolean;\n\n  public loading: boolean;\n\n  public currentImage: any;\n\n  public captionText: string;\n\n  public zindex: any;\n\n  public panel: any;\n\n  public index: number;\n\n  public mask: any;\n\n  public preventDocumentClickListener: boolean;\n\n  public documentClickListener: any;\n\n  public documentEscapeListener: any;\n\n  constructor(public el: ElementRef, public renderer: Renderer2, private cd: ChangeDetectorRef) {}\n\n  onImageClick(event, image, i, content) {\n    this.index = i;\n    this.loading = true;\n    content.style.width = 32 + 'px';\n    content.style.height = 32 + 'px';\n    this.preventDocumentClickListener = true;\n    this.show();\n    this.displayImage(image);\n    event.preventDefault();\n  }\n\n  ngAfterViewInit() {\n    this.panel = DomHandler.findSingle(this.el.nativeElement, '.ui-lightbox ');\n\n    if (this.appendTo) {\n      if (this.appendTo === 'body') document.body.appendChild(this.panel);\n      else DomHandler.appendChild(this.panel, this.appendTo);\n    }\n  }\n\n  onLinkClick(event, content) {\n    this.preventDocumentClickListener = true;\n    this.show();\n    event.preventDefault();\n  }\n\n  displayImage(image) {\n    setTimeout(() => {\n      this.cd.markForCheck();\n      this.currentImage = image;\n      this.captionText = image.title;\n      this.center();\n    }, 1000);\n  }\n\n  show() {\n    this.mask = document.createElement('div');\n\n    DomHandler.addMultipleClasses(this.mask, 'ui-widget-overlay ui-dialog-mask');\n    document.body.appendChild(this.mask);\n    if (this.autoZIndex) {\n      this.zindex = this.baseZIndex + ++DomHandler.zindex;\n    }\n    this.mask.style.zIndex = this.zindex - 1;\n    this.center();\n    this.visible = true;\n    this.bindGlobalListeners();\n  }\n\n  hide(event) {\n    this.captionText = null;\n    this.index = null;\n    this.currentImage = null;\n    this.visible = false;\n\n    if (this.mask) {\n      document.body.removeChild(this.mask);\n      this.mask = null;\n    }\n\n    this.unbindGlobalListeners();\n    event.preventDefault();\n  }\n\n  center() {\n    let elementWidth = DomHandler.getOuterWidth(this.panel);\n    let elementHeight = DomHandler.getOuterHeight(this.panel);\n    if (elementWidth == 0 && elementHeight == 0) {\n      this.panel.style.visibility = 'hidden';\n      this.panel.style.display = 'block';\n      elementWidth = DomHandler.getOuterWidth(this.panel);\n      elementHeight = DomHandler.getOuterHeight(this.panel);\n      this.panel.style.display = 'none';\n      this.panel.style.visibility = 'visible';\n    }\n  }\n\n  onImageLoad(event, content) {\n    let image = event.target;\n    image.style.visibility = 'hidden';\n    image.style.display = 'block';\n    let imageWidth = DomHandler.getOuterWidth(image);\n    let imageHeight = DomHandler.getOuterHeight(image);\n    image.style.display = 'none';\n    image.style.visibility = 'visible';\n\n    content.style.width = imageWidth + 'px';\n    content.style.height = imageHeight + 'px';\n    this.panel.style.left = parseInt(this.panel.style.left) + (DomHandler.getOuterWidth(this.panel) - imageWidth) / 2 + 'px';\n    this.panel.style.top = parseInt(this.panel.style.top) + (DomHandler.getOuterHeight(this.panel) - imageHeight) / 2 + 'px';\n\n    setTimeout(() => {\n      this.cd.markForCheck();\n      DomHandler.fadeIn(image, 500);\n      image.style.display = 'block';\n      //this.captionText = this.currentImage.title;\n      this.loading = false;\n    }, parseInt(this.effectDuration));\n  }\n\n  prev(placeholder: any) {\n    this.captionText = null;\n    this.loading = true;\n    placeholder.style.display = 'none';\n    if (this.index > 0) {\n      this.displayImage(this.images[--this.index]);\n    }\n  }\n\n  next(placeholder: any) {\n    this.captionText = null;\n    this.loading = true;\n    placeholder.style.display = 'none';\n    if (this.index <= this.images.length - 1) {\n      this.displayImage(this.images[++this.index]);\n    }\n  }\n\n  bindGlobalListeners() {\n    const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n    this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {\n      if (!this.preventDocumentClickListener && this.visible) {\n        this.hide(event);\n      }\n      this.preventDocumentClickListener = false;\n      this.cd.markForCheck();\n    });\n    if (this.closeOnEscape && !this.documentEscapeListener) {\n      this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n        if (event.which == 27) {\n          if (parseInt(this.panel.style.zIndex) === DomHandler.zindex + this.baseZIndex) {\n            this.hide(event);\n          }\n        }\n      });\n    }\n  }\n\n  unbindGlobalListeners() {\n    if (this.documentEscapeListener) {\n      this.documentEscapeListener();\n      this.documentEscapeListener = null;\n    }\n\n    if (this.documentClickListener) {\n      this.documentClickListener();\n      this.documentClickListener = null;\n    }\n  }\n\n  get leftVisible(): boolean {\n    return this.images && this.images.length && this.index != 0 && !this.loading;\n  }\n\n  get rightVisible(): boolean {\n    return this.images && this.images.length && this.index < this.images.length - 1 && !this.loading;\n  }\n\n  ngOnDestroy() {\n    this.unbindGlobalListeners();\n\n    if (this.appendTo) {\n      this.el.nativeElement.appendChild(this.panel);\n    }\n  }\n}\n\n@NgModule({\n  imports: [CommonModule],\n  exports: [Lightbox],\n  declarations: [Lightbox]\n})\nexport class LightboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}