\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 @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