{"version":3,"file":"tapsellorg-angular-material-library-src-lib-image-slider.mjs","sources":["../../projects/pegah-library/src/lib/image-slider/image-slider.component.ts","../../projects/pegah-library/src/lib/image-slider/image-slider.component.html","../../projects/pegah-library/src/lib/image-slider/image-slider.module.ts","../../projects/pegah-library/src/lib/image-slider/tapsellorg-angular-material-library-src-lib-image-slider.ts"],"sourcesContent":["import {\n  Component,\n  input,\n  OnChanges,\n  OnInit,\n  SimpleChanges,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { interval, Subject } from 'rxjs';\nimport { filter, startWith, switchMap } from 'rxjs/operators';\nimport { MatDialog } from '@angular/material/dialog';\nimport { PghLightboxComponent } from '@tapsellorg/angular-material-library/src/lib/lightbox';\nimport { animate, style, transition, trigger } from '@angular/animations';\n\n@Component({\n  selector: 'pgh-image-slider',\n  templateUrl: './image-slider.component.html',\n  styleUrls: ['./image-slider.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  animations: [\n    trigger('carouselAnimation', [\n      transition(':enter', [style({ opacity: 0 }), animate('200ms', style({ opacity: 1 }))]),\n      transition(':leave', [animate('200ms', style({ opacity: 0 }))]),\n    ]),\n  ],\n  standalone: false,\n})\nexport class PghImageSliderComponent implements OnInit, OnChanges {\n  private _currentIndex = 0;\n  private skipSlider: boolean = false;\n  get currentIndex(): number {\n    return this._currentIndex;\n  }\n\n  set currentIndex(value: number) {\n    if (value >= this.slides().length || value < 0) {\n      value = 0;\n    }\n    this._currentIndex = value;\n    this.currentSlide = this.slides()[value];\n  }\n  slides = input<string[]>([]);\n  currentSlide: string = this.slides()[this._currentIndex];\n  sliderTimer$ = new Subject();\n\n  constructor(private matDialog: MatDialog) {}\n\n  ngOnInit(): void {\n    this.sliderTimer$\n      .pipe(\n        startWith(0),\n        switchMap(() => interval(5000)),\n        filter(() => !this.skipSlider),\n      )\n      .subscribe(() => {\n        this.currentIndex += 1;\n      });\n  }\n\n  selectImage(index: number) {\n    this.currentIndex = index;\n    this.sliderTimer$.next(undefined);\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes.slides) {\n      this.currentIndex = 0;\n    }\n  }\n\n  openImageLightbox() {\n    this.skipSlider = true;\n    this.matDialog\n      .open(PghLightboxComponent, {\n        data: {\n          type: 'image',\n          src: this.currentSlide,\n        },\n      })\n      .afterClosed()\n      .subscribe(() => {\n        this.skipSlider = false;\n        this.sliderTimer$.next(undefined);\n      });\n  }\n}\n","<div class=\"pgh-image-slider\">\n  <div class=\"pgh-slide-preview-container\" (click)=\"openImageLightbox()\">\n    @for (s of slides(); track s; let i = $index) { @if (i === currentIndex) {\n    <div\n      [style.backgroundImage]=\"'url(' + s + ')'\"\n      class=\"pgh-slide-preview\"\n      @carouselAnimation\n    ></div>\n    } }\n  </div>\n\n  <div class=\"pgh-slider\">\n    @for (s of slides(); track s; let i = $index) {\n    <div\n      class=\"pgh-slide\"\n      [style.backgroundImage]=\"'url(' + s + ')'\"\n      (click)=\"selectImage(i)\"\n    ></div>\n    }\n  </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PghLightboxModule } from '@tapsellorg/angular-material-library/src/lib/lightbox';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { PghImageSliderComponent } from './image-slider.component';\n\n@NgModule({\n  declarations: [PghImageSliderComponent],\n  imports: [CommonModule, PghLightboxModule, MatDialogModule],\n  exports: [PghImageSliderComponent],\n})\nexport class PghImageSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}