{"version":3,"file":"media.feature-n0gyzkcr.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 standalone: true,\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})\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})\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})\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})\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})\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 /* eslint-disable @typescript-eslint/naming-convention, no-underscore-dangle, id-blacklist, id-match */\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 standalone: true,\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","standalone","_RenderDynamicDirective","provideDynamicComponents","map","provide","useValue","multi","DynamicIconComponent","html","input","required","sanitizer","DomSanitizer","parsedHtml","computed","bypassSecurityTrustHtml","T","features","ɵɵProvidersFeature","IconCustomComponent","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵproperty","ɵɵsanitizeHtml","encapsulation","_DynamicIconComponent","ɵɵelementContainerStart","ɵɵtemplate","EmptyMediaComponent_ng_container_0_Conditional_1_Template","Ee","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","ɵɵdirectiveInject","Sitecore","n","hostVars","hostBindings","ɵɵclassMap","EmptyMediaComponent_ng_container_0_Template","EmptyMediaComponent_ng_container_1_Template","ɵɵpureFunction1","_c0","_c1","ft","me","S","_EmptyMediaComponent","ScrollToActiveDirective","timer","child","querySelector","setAnimationFrame","scrollTop","offsetTop","clientHeight","TimerService","_ScrollToActiveDirective","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","selectedEvent","ɵɵtextInterpolate","ɵɵtextInterpolate1","selectorTitle","B","ɵɵ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","ae","$","_EventSelectorComponent","UnpinInfoComponent","close","closeInfoMessage","acceptUnpinInfoMessage","UnpinOnboarding","_UnpinInfoComponent","VideoPinComponent","onClick","toggle","emit","epcotConfigService","class","EventEmitter","isEpcotEnabled","isEnabled","EpcotConfigService","isPinned","_VideoPinComponent","MediaComponentsModule","we","Ne","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","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","Ke","ɵɵ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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"}