UNPKG

@tapsellorg/angular-material-library

Version:

Angular library for Tapsell

1 lines 7.36 kB
{"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, { data: { imageSrc: this.currentSlide } })\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":";;;;;;;;;;MA2Ba,uBAAuB,CAAA;AAGlC,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;;IAG3B,IAAI,YAAY,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE;YAC9C,KAAK,GAAG,CAAC;;AAEX,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;;AAM1C,IAAA,WAAA,CAAoB,SAAoB,EAAA;QAApB,IAAS,CAAA,SAAA,GAAT,SAAS;QAjBrB,IAAa,CAAA,aAAA,GAAG,CAAC;QACjB,IAAU,CAAA,UAAA,GAAY,KAAK;AAYnC,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAW,EAAE,CAAC;QAC5B,IAAY,CAAA,YAAA,GAAW,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;AACxD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAE;;IAI5B,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC;aACF,IAAI,CACH,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,EAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;aAE/B,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,YAAY,IAAI,CAAC;AACxB,SAAC,CAAC;;AAGN,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;;AAGnC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,MAAM,EAAE;AAClB,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC;;;IAIzB,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC;AACF,aAAA,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE;AACpE,aAAA,WAAW;aACX,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACnC,SAAC,CAAC;;+GAnDK,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BpC,olBAqBA,EDFc,MAAA,EAAA,CAAA,mmBAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,mBAAmB,EAAE;gBAC3B,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtF,gBAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAChE,CAAC;AACH,SAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAGb,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACzB,UAAA,EAAA;wBACV,OAAO,CAAC,mBAAmB,EAAE;4BAC3B,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtF,4BAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;yBAChE,CAAC;AACH,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,olBAAA,EAAA,MAAA,EAAA,CAAA,mmBAAA,CAAA,EAAA;;;MEdN,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAApB,oBAAoB,EAAA,YAAA,EAAA,CAJhB,uBAAuB,CAC5B,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,iBAAiB,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAChD,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAHrB,OAAA,EAAA,CAAA,YAAY,EAAE,iBAAiB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAG/C,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,eAAe,CAAC;oBAC3D,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACnC,iBAAA;;;ACVD;;AAEG;;;;"}