{"version":3,"file":"chunk-nz5hpbp0.js","sources":["packages/sports/web/app/src/crm-promotion-container/crm-promotion-container.component.html","packages/sports/web/app/src/crm-promotion-container/crm-promotion-container.component.ts"],"sourcesContent":["\n \n\n\n \n\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, Component, DestroyRef, ElementRef, HostBinding, Input, OnChanges, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { WINDOW } from '@frontend/vanilla/core';\nimport { fromEvent } from 'rxjs';\n\nimport { Promotion, TrackingSource } from '../crm-offer-data/crm-offer.model';\nimport { CrmPromotionModule } from '../crm-promotion/crm-promotion.module';\nimport { ComponentProxy } from '../deferred/component-loader.service';\nimport { ComponentProxyDirective } from '../deferred/component-proxy.directive';\nimport { HighLightsMarqueeBinding, HighlightsMarqueeComponentLoaderService } from '../highlights-marquee/highlights-marquee-component-loader.service';\n\n@Component({\n selector: 'ms-crm-promotion-container',\n templateUrl: 'crm-promotion-container.component.html',\n standalone: true,\n imports: [CommonModule, CrmPromotionModule, ComponentProxyDirective],\n})\nexport class CrmPromotionContainerComponent implements OnChanges, AfterContentInit {\n @HostBinding('class.height-increase-allowed') heightIncreaseAllowedClass: boolean;\n @HostBinding('class.show-card-shadow') showCardShadowClass: boolean;\n @HostBinding('class.single') singleBannerClass: boolean;\n @HostBinding('class.double') doubleBannerClass: boolean;\n @HostBinding('class.multi') multiBannerClass: boolean;\n\n @Input() heightIncreaseAllowed?: boolean;\n @Input() showCardShadow?: boolean;\n @Input() promotions: Promotion[] = [];\n @Input() trackingSource = TrackingSource.Teaser;\n\n private doubleBannerMarqueeBreakpointPx = 565;\n scrollingSpeed = { default: 'moderate' };\n marqueeComponent: ComponentProxy;\n showMarquee = false;\n private readonly destroyRef = inject(DestroyRef);\n private readonly _window = inject(WINDOW);\n\n constructor(\n private elementRef: ElementRef,\n private marqueeLoader: HighlightsMarqueeComponentLoaderService,\n ) {\n this.marqueeComponent = this.marqueeLoader.getHighlightsMarqueeComponent();\n this.marqueeComponent.update({ scrollingSpeed: this.scrollingSpeed });\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n const change = changes.promotions;\n\n if (!change) {\n return;\n }\n\n this.heightIncreaseAllowedClass = !!this.heightIncreaseAllowed;\n this.showCardShadowClass = !!this.showCardShadow;\n this.singleBannerClass = this.promotions.length === 1;\n this.doubleBannerClass = this.promotions.length === 2;\n this.multiBannerClass = this.promotions.length > 2;\n this.showMarquee = this.promotions.length >= 2;\n this.marqueeComponent.update({\n promotionTiles: this.promotions,\n });\n this.setClasses();\n }\n\n trackPromoBy(index: number, item: Promotion): string {\n return item.id;\n }\n\n ngAfterContentInit(): void {\n fromEvent(this._window, 'resize')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.setClasses());\n }\n\n private setClasses(): void {\n if (this.promotions.length !== 2) {\n return;\n }\n\n this.doubleBannerClass = this.elementRef.nativeElement.offsetWidth > this.doubleBannerMarqueeBreakpointPx;\n }\n}\n"],"names":["ɵɵelement","l","ɵɵproperty","promotion_r1","position_r2","ctx_r2","trackingSource","ɵɵelementContainerStart","ɵɵtemplate","CrmPromotionContainerComponent_ng_container_0_ms_crm_promotion_banner_1_Template","ɵɵadvance","promotions","trackPromoBy","ɵɵelementContainer","CrmPromotionContainerComponent_ng_container_1_ng_container_1_Template","d","marqueeComponent","CrmPromotionContainerComponent","constructor","elementRef","marqueeLoader","TrackingSource","Teaser","doubleBannerMarqueeBreakpointPx","scrollingSpeed","default","showMarquee","destroyRef","inject","DestroyRef","_window","WINDOW","getHighlightsMarqueeComponent","update","ngOnChanges","changes","heightIncreaseAllowedClass","heightIncreaseAllowed","showCardShadowClass","showCardShadow","singleBannerClass","length","doubleBannerClass","multiBannerClass","promotionTiles","setClasses","index","item","id","ngAfterContentInit","fromEvent","pipe","takeUntilDestroyed","subscribe","nativeElement","offsetWidth","ɵɵdirectiveInject","ElementRef","HighlightsMarqueeComponentLoaderService","selectors","hostVars","hostBindings","rf","ctx","ɵɵclassProp","CrmPromotionContainerComponent_ng_container_0_Template","CrmPromotionContainerComponent_ng_container_1_Template","CommonModule","NgForOf","NgIf","CrmPromotionModule","BannerComponent","ComponentProxyDirective","encapsulation","_CrmPromotionContainerComponent"],"mappings":"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"}