1import { g as p, y as J } from "./chunk-xgti9j2t.js"; 2import { $ as E, Aa as z, Ai as Y, Ba as y, Ea as m, Hn as q, Li as u, Pi as Q, Pt as o, Ro as X, Sa as g, Sn as l, Sr as L, To as D, Y as h, fa as f, fi as _, fr as T, gt as s, l as A, la as K, ni as j, nt as C, oi as O, t as N, tn as r, ua as P, wr as Z, xi as tt, zo as B } from "./chunk-c97c17u8.js"; 3import { M as et, U as it, u as st } from "./chunk-l3jkbhly.js"; 4import { p as nt } from "./chunk-k52vj1ic.js"; 5import { o as ot } from "./chunk-l24fzhmb.js"; 6import { A as rt } from "./chunk-jrtaqqwj.js"; 7import { o as at, t as x } from "./chunk-pesy0vb6.js"; 8import { D as ct, o as ut } from "./chunk-llc8ry2a.js"; 9import { j as lt, ut as ht } from "./chunk-fbjoug0d.js"; 10import { a as ft } from "./chunk-ewplex8i.js"; 11import { n as pt } from "./chunk-c18gpzrj.js"; 12import { r as mt } from "./chunk-c9rg1mp5.js"; 13import { t as gt } from "./chunk-kyqvtgtk.js"; 14import { Q as dt, Y as vt, b as _t, et as kt, gt as yt, pt as Ct, tt as M } from "./chunk-w0x32net.js"; 15import { d as W, p as St } from "./chunk-bhnvkbxx.js"; 16import { ot as It } from "./chunk-f2v2cgea.js"; 17import { a as Rt, c as bt, r as wt, s as Et } from "./chunk-og5uebri.js"; 18import { Cr as Lt, Dn as Dt, Dr as Tt, Mr as At, Tt as Ot, fn as Nt, g as Pt, gr as k, jr as Bt, tr as xt } from "./chunk-go6pvd0a.js"; 19import { n as Mt, t as Wt } from "./chunk-k4et3zlq.js"; 20import { i as $t, p as Ht } from "./chunk-hul0ult7.js"; 21import { n as Ut, r as Ft } from "./chunk-lmnwxprc.js"; 22import { n as Gt, r as Vt, t as Jt } from "./chunk-ilfhy0in.js"; 23import { n as zt, t as Yt } from "./chunk-ohg30iel.js"; 24import { $ as qt, st as $, ut as Qt } from "./chunk-iuhjzybw.js"; 25import { r as Xt, t as Kt } from "./chunk-bt0uh5ix.js"; 26import { t as jt } from "./chunk-bwsrvyqb.js"; 27import { n as Zt, t as te } from "./chunk-k0kygnvj.js"; 28import { F as ee, I as ie, L as se, R as ne } from "./chunk-g8mtbi19.js"; 29import { $n as oe, Jt as re } from "./chunk-iq8thase.js"; 30import { t as ae } from "./chunk-o4f8w5yc.js"; 31function ce(t) { 32 return t.get(d); 33} 34function ue(t, i) { 35 t & 1 && (m(0, "ds-modal-header")(1, "div", 12), l(2, "div", 13), f()()), t & 2 && (o(2), r("vnDynamicHtml", i)); 36} 37function le(t, i) { 38 if (t & 1 && l(0, "vn-image", 4), t & 2) { 39 let e = i; 40 r("alt", e.alt)("height", e.height)("src", e.src)("width", e.width); 41 } 42} 43function he(t, i) { 44 t & 1 && l(0, "div", 6), t & 2 && r("vnDynamicHtml", g(2).winningsLosses()); 45} 46function fe(t, i) { 47 t & 1 && l(0, "div", 7), t & 2 && r("vnDynamicHtml", g(2).totalWager()); 48} 49function pe(t, i) { 50 if (t & 1) { 51 let e = L(); 52 m(0, "button", 14), N("click", function() { 53 return T(e), B(g(2).logout()); 54 }), E(1), f(); 55 } 56 if (t & 2) { 57 let e = g(); 58 o(), O(" ", e.StopPlaying, " "); 59 } 60} 61function me(t, i) { 62 t & 1 && l(0, "div", 11), t & 2 && r("vnDynamicHtml", i); 63} 64function ge(t, i) { 65 if (t & 1) { 66 let e = L(); 67 m(0, "ds-modal"), h(1, ue, 3, 1, "ds-modal-header"), m(2, "ds-modal-content"), l(3, "vn-message-panel", 0), m(4, "div")(5, "div", 1)(6, "div", 2)(7, "div", 3), h(8, le, 1, 4, "vn-image", 4), f(), l(9, "div", 5), h(10, he, 1, 1, "div", 6), h(11, fe, 1, 1, "div", 7), f(), m(12, "div", 8)(13, "button", 9), N("click", function() { 68 return T(e), B(g().close()); 69 }), E(14), f(), h(15, pe, 2, 1, "button", 10), f(), h(16, me, 1, 1, "div", 11), f()()()(); 70 } 71 if (t & 2) { 72 let e, n, c, v = i, a = g(); 73 o(), u((e = v.Title) ? 1 : -1, e), o(2), r("scope", a.MessageScope.SessionInfo), o(5), u((n = a.content().image) ? 8 : -1, n), o(), r("vnDynamicHtml", a.loginDuration()), o(), u(a.config().showWinningsLosses ? 10 : -1), o(), u(a.config().showTotalWager ? 11 : -1), o(), r("ngClass", P(11, H, !a.config().enableLogoutButton)), o(), r("ngClass", P(13, U, a.config().enableLogoutButton)), o(), O(" ", v.KeepPlaying, " "), o(), u(a.config().enableLogoutButton ? 15 : -1), o(), u((c = v.Description) ? 16 : -1, c); 74 } 75} 76function de() { 77 return [ 78 R, 79 S, 80 w, 81 Ot(G), 82 { 83 provide: d, 84 useFactory: ce, 85 deps: [Jt] 86 } 87 ]; 88} 89var d, S, H, U, F, R, I, b, w, G; 90function V() { 91 return (V = ae((() => { 92 J(), Q(), et(), nt(), ot(), rt(), at(), ct(), ht(), ft(), pt(), mt(), gt(), ut(), yt(), St(), It(), vt(), bt(), Bt(), Wt(), Ht(), $t(), Ut(), Vt(), zt(), qt(), Dt(), Kt(), jt(), Zt(), se(), oe(), K(), d = (() => { 93 var t = class extends Gt {}; 94 let i = (t.ɵfac = (() => { 95 let e; 96 return function(n) { 97 return (e || (e = Y(t)))(n || t); 98 }; 99 })(), t.ɵprov = _({ 100 token: t, 101 factory: t.ɵfac 102 }), t); 103 return i = Z([Mt({ 104 key: "vnSessionInfo", 105 product: lt.SF 106 })], i), i; 107 })(), S = (() => { 108 let t = class { 109 constructor() { 110 this.api = s(_t); 111 } 112 rcpuStatus() { 113 return p(this, null, function* () { 114 return yield C(this.api.get("sessioninfo/rcpustatus")); 115 }); 116 } 117 rcpuContinue() { 118 return p(this, null, function* () { 119 return yield C(this.api.post("sessioninfo/rcpucontinue")); 120 }); 121 } 122 rcpuQuit() { 123 return p(this, null, function* () { 124 return yield C(this.api.post("sessioninfo/rcpuquit")); 125 }); 126 } 127 }; 128 return t.ɵfac = function(i) { 129 return new (i || t)(); 130 }, t.ɵprov = _({ 131 token: t, 132 factory: t.ɵfac 133 }), t; 134 }
134)(), H = (t) => ({ "align-items-end d-flex": t }), U = (t) => ({ "w-100": t }), F = (() => { 135 let t = class { 136 constructor() { 137 this.sessionInfoConfig = s(d), this.userService = s(W), this.sessionInfoResourceService = s(S), this.overlayRef = s($), this.messageQueueService = s(kt), this.intlService = s(Yt), this.clockService = s(xt), this.trackingService = s(Rt), this.sessionInfo = tt.required(), this.MessageScope = M, this.config = z(this.sessionInfoConfig), this.content = y(() => this.config().content), this.totalWager = y(() => { 138 let e = this.getCurrencyValue(this.sessionInfo().totalWagerAmt); 139 return this.content().resources.TotalWager?.replace(/{TOTAL_WAGER}/g, e) ?? ""; 140 }), this.winningsLosses = y(() => { 141 this.trackingEventText = `Reality Check Pop-Up with ${this.sessionInfo().balance < 0 ? "losses" : "winnings"}`, this.trackWinningLosses(`${this.trackingEventText} - Displayed`); 142 let e = this.getCurrencyValue(this.sessionInfo().balance); 143 return this.content().resources.WinningsLosses?.replace(/{WINNINGS_LOSSES}/g, e) ?? ""; 144 }), this.loginDuration = y(() => { 145 let e = new Lt(this.sessionInfo().elapsedTime), n = this.clockService.toTotalTimeStringFormat(e, { 146 timeFormat: this.content().parameters?.timeFormat || Tt.HM, 147 hideZeros: !!this.content().parameters?.hideZeros, 148 unitFormat: Pt.Hidden 149 }); 150 return this.content().resources.LoginDuration?.replace(/{LOGIN_DURATION}/g, `${n} ${Math.floor(e.totalHours) > 0 ? this.content().resources.Hours : this.content().resources.Minutes}`) ?? ""; 151 }); 152 } 153 ngOnInit() { 154 this.messageQueueService.clear({ 155 scope: M.SessionInfo, 156 clearPersistent: !1 157 }); 158 } 159 close() { 160 this.trackWinningLosses("Continue CTA - Click"), this.userService.isAuthenticated ? this.sessionInfoResourceService.rcpuContinue().then(() => this.overlayRef.detach()).catch(() => this.overlayRef.detach()) : this.overlayRef.detach(); 161 } 162 logout() { 163 this.trackWinningLosses("Logout CTA - Click"), this.userService.isAuthenticated ? this.sessionInfoResourceService.rcpuQuit().then(() => this.overlayRef.detach()).catch(() => this.overlayRef.detach()) : this.overlayRef.detach(); 164 } 165 getCurrencyValue(e) { 166 let n = (e ?? 0) / 100; 167 return this.intlService.formatCurrency(n); 168 } 169 trackWinningLosses(e) { 170 this.trackingService.triggerEvent(Et.Clicks, { 171 "component.CategoryEvent": "Reality Check Pop-Up", 172 "component.LabelEvent": this.trackingEventText, 173 "component.ActionEvent": e, 174 "component.PositionEvent": "not applicable", 175 "component.LocationEvent": this.trackingEventText || "not applicable" 176 }); 177 } 178 }; 179 return t.ɵfac = function(i) { 180 return new (i || t)(); 181 }, t.ɵcmp = q({ 182 type: t, 183 selectors: [["lh-session-info"]], 184 inputs: { sessionInfo: [1, "sessionInfo"] }, 185 decls: 1, 186 vars: 1, 187 consts: [ 188 [3, "scope"], 189 [1, "generic-modal-content"], 190 [1, "login-duration-content-inner"], 191 [1, "login-duration-content-image-wrapper"], 192 [ 193 "imageClass", 194 "login-duration-content-image", 195 3, 196 "alt", 197 "height", 198 "src", 199 "width" 200 ], 201 [ 202 1, 203 "login-duration-content-text", 204 3, 205 "vnDynamicHtml" 206 ], 207 [ 208 1, 209 "winnings-losses-content-text", 210 3, 211 "vnDynamicHtml" 212 ], 213 [ 214 1, 215 "total-wager-content-text", 216 3, 217 "vnDynamicHtml" 218 ], 219 [ 220 1, 221 "session-timeout-alert-actions", 222 "overlay-actions", 223 3, 224 "ngClass" 225 ], 226 [ 227 "ds-button", 228 "", 229 "kind", 230 "primary", 231 "variant", 232 "filled", 233 "size", 234 "large", 235 3, 236 "click", 237 "ngClass" 238 ], 239 [ 240 "ds-button", 241 "", 242 "kind", 243 "secondary", 244 "variant", 245 "outline", 246 "size", 247 "large", 248 1, 249 "w-100" 250 ], 251 [ 252 1, 253 "login-duration-description-text", 254 3, 255 "vnDynamicHtml" 256 ], 257 ["slot", "start"], 258 [ 259 "slot", 260 "title", 261 3, 262 "vnDynamicHtml" 263 ], 264 [ 265 "ds-button", 266 "", 267 "kind", 268 "secondary", 269 "variant", 270 "outline", 271 "size", 272 "large", 273 1, 274 "w-100", 275 3, 276 "click" 277 ] 278 ], 279 template: function(i, e) { 280 if (i & 1 && h(0, ge, 17, 15, "ds-modal"), i & 2) { 281 let n; 282 u((n = e.content().resources) ? 0 : -1, n); 283 } 284 }, 285 dependencies: [ 286 it, 287 st, 288 At, 289 re, 290 te, 291 Ft, 292 ne, 293 ie, 294 ee 295 ], 296 encapsulation: 2 297 }), t; 298 })(), R = (() => { 299 let t = class { 300 constructor() {
301 this.injector = s(D), this.overlay = s(Xt), this.destroyRef = s(A); 302 } 303 show(e) { 304 this.currentRef && (this.overlay.dispose(this.currentRef), this.currentRef = null); 305 let n = this.overlay.create({ 306 backdropClass: "lh-backdrop", 307 panelClass: ["lh-login-duration-container", "generic-modal-popup"] 308 }); 309 n.detachments().pipe(x(this.destroyRef)).subscribe(() => { 310 this.overlay.dispose(n), this.currentRef = null; 311 }); 312 let c = new Qt(F, null, D.create({ 313 providers: [{ 314 provide: $, 315 useValue: n 316 }], 317 parent: this.injector 318 })); 319 n.attach(c).setInput("sessionInfo", e), this.currentRef = n; 320 } 321 close() { 322 this.currentRef?.detach(); 323 } 324 }; 325 return t.ɵfac = function(i) { 326 return new (i || t)(); 327 }, t.ɵprov = _({ 328 token: t, 329 factory: t.ɵfac 330 }), t; 331 })(), I = (function(t) { 332 return t.Continue = "CONTINUE", t.Logout = "LOGOUT", t; 333 })(I || {}), b = (function(t) { 334 return t.Blocked = "blocked", t; 335 })(b || {}), w = (() => { 336 let t = class { 337 constructor() { 338 this.sessionInfoConfig = s(d), this.sessionInfoOverlayService = s(R), this.authService = s(wt), this.navigationService = s(dt), this.user = s(W), this.log = s(Ct), this.sessionInfoResourceService = s(S), this.sessionInfoConfig.whenReady.pipe(j(1)).subscribe(() => this.urlBlacklistRegexes = this.sessionInfoConfig.urlBlacklist.map((e) => new RegExp(e, "i"))); 339 } 340 checkStatus() { 341 return p(this, null, function* () { 342 try { 343 let e = yield this.sessionInfoResourceService.rcpuStatus(); 344 e?.playerState?.toLowerCase() === b.Blocked && (yield this.processMessage(k.RCPU_SESS_EXPIRY_EVENT, e)); 345 } catch { 346 this.log.warn("RCPU status api call failed."); 347 } 348 }); 349 } 350 processMessage(e, n) { 351 return p(this, null, function* () { 352 let c = this.navigationService.location.absUrl(); 353 this.urlBlacklistRegexes.some((v) => v.test(c)) ? this.log.warn(`${c} URL is blacklisted for event: ${JSON.stringify(e)}`) : n ? e === k.RCPU_SESS_EXPIRY_EVENT ? this.sessionInfoOverlayService.show(n) : e === k.RCPU_ACTION_ACK && (n.rcpuAction === I.Continue ? this.sessionInfoOverlayService.close() : n.rcpuAction === I.Logout && this.user.isAuthenticated && (this.sessionInfoOverlayService.close(), yield this.authService.logout())) : this.log.error(`RTMS message missing required properties: ${JSON.stringify(e)}`); 354 }); 355 } 356 }; 357 return t.ɵfac = function(i) { 358 return new (i || t)(); 359 }, t.ɵprov = _({ 360 token: t, 361 factory: t.ɵfac 362 }), t; 363 })(), G = (() => { 364 let t = class { 365 constructor() { 366 this.sessionInfoConfig = s(d), this.rtmsService = s(Nt), this.sessionInfoService = s(w), this.destroyRef = s(A); 367 } 368 onFeatureInit() { 369 return p(this, null, function* () { 370 yield C(this.sessionInfoConfig.whenReady), yield this.sessionInfoService.checkStatus(), this.rtmsService.messages.pipe(X((e) => e.type === k.RCPU_SESS_EXPIRY_EVENT || e.type === k.RCPU_ACTION_ACK), x(this.destroyRef)).subscribe((e) => { 371 this.sessionInfoService.processMessage(e.type, e.payload); 372 }); 373 }); 374 } 375 }; 376 return t.ɵfac = function(i) { 377 return new (i || t)(); 378 }, t.ɵprov = _({ 379 token: t, 380 factory: t.ɵfac 381 }), t; 382 })(); 383 })))(); 384} 385V(); 386export { de as provide }; 387 388//# sourceMappingURL=chunk-benpnoiy.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.