{"version":3,"file":"composable-widget.feature-iq4didz8.js","sources":["packages/sports/web/app/src/widget/composable/composable-accordions.component.html","packages/sports/web/app/src/widget/composable/composable-accordions.component.ts","packages/sports/web/app/src/widget/composable/composable-widget-tracking.service.ts","packages/sports/web/app/src/widget/composable/composable-widget.component.html","packages/sports/web/app/src/widget/composable/composable-widget.component.ts","packages/sports/web/app/src/widget/composable/widget-registration.service.ts","packages/sports/web/app/src/widget/composable/composable-widget.feature.ts"],"sourcesContent":["@for (accordion of accordions; track accordion.id; let index = $index) {\n \n @if (!accordion.isCollapsed && (accordion.grid | async); as gridModel) {\n \n \n\n @if (isShowMoreEnabled && getEventsAvilable(accordion)) {\n
\n {{ accordion.isShowMoreExpanded ? sitecore.globalMessages.ShowLess : sitecore.globalMessages.ShowMore }}\n \n
\n }\n\n @if (accordion.linkConfig && accordion.linkConfig.link && accordion.linkConfig.title) {\n
\n \n \n \n
\n }\n } @else {\n
\n
\n \n \n
\n
\n }\n\n \n @if (accordion.display === displayType.Logo) {\n \n \n } @else {\n \n }\n {{ accordion.title }}\n \n \n @if (accordion.isCollapsed) {\n
\n \n
\n }\n
\n
\n}\n","import { AsyncPipe, DOCUMENT, NgClass, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { Fixture, GroupItemType } from '@cds/betting-offer';\nimport { Region, Sport } from '@cds/betting-offer/tags';\nimport { CDNCachingConfig, ComposableConfig, Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { TrustPipe } from '@frontend/sports/common/core/utils/dom';\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { interpolateSingleBracesString } from '@frontend/sports/common/core/utils/string';\nimport { CompetitionLogoComponent } from '@frontend/sports/competition-logos/feature';\nimport { GridGrouping } from '@frontend/sports/grid/core/feature/model';\nimport { ObservableGrid, ObservableGridFactory } from '@frontend/sports/grid/core/feature/observables';\nimport { UrlParam } from '@frontend/sports/navigation/core/feature/url-builder';\nimport { Widget, WidgetContext, WidgetType } from '@frontend/sports/types/components/widget';\nimport { TabbedGridLink, TabbedGridLinkTarget, TabbedGridPayload } from '@frontend/sports/types/components/widget/types';\nimport { DeviceService } from '@frontend/vanilla/core';\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\n\nimport { EpcotConfigService } from '../../common/epcot-config.service';\nimport { ItemComponent } from '../../common/item/item.component';\nimport { GridModule } from '../../grid/grid.module';\nimport { SportUrlParam, UrlHelperService } from '../../navigation-core/url-helper.service';\nimport { TabbedGridTabBarItem } from '../../tabbed-grid/tabbed-grid-navigation.service';\nimport { WidgetContextService } from '../common/widget-context.service';\nimport { WidgetTabBarDisplay } from '../common/widget-tab-bar.component';\n\nexport interface AccordionData extends TabbedGridTabBarItem {\n grid?: ObservableGrid;\n linkConfig?: AccordionLinkData;\n isCollapsed: boolean;\n eventCount?: number;\n isShowMoreExpanded: boolean;\n hideMarketSwitcher: boolean;\n trackingData?: { [key: string]: string };\n}\n\nexport interface AccordionLinkData {\n link: string;\n count?: number;\n title: string;\n}\n\nconst COMPOSABLE_ACCORDION = 'ComposableAccordion';\n\n@Component({\n standalone: true,\n selector: 'ms-composable-accordions',\n templateUrl: './composable-accordions.component.html',\n styleUrl: './composable-accordions.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass, NgIf, NgTemplateOutlet, AsyncPipe, NgFor, GridModule, CompetitionLogoComponent, ItemComponent, TrustPipe, IconCustomComponent],\n})\nexport class ComposableAccordionsComponent implements OnChanges {\n @HostBinding('class') className = 'grid-wrapper composable-accordions';\n\n @Input() navigation: TabbedGridTabBarItem[];\n @Input() widgets: Widget[];\n @Input() isShowMoreEnabled: boolean;\n @Input() maxEventsPerAccordion: number;\n\n @Output() trackAccordionClick = new EventEmitter<{ widget: Widget; widgetContext: Partial; itemId: string }>();\n @Output() trackLinkClick = new EventEmitter<{\n widgetId: string;\n widgetContext: Partial;\n itemId: string;\n details: string;\n trackingData?: { [key: string]: string };\n url?: string;\n }>();\n\n displayType = WidgetTabBarDisplay;\n accordions: AccordionData[];\n private isCDNCachingEnabled = false;\n\n private readonly destroyRef = inject(DestroyRef);\n\n private readonly _doc = inject(DOCUMENT);\n\n readonly isEpcotEnabled = this.epcotConfigService.isEnabled();\n\n constructor(\n public sitecore: Sitecore,\n private urlHelper: UrlHelperService,\n private deviceService: DeviceService,\n public composableConfig: ComposableConfig,\n private gridFactory: ObservableGridFactory,\n private changeDetectorRef: ChangeDetectorRef,\n private contextService: WidgetContextService,\n private cdnCachingConfig: CDNCachingConfig,\n private epcotConfigService: EpcotConfigService,\n ) {\n this.isCDNCachingEnabled = this.cdnCachingConfig.widgets.includes(WidgetType.Composable);\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (!changes.widgets) {\n return;\n }\n this.setAccordions();\n }\n\n private setAccordions() {\n this.accordions = this.navigation.map((item) => this.mapItem(item));\n const lastExpandedAccordion = this.accordions.filter((item) => !item.isCollapsed).pop();\n if (lastExpandedAccordion?.eventCount) {\n lastExpandedAccordion.isCollapsed = lastExpandedAccordion.eventCount < this.composableConfig.thresholdToExpandAccordion;\n }\n }\n\n private mapItem(item: TabbedGridTabBarItem): AccordionData {\n let linkConfig;\n const { grid, firstFixture, bottomLink, eventCount, isCollapsed, hideMarketSwitcher, trackingData } = this.getPartialData(item);\n\n if (bottomLink?.visible && firstFixture) {\n linkConfig = this.setLink(item, firstFixture, bottomLink);\n }\n\n return {\n grid,\n eventCount,\n linkConfig,\n id: item.id,\n icon: item.icon,\n group: item.group,\n title: item.title,\n isCollapsed,\n itemId: item.itemId,\n context: item.context,\n display: item.display,\n sportId: item.sportId,\n widgetId: item.widgetId,\n isShowMoreExpanded: false,\n hideMarketSwitcher,\n trackingData,\n };\n }\n\n private getPartialData(item: TabbedGridTabBarItem): {\n grid: ObservableGrid | undefined;\n firstFixture: Fixture | undefined;\n bottomLink: TabbedGridLink | undefined;\n eventCount: number;\n isCollapsed: boolean;\n hideMarketSwitcher: boolean;\n trackingData: { [key: string]: string } | undefined;\n } {\n const { group, widgetId, itemId } = item;\n const activeWidget = this.widgets.find((widget) => widget.id === widgetId);\n let grid;\n let bottomLink;\n let firstFixture;\n let eventCount = 0;\n let isCollapsed = true;\n let hideMarketSwitcher = false;\n let trackingData;\n\n if (activeWidget) {\n const payload = activeWidget.payload as TabbedGridPayload;\n trackingData = activeWidget.trackingData;\n const fixtures = payload.fixtures;\n let filteredFixtures: Fixture[] = [];\n\n bottomLink = payload.bottomLink;\n hideMarketSwitcher = payload.hideMarketSwitcher;\n\n if (group.type === GroupItemType.Sport) {\n filteredFixtures = fixtures.filter((fixture) => fixture.sport.id === itemId);\n } else if (group.type === GroupItemType.Competition) {\n filteredFixtures = fixtures.filter((fixture) => fixture.competition.parentLeagueId === itemId || fixture.competition.id === itemId);\n }\n\n if (filteredFixtures.length) {\n isCollapsed = false;\n firstFixture = filteredFixtures[0];\n grid = this.gridFactory.fromResponse(`${COMPOSABLE_ACCORDION}/${widgetId}/${itemId}`, filteredFixtures, {\n grouping: GridGrouping.None,\n disableGroupSorting: payload.disabledFixtureSorting,\n });\n eventCount = filteredFixtures.length;\n }\n if (!this.deviceService.isMobile || (this.deviceService.isTablet && this.deviceService.currentOrientation === 'landscape')) {\n hideMarketSwitcher = false;\n }\n }\n\n return { grid, firstFixture, bottomLink, eventCount, isCollapsed, hideMarketSwitcher, trackingData };\n }\n\n private setLink(item: TabbedGridTabBarItem, firstFixture: Fixture, bottomLink: TabbedGridLink): AccordionLinkData {\n const param =\n item.group.type === GroupItemType.FixtureState\n ? { id: item.itemId, name: item.itemId.toString() }\n : { id: item.itemId, name: item.group.name! };\n\n return this.setLinkAndTitle(param, firstFixture, item, bottomLink);\n }\n\n private setLinkAndTitle(param: UrlParam, firstFixture: Fixture, item: TabbedGridTabBarItem, linkConfig: TabbedGridLink): AccordionLinkData {\n const linkData = {};\n switch (linkConfig.target) {\n case TabbedGridLinkTarget.SportLive:\n linkData.link = this.urlHelper.getLiveSportUrl({ sport: param, isEsport: firstFixture.sport.isEsport });\n linkData.count = item?.group.count ?? 0;\n break;\n case TabbedGridLinkTarget.SportLobby:\n linkData.link = this.urlHelper.getSportUrl(param);\n linkData.count = item?.group.count ?? 0;\n break;\n case TabbedGridLinkTarget.CompetitionLobby:\n linkData.link = this.getCompetitonData(firstFixture) ?? '';\n break;\n default:\n linkData.link = linkConfig.linkOverride ?? '';\n break;\n }\n\n linkData.title = interpolateSingleBracesString(\n linkConfig.title,\n {\n sport: param.name,\n competition: param.name,\n },\n false,\n );\n\n return linkData;\n }\n\n private getCompetitonData(firstFixture: Fixture): string {\n const competitionId = firstFixture.competition.parentLeagueId ?? firstFixture.competition.id;\n\n return this.getCompetitionURL(competitionId.toString(), firstFixture.competition.name.value, firstFixture.sport, firstFixture.region);\n }\n\n private getCompetitionURL(competitionId: string, competitionName: string, sport: Sport, region: Region): string {\n const sportDetail = {\n id: sport.id,\n name: sport.name.value,\n };\n const regionDetail = {\n id: region.id,\n name: region.name.value,\n };\n let competitionDetail: UrlParam | undefined;\n if (competitionId) {\n competitionDetail = {\n id: competitionId,\n name: competitionName,\n };\n }\n const league: UrlParam = {\n id: competitionId,\n name: competitionName,\n };\n const regionOrCompetition = regionDetail ? regionDetail : competitionDetail;\n\n return this.urlHelper.getSportUrl(sportDetail, SportUrlParam.Betting, regionOrCompetition, league, undefined);\n }\n\n private getAccordionData(accordion: AccordionData, index: number, numberOfEventsOnShowMoreClick: number, eventsCount?: number) {\n const { isShowMoreExpanded, context, widgetId, itemId, grid } = accordion;\n this.contextService\n .getWidget(\n {\n ...context,\n widgetId,\n take: numberOfEventsOnShowMoreClick,\n skip: eventsCount,\n shouldIncludePayload: true,\n },\n false,\n !this.isCDNCachingEnabled,\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((response) => {\n const { fixtures, disabledFixtureSorting } = response.payload as TabbedGridPayload;\n const trackingData = response.trackingData;\n\n if (isShowMoreExpanded && grid) {\n grid.addEvents(fixtures);\n } else {\n accordion.grid = this.gridFactory.fromResponse(`${COMPOSABLE_ACCORDION}/${widgetId}/${itemId}`, fixtures, {\n grouping: GridGrouping.None,\n disableGroupSorting: disabledFixtureSorting,\n });\n\n setTimeout(() => {\n const gridElement = this._doc.getElementById(accordion.id + index) as HTMLElement;\n gridElement.scrollIntoView({ behavior: 'smooth', block: 'center' });\n }, 100);\n }\n const details = accordion.isShowMoreExpanded ? 'see more' : 'see less';\n this.trackLinkClick.emit({\n widgetId: accordion.widgetId,\n widgetContext: accordion.context,\n itemId: accordion?.itemId.toString(),\n details,\n trackingData,\n });\n });\n }\n\n onAccordionClick(accordion: AccordionData) {\n const { widgetId, context, itemId } = accordion;\n this.contextService\n .getWidget(\n {\n ...context,\n widgetId,\n take: this.maxEventsPerAccordion,\n shouldIncludePayload: true,\n },\n false,\n !this.isCDNCachingEnabled,\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((widget) => {\n const { fixtures, bottomLink, disabledFixtureSorting } = widget.payload as TabbedGridPayload;\n const selectedAccordion = this.accordions.find((a) => a.id === accordion.id);\n let linkConfig;\n if (selectedAccordion) {\n const isCollapsed = selectedAccordion.isCollapsed;\n selectedAccordion.isCollapsed = isCollapsed ? !isCollapsed : !!isCollapsed;\n accordion.isShowMoreExpanded = selectedAccordion.isCollapsed;\n if (bottomLink?.visible && fixtures?.[0]) {\n linkConfig = this.setLink(selectedAccordion, fixtures?.[0], bottomLink);\n }\n selectedAccordion.linkConfig = linkConfig;\n selectedAccordion.grid = this.gridFactory.fromResponse(`${COMPOSABLE_ACCORDION}/${widgetId}/${itemId}`, fixtures, {\n grouping: GridGrouping.None,\n disableGroupSorting: disabledFixtureSorting,\n });\n selectedAccordion.eventCount = fixtures?.length;\n this.changeDetectorRef.markForCheck();\n this.trackAccordionClick.emit({ widget, widgetContext: context, itemId: itemId?.toString() });\n }\n });\n }\n\n toggleAccordion(accordion: AccordionData, collapsed: boolean) {\n accordion.isCollapsed = collapsed;\n }\n\n onShowMoreClick(accordion: AccordionData, index: number) {\n accordion.isShowMoreExpanded = !accordion.isShowMoreExpanded;\n const eventsCount = accordion.grid?.getState().groups[0].count;\n const numberOfEventsOnShowMoreClick = this.composableConfig.numberOfEventsOnShowMoreClick;\n if (accordion.isShowMoreExpanded) {\n this.getAccordionData(accordion, index, numberOfEventsOnShowMoreClick, eventsCount);\n } else {\n accordion.grid?.destroy();\n this.getAccordionData(accordion, index, this.maxEventsPerAccordion);\n }\n }\n\n linkClick(accordion: AccordionData) {\n this.trackLinkClick.emit({\n widgetId: accordion.widgetId,\n widgetContext: accordion.context,\n itemId: accordion?.itemId.toString(),\n details: 'global link',\n trackingData: accordion.trackingData,\n url: accordion.linkConfig?.link,\n });\n }\n\n getEventsAvilable(accordion: AccordionData): boolean {\n const groupCount = accordion.group.count ?? 0;\n\n return groupCount - accordion.eventCount! > 0;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { NOT_APPLICABLE, TrackingService, trackingConstants } from '@frontend/sports/tracking/feature';\nimport { Widget, WidgetContext } from '@frontend/sports/types/components/widget';\nimport { isNil } from 'lodash-es';\nimport { TabItemUiViewModel } from 'packages/sports/libs/common/ui/sports-themed-tab-group/src/lib/tab-group-with-counter/tab-item-view.model';\n\nimport { ModularConfigAccessorService } from '../core/modular-config-accessor.service';\nimport { WidgetChevronClickTrackingData } from './tracking.model';\n\n@Injectable()\nexport class ComposableWidgetTrackingService {\n constructor(\n private trackingService: TrackingService,\n private configAccessor: ModularConfigAccessorService,\n ) {}\n\n trackComposableNavigation(tabsVM: TabItemUiViewModel): void {\n const trackingData = {\n ...this.getPartialTrackingObject('composable widget navigation', 'click'),\n // TODO: provide correct position event\n [trackingConstants.COMPONENT_POSITION_EVENT]: this.configAccessor.getWidget()?.type ?? NOT_APPLICABLE,\n // TODO: provide correct location event\n [trackingConstants.COMPONENT_LOCATION_EVENT]: this.getEventLocation() ?? NOT_APPLICABLE,\n // TODO: provide correct event details (title is poor choice because it's translatable string)\n [trackingConstants.COMPONENT_EVENT_DETAILS]: tabsVM?.title ?? NOT_APPLICABLE,\n [trackingConstants.COMPONENT_CONTENT_POSITION]: tabsVM?.id,\n [trackingConstants.COMPONENT_MODULE_SOURCE]: 'standard module',\n };\n\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n trackChildNavigation(widget: Widget, widgetContext: Partial, itemId: string | undefined, index: number): void {\n const trackingData = {\n ...this.getPartialTrackingObject('composable widget navigation', 'switch widget'),\n [trackingConstants.COMPONENT_POSITION_EVENT]: widget.type.toString(),\n [trackingConstants.COMPONENT_LOCATION_EVENT]: this.getLocation(widget.templateName, this.getParamType(widgetContext), itemId),\n [trackingConstants.COMPONENT_EVENT_DETAILS]: widget.templateName,\n [trackingConstants.COMPONENT_CONTENT_POSITION]: index.toString(),\n [trackingConstants.COMPONENT_MODULE_SOURCE]: 'standard module',\n ...widget.trackingData,\n };\n\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n trackLinkClick(\n templateName: string | undefined,\n type: string,\n widgetContext: Partial,\n itemId: string,\n eventDeatils: string,\n trackingData?: { [key: string]: string },\n url?: string,\n ): void {\n const trackingObject = {\n ...this.getPartialTrackingObject('widget navigation', 'Click'),\n [trackingConstants.COMPONENT_POSITION_EVENT]: NOT_APPLICABLE,\n [trackingConstants.COMPONENT_LOCATION_EVENT]: this.getLocation(templateName, this.getParamType(widgetContext), itemId),\n [trackingConstants.COMPONENT_EVENT_DETAILS]: eventDeatils,\n [trackingConstants.COMPONENT_URL_CLICKED]: url ?? NOT_APPLICABLE,\n [trackingConstants.COMPONENT_MODULE_NAME]: type,\n ...trackingData,\n };\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingObject);\n }\n\n trackAccordionClick(widget: Widget, widgetContext: Partial, itemId: string): void {\n const trackingData = {\n ...this.getPartialTrackingObject('widget navigation', 'Click'),\n [trackingConstants.COMPONENT_POSITION_EVENT]: NOT_APPLICABLE,\n [trackingConstants.COMPONENT_LOCATION_EVENT]: this.getLocation(widget.templateName, this.getParamType(widgetContext), itemId),\n [trackingConstants.COMPONENT_EVENT_DETAILS]: 'All',\n [trackingConstants.COMPONENT_URL_CLICKED]: NOT_APPLICABLE,\n [trackingConstants.COMPONENT_MODULE_NAME]: widget.type,\n ...widget.trackingData,\n };\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n trackHeaderChevronClick(data: WidgetChevronClickTrackingData): void {\n const trackingData = {\n ...this.getPartialTrackingObject('sports events', 'click'),\n [trackingConstants.COMPONENT_LOCATION_EVENT]: this.getEventLocation() || NOT_APPLICABLE,\n [trackingConstants.COMPONENT_URL_CLICKED]: data.urlClicked || NOT_APPLICABLE,\n [trackingConstants.COMPONENT_EVENT_DETAILS]: data.eventDetails || NOT_APPLICABLE,\n [trackingConstants.COMPONENT_POSITION_EVENT]: NOT_APPLICABLE,\n };\n this.trackingService.track(trackingConstants.EVENT_TRACKING, trackingData);\n }\n\n private getParamType(widgetContext: Partial): 'competition' | 'sport' | 'affiliation' {\n if (!isNil(widgetContext.competitionId)) {\n return 'competition';\n }\n\n if (!isNil(widgetContext.sportId)) {\n return 'sport';\n }\n\n return 'affiliation';\n }\n\n private getLocation(childTemplate?: string, paramType?: string, id?: string | undefined): string {\n const page = this.configAccessor.getPage();\n const parentTemplate = this.configAccessor.getWidget()?.templateName;\n\n return [page, parentTemplate, childTemplate, paramType, id]\n .filter((segment) => segment)\n .join('/')\n .toLowerCase();\n }\n\n private getPartialTrackingObject(labelEvent: string, actionEvent: string): { [key: string]: string } {\n return {\n [trackingConstants.COMPONENT_CATEGORY_EVENT]: `${this.configAccessor.getPage()?.toLowerCase()} grid widgets`,\n [trackingConstants.COMPONENT_LABEL_EVENT]: labelEvent,\n [trackingConstants.COMPONENT_ACTION_EVENT]: actionEvent,\n };\n }\n\n private getEventLocation(): string {\n const page = this.configAccessor.getPage();\n const parentTemplate = this.configAccessor.getWidget()?.templateName;\n\n return [page, parentTemplate]\n .filter((segment) => segment)\n .join('/')\n .toLowerCase();\n }\n}\n","@if (headerWidgets?.length) {\n \n}\n@if (!parent) {\n @if (!singleItemMode && tabsVM?.length) {\n \n \n }\n @if (singleItemMode && title) {\n
\n \n @if (activeItemCompetition && activeItemCompetition.sportId && activeItemCompetition.id) {\n \n }\n \n
\n @if (headerChevronLink) {\n \n }\n
\n }\n @if (childNavigation?.length > 1 && !hideSecondlevelNavigation) {\n @if (singleItemMode && showPrimaryNavAsTab) {\n \n } @else {\n \n }\n }\n}\n\n@if (widgets?.length) {\n @if (!isAllTabActive) {\n \n } @else {\n \n }\n} @else {\n \n}\n","import { NgClass, NgStyle } from '@angular/common';\nimport { ChangeDetectorRef, Component, HostBinding } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { Competition } from '@cds/betting-offer/tags';\nimport { CDNCachingConfig, GridConfig, Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { TrustPipe } from '@frontend/sports/common/core/utils/dom';\nimport { hasValue } from '@frontend/sports/common/core/utils/extended-types';\nimport { TabGroupWithCounterComponent, TabItemUiViewModel } from '@frontend/sports/common/ui/sports-themed-tab-group';\nimport { CompetitionLogoComponent } from '@frontend/sports/competition-logos/feature';\nimport { WidgetsMessages } from '@frontend/sports/types/components/sitecore';\nimport { Widget, WidgetContext, WidgetType } from '@frontend/sports/types/components/widget';\nimport {\n ComposableAllTabSettings,\n ComposableWidgetItem,\n ComposableWidgetPayload,\n TabbedGridPayload,\n} from '@frontend/sports/types/components/widget/types';\nimport { PrimaryNavigationDisplayType } from '@frontend/sports/types/configuration';\nimport { DsTabsModule } from '@frontend/ui/tabsgroup';\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\nimport { flatMap, uniqBy } from 'lodash-es';\nimport { Observable, filter, map } from 'rxjs';\n\nimport { ShowInEpcotDirective } from '../../common/epcot-config.directive';\nimport { EpcotModule } from '../../common/epcot-config.service';\nimport { ErrorComponent } from '../../common/error/error.component';\nimport ModuleLoaderService from '../../deferred/module-loader.service';\nimport { TabBarModule } from '../../tab-bar/tab-bar.module';\nimport { WidgetCommonModule } from '../common/widget-common.module';\nimport { WidgetContextService } from '../common/widget-context.service';\nimport { WidgetNavigationService } from '../common/widget-navigation.service';\nimport { WidgetPillComponent } from '../common/widget-pill.component';\nimport { WidgetTabBarMapperRegistryService } from '../common/widget-tab-bar-mapper-registry.service';\nimport { WidgetTabBarDisplay, WidgetTabBarItem } from '../common/widget-tab-bar.component';\nimport { WidgetCoreModule } from '../core/widget-core.module';\nimport { WidgetComponent } from '../core/widget-registry.service';\nimport { ModularConfigAccessorService } from './../core/modular-config-accessor.service';\nimport { ComposableAccordionsComponent } from './composable-accordions.component';\nimport { ComposableWidgetTrackingService } from './composable-widget-tracking.service';\nimport { WidgetChevronClickTrackingData } from './tracking.model';\n\nexport interface ComposableParentPayload {\n mergeNavigation: boolean;\n isAllTabEnabled: boolean;\n}\n\nexport enum ComposableAllTab {\n All = 'All',\n}\n\n@Component({\n standalone: true,\n imports: [\n NgClass,\n ComposableAccordionsComponent,\n WidgetCoreModule,\n WidgetCommonModule,\n TabBarModule,\n CompetitionLogoComponent,\n ErrorComponent,\n ShowInEpcotDirective,\n TrustPipe,\n NgStyle,\n WidgetPillComponent,\n DsTabsModule,\n TabGroupWithCounterComponent,\n IconCustomComponent,\n ],\n selector: 'ms-composable-widget',\n templateUrl: './composable-widget.component.html',\n providers: [ComposableWidgetTrackingService],\n})\nexport class ComposableWidgetComponent extends WidgetComponent {\n @HostBinding('class') className = 'composable';\n @HostBinding('class.show-background-color') showBackgroundColor = false;\n\n childNavigation: WidgetTabBarItem[];\n composableWidget: Widget;\n tabsVM: TabItemUiViewModel[];\n items: ComposableWidgetItem[] = [];\n headerWidgets: Widget[] = [];\n widgets: Widget[];\n title: string | undefined;\n mergeNavigation = true;\n translations: WidgetsMessages;\n allTabSettings: ComposableAllTabSettings;\n isAllTabActive: boolean;\n hideSecondlevelNavigation: boolean;\n activeItem: ComposableWidgetItem;\n activeItemCompetition: Competition | undefined;\n module = EpcotModule.Grid;\n headerChevronLink: string | undefined;\n private isCDNCachingEnabled = false;\n showPrimaryNavAsTab = false;\n\n constructor(\n private contextService: WidgetContextService,\n private gridConfig: GridConfig,\n private mapperRegistry: WidgetTabBarMapperRegistryService,\n private trackingService: ComposableWidgetTrackingService,\n private changeRef: ChangeDetectorRef,\n public accessorService: ModularConfigAccessorService,\n private cdnCachingConfig: CDNCachingConfig,\n private moduleLoader: ModuleLoaderService,\n private widgetNavigationService: WidgetNavigationService,\n { widgets: { messages } }: Sitecore,\n ) {\n super();\n this.translations = messages;\n this.isCDNCachingEnabled = this.cdnCachingConfig.widgets.includes(WidgetType.Composable);\n this.showPrimaryNavAsTab = this.gridConfig.primaryNavigationType === PrimaryNavigationDisplayType.Tab;\n }\n\n override onData(data: ComposableWidgetPayload, isWidgetRefresh: boolean): void {\n if (!data?.items?.length) {\n this.getData(isWidgetRefresh).pipe(takeUntilDestroyed(this.destroyRef)).subscribe(this.renderData);\n } else {\n this.renderData(data);\n }\n }\n\n private renderData = (payload: ComposableWidgetPayload) => {\n if (!payload?.items?.length) {\n this.hasData = false;\n this.setWidgetLoaded();\n this.logEmptyData();\n\n return;\n }\n\n const childWidgets = uniqBy(\n flatMap(payload.items, (item) => item.children),\n (child) => child.type,\n ).map((child) => child.type);\n this.moduleLoader.lazyLoadFeatures(childWidgets.filter(hasValue));\n\n this.allTabSettings = payload.allTabSettings;\n\n this.tabsVM = payload.items?.map((item, index) => ({\n id: index?.toString(),\n title: item.title,\n active: false,\n }));\n\n const firstItemWithDataIdx = payload.items.findIndex((c) => c.activeChildren);\n\n if (firstItemWithDataIdx === -1) {\n return;\n }\n\n this.tabsVM[firstItemWithDataIdx].active = true;\n this.items = payload.items;\n this.activeItem = payload.items[firstItemWithDataIdx];\n this.headerWidgets = payload.headerWidgets;\n\n this.setData(payload.items[firstItemWithDataIdx], payload.showChevron);\n this.hasData = true;\n this.setWidgetLoaded();\n };\n\n get singleItemMode(): boolean {\n return this.items.length === 1;\n }\n\n get getActiveId(): string {\n return this.childNavigation.find((item) => item.active)!.id;\n }\n\n setData({ title, children, activeChildren, mergeNavigation, showCount }: ComposableWidgetItem, showChevron: boolean = false) {\n this.title = title;\n this.widgets = activeChildren ?? [];\n this.setActiveCompetitionAndChevronLink(showChevron);\n\n this.childNavigation = children.flatMap((widget) => {\n const mapper = this.mapperRegistry.get(widget.type);\n\n if (mergeNavigation && mapper) {\n return mapper.map(widget.id, widget.navigation, widget.navigationContext);\n }\n\n return widget.navigation.map((item) => ({\n id: `${widget.id}-${item.id}`,\n title: item.name,\n context: {},\n widgetId: widget.id,\n itemId: item.id,\n display: WidgetTabBarDisplay.Default,\n count: showCount ? (mapper?.getCount(widget.navigation, widget.navigationContext) ?? item.count) : undefined,\n showSignPost: widget.type === WidgetType.CompetitionPriceBoosts ? true : false,\n }));\n });\n\n this.showBackgroundColor = this.allTabSettings.isVisible;\n if (this.allTabSettings.isVisible && this.childNavigation.length > 1) {\n this.hideSecondlevelNavigation = this.allTabSettings.hideSecondaryNavigation;\n this.childNavigation.unshift({\n context: {},\n display: WidgetTabBarDisplay.Default,\n id: `${this.config.id}-${ComposableAllTab.All}`,\n itemId: ComposableAllTab.All,\n title: this.allTabSettings.title,\n widgetId: this.config.id,\n icon: 'sports-all',\n });\n }\n\n if (this.childNavigation.length > 0) {\n this.childNavigation[0].active = true;\n }\n\n this.isAllTabActive = this.getAllTabActive();\n this.composableWidget = { ...this.config, payload: { mergeNavigation, isAllTabEnabled: this.allTabSettings.isVisible } };\n this.changeRef.detectChanges();\n }\n\n composableNavigationSelected(activeTabId: number): void {\n this.setData(this.items[activeTabId]);\n this.activeItem = this.items[activeTabId];\n let tabItem = this.tabsVM?.find((tab) => tab.id === activeTabId?.toString());\n this.trackingService.trackComposableNavigation(tabItem!);\n }\n\n override getContext(): Partial {\n const context = super.getContext();\n\n return !this.isCDNCachingEnabled ? context : { ...context, shouldIncludePayload: true };\n }\n\n private getData(isWidgetRefresh: boolean): Observable {\n return this.contextService.getWidget(this.getContext(), !isWidgetRefresh, !this.isCDNCachingEnabled).pipe(\n filter(({ payload }) => payload !== undefined),\n map(({ payload }) => payload as ComposableWidgetPayload),\n takeUntilDestroyed(this.destroyRef),\n );\n }\n\n childNavigationSelected(item: WidgetTabBarItem): void {\n const tabIndex = this.childNavigation.findIndex((t) => t === item);\n\n this.contextService\n .getWidget(\n {\n ...item.context,\n widgetId: item.widgetId,\n shouldIncludePayload: true,\n sportId: item.context.sportId,\n },\n false,\n !this.isCDNCachingEnabled,\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((widget) => {\n this.widgets = widget ? [widget] : [];\n if (widget.type === WidgetType.Composable) {\n const { items } = widget.payload as ComposableWidgetPayload;\n const activeNavigationIndex = this.tabsVM.findIndex((navigation) => navigation.active === true);\n if (activeNavigationIndex === -1) {\n return;\n }\n this.items = items;\n this.setData(this.items[activeNavigationIndex]);\n }\n this.isAllTabActive = this.getAllTabActive();\n this.trackingService.trackChildNavigation(widget, item.context, item.itemId?.toString(), tabIndex);\n this.changeRef.detectChanges();\n });\n }\n\n trackLinkClick({\n widgetId,\n trackingData,\n widgetContext,\n itemId,\n details,\n url,\n }: {\n widgetId: string;\n widgetContext: Partial;\n itemId: string;\n details: string;\n trackingData?: { [key: string]: string };\n url?: string;\n }) {\n const { templateName, type } = this.activeItem.children.find((x) => x.id === widgetId)!;\n this.trackingService.trackLinkClick(templateName, type, widgetContext, itemId, details, trackingData, url);\n }\n\n trackAccordionClick({ widget, widgetContext, itemId }: { widget: Widget; widgetContext: Partial; itemId: string }) {\n this.trackingService.trackAccordionClick(widget, widgetContext, itemId);\n }\n\n headerNavigationHandler(): void {\n this.widgetNavigationService.headerNavigationHandler(this.headerChevronLink);\n this.headerChevronTracking();\n }\n\n private headerChevronTracking(): void {\n const data: WidgetChevronClickTrackingData = {\n eventDetails: this.getTrackingEventDetails(),\n urlClicked: this.headerChevronLink ?? '',\n };\n this.trackingService.trackHeaderChevronClick(data);\n }\n\n private getTrackingEventDetails(): string {\n const league =\n this.singleItemMode && this.widgets[0]?.type === WidgetType.TabbedGrid\n ? (this.widgets[0]?.payload as TabbedGridPayload)?.fixtures?.[0].competition.name.value\n : '';\n return league ? `${league}-chevron icon` : '';\n }\n\n private getActiveChildNavigation(): WidgetTabBarItem | undefined {\n return this.childNavigation.find((child) => child.active);\n }\n\n private getAllTabActive(): boolean {\n const activeChildNavigation = this.getActiveChildNavigation();\n if (activeChildNavigation && this.allTabSettings.isVisible) {\n return activeChildNavigation.itemId === ComposableAllTab.All || this.childNavigation.length === 1;\n }\n\n return false;\n }\n\n private setActiveCompetitionAndChevronLink(showChevron: boolean): void {\n if (this.singleItemMode && this.widgets[0]?.type === WidgetType.TabbedGrid) {\n const payload = this.widgets[0]?.payload as TabbedGridPayload;\n const fixture = payload?.fixtures?.[0];\n if (!fixture) {\n return;\n }\n this.activeItemCompetition = fixture.competition;\n const sportUrlParam = { id: fixture.sport.id, name: fixture.sport.name.value };\n this.headerChevronLink = showChevron\n ? this.widgetNavigationService.getNavigationInfo(sportUrlParam, payload?.bottomLink, fixture)?.link\n : 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 '../core/widget-registry.service';\nimport { ComposableWidgetComponent } from './composable-widget.component';\n\n@Injectable()\nexport class WidgetRegistrationService implements OnFeatureInit {\n constructor(private registry: WidgetRegistryService) {}\n\n onFeatureInit(): void {\n this.registry.registerLazy(WidgetType.Composable, ComposableWidgetComponent);\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { WidgetRegistrationService } from './widget-registration.service';\n\nexport function provide() {\n return [runOnFeatureInit(WidgetRegistrationService)];\n}\n"],"names":["ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r4","ctx_r4","ɵɵnextContext","accordion_r2","$implicit","ɵ$index_1_r6","$index","ctx_r2","ɵɵresetView","onShowMoreClick","ɵɵtext","ɵɵelementEnd","ɵɵelement","d","ɵɵpropertyInterpolate","id","ɵɵadvance","ɵɵtextInterpolate","isShowMoreExpanded","sitecore","globalMessages","ShowLess","ShowMore","ɵɵproperty","A","_r7","linkClick","linkConfig","count","link","undefined","ɵɵpipeBind2","title","ɵɵsanitizeHtml","$event","_r1","toggleAccordion","ɵɵtemplate","ComposableAccordionsComponent_For_1_Conditional_1_Conditional_1_Template","ComposableAccordionsComponent_For_1_Conditional_1_Conditional_2_Template","ctx","header_r8","hideMarketSwitcher","ɵɵconditional","isShowMoreEnabled","getEventsAvilable","ComposableAccordionsComponent_For_1_Conditional_3_2_ng_template_0_Template","ComposableAccordionsComponent_For_1_Conditional_3_3_ng_template_0_Template","_r9","onAccordionClick","ComposableAccordionsComponent_For_1_Conditional_3_2_Template","ComposableAccordionsComponent_For_1_Conditional_3_3_Template","G","toggleTemplate_r10","sportId","itemId","icon","isEpcotEnabled","ComposableAccordionsComponent_For_1_ng_template_4_Conditional_0_Template","ComposableAccordionsComponent_For_1_ng_template_4_Conditional_1_Template","display","displayType","Logo","ComposableAccordionsComponent_For_1_ng_template_6_Conditional_0_Template","isCollapsed","ComposableAccordionsComponent_For_1_Conditional_1_Template","ComposableAccordionsComponent_For_1_Conditional_3_Template","ComposableAccordionsComponent_For_1_ng_template_4_Template","ɵɵtemplateRefExtractor","ComposableAccordionsComponent_For_1_ng_template_6_Template","H","tmp_14_0","ɵɵpipeBind1","grid","COMPOSABLE_ACCORDION","ComposableAccordionsComponent","constructor","urlHelper","deviceService","composableConfig","gridFactory","changeDetectorRef","contextService","cdnCachingConfig","epcotConfigService","className","trackAccordionClick","EventEmitter","trackLinkClick","WidgetTabBarDisplay","isCDNCachingEnabled","destroyRef","inject","DestroyRef","_doc","DOCUMENT","isEnabled","widgets","includes","ngOnChanges","changes","setAccordions","accordions","navigation","map","item","mapItem","lastExpandedAccordion","filter","pop","eventCount","thresholdToExpandAccordion","firstFixture","bottomLink","trackingData","getPartialData","visible","setLink","group","context","widgetId","activeWidget","find","widget","payload","fixtures","filteredFixtures","type","fixture","sport","competition","parentLeagueId","length","fromResponse","grouping","GridGrouping","None","disableGroupSorting","disabledFixtureSorting","isMobile","isTablet","currentOrientation","param","name","toString","setLinkAndTitle","linkData","target","getLiveSportUrl","isEsport","getSportUrl","getCompetitonData","linkOverride","interpolateSingleBracesString","competitionId","getCompetitionURL","value","region","competitionName","sportDetail","regionDetail","competitionDetail","league","regionOrCompetition","SportUrlParam","Betting","getAccordionData","accordion","index","numberOfEventsOnShowMoreClick","eventsCount","getWidget","__spreadProps","__spreadValues","take","skip","shouldIncludePayload","pipe","takeUntilDestroyed","subscribe","response","addEvents","setTimeout","getElementById","scrollIntoView","behavior","block","details","emit","widgetContext","maxEventsPerAccordion","selectedAccordion","a","markForCheck","collapsed","_a","_b","getState","groups","destroy","url","ɵɵdirectiveInject","Sitecore","UrlHelperService","DeviceService","ComposableConfig","ObservableGridFactory","ChangeDetectorRef","WidgetContextService","CDNCachingConfig","EpcotConfigService","$","selectors","hostVars","hostBindings","rf","ɵɵclassMap","ɵɵrepeaterCreate","ComposableAccordionsComponent_For_1_Template","_forTrack0","ɵɵrepeater","NgTemplateOutlet","AsyncPipe","GridModule","GridComponent","CompetitionLogoComponent","ItemComponent","TrustPipe","IconCustomComponent","styles","changeDetection","_ComposableAccordionsComponent","ComposableWidgetTrackingService","trackingService","configAccessor","trackComposableNavigation","tabsVM","getPartialTrackingObject","trackingConstants","COMPONENT_POSITION_EVENT","NOT_APPLICABLE","COMPONENT_LOCATION_EVENT","getEventLocation","COMPONENT_EVENT_DETAILS","COMPONENT_CONTENT_POSITION","COMPONENT_MODULE_SOURCE","track","EVENT_TRACKING","trackChildNavigation","getLocation","templateName","getParamType","eventDeatils","trackingObject","COMPONENT_URL_CLICKED","COMPONENT_MODULE_NAME","trackHeaderChevronClick","data","urlClicked","eventDetails","isNil","childTemplate","paramType","page","getPage","parentTemplate","segment","join","toLowerCase","labelEvent","actionEvent","COMPONENT_CATEGORY_EVENT","COMPONENT_LABEL_EVENT","COMPONENT_ACTION_EVENT","ɵɵinject","TrackingService","ModularConfigAccessorService","j","factory","ɵfac","_ComposableWidgetTrackingService","ctx_r0","accessorService","getLayoutTemplate","composableWidget","headerWidgets","_r2","composableNavigationSelected","activeItemCompetition","ɵɵelementContainerStart","ComposableWidgetComponent_Conditional_1_Conditional_1_ng_container_1_Conditional_1_Template","_r3","headerNavigationHandler","ComposableWidgetComponent_Conditional_1_Conditional_1_ng_container_1_Template","F","ComposableWidgetComponent_Conditional_1_Conditional_1_Conditional_4_Template","ɵɵpureFunction1","_c0","headerChevronLink","_c1","module","ɵɵpureFunction0","_c2","childNavigationSelected","childNavigation","_r5","ComposableWidgetComponent_Conditional_1_Conditional_2_Conditional_0_Template","ComposableWidgetComponent_Conditional_1_Conditional_2_Conditional_1_Template","singleItemMode","showPrimaryNavAsTab","ComposableWidgetComponent_Conditional_1_Conditional_0_Template","ComposableWidgetComponent_Conditional_1_Conditional_1_Template","ComposableWidgetComponent_Conditional_1_Conditional_2_Template","hideSecondlevelNavigation","_r6","slice","allTabSettings","ComposableWidgetComponent_Conditional_2_Conditional_0_Template","ComposableWidgetComponent_Conditional_2_Conditional_1_Template","isAllTabActive","tmp_1_0","translations","ComposableEmptyTab","ComposableAllTab","ComposableWidgetComponent","WidgetComponent","gridConfig","mapperRegistry","changeRef","moduleLoader","widgetNavigationService","messages","showBackgroundColor","items","mergeNavigation","EpcotModule","Grid","renderData","hasData","setWidgetLoaded","logEmptyData","childWidgets","uniqBy","flatMap","children","child","lazyLoadFeatures","hasValue","active","firstItemWithDataIdx","findIndex","c","activeChildren","activeItem","setData","showChevron","primaryNavigationType","onData","isWidgetRefresh","getData","getActiveId","showCount","setActiveCompetitionAndChevronLink","mapper","get","navigationContext","Default","getCount","showSignPost","isVisible","hideSecondaryNavigation","unshift","config","All","getAllTabActive","isAllTabEnabled","detectChanges","activeTabId","tabItem","tab","getContext","tabIndex","t","activeNavigationIndex","x","headerChevronTracking","getTrackingEventDetails","_c","_d","getActiveChildNavigation","activeChildNavigation","sportUrlParam","getNavigationInfo","r","GridConfig","WidgetTabBarMapperRegistryService","ModuleLoaderService","WidgetNavigationService","ɵɵclassProp","St","ɵɵInheritDefinitionFeature","ɵɵStandaloneFeature","decls","vars","consts","template","ComposableWidgetComponent_Conditional_0_Template","ComposableWidgetComponent_Conditional_1_Template","ComposableWidgetComponent_Conditional_2_Template","ComposableWidgetComponent_Conditional_3_Template","parent","NgClass","WidgetCoreModule","WidgetSlotComponent","WidgetCommonModule","WidgetTabBarComponent","TabBarModule","ErrorComponent","ShowInEpcotDirective","NgStyle","WidgetPillComponent","DsTabsModule","TabGroupWithCounterComponent","encapsulation","_ComposableWidgetComponent","WidgetRegistrationService","registry","onFeatureInit","registerLazy","WidgetRegistryService","_WidgetRegistrationService","provide","runOnFeatureInit"],"mappings":"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"}