{"version":3,"file":"minigames.feature-kbk23xa9.js","sources":["packages/sports/web/app/src/minigames/casino.event.ts","packages/sports/web/app/src/minigames/minigames-tracking.service.ts","packages/sports/web/app/src/minigames/minigames.model.ts","packages/sports/web/app/src/minigames/sports.event.ts","packages/sports/web/app/src/minigames/minigames.service.ts","packages/sports/web/app/src/minigames/minigames.component.html","packages/sports/web/app/src/minigames/minigames.component.ts","packages/sports/web/app/src/minigames/minigames-column.component.html","packages/sports/web/app/src/minigames/minigames-column.component.ts","packages/sports/web/app/src/minigames/widget-registration.service.ts","packages/sports/web/app/src/minigames/minigames.feature.ts"],"sourcesContent":["export abstract class CasinoWindowEvent {}\nexport class LobbyLoadedEvent extends CasinoWindowEvent {}\nexport class RecentCasinoGameOpenEvent extends CasinoWindowEvent {\n gamename: string;\n}\nexport class RecentCasinoGameCloseEvent extends CasinoWindowEvent {}\nexport class ShowLoginEvent extends CasinoWindowEvent {\n gamename: string;\n}\nexport class PingStatusGameOpenEvent extends CasinoWindowEvent {}\nexport class WindowScrollStartEvent extends CasinoWindowEvent {\n data: WindowScrollEventData;\n}\n\nexport class WindowScrollEventData {\n clientX: number;\n clientY: number;\n deltaX: number;\n deltaY: number;\n layerX: number;\n layerY: number;\n offsetX: number;\n offsetY: number;\n pageX: number;\n pageY: number;\n wheelDeltaX: number;\n wheelDeltaY: number;\n x: number;\n y: number;\n}\nexport enum CasinoEventType {\n LobbyLoaded = 'LOBBY_LOADED',\n RecentCasinoGameOpen = 'RECENT_CASINO_GAME_OPEN',\n RecentCasinoGameClose = 'RECENT_CASINO_GAME_CLOSE',\n ShowLogin = 'SHOW_LOGIN',\n PingStatusGameOpen = 'PING_STATUS_GAME_OPEN',\n WindowScrollStart = 'WINDOW_SCROLL_START',\n WindowScrollStop = 'WINDOW_SCROLL_STOP',\n}\n","import { Injectable } from '@angular/core';\n\nimport { TrackingService, trackingConstants } from '@frontend/sports/tracking/feature';\n\nimport { BetColumnType } from '../bet-column/bet-column-type';\n\n@Injectable()\nexport class MiniGamesTrackingService {\n constructor(private trackingService: TrackingService) {}\n\n trackMiniGames(tab: BetColumnType): void {\n switch (tab) {\n case BetColumnType.Betslip: {\n this.trackGameStartedWhenBetSlipOpen();\n break;\n }\n case BetColumnType.MyBets: {\n this.trackGameStartedWhenMyBetsOpen();\n break;\n }\n }\n }\n\n private trackGameStartedWhenBetSlipOpen(): void {\n this.trackingService.track(trackingConstants.EVENT_MINI_GAME_OPEN, {\n [trackingConstants.PAGE_DISPLAYED_ELEMENT]: 'MiniGames_Start_SlipOpen',\n });\n }\n\n private trackGameStartedWhenMyBetsOpen(): void {\n this.trackingService.track(trackingConstants.EVENT_MINI_GAME_OPEN, {\n [trackingConstants.PAGE_DISPLAYED_ELEMENT]: 'MiniGames_Start_MyBetsOpen',\n });\n }\n}\n","export enum ChannelIds {\n Android = 'AW',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n IOS = 'IW',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n WC = 'WC',\n}\n","export class CasinoMessageData {\n type: string | undefined;\n data: MessageData | undefined;\n}\nexport class MessageData {\n key: string | undefined;\n value: string | undefined;\n}\n\nexport class SportsWindowEvent {}\nexport class MiniGamesWidgetExpandedEvent implements SportsWindowEvent {}\nexport class MiniGamesWidgetCollapsedEvent implements SportsWindowEvent {}\nexport class MiniGamesWidgetPostSessionKeyEvent implements SportsWindowEvent {}\n","import { ElementRef, Injectable, OnDestroy, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { KeepAliveService } from '@frontend/sports/common/api-utils';\nimport { CasinoMiniGamesConfig } from '@frontend/sports/common/client-config-data-access';\nimport { CookieProvider } from '@frontend/sports/common/core/utils/cookie-provider';\nimport { filterSportsEmitLast } from '@frontend/sports/host-app/sports-product/feature/utils';\nimport { UserService } from '@frontend/sports/user/feature';\nimport { AppInfoConfig, DeviceService, Page, SessionStoreService, WINDOW } from '@frontend/vanilla/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\nimport { ArcRestrictionService } from '../arc/arc-restriction.service';\nimport {\n CasinoEventType,\n CasinoWindowEvent,\n LobbyLoadedEvent,\n PingStatusGameOpenEvent,\n RecentCasinoGameCloseEvent,\n RecentCasinoGameOpenEvent,\n ShowLoginEvent,\n WindowScrollStartEvent,\n} from './casino.event';\nimport { ChannelIds } from './minigames.model';\nimport {\n CasinoMessageData,\n MiniGamesWidgetCollapsedEvent,\n MiniGamesWidgetExpandedEvent,\n MiniGamesWidgetPostSessionKeyEvent,\n SportsWindowEvent,\n} from './sports.event';\n\n@Injectable()\nexport class MiniGamesService implements OnDestroy {\n private casinoWindowEvents: Subject = new Subject();\n private recentCasinoGameOpenStorageKey = 'recentCasinoGameOpen';\n private darkModeCookieKey = 'dark-mode';\n\n private _miniGamesEnabled = new BehaviorSubject(false);\n private hideMiniGamesByArc: boolean;\n get events(): Observable {\n return this.casinoWindowEvents;\n }\n\n get recentCasinoGameOpen(): string {\n return this.sessionStorage.get(this.recentCasinoGameOpenStorageKey) || '';\n }\n\n set recentCasinoGameOpen(recentCasinoGameOpen: string) {\n this.sessionStorage.set(this.recentCasinoGameOpenStorageKey, recentCasinoGameOpen);\n }\n\n get miniGamesEnabled(): Observable {\n return this._miniGamesEnabled.asObservable();\n }\n\n private get isDarkMode(): boolean {\n return Number(this.cookieProvider.getCookie(this.darkModeCookieKey)) > 0;\n }\n\n constructor(\n private page: Page,\n private userService: UserService,\n private appInfoConfig: AppInfoConfig,\n private sessionStorage: SessionStoreService,\n private cookieProvider: CookieProvider,\n private casinoMiniGamesConfig: CasinoMiniGamesConfig,\n private deviceService: DeviceService,\n private keepAliveService: KeepAliveService,\n private arcRestrictionService: ArcRestrictionService,\n ) {\n this.arcRestrictionService.gamingCrossSellEnabled$.pipe(filterSportsEmitLast(), takeUntilDestroyed()).subscribe((state) => {\n this.hideMiniGamesByArc = state;\n this.areMiniGamesEnabled();\n });\n this.#window.addEventListener('message', this.receiveMessage);\n }\n\n ngOnDestroy(): void {\n this.#window.removeEventListener('message', this.receiveMessage);\n }\n\n resetOpenGame(): void {\n this.sessionStorage.set(this.recentCasinoGameOpenStorageKey, '');\n }\n\n private areMiniGamesEnabled(): void {\n if (this.hideMiniGamesByArc) {\n this._miniGamesEnabled.next(false);\n\n return;\n }\n if (!this.casinoMiniGamesConfig.areMiniGamesEnabled || !this.getUrl()) {\n this._miniGamesEnabled.next(false);\n\n return;\n }\n\n if (this.deviceService.isRobot) {\n this._miniGamesEnabled.next(false);\n\n return;\n }\n\n const userCountry = this.userService.isAuthenticated ? this.userService.country : this.userService.geoCountry;\n this._miniGamesEnabled.next(!this.isBlacklistedCountry(this.casinoMiniGamesConfig.blackListedCountries, userCountry));\n }\n\n sportsSpinnerLoadingDelayTime(): number {\n return this.casinoMiniGamesConfig.sportsSpinnerLoadingDelayTime;\n }\n\n getUrl(isKycVerified: boolean = false): string {\n let url = this.casinoMiniGamesConfig.url;\n if (url) {\n url = url.replace('{0}', this.getPageCulture());\n url = url.replace('{1}', this.appInfoConfig.brand);\n url = url.replace('{2}', this.getChanneId());\n url = url.replace('{3}', 'instantMini');\n url = url.replace('{4}', 'BETTING');\n url = url.replace('{5}', this.appInfoConfig.frontend);\n url = url.replace('{6}', this.userService.clientIP || '');\n url = url.replace('{7}', this.page.lang);\n url = url.replace('{8}', this.userService.currency);\n if (this.casinoMiniGamesConfig.appendSessionKey) {\n url = url.replace('{9}', this.userService.ssoToken as string);\n } else {\n url = url.replace('{9}', '');\n }\n url = url.replace('{10}', this.page.homePage);\n\n if (this.userService.isAuthenticated) {\n url = url.replace('{11}', this.appInfoConfig.frontend + '_' + this.userService.username);\n if (this.recentCasinoGameOpen) {\n url = url + '&defaultlaunchgame=' + this.recentCasinoGameOpen;\n }\n url = url.replace('{13}', isKycVerified.toString());\n } else {\n url = url.replace('{11}', '');\n url = url.replace('{13}', isKycVerified.toString());\n }\n\n url = url.replace('{12}', this.isDarkMode.toString());\n }\n\n return String(url);\n }\n\n startKeepAlive(): void {\n this.keepAliveService.doRequest();\n }\n\n postEventsToCasino(event: SportsWindowEvent, casinoIframeRef: ElementRef): void {\n switch (event.constructor) {\n case MiniGamesWidgetExpandedEvent: {\n const messageData = new CasinoMessageData();\n messageData.type = 'sportsevent';\n messageData.data = { key: 'MiniGames', value: 'MiniGames_Expanded' };\n this.postMessage(messageData, casinoIframeRef);\n break;\n }\n case MiniGamesWidgetCollapsedEvent: {\n const messageData = new CasinoMessageData();\n messageData.type = 'sportsevent';\n messageData.data = { key: 'MiniGames', value: 'MiniGames_Collapsed' };\n this.postMessage(messageData, casinoIframeRef);\n break;\n }\n case MiniGamesWidgetPostSessionKeyEvent: {\n const messageData = new CasinoMessageData();\n messageData.type = 'sportsevent';\n messageData.data = { key: 'MiniGameSessionValue', value: this.userService.ssoToken as string };\n this.postMessage(messageData, casinoIframeRef);\n break;\n }\n }\n }\n\n private receiveMessage = (event: any) => {\n switch (event.data.type) {\n case CasinoEventType.LobbyLoaded: {\n this.triggerEvent(new LobbyLoadedEvent());\n break;\n }\n case CasinoEventType.RecentCasinoGameOpen: {\n const recentCasinoGameOpenEvent = new RecentCasinoGameOpenEvent();\n recentCasinoGameOpenEvent.gamename = event.data.data['gamename'];\n this.triggerEvent(recentCasinoGameOpenEvent);\n break;\n }\n case CasinoEventType.RecentCasinoGameClose: {\n this.triggerEvent(new RecentCasinoGameCloseEvent());\n break;\n }\n case CasinoEventType.ShowLogin: {\n const showLoginEvent = new ShowLoginEvent();\n showLoginEvent.gamename = event.data.data['gamename'];\n this.triggerEvent(showLoginEvent);\n break;\n }\n case CasinoEventType.PingStatusGameOpen: {\n this.triggerEvent(new PingStatusGameOpenEvent());\n break;\n }\n case CasinoEventType.WindowScrollStart: {\n const windowScrollStartEvent = new WindowScrollStartEvent();\n windowScrollStartEvent.data = event.data;\n this.triggerEvent(windowScrollStartEvent);\n break;\n }\n }\n };\n\n private triggerEvent(event: CasinoWindowEvent): void {\n this.casinoWindowEvents.next(event);\n }\n\n private getPageCulture(): string {\n return this.page.culture.replace('-', '_');\n }\n\n private getChanneId(): ChannelIds {\n if (!this.deviceService.isMobile) {\n return ChannelIds.WC;\n }\n\n if (this.deviceService.isiOS) {\n return ChannelIds.IOS;\n }\n\n return ChannelIds.Android;\n }\n\n private isBlacklistedCountry(blackListedCountries: string[], country: string | null): boolean {\n if (country) {\n return blackListedCountries.some((currentCountry) => currentCountry.toUpperCase() === country.toUpperCase());\n }\n\n return false;\n }\n\n private postMessage(casinoMessageData: CasinoMessageData, casinoIframeRef: ElementRef): void {\n casinoIframeRef.nativeElement.contentWindow.postMessage(casinoMessageData, '*');\n }\n\n readonly #window = inject(WINDOW);\n}\n","
\n \n \n
\n","import { NgIf } from '@angular/common';\nimport { Component, DestroyRef, ElementRef, OnDestroy, OnInit, ViewChild, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { CasinoMiniGamesConfig } from '@frontend/sports/common/client-config-data-access';\nimport { DispatcherService } from '@frontend/sports/common/core/utils/dispatcher';\nimport { TrustPipe } from '@frontend/sports/common/core/utils/dom';\nimport { ScrollContainerService } from '@frontend/sports/common/core/utils/scroll-container';\nimport {\n CustomLoadingIndicatorService,\n ILoadingIndicatorHandler,\n LOADING_INDICATOR,\n LoadingIndicatorModule,\n} from '@frontend/sports/loading-indicator-feature';\nimport { UserService } from '@frontend/sports/user/feature';\nimport { BalancePropertiesService } from '@frontend/vanilla/features/balance-properties';\nimport { KycStatus, KycStatusService } from '@frontend/vanilla/shared/kyc';\n\nimport { BetColumnType } from '../bet-column/bet-column-type';\nimport { GeolocationCheckService } from '../geo-location/geo-location-check.service';\nimport { RedirectHelperService } from '../navigation-core/redirect-helper.service';\nimport {\n CasinoWindowEvent,\n LobbyLoadedEvent,\n PingStatusGameOpenEvent,\n RecentCasinoGameCloseEvent,\n RecentCasinoGameOpenEvent,\n ShowLoginEvent,\n WindowScrollStartEvent,\n} from './casino.event';\nimport { MiniGamesTrackingService } from './minigames-tracking.service';\nimport { MiniGamesService } from './minigames.service';\nimport { MiniGamesWidgetPostSessionKeyEvent } from './sports.event';\n\nexport interface Size {\n target?: string;\n class: MiniGamesSize;\n}\n\nexport enum MiniGamesSize {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n ExtraLarge = 'xl',\n SmallOpened = 'small-opened',\n MediumOpened = 'medium-opened',\n LargeOpened = 'large-opened',\n ExtraLargeOpened = 'xl-opened',\n}\n\n@Component({\n selector: 'ms-minigames',\n templateUrl: './minigames.component.html',\n standalone: true,\n imports: [NgIf, LoadingIndicatorModule, TrustPipe],\n providers: [{ provide: LOADING_INDICATOR, useValue: 'MINI_GAMES' }],\n})\nexport class MinigamesComponent implements OnDestroy, OnInit {\n private shouldLogin = false;\n private loader: ILoadingIndicatorHandler | null;\n private currentType = BetColumnType.Betslip;\n\n isKycVerified = false;\n minigamesUrl = '';\n minigamesOpen = false;\n\n loaderDelay = 500;\n loaderVisible = true;\n\n @ViewChild('casinoIframe', { static: true }) casinoIframe: ElementRef;\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n private miniGamesService: MiniGamesService,\n private redirectHelper: RedirectHelperService,\n private userService: UserService,\n private balanceService: BalancePropertiesService,\n private loadingIndicatorService: CustomLoadingIndicatorService,\n private dispatcher: DispatcherService,\n private miniGamesTrackingService: MiniGamesTrackingService,\n private scrollContainer: ScrollContainerService,\n private geolocationCheckService: GeolocationCheckService,\n private casinoMiniGamesConfig: CasinoMiniGamesConfig,\n private kycStatusService: KycStatusService,\n ) {\n this.loaderVisible = true;\n this.loaderDelay = this.miniGamesService.sportsSpinnerLoadingDelayTime();\n\n this.minigamesUrl = this.miniGamesService.getUrl();\n if (this.userService.isAuthenticated) {\n this.geolocationCheckService.checkGeolocation();\n }\n this.minigamesOpen = this.isGameOpened();\n\n this.miniGamesService.events.pipe(takeUntilDestroyed()).subscribe((event: CasinoWindowEvent) => {\n this.onWindowMessage(event);\n });\n\n this.userService.onUserLogin$.pipe(takeUntilDestroyed()).subscribe(() => this.onLogin());\n this.userService.onUserLogout$.pipe(takeUntilDestroyed()).subscribe(() => this.setMiniGameUrl());\n\n this.onBetColumnTypeTabSelected(BetColumnType.Betslip);\n this.resetRecentLaunchGame();\n }\n\n ngOnInit(): void {\n this.dispatcher\n .on('BET_COLUMNTYPE_TABSELECTED')\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((state) => this.onBetColumnTypeTabSelected(state));\n if (this.casinoMiniGamesConfig.isKYCCheckEnabled) {\n this.kycStatusService.kycStatus.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((status: KycStatus | null) => {\n if (status) {\n this.isKycVerified = status.kycVerified;\n this.setMiniGameUrl(this.isKycVerified);\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this.resetRecentLaunchGame();\n }\n\n private onWindowMessage(event: CasinoWindowEvent): void {\n switch (event.constructor) {\n case LobbyLoadedEvent:\n this.hideLoader();\n if (!this.casinoMiniGamesConfig.appendSessionKey) {\n this.sendSessionKeyUsingPostMessage();\n }\n break;\n case RecentCasinoGameOpenEvent:\n this.miniGamesService.startKeepAlive();\n this.miniGamesService.recentCasinoGameOpen = (event as RecentCasinoGameOpenEvent).gamename;\n this.miniGamesTrackingService.trackMiniGames(this.currentType);\n this.minigamesOpen = this.isGameOpened();\n break;\n case RecentCasinoGameCloseEvent:\n this.balanceService.refresh();\n this.miniGamesService.resetOpenGame();\n this.minigamesOpen = this.isGameOpened();\n break;\n case ShowLoginEvent:\n this.shouldLogin = true;\n this.miniGamesService.recentCasinoGameOpen = (event as ShowLoginEvent).gamename;\n if (!this.userService.isAuthenticated) {\n this.redirectHelper.goToLogin({ appendReferrer: true });\n }\n break;\n case PingStatusGameOpenEvent:\n this.miniGamesService.startKeepAlive();\n break;\n case WindowScrollStartEvent:\n //TODO any index issue, probably a defect, please investigate\n //@ts-ignore below line doesn't make any sense, but I didn't want to modify any behavior, although this looks like a bug\n this.scrollContainer.scrollToDelta(undefined, (event as WindowScrollStartEvent).data['data'].deltaY);\n break;\n }\n }\n\n private resetRecentLaunchGame(): void {\n if (!this.shouldLogin) {\n this.miniGamesService.resetOpenGame();\n }\n this.shouldLogin = false;\n }\n\n private showLoader(): void {\n this.loader = this.loadingIndicatorService.start('MINI_GAMES');\n }\n\n private isGameOpened(): boolean {\n return this.userService.isAuthenticated && this.miniGamesService.recentCasinoGameOpen !== '';\n }\n\n private onLogin(): void {\n this.showLoader();\n this.minigamesUrl = '';\n this.geolocationCheckService.checkGeolocation(() => this.setMiniGameUrl(this.isKycVerified));\n }\n\n private hideLoader(): void {\n if (this.loader) {\n this.loaderVisible = false;\n this.loader.done();\n this.loader = null;\n }\n }\n\n private setMiniGameUrl(isKycVerified?: boolean): void {\n this.hideLoader();\n this.minigamesUrl = this.miniGamesService.getUrl(isKycVerified);\n }\n\n private onBetColumnTypeTabSelected(state: BetColumnType): void {\n this.currentType = state;\n }\n\n private sendSessionKeyUsingPostMessage(): void {\n const event = new MiniGamesWidgetPostSessionKeyEvent();\n this.miniGamesService.postEventsToCasino(event, this.casinoIframe);\n }\n}\n","
\n
\n
{{ sitecore.globalMessages.MiniGames }}
\n \n
\n \n
\n","import { NgIf } from '@angular/common';\nimport { Component, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\n\nimport { ExpansionPanelComponent } from '../common/expansion-panel/expansion-panel.component';\nimport { MinigamesComponent } from '../minigames/minigames.component';\nimport { MiniGamesService } from '../minigames/minigames.service';\nimport { WidgetComponent } from '../widget/core/widget-registry.service';\nimport { MiniGamesTrackingService } from './minigames-tracking.service';\nimport { MiniGamesWidgetCollapsedEvent, MiniGamesWidgetExpandedEvent } from './sports.event';\n\n@Component({\n selector: 'ms-minigames-column',\n templateUrl: './minigames-column.component.html',\n standalone: true,\n providers: [MiniGamesService, MiniGamesTrackingService],\n imports: [MinigamesComponent, ExpansionPanelComponent, NgIf],\n // additionally registering dedicated tracking service, to make sure modular-tracking.service overrides tracking.service\n})\nexport class MinigamesColumnComponent extends WidgetComponent {\n collapsed = false;\n @ViewChild(MinigamesComponent) minigamesComponent?: MinigamesComponent;\n areMiniGamesEnabled: boolean;\n\n constructor(\n public sitecore: Sitecore,\n private miniGamesService: MiniGamesService,\n ) {\n super();\n this.miniGamesService.miniGamesEnabled.pipe(takeUntilDestroyed()).subscribe((resp) => {\n this.areMiniGamesEnabled = resp;\n });\n }\n\n panelToggled(): void {\n this.collapsed = !this.collapsed;\n\n if (!this.minigamesComponent) {\n return;\n }\n\n const event = this.collapsed ? new MiniGamesWidgetCollapsedEvent() : new MiniGamesWidgetExpandedEvent();\n this.miniGamesService.postEventsToCasino(event, this.minigamesComponent.casinoIframe);\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 { MinigamesColumnComponent } from './minigames-column.component';\n\n@Injectable({ providedIn: 'root' })\nexport class MinigamesWidgetRegistration implements OnFeatureInit {\n constructor(private widgetRegistry: WidgetRegistryService) {}\n\n onFeatureInit() {\n this.widgetRegistry.registerLazy(WidgetType.MiniGames, MinigamesColumnComponent);\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { MinigamesWidgetRegistration } from './widget-registration.service';\n\nexport function provide() {\n return [runOnFeatureInit(MinigamesWidgetRegistration)];\n}\n"],"names":["CasinoWindowEvent","LobbyLoadedEvent","RecentCasinoGameOpenEvent","RecentCasinoGameCloseEvent","ShowLoginEvent","PingStatusGameOpenEvent","WindowScrollStartEvent","CasinoEventType","MiniGamesTrackingService","constructor","trackingService","trackMiniGames","tab","BetColumnType","Betslip","trackGameStartedWhenBetSlipOpen","MyBets","trackGameStartedWhenMyBetsOpen","track","trackingConstants","EVENT_MINI_GAME_OPEN","PAGE_DISPLAYED_ELEMENT","ɵɵinject","TrackingService","factory","ɵfac","_MiniGamesTrackingService","ChannelIds","CasinoMessageData","MiniGamesWidgetExpandedEvent","MiniGamesWidgetCollapsedEvent","MiniGamesWidgetPostSessionKeyEvent","MiniGamesService","_window","page","userService","appInfoConfig","sessionStorage","cookieProvider","casinoMiniGamesConfig","deviceService","keepAliveService","arcRestrictionService","__privateAdd","casinoWindowEvents","Subject","recentCasinoGameOpenStorageKey","darkModeCookieKey","_miniGamesEnabled","BehaviorSubject","receiveMessage","event","data","type","LobbyLoaded","triggerEvent","RecentCasinoGameOpen","recentCasinoGameOpenEvent","gamename","RecentCasinoGameClose","ShowLogin","showLoginEvent","PingStatusGameOpen","WindowScrollStart","windowScrollStartEvent","__privateSet","inject","WINDOW","gamingCrossSellEnabled$","pipe","filterSportsEmitLast","takeUntilDestroyed","subscribe","state","hideMiniGamesByArc","areMiniGamesEnabled","__privateGet","addEventListener","events","recentCasinoGameOpen","get","set","miniGamesEnabled","asObservable","isDarkMode","Number","getCookie","ngOnDestroy","removeEventListener","resetOpenGame","next","getUrl","isRobot","userCountry","isAuthenticated","country","geoCountry","isBlacklistedCountry","blackListedCountries","sportsSpinnerLoadingDelayTime","isKycVerified","url","replace","getPageCulture","brand","getChanneId","frontend","clientIP","lang","currency","appendSessionKey","ssoToken","homePage","username","toString","String","startKeepAlive","doRequest","postEventsToCasino","casinoIframeRef","messageData","key","value","postMessage","culture","isMobile","isiOS","IOS","Android","WC","some","currentCountry","toUpperCase","casinoMessageData","nativeElement","contentWindow","Page","UserService","AppInfoConfig","SessionStoreService","CookieProvider","CasinoMiniGamesConfig","DeviceService","KeepAliveService","ArcRestrictionService","u","_MiniGamesService","ɵɵelement","T","ɵɵproperty","ctx_r0","loaderDelay","MinigamesComponent","miniGamesService","redirectHelper","balanceService","loadingIndicatorService","dispatcher","miniGamesTrackingService","scrollContainer","geolocationCheckService","kycStatusService","shouldLogin","currentType","minigamesUrl","minigamesOpen","loaderVisible","destroyRef","DestroyRef","checkGeolocation","isGameOpened","onWindowMessage","onUserLogin$","onLogin","onUserLogout$","setMiniGameUrl","onBetColumnTypeTabSelected","resetRecentLaunchGame","ngOnInit","on","isKYCCheckEnabled","kycStatus","status","kycVerified","hideLoader","sendSessionKeyUsingPostMessage","refresh","goToLogin","appendReferrer","scrollToDelta","undefined","deltaY","showLoader","loader","start","done","casinoIframe","ɵɵdirectiveInject","RedirectHelperService","BalancePropertiesService","CustomLoadingIndicatorService","DispatcherService","ScrollContainerService","GeolocationCheckService","KycStatusService","selectors","viewQuery","rf","ctx","U","W","N","B","provide","LOADING_INDICATOR","useValue","ɵɵStandaloneFeature","decls","vars","consts","template","ɵɵelementStart","ɵɵtemplate","MinigamesComponent_ms_loading_indicator_1_Template","ue","ɵɵelementEnd","ɵɵclassProp","ɵɵadvance","ɵɵpipeBind2","ɵɵsanitizeResourceUrl","NgIf","LoadingIndicatorModule","LoadingIndicatorComponent","TrustPipe","encapsulation","_MinigamesComponent","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","panelToggled","ɵɵtext","ɵɵtextInterpolate","sitecore","globalMessages","MiniGames","collapsed","MinigamesColumnComponent","WidgetComponent","resp","minigamesComponent","Sitecore","P","ɵɵInheritDefinitionFeature","MinigamesColumnComponent_div_0_Template","ExpansionPanelComponent","_MinigamesColumnComponent","MinigamesWidgetRegistration","widgetRegistry","onFeatureInit","registerLazy","WidgetRegistryService","providedIn","_MinigamesWidgetRegistration","runOnFeatureInit"],"mappings":"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"}