{"version":3,"file":"angular2_photoswipe.mjs","sources":["../../../projects/angular2_photoswipe/src/lib/angular2-photoswipe.service.ts","../../../projects/angular2_photoswipe/src/lib/angular2-photoswipe.component.ts","../../../projects/angular2_photoswipe/src/lib/ngp.service.ts","../../../projects/angular2_photoswipe/src/lib/lightbox/lightbox.component.ts","../../../projects/angular2_photoswipe/src/lib/lightbox/lightbox.component.html","../../../projects/angular2_photoswipe/src/lib/lightbox-adapter.ts","../../../projects/angular2_photoswipe/src/lib/gallery-item/gallery-item.component.ts","../../../projects/angular2_photoswipe/src/lib/gallery-item/gallery-item.component.html","../../../projects/angular2_photoswipe/src/lib/gallery/gallery.util.ts","../../../projects/angular2_photoswipe/src/lib/gallery/gallery.component.ts","../../../projects/angular2_photoswipe/src/lib/gallery/gallery.component.html","../../../projects/angular2_photoswipe/src/lib/angular2-photoswipe.module.ts","../../../projects/angular2_photoswipe/src/lib/image.ts","../../../projects/angular2_photoswipe/src/public_api.ts","../../../projects/angular2_photoswipe/src/angular2_photoswipe.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class Angular2PhotoswipeService {\n\n  constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'ngp-angular2-photoswipe',\n  template: `\n    <p>\n      angular2-photoswipe works!\n    </p>\n  `,\n  styles: []\n})\nexport class Angular2PhotoswipeComponent implements OnInit {\n\n  constructor() { }\n\n  ngOnInit() {\n  }\n\n}\n","import { Injectable, ElementRef } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class NgpService {\n  LightboxElement: ElementRef;\n}\n","import { Component, ViewChild, ElementRef, AfterContentInit } from '@angular/core';\nimport { NgpService } from '../ngp.service';\n\n@Component({\n  selector: 'ngp-lightbox',\n  templateUrl: './lightbox.component.html',\n  styleUrls: ['./lightbox.component.scss']\n})\nexport class LightboxComponent implements AfterContentInit {\n\n  @ViewChild('ngpLightbox', {static: true}) el: ElementRef;\n  constructor(private ngp: NgpService) {\n  }\n\n  ngAfterContentInit() {\n    this.ngp.LightboxElement = this.el;\n  }\n\n}\n","<!-- Root element of PhotoSwipe. Must have class pswp. -->\n<div class=\"pswp\" #ngpLightbox tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n    <!-- Background of PhotoSwipe.\n         It's a separate element, as animating opacity is faster than rgba(). -->\n    <div class=\"pswp__bg\"></div>\n    <!-- Slides wrapper with overflow:hidden. -->\n    <div class=\"pswp__scroll-wrap\">\n        <!-- Container that holds slides. PhotoSwipe keeps only 3 slides in DOM to save memory. -->\n        <!-- don't modify these 3 pswp__item elements, data is added later on. -->\n        <div class=\"pswp__container\">\n            <div class=\"pswp__item\"></div>\n            <div class=\"pswp__item\"></div>\n            <div class=\"pswp__item\"></div>\n        </div>\n        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->\n        <div class=\"pswp__ui pswp__ui--hidden\">\n            <div class=\"pswp__top-bar\">\n                <!--  Controls are self-explanatory. Order can be changed. -->\n                <div class=\"pswp__counter\"></div>\n                <button class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"></button>\n                <button class=\"pswp__button pswp__button--share\" title=\"Share\"></button>\n                <button class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"></button>\n                <button class=\"pswp__button pswp__button--zoom\" title=\"Zoom in/out\"></button>\n                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->\n                <!-- element will get class pswp__preloader--active when preloader is running -->\n                <div class=\"pswp__preloader\">\n                    <div class=\"pswp__preloader__icn\">\n                        <div class=\"pswp__preloader__cut\">\n                            <div class=\"pswp__preloader__donut\"></div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n            <div class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\">\n                <div class=\"pswp__share-tooltip\"></div>\n            </div>\n            <button class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\">\n            </button>\n            <button class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\">\n            </button>\n            <div class=\"pswp__caption\">\n                <div class=\"pswp__caption__center\"></div>\n            </div>\n        </div>\n    </div>\n</div>","import { LightboxOptions, LightboxMethods, ShareButton, CustomOptions } from './lightbox-options';\nimport { Injectable } from '@angular/core';\n\nexport function ANGULAR2_PHOTO_SWIPE_FACTORY() {\n    return new DefaultLightboxAdapter();\n}\n\n@Injectable({ providedIn: 'root', useFactory: ANGULAR2_PHOTO_SWIPE_FACTORY })\nexport abstract class LightboxAdapter implements LightboxOptions, LightboxMethods, CustomOptions {\n    getThumbBoundsFn: Function;\n    getDoubleTapZoom: Function;\n    isClickableElement: Function;\n    addCaptionHTMLFn: Function;\n\n    index: number;\n    showHideOpacity: boolean;\n    showAnimationDuration: number;\n    hideAnimationDuration: number;\n    bgOpacity: number;\n    spacing: number;\n    allowPanToNext: boolean;\n    maxSpreadZoom: number;\n    loop: boolean;\n    pinchToClose: boolean;\n    closeOnScroll: boolean;\n    closeOnVerticalDrag: boolean;\n    mouseUsed: boolean;\n    escKey: boolean;\n    arrowKeys: boolean;\n    history: boolean;\n    galleryUID: number;\n    galleryPIDs: boolean;\n    errorMsg: string;\n    barsSize: Object;\n    timeToIdle: number;\n    timeToIdleOutside: number;\n    loadingIndicatorDelay: number;\n    closeEl: boolean;\n    captionEl: boolean;\n    fullscreenEl: boolean;\n    zoomEl: boolean;\n    shareEl: boolean;\n    counterEl: boolean;\n    arrowEl: boolean;\n    preloaderEl: boolean;\n    tapToClose: boolean;\n    tapToToggleControls: boolean;\n    clickToCloseNonZoomable: boolean;\n    closeElClasses: string[];\n    indexIndicatorSep: string;\n    shareButtons: ShareButton[];\n    enableBootstrap4: boolean;\n}\n\n@Injectable()\nexport class DefaultLightboxAdapter extends LightboxAdapter {\n    allowPanToNext = true;\n    spacing = 0.12;\n    bgOpacity = 1.0;\n    mouseUsed = false;\n    loop = true;\n    pinchToClose = true;\n    closeOnScroll = true;\n    closeOnVerticalDrag = true;\n    hideAnimationDuration = 333;\n    showAnimationDuration = 333;\n    showHideOpacity = false;\n    escKey = true;\n    arrowKeys = true;\n    enableBootstrap4: false;\n}\n","import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core';\nimport { Image } from '../image';\nimport { LightboxAdapter } from '../lightbox-adapter';\n\n@Component({\n  selector: 'ngp-gallery-item',\n  templateUrl: './gallery-item.component.html',\n  styleUrls: ['./gallery-item.component.css']\n})\nexport class GalleryItemComponent {\n\n  @Input() image: Image;\n  @Output() clicked = new EventEmitter<Image>();\n  @HostBinding('class.card') isBootstrapEnabled: boolean = false;\n\n  constructor(private adapter: LightboxAdapter) {\n    this.isBootstrapEnabled = this.adapter.enableBootstrap4;\n  }\n\n  public onClick() {\n    this.clicked.emit(this.image);\n    return false;\n  }\n\n}\n","<a href=\"{{image.largeUrl}}\" itemprop=\"contentUrl\" [attr.data-size]=\"image.width + 'x' + image.height\"\n    [attr.data-author]=\"image.author\" (click)=\"onClick()\">\n    <img src=\"{{image.thumbUrl}}\" [ngClass]=\"{'card-img-top': isBootstrapEnabled }\"  itemprop=\"thumbnail\" alt=\"{{image.description}}\" />\n</a>","export function debounce(delay: number = 300): MethodDecorator {\n  return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n    const timeoutKey = Symbol();\n\n    const original = descriptor.value;\n\n    descriptor.value = function (...args) {\n      clearTimeout(this[timeoutKey]);\n      this[timeoutKey] = setTimeout(() => original.apply(this, args), delay);\n    };\n\n    return descriptor;\n  };\n}\n\nexport class Dimension {\n  width: number;\n  height: number;\n}\n","import {\n  Component,\n  ContentChildren,\n  AfterContentInit,\n  QueryList,\n  ViewChild,\n  ElementRef,\n  OnDestroy,\n  EventEmitter,\n  Input,\n  Output,\n  HostListener\n} from '@angular/core';\nimport PhotoSwipe from 'photoswipe';\nimport PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default';\n\nimport { GalleryItemComponent } from '../gallery-item/gallery-item.component';\nimport { Image } from '../image';\nimport { NgpService } from '../ngp.service';\nimport { Subscription } from 'rxjs';\n\nimport { LightboxAdapter } from '../lightbox-adapter';\nimport {debounce, Dimension} from './gallery.util';\n\n@Component({\n  selector: 'a2p-gallery',\n  templateUrl: './gallery.component.html',\n  styleUrls: ['./gallery.component.css']\n})\nexport class GalleryComponent implements AfterContentInit, OnDestroy {\n\n  @ViewChild('ngpGallery', { static: true }) galleryElement: ElementRef<HTMLDivElement>;\n  @ContentChildren(GalleryItemComponent) galleryItems: QueryList<GalleryItemComponent>;\n  @Input() galleryId: string;\n  @Input() autoFill = false;\n  @Output() shareLinkClick: EventEmitter<{ e: Event, target: HTMLElement }> = new EventEmitter();\n  private innerWidth: number;\n  private innerHeight: number;\n\n  subscriptions: Subscription[] = [];\n  isBootstrapEnabled: boolean;\n  pswp: PhotoSwipe<any>;\n\n  images: Image[];\n\n  constructor(private ngp: NgpService, private adapter: LightboxAdapter) {\n    this.images = [];\n    this.isBootstrapEnabled = this.adapter.enableBootstrap4;\n  }\n\n  ngAfterContentInit() {\n    this.innerWidth = window.innerWidth;\n    this.innerHeight = window.innerHeight;\n    this.images = <any>this.galleryItems.toArray().map(cp => {\n      // listen for clicks;\n      this.subscriptions.push(cp.clicked.subscribe((data) => this.onClick(data)));\n      return cp.image;\n    });\n  }\n\n  ngOnDestroy() {\n    this.subscriptions.forEach(sub => sub.unsubscribe());\n  }\n\n  onClick(data) {\n    this.openPhotoSwipe(data, this.galleryElement);\n  }\n\n  @HostListener('window:resize')\n  @debounce()\n  onResize() {\n    this.innerWidth = window.innerWidth;\n    this.innerHeight = window.innerHeight;\n  }\n\n  private openPhotoSwipe(img: Image, galleryDOM: ElementRef): boolean {\n    this.adapter.galleryUID = galleryDOM.nativeElement.getAttribute('data-pswp-uid');\n    this.adapter.index = img.id;\n    const PSWP: HTMLElement = <HTMLElement>this.ngp.LightboxElement.nativeElement;\n    this.pswp = new PhotoSwipe(PSWP, PhotoSwipeUI_Default, this.getImagesAsPhotoswipe(), this.adapter);\n    const _this = this;\n    this.pswp.listen('shareLinkClick', function (e, target) {\n      _this.shareLinkClick.emit({ e, target });\n    });\n    this.pswp.init();\n    return false;\n  }\n\n  // If image is landscape or square, set width to window width and height to width * ratio\n  // If image is portrait, set height to window height and width to height / ratio\n  private getImageDimensions(w: number, h: number): Dimension {\n    const ratio = h / w;\n    if (w >= h) {\n      return {\n        width : this.innerWidth,\n        height: this.innerWidth * ratio\n      };\n    } else {\n      return {\n        width : this.innerHeight / ratio,\n        height: this.innerHeight\n      };\n    }\n  }\n\n  private getImagesAsPhotoswipe(): any[] {\n    return this.images.map(image => {\n      const imgDimensions = this.autoFill ? this.getImageDimensions(image.width, image.height) : {width: image.width, height: image.height};\n      return {\n        src: image.largeUrl,\n        w: imgDimensions.width,\n        h: imgDimensions.height,\n        pid: image.id,\n        title: image.description,\n        author: image.author\n      };\n    });\n\n  }\n}\n","<div class=\"angular2_photoswipe\" [ngClass]=\"{'card-columns': isBootstrapEnabled }\"  #ngpGallery id=\"sampleId\" itemscope itemtype=\"http://schema.org/ImageGallery\">\n  <ng-content select=\"ngp-gallery-item\"></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Angular2PhotoswipeComponent } from './angular2-photoswipe.component';\nimport { LightboxComponent } from './lightbox/lightbox.component';\nimport { GalleryComponent } from './gallery/gallery.component';\nimport { GalleryItemComponent } from './gallery-item/gallery-item.component';\nexport { LightboxAdapter } from './lightbox-adapter';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [Angular2PhotoswipeComponent, LightboxComponent, GalleryComponent, GalleryItemComponent],\n  exports: [LightboxComponent, GalleryComponent, GalleryItemComponent]\n})\nexport class Angular2PhotoswipeModule {\n}\n","export class Image {\n\n  id: number;\n  largeUrl: string;\n  thumbUrl: string;\n  size: string;\n  width: number;\n  height: number;\n  description: string;\n  author: string;\n\n  constructor() {}\n}\n","/*\n * Public API Surface of angular2-photoswipe\n */\n\nexport * from './lib/angular2-photoswipe.service';\nexport * from './lib/angular2-photoswipe.component';\nexport * from './lib/angular2-photoswipe.module';\nexport * from './lib/lightbox/lightbox.component';\nexport * from './lib/gallery/gallery.component';\nexport * from './lib/gallery-item/gallery-item.component';\nexport * from './lib/image';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.NgpService","i1.LightboxAdapter","i2.LightboxAdapter","i3"],"mappings":"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"}