{"version":3,"file":"minigames.feature-bbmjegja.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\n IOS = 'IW',\n\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 private 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 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 providers: [MiniGamesService, MiniGamesTrackingService],\n imports: [MinigamesComponent, ExpansionPanelComponent, NgIf],\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","v","factory","ɵfac","_MiniGamesTrackingService","ChannelIds","CasinoMessageData","MiniGamesWidgetExpandedEvent","MiniGamesWidgetCollapsedEvent","MiniGamesWidgetPostSessionKeyEvent","MiniGamesService","events","casinoWindowEvents","recentCasinoGameOpen","sessionStorage","get","recentCasinoGameOpenStorageKey","set","miniGamesEnabled","_miniGamesEnabled","asObservable","isDarkMode","Number","cookieProvider","getCookie","darkModeCookieKey","page","userService","appInfoConfig","casinoMiniGamesConfig","deviceService","keepAliveService","arcRestrictionService","Subject","BehaviorSubject","receiveMessage","event","data","type","LobbyLoaded","triggerEvent","RecentCasinoGameOpen","recentCasinoGameOpenEvent","gamename","RecentCasinoGameClose","ShowLogin","showLoginEvent","PingStatusGameOpen","WindowScrollStart","windowScrollStartEvent","_window","inject","WINDOW","gamingCrossSellEnabled$","pipe","filterSportsEmitLast","takeUntilDestroyed","subscribe","state","hideMiniGamesByArc","areMiniGamesEnabled","addEventListener","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","_MiniGamesService","ɵɵelement","ɵɵ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","provide","LOADING_INDICATOR","useValue","decls","vars","consts","template","ɵɵelementStart","ɵɵtemplate","MinigamesComponent_ms_loading_indicator_1_Template","le","ɵɵelementEnd","ɵɵclassProp","ɵɵadvance","ɵɵpipeBind2","ɵɵsanitizeResourceUrl","NgIf","LoadingIndicatorModule","LoadingIndicatorComponent","TrustPipe","encapsulation","_MinigamesComponent","ae","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","panelToggled","ɵɵtext","ɵɵtextInterpolate","sitecore","globalMessages","MiniGames","collapsed","MinigamesColumnComponent","WidgetComponent","resp","minigamesComponent","Sitecore","W","N","B","ɵɵInheritDefinitionFeature","MinigamesColumnComponent_div_0_Template","ExpansionPanelComponent","_MinigamesColumnComponent","MinigamesWidgetRegistration","widgetRegistry","onFeatureInit","registerLazy","WidgetRegistryService","providedIn","_MinigamesWidgetRegistration","runOnFeatureInit"],"mappings":"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"}