1import { b as q } from "./chunk-i2pl4wu9.js"; 2import { $i as J, Ai as z, At as Z, Co as T, Dn as X, E as ee, Ei as v, Er as B, Fo as ie, Ha as h, Ii as te, L as N, Nr as se, Ti as ne, Ua as R, W as a, Wi as P, Xi as ae, Z as x, _r as re, ao as C, bn as m, eo as oe, et as d, fr as K, g as ce, gr as he, ht as U, jn as me, q as pe, ro as p, rt as l, tr as $, va as le, xt as de, za as ue, zi as u } from "./chunk-ql746sly.js"; 3import { j as _e } from "./chunk-hcheit1f.js"; 4import { p as ge } from "./chunk-b11o3szq.js"; 5import { D as fe, ut as ke } from "./chunk-fz42rx6r.js"; 6import { r as ve } from "./chunk-icjzvqcx.js"; 7import { n as Ce, t as Se } from "./chunk-jbaamz4y.js"; 8import { A as Ge, b as be } from "./chunk-c01xxjhs.js"; 9import { G as Ee, J as Me, gt as Oe } from "./chunk-jtpxiaxj.js"; 10import { o as ye } from "./chunk-jaxwt8s1.js"; 11import { j as we } from "./chunk-nhl74n6z.js"; 12import { i as W, o as Ae, t as o } from "./chunk-br9ckdzm.js"; 13import { p as De } from "./chunk-bl09vhvv.js"; 14import { ot as Ie } from "./chunk-f0xko016.js"; 15import { c as Le } from "./chunk-n63cutws.js"; 16import { Dn as Te, Tt as Be, _n as Ne, _t as Re, jr as Pe } from "./chunk-eu7ozsb7.js"; 17import { a as xe } from "./chunk-lt7tziae.js"; 18import { n as Ke, r as Ue } from "./chunk-gpn04stg.js"; 19import { t as $e } from "./chunk-lf77xnpz.js"; 20import { i as We, p as Ve } from "./chunk-bnt36dw9.js"; 21import { n as Ye } from "./chunk-d6iooz3w.js"; 22import { r as Fe } from "./chunk-jouxu15i.js"; 23import { n as je } from "./chunk-c8btpjog.js"; 24import { tt as He } from "./chunk-dkzazc5t.js"; 25import { Yn as Qe, h as qe, hr as V, mn as Je } from "./chunk-b0owf95e.js"; 26import { a as ze } from "./chunk-kanq2829.js"; 27import { i as Ze } from "./chunk-hv7vgf8e.js"; 28import { n as Xe } from "./chunk-odv3lgpg.js"; 29import { s as ei } from "./chunk-jnhmm4s0.js"; 30import { r as ii, t as ti } from "./chunk-e73ndlg5.js"; 31import { t as si } from "./chunk-ggzcwtgt.js"; 32import { t as ni } from "./chunk-mzi4pjon.js"; 33import { n as ai, t as ri } from "./chunk-gd9lkrcj.js"; 34import { i as oi } from "./chunk-fht9rnel.js"; 35import { Dr as ci, En as hi, Gr as mi, Ha as Y, Hn as _, Ia as pi, Jn as li, Ka as di, Ln as ui, Oa as _i, Or as gi, Pn as fi, Qn as ki, Sn as vi, Ua as Ci, Wa as Si, ar as Gi, eg as bi, fo as Ei, ho as Mi, ig as Oi, ir as yi, jn as wi, po as Ai, qn as Di, rg as Ii, tr as Li, wr as Ti, za as Bi } from "./chunk-jrsxruoz.js"; 36import { $n as Ni, C as Ri, Ni as Pi, Ur as xi } from "./chunk-mbdbb8r5.js"; 37import { a as Ki, l as Ui, n as $i } from "./chunk-bqrjc3xq.js"; 38import { i as Wi } from "./chunk-gevkd7h2.js"; 39import { n as Vi, t as Yi } from "./chunk-fy9owktd.js"; 40import { n as Fi, r as ji } from "./chunk-ncgjjre8.js"; 41import { a as Hi, i as Qi, n as qi, r as Ji, t as zi } from "./chunk-oowbyg1d.js"; 42import { n as Zi, t as Xi } from "./chunk-k1r4cyzu.js"; 43import { n as et, t as it } from "./chunk-ew0ihfmv.js"; 44import { n as tt, t as st } from "./chunk-gna4yetz.js"; 45import { n as nt, t as at } from "./chunk-jxl6wrmj.js"; 46import { o as rt, r as ot } from "./chunk-b9mte2ph.js"; 47import { n as S, t as ct } from "./chunk-cnatsayw.js"; 48import { n as ht, t as G } from "./chunk-oo87drul.js"; 49import { t as mt } from "./chunk-o4f8w5yc.js"; 50function pt(t, s) { 51 t & 1 && d(0, "ds-loading-spinner", 2); 52} 53function lt(t, s) { 54 if (t & 1 && (u(0, "span", 7)(1, "button", 8), d(2, "vn-icon", 9), p()()), t & 2) { 55 let i = s.$implicit; 56 l(2), m("name", i ? "theme-up" : "theme-down"); 57 } 58} 59function dt(t, s) { 60 t & 1 && d(0, "ms-minigames", 10), t & 2 && m("hidden", C(2).collapsed); 61} 62function ut(t, s) { 63 if (t & 1) { 64 let i = Z(); 65 u(0, "ds-card", 1)(1, "ds-accordion", 2), ie("openedChange", function() { 66 return me(i), se(C().panelToggled()); 67 }), u(2, "ds-accordion-header", 3)(3, "div", 4)(4, "div", 5), re(5), p()(), P(6, lt, 3, 1, "span", 6), p(), P(7, dt, 1, 1, "ng-template", null, 0, de), p()(); 68 } 69 if (t & 2) { 70 let i = C(); 71 m("themeCardElevated", i.themeElevated)("themeBorderRadius", i.themeBorderRadius)("elevated", !0)("border", !0), l(), m("themedAccordionSurface", i.themedAccordionSurface)("withCard", !0)("open", !i.collapsed), l(4), pe(i.sitecore.globalMessages.MiniGames); 72 } 73} 74function _t() { 75 return [Be(H)]; 76} 77var b, c, E, M, O, y, w, A, r, g, D, I, L, f, F, k, j, H; 78function Q() { 79 return (Q = mt((() => { 80 q(), J(), _e(), ge(), ke(), ve(), Se(), Ge(), Oe(), ye(), we(), Ae(), be(), De(), Ie(), Me(), Le(), Pe(), xe(), Ke(), $e(), Ve(), We(), Ye(), Fe(), je(), He(), Te(), Ii(), bi(), Je(), ze(), Ze(), Mi(), Xe(), Ei(), di(), Ci(), Bi(), pi(), _i(), ei(), mi(), ci(), Ti(), Gi(), Li(), ki(), li(), ui(), ii(), si(), ni(), fi(), wi(), hi(), vi(), ai(), oi(), Ni(), Qi(), Yi(), Ui(), ji(), Wi(), Xi(), et(), tt(), nt
80(), rt(), ct(), ht(), b = (() => { 81 let t = class { 82 constructor() { 83 this.trackingService = a(Di); 84 } 85 trackMiniGames(i) { 86 switch (i) { 87 case S.Betslip: 88 this.trackGameStartedWhenBetSlipOpen(); 89 break; 90 case S.MyBets: this.trackGameStartedWhenMyBetsOpen(); 91 } 92 } 93 trackGameStartedWhenBetSlipOpen() { 94 this.trackingService.track(_.EVENT_MINI_GAME_OPEN, { [_.PAGE_DISPLAYED_ELEMENT]: "MiniGames_Start_SlipOpen" }); 95 } 96 trackGameStartedWhenMyBetsOpen() { 97 this.trackingService.track(_.EVENT_MINI_GAME_OPEN, { [_.PAGE_DISPLAYED_ELEMENT]: "MiniGames_Start_MyBetsOpen" }); 98 } 99 }; 100 return t.ɵfac = function(s) { 101 return new (s || t)(); 102 }, t.ɵprov = v({ 103 token: t, 104 factory: t.ɵfac, 105 providedIn: "root" 106 }), t; 107 })(), c = class {}, E = class extends c {}, M = class extends c {}, O = class extends c {}, y = class extends c {}, w = class extends c {}, A = class extends c {}, r = (function(t) { 108 return t.LobbyLoaded = "LOBBY_LOADED", t.RecentCasinoGameOpen = "RECENT_CASINO_GAME_OPEN", t.RecentCasinoGameClose = "RECENT_CASINO_GAME_CLOSE", t.ShowLogin = "SHOW_LOGIN", t.PingStatusGameOpen = "PING_STATUS_GAME_OPEN", t.WindowScrollStart = "WINDOW_SCROLL_START", t.WindowScrollStop = "WINDOW_SCROLL_STOP", t; 109 })(r || {}), g = class {}, D = class {}, I = class {}, L = class {}, f = (() => { 110 let t = class { 111 get events() { 112 return this.casinoWindowEvents; 113 } 114 get recentCasinoGameOpen() { 115 return this.sessionStorage.get(this.recentCasinoGameOpenStorageKey) || ""; 116 } 117 set recentCasinoGameOpen(i) { 118 this.sessionStorage.set(this.recentCasinoGameOpenStorageKey, i); 119 } 120 get miniGamesEnabled() { 121 return this._miniGamesEnabled.asObservable(); 122 } 123 get isDarkMode() { 124 return Number(this.cookieProvider.getCookie(this.darkModeCookieKey)) > 0; 125 } 126 constructor() { 127 this.page = a(Ce), this.userService = a(Y), this.appInfoConfig = a(Ne), this.sessionStorage = a(Ee), this.cookieProvider = a(Vi), this.casinoMiniGamesConfig = a(V), this.deviceService = a(Ue), this.keepAliveService = a(at), this.arcRestrictionService = a(ot), this.sportsUserConfig = a(Qe), this.casinoWindowEvents = new x(), this.recentCasinoGameOpenStorageKey = "recentCasinoGameOpen", this.darkModeCookieKey = "dark-mode", this._miniGamesEnabled = new ee(!1), this.receiveMessage = (n) => { 128 switch (n.data.type) { 129 case r.LobbyLoaded: 130 this.triggerEvent(new E()); 131 break; 132 case r.RecentCasinoGameOpen: { 133 let e = new M(); 134 e.gamename = n.data.data.gamename, this.triggerEvent(e); 135 break; 136 } 137 case r.RecentCasinoGameClose: 138 this.triggerEvent(new O()); 139 break; 140 case r.ShowLogin: { 141 let e = new y(); 142 e.gamename = n.data.data.gamename, this.triggerEvent(e); 143 break; 144 } 145 case r.PingStatusGameOpen: 146 this.triggerEvent(new w()); 147 break; 148 case r.WindowScrollStart: { 149 let e = new A(); 150 e.data = n.data, this.triggerEvent(e); 151 break; 152 } 153 } 154 }, this._window = a(fe); 155 let i = a(Ai); 156 this.arcRestrictionService.gamingCrossSellEnabled$.pipe(i.filterSportsEmitLast(), o()).subscribe((n) => { 157 this.hideMiniGamesByArc = n, this.areMiniGamesEnabled(); 158 }), this._window.addEventListener("message", this.receiveMessage); 159 } 160 ngOnDestroy() { 161 this._window.removeEventListener("message", this.receiveMessage); 162 } 163 resetOpenGame() { 164 this.sessionStorage.set(this.recentCasinoGameOpenStorageKey, ""); 165 } 166 areMiniGamesEnabled() { 167 if (this.hideMiniGamesByArc) { 168 this._miniGamesEnabled.next(!1); 169 return; 170 } 171 if (!this.casinoMiniGamesConfig.areMiniGamesEnabled || !this.casinoMiniGamesConfig.url) { 172 this._miniGamesEnabled.next(!1); 173 return; 174 } 175 if (this.deviceService.isRobot) { 176 this._miniGamesEnabled.next(!1); 177 return; 178 } 179 let i = this.userService.isAuthenticated ? this.userService.country : this.userService.geoCountry; 180 this._miniGamesEnabled.next(!this.isBlacklistedCountry(this.casinoMiniGamesConfig.blackListedCountries, i)); 181 } 182 sportsSpinnerLoadingDelayTime() { 183 return this.casinoMiniGamesConfig.sportsSpinnerLoadingDelayTime; 184 } 185 getUrl(i = !1) { 186 return Si(this.sportsUserConfig, (n) => n.clientIP, "").pipe($((n) => this.buildUrl(n, i))); 187 } 188 buildUrl(i, n) { 189 let e = this.casinoMiniGamesConfig.url; 190 return e && (e = e.replace("{0}", this.getPageCulture()), e = e.replace("{1}", this.appInfoConfig.brand), e = e.replace("{2}", this.getChanneId()), e = e.replace("{3}", "instantMini"), e = e.replace("{4}", "BETTING"), e = e.replace("{5}", this.appInfoConfig.frontend), e = e.replace("{6}", i || ""), e = e.replace("{7}", this.page.lang), e = e.replace("{8}", this.userService.currency), this.casinoMiniGamesConfig.appendSessionKey ? e = e.replace("{9}", this.userService.ssoToken) : e = e.replace("{9}", ""), e = e.replace("{10}", this.page.homePage), this.userService.isAuthenticated ? (e = e.replace("{11}", this.appInfoConfig.frontend + "_" + this.userService.username), this.recentCasinoGameOpen && (e = e + "&defaultlaunchgame=" + this.recentCasinoGameOpen), e = e.replace("{13}", n.toString())) : (e = e.replace("{11}", ""), e = e.replace("{13}", n.toString())), e = e.replace("{12}", this.isDarkMode.toString())), String(e); 191 } 192 startKeepAlive() { 193 this.keepAliveService.doRequest(); 194 } 195 postEventsToCasino(i, n) { 196 switch (i.constructor) { 197 case D: { 198 let e = new g(); 199 e.type = "sportsevent", e.data = { 200 key: "MiniGames", 201 value: "MiniGames_Expanded" 202 }, this.postMessage(e, n); 203 break; 204 } 205 case I: { 206 let e = new g(); 207 e.type = "sportsevent", e.data = { 208 key: "MiniGames", 209 value: "MiniGames_Collapsed" 210 }, this.postMessage(e, n); 211 break; 212 } 213 case L: { 214 let e = new g(); 215 e.type = "sportsevent", e.data = { 216 key: "MiniGameSessionValue", 217 value: this.userService.ssoToken 218 }, this.postMessage(e, n); 219 break; 220 } 221 } 222 } 223 triggerEvent(i) { 224 this.casinoWindowEvents.next(i); 225 } 226 getPageCulture() { 227 return this.page.culture.replace("-", "_"); 228 } 229 getChanneId() { 230 return this.deviceService.isMobile ? this.deviceService.isiOS ? G.IOS : G.Android : G.WC; 231 } 232 isBlacklistedCountry(i, n) { 233 return n ? i.some((e) => e.toUpperCase() === n.toUpperCase()) : !1; 234 } 235 postMessage(i, n) { 236 n.nativeElement.contentWindow.postMessage(i, "*"); 237 } 238 }; 239 return t.ɵfac = function(s) { 240 return new (s || t)(); 241 }, t.ɵprov = v({ 242 token: t, 243 factory: t.ɵfac, 244 providedIn: "root" 245 }), t; 246 }
246)(), F = ["casinoIframe"], k = (() => { 247 let t = class { 248 constructor() { 249 this.destroyRef = a(ce), this.miniGamesService = a(f), this.redirectHelper = a(Fi), this.userService = a(Y), this.balanceService = a(Oi), this.dispatcher = a(gi), this.miniGamesTrackingService = a(b), this.scrollContainer = a(yi), this.geolocationCheckService = a(Ri), this.casinoMiniGamesConfig = a(V), this.kycStatusService = a(xi), this.shouldLogin = h(!1), this.currentType = h(S.Betslip), this.isKycVerified = h(!1), this.recentGameOpen = h(this.miniGamesService.recentCasinoGameOpen), this.isAuthenticated = W(this.userService.onAuthenticationChange$.pipe($(() => this.userService.isAuthenticated), he(this.userService.isAuthenticated)), { requireSync: !0 }), this.urlRefresh$ = new x(), this.minigamesOpen = oe(() => this.isAuthenticated() && this.recentGameOpen() !== ""), this.loaderVisible = h(!1), this.minigamesUrl = W(this.urlRefresh$.pipe(le(() => this.miniGamesService.getUrl(this.isKycVerified()))), { initialValue: "" }), this.casinoIframe = N.required("casinoIframe"), this.userService.isAuthenticated && this.geolocationCheckService.checkGeolocation(), this.miniGamesService.events.pipe(o()).subscribe((i) => { 250 this.onWindowMessage(i); 251 }), this.userService.onUserLogin$.pipe(o()).subscribe(() => this.onLogin()), this.userService.onUserLogout$.pipe(o()).subscribe(() => { 252 this.isKycVerified.set(!1), this.refreshMiniGameUrl(); 253 }), this.urlRefresh$.next(), this.resetRecentLaunchGame(); 254 } 255 ngOnInit() { 256 this.dispatcher.on("BET_COLUMNTYPE_TABSELECTED").pipe(o(this.destroyRef)).subscribe((i) => this.currentType.set(i)), this.casinoMiniGamesConfig.isKYCCheckEnabled && this.kycStatusService.kycStatus.pipe(o(this.destroyRef)).subscribe((i) => { 257 i && (this.isKycVerified.set(i.kycVerified), this.refreshMiniGameUrl()); 258 }); 259 } 260 ngOnDestroy() { 261 this.resetRecentLaunchGame(); 262 } 263 onWindowMessage(i) { 264 switch (i.constructor) { 265 case E: 266 this.loaderVisible.set(!1), this.casinoMiniGamesConfig.appendSessionKey || this.sendSessionKeyUsingPostMessage(); 267 break; 268 case M: { 269 let n = i.gamename; 270 this.miniGamesService.startKeepAlive(), this.miniGamesService.recentCasinoGameOpen = n, this.recentGameOpen.set(n), this.miniGamesTrackingService.trackMiniGames(this.currentType()); 271 break; 272 } 273 case O: 274 this.balanceService.refresh(), this.miniGamesService.resetOpenGame(), this.recentGameOpen.set(""); 275 break; 276 case y: { 277 let n = i.gamename; 278 this.shouldLogin.set(!0), this.miniGamesService.recentCasinoGameOpen = n, this.recentGameOpen.set(n), this.userService.isAuthenticated || this.redirectHelper.goToLogin({ appendReferrer: !0 }); 279 break; 280 } 281 case w: 282 this.miniGamesService.startKeepAlive(); 283 break; 284 case A: this.scrollContainer.scrollToDelta(void 0, i.data.data.deltaY); 285 } 286 } 287 resetRecentLaunchGame() { 288 this.shouldLogin() || this.miniGamesService.resetOpenGame(), this.shouldLogin.set(!1); 289 } 290 onLogin() { 291 this.loaderVisible.set(!0), this.geolocationCheckService.checkGeolocation(() => this.refreshMiniGameUrl()); 292 } 293 refreshMiniGameUrl() { 294 this.loaderVisible.set(!1), this.urlRefresh$.next(); 295 } 296 sendSessionKeyUsingPostMessage() { 297 let i = new L(); 298 this.miniGamesService.postEventsToCasino(i, this.casinoIframe()); 299 } 300 }; 301 return t.ɵfac = function(s) { 302 return new (s || t)(); 303 }, t.ɵcmp = T({ 304 type: t, 305 selectors: [["ms-minigames"]], 306 viewQuery: function(s, i) { 307 s & 1 && B(i.casinoIframe, F, 5), s & 2 && R(); 308 }, 309 decls: 5, 310 vars: 7, 311 consts: [ 312 ["casinoIframe", ""], 313 [1, "content-container"], 314 [1, "loader-alignment"], 315 [ 316 1, 317 "mini-games-iframe", 318 3, 319 "src" 320 ] 321 ], 322 template: function(s, i) { 323 s & 1 && (u(0, "div", 1), K(1, pt, 1, 0, "ds-loading-spinner", 2), d(2, "iframe", 3, 0), ue(4, "msTrust"), p()), s & 2 && (ae("content-open", i.minigamesOpen()), l(), U(i.loaderVisible() ? 1 : -1), l(), m("src", te(4, 4, i.minigamesUrl(), "resourceurl"), X)); 324 }, 325 dependencies: [Re, Zi], 326 styles: [".content-container[_ngcontent-%COMP%]{padding-top:calc(75% + 42px);position:relative}.content-container[_ngcontent-%COMP%] .mini-games-iframe[_ngcontent-%COMP%]{width:100%;height:98%;display:block;position:absolute;top:0}.content-container.content-open[_ngcontent-%COMP%]{padding-top:599px}.loader-alignment[_ngcontent-%COMP%]{position:absolute;z-index:99}"] 327 }), t; 328 })(), j = (() => { 329 let t = class extends Ki { 330 constructor() { 331 super(), this.collapsed = !1, this.minigamesComponent = N(k), this.sitecore = a(qe), this.miniGamesService = a(f), this.themeElevated = { 332 "sportingbet-br": { isElevated: !1 }, 333 "betboo-br": { isElevated: !1 } 334 }, this.themeBorderRadius = { "gamebookers-2": { hasRadius: !0 } }, this.miniGamesService.miniGamesEnabled.pipe(o()).subscribe((i) => { 335 this.areMiniGamesEnabled = i; 336 }), this.themedAccordionSurface = { 337 "sportingbet-br": "low", 338 borgata: "low", 339 "betboo-br": "low", 340 "mgm-dice": "low", 341 "bwin-dark": "low", 342 "sports-interaction": "highest", 343 "sports-interaction-2": "highest" 344 }; 345 } 346 panelToggled() { 347 this.collapsed = !this.collapsed; 348 let i = this.minigamesComponent(); 349 if (!i) return; 350 let n = this.collapsed ? new I() : new D(); 351 this.miniGamesService.postEventsToCasino(n, i.casinoIframe()); 352 } 353 }; 354 return t.ɵfac = function(s) { 355 return new (s || t)(); 356 }, t.ɵcmp = T({ 357 type: t, 358 selectors: [["ms-minigames-column"]], 359 viewQuery: function(s, i) { 360 s & 1 && B(i.minigamesComponent, k, 5), s & 2 && R(); 361 }, 362 hostAttrs: [1, "mini-games-var-scope"], 363 features: [ne([f, b]), z], 364 decls: 1, 365 vars: 1, 366 consts: [ 367 ["content", ""], 368 [ 369 "noOverflow", 370 "", 371 "msThemedCard", 372 "", 373 3, 374 "themeCardElevated", 375 "themeBorderRadius", 376 "elevated", 377 "border" 378 ], 379 [ 380 "surface", 381 "transparent", 382 "msThemedAccordion", 383 "", 384 3, 385 "openedChange", 386 "themedAccordionSurface", 387 "withCard", 388 "open" 389 ], 390 [1, "accordion-header-alignment"], 391 ["slot", "start"], 392 ["slot", "title"], 393 [ 394 "class", 395 "icon-alignment", 396 4, 397 "dsAccordionTrigger" 398 ], 399 [1, "icon-alignment"], 400 [ 401 "ds-button-icon", 402 "", 403 "variant", 404 "flat-reduced", 405 "kind", 406 "tertiary", 407 "size", 408 "large" 409 ], 410 [3, "name"], 411 [3, "hidden"] 412 ], 413 template: function(s, i) { 414 s & 1 && K(0, ut, 9, 8, "ds-card", 1), s & 2 && U(i.areMiniGamesEnabled ? 0 : -1); 415 }, 416 dependencies: [ 417 k, 418 Pi, 419 qi, 420 zi, 421 Ji, 422 Hi, 423 ti, 424 it, 425 st, 426 ri 427 ], 428 styles: [".accordion-header-alignment[_ngcontent-%COMP%]{padding:0 12px}.icon-alignment[_ngcontent-%COMP%]{display:flex}.icon-alignment[_ngcontent-%COMP%] [_ngcontent-%COMP%]:hover{border-radius:50%}"], 429 changeDetection: 1 430 }), t; 431 }
431)(), H = (() => { 432 let t = class { 433 constructor() { 434 this.widgetRegistry = a($i); 435 } 436 onFeatureInit() { 437 this.widgetRegistry.registerLazy("MiniGames", j); 438 } 439 }; 440 return t.ɵfac = function(s) { 441 return new (s || t)(); 442 }, t.ɵprov = v({ 443 token: t, 444 factory: t.ɵfac, 445 providedIn: "root" 446 }), t; 447 })(); 448 })))(); 449} 450Q(); 451export { _t as provide }; 452 453//# sourceMappingURL=chunk-iellcpmd.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.