1import { b as wt, d as _, f as Lt, g, p as At } from "./chunk-i2pl4wu9.js"; 2import { $i as Ft, At as Ht, Bi as Bt, Cn as Rt, Co as Pt, Ei as d, Et as Dt, Fo as Tt, Kt as Vt, Nr as qt, On as J, Pi as M, Ro as Ot, Ui as Qt, W as s, ao as k, bn as F, et as tt, fr as H, g as B, ht as R, jn as $t, jt as Nt, kt as Gt, oi as Yt, ro as et, rt as P, si as Xt, tn as nt, vr as it, wi as st, zi as D } from "./chunk-ql746sly.js"; 3import { j as Wt, l as Zt, t as zt } from "./chunk-hcheit1f.js"; 4import { p as Kt } from "./chunk-b11o3szq.js"; 5import { D as m, d as Ut, j as jt, ut as Jt } from "./chunk-fz42rx6r.js"; 6import { r as Mt, t as te } from "./chunk-icjzvqcx.js"; 7import { t as ee } from "./chunk-jbaamz4y.js"; 8import { i as ne } from "./chunk-bc0fsc6d.js"; 9import { Y as ie, d as se, gt as re, rt as ae } from "./chunk-ot109np3.js"; 10import { o as oe } from "./chunk-jaxwt8s1.js"; 11import { M as ce } from "./chunk-hxqgo4lj.js"; 12import { o as he, t as v } from "./chunk-br9ckdzm.js"; 13import { C as le, n as de, r as pe, t as ue } from "./chunk-l43lwjlr.js"; 14import { d as ge, h as me, p as ve, r as Ce } from "./chunk-bl09vhvv.js"; 15import { ot as Ee } from "./chunk-f0xko016.js"; 16import { a as fe, c as ye, s as be } from "./chunk-oats8yse.js"; 17import { Sn as Se, bt as xe, dt as _e, jr as ke, mr as Ie, pn as we } from "./chunk-ozbfhgko.js"; 18import { a as Le } from "./chunk-lt7tziae.js"; 19import { n as Ae, r as rt } from "./chunk-fla2anea.js"; 20import { n as Fe, t as He } from "./chunk-lf77xnpz.js"; 21import { i as Be, p as Re } from "./chunk-bnt36dw9.js"; 22import { n as Pe } from "./chunk-d6iooz3w.js"; 23import { n as De } from "./chunk-c8btpjog.js"; 24import { tt as Te } from "./chunk-dkzazc5t.js"; 25import { n as Ve, t as qe } from "./chunk-f7iol0ao.js"; 26import { n as Oe, t as at } from "./chunk-o4f8w5yc.js"; 27var ot, I, C, w, E, T, ct, L, V, q, O, Q, ht, lt, dt, pt, ut, gt, $, mt, vt, Ct, Et, ft, yt, N, G;
28function Y() { 29 return (Y = at((() => { 30 ot = "gs:presentation:search:accessible", I = "gs:presentation:launchsearch", C = "gs:presentation:bootstrapped", w = "gs:search:service:context:fetch", E = "gs:search:service:context:result", T = "gs:search:tracking", ct = "gs:productstub:vnuserevent", L = "gs:productstub:entrypoint:active", V = "gs:productstub:clientconfig:read", q = "gs:productstub:clientconfig:updateavailable", O = "gs:searchindex:load", Q = "gs:search:bootstrap:app", ht = "--x-globalsearch-service-servicetoken", lt = "--x-globalsearch-security-transporttoken", dt = "--globalsearch.app.isenabled", pt = "gs:searchContextWritten", ut = "gs:readSearchContext", gt = "gs:searchAppLoading", $ = "gs:searchAppLoaded", mt = "gs:searchServiceInitializing", vt = "gs:searchServiceInitialized", Ct = "gs:searchServiceLoading", Et = "gs:searchServiceLoaded", ft = "gs:searchContextLoading", yt = "gs:searchContextLoaded", N = "gs:query", G = "gs:queryresult"; 31 })))(); 32} 33var Qe = Oe({ 34 GlobalSearchBootstrapGuard: () => z, 35 GlobalSearchBootstrapService: () => K, 36 GlobalSearchClientConfig: () => A, 37 GlobalSearchWebTrackingService: () => Z, 38 IndexLoaderClientService: () => X, 39 ReadSearchContextEventIdentifier: () => ut, 40 SearchAppEnablerQuery: () => dt, 41 SearchAppLoadedEventIdentifier: () => $, 42 SearchAppLoadingEventIdentifier: () => gt, 43 SearchAppQueryEventIdentifier: () => N, 44 SearchAppQueryResultEventIdentifier: () => G, 45 SearchContextLoadedEventIdentifier: () => yt, 46 SearchContextLoadingEventIdentifier: () => ft, 47 SearchContextWrittenEventIdentifier: () => pt, 48 SearchIndexLoadEvent: () => O, 49 SearchIndexLoaderRegistrationService: () => W, 50 SearchServiceInitializedEventIdentifier: () => vt, 51 SearchServiceInitializingEventIdentifier: () => mt, 52 SearchServiceLoadedEventIdentifier: () => Et, 53 SearchServiceLoadingEventIdentifier: () => Ct, 54 ServiceTokenHeader: () => ht, 55 TransportTokenHeader: () => lt, 56 __BOOTSTRAP_APP__: () => Q, 57 __CLIENT_CONFIG_UPDATE_AVAILABLE__: () => q, 58 __CONTEXT__: () => E, 59 __ENTRY_POINT_ACTIVE__: () => L, 60 __FETCH_CONTEXT__: () => w, 61 __LAUNCH_SEARCH__: () => I, 62 __PRESENTATION_BOOTSTRAPPED__: () => C, 63 __READ_CLIENT_CONFIG__: () => V, 64 __SEARCH_ACCESSIBLE__: () => ot, 65 __TRACK__: () => T, 66 __USER_EVENT__: () => ct, 67 provide: () => Xe 68}); 69function $e(e) { 70 return e.get(A); 71} 72function Ne(e, i) { 73 e & 1 && tt(0, "span", 4), e & 2 && F("ngClass", k(2).iconClass); 74} 75function Ge(e, i) { 76 e & 1 && tt(0, "img", 5), e & 2 && F("src", k(2).imageSource, Vt); 77} 78function Ye(e, i) { 79 if (e & 1) { 80 let t = Ht(); 81 D(0, "div", 2), Tt("click", function() { 82 return $t(t), qt(k().launchSearch()); 83 }), D(1, "a", 3), H(2, Ne, 1, 1, "span", 4), H(3, Ge, 1, 1, "img", 5), et()(); 84 } 85 if (e & 2) { 86 let t = k(); 87 F("ngClass", t.wrapperClass), P(2), R(t.canDisplayIcon ? 2 : -1), P(), R(t.canDisplayImage ? 3 : -1); 88 } 89} 90function Xe() { 91 return [_e(K)]; 92} 93var A, bt, X, St, xt, _t, W, Z, z, K; 94function kt() { 95 return (kt = at((() => { 96 wt(), Ft(), Wt(), Kt(), Jt(), Mt(), ee(), ne(), re(), oe(), ce(), he(), le(), ve(), Ee(), ie(), ye(), ke(), Le(), Ae(), He(), Re(), Be(), Pe(), de(), De(), Te(), Se(), Ve(), Y(), Bt(), A = (() => { 97 var e = class extends ue {}; 98 let i = (e.ɵfac = (() => { 99 let t; 100 return function(n) { 101 return (t || (t = Qt(e)))(n || e); 102 }; 103 })(), e.ɵprov = d({ 104 token: e, 105 factory: function(t) { 106 let n = null; 107 return t ? n = new t() : n = $e(Yt(pe)), n; 108 }, 109 providedIn: "root" 110 }), e); 111 return i = Dt([Fe({ 112 key: "globalSearch", 113 product: jt.CASINO 114 })], i), i; 115 })(), bt = (() => { 116 let e = class { 117 get appContext() { 118 return this.searchContext?.appContext; 119 } 120 get contentContext() { 121 return this.searchContext?.contentContext; 122 } 123 get indexingContext() { 124 return this.searchContext?.indexingContext; 125 } 126 get securityContext() { 127 return this.searchContext?.securityContext; 128 } 129 get presentationContext() { 130 return this.searchContext?.presentationContext; 131 } 132 constructor() { 133 this.isAppEnabledQuery = "isappenabled", this.queryToken = "sticky-entry-query-isappenabled", this._window = s(m), this.searchAppLoadedEventHandler = (t) => { 134 if (t && t.detail && t.detail?.context) { 135 let n = t.detail?.context; 136 this.setContext(n); 137 } 138 }, this.searchAppQueryResultHandler = (t) => { 139 t && t?.detail && t?.detail?.query && t?.detail?.queryToken && t?.detail?.queryToken === this.queryToken && t?.detail?.query === this.isAppEnabledQuery && this.setContext(t?.detail?.context); 140 }, this.contextAvailable = new Xt(!0), this.registerEventHandlers(), this.raiseIsAppEnabledQuery(); 141 } 142 setContext(t) { 143 this.searchContext = t, this.contextAvailable.emit(this.searchContext); 144 } 145 registerEventHandlers() { 146 this._window.addEventListener($, this.searchAppLoadedEventHandler), this._window.addEventListener(G, this.searchAppQueryResultHandler); 147 } 148 raiseIsAppEnabledQuery() { 149 this._window.dispatchEvent(new CustomEvent(N, { detail: { 150 query: this.isAppEnabledQuery, 151 queryToken: this.queryToken 152 } })); 153 } 154 }; 155 return e.ɵfac = function(i) { 156 return new (i || e)(); 157 }, e.ɵprov = d({ 158 token: e, 159 factory: e.ɵfac, 160 providedIn: "root" 161 }), e; 162 })(), X = (() => { 163 let e = class { 164 constructor() { 165 this.searchContextService = s(bt), this.window = s(m), this.pendingLoad = !1, this.pendingReload = !1, this.searchContext = this.searchContextService, this.searchContextService && this.searchContextService.contextAvailable.pipe(v()).subscribe((t) => { 166 this.searchContext = t, this.pendingLoad && (this.loadIndex(), this.pendingLoad = !1), this.pendingReload && (this.loadIndex(), this.pendingReload = !1); 167 }); 168 } 169 loadIndex() { 170 console.info("[GlobalSearch]", "[ProductStub]", "[IndexLoaderClientService]", "[loadIndex]"), this.searchContext && this.searchContext.appContext ? this.reloadIndex() : this.pendingLoad = !0; 171 } 172 reloadIndex() { 173 console.info("[GlobalSearch]", "[ProductStub]", "[IndexLoaderClientService]", "[reloadIndex]"), this.window.dispatchEvent(new CustomEvent(O)); 174 } 175 }; 176 return e.ɵfac = function(i) { 177 return new (i || e)(); 178 }, e.ɵprov = d({ 179 token: e, 180 factory: e.ɵfac, 181 providedIn: "root" 182 }), e; 183 })(), St = ["container"], xt = ["item"], _t = (() => { 184 let e = class { 185 constructor() { 186 this.deviceService = s(rt), this._ngZone = s(it), this.timerService = s(se), this.destroyRef = s(B), this.window = s(m), this.document = s(nt), this.displayIcon = !0, this.shouldHideFloatingEntry = !1, this.displayImage = !1, this.wrapperClassValue = "fab-search-wrapper", this.iconClassValue = "fab-search-icn theme-search", this.imageSourceValue = "#", this.draggableCleanup = null, this.registerDraggableStickyIcon = (t) => { 187 t && (this.timerService.clearTimeout(this.draggableTimeoutId), this.draggableTimeoutId = this.timerService.setTimeout(() => { 188 this.searchContext?.presentationContext?.configuration?.DraggableStickyIcon && this.searchContext?.presentationContext?.configuration?.DraggableStickyIcon === "true" && this.draggablestickyicon(); 189 }, 100)); 190 }, this.hideFloatingEntryEventHandler = (t) => { 191 this.shouldHideFloatingEntry = !0, t && t?.stopImmediatePropagation && typeof t?.stopImmediatePropagation == "function" && t?.stopImmediatePropagation(); 192 }
192, this.showFloatingEntryEventHandler = (t) => { 193 this.shouldHideFloatingEntry = this.searchContext?.presentationContext?.configuration?.HideFloatingEntryPoint?.trim()?.toLowerCase() == "true", t && t?.stopImmediatePropagation && typeof t?.stopImmediatePropagation == "function" && t?.stopImmediatePropagation(); 194 }, this.messageEventHandler = (t) => { 195 if (t && t.data && t.data.eventIdentifier && typeof t.data.eventIdentifier == "string" && t.data.eventIdentifier?.trim()) switch (t.data.eventIdentifier?.trim().toLowerCase()) { 196 case "gs:hidefloatingentry": 197 this.hideFloatingEntryEventHandler(t); 198 break; 199 case "gs:showfloatingentry": this.showFloatingEntryEventHandler(t); 200 } 201 }, this.presentationBootstarppedEventHandler = (t) => { 202 if (t && t.detail && t.detail) { 203 let n = t.detail; 204 this.setState(n.searchContext); 205 } 206 }, this.contextResultEventHandler = (t) => { 207 t && t?.detail && this.setState(t?.detail); 208 }, this.classifyFloatingEntry = (t) => { 209 let n = t?.detail; 210 n && !(this.wrapperClassValue && this.wrapperClassValue?.split(" ").some((r) => r === n)) && (this.wrapperClassValue = `${this.wrapperClassValue} ${n}`); 211 }, this.deClassifyFloatingEntry = (t) => { 212 let n = t?.detail, r = this.wrapperClassValue && this.wrapperClassValue.split(" ") || []; 213 if (n && r.length > 0) { 214 let l = r.filter((c) => c !== n); 215 l && (this.wrapperClassValue = l.join(" ")); 216 } 217 }, this.destroyRef.onDestroy(() => { 218 this.timerService.clearTimeout(this.draggableTimeoutId), this.unregisterEventHandlers(), this.draggableCleanup?.(); 219 }); 220 } 221 get isEnabled() { 222 return this.searchContext?.appContext && this.searchContext.appContext.isEnabled && this.deviceService.isTouch && !this.shouldHideFloatingEntry || !1; 223 } 224 ngOnInit() { 225 this.setState(this.searchContext), this.registerEventHandlers(), this.raiseIsAppEnabledQuery(), this.searchContext?.presentationContext?.configuration?.DraggableStickyIcon && this.searchContext?.presentationContext?.configuration?.DraggableStickyIcon === "true" && this.draggablestickyicon(); 226 } 227 ngOnChanges() { 228 this.setState(this.searchContext), this.registerEventHandlers(), this.raiseIsAppEnabledQuery(), this.searchContext?.presentationContext?.configuration?.DraggableStickyIcon && this.searchContext.presentationContext?.configuration?.DraggableStickyIcon === "true" && this.draggablestickyicon(); 229 } 230 draggablestickyicon() { 231 this.draggableCleanup?.(); 232 let t = this.window, n = this.document.querySelector("#item"), r = this.document.querySelector("#container"), l = !1, c, h, p, u, f = 0, y = 0; 233 function b(a) { 234 a.type === "touchstart" ? (p = a.touches[0].clientX - f, u = a.touches[0].clientY - y) : (p = a.clientX - f, u = a.clientY - y), l = !0; 235 } 236 function S(a) { 237 a && (p = c, u = h, l = !1); 238 } 239 function x(a) { 240 l && (a.cancelable && a.preventDefault(), a.type === "touchmove" ? (c = a.touches[0].clientX - p, h = a.touches[0].clientY - u, a.touches[0].clientX >= 66 && a.touches[0].clientX < t.screen.width - 66 && a.touches[0].clientY >= 66 && a.touches[0].clientY < t.innerHeight - 66 && (f = c, y = h, U(c, h, n))) : (c = a.clientX - p, h = a.clientY - u, a.clientX >= 66 && a.clientX < t.screen.width - 66 && a.clientY > 0 && a.clientY < t.innerHeight - 66 && (f = c, y = h, U(c, h, n)))); 241 } 242 function U(a, It, j) { 243 j && (j.style.transform = "translate3d(" + a + "px, " + It + "px, 0)"); 244 } 245 r && (r.addEventListener("touchstart", b, !1), r.addEventListener("touchend", S, !1), r.addEventListener("touchmove", x, !1), r.addEventListener("mousedown", b, !1), r.addEventListener("mouseup", S, !1), r.addEventListener("mousemove", x, !1), this.draggableCleanup = () => { 246 r.removeEventListener("touchstart", b, !1), r.removeEventListener("touchend", S, !1), r.removeEventListener("touchmove", x, !1), r.removeEventListener("mousedown", b, !1), r.removeEventListener("mouseup", S, !1), r.removeEventListener("mousemove", x, !1); 247 }); 248 } 249 launchSearch() { 250 this.window.dispatchEvent(new CustomEvent(I, { detail: { 251 launchChannel: "mobile", 252 launchedFrom: "bottom-sticky" 253 } })); 254 } 255 get canDisplayIcon() { 256 return this.displayIcon; 257 } 258 get canDisplayImage() { 259 return this.displayImage; 260 } 261 get wrapperClass() { 262 return this.wrapperClassValue; 263 } 264 get iconClass() { 265 return this.iconClassValue; 266 } 267 get imageSource() { 268 return this.imageSourceValue; 269 } 270 setState(t) { 271 this.wrapperClassValue = this.getWrapperClassFromClientConfig(t), this.wrapperClassValue || (this.wrapperClassValue = "fab-search-wrapper"), this.iconClassValue = this.getIconClassFromClientConfig(t), this.iconClassValue ? (this.displayIcon = !0, this.displayImage = !1) : (this.iconClassValue = "fab-search-icn theme-search", this.displayIcon = !0, this.displayImage = !1), this.imageSourceValue = this.getImageSrcFromClientConfig(t), this.imageSourceValue && (this.displayIcon = !1, this.displayImage = !0), this.searchContext = t, this.shouldHideFloatingEntry = !(t && t.appContext && t.appContext.isEnabled), this.shouldHideFloatingEntry || (this.shouldHideFloatingEntry = this.shouldHideFloatingEntryPoint(t)), this.isEnabled && (this.window.dispatchEvent(new CustomEvent("gs:productstub:entrypoint:active", { detail: { activeFrom: "bottom-sticky" } })), this.searchContext && this.searchContext.presentationContext && this.searchContext.presentationContext.configuration && this.searchContext?.presentationContext?.configuration?.DraggableStickyIcon && this.searchContext?.presentationContext?.configuration?.DraggableStickyIcon === "true" && this.draggablestickyicon()); 272 } 273 getWrapperClassFromClientConfig(t) { 274 return t?.presentationContext?.entryPoints?.sticky?.parameters.WrapperClass || t?.presentationContext?.entryPoints?.sticky?.parameters.wrapperClass || ""; 275 } 276 getIconClassFromClientConfig(t) { 277 return t?.presentationContext?.entryPoints?.sticky?.parameters.IconClass || t?.presentationContext?.entryPoints?.sticky?.parameters.iconClass || ""; 278 } 279 getImageSrcFromClientConfig(t) { 280 return t?.presentationContext?.entryPoints?.sticky?.image?.src || ""; 281 } 282 raiseIsAppEnabledQuery() { 283 this.window.dispatchEvent(new CustomEvent(w)); 284 } 285 shouldHideFloatingEntryPoint(t) { 286 return t?.presentationContext?.configuration?.HideFloatingEntryPoint?.trim().toLowerCase() === "true" || !1; 287 } 288 registerEventHandlers() { 289 this._ngZone.runOutsideAngular(() => { 290 addEventListener(L, this.registerDraggableStickyIcon), addEventListener("gs:hideFloatingEntry", this.hideFloatingEntryEventHandler), addEventListener("gs:showFloatingEntry", this.show
290FloatingEntryEventHandler), addEventListener("gs:classifyFloatingEntry", this.classifyFloatingEntry), addEventListener("gs:deClassifyFloatingEntry", this.deClassifyFloatingEntry), addEventListener(E, this.contextResultEventHandler), addEventListener(C, this.presentationBootstarppedEventHandler), addEventListener("message", this.messageEventHandler); 291 }); 292 } 293 unregisterEventHandlers() { 294 this._ngZone.runOutsideAngular(() => { 295 removeEventListener(L, this.registerDraggableStickyIcon), removeEventListener("gs:hideFloatingEntry", this.hideFloatingEntryEventHandler), removeEventListener("gs:showFloatingEntry", this.showFloatingEntryEventHandler), removeEventListener("gs:classifyFloatingEntry", this.classifyFloatingEntry), removeEventListener("gs:deClassifyFloatingEntry", this.deClassifyFloatingEntry), removeEventListener(E, this.contextResultEventHandler), removeEventListener(C, this.presentationBootstarppedEventHandler), removeEventListener("message", this.messageEventHandler); 296 }); 297 } 298 }; 299 return e.ɵfac = function(i) { 300 return new (i || e)(); 301 }, e.ɵcmp = Pt({ 302 type: e, 303 selectors: [["vn-gs-entry-sticky"]], 304 viewQuery: function(i, t) { 305 if (i & 1 && Gt(St, 5)(xt, 5), i & 2) { 306 let n; 307 st(n = M()) && (t.container = n.first), st(n = M()) && (t.item = n.first); 308 } 309 }, 310 features: [Nt], 311 decls: 2, 312 vars: 1, 313 consts: [ 314 [ 315 "id", 316 "container", 317 1, 318 "global-search-stickycomponent" 319 ], 320 [ 321 "id", 322 "item", 323 3, 324 "ngClass" 325 ], 326 [ 327 "id", 328 "item", 329 3, 330 "click", 331 "ngClass" 332 ], 333 [1, "fab-search-container"], 334 [3, "ngClass"], 335 [ 336 "alt", 337 "", 338 1, 339 "fab-search-img", 340 3, 341 "src" 342 ] 343 ], 344 template: function(i, t) { 345 i & 1 && (D(0, "div", 0), H(1, Ye, 4, 3, "div", 1), et()), i & 2 && (P(), R(t.isEnabled ? 1 : -1)); 346 }, 347 dependencies: [Zt], 348 encapsulation: 2, 349 changeDetection: 1 350 }), e; 351 })(), W = (() => { 352 let e = class { 353 constructor() { 354 this.userService = s(ge), this.indexLoaderClientService = s(X), this.destroyRef = s(B); 355 } 356 register() { 357 this.userService.events.pipe(Ot((t) => t instanceof (me || Ce)), v(this.destroyRef)).subscribe(() => { 358 this.indexLoaderClientService.reloadIndex(); 359 }); 360 } 361 }; 362 return e.ɵfac = function(i) { 363 return new (i || e)(); 364 }, e.ɵprov = d({ 365 token: e, 366 factory: e.ɵfac, 367 providedIn: "root" 368 }), e; 369 })(), Z = (() => { 370 var e; 371 let i = class { 372 constructor() { 373 Lt(this, e), this.trackingService = s(fe), this.clientConfigService = s(Ut), this._ngZone = s(it), At(this, e, s(m)), this.trackingHandler = (n) => { 374 let r = n?.detail; 375 if (r) { 376 let l = r.eventName, c = r.data, h = r.options; 377 this.trackingService.triggerEvent(l, c, h); 378 } 379 }, this.readClientConfighandler = (n) => { 380 n?.detail?.clientConfig && (n.detail.clientConfig = _(this, e).clientConfig); 381 }, this.clientConfigService.updates.pipe(v()).subscribe((n) => { 382 _(this, e).dispatchEvent(new CustomEvent(q, { detail: n })); 383 }); 384 } 385 registerHandlers() { 386 _(this, e).addEventListener(T, this.trackingHandler, !1), this._ngZone.runOutsideAngular(() => { 387 _(this, e).addEventListener(V, this.readClientConfighandler, !1); 388 }); 389 } 390 trackClick(n) { 391 this.trackEventDetail(n); 392 } 393 trackTerm(n) { 394 this.trackEventDetail(n); 395 } 396 trackEventDetail(n) { 397 this.trackingService.triggerEvent(be.Event, { 398 "component.CategoryEvent": n.componentCategoryEvent, 399 "component.LabelEvent": n.componentLabelEvent, 400 "component.ActionEvent": n.componentActionEvent, 401 "component.PositionEvent": n.componentPositionEvent, 402 "component.LocationEvent": n.componentLocationEvent, 403 "component.EventDetails": n.componentEventDetails, 404 "component.URLClicked": n.componentURLClicked 405 }); 406 } 407 }; 408 return e = /* @__PURE__ */ new WeakMap(), i.ɵfac = function(t) { 409 return new (t || i)(); 410 }, i.ɵprov = d({ 411 token: i, 412 factory: i.ɵfac, 413 providedIn: "root" 414 }), i; 415 })(), z = (() => { 416 let e = class o { 417 isAlreadyBootstrapped() { 418 return o.isBootstrapped; 419 } 420 isCurrentlyBootstrapping() { 421 return o.isBootstrapping; 422 } 423 tryAcquireBootstrapLock() { 424 return o.isBootstrapped || o.isBootstrapping ? !1 : (o.isBootstrapping = !0, !0); 425 } 426 markBootstrapCompleted() { 427 o.isBootstrapped = !0, o.isBootstrapping = !1; 428 } 429 markBootstrapFailed() { 430 o.isBootstrapping = !1, o.bootstrapPromise = null; 431 } 432 waitForBootstrap(t) { 433 return g(this, null, function* () { 434 return o.isBootstrapped ? Promise.resolve() : o.isBootstrapping && o.bootstrapPromise ? o.bootstrapPromise : this.tryAcquireBootstrapLock() ? (o.bootstrapPromise = this.executeBootstrap(t), o.bootstrapPromise) : o.bootstrapPromise ? o.bootstrapPromise : Promise.resolve(); 435 }); 436 } 437 executeBootstrap(t) { 438 return g(this, null, function* () { 439 try { 440 yield t(), this.markBootstrapCompleted(); 441 } catch (n) { 442 throw this.markBootstrapFailed(), n; 443 } 444 }); 445 } 446 reset() { 447 o.isBootstrapped = !1, o.isBootstrapping = !1, o.bootstrapPromise = null; 448 } 449 }; 450 return e.isBootstrapped = !1, e.isBootstrapping = !1, e.bootstrapPromise = null, e.ɵfac = function(i) { 451 return new (i || e)(); 452 }, e.ɵprov = d({ 453 token: e, 454 factory: e.ɵfac, 455 providedIn: "root" 456 }), e; 457 })(), K = (() => { 458 let e = class { 459 constructor() { 460 this.dynamicComponentsRegistry = s(Ie), this.tracking = s(Z), this.deviceService = s(rt), this.headerService = s(ae), this.menuActionsService = s(xe), this.headerSearchService = s(qe), this.searchIndexLoaderRegistrationService = s(W), this.globalSearchConfig = s(A), this.dynamicLayoutService = s(we), this.bootstrapGuard = s(z), this.destroyRef = s(B), this.documentRef = s(nt), this.product = s(te), this.window = s(m), this.isBrowser = zt(s(Rt)); 461 } 462 onFeatureInit() { 463 return g(this, null, function* () { 464 this.isBrowser && (yield this.bootstrapGuard.waitForBootstrap(() =>
464 this.initFeature())); 465 }); 466 } 467 initFeature() { 468 return g(this, null, function* () { 469 let t = yield import("./chunk-heb42anz8.js").then((r) => r.HeaderLeftMenuEntryComponent), n = { "gs-search": () => Promise.resolve(t) }; 470 this.tracking.registerHandlers(), n["gs-search"] && !this.deviceService.isMobile && this.dynamicComponentsRegistry.registerLazyComponent("HEADER", "global-search", n["gs-search"]), this.headerService.whenReady.pipe(v(this.destroyRef)).subscribe(() => { 471 this.headerSearchService.clickEvent.pipe(v(this.destroyRef)).subscribe(() => { 472 [ 473 "casino", 474 "promo", 475 "bingo" 476 ].includes(this.product.current.name.toLocaleLowerCase()) && this.window.dispatchEvent(new CustomEvent("gs:presentation:launchsearch", { detail: { 477 launchChannel: "mobile", 478 launchedFrom: "epcot" 479 } })); 480 }); 481 }), this.menuActionsService.register("openGlobalSearch", () => { 482 [ 483 "casino", 484 "promo", 485 "bingo" 486 ].includes(this.product.current.name.toLocaleLowerCase()) && this.window.dispatchEvent(new CustomEvent("gs:presentation:launchsearch", { detail: { 487 launchChannel: "mobile", 488 launchedFrom: "bottom" 489 } })); 490 }), this.deviceService.isTouch && this.dynamicLayoutService.addComponent("app", _t, null), addEventListener(Q, () => { 491 this.injectAppScripts().catch(() => {}); 492 }), yield J(this.globalSearchConfig.whenReady), this.searchIndexLoaderRegistrationService.register(); 493 }); 494 } 495 injectAppScripts() { 496 return g(this, null, function* () { 497 yield J(this.globalSearchConfig.whenReady), this.globalSearchConfig.assetPaths?.scripts.forEach((t) => { 498 let n = (t || "")?.trim(); 499 if (n && !this.documentRef.body.querySelector(`script[src="${n}"]`)) { 500 let r = this.documentRef.createElement("script"); 501 r.src = n, this.documentRef.body.append(r); 502 } 503 }); 504 }); 505 } 506 }; 507 return e.ɵfac = function(i) { 508 return new (i || e)(); 509 }, e.ɵprov = d({ 510 token: e, 511 factory: e.ɵfac 512 }), e; 513 })(); 514 })))(); 515} 516export { E as a, w as i, kt as n, C as o, Y as r, I as s, Qe as t }; 517 518//# sourceMappingURL=chunk-fta8vof1.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.