1import { b as Rt, n as B, t as N } from "./chunk-i2pl4wu9.js"; 2import { $i as $t, Ai as zt, At as b, Co as C, Do as F, Ei as W, Er as j, Fo as p, G as D, Ga as G, Gi as K, Ha as ot, Ii as nt, Kt as Lt, L as Y, Mo as M, Na as Ut, Nr as S, Ti as at, Tr as ct, Ua as J, Ui as qt, Un as Ht, W as u, Wi as ut, Xa as Ft, Xi as A, Yt as Wt, Z as R, _ as $, _r as f, _t as dt, ao as o, bn as d, eo as Q, et as m, fr as h, ft as z, g as ht, gn as jt, ht as l, jn as y, jt as Gt, n as X, ot as Kt, q as w, qi as Yt, ro as a, rt as n, un as Z, xt as Jt, yn as lt, za as pt, zi as c, zt as Qt } from "./chunk-ql746sly.js"; 3import { j as Xt, u as tt } from "./chunk-hcheit1f.js"; 4import { p as Zt } from "./chunk-b11o3szq.js"; 5import { F as te, i as ee, ut as ie } from "./chunk-fz42rx6r.js"; 6import { r as se } from "./chunk-icjzvqcx.js"; 7import { t as re } from "./chunk-jbaamz4y.js"; 8import { A as oe, D as ne, b as ae } from "./chunk-c01xxjhs.js"; 9import { J as ce, b as ue, gt as de } from "./chunk-jtpxiaxj.js"; 10import { o as he } from "./chunk-jaxwt8s1.js"; 11import { j as le } from "./chunk-nhl74n6z.js"; 12import { o as pe, t as I } from "./chunk-br9ckdzm.js"; 13import { p as me } from "./chunk-bl09vhvv.js"; 14import { ot as Se } from "./chunk-f0xko016.js"; 15import { c as ye } from "./chunk-n63cutws.js"; 16import { Dn as ve, Tt as ge, _t as be, it as fe, jr as ke } from "./chunk-eu7ozsb7.js"; 17import { a as _e } from "./chunk-lt7tziae.js"; 18import { n as Ce, r as L } from "./chunk-gpn04stg.js"; 19import { t as we } from "./chunk-lf77xnpz.js"; 20import { i as Ie, p as Pe } from "./chunk-bnt36dw9.js"; 21import { n as Te, r as et } from "./chunk-d6iooz3w.js"; 22import { r as De } from "./chunk-jouxu15i.js"; 23import { n as xe } from "./chunk-c8btpjog.js"; 24import { tt as Ee } from "./chunk-dkzazc5t.js"; 25import { h as mt, m as Ve, mn as Oe, rn as Be } from "./chunk-b0owf95e.js"; 26import { a as Ne } from "./chunk-kanq2829.js"; 27import { i as Me, o as St } from "./chunk-hv7vgf8e.js"; 28import { n as Ae } from "./chunk-odv3lgpg.js"; 29import { c as Re } from "./chunk-c9i0kray.js"; 30import { r as $e, t as O } from "./chunk-e73ndlg5.js"; 31import { n as ze, t as yt } from "./chunk-gd9lkrcj.js"; 32import { i as Le } from "./chunk-fht9rnel.js"; 33import { $t as Ue, At as qe, Dr as He, Dt as Fe, Gh as We, Gr as je, Hn as P, Ia as Ge, In as vt, Jn as Ke, Ka as Ye, Lh as Je, Ln as Qe, Qn as Xe, Ua as Ze, Un as E, Va as ti, ar as ei, eg as ii, fo as si, ho as ri, kt as gt, po as oi, qn as ni, tr as ai, wr as ci, za as ui } from "./chunk-jrsxruoz.js"; 34import { $n as di, Ai as hi, En as li, Ni as pi, R as bt, Ti as mi, dn as Si, jt as yi, lt as U, yn as vi } from "./chunk-mbdbb8r5.js"; 35import { n as gi } from "./chunk-2opbn3h8.js"; 36import { a as bi, l as fi, n as ki } from "./chunk-bqrjc3xq.js"; 37import { t as _i } from "./chunk-gecd0xho.js"; 38import { i as Ci, o as wi } from "./chunk-gevkd7h2.js"; 39import { n as Ii } from "./chunk-be8ojp17.js"; 40import { t as Pi } from "./chunk-k4tlf00o.js"; 41import { S as Ti } from "./chunk-kagrwll4.js"; 42import { n as Di, r as xi } from "./chunk-ncgjjre8.js"; 43import { a as Ei, i as Vi, n as Oi, r as Bi, t as Ni } from "./chunk-oowbyg1d.js"; 44import { n as Mi, t as ft } from "./chunk-o20lk9pp.js"; 45import { n as Ai } from "./chunk-ms9gi36p.js"; 46import { a as Ri, l as $i } from "./chunk-m6nqvv2w.js"; 47import { n as zi, t as Li } from "./chunk-klex6is8.js"; 48import { r as Ui } from "./chunk-bwctm2ju.js"; 49import { a as qi, r as Hi } from "./chunk-n78g9cxt.js"; 50import { n as kt, t as Fi } from "./chunk-k1r4cyzu.js"; 51import { n as Wi, t as ji } from "./chunk-ew0ihfmv.js"; 52import { n as Gi, t as Ki } from "./chunk-gna4yetz.js"; 53import { n as Yi, t as Ji } from "./chunk-u4ppkx6p.js"; 54import { i as Qi, n as it } from "./chunk-j3qgoj1h.js"; 55import { n as Xi, t as Zi } from "./chunk-iqrqkuld.js"; 56import { n as ts, t as es } from "./chunk-h53x0e27.js"; 57import { a as is, i as st, t as ss } from "./chunk-k32ylo33.js"; 58import { n as rs, t as os } from "./chunk-ocp75cjv.js"; 59import { t as ns } from "./chunk-o4f8w5yc.js"; 60function as(e, i = !1) { 61 if (!e?.tileImage) return; 62 let t = new URL(e?.tileImage), s = `width${i ? "540" : "160"}`; 63 return t.searchParams.set("p", s), t.toString(); 64} 65function cs(e, i) { 66 if (e & 1 && m(0, "img", 1), e & 2) { 67 let t = o(); 68 d("priority", t.priority)("ngSrc", t.background); 69 } 70} 71function us(e, i) { 72 if (e & 1 && (c(0, "div", 3), m(1, "vn-icon", 6), a()), e & 2) { 73 let t = o(); 74 n(), d("name", t.story.icon); 75 } 76} 77function ds(e, i) { 78 if (e & 1 && (c(0, "div", 4), f(1), a()), e & 2) { 79 let t = o(); 80 d("title", ct(t.story.title)), n(), w(t.story.title); 81 } 82} 83function hs(e, i) { 84 if (e & 1) { 85 let t = b(); 86 c(0, "button", 7), p("click", function(s) { 87 return y(t), S(o().openStory(s)); 88 }), m(1, "vn-icon", 8), f(2), a(); 89 } 90 if (e & 2) { 91 let t = o(); 92 n(), Qt("aria-hidden", !0), n(), K(" ", t.more, " "); 93 } 94} 95function ls(e, i) { 96 if (e & 1 && (c(0, "div", 4), f(1), a()), e & 2) { 97 let t = o(); 98 d("title", ct(t.story.title)), n(), w(t.story.title); 99 } 100} 101function ps(e, i) { 102 if (e & 1 && m(0, "img", 5), e & 2) { 103 let t = o(); 104 d("width", 720)("height", 200)("ngSrc", t.subStory().ctaPopupHeaderImage); 105 } 106} 107function ms(e, i) { 108 if (e & 1 && (c(0, "div", 6), f(1), a()), e & 2) { 109 let t = o(); 110 n(), w(t.subStory().ctaPopupHeaderText); 111 } 112} 113function Ss(e, i) { 114 e & 1 && (m(0, "div", 7), pt(1, "msTrust")), e & 2 && d("innerHtml", nt(1, 1, o().subStory().ctaPopupContent, "html"), lt); 115} 116function ys(e, i) { 117 e & 1 && m(0, "div", 3), e & 2 && d("innerHtml", o().promotion.banner.keyTerms, lt); 118} 119function vs(e, i) { 120 e & 1 && m(0, "ds-loading-spinner", 2); 121} 122function gs(e, i) { 123 if (e & 1) { 124 let t = b(); 125 c(0, "vn-icon", 4), p("click", function() { 126 return y(t), S(o().toggleMute()); 127 }), a(); 128 } 129 e & 2 && d("name", o().muteAudio ? "theme-sound-mute" : "theme-sound-loud"); 130} 131function bs(e, i) { 132 if (e & 1 && m(0, "img", 0), e & 2) { 133 o(); 134 let t = z(0); 135 d("width", 540)("height", 786)("ngSrc", t.image); 136 } 137} 138function fs(e, i) { 139 if (e & 1 && m(0, "ms-story-content-video", 1), e & 2) { 140 let t = o(), s = z(0); 141 d("videoUrl", s.externalVideoUrl ?? s.videoUrl)("subStoryId", s.id)("storyId", t.story().id); 142 } 143} 144function ks(e, i) { 145 if (e & 1 && m(0, "img", 0), e & 2) { 146 o(2); 147 let t = z(0); 148 d("width", 540)("height", 786)("ngSrc", t.crmPromotionBackgroun
148d); 149 } 150} 151function _s(e, i) { 152 if (e & 1) { 153 let t = b(); 154 h(0, ks, 1, 3, "img", 0), c(1, "ms-story-promotion", 2), p("detailsPopupChange", function(s) { 155 return y(t), S(o().setProgressBarStatus(s)); 156 }), a(); 157 } 158 if (e & 2) { 159 let t = o(), s = z(0); 160 l(s.crmPromotionBackground ? 0 : -1), n(), d("promotion", s.promotion)("storyTitle", t.story().title); 161 } 162} 163function Cs(e, i) { 164 if (e & 1 && (c(0, "span", 4), f(1), a()), e & 2) { 165 let t = o(); 166 n(), w(t.stories[t.activeStory - 1].title || ""); 167 } 168} 169function ws(e, i) { 170 e & 1 && (c(0, "span", 15), m(1, "vn-icon", 18), a()); 171} 172function Is(e, i) { 173 e & 1 && (c(0, "span", 16), m(1, "vn-icon", 19), a()); 174} 175function Ps(e, i) { 176 if (e & 1) { 177 let t = b(); 178 c(0, "div", 17)(1, "button", 20), p("click", function(s) { 179 y(t); 180 let r = o(2); 181 return S(r.handleCTA(r.subStory.ctaRedirectionLink, s, !0)); 182 }), f(2), m(3, "vn-icon", 21), a()(); 183 } 184 if (e & 2) { 185 let t = o(2); 186 n(), d("truncate", !0), n(), K(" ", t.subStory.ctaButtonText, " "), n(), d("name", t.subStory.ctaRedirectionLink ? "theme-right" : "theme-up"); 187 } 188} 189function Ts(e, i) { 190 if (e & 1) { 191 let t = b(); 192 c(0, "div", 6), m(1, "ms-sub-story-body", 10), c(2, "div", 11), p("touchstart", function() { 193 return y(t), S(o().setProgressBarStatus(!0)); 194 })("touchend", function() { 195 return y(t), S(o().setProgressBarStatus(!1)); 196 })("panmove", function() { 197 return y(t), S(o().setProgressBarStatus(!0)); 198 })("panend", function(s) { 199 y(t); 200 let r = o(); 201 return S(r.handlePanEvent(s, r.subStory)); 202 })("pancancel", function(s) { 203 y(t); 204 let r = o(); 205 return S(r.handlePanEvent(s, r.subStory)); 206 }), c(3, "div", 12), p("click", function() { 207 return y(t), S(o().previousSubStory()); 208 }), a(), c(4, "div", 13), p("click", function() { 209 return y(t), S(o().nextSubStory()); 210 }), a()(), c(5, "div", 14), p("click", function() { 211 return y(t), S(o().controlsClick()); 212 }), h(6, ws, 2, 0, "span", 15), h(7, Is, 2, 0, "span", 16), a(), h(8, Ps, 4, 3, "div", 17), a(); 213 } 214 if (e & 2) { 215 let t = o(); 216 n(), d("subStory", t.subStory)("story", t.story), n(5), l(t.paused && t.controlsVisible ? 6 : -1), n(), l(!t.paused && t.controlsVisible ? 7 : -1), n(), l(t.subStory.ctaEnabled && t.subStory.type !== "Promotion" ? 8 : -1); 217 } 218} 219function Ds(e, i) { 220 if (e & 1 && (c(0, "span", 8), f(1), a()), e & 2) { 221 let t = o(); 222 n(), w(t.stories[t.activeStory + 1].title); 223 } 224} 225function xs(e, i) { 226 if (e & 1) { 227 let t = b(); 228 c(0, "ms-timer-progress-bar", 13, 0), p("complete", function() { 229 y(t); 230 let s = o().$implicit, r = o().$implicit; 231 return S(o(2).nextSubStory(!1, r.id, s.id)); 232 }), m(2, "ds-progress-bar", 14), a(); 233 } 234 if (e & 2) { 235 let t = Yt(1), s = o().$implicit, r = o(3); 236 d("totalDuration", s.duration)("loop", !1)("pauseProgressBar", r.progressBarPaused), n(2), d("inverse", !0)("currentValue", t.progressValue())("startValue", 0)("endValue", 100)("themeInverse", r.progressbarThemeInverse); 237 } 238} 239function Es(e, i) { 240 if (e & 1 && (c(0, "div", 11), h(1, xs, 3, 8, "ms-timer-progress-bar", 12), a()), e & 2) { 241 let t = i.$implicit, s = i.$index, r = o().$index, v = o(2); 242 Ut("width", v.progressBarWidth[t.id]), A("filled", s < v.activeSubStory)("unfilled", s > v.activeSubStory), n(), l(r === v.activeStory && s === v.activeSubStory ? 1 : -1); 243 } 244} 245function Vs(e, i) { 246 if (e & 1) { 247 let t = b(); 248 c(0, "div", 10)(1, "ms-story-body", 15), p("close", function() { 249 return y(t), S(o(3).closePopup()); 250 }), a()(); 251 } 252 if (e & 2) { 253 let t = o(3); 254 d("@storySlideAnimation", void 0), n(), d("stories", t.stories)("activeStory", t.activeStory)("paused", t.progressBarPaused)("activeSubStory", t.activeSubStory); 255 } 256} 257function Os(e, i) { 258 if (e & 1) { 259 let t = b(); 260 c(0, "ms-slide")(1, "div", 3)(2, "div", 4), X(3, Es, 2, 7, "div", 5, rt), a(), c(5, "div", 6)(6, "span", 7), f(7), a(), c(8, "button", 8), p("click", function() { 261 return y(t), S(o(2).closePopup(!0, !0)); 262 }), m(9, "vn-icon", 9), a()()(), h(10, Vs, 2, 5, "div", 10), a(); 263 } 264 if (e & 2) { 265 let t = i.$implicit, s = i.$index, r = o(2); 266 n(3), G(t.subStories), n(4), w(t.title), n(), d("themeInverse", r.iconButtonInverse())("themeSize", r.iconButtonSize)("themeVariant", r.iconButtonVariant), n(2), l(s === r.activeStory ? 10 : -1); 267 } 268} 269function Bs(e, i) { 270 if (e & 1) { 271 let t = b(); 272 c(0, "ms-slideshow", 2), p("slideChanged", function(s) { 273 return y(t), S(o().storySlideChanged(s)); 274 })("slideChanged", function(s) { 275 return y(t), S(o().storySlideChanged(s)); 276 })("swipeNotApplicable", function() { 277 return y(t), S(o().closePopup()); 278 }), X(1, Os, 11, 5, "ms-slide", null, rt), a(); 279 } 280 if (e & 2) { 281 let t = o(); 282 d("realtotalslidecount", t.stories.length)("slideIndex", t.activeStory)("disableSwipe", t.disableDesktopSwipe)("circular", !1), n(), G(t.stories); 283 } 284} 285function Ns(e, i) { 286 if (e & 1) { 287 let t = b(); 288 c(0, "ms-rotation-message", 16), p("close", function() { 289 return y(t), S(o().closePopup(!1)); 290 }), a(); 291 } 292} 293function Ms(e, i) { 294 if (e & 1) { 295 let t = b(); 296 c(0, "vn-icon", 10), p("click", function(s) { 297 return y(t), S(o(4).dismiss(s)); 298 }), a(); 299 } 300} 301function As(e, i) { 302 e & 1 && m(0, "vn-icon", 9); 303} 304function Rs(e, i) { 305 if (e & 1 && h(0, Ms, 1, 0, "vn-icon", 8)(1, As, 1, 0, "vn-icon", 9), e & 2) { 306 let t = o().$implicit; 307 l(o(2).dismissable && t ? 0 : 1); 308 } 309} 310function $s(e, i) { 311 if (e & 1 && m(0, "vn-icon", 7), e & 2) { 312 let t = o().$implicit; 313 d("name", t ? "theme-up" : "theme-down"); 314 } 315} 316function zs(e, i) { 317 if (e & 1 && (c(0, "span"), h(1, Rs, 2, 1)(2, $s, 1, 1, "vn-icon", 7), a()), e & 2) { 318 let t = o(2); 319 n(), l(t.isEpcotEnabled() ? 2 : 1); 320 } 321} 322function Ls(e, i) { 323 if (e & 1) { 324 let t = b(); 325 c(0, "ms-story-preview", 14), p("open", function() { 326 let s = y(t).$implicit; 327 return S(o(4).openStory(s)); 328 }), a(); 329 } 330 if (e & 2) { 331 let t = i.$implicit, s = o(4); 332 d("story", t)("priority", t.id === s.storyWithImage)("more", s.viewTitle)("stretch", s.strech); 333 } 334} 335function Us(e, i) {
336 if (e & 1 && (c(0, "ms-scroll-adapter", 11)(1, "div", 12), X(2, Ls, 1, 4, "ms-story-preview", 13, Ot), a()()), e & 2) { 337 let t = o(3); 338 d("scrollItems", t.stories), n(2), G(t.stories); 339 } 340} 341function qs(e, i) { 342 e & 1 && h(0, Us, 4, 1, "ms-scroll-adapter", 11), e & 2 && l(o(2).expanded ? 0 : -1); 343} 344function Hs(e, i) { 345 if (e & 1) { 346 let t = b(); 347 c(0, "ds-card", 1)(1, "ds-accordion", 2), p("openedChange", function() { 348 return y(t), S(o().toggle()); 349 }), c(2, "ds-accordion-header", 3)(3, "div", 4)(4, "div", 5), f(5), a()(), ut(6, zs, 3, 1, "span", 6), a(), ut(7, qs, 1, 1, "ng-template", null, 0, Jt), a()(); 350 } 351 if (e & 2) { 352 let t = o(); 353 d("themeCardElevated", t.themeCardElevated)("themeBorderRadius", t.themeBorderRadius)("radius", !t.isMobile())("border", t.isEpcotEnabled())("elevated", !0), n(), d("themedAccordionSurface", t.themedAccordionSurface)("withCard", !0)("open", t.expanded), n(4), w(t.title); 354 } 355} 356function Fs() { 357 return [ge(Nt)]; 358} 359var q, T, k, _, g, x, V, _t, Ct, wt, It, Pt, Tt, Dt, xt, Et, rt, Vt, Ot, Bt, Nt; 360function Mt() { 361 return (Mt = ns((() => { 362 Rt(), $t(), Xt(), Zt(), ie(), se(), re(), oe(), de(), he(), le(), pe(), ae(), me(), Se(), ce(), ye(), ke(), _e(), Ce(), we(), Pe(), Ie(), Te(), De(), xe(), Ee(), ve(), ii(), Oe(), We(), Je(), Ne(), Me(), ri(), Ae(), si(), Ye(), Ze(), ti(), ui(), Ge(), je(), He(), ci(), Re(), ei(), ai(), Xe(), Ke(), Qe(), $e(), ze(), Le(), Ue(), qe(), Fe(), di(), Vi(), Xi(), gi(), fi(), Ii(), Pi(), Ti(), xi(), Ai(), $i(), Ci(), Ui(), zi(), _i(), qi(), Fi(), Mi(), Wi(), Gi(), Qi(), Yi(), ts(), is(), rs(), q = (function(e) { 363 return e.TrackingCategoryEvent = "Module", e.TrackingLabelEvent = "Onboarding Stories", e[e.SwipeDeltaYValue = 15] = "SwipeDeltaYValue", e; 364 })(q || {}), T = (function(e) { 365 return e.Image = "Image", e.Video = "Video", e.Promotion = "Promotion", e; 366 })(T || {}), k = (function(e) { 367 return e[e.NextStory = 0] = "NextStory", e[e.PreviousStory = 1] = "PreviousStory", e[e.NextSubStory = 2] = "NextSubStory", e[e.NextSubStoryWithoutTracking = 3] = "NextSubStoryWithoutTracking", e[e.PreviousSubStory = 4] = "PreviousSubStory", e; 368 })(k || {}), _ = (function(e) { 369 return e.Load = "Load", e.Exit = "Exit", e.Click = "Click", e; 370 })(_ || {}), g = (function(e) { 371 return e.OnboardingStoriesModule = "Onboarding Stories Module", e.DismissOnboardingStoriesModule = "Dismiss Onboarding Stories Module", e.StoryTile = "Story Tile", e.Story = "Story", e.Substory = "Substory", e.NextStory = "Next Story", e.NextSubstory = "Next Substory", e.PreviousStory = "Previous Story", e.PreviousSubstory = "Previous Substory", e.DismissStory = "Dismiss Story", e.SeeMore = "See More", e.OptIn = "Opt-in", e.Done = "Done", e; 372 })(g || {}), x = (() => { 373 let e = class { 374 constructor() { 375 this.trackingService = u(ni); 376 } 377 trackStoryAndSubstory(t, s, r) { 378 let v = this.getEventDetails(t, s), H = { 379 action: _.Click, 380 position: r, 381 location: E, 382 eventDetails: v 383 }; 384 this.trackStoryContent(H); 385 } 386 trackStoryAndSubstoryOnLoad(t, s, r, v) { 387 let H = this.getEventDetails(t, s), At = { 388 action: _.Load, 389 position: r, 390 location: E, 391 eventDetails: v ? g.Story : H 392 }; 393 this.trackStoryContent(At); 394 } 395 trackCtaButtonClick(t) { 396 let s = { 397 action: _.Click, 398 position: t, 399 location: g.Substory, 400 eventDetails: g.SeeMore 401 }; 402 this.trackStoryContent(s); 403 } 404 trackPopupClose(t, s) { 405 let r = { 406 action: t ? _.Click : _.Exit, 407 position: s, 408 location: t ? g.Substory : E, 409 eventDetails: t ? g.Done : g.DismissStory 410 }; 411 this.trackStoryContent(r); 412 } 413 trackStoryClick(t, s) { 414 let r = { 415 action: _.Click, 416 position: t, 417 location: E, 418 eventDetails: g.StoryTile, 419 index: s 420 }; 421 this.trackStoryContent(r); 422 } 423 trackStoryDismissModule() { 424 let t = { 425 action: _.Exit, 426 position: E, 427 location: E, 428 eventDetails: g.DismissOnboardingStoriesModule 429 }; 430 this.trackStoryContent(t); 431 } 432 trackOptInClick(t, s) { 433 let r = { 434 action: _.Click, 435 position: t, 436 location: s, 437 eventDetails: g.OptIn 438 }; 439 this.trackStoryContent(r); 440 } 441 getEventDetails(t, s) { 442 return t ? s ? g.NextStory : g.PreviousStory : s ? g.NextSubstory : g.PreviousSubstory; 443 } 444 trackStoryContent(t) { 445 let s = { 446 [P.COMPONENT_CATEGORY_EVENT]: q.TrackingCategoryEvent, 447 [P.COMPONENT_LABEL_EVENT]: q.TrackingLabelEvent, 448 [P.COMPONENT_ACTION_EVENT]: t.action, 449 [P.COMPONENT_POSITION_EVENT]: t.position, 450 [P.COMPONENT_LOCATION_EVENT]: t.location,
451 [P.COMPONENT_EVENT_DETAILS]: t.eventDetails, 452 [P.COMPONENT_URL_CLICKED]: E 453 }; 454 t.index != null && (s[P.COMPONENT_CONTENT_POSITION] = t.index.toString()), this.trackingService.track(P.EVENT_TRACKING, s); 455 } 456 }; 457 return e.ɵfac = function(i) { 458 return new (i || e)(); 459 }, e.ɵprov = W({ 460 token: e, 461 factory: e.ɵfac, 462 providedIn: "root" 463 }), e; 464 })(), V = (() => { 465 let e = class { 466 constructor() { 467 this.localStorage = u(fe), this.playingStatus$ = new R(), this.nextAndPreviousActionSubject = new R(), this.VIEWED_STORIES_KEY = "StoryContentViewedData", this.DISMISSED_MODULES_KEY = "StoryContentDismissedModules", this.viewedStories$ = new R(), this.content$ = new R(); 468 let t = u(Ri), s = u(oi); 469 this.loadDismissed(), this.loadViewed(), t.promotions$.pipe(s.filterSportsEmitLast(), $((r, v) => ee(r, v)), I()).subscribe((r) => this.promotionsChanged(r)); 470 } 471 isDismissed(t) { 472 return this.dismissedModules.has(t); 473 } 474 setDismissed(t) { 475 this.isDismissed(t) || (this.dismissedModules.set(t, void 0), this.saveDismissed()); 476 } 477 isViewed(t) { 478 return t ? "stories" in t ? t.stories.every((s) => this.isViewed(s)) : "subStories" in t ? t.subStories.every((s) => this.isViewed(s)) : this.viewedStories.has(t.id) : !1; 479 } 480 setViewed(t) { 481 this.isViewed(t) || (this.viewedStories.set(t.id, void 0), this.saveViewed(), this.viewedStories$.next()); 482 } 483 get viewedChange() { 484 return this.viewedStories$.asObservable(); 485 } 486 get contentChange() { 487 return this.content$.asObservable(); 488 } 489 get navigationChange() { 490 return this.nextAndPreviousActionSubject.asObservable(); 491 } 492 get statusChange() { 493 return this.playingStatus$.asObservable(); 494 } 495 navigate(t) { 496 this.nextAndPreviousActionSubject.next(t); 497 } 498 play() { 499 this.playingStatus$.next(!1); 500 } 501 pause() { 502 this.playingStatus$.next(!0); 503 } 504 map(t) { 505 return t.map((s) => this.mapStory(s)).filter(St).map((s) => ({ 506 story: s, 507 isViewed: this.isViewed(s) 508 })).sort((s, r) => Number(s.isViewed) - Number(r.isViewed)).map((s) => s.story); 509 } 510 mapStory(t) { 511 let s = t.subStories.map((r) => this.mapSubStory(r)).filter(St); 512 if (s.length) return B(N({}, t), { subStories: s }); 513 } 514 mapSubStory(t) { 515 if (t = B(N({}, t), { 516 image: this.getResizedImageUrl(t.image, !1), 517 ctaPopupHeaderImage: this.getResizedImageUrl(t.ctaPopupHeaderImage, !0), 518 crmPromotionBackground: this.getResizedImageUrl(t.crmPromotionBackground, !1) 519 }), t.crmPromotionId?.length) { 520 let s = this.promotions?.find((r) => r.id === t.crmPromotionId); 521 if (s) return !t.crmPromotionBackground && s.banner?.backgroundImageUrl && (t.crmPromotionBackground = this.getResizedImageUrl(s.banner.backgroundImageUrl, !1)), B(N({}, t), { 522 promotion: s, 523 type: T.Promotion 524 }); 525 } 526 if (t.externalVideoUrl || t.videoUrl?.includes(".mp4")) return B(N({}, t), { type: T.Video }); 527 if (t.image) return B(N({}, t), { type: T.Image }); 528 } 529 loadDismissed() { 530 let t = this.localStorage.get(this.DISMISSED_MODULES_KEY) ?? []; 531 this.dismissedModules = new Map(t.map((s) => [s, void 0])); 532 } 533 saveDismissed() { 534 this.localStorage.set(this.DISMISSED_MODULES_KEY, [...this.dismissedModules.keys()]); 535 } 536 loadViewed() { 537 let t = this.localStorage.get(this.VIEWED_STORIES_KEY) ?? []; 538 this.viewedStories = new Map(t.map((s) => [s, void 0])); 539 } 540 saveViewed() { 541 this.localStorage.set(this.VIEWED_STORIES_KEY, [...this.viewedStories.keys()]); 542 } 543 promotionsChanged(t) { 544 this.promotions = t.filter((s) => s.banner), this.content$.next(); 545 } 546 getResizedImageUrl(t, s) { 547 return t ? `${t}${t.includes("?") ? "&" : "?"}${s ? "p=width720" : "p=width540"}` : ""; 548 } 549 }; 550 return e.ɵfac = function(i) { 551 return new (i || e)(); 552 }, e.ɵprov = W({ 553 token: e, 554 factory: e.ɵfac, 555 providedIn: "root" 556 }), e; 557 })(), _t = (() => { 558 let e = class { 559 get borderClass() { 560 return !this.viewed; 561 } 562 constructor() { 563 this.storyService = u(V), this.open = M(), this.view = M(), this.className = "story-preview", this.storyService.viewedChange.pipe(I()).subscribe(() => { 564 let t = this.viewed; 565 this.setViewed(), t !== this.viewed && this.view.emit(); 566 }); 567 } 568 ngOnChanges(t) { 569 t.story && (this.background = as(this.story, this.stretch), this.setViewed()); 570 } 571 openStory(t) { 572 t.preventDefault(), t.stopPropagation(), this.open.emit(); 573 }
574 setViewed() { 575 this.viewed = this.storyService.isViewed(this.story); 576 } 577 }; 578 return e.ɵfac = function(i) { 579 return new (i || e)(); 580 }, e.ɵcmp = C({ 581 type: e, 582 selectors: [["ms-story-preview"]], 583 hostVars: 4, 584 hostBindings: function(i, t) { 585 i & 1 && p("click", function(s) { 586 return t.openStory(s); 587 }), i & 2 && (Z(t.className), A("with-border", t.borderClass)); 588 }, 589 inputs: { 590 story: "story", 591 stretch: "stretch", 592 more: "more", 593 priority: "priority" 594 }, 595 outputs: { 596 open: "open", 597 view: "view" 598 }, 599 features: [Gt], 600 decls: 7, 601 vars: 7, 602 consts: [ 603 [1, "item-image"], 604 [ 605 "disableOptimizedSrcset", 606 "", 607 "fill", 608 "", 609 "placeholder", 610 "", 611 "ngSrcset", 612 "1x, 2x, 3x", 613 1, 614 "item-background", 615 3, 616 "priority", 617 "ngSrc" 618 ], 619 [1, "icon-title"], 620 [1, "item-icon"], 621 [ 622 1, 623 "item-title", 624 3, 625 "title" 626 ], 627 [ 628 "ds-button", 629 "", 630 "variant", 631 "filled", 632 "kind", 633 "primary", 634 "size", 635 "small" 636 ], 637 [ 638 "size", 639 "25", 640 3, 641 "name" 642 ], 643 [ 644 "ds-button", 645 "", 646 "variant", 647 "filled", 648 "kind", 649 "primary", 650 "size", 651 "small", 652 3, 653 "click" 654 ], 655 ["name", "theme-play-solid"] 656 ], 657 template: function(i, t) { 658 i & 1 && (c(0, "div", 0), h(1, cs, 1, 2, "img", 1), c(2, "div", 2), h(3, us, 2, 1, "div", 3), h(4, ds, 2, 3, "div", 4), a(), h(5, hs, 3, 2, "button", 5), a(), h(6, ls, 2, 3, "div", 4)), i & 2 && (A("item-image--has-img", !!t.background), n(), l(t.background ? 1 : -1), n(2), l(t.story.icon ? 3 : -1), n(), l(t.stretch ? 4 : -1), n(), l(t.stretch ? 5 : -1), n(), l(t.stretch ? -1 : 6)); 659 }, 660 dependencies: [ 661 tt, 662 O, 663 et 664 ], 665 encapsulation: 2 666 }), e; 667 })(), Ct = (() => { 668 let e = class { 669 constructor() { 670 this.sitecore = u(mt), this.className = "rotation-message-container", this.close = M(), this.iconButtonVariant = { 671 "sportingbet-br": "flat", 672 "betboo-br": "flat" 673 }, this.landscapeMessage = this.sitecore.globalMessages.NoRotationText; 674 } 675 closed() { 676 this.close.emit(); 677 } 678 }; 679 return e.ɵfac = function(i) { 680 return new (i || e)(); 681 }, e.ɵcmp = C({ 682 type: e, 683 selectors: [["ms-rotation-message"]], 684 hostVars: 2, 685 hostBindings: function(i, t) { 686 i & 2 && Z(t.className); 687 }, 688 outputs: { close: "close" }, 689 decls: 6, 690 vars: 2, 691 consts: [ 692 [1, "icon"], 693 [ 694 "name", 695 "theme-mobile", 696 "size", 697 "75" 698 ], 699 [ 700 "msThemedIconButton", 701 "", 702 "ds-button-icon", 703 "", 704 "kind", 705 "tertiary", 706 "variant", 707 "flat-reduced", 708 "size", 709 "medium", 710 1, 711 "msg-close", 712 3, 713 "click", 714 "themeVariant" 715 ], 716 ["name", "theme-ex"] 717 ], 718 template: function(i, t) { 719 i & 1 && (c(0, "span", 0), m(1, "vn-icon", 1), a(), c(2, "span"), f(3), a(), c(4, "button", 2), p("click", function() { 720 return t.closed(); 721 }), m(5, "vn-icon", 3), a()), i & 2 && (n(3), w(t.landscapeMessage), n(), d("themeVariant", t.iconButtonVariant)); 722 }, 723 dependencies: [ 724 O, 725 yt, 726 ft 727 ], 728 encapsulation: 2 729 }), e; 730 })(), wt = (() => { 731 let e = class { 732 constructor() { 733 this.themeInverse = D(), this.currentTheme = wi(), this.arrow = u(gt, { self: !0 }); 734 } 735 ngOnInit() { 736 let t = this.themeInverse()?.[this.currentTheme]; 737 t && this.arrow.inverse.set(t.isInverse); 738 } 739 }; 740 return e.ɵfac = function(i) { 741 return new (i || e)(); 742 }, e.ɵdir = Ht({ 743 type: e, 744 selectors: [[ 745 "", 746 "msThemedArrow", 747 "" 748 ]], 749 inputs: { themeInverse: [1, "themeInverse"] } 750 }), e; 751 })(), It = (() => { 752 let e = class { 753 constructor() { 754 this.activeModal = u(vt), this.storyContentTrackingService = u(x), this.buttonInverse = { bwin: !0 }, this.title = D.required(), this.subStory = D.required(); 755 } 756 closePopup() { 757 this.activeModal.close(), this.storyContentTrackingService.trackPopupClose(!0, this.title()); 758 } 759 }; 760 return e.ɵfac = function(i) { 761 return new (i || e)(); 762 }, e.ɵcmp = C({ 763 type: e, 764 selectors: [["ms-story-details"]], 765 hostAttrs: [1, "story-content-details"], 766 inputs: { 767 title: [1, "title"], 768 subStory: [1, "subStory"] 769 }, 770 decls: 10, 771 vars: 6, 772 consts: [ 773 [1, "story-details-header"], 774 [1, "story-details-title-container"], 775 [1, "story-title"], 776 [ 777 "ds-button", 778 "", 779 "variant", 780 "flat", 781 "kind", 782 "tertiary", 783 "size", 784 "medium", 785 "msThemedButton", 786 "", 787 3, 788 "click", 789 "themeInverse" 790 ], 791 [1, "story-details-body"], 792 [ 793 "disableOptimizedSrcset", 794 "", 795 "placeholder", 796 "", 797 "ngSrcset", 798 "1x, 2x, 3x", 799 3, 800 "width", 801 "height", 802 "ngSrc" 803 ], 804 [1, "header-text"], 805 [ 806 1, 807 "body-content", 808 3, 809 "innerHtml" 810 ] 811 ], 812 template: function(i, t) { 813 i & 1 && (c(0, "div", 0)(1, "div", 1)(2, "span", 2), f(3), a(), c(4, "button", 3), p("click", function() { 814 return t.closePopup(); 815 }), f(5), a()()(), c(6, "ng-scrollbar", 4), h(7, ps, 1, 3, "img", 5), h(8, ms, 2, 1, "div", 6), h(9, Ss, 2, 4, "div", 7), a()), i & 2 && (n(3), w(t.title()), n(), d("themeInverse", t.buttonInverse), n(), K(" ", t.subStory().ctaPopupCloseText, " "), n(2), l(t.subStory().ctaPopupHeaderImage ? 7 : -1), n(), l(t.subStory().ctaPopupHeaderText ? 8 : -1), n(), l(t.subStory().ctaPopupContent ? 9 : -1)); 816 }, 817 dependencies: [ 818 mi, 819 hi, 820 tt, 821 et, 822 Li, 823 kt 824 ], 825 styles: [".story-content-details[_nghost-%COMP%] .story-details-header[_ngcontent-%COMP%]{padding-right:4px}"] 826 }), e; 827 })(), Pt = (() => { 828 let e = class { 829 constructor() { 830 this.deviceService = u(L), this.storyContentTrackingService = u(x), this.detailsPopupChange = M(), this.promotionStatusButtonWrapperRef = Y.required(it), this.destroyRef = u(ht); 831 } 832 ngOnInit() { 833 this.deviceService.orientation.pipe(I(this.destroyRef)).subscribe(() => { 834 this.deviceService.currentOrientation === "landscape" && this.promotionStatusButtonWrapperRef().closeDialog(); 835 }); 836 } 837 getDetailsPopupChange(t) { 838 this.detailsPopupChange.emit(t); 839 } 840 optInButtonClicked() { 841 let t = `promotion_${this.promotion.id}`; 842 this.storyContentTrackingService.trackOptInClick(t, this.storyTitle); 843 } 844 }; 845 return e.ɵfac = function(i) { 846 return new (i || e)(); 847 }, e.ɵcmp = C({ 848 type: e, 849 selectors: [["ms-story-promotion"]], 850 viewQuery: function(i, t) { 851 i & 1 && j(t.promotionStatusButtonWrapperRef, it, 5), i & 2 && J(); 852 }, 853 hostAttrs: [1, "crm-promotion-var-scope"], 854 inputs: { 855 promotion: "promotion", 856 storyTitle: "storyTitle" 857 }, 858 outputs: { detailsPopupChange: "detailsPopupChange" }, 859 decls: 4, 860 vars: 2, 861 consts: [ 862 [1, "banner-wrapper"], 863 [1, "content-wrapper"], 864 [ 865 3, 866 "detailsPopupChange", 867 "optInButtonClicked", 868 "promotion" 869 ], 870 [ 871 1, 872 "terms", 873 3, 874 "innerHtml" 875 ] 876 ], 877 template: function(i, t) { 878 i & 1 && (c(0, "div", 0)(1, "div", 1)(2, "ms-promotion-status-button-wrapper", 2), p("detailsPopupChange", function(s) { 879 return t.getDetailsPopupChange(s); 880 })("optInButtonClicked", function() { 881 return t.optInButtonClicked(); 882 }), a()()(), h(3, ys, 1, 1, "div", 3)), i & 2 && (n(2), d("promotion", t.promotion), n(), l(t.promotion.banner?.keyTerms ? 3 : -1)); 883 }, 884 dependencies: [it], 885 styles: ["[_nghost-%COMP%]{position:absolute;bottom:0;width:100%;color:var(--%NS%crm-promo-card-color)}[_nghost-%COMP%] .more-info[_ngcontent-%COMP%]{font-size:12px;cursor:pointer}[_nghost-%COMP%] .terms[_ngcontent-%COMP%]{position:absolute;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:20;-webkit-box-orient:vertical;display:block;border-radius:0 0 .25rem .25rem;background-color:color-mix(in srgb,var(--%NS%crm-promo-card-terms-bg) 50%,transparent);z-index:3;bottom:0;left:0;padding:2px 12px;color:var(--%NS%crm-promo-card-terms-color);
885font-size:7px;text-align:center;overflow:hidden;width:100%}[_nghost-%COMP%] .terms p{margin:0;font-size:unset;white-space:normal}"] 886 }), e; 887 })(), Tt = ["video"], Dt = (() => { 888 let e = class { 889 get mobileLandscape() { 890 return this.deviceService.isMobilePhone && this.deviceService.currentOrientation === "landscape"; 891 } 892 constructor() { 893 this.storyContentService = u(V), this.deviceService = u(L), this.changeDetectorRef = u(F), this.renderer = u(jt), this.videoUrl = D.required(), this.subStoryId = D.required(), this.storyId = D.required(), this.videoRef = Y.required("video", { read: dt }), this.muteAudio = !0, this.muteVisible = !1, this.videoReady = !1, this.loaderVisible = !1, this.storyContentService.statusChange.pipe($(), I()).subscribe((t) => { 894 !t && (this.mobileLandscape || !this.videoReady) ? this.storyContentService.pause() : (t ? this.pause() : this.play(), this.changeDetectorRef.markForCheck()); 895 }); 896 } 897 ngAfterViewInit() { 898 this.video.onloadstart = () => { 899 this.videoReady = !1, this.showLoader(), this.pause(!0); 900 }, this.video.oncanplay = () => { 901 this.videoReady = !0, this.muteVisible = !0, this.hideLoader(), this.play(!0); 902 }, this.video.onerror = this.video.onended = () => this.handleVideoEvent(); 903 } 904 handleVideoEvent() { 905 let t = { 906 action: k.NextSubStoryWithoutTracking, 907 payload: Q(() => ({ 908 storyId: this.storyId(), 909 subStoryId: this.subStoryId() 910 }))() 911 }; 912 this.storyContentService.navigate(t); 913 } 914 ngOnDestroy() { 915 this.destroyVideoElement(); 916 } 917 get video() { 918 return this.videoRef().nativeElement; 919 } 920 toggleMute() { 921 this.muteAudio = !this.muteAudio; 922 } 923 play(t = !1) { 924 this.video.play(), t && this.storyContentService.play(); 925 } 926 pause(t = !1) { 927 this.video.pause(), t && this.storyContentService.pause(); 928 } 929 showLoader() { 930 this.loaderVisible = !0; 931 } 932 hideLoader() { 933 this.loaderVisible = !1; 934 } 935 destroyVideoElement() { 936 this.video.pause(), this.renderer.removeAttribute(this.video, "src"), this.video.load(); 937 } 938 }; 939 return e.ɵfac = function(i) { 940 return new (i || e)(); 941 }, e.ɵcmp = C({ 942 type: e, 943 selectors: [["ms-story-content-video"]], 944 viewQuery: function(i, t) { 945 i & 1 && j(t.videoRef, Tt, 5, dt), i & 2 && J(); 946 }, 947 inputs: { 948 videoUrl: [1, "videoUrl"], 949 subStoryId: [1, "subStoryId"], 950 storyId: [1, "storyId"] 951 }, 952 decls: 5, 953 vars: 7, 954 consts: [ 955 ["video", ""], 956 [ 957 "autoplay", 958 "", 959 "playsinline", 960 "", 961 "x-webkit-airplay", 962 "false", 963 "type", 964 "video/mp4", 965 3, 966 "muted", 967 "src" 968 ], 969 [1, "loader-alignment"], 970 [ 971 "size", 972 "32", 973 1, 974 "video-mute-unmute-button", 975 3, 976 "name" 977 ], 978 [ 979 "size", 980 "32", 981 1, 982 "video-mute-unmute-button", 983 3, 984 "click", 985 "name" 986 ] 987 ], 988 template: function(i, t) { 989 i & 1 && (m(0, "video", 1, 0), pt(2, "msTrust"), h(3, vs, 1, 0, "ds-loading-spinner", 2), h(4, gs, 1, 1, "vn-icon", 3)), i & 2 && (d("muted", t.muteAudio)("src", nt(2, 4, t.videoUrl(), "resourceurl"), Lt), n(3), l(t.loaderVisible ? 3 : -1), n(), l(t.muteVisible ? 4 : -1)); 990 }, 991 dependencies: [ 992 be, 993 O, 994 kt 995 ], 996 styles: [".loader-alignment[_ngcontent-%COMP%]{z-index:99}"] 997 }), e; 998 })(), xt = (() => { 999 let e = class { 1000 constructor() { 1001 this.storyContentService = u(V), this.subStory = D.required(), this.story = D.required(), this.promotion = Q(() => this.subStory().type === T.Promotion ? this.subStory().promotion : void 0), this.SubStoryType = T; 1002 } 1003 setProgressBarStatus(t) { 1004 t ? this.storyContentService.pause() : this.storyContentService.play(); 1005 } 1006 }; 1007 return e.ɵfac = function(i) { 1008 return new (i || e)(); 1009 }, e.ɵcmp = C({ 1010 type: e, 1011 selectors: [["ms-sub-story-body"]], 1012 inputs: { 1013 subStory: [1, "subStory"], 1014 story: [1, "story"] 1015 }, 1016 decls: 4, 1017 vars: 2, 1018 consts: [ 1019 [ 1020 "priority", 1021 "", 1022 "disableOptimizedSrcset", 1023 "", 1024 "placeholder", 1025 "", 1026 "ngSrcset", 1027 "1x, 2x, 3x", 1028 3, 1029 "width", 1030 "height", 1031 "ngSrc" 1032 ], 1033 [ 1034 3, 1035 "videoUrl", 1036 "subStoryId", 1037 "storyId" 1038 ], 1039 [ 1040 3, 1041 "detailsPopupChange", 1042 "promotion", 1043 "storyTitle" 1044 ] 1045 ], 1046 template: function(i, t) { 1047 if (i & 1 && (Wt(0), h(1, bs, 1, 3, "img", 0)(2, fs, 1, 3, "ms-story-content-video", 1)(3, _s, 2, 3)), i & 2) { 1048 let s, r = Ft(t.subStory()); 1049 n(), l((s = r.type) === t.SubStoryType.Image ? 1 : s === t.SubStoryType.Video ? 2 : s === t.SubStoryType.Promotion ? 3 : -1); 1050 } 1051 }, 1052 dependencies: [ 1053 Dt, 1054 Pt, 1055 tt 1056 ], 1057 encapsulation: 2 1058 }), e; 1059 })(), Et = (() => { 1060 let e = class { 1061 get story() { 1062 return this.stories[this.activeStory]; 1063 } 1064 get subStory() { 1065 return this.story.subStories[this.activeSubStory]; 1066 } 1067 constructor() { 1068 this.changeDetectorRef = u(F), this.redirectHelperService = u(Di), this.modalDialogService = u(bt), this.storyConfig = u(Be), this.storyContentTrackingService = u(x), this.timerService = u(ue), this.storyContentService = u(V), this.deviceService = u(L), this.close = M(), this.arrowThemeInverse = { 1069 "sports-interaction": { isInverse: !1 },
1070 "sports-interaction-2": { isInverse: !1 }, 1071 "bwin-dark": { isInverse: !1 }, 1072 "mgm-dice": { isInverse: !1 }, 1073 "premium-dark": { isInverse: !1 } 1074 }, this.controlsVisible = !1, this.restrictStatusUpdate = !1, this.deviceService.orientation.pipe(Kt(1), I()).subscribe(() => { 1075 this.dialog?.close(), this.restrictStatusUpdate = !0, this.dialog = void 0; 1076 }); 1077 } 1078 handlePanEvent(t, s) { 1079 if (Math.abs(t.deltaY) > this.storyConfig.minSwipeDistance) { 1080 if (t.direction === 16) { 1081 this.close.emit(); 1082 return; 1083 } 1084 if (t.direction === 8 && s.ctaEnabled && s.type !== T.Promotion) { 1085 this.handleCTA(s.ctaRedirectionLink); 1086 return; 1087 } 1088 } 1089 this.setProgressBarStatus(!1); 1090 } 1091 handleCTA(t, s, r = !1) { 1092 if (s?.preventDefault(), r && this.storyContentTrackingService.trackCtaButtonClick(this.story.title), t) { 1093 this.close.emit(), this.redirectHelperService.goToPage(t); 1094 return; 1095 } 1096 this.dialog || (this.setProgressBarStatus(!0), this.restrictStatusUpdate = !1, this.dialog = this.modalDialogService.openPopup(It, { 1097 data: { 1098 title: this.story.title, 1099 subStory: this.subStory 1100 }, 1101 settings: { 1102 cssClass: "modal-popup story-content-modal", 1103 fit: !1, 1104 showPageHeader: !1, 1105 showDialogHeader: !1, 1106 isModalDialog: !0, 1107 animation: U.SlideInFromBottom, 1108 closeAnimation: U.SlideOutFromTop, 1109 backdropClass: "story-details-popup-no-backdrop", 1110 afterResulted: () => { 1111 this.dialog = void 0, this.restrictStatusUpdate || this.setProgressBarStatus(!1), this.changeDetectorRef.markForCheck(); 1112 } 1113 } 1114 })); 1115 } 1116 nextStory() { 1117 this.storyContentService.navigate(this.getNavigationPayload(k.NextStory)); 1118 } 1119 previousStory() { 1120 this.storyContentService.navigate(this.getNavigationPayload(k.PreviousStory)); 1121 } 1122 nextSubStory() { 1123 this.storyContentService.navigate(this.getNavigationPayload(k.NextSubStory)); 1124 } 1125 previousSubStory() { 1126 this.storyContentService.navigate(this.getNavigationPayload(k.PreviousSubStory)); 1127 } 1128 getNavigationPayload(t) { 1129 return { 1130 action: t, 1131 payload: { 1132 storyId: this.story.id, 1133 subStoryId: this.subStory.id 1134 } 1135 }; 1136 } 1137 setProgressBarStatus(t) { 1138 t ? this.storyContentService.pause() : this.storyContentService.play(); 1139 } 1140 controlsClick() { 1141 this.controlsVisible = !0, this.setProgressBarStatus(!this.paused), this.timerService.setTimeout(() => { 1142 this.controlsVisible = !1; 1143 }); 1144 } 1145 }; 1146 return e.ɵfac = function(i) { 1147 return new (i || e)(); 1148 }, e.ɵcmp = C({ 1149 type: e, 1150 selectors: [["ms-story-body"]], 1151 inputs: { 1152 stories: "stories", 1153 activeStory: "activeStory", 1154 activeSubStory: "activeSubStory", 1155 paused: "paused" 1156 }, 1157 outputs: { close: "close" }, 1158 decls: 13, 1159 vars: 11, 1160 consts: [ 1161 [1, "slide-controls"], 1162 [1, "slide-control-button-title-group"], 1163 [ 1164 "msThemedArrow", 1165 "", 1166 "size", 1167 "medium", 1168 "variant", 1169 "strong", 1170 3, 1171 "click", 1172 "inverse", 1173 "themeInverse" 1174 ], 1175 ["name", "theme-move-left"], 1176 [ 1177 1, 1178 "story-title", 1179 "previous-title" 1180 ], 1181 [ 1182 "msThemedArrow", 1183 "", 1184 "direction", 1185 "left", 1186 "variant", 1187 "strong", 1188 "size", 1189 "medium", 1190 3, 1191 "click", 1192 "inverse", 1193 "themeInverse" 1194 ], 1195 [1, "story-body"], 1196 [ 1197 "msThemedArrow", 1198 "", 1199 "direction", 1200 "right", 1201 "variant", 1202 "strong", 1203 "size", 1204 "medium", 1205 3, 1206 "click", 1207 "inverse", 1208 "themeInverse" 1209 ], 1210 [ 1211 1, 1212 "story-title", 1213 "next-title" 1214 ], 1215 ["name", "theme-move-right"], 1216 [ 1217 3, 1218 "subStory", 1219 "story" 1220 ], 1221 [ 1222 1, 1223 "story-tap-overlay", 1224 3, 1225 "touchstart", 1226 "touchend", 1227 "panmove", 1228 "panend", 1229 "pancancel" 1230 ], 1231 [ 1232 1, 1233 "left-tap", 1234 3, 1235 "click" 1236 ], 1237 [ 1238 1, 1239 "right-tap", 1240 3, 1241 "click" 1242 ], 1243 [ 1244 1, 1245 "story-click-overlay-desktop", 1246 3, 1247 "click" 1248 ], 1249 [ 1250 1, 1251 "slide-control-button", 1252 "pause-button" 1253 ], 1254 [ 1255 1, 1256 "slide-control-button", 1257 "play-button" 1258 ], 1259 [1, "see-more"], 1260 [ 1261 "name", 1262 "theme-pause", 1263 "size", 1264 "32", 1265 1, 1266 "pause-icon" 1267 ], 1268 [ 1269 "name", 1270 "theme-play-solid", 1271 "size", 1272 "32", 1273 1, 1274 "play-solid-icon" 1275 ], 1276 [ 1277 "ds-button", 1278 "", 1279 "kind", 1280 "tertiary", 1281 "size", 1282 "medium", 1283 "variant", 1284 "filled", 1285 3, 1286 "click", 1287 "truncate" 1288 ], 1289 [ 1290 "slot", 1291 "end", 1292 3, 1293 "name" 1294 ] 1295 ], 1296 template: function(i, t) { 1297 i & 1 && (c(0, "div", 0)(1, "div", 1)(2, "ds-arrow", 2), p("click", function() { 1298 return t.previousStory(); 1299 }), m(3, "vn-icon", 3), a(), h(4, Cs, 2, 1, "span", 4), a(), c(5, "ds-arrow", 5), p("click", function() { 1300 return t.previousSubStory(); 1301 }), a()(), h(6, Ts, 9, 5, "div", 6), c(7, "div", 0)(8, "ds-arrow", 7), p("click", function() { 1302 return t.nextSubStory(); 1303 }), a(), c(9, "div", 1), h(10, Ds, 2, 1, "span", 8), c(11, "ds-arrow", 2), p("click", function() { 1304 return t.nextStory(); 1305 }), m(12, "vn-icon", 9), a()()()), i & 2 && (n(2), d("inverse", !0)("themeInverse", t.arrowThemeInverse), n(2), l(t.stories[t.activeStory - 1] ? 4 : -1), n(), d("inverse", !0)("themeInverse", t.arrowThemeInverse), n(), l(t.subStory ? 6 : -1), n(2), d("inverse", !0)("themeInverse", t.arrowThemeInverse), n(2), l(t.stories[t.activeStory + 1] ? 10 : -1), n(), d("inverse", !0)("themeInverse", t.arrowThemeInverse)); 1306 }, 1307 dependencies: [ 1308 xt, 1309 gt, 1310 O, 1311 et, 1312 wt 1313 ], 1314 encapsulation: 2 1315 }), e; 1316 })(), rt = (e, i) => i.id, Vt = (() => { 1317 let e = class { 1318 get story() { 1319 return this.stories[this.activeStory]; 1320 } 1321 get subStory() { 1322 return this.story.subStories[this.activeSubStory]; 1323 } 1324 constructor() { 1325 this.activeModal = u(vt), this.storyService = u(V), this.storyTracking = u(x), this.deviceService = u(L), this.changeDetectorRef = u(F), this.className = "story-content", this.activeSubStory = 0, this.progressBarPaused = !1, this.progressBarWidth = {}, this.progressbarThemeInverse = { 1326 "mgm-dice": { isInverse: !1 },
1327 borgata: { isInverse: !1 }, 1328 "sportingbet-br": { isInverse: !1 }, 1329 "betboo-br": { isInverse: !1 } 1330 }, this.iconButtonInverse = Q(() => ({ 1331 bwin: this.deviceService.isMobilePhone, 1332 "sportingbet-br": this.deviceService.isMobilePhone, 1333 "betboo-br": this.deviceService.isMobilePhone, 1334 sportingbet: this.deviceService.isMobilePhone, 1335 "party-poker": !0, 1336 gamebookers: !0 1337 })), this.iconButtonVariant = { 1338 "sportingbet-br": "flat", 1339 "betboo-br": "flat" 1340 }, this.iconButtonSize = { 1341 "sportingbet-br": "medium", 1342 "betboo-br": "medium" 1343 }, this.trackStory = !1, this.lastViewedSubStories = [], this.destroyRef = u(ht), this.slideshowComponent = Y(st), this.storyService.statusChange.pipe($(), I()).subscribe((t) => { 1344 this.progressBarPaused = t, this.changeDetectorRef.markForCheck(); 1345 }), this.storyService.navigationChange.pipe(I()).subscribe((t) => { 1346 this.nextAndPreviousActions(t), this.changeDetectorRef.markForCheck(); 1347 }); 1348 } 1349 ngOnInit() { 1350 this.disableDesktopSwipe = !this.deviceService.isMobilePhone, this.deviceService.orientation.pipe($(), I(this.destroyRef)).subscribe(() => this.orientationChanged()), this.activeSubStory = this.getCurrentSubStoryIndex(this.activeStory), this.setProgressBarWidth(), this.trackStoryAndSubstoryOnLoad(!1, !1, !0), this.showRotationMessage && this.subStory.type === T.Video || this.setProgressBarStatus(!1); 1351 } 1352 closePopup(t = !0, s = !1) { 1353 this.activeModal.close(), t && this.updateViewedData(), s && this.storyTracking.trackPopupClose(!1, this.story.title); 1354 } 1355 nextAndPreviousActions(t) { 1356 switch (t.action) { 1357 case k.NextStory: 1358 this.nextStory(); 1359 break; 1360 case k.PreviousStory: 1361 this.previousStory(); 1362 break; 1363 case k.NextSubStory: 1364 this.nextSubStory(!1, t.payload.storyId, t.payload.subStoryId); 1365 break; 1366 case k.NextSubStoryWithoutTracking: 1367 this.nextSubStory(!1, t.payload.storyId, t.payload.subStoryId); 1368 break; 1369 case k.PreviousSubStory: this.previousSubStory(); 1370 } 1371 } 1372 storySlideChanged(t) { 1373 this.progressBarPaused && this.setProgressBarStatus(!1), this.trackStory && this.trackStoryAndSubstory(!0, t > this.activeStory), this.trackStoryAndSubstoryOnLoad(!0, t > this.activeStory), this.updateViewedData(), this.lastViewedSubStories[this.activeStory] = this.activeSubStory, this.activeStory = t, this.activeSubStory = this.getCurrentSubStoryIndex(this.activeStory), this.setProgressBarWidth(), this.setStoryTrackingStatus(!0); 1374 } 1375 nextStory(t = !0) { 1376 this.setStoryTrackingStatus(t), this.slideshowComponent()?.swipeLeft(!1); 1377 } 1378 previousStory() { 1379 this.setStoryTrackingStatus(!0), this.slideshowComponent()?.swipeRight(!1); 1380 } 1381 nextSubStory(t = !0, s, r) { 1382 if (this.story.id !== s || this.subStory.id !== r) return; 1383 this.setStoryTrackingStatus(t); 1384 let v = this.story.subStories.length - 1; 1385 this.progressBarPaused && this.setProgressBarStatus(!1), this.activeSubStory === v ? this.nextStory(t) : (t && this.trackStoryAndSubstory(!1, !0), this.trackStoryAndSubstoryOnLoad(!1, !0), this.updateViewedData(), this.activeSubStory++); 1386 } 1387 previousSubStory() { 1388 this.setStoryTrackingStatus(!0), this.progressBarPaused && this.setProgressBarStatus(!1), this.activeSubStory ? (this.updateViewedData(), this.trackStoryAndSubstory(!1, !1), this.trackStoryAndSubstoryOnLoad(!1, !1), this.activeSubStory--) : this.previousStory(); 1389 } 1390 setProgressBarStatus(t) { 1391 t ? this.storyService.pause() : this.storyService.play(); 1392 } 1393 getCurrentSubStoryIndex(t) { 1394 let s = this.story.subStories.findIndex((v) => !this.storyService.isViewed(v)), r = this.lastViewedSubStories[t]; 1395 return s >= 0 ? s : r || 0; 1396 } 1397 updateViewedData() { 1398 let t = this.story.subStories[this.activeSubStory]; 1399 this.storyService.setViewed(t); 1400 } 1401 setProgressBarWidth() { 1402 let t = this.story.subStories, s = te(t, (r) => r.duration); 1403 s && t.forEach((r) => { 1404 this.progressBarWidth[r.id] = `${(r.duration * 100 / s).toFixed(2)}%`; 1405 }); 1406 } 1407 orientationChanged() { 1408 this.showRotationMessage = this.deviceService.isMobilePhone && this.deviceService.currentOrientation === "landscape", this.setProgressBarStatus(this.showRotationMessage), this.changeDetectorRef.markForCheck(); 1409 } 1410 setStoryTrackingStatus(t) { 1411 this.trackStory = t; 1412 } 1413 trackStoryAndSubstory(t, s) {
1414 let r = this.getStoryTitleForTracking(t, s); 1415 this.storyTracking.trackStoryAndSubstory(t, s, r); 1416 } 1417 trackStoryAndSubstoryOnLoad(t, s, r = !1) { 1418 let v = this.getStoryTitleForTracking(t, s); 1419 this.storyTracking.trackStoryAndSubstoryOnLoad(t, s, v, r); 1420 } 1421 getStoryTitleForTracking(t, s) { 1422 return t ? s ? this.stories[this.activeStory + 1].title : this.stories[this.activeStory - 1].title : this.story.title; 1423 } 1424 }; 1425 return e.ɵfac = function(i) { 1426 return new (i || e)(); 1427 }, e.ɵcmp = C({ 1428 type: e, 1429 selectors: [["ms-story"]], 1430 viewQuery: function(i, t) { 1431 i & 1 && j(t.slideshowComponent, st, 5), i & 2 && J(); 1432 }, 1433 hostVars: 4, 1434 hostBindings: function(i, t) { 1435 i & 2 && (Z(t.className), A("rotation-msg", t.showRotationMessage)); 1436 }, 1437 inputs: { 1438 stories: "stories", 1439 activeStory: "activeStory" 1440 }, 1441 features: [at([x])], 1442 decls: 2, 1443 vars: 2, 1444 consts: [ 1445 ["storyTimerProgress", ""], 1446 [ 1447 3, 1448 "realtotalslidecount", 1449 "slideIndex", 1450 "disableSwipe", 1451 "circular" 1452 ], 1453 [ 1454 3, 1455 "slideChanged", 1456 "swipeNotApplicable", 1457 "realtotalslidecount", 1458 "slideIndex", 1459 "disableSwipe", 1460 "circular" 1461 ], 1462 [1, "story-header"], 1463 [1, "duration-bar-container"], 1464 [ 1465 1, 1466 "duration-bar", 1467 3, 1468 "filled", 1469 "unfilled", 1470 "width" 1471 ], 1472 [1, "story-title-container"], 1473 [1, "story-title"], 1474 [ 1475 "msThemedIconButton", 1476 "", 1477 "ds-button-icon", 1478 "", 1479 "kind", 1480 "tertiary", 1481 "size", 1482 "large", 1483 "variant", 1484 "flat-reduced", 1485 3, 1486 "click", 1487 "themeInverse", 1488 "themeSize", 1489 "themeVariant" 1490 ], 1491 ["name", "theme-ex"], 1492 [1, "story-body-container"], 1493 [1, "duration-bar"], 1494 [ 1495 3, 1496 "totalDuration", 1497 "loop", 1498 "pauseProgressBar" 1499 ], 1500 [ 1501 3, 1502 "complete", 1503 "totalDuration", 1504 "loop", 1505 "pauseProgressBar" 1506 ], 1507 [ 1508 "msThemedProgressbar", 1509 "", 1510 "fill", 1511 "solid", 1512 "valueMode", 1513 "percentage", 1514 "variant", 1515 "primary", 1516 3, 1517 "inverse", 1518 "currentValue", 1519 "startValue", 1520 "endValue", 1521 "themeInverse" 1522 ], 1523 [ 1524 3, 1525 "close", 1526 "stories", 1527 "activeStory", 1528 "paused", 1529 "activeSubStory" 1530 ], 1531 [3, "close"] 1532 ], 1533 template: function(i, t) { 1534 i & 1 && (h(0, Bs, 3, 4, "ms-slideshow", 1), h(1, Ns, 1, 0, "ms-rotation-message")), i & 2 && (l(t.stories ? 0 : -1), n(), l(t.showRotationMessage ? 1 : -1)); 1535 }, 1536 dependencies: [ 1537 Ct, 1538 es, 1539 Et, 1540 st, 1541 ss, 1542 Zi, 1543 os, 1544 O, 1545 yt, 1546 ft 1547 ], 1548 encapsulation: 2, 1549 data: { animation: [Si("storySlideAnimation", [li(":leave", vi(350, yi({ opacity: "1" })))])] } 1550 }), e; 1551 })(), Ot = (e, i) => i.id, Bt = (() => { 1552 let e = class extends bi { 1553 constructor() { 1554 super(...arguments), this.square = !1, this.circle = !1, this.themeBorderRadius = { 1555 "sportingbet-br": { hasRadius: !0 }, 1556 "betboo-br": { hasRadius: !0 }, 1557 "gamebookers-2": { hasRadius: !0 } 1558 }, this.themeCardElevated = { 1559 "sportingbet-br": { isElevated: !1 }, 1560 "betboo-br": { isElevated: !1 } 1561 }, this.sitecore = u(mt), this.html = u(ne), this.modal = u(bt), this.storyTracking = u(x), this.storyService = u(V), this.epcotConfig = u(Ve), this.deviceSizeService = u(Ji), this.isEpcotEnabled = ot(this.epcotConfig.isEnabled), this.themedAccordionSurface = { 1562 "mgm-dice": "low", 1563 borgata: "low", 1564 "betboo-br": "low", 1565 "sportingbet-br": "low", 1566 "sports-interaction": "highest", 1567 "sports-interaction-2": "highest" 1568 }, this.isMobile = ot(this.deviceSizeService.isMobile()); 1569 } 1570 get strech() { 1571 return this.stories?.length === 1; 1572 } 1573 toggle() { 1574 this.expanded = !this.expanded; 1575 } 1576 onData(t) { 1577 this.setStories(t.stories), this.dismissable = t.dismissable, this.title = t.title, this.viewTitle = t.viewTitle, this.square = t.shape === "Square", this.circle = t.shape === "Circle", this.expanded = !this.storyService.isViewed(t), this.hasData = !(this.storyService.isDismissed(this.config.id) || this.stories.length === 0), this.setWidgetLoaded(); 1578 }
1579 dismiss(t) { 1580 t.stopPropagation(), this.storyService.setDismissed(this.config.id), this.storyTracking.trackStoryDismissModule(), this.hidden = !0, this.contentSubscription?.unsubscribe(); 1581 } 1582 openStory(t) { 1583 let s = this.stories.indexOf(t); 1584 this.storyTracking.trackStoryClick(t.title, s), this.html.setCssClass("popup-on", !0), this.modal.openPopup(Vt, { 1585 data: { 1586 stories: this.stories, 1587 activeStory: s 1588 }, 1589 settings: { 1590 cssClass: "modal-popup story-content-modal", 1591 fit: !1, 1592 showPageHeader: !1, 1593 showDialogHeader: !1, 1594 isModalDialog: !0, 1595 animation: U.SlideInFromBottom, 1596 closeAnimation: U.SlideOutFromTop, 1597 afterResulted: () => { 1598 this.html.setCssClass("popup-on", !1); 1599 } 1600 } 1601 }); 1602 } 1603 setStories(t) { 1604 this.contentSubscription?.unsubscribe(), this.mapStories(t); 1605 let s = t.find((r) => r.tileImage); 1606 this.storyWithImage = s?.id, this.contentSubscription = this.storyService.contentChange.pipe(I(this.destroyRef)).subscribe(() => this.mapStories(t)); 1607 } 1608 mapStories(t) { 1609 this.stories = this.storyService.map(t), this.hasData = this.stories.length > 0; 1610 } 1611 }; 1612 return e.ɵfac = (() => { 1613 let i; 1614 return function(t) { 1615 return (i || (i = qt(e)))(t || e); 1616 }; 1617 })(), e.ɵcmp = C({ 1618 type: e, 1619 selectors: [["ms-story-content"]], 1620 hostAttrs: [1, "story-content-container"], 1621 hostVars: 6, 1622 hostBindings: function(i, t) { 1623 i & 2 && A("square", t.square)("circle", t.circle)("single", t.strech); 1624 }, 1625 features: [at([x]), zt], 1626 decls: 1, 1627 vars: 1, 1628 consts: [ 1629 ["content", ""], 1630 [ 1631 "msThemedCard", 1632 "", 1633 3, 1634 "themeCardElevated", 1635 "themeBorderRadius", 1636 "radius", 1637 "border", 1638 "elevated" 1639 ], 1640 [ 1641 "msThemedAccordion", 1642 "", 1643 "surface", 1644 "transparent", 1645 3, 1646 "openedChange", 1647 "themedAccordionSurface", 1648 "withCard", 1649 "open" 1650 ], 1651 [1, "accordion-header-alignment"], 1652 ["slot", "start"], 1653 ["slot", "title"], 1654 [4, "dsAccordionTrigger"], 1655 [ 1656 "size", 1657 "16", 1658 3, 1659 "name" 1660 ], 1661 [ 1662 "name", 1663 "theme-ex", 1664 "size", 1665 "12" 1666 ], 1667 [ 1668 "name", 1669 "theme-down", 1670 "size", 1671 "12" 1672 ], 1673 [ 1674 "name", 1675 "theme-ex", 1676 "size", 1677 "12", 1678 3, 1679 "click" 1680 ], 1681 [ 1682 "size", 1683 "medium", 1684 3, 1685 "scrollItems" 1686 ], 1687 [1, "story-list"], 1688 [ 1689 3, 1690 "story", 1691 "priority", 1692 "more", 1693 "stretch" 1694 ], 1695 [ 1696 3, 1697 "open", 1698 "story", 1699 "priority", 1700 "more", 1701 "stretch" 1702 ] 1703 ], 1704 template: function(i, t) { 1705 i & 1 && h(0, Hs, 9, 9, "ds-card", 1), i & 2 && l(t.hidden ? -1 : 0); 1706 }, 1707 dependencies: [ 1708 Hi, 1709 _t, 1710 pi, 1711 Oi, 1712 Ni, 1713 Bi, 1714 Ei, 1715 O, 1716 ji, 1717 Ki 1718 ], 1719 styles: [".story-content-container[_ngcontent-%COMP%]{box-shadow:none}.accordion-header-alignment[_ngcontent-%COMP%]{padding:0 12px}.vn-icon[_ngcontent-%COMP%]{display:flex}"], 1720 changeDetection: 1 1721 }), e; 1722 })(), Nt = (() => { 1723 let e = class { 1724 constructor() { 1725 this.widgetRegistry = u(ki); 1726 } 1727 onFeatureInit() { 1728 this.widgetRegistry.registerLazy("StoryContent", Bt); 1729 } 1730 }; 1731 return e.ɵfac = function(i) { 1732 return new (i || e)(); 1733 }, e.ɵprov = W({ 1734 token: e, 1735 factory: e.ɵfac, 1736 providedIn: "root" 1737 }), e; 1738 })(); 1739 })))(); 1740} 1741Mt(); 1742export { Fs as provide }; 1743 1744//# sourceMappingURL=chunk-lpamte0z.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.