{"version":3,"file":"chunk-gzjpr8xh.js","sources":["packages/sports/libs/slideshow/feature/src/lib/slide.component.ts","packages/sports/libs/common/ui/progress-bar/src/progress-bar.component.html","packages/sports/libs/common/ui/progress-bar/src/progress-bar.component.ts","packages/sports/libs/common/ui/progress-bar/src/timer-progress-bar/timer-progress-bar.component.ts","packages/sports/libs/common/ui/progress-bar/src/timer-progress-bar/timer-progress-bar.html","packages/sports/libs/slideshow/feature/src/lib/slideshow.model.ts","packages/sports/libs/slideshow/feature/src/lib/indicators.component.html","packages/sports/libs/slideshow/feature/src/lib/indicators.component.ts","packages/sports/libs/slideshow/feature/src/lib/slide-behavior/base-slide-behavior.ts","packages/sports/libs/slideshow/feature/src/lib/slide-behavior/one-slide-behavior.ts","packages/sports/libs/slideshow/feature/src/lib/slide-behavior/three-slide-behavior.ts","packages/sports/libs/slideshow/feature/src/lib/slideshow.component.html","packages/sports/libs/slideshow/feature/src/lib/slideshow.component.ts"],"sourcesContent":["import { AnimationFactory, AnimationPlayer } from '@angular/animations';\nimport { Component, ElementRef, Input, Renderer2 } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: 'ms-slide',\n template: '',\n})\nexport class SlideComponent {\n @Input() visibileState: string;\n\n private animationPlayer?: AnimationPlayer;\n\n constructor(\n private element: ElementRef,\n private renderer: Renderer2,\n ) {}\n\n animate(animation: AnimationFactory): void {\n if (this.animationPlayer) {\n this.animationPlayer.finish();\n // this.animationPlayer.destroy(); // ??? should both be used ?\n }\n\n this.animationPlayer = animation.create(this.element.nativeElement);\n\n this.animationPlayer.play();\n }\n\n moveOutside(): void {\n this.renderer.setStyle(this.element.nativeElement, 'transform', 'translateX(-100%)');\n }\n}\n","
\n {{ informationText }}\n
\n
\n","import { NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Renderer2,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'ms-progress-bar',\n templateUrl: 'progress-bar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf],\n standalone: true,\n})\nexport class ProgressBarComponent implements OnChanges, AfterViewInit {\n private readonly destroyRef = inject(DestroyRef);\n\n @HostBinding('class.ms-progress-bar') cssClass = true;\n\n @Input() shouldShowInformation = false;\n @Input() shouldShowPercentage = true;\n @Input() smoothProgressTransition = false;\n @Input() animationDuration!: number;\n @Input() informationText: string | undefined;\n @Input() value!: Observable;\n\n @ViewChild('percentage', { static: false }) percentage!: ElementRef;\n @ViewChild('progress', { static: true }) progress!: ElementRef;\n\n constructor(private renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.value.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((v) => {\n if (this.shouldShowPercentage && this.percentage) {\n this.renderer.setProperty(this.percentage.nativeElement, 'innerHTML', `${v}%`);\n }\n\n this.renderer.setStyle(this.progress.nativeElement, 'width', `${v}%`);\n });\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n if ((changes.smoothProgressTransition || changes.animationDuration) && this.smoothProgressTransition) {\n this.setProgressBarTransition(this.animationDuration);\n }\n }\n\n private setProgressBarTransition(animationDuration: number): void {\n this.renderer.setStyle(this.progress.nativeElement, 'transition', `width ${animationDuration}ms linear`);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { TimerService } from '@frontend/sports/common/core/utils/timer';\nimport { BehaviorSubject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { ProgressBarComponent } from '../progress-bar.component';\n\n@Component({\n selector: 'ms-timer-progress-bar',\n templateUrl: 'timer-progress-bar.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ProgressBarComponent],\n})\nexport class TimerProgressBarComponent implements AfterViewInit, OnChanges {\n private readonly destroyRef = inject(DestroyRef);\n\n @HostBinding('class.ms-timer-progress-bar') cssClass = true;\n\n @Input() totalDuration!: number;\n @Input() pauseProgressBar = false;\n @Input() smoothProgressTransition = false;\n @Input() shouldShowInformation = false;\n @Input() shouldShowPercentage = true;\n @Input() informationText: string | undefined;\n @Input() step = 100;\n @Input() loop = true;\n @Input() shouldStop = false;\n @Output() complete = new EventEmitter();\n @Output() progress = new EventEmitter();\n\n private value = 0;\n animationDuration = 0;\n\n private progressBarInterval: (() => void) | null = null;\n value$ = new BehaviorSubject(0);\n\n constructor(private timerService: TimerService) {\n this.destroyRef.onDestroy(() => {\n this.timerService.removeAll();\n this.stopProgressBarInterval();\n });\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (changes.shouldStop) {\n this.value$.complete();\n }\n\n if (changes.step) {\n this.step = changes.step.currentValue || 100;\n }\n\n if (changes.totalDuration) {\n this.animationDuration = this.totalDuration / 100;\n }\n }\n\n ngAfterViewInit(): void {\n this.value$\n .pipe(\n filter(() => !this.pauseProgressBar),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe((value) => {\n if (Math.ceil(value) >= 100) {\n this.complete.emit();\n this.stopProgressBarInterval();\n\n if (this.loop) {\n this.resetProgressBar();\n } else {\n this.value$.complete();\n }\n }\n });\n\n this.resetProgressBar();\n }\n\n resetProgressBar(): void {\n this.value = 0;\n this.stopProgressBarInterval();\n this.startProgressbar();\n }\n\n private startProgressbar(): void {\n this.progressBarInterval = this.timerService.setIntervalOutsideAngular(() => {\n if (!this.pauseProgressBar) {\n const slice = 100 / this.step;\n this.value += slice;\n this.value$.next(this.value);\n this.progress.emit(this.value);\n }\n }, this.totalDuration / this.step);\n }\n\n private stopProgressBarInterval = () => {\n this.progressBarInterval?.();\n this.progressBarInterval = null;\n };\n}\n","\n","export enum SlideshowMode {\n OneSlide = 'OneSlide',\n ThreeSlides = 'ThreeSlides',\n}\n\nexport enum ArrowDirection {\n Left = 'left',\n Right = 'right',\n}\n\nexport enum NavigationMode {\n Swipe = 'swipe',\n Arrows = 'arrows',\n}\n","
    \n \n \n \n \n
\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\n\nimport { range } from 'lodash-es';\n\nimport { ArrowDirection } from './slideshow.model';\n\n@Component({\n standalone: true,\n selector: 'ms-slideshow-indicators',\n templateUrl: './indicators.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndicatorsComponent implements OnInit, OnChanges {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() items: any[] = [];\n @Input() realtotalslidecount = 0;\n @Input() currentSlideIndex = 0;\n @Input() indicatorArrow = false;\n @Output() select = new EventEmitter();\n\n indicators: number[];\n\n arrowDirections = ArrowDirection;\n\n ngOnInit(): void {\n this.indicators = range(this.realtotalslidecount);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const realtotalslidecountchanged = changes['realtotalslidecount'];\n if (realtotalslidecountchanged) {\n this.indicators = range(this.realtotalslidecount);\n }\n }\n\n isActive(crtIndex: number): boolean {\n if (this.realtotalslidecount < this.items.length) {\n return this.currentSlideIndex > this.realtotalslidecount - 1\n ? crtIndex === this.currentSlideIndex - this.realtotalslidecount\n : crtIndex === this.currentSlideIndex;\n }\n\n return crtIndex === this.currentSlideIndex;\n }\n\n indicatorClick(index: number): void {\n this.select.emit(index);\n }\n\n arrowClick(direction: ArrowDirection): void {\n this.select.emit(direction);\n }\n}\n","import { AnimationBuilder } from '@angular/animations';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SlideComponent } from '../slide.component';\n\nexport enum SlideDirection {\n Left = 'Left',\n Right = 'Right',\n}\n\nexport abstract class BaseSlideBehavior {\n protected maxSlideIndex: number;\n private _currentSlideIndex: number;\n protected animationDuration = 350;\n protected slideChanged = new BehaviorSubject(null);\n\n slideChanged$ = this.slideChanged.asObservable();\n\n constructor(\n protected slides: SlideComponent[],\n protected animationBuilder: AnimationBuilder,\n initialSlideIndex: number,\n ) {\n this.maxSlideIndex = slides.length - 1;\n this._currentSlideIndex = initialSlideIndex;\n }\n\n abstract slideRight(): void;\n abstract get canSlideRight(): boolean;\n abstract slideLeft(): void;\n abstract get canSlideLeft(): boolean;\n\n /**\n * Moves the slideshow to the desired slide index.\n *\n * @param {number} slideIndex\n * @param {SlideDirection} [forceSlideDirection] If not provided, the direction of the slide will be calculated based on the index.\n * @returns {void}\n * @memberof OneSlideBehavior\n */\n abstract slideTo(slideIndex: number, forceSlideDirection?: SlideDirection): void;\n\n protected nextSlideIndex(crtSlideIndex?: number, max?: number): number {\n return this.nextIndex(crtSlideIndex || this._currentSlideIndex, max || this.maxSlideIndex);\n }\n\n protected previousSlideIndex(crtSlideIndex?: number): number {\n return this.previousIndex(crtSlideIndex || this._currentSlideIndex, 0, this.maxSlideIndex);\n }\n\n protected limitNumber(val: number, min: number, max: number): number {\n return val < min ? min : val > max ? max : val;\n }\n\n protected emitSlideChanged(): void {\n this.slideChanged.next(this.slides[this._currentSlideIndex]);\n }\n\n private nextIndex(val: number, max: number): number {\n if (val === max) {\n return 0;\n }\n\n return val + 1;\n }\n\n private previousIndex(val: number, min: number, max: number): number {\n if (val === min) {\n return max;\n }\n\n return val - 1;\n }\n\n get currentSlideIndex(): number {\n return this._currentSlideIndex;\n }\n\n set currentSlideIndex(value: number) {\n this._currentSlideIndex = value;\n }\n}\n","import { AnimationBuilder, AnimationFactory, animate, keyframes, style } from '@angular/animations';\n\nimport { SlideComponent } from '../slide.component';\nimport { BaseSlideBehavior, SlideDirection } from './base-slide-behavior';\n\ninterface OneSlideAnimation {\n exitLeft: AnimationFactory;\n exitRight: AnimationFactory;\n enterRight: AnimationFactory;\n enterLeft: AnimationFactory;\n exitLeftInstant: AnimationFactory;\n enterLeftInstant: AnimationFactory;\n}\n\nexport class OneSlideBehavior extends BaseSlideBehavior {\n constructor(slides: SlideComponent[], animationBuilder: AnimationBuilder, initialSlideIndex: number) {\n super(slides, animationBuilder, initialSlideIndex);\n\n if (!slides.length) {\n return;\n }\n\n const animations = this.getAnimations();\n this.slides.forEach((s) => s.animate(animations.exitLeftInstant));\n this.slides[this.currentSlideIndex].animate(animations.enterLeftInstant);\n }\n\n slideRight(): void {\n this.slideTo(this.previousSlideIndex(), SlideDirection.Right);\n }\n\n slideLeft(): void {\n this.slideTo(this.nextSlideIndex(), SlideDirection.Left);\n }\n\n /** @inheritdoc */\n slideTo(slideIndex: number, forceSlideDirection?: SlideDirection): void {\n if (slideIndex === this.currentSlideIndex) {\n return;\n }\n\n // eslint-disable-next-line no-param-reassign\n slideIndex = this.limitNumber(slideIndex, 0, this.maxSlideIndex);\n const calculatedSlideDirection = slideIndex > this.currentSlideIndex ? SlideDirection.Left : SlideDirection.Right;\n const direction = forceSlideDirection || calculatedSlideDirection;\n\n if (direction === SlideDirection.Left) {\n this.slideLeftInternal(slideIndex);\n } else {\n this.slideRightInternal(slideIndex);\n }\n }\n\n get canSlideLeft(): boolean {\n return this.currentSlideIndex < this.maxSlideIndex;\n }\n\n get canSlideRight(): boolean {\n return this.currentSlideIndex > 0;\n }\n\n private slideRightInternal(previousSlideIndex: number): void {\n const animations = this.getAnimations();\n this.slides[this.currentSlideIndex].animate(animations.exitRight);\n this.currentSlideIndex = previousSlideIndex;\n this.slides[this.currentSlideIndex].animate(animations.enterLeft);\n\n this.emitSlideChanged();\n }\n\n private slideLeftInternal(nextSlideIndex: number): void {\n const animations = this.getAnimations();\n this.slides[this.currentSlideIndex].animate(animations.exitLeft);\n this.currentSlideIndex = nextSlideIndex;\n this.slides[this.currentSlideIndex].animate(animations.enterRight);\n\n this.emitSlideChanged();\n }\n\n private getAnimations(): OneSlideAnimation {\n const enterLeftAnimation = this.animationBuilder.build([\n animate(this.animationDuration, keyframes([style({ transform: 'translateX(-100%)' }), style({ transform: 'translateX(0%)' })])),\n ]);\n\n const enterLeftInstantAnimation = this.animationBuilder.build([\n animate(1, keyframes([style({ transform: 'translateX(-100%)' }), style({ transform: 'translateX(0%)' })])),\n ]);\n\n const enterRightAnimation = this.animationBuilder.build([\n animate(this.animationDuration, keyframes([style({ transform: 'translateX(100%)' }), style({ transform: 'translateX(0%)' })])),\n ]);\n\n const exitRightAnimation = this.animationBuilder.build([\n animate(this.animationDuration, keyframes([style({ transform: 'translateX(0%)' }), style({ transform: 'translateX(100%)' })])),\n ]);\n\n const exitLeftAnimation = this.animationBuilder.build([\n animate(this.animationDuration, keyframes([style({ transform: 'translateX(0%)' }), style({ transform: 'translateX(-100%)' })])),\n ]);\n\n const exitLeftInstantAnimation = this.animationBuilder.build([\n animate(1, keyframes([style({ transform: 'translateX(0%)' }), style({ transform: 'translateX(-100%)' })])),\n ]);\n\n return {\n exitLeft: exitLeftAnimation,\n exitRight: exitRightAnimation,\n enterRight: enterRightAnimation,\n enterLeft: enterLeftAnimation,\n exitLeftInstant: exitLeftInstantAnimation,\n enterLeftInstant: enterLeftInstantAnimation,\n };\n }\n}\n","import { AnimationBuilder, AnimationFactory, animate, keyframes, style } from '@angular/animations';\n\nimport { SlideComponent } from '../slide.component';\nimport { BaseSlideBehavior } from './base-slide-behavior';\n\ninterface TreeSlideAnimation {\n enterLeft: AnimationFactory;\n enterRight: AnimationFactory;\n leftCenter: AnimationFactory;\n centerRight: AnimationFactory;\n centerLeft: AnimationFactory;\n rightCenter: AnimationFactory;\n exitRight: AnimationFactory;\n exitLeft: AnimationFactory;\n staticExitLeft: AnimationFactory;\n}\n\nexport class ThreeSlideBehavior extends BaseSlideBehavior {\n private slideToDuration = 100;\n constructor(slides: SlideComponent[], animationBuilder: AnimationBuilder, initialSlideIndex: number) {\n super(slides, animationBuilder, initialSlideIndex);\n\n const animations = this.getAnimations();\n\n this.slides.forEach((s) => s.animate(animations.staticExitLeft));\n\n this.slides[this.currentSlideIndex].animate(animations.rightCenter);\n this.slides[this.nextSlideIndex()].animate(animations.enterRight);\n this.slides[this.previousSlideIndex()].animate(animations.centerLeft);\n }\n\n slideRight(): void {\n const animations = this.getAnimations();\n\n this.slides[this.nextSlideIndex()].animate(animations.exitRight);\n\n this.currentSlideIndex = this.previousSlideIndex();\n\n this.slides[this.currentSlideIndex].animate(animations.leftCenter);\n this.slides[this.nextSlideIndex()].animate(animations.centerRight);\n this.slides[this.previousSlideIndex()].animate(animations.enterLeft);\n\n this.emitSlideChanged();\n }\n\n slideLeft(): void {\n const animations = this.getAnimations();\n\n this.slides[this.previousSlideIndex()].animate(animations.exitLeft);\n\n this.currentSlideIndex = this.nextSlideIndex();\n\n this.slides[this.currentSlideIndex].animate(animations.rightCenter);\n this.slides[this.nextSlideIndex()].animate(animations.enterRight);\n this.slides[this.previousSlideIndex()].animate(animations.centerLeft);\n\n this.emitSlideChanged();\n }\n\n slideTo(slideIndex: number): void {\n // eslint-disable-next-line no-param-reassign\n slideIndex = this.limitNumber(slideIndex, 0, this.maxSlideIndex);\n if (slideIndex === this.currentSlideIndex) {\n return;\n }\n\n if (slideIndex < this.currentSlideIndex) {\n this.slideRight();\n } else {\n this.slideLeft();\n }\n setTimeout(() => {\n this.slideTo(slideIndex);\n }, this.slideToDuration);\n }\n\n get canSlideLeft(): boolean {\n return this.currentSlideIndex < this.maxSlideIndex;\n }\n\n get canSlideRight(): boolean {\n return this.currentSlideIndex > 0;\n }\n\n private getAnimations(): TreeSlideAnimation {\n const enterLeft = this.animationBuilder.build([\n animate(\n this.animationDuration,\n keyframes([style({ transform: 'translateX(-150%)', opacity: 0.095 }), style({ transform: 'translateX(-100%)', opacity: 0.095 })]),\n ),\n ]);\n\n const leftCenter = this.animationBuilder.build([\n animate(\n this.animationDuration,\n keyframes([style({ transform: 'translateX(-100%)', opacity: 0.095 }), style({ transform: 'translateX(0%)', opacity: 1 })]),\n ),\n ]);\n\n const centerLeft = this.animationBuilder.build([\n animate(\n this.animationDuration,\n keyframes([style({ transform: 'translateX(0%)', opacity: 1 }), style({ transform: 'translateX(-100%)', opacity: 0.095 })]),\n ),\n ]);\n\n const exitLeft = this.animationBuilder.build([\n animate(\n this.animationDuration,\n keyframes([style({ transform: 'translateX(-100%)', opacity: 0.095 }), style({ transform: 'translateX(-500%)', opacity: 0.095 })]),\n ),\n ]);\n\n const enterRight = this.animationBuilder.build([\n animate(\n this.animationDuration,\n keyframes([style({ transform: 'translateX(150%)', opacity: 0.095 }), style({ transform: 'translateX(100%)', opacity: 0.095 })]),\n ),\n ]);\n\n const rightCenter = this.animationBuilder.build([\n animate(\n this.animationDuration,\n keyframes([style({ transform: 'translateX(100%)', opacity: 0.095 }), style({ transform: 'translateX(0%)', opacity: 1 })]),\n ),\n ]);\n\n const centerRight = this.animationBuilder.build([\n animate(\n this.animationDuration,\n keyframes([style({ transform: 'translateX(0%)', opacity: 1 }), style({ transform: 'translateX(100%)', opacity: 0.095 })]),\n ),\n ]);\n\n const exitRight = this.animationBuilder.build([\n animate(\n this.animationDuration,\n keyframes([style({ transform: 'translateX(100%)', opacity: 0.095 }), style({ transform: 'translateX(300%)', opacity: 0.095 })]),\n ),\n ]);\n\n const staticExitLeft = this.animationBuilder.build([style({ transform: 'translateX(-500%)', opacity: 0.095 })]);\n\n return {\n enterLeft,\n enterRight,\n leftCenter,\n centerRight,\n centerLeft,\n rightCenter,\n exitRight,\n exitLeft,\n staticExitLeft,\n };\n }\n}\n","
\n \n \n @if (showProgressBar && slides && slides.length > 1) {\n \n }\n
\n\n @if (showIndicators) {\n \n }\n\n @if (mode === SlideshowMode.ThreeSlides && navigationMode === NavigationMode.Swipe) {\n \n }\n @if (mode === SlideshowMode.ThreeSlides && navigationMode === NavigationMode.Swipe) {\n \n }\n @if (navigationMode === NavigationMode.Arrows && slides && slides.length > 1) {\n \n \n \n }\n @if (navigationMode === NavigationMode.Arrows && slides && slides.length > 1) {\n \n \n \n }\n\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { AnimationBuilder } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChildren,\n DestroyRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { TimerService } from '@frontend/sports/common/core/utils/timer';\nimport { TimerProgressBarComponent } from '@frontend/sports/common/ui/progress-bar';\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\nimport { filter } from 'rxjs/operators';\n\nimport { IndicatorsComponent } from './indicators.component';\nimport { BaseSlideBehavior } from './slide-behavior/base-slide-behavior';\nimport { OneSlideBehavior } from './slide-behavior/one-slide-behavior';\nimport { ThreeSlideBehavior } from './slide-behavior/three-slide-behavior';\nimport { SlideComponent } from './slide.component';\nimport { ArrowDirection, NavigationMode, SlideshowMode } from './slideshow.model';\n\n@Component({\n standalone: true,\n selector: 'ms-slideshow',\n templateUrl: './slideshow.component.html',\n imports: [IndicatorsComponent, TimerProgressBarComponent, CommonModule, IconCustomComponent],\n})\nexport class SlideshowComponent implements AfterViewInit, AfterContentInit, OnChanges {\n @Input() delay = 2000;\n @Input() circular = true;\n @Input() auto = false;\n @Input() mode = SlideshowMode.OneSlide;\n @Input() slideIndex = 0;\n @Input() pageindicators = false;\n @Input() showSingleIndicator = false;\n @Input() realtotalslidecount = 0;\n @Output() slideChanged = new EventEmitter();\n @Input() isAutoSwipeLeftOnProgressBar = false;\n @Input() navigationMode: NavigationMode = NavigationMode.Swipe;\n @Input() indicatorArrow = false;\n @Input() arrowPosition?: number;\n @Output() navigation = new EventEmitter<{ navigationMode: NavigationMode; direction: string }>();\n @Input() showProgressBar = false;\n @Input() overlayArea: { position: string; width: string };\n @Input() disableSwipe = false;\n @Output() swipeNotApplicable = new EventEmitter();\n @ViewChild(TimerProgressBarComponent)\n private progressBar: TimerProgressBarComponent;\n\n readonly NavigationMode = NavigationMode;\n readonly SlideshowMode = SlideshowMode;\n readonly ArrowDirection = ArrowDirection;\n\n private _slides: SlideComponent[] = [];\n pauseProgressBarOnHover: boolean;\n\n @ContentChildren(SlideComponent) slideComponents: QueryList;\n\n private slideshowBehavior: BaseSlideBehavior;\n private cancelSlideshowInterval?: () => void;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n private animationBuilder: AnimationBuilder,\n private timerService: TimerService,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const slideIndexChange = changes['slideIndex'];\n if (slideIndexChange && !slideIndexChange.isFirstChange()) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n this.slideToIndex(slideIndexChange.currentValue);\n }\n\n const mode = changes['mode'];\n if (mode && !mode.isFirstChange()) {\n this.initializeSlideshow();\n }\n }\n\n ngAfterViewInit(): void {\n this.initializeSlideshow();\n }\n\n ngAfterContentInit(): void {\n this._slides = this.slideComponents.toArray();\n this.slideComponents.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n this._slides = this.slideComponents.toArray();\n this.initializeSlideshow();\n });\n }\n\n get slides(): SlideComponent[] {\n return this._slides;\n }\n\n get currentSlideIndex(): number {\n if (!this.slideshowBehavior) {\n return 0;\n }\n\n return this.slideshowBehavior.currentSlideIndex;\n }\n\n get showIndicators(): boolean {\n const indicatorLimit = this.showSingleIndicator ? 0 : 1;\n\n return this.pageindicators && this.slides && this.slides.length > indicatorLimit;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n swipeLeft(isManualSwipe: boolean = true): void {\n if (this.disableSwipe && isManualSwipe) {\n return;\n }\n this.slideLeft();\n this.tryStartCarousel();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n swipeRight(isManualSwipe: boolean = true): void {\n if (this.disableSwipe && isManualSwipe) {\n return;\n }\n this.slideRight();\n this.tryStartCarousel();\n }\n\n slideTo(slideTowards: number | ArrowDirection): void {\n if (slideTowards === ArrowDirection.Left) {\n this.swipeRight();\n } else if (slideTowards === ArrowDirection.Right) {\n this.swipeLeft();\n } else {\n this.slideToIndex(slideTowards);\n this.tryStartCarousel();\n }\n }\n\n addSlide(slide: SlideComponent): void {\n this._slides.push(slide);\n\n if (this._slides.length > this.visibleSlideCount) {\n slide.moveOutside();\n }\n }\n\n private slideToIndex(index: number): void {\n this.slideshowBehavior.slideTo(index);\n }\n\n private get visibleSlideCount(): number {\n return this.mode === SlideshowMode.OneSlide ? 1 : 3;\n }\n\n private tryStartCarousel(): void {\n if (!this.auto) {\n return;\n }\n if (this.showProgressBar) {\n return;\n }\n\n if (this.cancelSlideshowInterval) {\n this.cancelSlideshowInterval();\n }\n\n this.cancelSlideshowInterval = this.timerService.setInterval(() => this.swipeLeft(false), this.delay);\n }\n\n private initializeSlideshow(): void {\n this.slideshowBehavior = this.createSlideBehavior();\n this.slideshowBehavior.slideChanged$\n .pipe(\n filter((s) => !!s),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe((selectedSlide) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const selectedIndex = this._slides.indexOf(selectedSlide!);\n this.slideChanged.emit(selectedIndex);\n if (this.showProgressBar) {\n this.progressBar.resetProgressBar();\n }\n });\n\n this.tryStartCarousel();\n }\n\n private createSlideBehavior(): BaseSlideBehavior {\n return this.mode === SlideshowMode.OneSlide\n ? new OneSlideBehavior(this._slides, this.animationBuilder, this.slideIndex)\n : new ThreeSlideBehavior(this._slides, this.animationBuilder, this.slideIndex);\n }\n\n private slideLeft(): void {\n if (!this.slideshowBehavior.canSlideLeft) {\n this.swipeNotApplicable.emit();\n }\n\n if (this.slideshowBehavior && (this.circular || this.slideshowBehavior.canSlideLeft)) {\n this.slideshowBehavior.slideLeft();\n }\n }\n\n private slideRight(): void {\n if (!this.slideshowBehavior.canSlideRight) {\n this.swipeNotApplicable.emit();\n }\n\n if (this.slideshowBehavior && (this.circular || this.slideshowBehavior.canSlideRight)) {\n this.slideshowBehavior.slideRight();\n }\n }\n\n arrowClicked(clickValue: string): void {\n if (clickValue === ArrowDirection.Left) {\n this.swipeLeft();\n } else if (clickValue === ArrowDirection.Right) {\n this.swipeRight();\n }\n this.navigation.emit({ navigationMode: NavigationMode.Arrows, direction: clickValue });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onArrowHover(event: any, value: boolean): void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unused-expressions, @typescript-eslint/no-unsafe-member-access\n event && event.stopPropagation();\n this.pauseProgressBarOnHover = value;\n }\n}\n"],"names":["SlideComponent","constructor","element","renderer","animate","animation","animationPlayer","finish","create","nativeElement","play","moveOutside","setStyle","ɵɵdirectiveInject","ElementRef","Renderer2","v","selectors","inputs","visibileState","standalone","features","ɵɵStandaloneFeature","ngContentSelectors","_c0","decls","vars","template","rf","ctx","ɵɵprojection","_SlideComponent","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","ProgressBarComponent_div_0_span_3_Template","a","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","informationText","ɵɵproperty","shouldShowPercentage","ProgressBarComponent","destroyRef","inject","DestroyRef","cssClass","shouldShowInformation","smoothProgressTransition","ngAfterViewInit","value","pipe","takeUntilDestroyed","subscribe","percentage","setProperty","progress","ngOnChanges","changes","animationDuration","setProgressBarTransition","viewQuery","X","k","E","ɵɵclassProp","ProgressBarComponent_div_0_Template","NgIf","encapsulation","changeDetection","_ProgressBarComponent","TimerProgressBarComponent","timerService","pauseProgressBar","step","loop","shouldStop","complete","EventEmitter","progressBarInterval","value$","BehaviorSubject","stopProgressBarInterval","_a","onDestroy","removeAll","currentValue","totalDuration","filter","Math","ceil","emit","resetProgressBar","startProgressbar","setIntervalOutsideAngular","slice","next","TimerService","hostVars","hostBindings","_TimerProgressBarComponent","SlideshowMode","ArrowDirection","NavigationMode","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","arrowClick","arrowDirections","Left","isActive","S","$event","i_r4","_r3","index","indicatorClick","stopPropagation","_r5","Right","realtotalslidecount","IndicatorsComponent","items","currentSlideIndex","indicatorArrow","select","ngOnInit","indicators","range","crtIndex","length","direction","outputs","ɵɵNgOnChangesFeature","consts","IndicatorsComponent_span_1_Template","IndicatorsComponent_li_2_Template","IndicatorsComponent_span_3_Template","_IndicatorsComponent","SlideDirection","BaseSlideBehavior","slides","animationBuilder","initialSlideIndex","slideChanged","slideChanged$","asObservable","maxSlideIndex","_currentSlideIndex","nextSlideIndex","crtSlideIndex","max","nextIndex","previousSlideIndex","previousIndex","limitNumber","val","min","emitSlideChanged","OneSlideBehavior","animations","getAnimations","forEach","s","exitLeftInstant","enterLeftInstant","slideRight","slideTo","slideLeft","slideIndex","forceSlideDirection","calculatedSlideDirection","slideLeftInternal","slideRightInternal","canSlideLeft","canSlideRight","exitRight","enterLeft","exitLeft","enterRight","enterLeftAnimation","build","keyframes","style","transform","enterLeftInstantAnimation","enterRightAnimation","exitRightAnimation","exitLeftAnimation","exitLeftInstantAnimation","ThreeSlideBehavior","slideToDuration","staticExitLeft","rightCenter","centerLeft","leftCenter","centerRight","setTimeout","opacity","swipeLeft","delay","pauseProgressBarOnHover","_r4","swipeRight","ɵɵpureFunction2","_c2","overlayArea","position","width","_c3","_r6","arrowClicked","ɵɵstyleProp","arrowPosition","_r7","SlideshowComponent","circular","auto","mode","OneSlide","pageindicators","showSingleIndicator","isAutoSwipeLeftOnProgressBar","navigationMode","Swipe","navigation","showProgressBar","disableSwipe","swipeNotApplicable","_slides","slideIndexChange","isFirstChange","slideToIndex","initializeSlideshow","ngAfterContentInit","slideComponents","toArray","slideshowBehavior","showIndicators","indicatorLimit","isManualSwipe","tryStartCarousel","slideTowards","addSlide","slide","push","visibleSlideCount","cancelSlideshowInterval","setInterval","createSlideBehavior","selectedSlide","selectedIndex","indexOf","progressBar","clickValue","Arrows","onArrowHover","event","AnimationBuilder","contentQueries","dirIndex","ee","SlideshowComponent_Conditional_3_Template","SlideshowComponent_Conditional_4_Template","SlideshowComponent_Conditional_5_Template","SlideshowComponent_Conditional_6_Template","SlideshowComponent_Conditional_7_Template","SlideshowComponent_Conditional_8_Template","_c1","ThreeSlides","ɵɵconditional","CommonModule","NgClass","NgStyle","IconCustomComponent","_SlideshowComponent"],"mappings":"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"}