{"version":3,"file":"media.feature-o5vr3uj7.js","sources":["packages/sports/web/app/src/media/animations.ts","packages/sports/web/app/src/media/media-component-map.service.ts","packages/sports/web/app/src/common/dynamic-components-loader.service.ts","packages/sports/web/app/src/common/dynamic-icon-loader.component.ts","packages/sports/web/app/src/media/empty-media.component.html","packages/sports/web/app/src/media/empty-media.component.ts","packages/sports/web/app/src/media/scroll-to-active.directive.ts","packages/sports/web/app/src/media/event-selector.component.html","packages/sports/web/app/src/media/event-selector.component.ts","packages/sports/web/app/src/media/unpin-info.component.ts","packages/sports/web/app/src/media/unpin-info.component.html","packages/sports/web/app/src/media/video-pin.component.ts","packages/sports/web/app/src/media/video-pin.component.html","packages/sports/web/app/src/media/media-components.module.ts","packages/sports/web/app/src/media/media-tracking.service.ts","packages/sports/web/app/src/media/media.component.html","packages/sports/web/app/src/media/media.component.ts","packages/sports/web/app/src/media/media-widget.registration.ts","packages/sports/web/app/src/media/media.feature.ts"],"sourcesContent":["import { animate, style, transition, trigger } from '@angular/animations';\n\nexport const toggleAnimations = [\n trigger('toggleAnimation', [\n transition(':enter', [\n style({ 'max-height': `0px`, 'opacity': 0 }),\n animate('500ms ease-in-out', style({ 'max-height': `500px`, 'opacity': 1 })),\n ]),\n transition(':leave', [\n style({ 'opacity': 1, 'max-height': `500px`, 'height': '{{mediaHeight}}', 'filter': 'blur(2px)' }),\n animate('300ms ease-in-out', style({ 'max-height': `0px`, 'opacity': 0 })),\n ]),\n ]),\n];\n","import { Injectable } from '@angular/core';\n\nimport { EventMediaHelperService } from '@frontend/sports/betting-offer/feature/media';\nimport { EventDetailsColumnType, EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { MediaConfig } from '@frontend/sports/common/client-config-data-access';\nimport { SportConstant } from '@frontend/sports/common/core/data-access/constants';\nimport { getAnimationIconForSport, getVideoIcon } from '@frontend/sports/common/core/feature/icon';\nimport { EventSwitcherItem, MediaModuleContextPage } from '@frontend/sports/grid/media/feature/model';\nimport { MediaState } from '@frontend/sports/grid/media/feature/state';\nimport { TrackingVideoSource } from '@frontend/sports/tracking/feature';\nimport { findIndex } from 'lodash-es';\n\nimport { EventDetailsHelperService } from '../event-details-common/event-details-helper.service';\nimport { TabBarItem } from '../tab-bar/tab-bar.models';\n\nexport interface MediaComponentState {\n isAnimationAvailable: boolean;\n isStatsExpanderVisible: boolean;\n isEventLive: boolean;\n isEventDetailPage: boolean;\n isExpanded: boolean;\n isLocationAllowsExpand: boolean;\n restoreExpandState: boolean;\n isDefaultExpanded: boolean;\n collapsed: boolean;\n tabs: TabBarItem[];\n videoEventId: string | null;\n videoEvent: EventModel | null;\n animationEvent: EventModel | null;\n statisticsEvent: EventModel | null;\n activeTab: EventDetailsColumnType;\n videoDropdownEvents: EventSwitcherItem[];\n videoPinned: boolean;\n videoUnpinInfoVisible: boolean;\n videoAutoplay: boolean;\n videoPlaying: boolean;\n pinEnabled: boolean;\n hasEventOnMedia: boolean;\n trackingSource: TrackingVideoSource;\n pendingEsport?: EventModel;\n}\n\n@Injectable()\nexport class MediaComponentMapService {\n private readonly defaultBackgroundColor = 'black';\n\n constructor(\n private eventDetailsHelper: EventDetailsHelperService,\n private eventMediaHelperService: EventMediaHelperService,\n private mediaConfig: MediaConfig,\n ) {}\n\n mapContent(mediaState: MediaState): MediaComponentState {\n const animationEvent = mediaState.animation.eventId ? mediaState.eventInfos[mediaState.animation.eventId].event : null;\n const statisticsEvent = mediaState.statistics.eventId ? mediaState.eventInfos[mediaState.statistics.eventId].event : null;\n const videoEvent = mediaState.video.eventId ? mediaState.eventInfos[mediaState.video.eventId].event : null;\n const isAnimationAvailable = !!animationEvent && this.eventMediaHelperService.hasAnimation(animationEvent);\n const isStatsExpanderVisible = !(statisticsEvent && statisticsEvent.sport.id === SportConstant.Soccer);\n const isEventLive = videoEvent ? videoEvent.live : false;\n let hasSecondEventStream = false;\n if (mediaState.context.eventId && Object.keys(mediaState.eventInfos).length > 1) {\n const secondEvent = mediaState.eventInfos[mediaState.context.eventId];\n if (secondEvent) {\n hasSecondEventStream = secondEvent.event.stream !== undefined;\n }\n }\n\n const isEventDetailPage = mediaState.context.page === MediaModuleContextPage.EventDetails;\n const collapsed = mediaState.isCollapsed;\n\n return {\n trackingSource: mediaState.video.trackingSource,\n isAnimationAvailable,\n isStatsExpanderVisible,\n isEventLive,\n isEventDetailPage,\n isExpanded: mediaState.mediaExpandState.isExpanded,\n isLocationAllowsExpand: mediaState.mediaExpandState.isLocationAllowsExpand,\n restoreExpandState: mediaState.mediaExpandState.restoreExpandState,\n isDefaultExpanded: mediaState.mediaExpandState.isDefaultExpanded,\n collapsed,\n videoEventId: mediaState.video.eventId,\n videoEvent,\n animationEvent,\n statisticsEvent,\n activeTab:\n !this.mediaConfig.showVideoStreaming && mediaState.activeTab === EventDetailsColumnType.Video\n ? EventDetailsColumnType.Animation\n : mediaState.activeTab,\n videoDropdownEvents: mediaState.video.dropdownEvents,\n videoPinned: mediaState.video.pinned,\n videoUnpinInfoVisible: mediaState.video.unpinInfoVisible && hasSecondEventStream,\n videoAutoplay: mediaState.video.autoplay,\n videoPlaying: mediaState.video.playing && mediaState.activeTab === EventDetailsColumnType.Video && videoEvent !== null,\n tabs: this.mapTabs(mediaState),\n pinEnabled: !!mediaState.video.eventId && mediaState.video.pinEnabled,\n hasEventOnMedia: Object.keys(mediaState.eventInfos).length > 0,\n pendingEsport: mediaState.pendingEsport,\n };\n }\n\n mapTabs(mediaState: MediaState): TabBarItem[] {\n const tabs: TabBarItem[] = [];\n const sportId = mediaState.animation.eventId ? mediaState.eventInfos[mediaState.animation.eventId].event.sport.id : SportConstant.Soccer;\n const eventId = mediaState.statistics.eventId ? mediaState.eventInfos[mediaState.statistics.eventId].event : null;\n if (this.mediaConfig.showVideoStreaming) {\n tabs.push({\n id: EventDetailsColumnType.Video,\n title: mediaState.video.pinned ? '' : '',\n icon: getVideoIcon(false),\n });\n }\n tabs.push({\n id: EventDetailsColumnType.Animation,\n title: '',\n icon: getAnimationIconForSport(sportId, false),\n disabled: mediaState.animation.eventId\n ? !this.eventMediaHelperService.hasAnimationOrSimulation(mediaState.eventInfos[mediaState.animation.eventId].event)\n : true,\n });\n tabs.push({\n id: EventDetailsColumnType.Stats,\n title: '',\n icon: 'sports-stats',\n disabled: mediaState.statistics.eventId\n ? !(\n this.eventDetailsHelper.hasStats(eventId) ||\n (this.eventDetailsHelper.hasBetRadarMappingID(eventId) && this.mediaConfig.showStatsCenterButton)\n )\n : true,\n });\n\n let activeIndex = findIndex(tabs, (tab) => tab.id === mediaState.activeTab);\n\n if (activeIndex < 0) {\n activeIndex = 0;\n }\n tabs[activeIndex].active = true;\n\n return tabs;\n }\n\n getBackgroundcolor(mediaState: MediaComponentState, type: EventDetailsColumnType): string {\n if (type === EventDetailsColumnType.Video) {\n return this.getBackground(mediaState.videoEvent, true);\n } else if (type === EventDetailsColumnType.Animation) {\n return this.getBackground(mediaState.animationEvent, mediaState.isAnimationAvailable);\n } else if (type === EventDetailsColumnType.Stats) {\n return this.getBackground(mediaState.statisticsEvent, false);\n } else {\n return this.getBackground(mediaState.animationEvent, false);\n }\n }\n\n private getBackground(animationEvent: EventModel | null, isAnimationAvailable: boolean): string {\n if (animationEvent === null) {\n return this.defaultBackgroundColor;\n }\n\n return this.eventDetailsHelper.getBackgroundColor(animationEvent, isAnimationAvailable) || this.defaultBackgroundColor;\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EnvironmentInjector,\n Injectable,\n InjectionToken,\n Injector,\n Type,\n createComponent,\n inject,\n reflectComponentType,\n} from '@angular/core';\n\nexport const DYNAMIC_COMPONENT = new InjectionToken<{\n selector: string;\n componentType: Type;\n}>('component');\n\n@Injectable()\nexport class DynamicComponentsLoaderService {\n private components = new Map>();\n\n private providedComponents =\n inject<\n Array<{\n selector: string;\n componentType: Type;\n }>\n >(DYNAMIC_COMPONENT, { optional: true }) ?? [];\n\n allComponents = () => {\n let componentList = [];\n for (let [key, value] of this.components.entries()) {\n componentList.push({ selector: key, componentType: value });\n }\n return componentList;\n };\n\n constructor() {\n this.providedComponents.forEach((x) => this.register(x.selector, x.componentType));\n }\n\n register(selector: string, componentClass: Type) {\n this.components.set(selector, componentClass);\n }\n\n get(selector: string) {\n return this.components.get(selector);\n }\n}\n\n@Directive({\n standalone: true,\n selector: '[msRenderDynamic]',\n})\nexport class RenderDynamicDirective implements AfterViewInit {\n elementRef = inject(ElementRef);\n injector = inject(Injector);\n envInjector = inject(EnvironmentInjector);\n\n dynamicComponents = inject(DynamicComponentsLoaderService);\n\n ngAfterViewInit() {\n const allComponents = this.dynamicComponents.allComponents();\n\n allComponents.forEach((component) => {\n const element = this.elementRef.nativeElement as HTMLElement;\n const foundElements = Array.from(element.querySelectorAll(component.selector));\n\n for (let elementHost of foundElements) {\n if (elementHost) {\n const cmp = createComponent(component.componentType, {\n hostElement: elementHost,\n elementInjector: this.injector,\n environmentInjector: this.envInjector,\n });\n\n const cmpMirror = reflectComponentType(component.componentType);\n\n Array.from(elementHost.attributes).forEach((attribute) => {\n if (cmpMirror && attribute.name !== 'ng-version') {\n const inputExists = cmpMirror.inputs.some((x) => x.propName === attribute.name);\n if (inputExists) {\n cmp.setInput(attribute.name, attribute.value);\n }\n }\n });\n\n cmp.changeDetectorRef.detectChanges();\n }\n }\n });\n }\n}\n\nexport function provideDynamicComponents(components: Array<{ selector: string; componentType: Type }>) {\n return [\n DynamicComponentsLoaderService,\n ...components.map((cmp) => {\n return {\n provide: DYNAMIC_COMPONENT,\n useValue: {\n selector: cmp.selector,\n componentType: cmp.componentType,\n },\n multi: true,\n };\n }),\n ];\n}\n","import { Component, computed, inject, input } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\n\nimport { RenderDynamicDirective, provideDynamicComponents } from './dynamic-components-loader.service';\n\n@Component({\n selector: 'ms-dynamic-icon',\n imports: [RenderDynamicDirective],\n template: ``,\n providers: [provideDynamicComponents([{ selector: 'vn-icon', componentType: IconCustomComponent }])],\n})\nexport class DynamicIconComponent {\n html = input.required();\n sanitizer = inject(DomSanitizer);\n\n parsedHtml = computed(() => {\n return this.sanitizer.bypassSecurityTrustHtml(this.html());\n });\n}\n","\n @if (isEventSelected) {\n \n }\n \n\n\n @if (isEventSelected) {\n \n } @else {\n \n }\n\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, computed } from '@angular/core';\n\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\n\nimport { EpcotModule } from '../common/epcot-config.service';\n\n@Component({\n selector: 'ms-empty-media',\n templateUrl: 'empty-media.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class EmptyMediaComponent {\n @Input() isEventSelected: boolean;\n @Input() isEventLive: boolean;\n @Input() emptyList: boolean;\n @Input() isExpanded: boolean;\n module = EpcotModule.Statsindicator;\n @HostBinding('class') className = 'empty-media';\n\n message = computed(() => {\n if (this.isEventSelected) {\n return this.isEventLive ? this.sitecore.media.NoLiveStreamingForEvent : this.sitecore.media.NoLiveStreamingForEventPrematch;\n } else {\n return (this.emptyList ? this.sitecore.media.SelectAnimationFromLiveEvents : this.sitecore.media.SelectMediaFromList)\n .replace('{{videoIcon}}', '')\n .replace('{{animationIcon}}', '');\n }\n });\n\n constructor(public sitecore: Sitecore) {}\n}\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\nimport { TimerService } from '@frontend/sports/common/core/utils/timer';\n\n@Directive({\n selector: '[msScrollToActive]',\n standalone: false,\n})\nexport class ScrollToActiveDirective implements AfterViewInit {\n constructor(\n private element: ElementRef,\n private timer: TimerService,\n ) {}\n\n ngAfterViewInit(): void {\n const child = this.element.nativeElement.querySelector('.active') as HTMLElement;\n if (!child) {\n return;\n }\n\n this.timer.setAnimationFrame(() => {\n this.element.nativeElement.scrollTop = child.offsetTop - this.element.nativeElement.clientHeight / 2 + child.clientHeight / 2;\n });\n }\n}\n","
\n
\n @if (selectedEvent) {\n \n
{{ !!selectedEvent && selectedEvent!.name }}
\n }\n\n @if (!selectedEvent) {\n {{ selectorTitle }}\n }\n
\n @if (!!eventsList.length) {\n \n }\n
\n@if (!collapsed && !!eventsList.length) {\n
\n
\n @for (item of eventsList; track $index) {\n
\n \n
{{ item.name }}
\n
\n @for (child of item.children; track $index) {\n
\n
{{ child.name }}
\n
\n }\n }\n
\n
\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\n\nimport { EventDetailsColumnType } from '@frontend/sports/betting-offer/feature/model';\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { EventSwitcherEventItem, EventSwitcherItem, MediaEventSource } from '@frontend/sports/grid/media/feature/model';\nimport { IMediaRootState, MediaApiActions } from '@frontend/sports/grid/media/feature/state';\nimport { TrackingService, TrackingVideoSource, trackingConstants } from '@frontend/sports/tracking/feature';\nimport { Store } from '@ngrx/store';\n\nimport { AdaptiveLayoutService } from '../layout/adaptive-layout.service';\nimport { RightColumnSize } from '../layout/layout.model';\nimport { Actions } from './actions';\n\nconst containerHeightMap = {\n [RightColumnSize.ExtraLarge]: 'size-xl',\n [RightColumnSize.Large]: 'size-l',\n};\n\n@Component({\n selector: 'ms-event-selector',\n templateUrl: 'event-selector.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class EventSelectorComponent implements OnInit, OnChanges {\n @Input() eventsList: EventSwitcherItem[];\n @Input() selectedEventId: string | null;\n @HostBinding('class') className = 'event-selector';\n\n collapsed = true;\n selectedEvent: { id: string; name: string; sportId: number } | null = null;\n containerHeight = '';\n selectorTitle: string;\n\n constructor(\n public sitecore: Sitecore,\n private elementRef: ElementRef,\n private trackingService: TrackingService,\n private adaptiveLayoutService: AdaptiveLayoutService,\n private store: Store,\n ) {}\n\n @HostListener('window:click', ['$event'])\n clickout(event: any): void {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.collapsed = true;\n }\n }\n\n ngOnInit(): void {\n this.getDropdownHeight();\n }\n\n /// In case we are setting an event in the dropdown but cannot find it in the list, we will refresh the dropdown content(maybe stalled data).\n /// If we still cannot find it after that, it means that the event is expired. In this case we will unset the event from Video tab\n ngOnChanges(changes: SimpleChanges): void {\n this.selectorTitle = this.eventsList.length ? this.sitecore.media.EventSelectorTitle : this.sitecore.media.NoLiveStreamingEvents;\n this.selectedEvent = null;\n if (this.selectedEventId === null) {\n return;\n }\n\n for (const sport of this.eventsList) {\n if (!sport.children) {\n continue;\n }\n\n const event = sport.children.find((child) => child.id === this.selectedEventId);\n if (event) {\n this.selectedEvent = { id: event.id.toString(), name: event.name, sportId: +sport.id };\n break;\n }\n }\n\n if (changes.selectedEventId) {\n if (this.selectedEvent === null) {\n this.fetchVideoEvents();\n }\n\n if (changes.selectedEventId.currentValue !== changes.selectedEventId.previousValue) {\n this.collapsed = true;\n }\n\n return;\n }\n\n if (!!this.selectedEventId && !this.selectedEvent) {\n this.unsetEvent();\n }\n }\n\n getDropdownHeight(): void {\n if (this.selectedEventId !== null) {\n //TODO any index issue, probably a defect, please investigate\n //@ts-ignore this looks wrong, below we use ColumnSize enum, but the map object is using RightColumnSize\n this.containerHeight = containerHeightMap[this.adaptiveLayoutService.current.rightColumnSize] || '';\n }\n }\n\n changed(event: EventSwitcherEventItem): void {\n this.toggleSelector();\n if (event.id !== this.selectedEventId) {\n this.trackingService.track(trackingConstants.EVENT_MEDIA, {\n [trackingConstants.COMPONENT_SITE_ELEMENT_INTERCATIONS]: 'MediaModule_EventSwitcher_EventChanged',\n });\n this.setDropdownEvent(event.id.toString());\n }\n }\n\n toggleSelector(): void {\n this.collapsed = !this.collapsed;\n this.getDropdownHeight();\n }\n\n scrolled(event: Event): void {\n event.stopPropagation();\n }\n\n private fetchVideoEvents(): void {\n this.store.dispatch(Actions.fetchVideoEvents());\n }\n\n private unsetEvent(): void {\n this.store.dispatch(Actions.unsetEvent({ columnType: EventDetailsColumnType.Video }));\n }\n\n private setDropdownEvent(eventId: string): void {\n this.store.dispatch(\n MediaApiActions.setEventId({\n payload: {\n eventId,\n source: MediaEventSource.EventSwitcher,\n tab: EventDetailsColumnType.Video,\n trackingVideoSource: TrackingVideoSource.EventSwitcher,\n },\n }),\n );\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';\n\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { Store } from '@ngrx/store';\n\nimport { Actions } from './actions';\n\n@Component({\n selector: 'ms-unpin-info',\n templateUrl: 'unpin-info.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class UnpinInfoComponent {\n @HostBinding('class') className = 'unpin-info';\n\n constructor(\n public sitecore: Sitecore,\n private store: Store,\n ) {}\n\n close(): void {\n this.closeInfoMessage();\n }\n\n private closeInfoMessage(): void {\n this.store.dispatch(Actions.acceptUnpinInfoMessage());\n }\n}\n","
\n \n
\n{{ sitecore.media.UnpinOnboarding }}\n
\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output, computed } from '@angular/core';\n\nimport { EpcotConfigService } from '../common/epcot-config.service';\n\n@Component({\n selector: 'ms-video-pin',\n templateUrl: 'video-pin.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class VideoPinComponent {\n @HostBinding('class.pinned')\n @Input()\n isPinned: boolean;\n\n @HostBinding('class.video-pin')\n class = true;\n\n @HostBinding('class.disabled')\n @Input()\n disabled: boolean;\n\n @Output()\n toggle = new EventEmitter();\n\n @HostListener('click')\n onClick(): void {\n if (!this.disabled) {\n this.toggle.emit();\n }\n }\n\n readonly isEpcotEnabled = computed(() => this.epcotConfigService.isEnabled());\n\n constructor(private epcotConfigService: EpcotConfigService) {}\n}\n","\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\n\nimport { RenderDynamicDirective } from '../common/dynamic-components-loader.service';\nimport { DynamicIconComponent } from '../common/dynamic-icon-loader.component';\nimport { ShowInEpcotDirective } from '../common/epcot-config.directive';\nimport { EpcotNotificationComponent } from '../common/epcotNotifications/notification.component';\nimport { ExpansionPanelComponent } from '../common/expansion-panel/expansion-panel.component';\nimport { DirectivesModule } from '../directives/directives.module';\nimport { TabBarModule } from '../tab-bar/tab-bar.module';\nimport { EmptyMediaComponent } from './empty-media.component';\nimport { EventSelectorComponent } from './event-selector.component';\nimport { ScrollToActiveDirective } from './scroll-to-active.directive';\nimport { UnpinInfoComponent } from './unpin-info.component';\nimport { VideoPinComponent } from './video-pin.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DirectivesModule,\n ShowInEpcotDirective,\n EpcotNotificationComponent,\n TabBarModule,\n ExpansionPanelComponent,\n IconCustomComponent,\n RenderDynamicDirective,\n DynamicIconComponent,\n ],\n declarations: [EmptyMediaComponent, EventSelectorComponent, VideoPinComponent, ScrollToActiveDirective, UnpinInfoComponent],\n exports: [\n DirectivesModule,\n TabBarModule,\n EmptyMediaComponent,\n EventSelectorComponent,\n VideoPinComponent,\n ScrollToActiveDirective,\n UnpinInfoComponent,\n ],\n})\nexport class MediaComponentsModule {}\n","import { Injectable } from '@angular/core';\n\nimport { EventDetailsColumnType, EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { NOT_APPLICABLE, TrackData, TrackingService, trackingConstants } from '@frontend/sports/tracking/feature';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MediaTrackingService {\n private mediaTabs = {\n [EventDetailsColumnType.Stats]: 'stats tab',\n [EventDetailsColumnType.Animation]: 'animation tab',\n [EventDetailsColumnType.Video]: 'video tab',\n };\n\n constructor(private trackingService: TrackingService) {}\n\n trackTabClick(eventActiveId: EventDetailsColumnType, event: EventModel | null, index: number): void {\n if (!event) {\n return;\n }\n\n const trackingData = {\n ...this.baseTracking,\n [trackingConstants.COMPONENT_ACTION_EVENT]: 'click',\n [trackingConstants.COMPONENT_EVENT_DETAILS]: this.mediaTabs[eventActiveId] ?? NOT_APPLICABLE,\n [trackingConstants.SPORT_ID]: event.sport.id.toString(),\n [trackingConstants.SPORT_EVENT_ID]: event.id.toString(),\n [trackingConstants.COMPONENT_CONTENT_POSITION]: index.toString(),\n };\n\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n trackPanelToggle(isCollapsed: boolean): void {\n const trackingData = {\n ...this.baseTracking,\n [trackingConstants.COMPONENT_ACTION_EVENT]: isCollapsed ? 'Expand' : 'Collapse',\n };\n\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n trackPin(isPinned: boolean): void {\n const trackingData = {\n ...this.baseTracking,\n [trackingConstants.COMPONENT_ACTION_EVENT]: isPinned ? 'unpin' : 'pin',\n [trackingConstants.COMPONENT_EVENT_DETAILS]: 'video',\n };\n\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n private get baseTracking(): TrackData {\n return {\n [trackingConstants.COMPONENT_CATEGORY_EVENT]: 'Media Module',\n [trackingConstants.COMPONENT_LABEL_EVENT]: 'Media Module Interactions',\n [trackingConstants.COMPONENT_ACTION_EVENT]: NOT_APPLICABLE,\n [trackingConstants.COMPONENT_POSITION_EVENT]: NOT_APPLICABLE,\n [trackingConstants.COMPONENT_LOCATION_EVENT]: NOT_APPLICABLE,\n [trackingConstants.COMPONENT_EVENT_DETAILS]: NOT_APPLICABLE,\n [trackingConstants.COMPONENT_URL_CLICKED]: NOT_APPLICABLE,\n };\n }\n}\n","@if (!!mediaState) {\n
\n
\n
{{ sitecore.media.Title }}
\n \n \n
\n @if (!mediaState.collapsed) {\n \n @if (isExpandedMediaEnabled && !mediaState.videoPlaying) {\n \n \n \n \n
\n }\n @switch (mediaState.activeTab) {\n @case (tabType.Video) {\n
\n \n \n @if (mediaState.videoUnpinInfoVisible) {\n \n }\n
\n \n @if (mediaState.videoEvent && (!mediaState.pendingEsport || mediaState.videoPinned)) {\n \n }\n @if (isOnEventDetails && mediaState.pendingEsport && !mediaState.videoEvent) {\n \n }\n \n @if (!mediaState.videoEvent && !mediaState.pendingEsport) {\n \n }\n }\n @case (tabType.Animation) {\n
\n @if (!isAnimationDisabled()) {\n @if (!mediaState.isAnimationAvailable && mediaState.animationEvent && mediaState.animationEvent.runningBallDataId) {\n \n } @else {\n \n }\n } @else {\n \n }\n
\n }\n @case (tabType.Stats) {\n
\n @if (mediaState.statisticsEvent) {\n \n }\n
\n }\n }\n \n }\n \n}\n","import { AsyncPipe, DOCUMENT, NgClass, NgStyle } from '@angular/common';\nimport { Component, OnDestroy, OnInit, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivationEnd } from '@angular/router';\n\nimport { EventDetailsColumnType, EventModel, isBespokeSport } from '@frontend/sports/betting-offer/feature/model';\nimport { ShortNameModule, ShortTeamNamesService } from '@frontend/sports/betting-offer/feature/short-team-names';\nimport { MediaConfig, ScoreboardBackgroundConfig, Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { SportConstant } from '@frontend/sports/common/core/data-access/constants';\nimport { RouteTag } from '@frontend/sports/common/core/data-access/route';\nimport { Optional } from '@frontend/sports/common/core/utils/extended-types';\nimport { RouterEventsService } from '@frontend/sports/common/core/utils/router-events';\nimport { ScrollContainerService } from '@frontend/sports/common/core/utils/scroll-container';\nimport { CompetitionLogosService } from '@frontend/sports/competition-logos/feature';\nimport { MediaTab } from '@frontend/sports/grid/media/feature/model';\nimport { IMediaRootState, MediaState, mediaStateSelector } from '@frontend/sports/grid/media/feature/state';\nimport { TrackingService, TrackingVideoSource, trackingConstants } from '@frontend/sports/tracking/feature';\nimport { DeviceService, MediaQueryService } from '@frontend/vanilla/core';\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\nimport { Store } from '@ngrx/store';\nimport { round } from 'lodash-es';\nimport { DynamicComponent, DynamicIoDirective } from 'ng-dynamic-component';\nimport { Observable, defer, map } from 'rxjs';\n\nimport { AnimationComponentLoaderService, EventAnimationBinding } from '../animation/animation-component-loader.service';\nimport { ExpansionPanelComponent } from '../common/expansion-panel/expansion-panel.component';\nimport { ComponentProxy } from '../deferred/component-loader.service';\nimport { ComponentProxyDirective } from '../deferred/component-proxy.directive';\nimport { AdaptiveLayoutService } from '../layout/adaptive-layout.service';\nimport { ColumnSize } from '../layout/layout.model';\nimport { MatchSimulationComponent } from '../match-simulation/match-simulation.component';\nimport { TabBarEvent } from '../tab-bar/tab-bar.models';\nimport { VideoStreamButtonComponent } from '../video-stream/video-stream-button/video-stream-button.component';\nimport { EventVideoStreamBinding, VideoStreamComponentLoaderService } from '../video-stream/video-stream-component-loader.service';\nimport { WidgetComponent } from '../widget/core/widget-registry.service';\nimport { Actions } from './actions';\nimport { toggleAnimations } from './animations';\nimport { MediaComponentMapService, MediaComponentState } from './media-component-map.service';\nimport { MediaComponentsModule } from './media-components.module';\nimport { MediaTrackingService } from './media-tracking.service';\n\nclass TrackingEventNames {\n static readonly MediaModule_Animation_Tab_Click = 'MediaModule_Animation_Tab_Click';\n static readonly MediaModule_Video_Tab_Click = 'MediaModule_Video_Tab_Click';\n static readonly MediaModule_Stats_Tab_Click = (sportId: number): string => `Bet_Radar_GridStats_MediaModule_SB_ ${sportId}_Click`;\n}\n\nconst tabClickTrackingEvent = {\n [EventDetailsColumnType.Video]: TrackingEventNames.MediaModule_Video_Tab_Click,\n [EventDetailsColumnType.Animation]: TrackingEventNames.MediaModule_Animation_Tab_Click,\n [EventDetailsColumnType.Stats]: (sportId: number) => TrackingEventNames.MediaModule_Stats_Tab_Click(sportId),\n};\n\n@Component({\n selector: 'ms-media',\n templateUrl: 'media.component.html',\n providers: [MediaComponentMapService, MediaTrackingService], // additionally registering dedicated tracking\n // service, to make sure modular-tracking.service overrides tracking.service\n animations: [toggleAnimations],\n imports: [\n DynamicIoDirective,\n DynamicComponent,\n MediaComponentsModule,\n AsyncPipe,\n NgClass,\n NgStyle,\n ExpansionPanelComponent,\n MatchSimulationComponent,\n ComponentProxyDirective,\n VideoStreamButtonComponent,\n IconCustomComponent,\n ],\n})\nexport class MediaComponent extends WidgetComponent implements OnInit, OnDestroy {\n tabType = EventDetailsColumnType;\n mediaState: MediaComponentState;\n statsCollapsed = true;\n sportType = SportConstant;\n isExpandedMediaEnabled: boolean;\n isMobileExpand: boolean;\n\n readonly EXPAND_BUTTON_FADE_TIME = 500; // 0.5 sec\n\n private mediaState$: Observable;\n trackingSource = '';\n private readonly trackingMap = {\n [EventDetailsColumnType.Video]: 'VideoTab',\n [EventDetailsColumnType.Stats]: 'StatsTab',\n [EventDetailsColumnType.Animation]: 'AnimationTab',\n };\n\n private mediaSize = new Map([\n [ColumnSize.ExtraLarge, [{ width: 550 }]],\n [ColumnSize.Large, [{ width: 440 }]],\n [ColumnSize.Default, [{ target: 'gt-mw', width: 375 }, { width: 350 }]],\n ]);\n\n eventStatisticsComponent$ = defer(() => import('../statistics/event-statistics.component')).pipe(map((c) => c.EventStatisticsComponent));\n\n eventStatisticsComponentOutputs = {\n toggle: (expand: unknown) => this.onFootballStatExpand(!!expand),\n };\n\n private readonly _doc = inject(DOCUMENT);\n\n constructor(\n public sitecore: Sitecore,\n public deviceService: DeviceService,\n private trackingService: TrackingService,\n private mapperService: MediaComponentMapService,\n private mediaConfig: MediaConfig,\n private scrollContainer: ScrollContainerService,\n private routerEventsService: RouterEventsService,\n private mediaService: MediaQueryService,\n private competitionLogosService: CompetitionLogosService,\n private scoreboardBackgrounds: ScoreboardBackgroundConfig,\n private shortTeamNamesService: ShortTeamNamesService,\n loader: AnimationComponentLoaderService,\n private store: Store,\n private mediaTrackingService: MediaTrackingService,\n videoLoader: VideoStreamComponentLoaderService,\n private layoutService: AdaptiveLayoutService,\n ) {\n super();\n this.mediaState$ = store.select(mediaStateSelector);\n this.animationComponent = loader.getAnimationComponent();\n this.videoStreamComponent = videoLoader.getVideoStreamComponent();\n this.videoStreamComponent.subscribeToOutputs({ toggleMediaExpand: this.toggleMediaExpand });\n }\n\n sportId: number | null;\n isStatsExpanded = false;\n isLiveEvent: boolean | null;\n videoAndAnimationBgColor = {};\n statsBgColor = { 'background-image': '' };\n mediaHeight = 0;\n animationComponent: ComponentProxy;\n videoStreamComponent: ComponentProxy;\n private isEsport: boolean;\n streamingMessageHeight?: string;\n isOnEventDetails: boolean;\n\n ngOnInit(): void {\n this.init();\n\n this.mediaState$\n .pipe(\n map((mediaState: MediaState) => {\n this.sportId = this.getSportId(mediaState);\n\n const videoEvent = mediaState.video.eventId ? mediaState.eventInfos[mediaState.video.eventId].event : null;\n this.isEsport = !!videoEvent?.sport.isEsport;\n\n const statisticsEvent = mediaState.statistics.eventId ? mediaState.eventInfos[mediaState.statistics.eventId].event : null;\n this.isLiveEvent = statisticsEvent && statisticsEvent.live;\n\n return this.mapperService.mapContent(mediaState);\n }),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe((mediaComponentState) => {\n const previous = this.mediaState;\n const last = mediaComponentState;\n if (last.trackingSource !== TrackingVideoSource.Default) {\n this.trackingSource = last.trackingSource;\n }\n\n const scrollToTop =\n !previous ||\n last.activeTab !== previous.activeTab ||\n (last.animationEvent && last.animationEvent.id) !== (previous.animationEvent && previous.animationEvent.id) ||\n (last.statisticsEvent && last.statisticsEvent.id) !== (previous.statisticsEvent && previous.statisticsEvent.id) ||\n last.videoEventId !== previous.videoEventId;\n\n if (scrollToTop) {\n this.scrollContainer.scrollTo(0, 0);\n }\n this.mediaState = mediaComponentState;\n this.statsCollapsed = mediaComponentState.isStatsExpanderVisible;\n\n this.setShortNames();\n this.setBackGroundColor();\n this.setAnimation();\n this.setVideoStream();\n this.setStreamMessageHeight();\n });\n\n this.routerEventsService.currentActivationEnd\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => this.onCurrentActivationEnd(event));\n\n this.mediaService\n .observe()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.madiaSizeChanged());\n\n this.setBackGroundColor();\n this.setStreamMessageHeight();\n }\n\n isAnimationDisabled(): boolean {\n return this.mediaState.tabs.findIndex((tab) => tab.id === EventDetailsColumnType.Animation && tab.disabled) > -1;\n }\n\n private setShortNames(): void {\n const event = this.mediaState.animationEvent;\n\n if (!event || !this.competitionLogosService.getLogoUrl(event.sport.id, event.league.id) || !event.participants.length) {\n return;\n }\n\n if (\n event.participants.length > 0 &&\n this.shortTeamNamesService.shouldUseShortName(event.participants[0], event.sport.id, event.league.id, ShortNameModule.Grids)\n ) {\n this.setShortName('01', 0);\n }\n\n if (\n event.participants.length > 1 &&\n this.shortTeamNamesService.shouldUseShortName(event.participants[1], event.sport.id, event.league.id, ShortNameModule.Grids)\n ) {\n this.setShortName('02', 1);\n }\n }\n\n private setShortName(player: string, index: number): void {\n const scoreboard = this.mediaState.animationEvent!.scoreboard as any;\n const participants = this.mediaState.animationEvent!.participants;\n\n const val = participants[index].shortName;\n\n if (scoreboard.playerInfo) {\n scoreboard.playerInfo.players[player].teamName = val;\n }\n\n if (scoreboard.score?.playerInfo) {\n scoreboard.score.playerInfo.players[player].teamName = val;\n }\n }\n\n ngOnDestroy(): void {\n this.toggleMediaModule(false);\n }\n\n tabSelected(event: TabBarEvent): void {\n const mediaTab: MediaTab = { tabId: event.active.id, trackingSource: TrackingVideoSource.Default };\n const tabIndex = this.mediaState.tabs.findIndex((tab) => tab.id === mediaTab.tabId);\n if (tabClickTrackingEvent[event.active.id]) {\n mediaTab.trackingSource = TrackingVideoSource.MediaColumn;\n\n const mapEventObjByTabs: Record = {\n [EventDetailsColumnType.Stats]: this.mediaState.statisticsEvent,\n [EventDetailsColumnType.Animation]: this.mediaState.animationEvent,\n [EventDetailsColumnType.Video]: this.mediaState.videoEvent,\n };\n\n this.mediaTrackingService.trackTabClick(event.active.id, mapEventObjByTabs[event.active.id], tabIndex);\n }\n\n if (!event.active.disabled) {\n this.toggleCollapsedState(this.mediaState.tabs.length === 1 ? !this.mediaState.collapsed : false);\n this.updateActiveTab(mediaTab);\n }\n this.setAnimationHeight();\n }\n\n panelToggled(collapsed: boolean): void {\n this.mediaTrackingService.trackPanelToggle(collapsed);\n this.toggleCollapsedState(!collapsed);\n this.setAnimationHeight();\n }\n\n statsToggled(): void {\n this.statsCollapsed = !this.statsCollapsed;\n }\n\n getBackground(mediaState: MediaComponentState, type: EventDetailsColumnType): string {\n if (type === EventDetailsColumnType.Animation) {\n const animationHeight = mediaState.isAnimationAvailable ? 'animation-height' : '';\n\n return animationHeight + ' ' + this.mapperService.getBackgroundcolor(mediaState, type);\n } else if (type === EventDetailsColumnType.Stats) {\n const statsClass = 'stats-column';\n const collapsedClass = !this.isStatsExpanded ? 'prematch-collapsed' : '';\n\n return statsClass + ' ' + collapsedClass + ' ' + this.mapperService.getBackgroundcolor(mediaState, type);\n }\n\n return this.mapperService.getBackgroundcolor(mediaState, type);\n }\n\n onFootballStatExpand(expand: boolean): void {\n this.isStatsExpanded = expand;\n }\n\n madiaSizeChanged(): void {\n this.store.dispatch(Actions.breakpointChanged());\n }\n\n togglePin(isPinned: boolean): void {\n this.mediaTrackingService.trackPin(isPinned);\n this.store.dispatch(Actions.togglePin({ value: !isPinned }));\n }\n\n toggleMediaExpand = () => {\n this.toggleExpand(!this.mediaState.isExpanded);\n };\n\n toggleExpand(restoreExpandState: boolean): void {\n if (this.deviceService.isMobile) {\n this.isMobileExpand = true;\n }\n\n const state = this.mediaState.isExpanded ? 'Collapse' : 'Expand';\n let activeTab = this.trackingMap[this.mediaState.activeTab];\n\n if (!this.mediaState.videoEvent && activeTab === this.trackingMap[EventDetailsColumnType.Video]) {\n activeTab = 'MediaTab';\n }\n\n this.trackingService.track(trackingConstants.EVENT_MEDIA, {\n [trackingConstants.COMPONENT_SITE_ELEMENT_INTERCATIONS]: `MediaModule_${state}_${activeTab}`,\n });\n\n this.store.dispatch(Actions.toggleExpand({ value: restoreExpandState }));\n }\n\n private setAnimationHeight() {\n setTimeout(() => {\n const ele = this._doc.getElementById('mediaContainer');\n const divHeight = ele?.offsetHeight || 0;\n this.mediaHeight = divHeight;\n }, 500);\n }\n\n private setAnimation(): void {\n const event = this.mediaState.animationEvent;\n\n if (event) {\n this.animationComponent.update({ event, scoreboard: event.scoreboard, inColumn: true });\n }\n }\n\n private init(): void {\n this.store.dispatch(Actions.init());\n }\n\n private toggleMediaModule(enabled: boolean): void {\n this.store.dispatch(Actions.toggleMediaModule({ value: enabled }));\n }\n\n private updateActiveTab(mediaTab: MediaTab): void {\n this.store.dispatch(Actions.setActiveTab({ tab: mediaTab }));\n }\n\n private toggleCollapsedState(isCollapsed: boolean): void {\n this.store.dispatch(Actions.toggleCollapsedState({ value: isCollapsed }));\n }\n\n private setAvailableExpandLocation(): void {\n this.store.dispatch(Actions.setAvailableExpandLocation({ value: this.isExpandedMediaEnabled }));\n }\n\n private onCurrentActivationEnd(event: Optional): void {\n const snapshot = event?.snapshot;\n const routeTag = snapshot?.data['tag'];\n const sportId = snapshot?.data['model']?.model?.sport?.id ?? 0;\n this.isOnEventDetails = routeTag === RouteTag.EventDetails;\n\n if (sportId === this.sportType.Golf && this.isOnEventDetails) {\n this.mediaState.isDefaultExpanded = true;\n } else {\n this.mediaState.isDefaultExpanded = false;\n }\n\n this.isExpandedMediaEnabled =\n this.mediaConfig.isExpandedMediaEnabled && this.mediaConfig.expandedMediaEnabledLocations.indexOf(routeTag) > -1;\n\n // Reset/restore column width\n if (\n (this.mediaState.isExpanded && !this.isExpandedMediaEnabled) ||\n (this.mediaState.restoreExpandState && this.isExpandedMediaEnabled && !this.mediaState.isExpanded) ||\n (this.mediaState.isDefaultExpanded && this.isExpandedMediaEnabled && !this.mediaState.isExpanded)\n ) {\n this.toggleExpand(true);\n }\n\n if (this.isExpandedMediaEnabled !== this.mediaState.isLocationAllowsExpand) {\n this.setAvailableExpandLocation();\n }\n\n this.setStreamMessageHeight();\n }\n\n private setBackGroundColor = (): void => {\n if (this.mediaState.pendingEsport) {\n this.isEsport = !!this.mediaState.pendingEsport.sport.isEsport;\n this.sportId = this.mediaState.pendingEsport.sport.id;\n }\n\n const isBeSpokeSport = isBespokeSport(this.sportId || 0, this.isEsport);\n const background = this.scoreboardBackgrounds.backgrounds.find((x) => x.sportId === this.sportId && isBeSpokeSport);\n if (background) {\n const gradient = { 'background-image': `radial-gradient(circle 115px at top, ${background.innerColor}, ${background.outerColor})` };\n\n this.videoAndAnimationBgColor = this.isEsport ? gradient : { background: background.outerColor };\n this.statsBgColor = gradient;\n } else {\n this.videoAndAnimationBgColor = { background: '' };\n this.statsBgColor = { 'background-image': '' };\n }\n };\n\n private getSportId(mediaState: MediaState): number {\n if (mediaState.statistics.eventId) {\n return mediaState.eventInfos[mediaState.statistics.eventId].event.sport.id;\n } else if (mediaState.animation.eventId) {\n return mediaState.eventInfos[mediaState.animation.eventId].event.sport.id;\n } else if (mediaState.video.eventId) {\n return mediaState.eventInfos[mediaState.video.eventId].event.sport.id;\n }\n\n return 0;\n }\n\n private setVideoStream(): void {\n const event = this.mediaState.videoEvent;\n\n if (event) {\n this.videoStreamComponent.update({\n event,\n inColumn: true,\n autoplay: this.mediaState.videoAutoplay,\n isExpanded: this.mediaState.isExpanded,\n isExpandEnabled: this.isExpandedMediaEnabled,\n trackingSource: this.trackingSource,\n });\n }\n }\n\n private setStreamMessageHeight(): void {\n if (this.isOnEventDetails && this.mediaState.pendingEsport) {\n const sizes = this.mediaSize.get(this.layoutService.current.rightColumnSize) || [];\n for (const size of sizes) {\n if (!size.target || this.mediaService.isActive(size.target)) {\n this.streamingMessageHeight = `${round((size.width * 9) / 16)}px`;\n break;\n }\n }\n } else {\n this.streamingMessageHeight = undefined;\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { WidgetType } from '@frontend/sports/types/components/widget';\nimport { OnFeatureInit } from '@frontend/vanilla/core';\n\nimport { WidgetRegistryService } from '../widget/core/widget-registry.service';\nimport { MediaComponent } from './media.component';\n\n@Injectable({ providedIn: 'root' })\nexport class MediaWidgetRegistration implements OnFeatureInit {\n constructor(private widgetRegistry: WidgetRegistryService) {}\n\n onFeatureInit() {\n this.widgetRegistry.registerLazy(WidgetType.Media, MediaComponent);\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { MediaWidgetRegistration } from './media-widget.registration';\n\nexport function provide() {\n return [runOnFeatureInit(MediaWidgetRegistration)];\n}\n"],"names":["toggleAnimations","trigger","transition","style","animate","MediaComponentMapService","constructor","eventDetailsHelper","eventMediaHelperService","mediaConfig","defaultBackgroundColor","mapContent","mediaState","animationEvent","animation","eventId","eventInfos","event","statisticsEvent","statistics","videoEvent","video","isAnimationAvailable","hasAnimation","isStatsExpanderVisible","sport","id","SportConstant","Soccer","isEventLive","live","hasSecondEventStream","context","Object","keys","length","secondEvent","stream","undefined","isEventDetailPage","page","MediaModuleContextPage","EventDetails","collapsed","isCollapsed","trackingSource","isExpanded","mediaExpandState","isLocationAllowsExpand","restoreExpandState","isDefaultExpanded","videoEventId","activeTab","showVideoStreaming","EventDetailsColumnType","Video","Animation","videoDropdownEvents","dropdownEvents","videoPinned","pinned","videoUnpinInfoVisible","unpinInfoVisible","videoAutoplay","autoplay","videoPlaying","playing","tabs","mapTabs","pinEnabled","hasEventOnMedia","pendingEsport","sportId","push","title","icon","getVideoIcon","getAnimationIconForSport","disabled","hasAnimationOrSimulation","Stats","hasStats","hasBetRadarMappingID","showStatsCenterButton","activeIndex","findIndex","tab","active","getBackgroundcolor","type","getBackground","getBackgroundColor","ɵɵinject","EventDetailsHelperService","EventMediaHelperService","MediaConfig","V","factory","ɵfac","_MediaComponentMapService","DYNAMIC_COMPONENT","InjectionToken","DynamicComponentsLoaderService","components","Map","providedComponents","inject","optional","allComponents","componentList","key","value","entries","selector","componentType","forEach","x","register","componentClass","set","get","_DynamicComponentsLoaderService","RenderDynamicDirective","elementRef","ElementRef","injector","Injector","envInjector","EnvironmentInjector","dynamicComponents","ngAfterViewInit","component","element","nativeElement","foundElements","Array","from","querySelectorAll","elementHost","cmp","createComponent","hostElement","elementInjector","environmentInjector","cmpMirror","reflectComponentType","attributes","attribute","name","inputs","some","propName","setInput","changeDetectorRef","detectChanges","ie","selectors","_RenderDynamicDirective","provideDynamicComponents","map","provide","useValue","multi","DynamicIconComponent","html","input","required","sanitizer","DomSanitizer","parsedHtml","computed","bypassSecurityTrustHtml","T","features","ɵɵProvidersFeature","IconCustomComponent","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵproperty","ɵɵsanitizeHtml","encapsulation","_DynamicIconComponent","ɵɵelementContainerStart","ɵɵtemplate","EmptyMediaComponent_ng_container_0_Conditional_1_Template","Ce","d","ɵɵadvance","ɵɵconditional","ctx_r0","isEventSelected","message","EmptyMediaComponent_ng_container_1_Conditional_1_Template","EmptyMediaComponent_ng_container_1_Conditional_2_Template","EmptyMediaComponent","sitecore","module","EpcotModule","Statsindicator","className","media","NoLiveStreamingForEvent","NoLiveStreamingForEventPrematch","emptyList","SelectAnimationFromLiveEvents","SelectMediaFromList","replace","n","ɵɵdirectiveInject","Sitecore","hostVars","hostBindings","ɵɵclassMap","EmptyMediaComponent_ng_container_0_Template","EmptyMediaComponent_ng_container_1_Template","ɵɵpureFunction1","_c0","_c1","ft","de","S","_EmptyMediaComponent","ScrollToActiveDirective","timer","child","querySelector","setAnimationFrame","scrollTop","offsetTop","clientHeight","TimerService","standalone","_ScrollToActiveDirective","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","selectedEvent","ɵɵtextInterpolate","ɵɵtextInterpolate1","selectorTitle","ɵɵlistener","child_r4","ɵɵrestoreView","_r3","$implicit","ɵɵnextContext","ɵɵresetView","changed","ɵɵclassProp","selectedEventId","ɵɵrepeaterCreate","EventSelectorComponent_Conditional_5_For_3_For_5_Template","ɵɵrepeaterTrackByIndex","item_r5","ɵɵrepeater","children","$event","_r2","scrolled","EventSelectorComponent_Conditional_5_For_3_Template","containerHeight","eventsList","containerHeightMap","RightColumnSize","ExtraLarge","Large","EventSelectorComponent","trackingService","adaptiveLayoutService","store","clickout","contains","target","ngOnInit","getDropdownHeight","ngOnChanges","changes","EventSelectorTitle","NoLiveStreamingEvents","find","toString","fetchVideoEvents","currentValue","previousValue","unsetEvent","current","rightColumnSize","toggleSelector","track","trackingConstants","EVENT_MEDIA","COMPONENT_SITE_ELEMENT_INTERCATIONS","setDropdownEvent","stopPropagation","dispatch","Actions","columnType","MediaApiActions","setEventId","payload","source","MediaEventSource","EventSwitcher","trackingVideoSource","TrackingVideoSource","TrackingService","AdaptiveLayoutService","Store","ɵɵresolveWindow","EventSelectorComponent_Conditional_2_Template","EventSelectorComponent_Conditional_3_Template","EventSelectorComponent_Conditional_4_Template","EventSelectorComponent_Conditional_5_Template","_EventSelectorComponent","UnpinInfoComponent","close","closeInfoMessage","acceptUnpinInfoMessage","UnpinOnboarding","_UnpinInfoComponent","VideoPinComponent","onClick","toggle","emit","epcotConfigService","class","EventEmitter","isEpcotEnabled","isEnabled","EpcotConfigService","isPinned","_VideoPinComponent","MediaComponentsModule","CommonModule","DirectivesModule","EpcotNotificationComponent","TabBarModule","ExpansionPanelComponent","_MediaComponentsModule","MediaTrackingService","mediaTabs","trackTabClick","eventActiveId","index","trackingData","__spreadProps","__spreadValues","baseTracking","COMPONENT_ACTION_EVENT","COMPONENT_EVENT_DETAILS","NOT_APPLICABLE","SPORT_ID","SPORT_EVENT_ID","COMPONENT_CONTENT_POSITION","EVENT_TRACKING","trackPanelToggle","trackPin","COMPONENT_CATEGORY_EVENT","COMPONENT_LABEL_EVENT","COMPONENT_POSITION_EVENT","COMPONENT_LOCATION_EVENT","COMPONENT_URL_CLICKED","providedIn","_MediaTrackingService","B","ctx_r1","toggleExpand","ɵɵtwoWayListener","i0","ɵɵtwoWayBindingSet","isMobileExpand","_c3","deviceService","isTablet","EXPAND_BUTTON_FADE_TIME","ɵɵtwoWayProperty","ɵɵelementContainer","MediaComponent_Conditional_0_Conditional_6_Case_2_Conditional_5_ng_container_0_Template","videoStreamComponent","_r4","togglePin","MediaComponent_Conditional_0_Conditional_6_Case_2_Conditional_3_Template","MediaComponent_Conditional_0_Conditional_6_Case_2_Conditional_5_Template","MediaComponent_Conditional_0_Conditional_6_Case_2_Conditional_6_Template","MediaComponent_Conditional_0_Conditional_6_Case_2_Conditional_7_Template","ɵɵstyleProp","streamingMessageHeight","tabType","videoAndAnimationBgColor","isOnEventDetails","runningBallDataId","participants","MediaComponent_Conditional_0_Conditional_6_Case_3_Conditional_1_Conditional_1_ng_container_0_Template","animationComponent","MediaComponent_Conditional_0_Conditional_6_Case_3_Conditional_1_Conditional_0_Template","MediaComponent_Conditional_0_Conditional_6_Case_3_Conditional_1_Conditional_1_Template","MediaComponent_Conditional_0_Conditional_6_Case_3_Conditional_1_Template","MediaComponent_Conditional_0_Conditional_6_Case_3_Conditional_2_Template","isAnimationDisabled","We","ɵɵpipeBind1","eventStatisticsComponent$","_c4","eventStatisticsComponentOutputs","MediaComponent_Conditional_0_Conditional_6_Case_4_Conditional_1_Template","statsBgColor","MediaComponent_Conditional_0_Conditional_6_Conditional_1_Template","MediaComponent_Conditional_0_Conditional_6_Case_2_Template","MediaComponent_Conditional_0_Conditional_6_Case_3_Template","MediaComponent_Conditional_0_Conditional_6_Case_4_Template","_c2","mediaHeight","isExpandedMediaEnabled","tmp_4_0","_r1","tabSelected","panelToggled","MediaComponent_Conditional_0_Conditional_6_Template","Title","TrackingEventNames","_TrackingEventNames","MediaModule_Animation_Tab_Click","MediaModule_Video_Tab_Click","MediaModule_Stats_Tab_Click","tabClickTrackingEvent","MediaComponent","WidgetComponent","mapperService","scrollContainer","routerEventsService","mediaService","competitionLogosService","scoreboardBackgrounds","shortTeamNamesService","loader","mediaTrackingService","videoLoader","layoutService","statsCollapsed","sportType","trackingMap","mediaSize","ColumnSize","width","Default","defer","pipe","c","EventStatisticsComponent","expand","onFootballStatExpand","_doc","DOCUMENT","isStatsExpanded","toggleMediaExpand","setBackGroundColor","isEsport","isBeSpokeSport","isBespokeSport","background","backgrounds","gradient","innerColor","outerColor","mediaState$","select","mediaStateSelector","getAnimationComponent","getVideoStreamComponent","subscribeToOutputs","init","getSportId","isLiveEvent","takeUntilDestroyed","destroyRef","subscribe","mediaComponentState","previous","last","scrollTo","setShortNames","setAnimation","setVideoStream","setStreamMessageHeight","currentActivationEnd","onCurrentActivationEnd","observe","madiaSizeChanged","getLogoUrl","league","shouldUseShortName","ShortNameModule","Grids","setShortName","player","_a","scoreboard","val","shortName","playerInfo","players","teamName","score","ngOnDestroy","toggleMediaModule","mediaTab","tabId","tabIndex","MediaColumn","mapEventObjByTabs","toggleCollapsedState","updateActiveTab","setAnimationHeight","statsToggled","statsClass","collapsedClass","breakpointChanged","isMobile","state","setTimeout","ele","getElementById","divHeight","offsetHeight","update","inColumn","enabled","setActiveTab","setAvailableExpandLocation","_b","_c","snapshot","routeTag","data","model","RouteTag","Golf","expandedMediaEnabledLocations","indexOf","isExpandEnabled","sizes","size","isActive","round","DeviceService","ScrollContainerService","RouterEventsService","MediaQueryService","CompetitionLogosService","ScoreboardBackgroundConfig","ShortTeamNamesService","AnimationComponentLoaderService","VideoStreamComponentLoaderService","ɵɵInheritDefinitionFeature","MediaComponent_Conditional_0_Template","DynamicIoDirective","DynamicComponent","ClassAutoRemoveDirective","TabBarComponent","AsyncPipe","NgClass","NgStyle","MatchSimulationComponent","ComponentProxyDirective","VideoStreamButtonComponent","_MediaComponent","MediaWidgetRegistration","widgetRegistry","onFeatureInit","registerLazy","WidgetRegistryService","_MediaWidgetRegistration","runOnFeatureInit"],"mappings":"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"}