{"version":3,"file":"minigames.feature-egxlctvd.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 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 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","u","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","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","ɵɵ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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"}