1import { d as _, f as Lt, g, p as wt, y as At } from "./chunk-xgti9j2t.js"; 2import { Ai as Ft, Cr as Ht, Ea as F, Fn as j, Hn as Bt, Io as Rt, Jr as Tt, Li as H, Pi as Pt, Pt as B, Ro as Dt, Sa as k, Sn as K, Sr as Vt, Tn as Ot, Y as R, co as tt, f as qt, fa as et, fi as d, fr as $t, gt as s, ia as nt, l as T, la as Gt, nt as it, qn as Nt, t as Yt, tn as P, tt as st, wr as Qt, zo as Xt } from "./chunk-c97c17u8.js"; 3import { M as zt, t as Wt, u as Mt } from "./chunk-l3jkbhly.js"; 4import { p as Jt } from "./chunk-k52vj1ic.js"; 5import { o as Zt } from "./chunk-l24fzhmb.js"; 6import { A as Ut } from "./chunk-jrtaqqwj.js"; 7import { o as jt, t as m } from "./chunk-pesy0vb6.js"; 8import { D as Kt, o as te } from "./chunk-llc8ry2a.js"; 9import { D as v, d as ee, j as ne, ut as ie } from "./chunk-fbjoug0d.js"; 10import { a as se } from "./chunk-ewplex8i.js"; 11import { n as re, r as rt } from "./chunk-c18gpzrj.js"; 12import { r as ae, t as oe } from "./chunk-c9rg1mp5.js"; 13import { t as ce } from "./chunk-kyqvtgtk.js"; 14import { J as he, Y as le, gt as de, y as pe } from "./chunk-w0x32net.js"; 15import { d as ue, h as ge, p as me, r as ve } from "./chunk-bhnvkbxx.js"; 16import { ot as Ce } from "./chunk-f2v2cgea.js"; 17import { a as fe, c as Ee, s as ye } from "./chunk-og5uebri.js"; 18import { Dn as be, Tt as Se, Vn as xe, ft as _e, jr as ke, yn as Ie } from "./chunk-go6pvd0a.js"; 19import { n as Le, t as we } from "./chunk-k4et3zlq.js"; 20import { i as Ae, p as Fe } from "./chunk-hul0ult7.js"; 21import { n as He } from "./chunk-lmnwxprc.js"; 22import { n as Be, r as Re, t as Te } from "./chunk-ilfhy0in.js"; 23import { n as Pe } from "./chunk-ohg30iel.js"; 24import { $ as De } from "./chunk-iuhjzybw.js"; 25import { n as Ve, t as Oe } from "./chunk-cah7i2vq.js"; 26import { n as qe, t as at } from "./chunk-o4f8w5yc.js"; 27var ot, I, C, L, f, D, ct, w, V, O, q, $, ht, lt, dt, pt, ut, gt, G, mt, vt, Ct, ft, Et, yt, N, Y; 28function Q() { 29 return (Q = at((() => { 30 ot = "gs:presentation:search:accessible", I = "gs:presentation:launchsearch", C = "gs:presentation:bootstrapped", L = "gs:search:service:context:fetch", f = "gs:search:service:context:result", D = "gs:search:tracking", ct = "gs:productstub:vnuserevent", w = "gs:productstub:entrypoint:active", V = "gs:productstub:clientconfig:read", O = "gs:productstub:clientconfig:updateavailable", q = "gs:searchindex:load", $ = "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", G = "gs:searchAppLoaded", mt = "gs:searchServiceInitializing", vt = "gs:searchServiceInitialized", Ct = "gs:searchServiceLoading", ft = "gs:searchServiceLoaded", Et = "gs:searchContextLoading", yt = "gs:searchContextLoaded", N = "gs:query", Y = "gs:queryresult"; 31 })))(); 32} 33var $e = qe({ 34 GlobalSearchBootstrapGuard: () => M, 35 GlobalSearchBootstrapService: () => J, 36 GlobalSearchClientConfig: () => A, 37 GlobalSearchWebTrackingService: () => W, 38 IndexLoaderClientService: () => X, 39 ReadSearchContextEventIdentifier: () => ut, 40 SearchAppEnablerQuery: () => dt, 41 SearchAppLoadedEventIdentifier: () => G, 42 SearchAppLoadingEventIdentifier: () => gt, 43 SearchAppQueryEventIdentifier: () => N, 44 SearchAppQueryResultEventIdentifier: () => Y, 45 SearchContextLoadedEventIdentifier: () => yt, 46 SearchContextLoadingEventIdentifier: () => Et, 47 SearchContextWrittenEventIdentifier: () => pt, 48 SearchIndexLoadEvent: () => q, 49 SearchIndexLoaderRegistrationService: () => z, 50 SearchServiceInitializedEventIdentifier: () => vt, 51 SearchServiceInitializingEventIdentifier: () => mt, 52 SearchServiceLoadedEventIdentifier: () => ft, 53 SearchServiceLoadingEventIdentifier: () => Ct, 54 ServiceTokenHeader: () => ht, 55 TransportTokenHeader: () => lt, 56 __BOOTSTRAP_APP__: () => $, 57 __CLIENT_CONFIG_UPDATE_AVAILABLE__: () => O, 58 __CONTEXT__: () => f, 59 __ENTRY_POINT_ACTIVE__: () => w, 60 __FETCH_CONTEXT__: () => L, 61 __LAUNCH_SEARCH__: () => I, 62 __PRESENTATION_BOOTSTRAPPED__: () => C, 63 __READ_CLIENT_CONFIG__: () => V, 64 __SEARCH_ACCESSIBLE__: () => ot, 65 __TRACK__: () => D, 66 __USER_EVENT__: () => ct, 67 provide: () => Xe 68}); 69function Ge(e) { 70 return e.get(A); 71} 72function Ne(e, i) { 73 e & 1 && K(0, "span", 4), e & 2 && P("ngClass", k(2).iconClass); 74} 75function Ye(e, i) { 76 e & 1 && K(0, "img", 5), e & 2 && P("src", k(2).imageSource, qt); 77} 78function Qe(e, i) { 79 if (e & 1) { 80 let t = Vt(); 81 F(0, "div", 2), Yt("click", function() { 82 return $t(t), Xt(k().launchSearch()); 83 }), F(1, "a", 3), R(2, Ne, 1, 1, "span", 4), R(3, Ye, 1, 1, "img", 5), et()(); 84 } 85 if (e & 2) { 86 let t = k(); 87 P("ngClass", t.wrapperClass), B(2), H(t.canDisplayIcon ? 2 : -1), B(), H(t.canDisplayImage ? 3 : -1); 88 } 89} 90function Xe() { 91 return [Se(J)]; 92} 93var A, bt, X, St, xt, _t, z, W, M, J; 94function kt() { 95 return (kt = at((() => { 96 At(), Pt(), zt(), Jt(), Zt(), Ut(), jt(), Kt(), ie(), se(), re(), ae(), ce(), te(), de(), me(), Ce(), le(), Ee(), ke(), we(), Fe(), Ae(), He(), Re(), Pe(), De(), be(), Ve(), Q(), Gt(), A = (() => { 97 var e = class extends Be {}; 98 let i = (e.ɵfac = (() => { 99 let t; 100 return function(n) { 101 return (t || (t = Ft(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 = Ge(Tt(Te)), n; 108 }, 109 providedIn: "root" 110 }), e); 111 return i = Qt([Le({ 112 key: "globalSearch", 113 product: ne.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(v), 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 }
140, this.contextAvailable = new Nt(!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(G, this.searchAppLoadedEventHandler), this._window.addEventListener(Y, 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(v), this.pendingLoad = !1, this.pendingReload = !1, this.searchContext = this.searchContextService, this.searchContextService && this.searchContextService.contextAvailable.pipe(m()).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(q)); 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(st), this.timerService = s(pe), this.destroyRef = s(T), this.window = s(v), this.document = s(j), 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 }, 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, E = 0, y = 0; 233 function b(a) { 234 a.type === "touchstart" ? (p = a.touches[0].clientX - E, u = a.touches[0].clientY - y) : (p = a.clientX - E, 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 >
240= 66 && a.touches[0].clientY < t.innerHeight - 66 && (E = c, y = h, Z(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 && (E = c, y = h, Z(c, h, n)))); 241 } 242 function Z(a, It, U) { 243 U && (U.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(L)); 284 } 285 shouldHideFloatingEntryPoint(t) { 286 return t?.presentationContext?.configuration?.HideFloatingEntryPoint?.trim().toLowerCase() === "true" || !1; 287 } 288 registerEventHandlers() { 289 this._ngZone.runOutsideAngular(() => { 290 addEventListener(w, this.registerDraggableStickyIcon), addEventListener("gs:hideFloatingEntry", this.hideFloatingEntryEventHandler), addEventListener("gs:showFloatingEntry", this.showFloatingEntryEventHandler), addEventListener("gs:classifyFloatingEntry", this.classifyFloatingEntry), addEventListener("gs:deClassifyFloatingEntry", this.deClassifyFloatingEntry), addEventListener(f, this.contextResultEventHandler), addEventListener(C, this.presentationBootstarppedEventHandler), addEventListener("message", this.messageEventHandler); 291 }); 292 } 293 unregisterEventHandlers() { 294 this._ngZone.runOutsideAngular(() => { 295 removeEventListener(w, this.registerDraggableStickyIcon), removeEventListener("gs:hideFloatingEntry", this.hideFloatingEntryEventHandler), removeEventListener("gs:showFloatingEntry", this.show
295FloatingEntryEventHandler), removeEventListener("gs:classifyFloatingEntry", this.classifyFloatingEntry), removeEventListener("gs:deClassifyFloatingEntry", this.deClassifyFloatingEntry), removeEventListener(f, 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 = Bt({ 302 type: e, 303 selectors: [["vn-gs-entry-sticky"]], 304 viewQuery: function(i, t) { 305 if (i & 1 && Rt(St, 5)(xt, 5), i & 2) { 306 let n; 307 nt(n = tt()) && (t.container = n.first), nt(n = tt()) && (t.item = n.first); 308 } 309 }, 310 features: [Ht], 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 && (F(0, "div", 0), R(1, Qe, 4, 3, "div", 1), et()), i & 2 && (B(), H(t.isEnabled ? 1 : -1)); 346 }, 347 dependencies: [Mt], 348 encapsulation: 2, 349 changeDetection: 1 350 }), e; 351 })(), z = (() => { 352 let e = class { 353 constructor() { 354 this.userService = s(ue), this.indexLoaderClientService = s(X), this.destroyRef = s(T); 355 } 356 register() { 357 this.userService.events.pipe(Dt((t) => t instanceof (ge || ve)), m(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 })(), W = (() => { 370 var e; 371 let i = class { 372 constructor() { 373 Lt(this, e), this.trackingService = s(fe), this.clientConfigService = s(ee), this._ngZone = s(st), wt(this, e, s(v)), 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(m()).subscribe((n) => { 382 _(this, e).dispatchEvent(new CustomEvent(O, { detail: n })); 383 }); 384 } 385 registerHandlers() { 386 _(this, e).addEventListener(D, 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(ye.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 })(), M = (() => { 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 })(), J = (() => { 458 let e = class { 459 constructor() { 460 this.dynamicComponentsRegistry = s(xe), this.tracking = s(W), this.deviceService = s(rt), this.headerService = s(he), this.menuActionsService = s(_e), this.headerSearchService = s(Oe), this.searchIndexLoaderRegistrationService = s(z), this.globalSearchConfig = s(A), this.dynamicLayoutService = s(Ie), this.bootstrapGuard = s(M), this.destroyRef = s(T), this.documentRef = s(j), this.product = s(oe), this.window = s(v), this.isBrowser = Wt(s(Ot)); 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-obksz7j2.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(m(this.destroyRef)).subscribe(() => { 471 this.headerSearchService.clickEvent.pipe(m(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($, () => { 491 this.injectAppScripts().catch(() => {}); 492 }), yield it(this.globalSearchConfig.whenReady), this.searchIndexLoaderRegistrationService.register(); 493 }); 494 } 495 injectAppScripts() { 496 return g(this, null, function* () { 497 yield it(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 { f as a, L as i, kt as n, C as o, Q as r, I as s, $e as t }; 517 518//# sourceMappingURL=chunk-1l7t16j6.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.