1import { d as j, f as me, n as A, t as q, y as Qe } from "./chunk-xgti9j2t.js"; 2import { $ as l, $r as $e, Aa as f, An as ge, Ao as G, Ba as S, Ci as L, Do as We, Ea as o, Ei as I, Et as Ve, Fn as je, G as pe, Gn as H, Hn as F, Io as he, Li as h, Na as Ge, Pi as Ke, Pt as n, Ro as Je, Sa as c, Sn as v, Sr as k, To as Ye, Wi as Xe, Xa as z, Y as u, Yn as K, bi as N, ci as Ze, co as ue, do as Q, f as x, fa as s, fi as be, fr as _, gt as p, h as J, ia as ve, ko as fe, l as et, ni as D, oi as P, on as E, or as tt, ri as R, ro as M, s as T, sa as w, t as C, tn as m, ua as Y, ut as it, xr as nt, zo as y, zr as at } from "./chunk-c97c17u8.js"; 3import { M as rt, V as X, W as Z } from "./chunk-l3jkbhly.js"; 4import { p as st } from "./chunk-k52vj1ic.js"; 5import { o as ot } from "./chunk-l24fzhmb.js"; 6import { A as ct } from "./chunk-jrtaqqwj.js"; 7import { o as lt, t as O } from "./chunk-pesy0vb6.js"; 8import { D as dt, f as _e, o as mt } from "./chunk-llc8ry2a.js"; 9import { D as ee, j as te, ut as gt } from "./chunk-fbjoug0d.js"; 10import { a as pt } from "./chunk-ewplex8i.js"; 11import { n as ht, r as ie } from "./chunk-c18gpzrj.js"; 12import { r as ut } from "./chunk-c9rg1mp5.js"; 13import { t as bt } from "./chunk-kyqvtgtk.js"; 14import { N as vt, Q as ft, Y as _t, gt as yt, y as ye } from "./chunk-ldkhjowa.js"; 15import { p as wt } from "./chunk-bhnvkbxx.js"; 16import { ot as Ct } from "./chunk-f2v2cgea.js"; 17import { a as ne, c as Pt } from "./chunk-mnbyc2sm.js"; 18import { Dn as St, Mr as we, _ as kt, a as xt, jr as Mt, qn as Ot } from "./chunk-gacv0pfq.js"; 19import { t as Nt } from "./chunk-k4et3zlq.js"; 20import { i as Et, p as Lt } from "./chunk-hul0ult7.js"; 21import { n as It, r as ae } from "./chunk-lmnwxprc.js"; 22import { r as Rt } from "./chunk-ilfhy0in.js"; 23import { n as Tt } from "./chunk-ohg30iel.js"; 24import { $ as Bt, _ as Ce, ft as Pe, mt as Se } from "./chunk-iuhjzybw.js"; 25import { c as zt } from "./chunk-k1jo4z3q.js"; 26import { r as Dt, t as Ut } from "./chunk-n5f0it4j.js"; 27import { n as At, t as qt } from "./chunk-bh3f6w1f.js"; 28import { $t as Ht, At as Ft, Dt as Qt, F as ke, I as xe, L as $t, Ot as $, R as Me, bt as Wt, h as Vt, m as Oe, nn as Ne, xt as jt } from "./chunk-fkxg6vdg.js"; 29import { Qn as Gt, Wr as re, Zr as Kt, an as Jt, ji as se } from "./chunk-hx2yplj1.js"; 30import { n as Ee, t as Yt } from "./chunk-lp5qx0hj.js"; 31import { n as Xt, t as Le } from "./chunk-jq4buaba.js"; 32import { a as Zt, i as ei, n as Ie, r as Re, t as Te } from "./chunk-ds9g7yw8.js"; 33import { n as ti, t as ii } from "./chunk-eqd0lzsk.js"; 34import { t as ni } from "./chunk-o4f8w5yc.js"; 35function ai(t, r) { 36 t & 1 && E(0); 37} 38function ri(t, r) { 39 if (t & 1) { 40 let e = k(); 41 o(0, "ds-card", 1)(1, "ds-card-header", 3)(2, "button", 4), C("click", function() { 42 return _(e), y(c().close()); 43 }), l(3), s()(), o(4, "ds-card-content", 5), M(5, ai, 1, 0, "ng-container", 6), s()(); 44 } 45 if (t & 2) { 46 let e = c(), i = N(3); 47 m("radius", !0)("border", !0)("elevated", !0), n(), m("title", e.data.tacTitle), n(2), P(" ", e.data.messages?.BackButtonText || "Back", " "), n(2), m("ngTemplateOutlet", i); 48 } 49} 50function si(t, r) { 51 t & 1 && E(0); 52} 53function oi(t, r) { 54 if (t & 1) { 55 let e = k(); 56 o(0, "ds-modal", 2)(1, "ds-modal-header", 7)(2, "div", 8)(3, "div", 9), l(4), s()(), o(5, "button", 4), C("click", function() { 57 return _(e), y(c().close()); 58 }), l(6), s()(), o(7, "ds-modal-content", 5), M(8, si, 1, 0, "ng-container", 6), s()(); 59 } 60 if (t & 2) { 61 let e = c(), i = N(3); 62 m("bottomSheet", !0), n(4), w(e.data.tacTitle), n(2), P(" ", e.data.messages?.BackButtonText || "Back", " "), n(2), m("ngTemplateOutlet", i); 63 } 64} 65function ci(t, r) { 66 if (t & 1) { 67 let e = k(); 68 o(0, "div", 12), C("click", function() { 69 return _(e), y(c(2).clickSupportHandler()); 70 })("keydown.enter", function() { 71 return _(e), y(c(2).clickSupportHandler()); 72 })("keydown.space", function(i) { 73 return _(e), c(2).clickSupportHandler(), y(i.preventDefault()); 74 }), s(); 75 } 76 t & 2 && (m("vnDynamicHtml", c(2).data.messages?.HelpSupportText), T("role", "button")); 77} 78function li(t, r) { 79 if (t & 1 && (v(0, "div", 10)(1, "hr"), u(2, ci, 1, 2, "div", 11)), t & 2) { 80 let e = c(); 81 m("vnDynamicHtml", e.data.termsConditions), n(2), h(e.data.messages?.HelpSupportText ? 2 : -1); 82 } 83} 84function di(t, r) { 85 if (t & 1 && (o(0, "div", 4)(1, "ds-alert", 14), l(2), s()()), t & 2) { 86 let e = c(3); 87 n(2), P(" ", e.errorMessage(), " "); 88 } 89} 90function mi(t, r) { 91 t & 1 && v(0, "img", 6), t & 2 && m("src", c(3).itemIconUrl(), x); 92} 93function gi(t, r) { 94 if (t & 1 && (o(0, "div", 9), l(1), s()), t & 2) { 95 let e = c(3); 96 n(), w(e.item()?.marriottPointsText || e.messageList?.marriottPointsText); 97 } 98} 99function pi(t, r) { 100 t & 1 && E(0); 101} 102function hi(t, r) { 103 if (t & 1) { 104 let e = k(); 105 o(0, "ds-card", 2), u(1, di, 3, 1, "div", 4), o(2, "ds-card-header", 5), u(3, mi, 1, 1, "img", 6), o(4, "div", 7)(5, "span", 8), l(6), s(), u(7, gi, 2, 1, "div", 9), s(), o(8, "button", 10), C("click", function() { 106 return _(e), y(c(2).close("close_x")); 107 }), v(9, "vn-icon", 11), s()(), o(10, "ds-card-content", 12), M(11, pi, 1, 0, "ng-container", 13), s()(); 108 } 109 if (t & 2) { 110 let e = c(2), i = N(3); 111 m("radius", !0)("border", !0)("elevated", !0), n(), h(e.errorMessage() ? 1 : -1), n(2), h(e.itemIconUrl() && !e.carouselImageList(
111).length ? 3 : -1), n(2), m("title", e.isExchange() ? e.messageList?.MarriottItemTitle : e.item()?.itemSitecoreModel?.title), n(), P(" ", e.isExchange() && e.messageList?.MarriottItemTitle || e.item()?.itemSitecoreModel?.title, " "), n(), h(e.isExchange() ? 7 : -1), n(), T("aria-label", e.messageList?.CloseText || "Close"), n(3), m("ngTemplateOutlet", i); 112 } 113} 114function ui(t, r) { 115 if (t & 1 && (o(0, "div", 4)(1, "ds-alert", 14), l(2), s()()), t & 2) { 116 let e = c(3); 117 n(2), P(" ", e.errorMessage(), " "); 118 } 119} 120function bi(t, r) { 121 t & 1 && v(0, "img", 18), t & 2 && m("src", c(4).itemIconUrl(), x); 122} 123function vi(t, r) { 124 if (t & 1 && (u(0, bi, 1, 1, "img", 18), o(1, "div", 19)(2, "span", 8), l(3), s(), o(4, "div", 9), l(5), s()()), t & 2) { 125 let e = c(3); 126 h(e.itemIconUrl() && !e.carouselImageList().length ? 0 : -1), n(2), m("title", e.messageList?.MarriottItemTitle), n(), w(e.messageList?.MarriottItemTitle || e.item()?.itemSitecoreModel?.title), n(2), w(e.item()?.marriottPointsText || e.messageList?.marriottPointsText); 127 } 128} 129function fi(t, r) { 130 t & 1 && v(0, "img", 18), t & 2 && m("src", c(4).itemIconUrl(), x); 131} 132function _i(t, r) { 133 if (t & 1 && (u(0, fi, 1, 1, "img", 18), o(1, "span", 8), l(2), s()), t & 2) { 134 let e = c(3); 135 h(e.itemIconUrl() && !e.carouselImageList().length ? 0 : -1), n(), m("title", e.item()?.itemSitecoreModel?.title), n(), w(e.item()?.itemSitecoreModel?.title); 136 } 137} 138function yi(t, r) { 139 t & 1 && E(0); 140} 141function wi(t, r) { 142 if (t & 1) { 143 let e = k(); 144 o(0, "ds-modal", 3), u(1, ui, 3, 1, "div", 4), o(2, "ds-modal-header", 15)(3, "div", 16)(4, "div", 7), u(5, vi, 6, 4)(6, _i, 3, 3), s()(), o(7, "button", 10), C("click", function() { 145 return _(e), y(c(2).close("close_x")); 146 }), v(8, "vn-icon", 11), s()(), o(9, "ds-modal-content", 17), M(10, yi, 1, 0, "ng-container", 13), s()(); 147 } 148 if (t & 2) { 149 let e = c(2), i = N(3); 150 m("bottomSheet", !0)("radius", !0), n(), h(e.errorMessage() ? 1 : -1), n(4), h(e.isExchange() ? 5 : 6), n(2), T("aria-label", e.messageList?.CloseText || "Close"), n(3), m("ngTemplateOutlet", i); 151 } 152} 153function Ci(t, r) { 154 t & 1 && u(0, hi, 12, 10, "ds-card", 2)(1, wi, 11, 6, "ds-modal", 3), t & 2 && h(c().isLargerDevice ? 0 : 1); 155} 156function Pi(t, r) { 157 t & 1 && v(0, "img", 22), t & 2 && m("src", c(2).messageList?.LionsCoinCongrats, x); 158} 159function Si(t, r) { 160 if (t & 1) { 161 let e = k(); 162 o(0, "div", 32), C("click", function(i) { 163 return _(e), y(c(3).onCongratsLinkClick(i)); 164 }), s(); 165 } 166 t & 2 && m("vnDynamicHtml", c(3).messageList?.MarriottPending); 167} 168function ki(t, r) { 169 if (t & 1) { 170 let e = k(); 171 o(0, "div", 32), C("click", function(i) { 172 return _(e), y(c(3).onCongratsLinkClick(i)); 173 }), s(); 174 } 175 if (t & 2) { 176 let e = c(3); 177 m("vnDynamicHtml", e.marriottReferenceId() + "<br>" + (e.messageList?.MarriottRedirectText ?? "")); 178 } 179} 180function xi(t, r) { 181 if (t & 1 && (o(0, "div", 30), l(1), s(), u(2, Si, 1, 1, "div", 31)(3, ki, 1, 1, "div", 31)), t & 2) { 182 let e = c(2); 183 n(), w(e.marriottTitle()), n(), h(e.isMarriottPending() ? 2 : 3); 184 } 185} 186function Mi(t, r) { 187 if (t & 1) { 188 let e = k(); 189 o(0, "div", 32), C("click", function(i) { 190 return _(e), y(c(3).onCongratsLinkClick(i)); 191 }), s(); 192 } 193 t & 2 && m("vnDynamicHtml", c(3).messageList?.CongratsContent); 194} 195function Oi(t, r) { 196 if (t & 1 && (o(0, "div", 30), l(1), s(), u(2, Mi, 1, 1, "div", 31)), t & 2) { 197 let e = c(2); 198 n(), w(e.item()?.itemSitecoreModel?.title), n(), h(e.messageList?.CongratsContent ? 2 : -1); 199 } 200} 201function Ni(t, r) { 202 if (t & 1) { 203 let e = k(); 204 o(0, "button", 33), C("click", function() { 205 return _(e), y(c(2).redirectToPlayPage()); 206 }), l(1), s(); 207 } 208 if (t & 2) { 209 let e = c(2); 210 n(), P(" ", e.messageList?.BetNow, " "); 211 } 212} 213function Ei(t, r) { 214 if (t & 1) { 215 let e = k(); 216 o(0, "button", 33), C("click", function() { 217 return _(e), y(c(2).redirectToPlayPage()); 218 }), l(1), s(); 219 } 220 if (t & 2) { 221 let e = c(2); 222 n(), P(" ", e.messageList?.PlayNow, " "); 223 } 224} 225function Li(t, r) { 226 if (t & 1) { 227 let e = k(); 228 v(0, "brp-confetti"), o(1, "div", 20)(2, "div", 21), u(3, Pi, 1, 1, "img", 22), s(), o(4, "div", 23)(5, "div", 24)(6, "div", 25), l(7), s(), o(8, "div", 26), u(9, xi, 4, 2)(10, Oi, 3, 2), s(), o(11, "div", 27), u(12, Ni, 2, 1, "button", 28), u(13, Ei, 2, 1, "button", 28), o(14, "button", 29), C("click", function() { 229 return _(e), y(c().closeCongratsPopup()); 230 }), l(15), s()()()()(); 231 } 232 if (t & 2) { 233 let e = c(); 234 n(3), h(e.messageList?.LionsCoinCongrats ? 3 : -1), n(4), w(e.messageList?.Congrats), n(2), h(e.isExchange() ? 9 : 10), n(3), h(e.activeProduct() === "Sports" ? 12 : -1), n(), h(e.activeProduct() === "Casino" || e.activeProduct() === "Poker" ? 13 : -1), n(2), P(" ", e.messageList?.CloseText, " "); 235 } 236} 237function Ii(t, r) { 238 if (t & 1 && (o(0, "div", 36), v(1, "img", 37), s()), t & 2) { 239 let e = r.$implicit; 240 n(), m("src", e, x); 241 } 242} 243function Ri(t, r) { 244 if (t & 1 && (o(0, "div", 34)(1, "vn-swiper", 35), J(2, Ii, 2, 1, "div", 36, it), s()()), t & 2) { 245 let e = c(2); 246 n(), m("swiperOptions", e.swiperOptionsForCarousel), n(), K(e.carouselImageList(
246)); 247 } 248} 249function Ti(t, r) { 250 if (t & 1 && (o(0, "div", 38), l(1), s()), t & 2) { 251 let e = c(3); 252 n(), P(" ", e.formatMessage(e.messageList?.marriottAnnualMax ?? "", e.marriottLimitsData().yearlyLimit.toLocaleString()), " "); 253 } 254} 255function Bi(t, r) { 256 if (t & 1 && (o(0, "div", 46), l(1), s()), t & 2) { 257 let e = c(3); 258 n(), w(e.marriottInputError()); 259 } 260} 261function zi(t, r) { 262 if (t & 1 && v(0, "img", 49), t & 2) { 263 let e = c(3); 264 m("src", e.tierInfoMultiplierUrl(), x)("alt", e.data.tierStatus + " tier status"); 265 } 266} 267function Di(t, r) { 268 if (t & 1) { 269 let e = k(); 270 u(0, Ti, 2, 1, "div", 38), v(1, "ds-divider", 39), o(2, "div", 40)(3, "div", 41)(4, "span", 42), l(5), s(), o(6, "div", 43)(7, "span", 44), l(8), s(), o(9, "input", 45), C("keypress", function(i) { 271 return i.charCode >= 48 && i.charCode <= 57 ? !0 : i.preventDefault(); 272 })("input", function(i) { 273 return _(e), y(c(2).onExchangeQuantityInput(i)); 274 }), s()()(), u(10, Bi, 2, 1, "div", 46), o(11, "div", 47)(12, "span", 42), l(13), s(), o(14, "span", 48), l(15), R(16, "number"), s()()(), v(17, "ds-divider", 39), u(18, zi, 1, 2, "img", 49), o(19, "div", 50)(20, "div", 51)(21, "span", 42), l(22), s(), o(23, "span", 48), l(24), R(25, "number"), s()(), o(26, "div", 51)(27, "span", 42), l(28), s(), o(29, "span", 48), l(30), R(31, "number"), s()(), o(32, "div", 52)(33, "button", 53), C("click", function() { 275 return _(e), y(c(2).close()); 276 }), l(34), s(), o(35, "button", 54), C("click", function() { 277 return _(e), y(c(2).confirmClicked()); 278 }), l(36), s()(), o(37, "div", 55)(38, "span"), l(39), o(40, "button", 56), C("click", function(i) { 279 return _(e), y(c(2).openTermsAndConditions(i)); 280 }), l(41), s(), l(42), s()()(); 281 } 282 if (t & 2) { 283 let e = c(2); 284 h(e.marriottLimitsData()?.yearlyLimit ? 0 : -1), n(), m("vertical", !1), n(4), w(e.messageList?.QuantityText), n(), z("brp-exchange-input-wrapper--error", e.marriottInputError()), n(2), w(e.messageList?.MarriottPlaceHolder), n(), m("value", e.exchangeQuantity() ?? "")("disabled", e.isMarriottLimitExceeded()), T("aria-label", e.messageList?.QuantityText), n(), h(e.marriottInputError() ? 10 : -1), n(3), w(e.messageList?.TotalTxt), n(2), L("", I(16, 27, e.totalCost(), "1.0"), " ", e.messageList?.CurrencyText), n(2), m("vertical", !1), n(), h(e.tierInfoMultiplierUrl() ? 18 : -1), n(4), w(e.messageList?.CurrentBalanceTxt), n(2), L("", I(25, 30, e.data.roundedUserPoints, "1.0-0"), " ", e.messageList?.CurrencyText), n(4), w(e.messageList?.RemainingBal), n(2), L("", I(31, 33, e.remainingBalance(), "1.0-0"), " ", e.messageList?.CurrencyText), n(4), P(" ", e.messageList?.CancelTxt, " "), n(), m("disabled", !e.item()?.isRedeemable || e.isConfirmDisabled()), n(), P(" ", e.messageList?.ConfirmTxt, " "), n(3), P(" ", e.messageList?.DisclaimerText, " "), n(2), P(" ", e.messageList?.TermsCondTxt), n(), P("", e.messageList?.DotText, " "); 285 } 286} 287function Ui(t, r) { 288 if (t & 1 && v(0, "img", 49), t & 2) { 289 let e = c(3); 290 m("src", e.tierInfoMultiplierUrl(), x)("alt", e.data.tierStatus + " tier status"); 291 } 292} 293function Ai(t, r) { 294 if (t & 1) { 295 let e = k(); 296 o(0, "div", 57, 1), v(2, "div", 58), s(), v(3, "ds-divider", 39), o(4, "div", 40)(5, "div", 59)(6, "span", 42), l(7), s(), o(8, "div", 60)(9, "button", 61), C("click", function() { 297 return _(e), y(c(2).updateQuantity(-1)); 298 }), v(10, "vn-icon", 62), s(), o(11, "span"), l(12), s(), o(13, "button", 61), C("click", function() { 299 return _(e), y(c(2).updateQuantity(1)); 300 }), v(14, "vn-icon", 63), s()()(), o(15, "div", 47)(16, "span", 42), l(17), s(), o(18, "span", 48), l(19), R(20, "number"), s()()(), v(21, "ds-divider", 39), u(22, Ui, 1, 2, "img", 49), o(23, "div", 50)(24, "div", 51)(25, "span", 42), l(26), s(), o(27, "span", 48), l(28), R(29, "number"), s()(), o(30, "div", 51)(31, "span", 42), l(32), s(), o(33, "span", 48), l(34), R(35, "number"), s()(), o(36, "div", 52)(37, "button", 53), C("click", function() { 301 return _(e), y(c(2).close()); 302 }), l(38), s(), o(39, "button", 54), C("click", function() { 303 return _(e), y(c(2).confirmClicked()); 304 }), l(40), s()(), o(41, "div", 55)(42, "span"), l(43), o(44, "button", 56), C("click", function(i) { 305 return _(e), y(c(2).openTermsAndConditions(i)); 306 }), l(45), s(), l(46), s()()(); 307 } 308 if (t & 2) { 309 let e = c(2);
310 n(2), m("vnDynamicHtml", e.item()?.itemSitecoreModel?.shortDescription), n(), m("vertical", !1), n(4), w(e.messageList?.QuantityText), n(2), m("disabled", e.isMinusDisabled() || !e.item()?.isRedeemable), T("aria-label", e.messageList?.DecreaseQuantityText || "Decrease quantity"), n(2), z("brp-redeem-stepper__value--disabled", !e.item()?.isRedeemable), n(), w(e.quantity()), n(), m("disabled", e.isAddDisabled() || !e.item()?.isRedeemable), T("aria-label", e.messageList?.IncreaseQuantityText || "Increase quantity"), n(4), w(e.messageList?.TotalTxt), n(2), L("", I(20, 27, e.totalCost(), "1.0"), " ", e.messageList?.CurrencyText), n(2), m("vertical", !1), n(), h(e.tierInfoMultiplierUrl() ? 22 : -1), n(4), w(e.messageList?.CurrentBalanceTxt), n(2), L("", I(29, 30, e.data.roundedUserPoints, "1.0-0"), " ", e.messageList?.CurrencyText), n(4), w(e.messageList?.RemainingBal), n(2), L("", I(35, 33, e.remainingBalance(), "1.0-0"), " ", e.messageList?.CurrencyText), n(4), P(" ", e.messageList?.CancelTxt, " "), n(), m("disabled", !e.item()?.isRedeemable || e.isConfirmDisabled()), n(), P(" ", e.messageList?.ConfirmTxt, " "), n(3), P(" ", e.messageList?.DisclaimerText, " "), n(2), P(" ", e.messageList?.TermsCondTxt), n(), P("", e.messageList?.DotText, " "); 311 } 312} 313function qi(t, r) { 314 if (t & 1 && (u(0, Ri, 4, 1, "div", 34), u(1, Di, 43, 36)(2, Ai, 47, 36)), t & 2) { 315 let e = c(); 316 h(e.carouselImageList().length ? 0 : -1), n(), h(e.isExchange() ? 1 : 2); 317 } 318} 319function Hi(t, r) { 320 if (t & 1 && (v(0, "ds-progress-bar", 8), o(1, "div", 9)(2, "span", 13), l(3), s()()), t & 2) { 321 let e = c().$implicit, i = c(); 322 m("currentValue", i.getItemProgressPercent(e))("fill", e.isRedeemable ? "solid" : "pattern")("ariaLabel", e.name + " progress"), n(3), Q(" ", i.getDisplayEarnedPoints(e), "/", i.formatPoints(e.requiredPoints), " ", i.messages()?.CurrencyText || "BRPs", " "); 323 } 324} 325function Fi(t, r) { 326 if (t & 1 && v(0, "img", 16), t & 2) { 327 let e = c(3); 328 m("src", e.tierBadgeUrl(), x)("alt", e.tierStatus()); 329 } 330} 331function Qi(t, r) { 332 if (t & 1 && (o(0, "ds-progress-bar", 8)(1, "span", 14), l(2), s(), o(3, "span", 15), u(4, Fi, 1, 2, "img", 16), s()()), t & 2) { 333 let e = c().$implicit, i = c(); 334 m("currentValue", i.progressPercent())("fill", i.item()?.isRedeemable ? "solid" : "pattern")("ariaLabel", e.name + " progress"), n(2), Q(" ", i.getDisplayEarnedPoints(e), "/", i.formatPoints(e.requiredPoints), " ", i.messages()?.CurrencyText || "BRPs", " "), n(2), h(i.showTierBadge() && i.tierBadgeUrl() ? 4 : -1); 335 } 336} 337function $i(t, r) { 338 if (t & 1 && v(0, "img", 16), t & 2) { 339 let e = c(3); 340 m("src", e.tierBadgeUrl(), x)("alt", e.tierStatus()); 341 } 342} 343function Wi(t, r) { 344 if (t & 1 && (o(0, "div", 9)(1, "span", 13), l(2), s(), u(3, $i, 1, 2, "img", 16), s()), t & 2) { 345 let e = c().$implicit, i = c(); 346 n(2), Q(" ", i.getDisplayEarnedPoints(e), "/", i.formatPoints(e.requiredPoints), " ", i.messages()?.CurrencyText || "BRPs", " "), n(), h(i.showTierBadge() && i.tierBadgeUrl() ? 3 : -1); 347 } 348} 349function Vi(t, r) { 350 if (t & 1) { 351 let e = k(); 352 o(0, "button", 17), C("click", function() { 353 _(e); 354 let i = c().$implicit; 355 return y(c().onItemCtaClick(i)); 356 }), l(1), s(); 357 } 358 if (t & 2) { 359 let e = c().$implicit, i = c(); 360 n(), P(" ", e.isExchangeable ? i.messages()?.ExchangeButtonText || "Exchange" : i.messages()?.RedeemButtonLabel || "Redeem", " "); 361 } 362} 363function ji(t, r) { 364 if (t & 1) { 365 let e = k(); 366 o(0, "button", 18), C("click", function() { 367 _(e); 368 let i = c().$implicit; 369 return y(c().onItemCtaClick(i)); 370 }), l(1), s(); 371 } 372 if (t & 2) { 373 let e = c(2); 374 n(), P(" ", e.messages()?.ViewButtonLabel || "View", " "); 375 } 376} 377function Gi(t, r) { 378 if (t & 1 && (o(0, "div", 3)(1, "div", 4), v(2, "img", 5), s(), o(3, "div", 6)(4, "span", 7), l(5), s(), u(6, Hi, 4, 6)(7, Qi, 5, 7, "ds-progress-bar", 8)(8, Wi, 4, 4, "div", 9), s(), o(9, "div", 10), u(10, Vi, 2, 1, "button", 11)(11, ji, 2, 1, "button", 12), s()()), t & 2) { 379 let e = r.$implicit, i = c(); 380 n(2), m("src", i.getItemIconUrl(e), x)("alt", e.name || "Reward item"), n(3), w(e.itemSitecoreModel?.title), n(), h(i.isLargeVariant() ? 6 : i.isProgressBarVisible() ? 7 : 8), n(3), z("brp-widget__cta--reserved", e.isRedeemable), n(), h(e.isRedeemable && !(i.animateProgressBar() && i.animationProgress() < 1) ? 10 : 11); 381 } 382} 383function Ki(t, r) { 384 t & 1 && v(0, "img", 24), t & 2 && m("src", c(3).messages()?.DiamondIcon, x); 385} 386function Ji(t, r) { 387 if (t & 1 && v(0, "img", 26), t & 2) { 388 let e = c(3); 389 m("src", e.tierBadgeUrl(), x)("alt", e.tierStatus() + " tier"); 390 } 391} 392function Yi(t, r) { 393 t & 1 && E(0); 394} 395function Xi(t, r) { 396 if (t & 1 && (o(0, "div", 33)(1, "ds-card", 34)(2, "ds-card-content"), M(3, Yi, 1, 0, "ng-container", 35), s()()()), t & 2) { 397 let e = r.$implicit; 398 c(4); 399 let i = N(1); 400 n(), m("clickable", !1)("elevated", !0)("border", !0)("inverse", !0), n(2), m("ngTemplateOutlet", i)("ngTemplateOutletContext", Y(6, W, e)); 401 } 402} 403function Zi(t, r) { 404 if (t & 1 && (o(0, "div", 30)(1, "vn-swiper", 32), J(2, Xi, 4, 8, "div", 33, de), s()()), t & 2) { 405 let e = c(3); 406 n(), m("swiperOptions", e.swiperOptions()), n(), K(e.items()); 407 } 408} 409function en(t, r) { 410 t & 1 && E(0); 411} 412function tn(t, r) { 413 if (t & 1 && (o(0, "ds-card", 34)(1, "ds-card-content"), M(2, en, 1, 0, "ng-container", 35), s()()), t & 2) { 414 let e = r.$implicit; 415 c(4); 416 let i = N(1); 417 m("clickable", !1)("elevated", !0)("border", !0)("inverse", !0), n(2), m("ngTemplateOutlet", i)("ngTemplateOutletContext", Y(6, W, e)); 418 } 419} 420function nn(t, r) { 421 if (t & 1 && (o(0, "div", 36, 1), J(2, tn, 3, 8, "ds-card", 34, de), s()), t & 2) { 422 let e = c(3); 423 z("brp-widget__carousel--single", e.items().length === 1)("brp-widget__carousel--double", e.items().length === 2), n(2), K(e.items()); 424 } 425} 426function an(t, r) { 427 if (t & 1 && (o(0, "ds-card", 19)(1, "ds-card-content")(2, "div", 20)(3, "div", 21)(4, "div", 22)(5, "div", 23), u(6, Ki, 1, 1, "img", 24), o(7, "span", 25), l(8), s()(), u(9, Ji, 1, 2, "img", 26), s(), o(10, "span", 27), l(11), s()(), v(12, "ds-divider", 28), o(13, "span", 29), l(14), s(), u(15, Zi, 4, 1, "div", 30)(16, nn, 4, 4, "div", 31), s()()()), t & 2) { 428 let e = c(2); 429 m("clickable", !1), n(6), h(e.messages()?.DiamondIcon ? 6 : -1), n(2), w(e.formattedBalance()), n(), h(e.tierBadgeUrl() ? 9 : -1), n(2), w(e.balanceLabel()), n(), m("vertical", !1), n(2), w(e.rewardsToRedeemLabel()), n(), h(e.showCarousel() ? 15 : 16); 430 } 431} 432function rn(t, r) { 433 t & 1 && u(0, an, 17, 8, "ds-card", 19), t & 2 && h(c().items().length > 0 ? 0 : -1); 434} 435function sn(t, r) { 436 if (t & 1 && (o(0, "span", 42), l(1), s()), t & 2) { 437 let e = c(2); 438 n(), w(e.marriottPointsText); 439 } 440} 441function on(t, r) { 442 if (t & 1) { 443 let e = k(); 444 o(0, "button", 46), C("click", function() { 445 return _(e), y(c(3).onCtaClick()); 446 }), l(1), s(); 447 } 448 if (t & 2) { 449 let e = c(2), i = c(); 450 n(), P(" ", e.isExchangeable ? i.messages()?.ExchangeButtonText || "Exchange" : i.ctaLabel() || "Redeem", " "); 451 } 452} 453function cn(t, r) { 454 if (t & 1) { 455 let e = k(); 456 o(0, "button", 47), C("click", function() { 457 return _(e), y(c(3).onCtaClick()); 458 }), l(1), s(); 459 } 460 if (t & 2) { 461 let e = c(3); 462 n(), P(" ", e.messages()?.ViewButtonLabel || "View", " "); 463 } 464} 465function ln(t, r) { 466 if (t & 1 && v(0, "img", 16), t & 2) { 467 let e = c(3); 468 m("src", e.tierBadgeUrl(), x)("alt", e.tierStatus()); 469 } 470} 471function dn(t, r) { 472 if (t & 1 && (o(0, "ds-list-item", 38)(1, "div", 39)(2, "div", 4), v(3, "img", 5), s(), o(4, "div", 40)(5, "span", 41), l(6), s(), u(7, sn, 2, 1, "span", 42), s()(), at(8, 43), u(9, on, 2, 1, "button", 44)(10, cn, 2, 1, "button", 45), Ge(), s(), o(11, "ds-progress-bar", 8)(12, "span", 14), l(13), s(), o(14, "span", 15), u(15, ln, 1, 2, "img", 16), s()()), t & 2) { 473 let e = c(), i = c(); 474 m("selected", !1)("showCenterSlot", !1)("title", e.itemSitecoreModel?.title ?? e.name), n(3), m("src", i.getItemIconUrl(e), x)("alt", e.name || "Reward item"), n(3), w(e.itemSitecoreModel?.title ?? e.name), n(), h(e.marriottPointsText ? 7 : -1), n(2), h(e.isRedeemable && !(i.animateProgressBar() && i.animationProgress() < 1) ? 9 : 10), n(2), m("currentValue", i.progressPercent())("fill", e.isRedeemable ? "solid" : "pattern")("ariaLabel", e.name + " progress"), n(2), Q(" ", i.getDisplayEarnedPoints(e), "/", i.formatPoints(e.requiredPoints), " ", i.messages()?.CurrencyText || "BRPs", " "), n(2), h(i.showTierBadge() && i.tierBadgeUrl() ? 15 :
474-1); 475 } 476} 477function mn(t, r) { 478 t & 1 && E(0); 479} 480function gn(t, r) { 481 if (t & 1 && M(0, mn, 1, 0, "ng-container", 35), t & 2) { 482 let e = c(); 483 c(), m("ngTemplateOutlet", N(1))("ngTemplateOutletContext", Y(2, W, e)); 484 } 485} 486function pn(t, r) { 487 if (t & 1 && (o(0, "ds-card", 37)(1, "ds-card-content"), u(2, dn, 16, 15)(3, gn, 1, 4, "ng-container"), s()()), t & 2) { 488 let e = c(); 489 z("brp-widget--medium", e.size() === "medium")("brp-widget--no-progress", !e.isProgressBarVisible()), m("clickable", !1)("inverse", !0), n(2), h(e.isProgressBarVisible() && e.size() === "medium" ? 2 : 3); 490 } 491} 492var oe, Be, ze, ce, De, le, Ue, Ae, W, de, qe, He; 493function Fe() { 494 return (Fe = ni((() => { 495 Qe(), Ke(), rt(), st(), ot(), ct(), lt(), dt(), gt(), pt(), ht(), ut(), bt(), mt(), yt(), wt(), Ct(), _t(), Pt(), Mt(), Nt(), Lt(), Et(), It(), Rt(), Tt(), Bt(), St(), zt(), Dt(), At(), Ht(), Ft(), Qt(), jt(), $t(), Vt(), Gt(), Yt(), Xt(), Zt(), ti(), oe = (() => { 496 let t = class { 497 constructor() { 498 this.contentService = p(kt), this.apiService = p(xt), this.brpWidgetContentPath = "Rewards-Hub/Unified-Widgets/Brp-widget", this.serviceErrorsContentPath = "Rewards-Hub/Unified-Widgets/Brp-widget/ServiceErrors", this.subcategoryItemContentPath = "Rewards-Hub/Unified-Widgets/Brp-widget/SubcategoryItem"; 499 } 500 loadContent() { 501 return this.contentService.getJson(this.brpWidgetContentPath, { 502 filterOnClient: !1, 503 product: te.PROMO 504 }); 505 } 506 loadServiceErrors() { 507 return this.contentService.getJson(this.serviceErrorsContentPath, { 508 filterOnClient: !1, 509 product: te.PROMO 510 }); 511 } 512 loadSubcategoryItemImages() { 513 return this.contentService.getJson(this.subcategoryItemContentPath, { 514 filterOnClient: !1, 515 product: te.PROMO 516 }); 517 } 518 orderItem(e, i, a, d) { 519 let g = { 520 itemId: e, 521 quantity: i, 522 typeId: a, 523 type: d 524 }; 525 return this.apiService.get("rewardshub/reward-store/order-item", g, { showSpinner: !0 }); 526 } 527 getMarriottAnnualLimits() { 528 return this.apiService.get("rewardshub/getMarriottAnnualLimits"); 529 } 530 }; 531 return t.ɵfac = function(r) { 532 return new (r || t)(); 533 }, t.ɵprov = be({ 534 token: t, 535 factory: t.ɵfac, 536 providedIn: "root" 537 }), t; 538 })(), Be = ["confettiCanvas"], ze = (() => { 539 var t, r; 540 let e = class { 541 constructor() { 542 me(this, t, p(ee)), me(this, r, p(ye)), H(() => { 543 let a = this.canvasRef?.nativeElement; 544 if (!a) return; 545 this.setCanvasDimensions(a); 546 let d = Le.shapeFromPath({ path: "M20.0161 -6.55858e-05C8.18763 4.76102 -1.68397 20.2763 0.241309 32.8157L14.1718 40.5215C13.3315 27.0678 21.5421 13.8141 33.9466 7.70573L20.0161 -6.55858e-05Z" }); 547 Le.create(a)({ 548 particleCount: 30, 549 angle: 90, 550 spread: 120, 551 origin: { 552 x: .5, 553 y: .5 554 }, 555 startVelocity: 45, 556 gravity: 1.8, 557 decay: .88, 558 scalar: 4, 559 ticks: 150, 560 shapes: [d], 561 colors: [ 562 "#B0812D", 563 "#F0E5BE", 564 "#C09A4C", 565 "#E6D391", 566 "#F7F2DE", 567 "#CC9432" 568 ] 569 }), j(this, r).setTimeout(() => { 570 a.remove(); 571 }, 1500); 572 }); 573 } 574 setCanvasDimensions(a) { 575 a.width = j(this, t).innerWidth, a.height = j(this, t).innerHeight; 576 } 577 }; 578 return t = /* @__PURE__ */ new WeakMap(), r = /* @__PURE__ */ new WeakMap(), e.ɵfac = function(i) { 579 return new (i || e)(); 580 }, e.ɵcmp = F({ 581 type: e, 582 selectors: [["brp-confetti"]], 583 viewQuery: function(i, a) { 584 if (i & 1 && he(Be, 7), i & 2) { 585 let d; 586 ve(d = ue()) && (a.canvasRef = d.first); 587 } 588 }, 589 decls: 2, 590 vars: 0, 591 consts: [["confettiCanvas", ""]], 592 template: function(i, a) { 593 i & 1 && Xe(0, "canvas", null, 0); 594 }, 595 styles: ["canvas[_ngcontent-%COMP%]{position:fixed;z-index:9999;top:0;left:0}"] 596 }), e; 597 })(), ce = (() => { 598 let t = class { 599 constructor() { 600 this.data = p(Te, { optional: !0 }) ?? p(Pe), this.bottomSheetRef = p(Re, { optional: !0 }), this.dialogRef = p(Se, { optional: !0 }), this.device = p(ie), this.trackingService = p(ne), this.platform = p(_e), this.isLargerDevice = !this.device.isMobile && !this.device.isTablet;
601 } 602 close() { 603 this.bottomSheetRef ? this.bottomSheetRef.dismiss() : this.dialogRef?.close(); 604 } 605 clickSupportHandler() { 606 this.data.activeProductElement === "Marriott" ? this.trackMarriottTncOverlay() : this.trackRewardsTermsConditionsOverlay(), this.bottomSheetRef ? this.bottomSheetRef.dismiss(!0) : this.dialogRef?.close(!0); 607 } 608 trackMarriottTncOverlay() { 609 this.trackingService.triggerEvent("Event.Tracking", { 610 event: "Event.Tracking", 611 "component.CategoryEvent": "my rewards - loyalty store", 612 "component.LabelEvent": "marriott", 613 "component.ActionEvent": "click", 614 "component.PositionEvent": "tnc overlay", 615 "component.LocationEvent": "mbp pop up", 616 "component.EventDetails": "contact support", 617 "component.URLClicked": this.extractHrefFromHtml(this.data.messages?.HelpSupportText), 618 "component.RewardPointsBalance": this.data.roundedUserPoints 619 }); 620 } 621 trackRewardsTermsConditionsOverlay() { 622 let e = this.data.selectedItem; 623 this.trackingService.triggerEvent("Event.Tracking", { 624 event: "Event.Tracking", 625 "component.CategoryEvent": "my rewards - loyalty store", 626 "component.LabelEvent": "iRewards", 627 "component.ActionEvent": "click", 628 "component.LocationEvent": "tnc overlay", 629 "component.EventDetails": "contact support", 630 "component.URLClicked": this.extractHrefFromHtml(this.data.messages?.HelpSupportText), 631 "component.PositionEvent": e?.itemSitecoreModel?.title ?? this.data.title, 632 "component.ContentPosition": this.data.contentPosition ?? 1, 633 campaignId: e?.itemId ?? e?.id, 634 "component.value": e?.requiredPoints, 635 "component.RewardPointsBalance": this.data.roundedUserPoints, 636 "component.flowName": this.data.flowName ?? "my_rewards_brp_widget" 637 }); 638 } 639 extractHrefFromHtml(e) { 640 return !e || !this.platform.isBrowser ? "" : new DOMParser().parseFromString(e, "text/html").querySelector("a")?.href || ""; 641 } 642 }; 643 return t.ɵfac = function(r) { 644 return new (r || t)(); 645 }, t.ɵcmp = F({ 646 type: t, 647 selectors: [["brp-redeem-dialog-tnc"]], 648 hostAttrs: [1, "rewards-hub-v2"], 649 decls: 4, 650 vars: 1, 651 consts: [ 652 ["tncContent", ""], 653 [ 654 "surface", 655 "lowest", 656 1, 657 "brp-redeem-tnc-dialog", 658 "brp-redeem-tnc-dialog--desktop", 659 3, 660 "radius", 661 "border", 662 "elevated" 663 ], 664 [ 665 "variant", 666 "surface-lowest", 667 1, 668 "brp-redeem-tnc-dialog", 669 3, 670 "bottomSheet" 671 ], 672 [ 673 "surface", 674 "lowest", 675 1, 676 "brp-redeem-tnc-header", 677 3, 678 "title" 679 ], 680 [ 681 "slot", 682 "end", 683 "ds-button", 684 "", 685 "size", 686 "small", 687 "variant", 688 "outline", 689 "kind", 690 "secondary", 691 "data-testid", 692 "brpTncBackButton", 693 3, 694 "click" 695 ], 696 [1, "brp-redeem-tnc-content"], 697 [4, "ngTemplateOutlet"], 698 [ 699 "variant", 700 "surface-lowest", 701 1, 702 "brp-redeem-tnc-header" 703 ], 704 ["slot", "start"], 705 ["slot", "title"], 706 [3, "vnDynamicHtml"], 707 [ 708 "tabindex", 709 "0", 710 1, 711 "brp-redeem-tnc-support", 712 3, 713 "vnDynamicHtml" 714 ], 715 [ 716 "tabindex", 717 "0", 718 1, 719 "brp-redeem-tnc-support", 720 3, 721 "click", 722 "keydown.enter", 723 "keydown.space", 724 "vnDynamicHtml" 725 ] 726 ], 727 template: function(r, e) { 728 r & 1 && (u(0, ri, 6, 6, "ds-card", 1)(1, oi, 9, 4, "ds-modal", 2), M(2, li, 3, 2, "ng-template", null, 0, G)), r & 2 && h(e.isLargerDevice ? 0 : 1); 729 }, 730 dependencies: [ 731 X, 732 ae, 733 se, 734 re, 735 Ee, 736 Me, 737 xe, 738 ke, 739 we 740 ], 741 styles: [".brp-redeem-tnc-dialog[_ngcontent-%COMP%]{max-height:calc(100vh - 100px);overscroll-behavior:contain}.brp-redeem-tnc-dialog[_ngcontent-%COMP%] .brp-redeem-tnc-header[_ngcontent-%COMP%]{background:transparent}@media(hover:hover){.brp-redeem-tnc-dialog[_ngcontent-%COMP%] .brp-redeem-tnc-header[_ngcontent-%COMP%] .ds-button-icon[_ngcontent-%COMP%]:hover{background:none}}.brp-redeem-tnc-dialog--desktop[_ngcontent-%COMP%]{width:545px;margin-left:auto;margin-right:auto;max-height:calc(100vh - 100px)}.brp-redeem-tnc-header[_ngcontent-%COMP%]{background-color:var(--%NS%semantic-color-surface-container-lowest-base)}ds-modal-header.brp-redeem-tnc-header[_ngcontent-%COMP%]{min-height:var(--%NS%semantic-size-x14)}.brp-redeem-tnc-content[_ngcontent-%COMP%]{padding:var(--%NS%semantic-spacing-container-padding-2xl);overflow-y:auto;max-height:calc(100vh - 200px);font-size:var(--%NS%semantic-typography-label-md-font-size)}.brp-redeem-tnc-content[_ngcontent-%COMP%] p, .brp-redeem-tnc-content[_ngcontent-%COMP%] li{line-height:var(--%NS%semantic-typography-label-lg-strong-line-height);font-size:var(--%NS%semantic-typography-label-md-font-size);color:var(--%NS%semantic-color-l2-tabs-underlined-on-background-base);padding-left:var(--%NS%semantic-spacing-container-padding-none)}.brp-redeem-tnc-content[_ngcontent-%COMP%] ol{line-height:var(--%NS%semantic-typography-label-lg-strong-line-height);font-size:var(--%NS%semantic-typography-label-md-font-size);color:var(--%NS%semantic-color-l2-tabs-underlined-on-background-base);padding-left:var(--%NS%semantic-spacing-container-padding-none);padding-inline-start:16px}.brp-redeem-tnc-content[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{margin:var(--%NS%semantic-spacing-container-padding-xl) 0;border-color:var(--%NS%semantic-color-l2-tabs-background-selected)}.brp-redeem-tnc-support[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-label-md-font-size);color:var(--%NS%semantic-color-utility-outline-base)}"] 742 }), t; 743 }
743)(), De = ["scrollContainer"], le = (() => { 744 let t = class V { 745 constructor() { 746 this.data = p(Te, { optional: !0 }) ?? p(Pe), this.bottomSheetRef = p(Re, { optional: !0 }), this.dialogRef = p(Se, { optional: !0 }), this.bottomSheet = p(Ie), this.dialog = p(Ce), this.device = p(ie), this.renderer = p(We), this.destroyRef = p(et), this.cdr = p(ge), this.brpWidgetService = p(oe), this.windowRef = p(ee), this.trackingService = p(ne), this.googleAnalyticsService = p(Ot), this.navigationService = p(ft), this.cookieService = p(vt), this.platform = p(_e), this.item = f(null), this.messageList = null, this.serviceErrors = null, this.quantity = f(1), this.exchangeQuantity = f(null), this.errorMessage = f(""), this.marriottInputError = f(""), this.marriottTitle = f(""), this.marriottReferenceId = f(""), this.isMarriottPending = f(!1), this.isMarriottLimitExceeded = f(!1), this.marriottLimitsData = f(null), this.minQuantity = 1, this.maxQuantity = f(1), this.isMobile = !1, this.isLargerDevice = !1, this.isExchange = S(() => this.item()?.isExchangeable === !0), this.carouselImageList = S(() => this.item()?.itemSitecoreModel?.carouselImageUrls ?? []), this.swiperOptionsForCarousel = { 747 modules: [Ne], 748 slidesPerView: "auto", 749 slidesPerGroup: 1, 750 spaceBetween: 1, 751 allowTouchMove: !0, 752 pagination: { 753 type: "bullets", 754 clickable: !0, 755 el: ".swiper-pagination" 756 }, 757 loop: !0 758 }, this.activeProduct = S(() => { 759 let e = this.item()?.applicableProducts; 760 if (!e?.length) return ""; 761 let i = e[0]; 762 return i.charAt(0).toUpperCase() + i.slice(1).toLowerCase(); 763 }), this.itemIconUrl = S(() => { 764 let e = this.item(); 765 return e ? e.isRedeemable ? e.ImgUrl || this.messageList?.CoinIcon || "" : e.DisabledImgUrl || e.ImgUrl || this.messageList?.DisabledCoinIcon || "" : ""; 766 }), this.totalCost = S(() => this.isExchange() ? this.exchangeQuantity() ?? 0 : this.quantity() * (this.item()?.requiredPoints ?? 0)), this.remainingBalance = S(() => { 767 let e = (this.data.roundedUserPoints ?? 0) - this.totalCost(); 768 return e < 0 ? 0 : e; 769 }), this.isConfirmDisabled = S(() => { 770 if (this.isExchange()) { 771 let e = this.exchangeQuantity(); 772 return this.isMarriottLimitExceeded() || this.marriottInputError() ? !0 : e === null || e <= 0 || e > (this.data.roundedUserPoints ?? 0); 773 } 774 return this.totalCost() > (this.data.roundedUserPoints ?? 0); 775 }), this.isMinusDisabled = S(() => this.quantity() <= this.minQuantity), this.isAddDisabled = S(() => this.quantity() >= this.maxQuantity()), this.isConfirmation = f(!1), this.tierInfoMultiplierUrl = S(() => { 776 let e = this.data.tierStatus?.toLowerCase(); 777 if (!e) return ""; 778 let i = e.charAt(0).toUpperCase() + e.slice(1), a = this.isLargerDevice ? `${i}TierInfoTxtBtmSheetDesktop` : `${i}TierInfoTxtBtmSheetMultiplier`; 779 return this.messageList?.[a] ?? ""; 780 }), H(() => { 781 this.scrollContainer?.nativeElement && this.renderer.setProperty(this.scrollContainer.nativeElement, "scrollTop", 0); 782 }); 783 } 784 ngOnInit() { 785 this.isMobile = this.device.isMobilePhone, this.isLargerDevice = !this.device.isMobile && !this.device.isTablet, this.item.set(this.data.selectedItem), this.messageList = this.data.messageList, this.serviceErrors = this.data.serviceErrors, this.data.showCongrats && (this.isConfirmation.set(!0), this.marriottTitle.set(this.data.marriottTitle ?? ""), this.marriottReferenceId.set(this.data.marriottReferenceId ?? ""), this.isMarriottPending.set(this.data.isMarriottPending ?? !1)), this.enrichItemMaxQuantity(), this.restoreQuantities(), this.initExchangeState(), this.isExchange() && this.trackMBPConversionLoadingScreen(); 786 } 787 restoreQuantities() { 788 let e = this.data.initialQuantity; 789 e != null && this.quantity.set(Math.max(this.minQuantity, Math.min(this.maxQuantity(), e))); 790 let i = this.data.initialExchangeQuantity; 791 i != null && this.exchangeQuantity.set(i); 792 } 793 initExchangeState() { 794 this.item()?.isExchangeable && this.brpWidgetService.getMarriottAnnual
794Limits().pipe(O(this.destroyRef)).subscribe({ 795 next: (e) => { 796 this.marriottLimitsData.set(e), e && e.userBalance <= 0 && (this.isMarriottLimitExceeded.set(!0), this.errorMessage.set(this.messageList?.ExceedsMarriottLimit ?? "")), this.cdr.markForCheck(); 797 }, 798 error: () => {} 799 }); 800 } 801 enrichItemMaxQuantity() { 802 let e = Number(this.messageList?.DefaultMaxQuantity) || 10, i = this.item(); 803 if (i) { 804 let a = V.NON_MULTI_REDEEM_ITEM_TYPE_IDS.includes(i.itemTypeId) ? 1 : e, d = A(q({}, i), { maxQuantity: a }); 805 this.item.set(d), this.maxQuantity.set(a); 806 } else this.maxQuantity.set(e); 807 } 808 updateQuantity(e) { 809 let i = Math.max(this.minQuantity, Math.min(this.maxQuantity(), this.quantity() + e)); 810 this.quantity.set(i), this.trackQuantityChange(e > 0 ? "quantity increment" : "quantity decrement"); 811 } 812 onExchangeQuantityInput(e) { 813 let i = e.target.value.replace(/[^0-9]/g, ""), a = i ? parseInt(i, 10) : null; 814 this.exchangeQuantity.set(a), this.marriottInputError.set(""), this.errorMessage.set(""), a && a > 0 && this.validateExchangeQuantity(a); 815 } 816 validateExchangeQuantity(e) { 817 let i = this.data.roundedUserPoints ?? 0, a = this.marriottLimitsData(); 818 e > i ? this.marriottInputError.set(this.messageList?.NotEnoughMarriottPointError ?? "") : a && a.userBalance < e && (this.marriottInputError.set(this.messageList?.AnnualMarriottLimit ?? ""), this.errorMessage.set(this.formatMessage(this.messageList?.AvailableMarriottLimit ?? "", a.userBalance)), this.trackErrorOnMBPPopupWhileConvertingToMBP()); 819 } 820 formatMessage(e, ...i) { 821 return e.replace(/\{(\d+)\}/g, (a, d) => { 822 let g = i[Number(d)]; 823 return g != null ? String(g) : ""; 824 }); 825 } 826 close(e = "cancel") { 827 if (e !== "silent") { 828 let i = e === "close_x" ? "close x" : "Cancel"; 829 this.isExchange() ? this.trackInteractionsOnMBPPopUp(i) : this.trackRewardsOverlayInteraction(i); 830 } 831 this.dismissSelf(); 832 } 833 dismissSelf() { 834 this.bottomSheetRef ? this.bottomSheetRef.dismiss() : this.dialogRef?.close(); 835 } 836 confirmClicked() { 837 let e = this.item(); 838 if (!e) return; 839 this.isExchange() ? this.trackInteractionsOnMBPPopUp("Confirm") : this.trackRewardsOverlayInteraction("Confirm"); 840 let i = this.isExchange() ? this.exchangeQuantity() ?? 0 : this.quantity(); 841 this.errorMessage.set(""), this.brpWidgetService.orderItem(e.itemId ?? e.id, i, e.itemTypeId, e.itemType ?? e.type).pipe(O(this.destroyRef)).subscribe({ 842 next: (a) => { 843 if (a) { 844 this.data.onRedeem?.({ 845 item: e, 846 quantity: i, 847 userPoints: a?.userPoints 848 }); 849 let d = "", g = ""; 850 if (this.isExchange() && (d = i <= 1 ? this.formatMessage(this.messageList?.marriottSuccessTitle ?? "", i) : this.formatMessage(this.messageList?.MarriottTitle ?? "", i), g = this.formatMessage(this.messageList?.marriott_bonus ?? "", a?.referenceId ?? "")), this.isExchange() ? this.trackSuccessPopupAndConvertMBPToBRP() : (this.trackRewardsSuccessLoad(a?.referenceId), this.sendGA4RedeemSuccessEvent(a?.referenceId)), this.bottomSheetRef) { 851 this.bottomSheetRef.dismiss(); 852 let b, U = A(q({}, this.data), { 853 selectedItem: e, 854 showCongrats: !0, 855 marriottTitle: d, 856 marriottReferenceId: g, 857 onPlayNow: () => b?.close() 858 }); 859 b = this.dialog.open(V, { 860 data: U, 861 disableClose: !0, 862 hasBackdrop: !0, 863 backdropClass: "rewards-dark-dialog-backdrop", 864 panelClass: "brp-congrats-fullscreen-panel" 865 }); 866 } else this.marriottTitle.set(d), this.marriottReferenceId.set(g), this.isConfirmation.set(!0), this.cdr.markForCheck(); 867 } 868 }, 869 error: (a) => { 870 let d = a?.errorCode?.toString(); 871 if (this.isExchange() && d === "135") this.trackErrorOnRedemptionProcess(d), this.brpWidgetService.getMarriottAnnualLimits().pipe(O(this.destroyRef)).subscribe((g) => { 872 g?.userBalance <= 0 ? this.errorMessage.set(this.messageList?.ExceedsMarriottLimit ?? "") : this.errorMessage.set(this.formatMessage(this.messageList?.AvailableMarriottLimit ?? "", g?.userBalance)), this.cdr.markForCheck(); 873 }); 874 else if (this.isExchange() && d === "134") this.trackErrorOnRedemptionProcess(d), this.isMarriottPending.set(!0), this.isConfirmation.set(!0), this.cdr.markForCheck(); 875 else { 876 let g = this.serviceErrors?.[d] || this.serviceErrors?.["133"] || this.messageList?.GenericError || ""; 877 this.errorMessage.set(g), this.isExchange() ? this.trackErrorOnRedemptionProcess(d) : this.trackFailure(g, d), this.cdr.markForCheck(); 878 } 879 } 880 }); 881 } 882 redirectToPlayPage() { 883 if (this.data.closeOnPlayNow) { 884 let d = this.activeProduct() === "Sports" ? "bet now" : "play now";
885 this.trackRewardsSuccessInteraction(d), this.data.onPlayNow ? this.data.onPlayNow() : (console.warn("[BrpRedeemDialogComponent] closeOnPlayNow is set but onPlayNow is missing; closing via the dialog ref instead."), this.dismissSelf()); 886 return; 887 } 888 let e = `${this.activeProduct()}_playUrl`, i = this.messageList?.[e], a = this.activeProduct() === "Sports" ? "bet now" : "play now"; 889 this.trackRewardsSuccessInteraction(a), i && this.windowRef.location.assign(i); 890 } 891 closeCongratsPopup(e = !1) { 892 e || (this.isExchange() ? this.trackMarriottSuccessPopUpOverlay("close") : this.trackRewardsSuccessInteraction("close")), this.bottomSheetRef ? this.bottomSheetRef.dismiss({ 893 confirmed: !0, 894 item: this.item(), 895 quantity: this.quantity() 896 }) : this.dialogRef && this.dialogRef.close({ 897 confirmed: !0, 898 item: this.item(), 899 quantity: this.quantity() 900 }); 901 } 902 onCongratsLinkClick(e) { 903 e.target.tagName === "A" && (this.isExchange() ? this.trackMarriottSuccessPopUpOverlay() : this.activeProduct() === "Mgm" ? this.trackRewardsSuccessInteraction("mgm rewards site") : this.trackRewardsSuccessInteraction("promotions"), this.closeCongratsPopup(!0)); 904 } 905 openTermsAndConditions(e) { 906 e.preventDefault(), this.isExchange() ? this.trackInteractionsOnMBPPopUp("Terms and Conditions") : this.trackRewardsOverlayInteraction("Terms and Conditions"); 907 let i = { 908 termsConditions: this.item()?.itemSitecoreModel?.termsAndConditions ?? "", 909 tacTitle: this.item()?.itemSitecoreModel?.tacTitle ?? "", 910 title: this.item()?.name ?? "", 911 messages: this.messageList, 912 activeProductElement: this.activeProduct(), 913 roundedUserPoints: this.data.roundedUserPoints, 914 selectedItem: this.item(), 915 flowName: this.data.flowName, 916 contentPosition: this.data.contentPosition 917 }; 918 this.isLargerDevice ? (this.hideParentOverlay(), this.dialog.open(ce, { 919 data: i, 920 disableClose: !0, 921 hasBackdrop: !0, 922 backdropClass: "rewards-dark-dialog-backdrop", 923 panelClass: "brp-redeem-dialog-panel" 924 }).closed.pipe(O(this.destroyRef)).subscribe((a) => { 925 a ? this.close("silent") : this.showParentOverlay(); 926 })) : this.bottomSheet.open(ce, { 927 data: i, 928 disableClose: !0, 929 backdropClass: "rewards-dark-dialog-backdrop", 930 panelClass: "ds-bottom-sheet-panel" 931 }).afterDismissed().subscribe((a) => { 932 a || this.bottomSheet.open(V, { 933 data: A(q({}, this.data), { 934 initialQuantity: this.quantity(), 935 initialExchangeQuantity: this.exchangeQuantity() 936 }), 937 disableClose: !0, 938 backdropClass: "rewards-dark-dialog-backdrop", 939 panelClass: "ds-bottom-sheet-panel" 940 }); 941 }); 942 } 943 hideParentOverlay() { 944 let e = this.dialogRef?.overlayRef?.hostElement; 945 e && this.renderer.setStyle(e, "visibility", "hidden"); 946 } 947 showParentOverlay() { 948 let e = this.dialogRef?.overlayRef?.hostElement; 949 e && this.renderer.setStyle(e, "visibility", "visible"); 950 } 951 trackRewardsOverlayInteraction(e) { 952 if (this.isExchange()) return; 953 let i = this.item(); 954 this.trackingService.triggerEvent("Event.Tracking", { 955 event: "Event.Tracking", 956 "component.CategoryEvent": "my rewards - loyalty store", 957 "component.LabelEvent": "iRewards", 958 "component.ActionEvent": "click", 959 "component.PositionEvent": i?.itemSitecoreModel?.title, 960 "component.LocationEvent": "Buy irewards confirmation pop up", 961 "component.EventDetails": e === "Cancel" ? "Cancel" : e === "Confirm" ? "Confirm" : e === "Buy Now" ? "Buy Now" : e === "Terms and Conditions" ? "Terms and Conditions" : e === "close x" ? "close x" : "Other", 962 "component.URLClicked": "not applicable", 963 "component.ContentPosition": this.data.contentPosition ?? 1, 964 campaignId: i?.itemId ?? i?.id, 965 "component.value": i?.requiredPoints, 966 "component.RewardPointsBalance": this.data.roundedUserPoints, 967 "component.flowName": this.data.flowName ?? "my_rewards_brp_widget" 968 }); 969 } 970 trackQuantityChange(e) { 971 let i = this.item(); 972 this.trackingService.triggerEvent("Event.Tracking", { 973 event: "Event.Tracking", 974 "component.CategoryEvent": "my rewards - loyalty store", 975 "component.LabelEvent": "iRewards", 976 "component.ActionEvent": "click", 977 "component.PositionEvent": i?.itemSitecoreModel?.title, 978 "component.LocationEvent": "Buy irewards confirmation pop up", 979 "component.EventDetails": e, 980 "component.URLClicked": "not applicable", 981 "component.ContentPosition": this.data.contentPosition ?? 1, 982 campaignId: i?.itemId ?? i?.id, 983 "component.value": this.totalCost(), 984 "component.RewardPointsBalance": this.data.roundedUserPoints, 985 "component.flowName": this.data.flowName ?? "my_rewards_brp_widget" 986 }); 987 } 988 trackFailure(e, i) { 989 let a = this.item(), d = i !== void 0 && this.serviceErrors?.[i] ? `failure - ${e || "unknown"}` : `failure -${i || "unknown"}`; 990 this.trackingService.triggerEvent("Event.Tracking", { 991 event: "Event.Tracking", 992 "component.CategoryEvent": "my rewards - loyalty store", 993 "component.LabelEvent": "iRewards", 994 "component.ActionEvent": "Buy", 995 "component.PositionEvent": a?.itemSitecoreModel?.title, 996 "component.LocationEvent": "Buy irewards failure pop up", 997 "component.EventDetails": d, 998 "component.URLClicked": "not applicable", 999 "component.ContentPosition": this.data.contentPosition ?? 1, 1000 campaignId: a?.itemId ?? a?.id, 1001 "component.value": a?.requiredPoints, 1002 "component.RewardPointsBalance": this.data.roundedUserPoints, 1003 "component.flowName": this.data.flowName ?? "my_rewards_brp_widget" 1004 }); 1005 }
1006 trackRewardsSuccessLoad(e) { 1007 let i = this.item(); 1008 this.trackingService.triggerEvent("Event.Tracking", { 1009 event: "Event.Tracking", 1010 "component.CategoryEvent": "my rewards - loyalty store", 1011 "component.LabelEvent": "iRewards", 1012 "component.ActionEvent": "Buy", 1013 "component.PositionEvent": i?.itemSitecoreModel?.title, 1014 "component.LocationEvent": "Buy irewards success pop up", 1015 "component.EventDetails": "Success", 1016 "component.URLClicked": "not applicable", 1017 "component.ContentPosition": this.data.contentPosition ?? 1, 1018 campaignId: i?.itemId ?? i?.id, 1019 "component.value": i?.requiredPoints, 1020 "component.RewardPointsBalance": this.remainingBalance(), 1021 "component.RedeemId": e || "not applicable", 1022 "component.flowName": this.data.flowName ?? "my_rewards_brp_widget", 1023 "component.RedeemQuantity": this.quantity(), 1024 "component.RedeemTotalValue": this.totalCost() 1025 }); 1026 } 1027 sendGA4RedeemSuccessEvent(e) { 1028 let i = this.item(); 1029 this.googleAnalyticsService.track({ 1030 name: "redeem_success_api", 1031 params: { 1032 category_event: "my rewards - loyalty store", 1033 label_event: "irewards", 1034 action_event: "buy", 1035 location_event: "buy irewards success pop up", 1036 position_event: i?.itemSitecoreModel?.title?.toLowerCase() || "", 1037 event_details: "success", 1038 content_position: String(this.data.contentPosition ?? 1), 1039 eds_campaignid: String(i?.itemId ?? i?.id ?? ""), 1040 deposit_limit_value: String(i?.requiredPoints ?? ""), 1041 reward_points_balance: String(this.remainingBalance() ?? ""), 1042 redeem_unique_id: String(e || ""), 1043 flow_name: this.data.flowName ?? "my_rewards_brp_widget", 1044 redeem_quantity: String(this.quantity()), 1045 redeem_total_value: String(this.totalCost()), 1046 vn_client_id: this.cookieService.get("vnCid") || "", 1047 vn_session_id: this.cookieService.get("vnSession") || "", 1048 page_name: this.getPageNameWithoutCulture(), 1049 url_clicked: "not applicable" 1050 } 1051 }); 1052 } 1053 trackRewardsSuccessInteraction(e) { 1054 let i = "", a = ""; 1055 if (e) switch (e.toLowerCase()) { 1056 case "close": 1057 i = "close", a = "not applicable"; 1058 break; 1059 case "play now": 1060 i = "play now", a = this.messageList?.[`${this.activeProduct()}_playUrl`] ?? ""; 1061 break; 1062 case "bet now": 1063 i = "bet now", a = this.messageList?.[`${this.activeProduct()}_playUrl`] ?? ""; 1064 break; 1065 case "mgm rewards site": 1066 i = "mgm rewards site", a = this.extractHrefFromHtml(this.messageList?.CongratsContentForMGM); 1067 break; 1068 case "promotions": 1069 i = "promotions", a = this.extractHrefFromHtml(this.messageList?.CongratsContent); 1070 break; 1071 default: i = e; 1072 } 1073 let d = this.item(); 1074 this.trackingService.triggerEvent("Event.Tracking", { 1075 event: "Event.Tracking", 1076 "component.CategoryEvent": "my rewards - loyalty store", 1077 "component.LabelEvent": "iRewards", 1078 "component.ActionEvent": "click", 1079 "component.PositionEvent": d?.itemSitecoreModel?.title, 1080 "component.LocationEvent": "Buy irewards success pop up", 1081 "component.EventDetails": i, 1082 "component.URLClicked": a, 1083 "component.ContentPosition": this.data.contentPosition ?? 1, 1084 campaignId: d?.itemId ?? d?.id, 1085 "component.value": d?.requiredPoints, 1086 "component.RewardPointsBalance": this.remainingBalance(), 1087 "component.flowName": this.data.flowName ?? "my_rewards_brp_widget" 1088 }); 1089 } 1090 trackMBPConversionLoadingScreen() { 1091 this.trackingService.triggerEvent("Event.Tracking", { 1092 event: "contentView", 1093 "component.CategoryEvent": "my rewards - loyalty store", 1094 "component.LabelEvent": "marriott", 1095 "component.ActionEvent": "load", 1096 "component.PositionEvent": "not applicable", 1097 "component.LocationEvent": "mbp pop up", 1098 "component.EventDetails": "mbp pop up", 1099 "component.URLClicked": "not applicable", 1100 "component.RewardPointsBalance": this.data.roundedUserPoints 1101 }); 1102 } 1103 trackInteractionsOnMBPPopUp(e) { 1104 this.isExchange() && this.trackingService.triggerEvent("Event.Tracking", { 1105 event: "Event.Tracking", 1106 "component.CategoryEvent": "my rewards - loyalty store", 1107 "component.LabelEvent": "marriott", 1108 "component.ActionEvent": "click", 1109 "component.PositionEvent": "not applicable", 1110 "component.LocationEvent": "mbp pop up", 1111 "component.EventDetails": e?.toLowerCase() === "cancel" ? "Cancel" : e?.toLowerCase() === "confirm" ? "Confirm" : e?.toLowerCase() === "terms and conditions" ? "T&c" : "Other", 1112 "component.URLClicked": "not applicable", 1113 "component.RewardPointsBalance": this.data.roundedUserPoints 1114 }); 1115 } 1116 trackSuccessPopupAndConvertMBPToBRP() { 1117 this.trackingService.triggerEvent("Event.Tracking", { 1118 event: "contentView", 1119 "component.CategoryEvent": "my rewards - loyalty store", 1120 "component.LabelEvent": "marriott", 1121 "component.ActionEvent": "success", 1122 "component.PositionEvent": this.quantity(), 1123 "component.LocationEvent": "mbp success pop up", 1124 "component.EventDetails": "mbp success pop up", 1125 "component.URLClicked": "not applicable", 1126 "component.RewardPointsBalance": this.data.roundedUserPoints 1127 }); 1128 }
1129 trackMarriottSuccessPopUpOverlay(e) { 1130 let i = this.extractHrefFromHtml(this.messageList?.MarriottRedirectText); 1131 this.trackingService.triggerEvent("Event.Tracking", { 1132 event: "Event.Tracking", 1133 "component.CategoryEvent": "my rewards - loyalty store", 1134 "component.LabelEvent": "marriott", 1135 "component.ActionEvent": "click", 1136 "component.PositionEvent": this.quantity(), 1137 "component.LocationEvent": "mbp success pop up", 1138 "component.EventDetails": e?.toLowerCase() === "close" ? "close" : "marriott bonvoy", 1139 "component.URLClicked": i || "not applicable", 1140 "component.RewardPointsBalance": this.data.roundedUserPoints 1141 }); 1142 } 1143 trackErrorOnMBPPopupWhileConvertingToMBP() { 1144 this.trackingService.triggerEvent("Event.Tracking", { 1145 event: "Event.Tracking", 1146 "component.CategoryEvent": "my rewards - loyalty store", 1147 "component.LabelEvent": "marriott", 1148 "component.ActionEvent": "error", 1149 "component.PositionEvent": "not applicable", 1150 "component.LocationEvent": "mbp pop up", 1151 "component.EventDetails": this.messageList?.AnnualMarriottLimit, 1152 "component.URLClicked": "not applicable" 1153 }); 1154 } 1155 trackErrorOnRedemptionProcess(e) { 1156 this.trackingService.triggerEvent("Event.Tracking", { 1157 event: "error", 1158 error: { 1159 type: "marriott error", 1160 message: "exchange:" + this.errorMessage(), 1161 code: e 1162 } 1163 }); 1164 } 1165 getPageNameWithoutCulture() { 1166 let e = this.navigationService.location?.path() ?? "", i = `/${this.navigationService.location?.culture ?? ""}`; 1167 return e && e.toLowerCase().startsWith(i.toLowerCase()) ? (e.substring(i.length) || "/").replace(/^\/*/, "") : (e || "/").replace(/^\/*/, ""); 1168 } 1169 extractHrefFromHtml(e) { 1170 return !e || !this.platform.isBrowser ? "" : new DOMParser().parseFromString(e, "text/html").querySelector("a")?.href || ""; 1171 } 1172 }; 1173 return t.NON_MULTI_REDEEM_ITEM_TYPE_IDS = [60, 65], t.ɵfac = function(r) { 1174 return new (r || t)(); 1175 }, t.ɵcmp = F({ 1176 type: t, 1177 selectors: [["brp-redeem-dialog"]], 1178 viewQuery: function(r, e) { 1179 if (r & 1 && he(De, 5), r & 2) { 1180 let i; 1181 ve(i = ue()) && (e.scrollContainer = i.first); 1182 } 1183 }, 1184 hostAttrs: [1, "rewards-hub-v2"], 1185 decls: 4, 1186 vars: 1, 1187 consts: [ 1188 ["dialogContent", ""], 1189 ["scrollContainer", ""], 1190 [ 1191 "surface", 1192 "lowest", 1193 1, 1194 "brp-redeem-dialog", 1195 "brp-redeem-dialog--desktop", 1196 3, 1197 "radius", 1198 "border", 1199 "elevated" 1200 ], 1201 [ 1202 "variant", 1203 "surface-lowest", 1204 1, 1205 "brp-redeem-dialog", 1206 3, 1207 "bottomSheet", 1208 "radius" 1209 ], 1210 [1, "brp-redeem-error"], 1211 [ 1212 "surface", 1213 "lowest", 1214 1, 1215 "brp-redeem-header" 1216 ], 1217 [ 1218 "alt", 1219 "item-icon", 1220 "slot", 1221 "start", 1222 1, 1223 "brp-redeem-icon", 1224 3, 1225 "src" 1226 ], 1227 ["slot", "title"], 1228 [3, "title"], 1229 [1, "brp-redeem-header__subtitle"], 1230 [ 1231 "slot", 1232 "end", 1233 "ds-button-icon", 1234 "", 1235 "variant", 1236 "flat", 1237 "kind", 1238 "utility", 1239 "size", 1240 "large", 1241 3, 1242 "click" 1243 ], 1244 ["name", "theme-ex"], 1245 [1, "brp-redeem-desktop-content"], 1246 [4, "ngTemplateOutlet"], 1247 [ 1248 "scope", 1249 "brpredeemfailure", 1250 "type", 1251 "error", 1252 "hideRightIcon", 1253 "true", 1254 "hideHeader", 1255 "true", 1256 "hideFooter", 1257 "true" 1258 ], 1259 [ 1260 "variant", 1261 "surface-lowest", 1262 1, 1263 "brp-redeem-header" 1264 ], 1265 ["slot", "start"], 1266 [1, "brp-redeem-content"], 1267 [ 1268 "alt", 1269 "item-icon", 1270 1, 1271 "brp-redeem-icon", 1272 3, 1273 "src" 1274 ], 1275 [1, "brp-redeem-header__title-block"], 1276 [1, "brp-congrats-wrapper"], 1277 [1, "brp-congrats-icon"], 1278 [ 1279 "alt", 1280 "", 1281 3, 1282 "src" 1283 ], 1284 [1, "brp-congrats-dialog"], 1285 [1, "brp-congrats-content"], 1286 [1, "brp-congrats-text"], 1287 [1, "brp-congrats-details"], 1288 [1, "brp-congrats-actions"], 1289 [ 1290 "ds-button", 1291 "", 1292 "variant", 1293 "filled", 1294 "kind", 1295 "primary", 1296 "size", 1297 "large" 1298 ], 1299 [ 1300 "ds-button", 1301 "", 1302 "variant", 1303 "flat", 1304 "kind", 1305 "tertiary", 1306 "size", 1307 "medium", 1308 3, 1309 "click" 1310 ], 1311 [1, "brp-congrats-title"], 1312 [ 1313 1, 1314 "brp-congrats-body", 1315 3, 1316 "vnDynamicHtml" 1317 ], 1318 [ 1319 1, 1320 "brp-congrats-body", 1321 3, 1322 "click", 1323 "vnDynamicHtml" 1324 ], 1325 [ 1326 "ds-button", 1327 "", 1328 "variant", 1329 "filled", 1330 "kind", 1331 "primary", 1332 "size", 1333 "large", 1334 3, 1335 "click" 1336 ], 1337 [1, "brp-redeem-carousel"], 1338 [3, "swiperOptions"], 1339 [1, "swiper-slide"], 1340 [ 1341 "alt", 1342 "", 1343 1, 1344 "brp-redeem-carousel__image", 1345 3, 1346 "src" 1347 ], 1348 [1, "brp-exchange-annual-max"], 1349 [ 1350 "variant", 1351 "on-surface-low", 1352 1, 1353 "brp-redeem-divider", 1354 3, 1355 "vertical" 1356 ], 1357 [1, "brp-redeem-cost-section"], 1358 [ 1359 1, 1360 "row", 1361 "brp-exchange-quantity-row" 1362 ], 1363 [1, "label"], 1364 [1, "brp-exchange-input-wrapper"], 1365 [1, "brp-exchange-input-unit"], 1366 [ 1367 "type", 1368 "text", 1369 "inputmode", 1370 "numeric", 1371 1, 1372 "brp-exchange-input", 1373 3, 1374 "keypress", 1375 "input", 1376 "value", 1377 "disabled" 1378 ], 1379 [1, "brp-exchange-error-text"], 1380 [ 1381 1, 1382 "row", 1383 "row--total" 1384 ], 1385 [1, "value"], 1386 [ 1387 1, 1388 "brp-redeem-tier-info-img", 1389 3, 1390 "src", 1391 "alt" 1392 ], 1393 [1, "brp-redeem-balance-section"], 1394 [ 1395 1, 1396 "row", 1397 "row--muted" 1398 ], 1399 [1, "brp-redeem-actions"], 1400 [ 1401 "ds-button", 1402 "", 1403 "variant", 1404 "outline", 1405 "kind", 1406 "secondary", 1407 "size", 1408 "large", 1409 3, 1410 "click" 1411 ], 1412 [ 1413 "ds-button", 1414 "", 1415 "variant", 1416 "filled", 1417 "kind", 1418 "primary", 1419 "size", 1420 "large", 1421 3, 1422 "click", 1423 "disabled" 1424 ], 1425 [1, "brp-redeem-footer"], 1426 [ 1427 "type", 1428 "button", 1429 1, 1430 "brp-redeem-footer__tnc-link", 1431 3, 1432 "click" 1433 ], 1434 [1, "brp-redeem-description"], 1435 [3, "vnDynamicHtml"], 1436 [1, "row"], 1437 [1, "brp-redeem-stepper"], 1438 [ 1439 "ds-button", 1440 "", 1441 "variant", 1442 "outline", 1443 "kind", 1444 "utility", 1445 "size", 1446 "small", 1447 1, 1448 "brp-redeem-stepper__btn", 1449 3, 1450 "click", 1451 "disabled" 1452 ], 1453 [ 1454 "size", 1455 "12", 1456 "name", 1457 "theme-minus" 1458 ], 1459 [ 1460 "size", 1461 "12", 1462 "name", 1463 "theme-plus" 1464 ] 1465 ], 1466 template: function(r, e) {
1467 r & 1 && (u(0, Ci, 2, 1)(1, Li, 16, 6), M(2, qi, 3, 2, "ng-template", null, 0, G)), r & 2 && h(e.isConfirmation() ? 1 : 0); 1468 }, 1469 dependencies: [ 1470 X, 1471 ae, 1472 qt, 1473 se, 1474 re, 1475 Ee, 1476 Me, 1477 xe, 1478 ke, 1479 Oe, 1480 Kt, 1481 we, 1482 Ut, 1483 ze, 1484 $, 1485 Z 1486 ], 1487 styles: [".brp-redeem-dialog[_ngcontent-%COMP%]{max-height:calc(100vh - 100px);min-height:208px;padding-top:var(--%NS%semantic-spacing-container-padding-2xl);overflow-y:auto}.brp-redeem-dialog[_ngcontent-%COMP%] .brp-redeem-header[_ngcontent-%COMP%]{background:transparent}.brp-redeem-dialog--desktop[_ngcontent-%COMP%]{width:545px;max-height:calc(100vh - 100px);border-radius:6px;padding-top:var(--%NS%semantic-spacing-container-padding-2xl);display:flex;flex-direction:column;overflow:hidden}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-header[_ngcontent-%COMP%]{flex-shrink:0}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-desktop-content[_ngcontent-%COMP%]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:var(--%NS%semantic-spacing-container-padding-xl) var(--%NS%semantic-spacing-container-padding-2xl) var(--%NS%semantic-spacing-container-padding-2xl)}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-error[_ngcontent-%COMP%], .brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-carousel[_ngcontent-%COMP%], .brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-divider[_ngcontent-%COMP%], .brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-cost-section[_ngcontent-%COMP%], .brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-tier-info-img[_ngcontent-%COMP%], .brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-balance-section[_ngcontent-%COMP%]{flex-shrink:0}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-description[_ngcontent-%COMP%]{line-height:var(--%NS%semantic-typography-body-md-strong-line-height);font-weight:400}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-description[_ngcontent-%COMP%] p{font-size:13px;margin:var(--%NS%semantic-spacing-container-padding-none)}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-desktop-content[_ngcontent-%COMP%] .brp-redeem-description[_ngcontent-%COMP%]{flex:1 1 auto;min-height:0;max-height:none}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-cost-section[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-label-lg-font-size);line-height:var(--%NS%semantic-typography-label-sm-strong-line-height)}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-cost-section[_ngcontent-%COMP%] .row--total[_ngcontent-%COMP%]{font-size:17px;line-height:var(--%NS%semantic-typography-body-lg-strong-line-height);font-weight:700}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-balance-section[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-label-lg-strong-font-size);line-height:var(--%NS%semantic-typography-body-md-strong-line-height);font-weight:400}.brp-redeem-dialog--desktop[_ngcontent-%COMP%] .brp-redeem-tier-info-img[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%}@media(hover:hover){[_nghost-%COMP%] .ds-button-icon[_ngcontent-%COMP%]:hover{--%NS%ds-button-icon-bg-color: none}}.brp-redeem-header[_ngcontent-%COMP%]{line-height:var(--%NS%semantic-typography-body-lg-strong-line-height);font-size:var(--%NS%semantic-typography-title-md-strong-font-size);padding-left:var(--%NS%semantic-spacing-container-padding-2xl);padding-right:var(--%NS%semantic-spacing-container-padding-2xl)}.brp-redeem-header[_ngcontent-%COMP%] .brp-redeem-header__title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%semantic-spacing-inline-sm);flex:1}.brp-redeem-header[_ngcontent-%COMP%] .brp-redeem-header__subtitle[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-body-sm-font-size);color:var(--%NS%semantic-color-l2-tabs-filled-on-background-base);line-height:var(--%NS%semantic-typography-label-md-strong-line-height)}.brp-redeem-header[_ngcontent-%COMP%] .brp-redeem-header__title-block[_ngcontent-%COMP%]{display:flex;flex-direction:column}.brp-redeem-header[_ngcontent-%COMP%] img.brp-redeem-icon[_ngcontent-%COMP%]{width:var(--%NS%semantic-size-x9);height:var(--%NS%semantic-size-x9);flex-shrink:0}.brp-redeem-content[_ngcontent-%COMP%], .brp-redeem-desktop-content[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-label-lg-font-size);color:var(--%NS%semantic-color-l2-tabs-filled-on-background-base)}.brp-redeem-content[_ngcontent-%COMP%] .brp-redeem-description[_ngcontent-%COMP%], .brp-redeem-desktop-content[_ngcontent-%COMP%] .brp-redeem-description[_ngcontent-%COMP%]{overflow-y:auto;max-height:200px;color:var(--%NS%semantic-color-l2-tabs-underlined-on-background-base);font-size:13px;padding-right:var(--%NS%semantic-spacing-container-padding-lg)}.brp-redeem-content[_ngcontent-%COMP%] .brp-redeem-description[_ngcontent-%COMP%]::-webkit-scrollbar, .brp-redeem-desktop-content[_ngcontent-%COMP%] .brp-redeem-description[_ngcontent-%COMP%]::-webkit-scrollbar{width:var(--%NS%semantic-size-x1);background:var(--%NS%semantic-color-secondary-base)}.brp-redeem-content[_ngcontent-%COMP%] .brp-redeem-description[_ngcontent-%COMP%]::-webkit-scrollbar-thumb, .brp-redeem-desktop-content[_ngcontent-%COMP%] .brp-redeem-description[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--%NS%semantic-color-opacity-strong-base);border-radius:4px}.brp-redeem-content[_ngcontent-%COMP%] p{font-size:var(--%NS%theme-txt-md-font-size);margin:0}
1487.brp-redeem-carousel[_ngcontent-%COMP%] .swiper{height:172px}.brp-redeem-carousel[_ngcontent-%COMP%] .swiper .swiper-slide{display:flex;justify-content:center;align-items:center}.brp-redeem-carousel[_ngcontent-%COMP%] .swiper .swiper-slide img.brp-redeem-carousel__image{height:144px;margin-bottom:28px}.brp-redeem-carousel[_ngcontent-%COMP%] .swiper .swiper-pagination{top:152px}.brp-redeem-carousel[_ngcontent-%COMP%] .swiper .swiper-pagination .swiper-pagination-bullet{width:var(--%NS%semantic-size-x1half);height:var(--%NS%semantic-size-x1half);background-color:var(--%NS%semantic-color-on-surface-container-highest-subtle)}.brp-redeem-carousel[_ngcontent-%COMP%] .swiper .swiper-pagination .swiper-pagination-bullet-active{width:10px;height:10px;border:var(--%NS%semantic-size-xquarter) solid var(--%NS%semantic-color-on-surface-container-highest-subtle);background-color:var(--%NS%semantic-color-l2-navigation-on-background-base)}.brp-redeem-divider[_ngcontent-%COMP%]{margin:var(--%NS%semantic-spacing-container-padding-xl) 0}.brp-redeem-cost-section[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-body-sm-font-size);color:var(--%NS%semantic-color-l2-navigation-on-background-base)}.brp-redeem-cost-section[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--%NS%semantic-spacing-container-padding-sm);margin-left:var(--%NS%semantic-spacing-container-padding-none);margin-right:var(--%NS%semantic-spacing-container-padding-none)}.brp-redeem-cost-section[_ngcontent-%COMP%] .row--total[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-title-md-font-size);font-weight:700}.brp-redeem-cost-section[_ngcontent-%COMP%] .row--muted[_ngcontent-%COMP%]{color:var(--%NS%semantic-color-l2-tabs-filled-on-background-base)}.brp-redeem-cost-section[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex:1;text-align:left}.brp-redeem-cost-section[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{flex:1;text-align:right}.brp-redeem-stepper[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:var(--%NS%semantic-spacing-inline-sm)}.brp-redeem-stepper[_ngcontent-%COMP%] .brp-redeem-stepper__btn[_ngcontent-%COMP%]{color:var(--%NS%semantic-color-utility-base)}.brp-redeem-stepper[_ngcontent-%COMP%] .brp-redeem-stepper__btn[_ngcontent-%COMP%]:disabled{color:var(--%NS%semantic-color-disabled-base)}.brp-redeem-stepper[_ngcontent-%COMP%] .brp-redeem-stepper__value--disabled[_ngcontent-%COMP%]{color:var(--%NS%semantic-color-disabled-base)}.brp-redeem-tier-info-img[_ngcontent-%COMP%]{display:block;width:100%;height:auto;margin-bottom:var(--%NS%semantic-spacing-container-padding-xl)}.brp-redeem-actions[_ngcontent-%COMP%]{display:flex;gap:var(--%NS%semantic-spacing-stack-md);margin-top:var(--%NS%semantic-spacing-container-padding-2xl);font-weight:700}.brp-redeem-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:1}.brp-redeem-footer[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-label-md-strong-font-size);line-height:var(--%NS%semantic-typography-label-sm-line-height);text-align:center;padding-top:var(--%NS%semantic-spacing-container-padding-2xl);color:var(--%NS%semantic-color-l2-tabs-filled-on-background-base)}.brp-redeem-footer[_ngcontent-%COMP%] .brp-redeem-footer__tnc-link[_ngcontent-%COMP%]{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--%NS%semantic-color-utility-outline-base);text-decoration:underline}.brp-redeem-error[_ngcontent-%COMP%]{padding:0 var(--%NS%semantic-spacing-container-padding-2xl);margin-bottom:var(--%NS%semantic-spacing-container-padding-lg)}.brp-congrats-wrapper[_ngcontent-%COMP%]{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-icon[_ngcontent-%COMP%]{position:relative;z-index:2;margin-bottom:-100px;flex-shrink:0}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:180px;height:180px;object-fit:contain}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-dialog[_ngcontent-%COMP%]{position:relative;width:calc(100% - 32px);max-width:545px;background-color:var(--%NS%semantic-color-l2-tabs-background-hover);border-radius:6px;padding:var(--%NS%semantic-spacing-container-padding-2xl);padding-top:76px}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-text[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-display-font-family);font-weight:var(--%NS%semantic-typography-display-md-font-weight);font-size:var(--%NS%semantic-typography-label-lg-font-size);line-height:var(--%NS%semantic-typography-body-sm-line-height);letter-spacing:6px;text-align:center;text-transform:uppercase;color:var(--%NS%semantic-color-l2-odds-button-background-selected);padding-bottom:var(--%NS%semantic-spacing-container-padding-xl)}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-details[_ngcontent-%COMP%]{background-color:var(--%NS%semantic-color-l2-tabs-background-selected);padding:var(--%NS%semantic-spacing-container-padding-2xl);width:calc(100% + 2 * var(--%NS%semantic-spacing-container-padding-2xl));margin-left:calc(-1 * var(--%NS%semantic-spacing-container-padding-2xl));margin-right:calc(-1 * var(--%NS%semantic-spacing-container-padding-2xl));color:var(--%NS%semantic-color-on-tertiary-container)}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-title[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-display-font-family);font-weight:var(--%NS%semantic-typography-display-lg-strong-font-we
1487ight);font-size:var(--%NS%semantic-typography-title-lg-font-size);line-height:var(--%NS%semantic-typography-body-lg-line-height);text-align:center;color:var(--%NS%semantic-color-on-tertiary-container);padding-bottom:var(--%NS%semantic-spacing-container-padding-lg)}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-body[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-display-font-family);font-weight:var(--%NS%semantic-typography-display-sm-font-weight);font-size:var(--%NS%semantic-typography-label-lg-font-size);line-height:var(--%NS%semantic-typography-body-md-strong-line-height);text-align:center;color:var(--%NS%semantic-color-on-tertiary-container)}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-actions[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--%NS%semantic-spacing-stack-md);width:100%;margin-top:var(--%NS%semantic-spacing-container-padding-2xl)}.brp-congrats-wrapper[_ngcontent-%COMP%] .brp-congrats-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.brp-redeem-balance-section[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-label-lg-strong-font-size);line-height:var(--%NS%semantic-typography-body-md-strong-line-height);color:var(--%NS%semantic-color-l2-navigation-on-background-base)}.brp-redeem-balance-section[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--%NS%semantic-spacing-container-padding-sm);margin-left:var(--%NS%semantic-spacing-container-padding-none);margin-right:var(--%NS%semantic-spacing-container-padding-none)}.brp-redeem-balance-section[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{flex:1;text-align:left}.brp-redeem-balance-section[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{flex:1;text-align:right}.brp-redeem-balance-section[_ngcontent-%COMP%] .row--muted[_ngcontent-%COMP%]{color:var(--%NS%semantic-color-l2-tabs-filled-on-background-base)}.brp-exchange-annual-max[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-body-sm-font-size);color:var(--%NS%semantic-color-l2-tabs-filled-on-background-base);padding-top:var(--%NS%semantic-spacing-container-padding-sm)}.brp-exchange-input-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;width:100px;height:44px;border:1px solid var(--%NS%semantic-color-supporting-blue-base);border-radius:8px;padding:var(--%NS%semantic-spacing-text-field-sm-padding-top) var(--%NS%semantic-spacing-text-field-sm-padding-left) var(--%NS%semantic-spacing-text-field-sm-padding-bottom) var(--%NS%semantic-spacing-text-field-sm-padding-left)}.brp-exchange-input-wrapper--error[_ngcontent-%COMP%]{border-color:var(--%NS%semantic-color-error-base)}.brp-exchange-quantity-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-body-lg-strong-font-size);line-height:var(--%NS%semantic-typography-body-lg-strong-line-height);font-weight:400}.brp-exchange-input[_ngcontent-%COMP%]{width:100%;padding:0 var(--%NS%semantic-spacing-container-padding-lg);border:none;background:transparent;color:var(--%NS%semantic-color-on-surface-base);font-size:var(--%NS%semantic-typography-body-md-strong-font-size);text-align:right;outline:none;caret-color:var(--%NS%semantic-color-supporting-blue-base)}.brp-exchange-input[_ngcontent-%COMP%]:disabled{color:var(--%NS%semantic-color-disabled-base);caret-color:transparent}.brp-exchange-input-unit[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-label-xs-strong-font-size);line-height:var(--%NS%semantic-typography-label-xs-strong-line-height);font-weight:700;color:var(--%NS%semantic-color-l2-tabs-filled-on-background-base);white-space:nowrap;padding-right:var(--%NS%semantic-spacing-container-padding-lg)}.brp-exchange-error-text[_ngcontent-%COMP%]{font-size:var(--%NS%semantic-typography-label-sm-font-size);color:var(--%NS%semantic-color-error-base);text-align:right;padding-top:var(--%NS%semantic-spacing-container-padding-sm);padding-bottom:var(--%NS%semantic-spacing-container-padding-sm)}.brp-redeem-dialog.ds-modal.ds-modal-bottom-sheet[_ngcontent-%COMP%] .ds-modal-content[_ngcontent-%COMP%]{display:flex;flex-direction:column}"] 1488 }), t; 1489 })(), Ue = (() => { 1490 let t = class { 1491 constructor() { 1492 this.horizontalAnimation = new pe(), this.horizontalAnimation$ = this.horizontalAnimation.asObservable(); 1493 } 1494 triggerHorizontalAnimation(e) { 1495 this.horizontalAnimation.next(e); 1496 } 1497 }; 1498 return t.ɵfac = function(r) { 1499 return new (r || t)(); 1500 }, t.ɵprov = be({ 1501 token: t, 1502 factory: t.ɵfac, 1503 providedIn: "root" 1504 }), t; 1505 }
1505)(), Ae = ["desktopCarouselRef"], W = (t) => ({ $implicit: t }), de = (t, r) => r.name, qe = 200, He = (() => { 1506 let t = class extends Jt { 1507 constructor() { 1508 super(), this.brpWidgetService = p(oe), this.animationBus = p(Ue), this._injector = p(Ye), this.bottomSheet = p(Ie), this.dialog = p(Ce), this.device = p(ie), this.hostEl = p(tt), this.windowRef = p(ee), this.document = p(je), this.cdr = p(ge), this.decimalPipe = p(Z), this.trackingService = p(ne), this.timerService = p(ye), this.isLargerDevice = !this.device.isMobile && !this.device.isTablet, this.messages = f(null), this.serviceErrors = f(null), this.item = f(null), this.items = f([]), this.size = f("small"), this.showProgressBar = f(!1), this.showTierBadge = f(!0), this.animateProgressBar = f(!1), this.animationScroll = f("vertical"), this.animationGroupId = f(""), this.balance = f(0), this.tierStatus = f(""), this.animationProgress = f(0), this.flowName = f("my_rewards_brp_widget"), this.hasTrackedLoad = !1, this.swiperOptions = S(() => ({ 1509 modules: [Ne], 1510 slidesPerView: "auto", 1511 slidesPerGroup: 1, 1512 spaceBetween: 8, 1513 centeredSlides: !0, 1514 centeredSlidesBounds: !0, 1515 allowTouchMove: !0, 1516 pagination: { 1517 type: "bullets", 1518 clickable: !0, 1519 el: ".swiper-pagination" 1520 }, 1521 initialSlide: this.getHighestRedeemableIndex() 1522 })), this.closeOnPlayNow = !1, this.animationFrameId = null, this.hasAnimated = !1, this.visibilityObserverInitialized = !1, this.desktopCarouselRef = fe("desktopCarouselRef"), this.carousel = fe($), this.isLargeVariant = S(() => this.size() === "large"), this.showCarousel = S(() => this.isLargeVariant() && this.items().length >= 2 && !this.isLargerDevice), this.formattedBalance = S(() => this.decimalPipe.transform(this.balance(), "1.0-0") ?? "0"), this.balanceLabel = S(() => this.messages()?.BrpBalanceLabel || "Your rewards balance"), this.rewardsToRedeemLabel = S(() => this.messages()?.RewardsToRedeemLabel || "Rewards to redeem"), this.progressPercent = S(() => { 1523 let e = this.item(); 1524 return !e || e.requiredPoints <= 0 ? 0 : Math.min(e.earnedPoints / e.requiredPoints * 100, 100); 1525 }), this.ctaLabel = S(() => { 1526 let e = this.messages(); 1527 return e ? this.item()?.isRedeemable ? e.RedeemButtonLabel : e.ViewButtonLabel : ""; 1528 }), this.tierBadgeUrl = S(() => { 1529 let e = this.messages(); 1530 if (!e) return ""; 1531 let i = this.tierStatus()?.toLowerCase() ?? ""; 1532 return e[`${i.charAt(0).toUpperCase() + i.slice(1)}TierStatusMultiplier`] ?? ""; 1533 }), this.isProgressBarVisible = S(() => this.showProgressBar()), this.destroyRef.onDestroy(() => { 1534 this.animationFrameId !== null && (this.timerService.cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null); 1535 }); 1536 } 1537 onData(e) { 1538 if (!e) { 1539 this.handleEmptyData(); 1540 return; 1541 } 1542 this.size.set(e.size ?? "small"), this.showProgressBar.set(e.showProgressBar ?? !1), this.showTierBadge.set(e.showTierBadge !== !1), this.animateProgressBar.set(e.animateProgressBar ?? !1), e.animateProgressBar && !this.hasAnimated && (this.animationProgress.set(0), this.animationFrameId !== null && (this.timerService.cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null)), this.animationScroll.set(e.animationScroll ?? "vertical"), this.animationGroupId.set(e.animationGroupId ?? ""), this.tierStatus.set(e.tierStatus ?? ""), this.flowName.set(e.flowName ?? "my_rewards_brp_widget"), this.onRedeemCallback = e.onRedeem, this.closeOnPlayNow = e.closeOnPlayNow ?? !1; 1543 let i = e.items ?? []; 1544 if (i.length === 0) { 1545 this.hidden = !0; 1546 return; 1547 } 1548 e.size === "large" ? (this.items.set(i), this.balance.set(e.balance ?? 0), e.animateProgressBar && this.hostEl.nativeElement.classList.add("brp-widget--animatable"), this.isLargerDevice && H(() => this.scrollToHighestRedeemable(i), { injector: this._injector })) : (this.item.set(i[0] ?? null), this.balance.set(e.balance ?? 0)), this.hidden = !1, H(() => { 1549 this.animateProgressBar() && !this.visibilityObserverInitialized && (this.visibilityObserverInitialized = !0, this.setupVisibilityObserver()); 1550 }, { injector: this._injector }), this.brpWidgetService.loadContent().pipe(O(this.destroyRef)).subscribe((a) => { 1551 this.messages.set(a?.messages); 1552 }), this.brpWidgetService.loadServiceErrors().pipe(O(this.destroyRef)).subscribe((a) => { 1553 this.serviceErrors.set(a?.messages ?? {}); 1554 }), this.brpWidgetService.loadSubcategoryItemImages().pipe(O(this.destroyRef)).subscribe((a) => { 1555 a?.children && this.enrichItemsWithImages(a.children); 1556 }), this.setWidgetLoaded(), this.widgetContentReady.emit(), this.trackWidgetLoad(); 1557 } 1558 onItemCtaClick(e) { 1559 let i = this.getItemPosition(e); 1560 this.trackCtaClick(e, i), this.openRedeemDialog(e, i); 1561 } 1562 onCtaClick() { 1563 let e = this.item(); 1564 e && (this.trackCtaClick(e, 1), this.openRedeemDialog(e, 1)); 1565 } 1566 openRedeemDialog(e, i) { 1567 let a = e.applicableProducts?.[0] ?? "", d = a.charAt(0).toUpperCase() + a.slice(1), g = new pe(), b = { 1568 selectedItem: e, 1569 messageList: this.messages(), 1570 serviceErrors: this.serviceErrors(),
1571 tierStatus: this.tierStatus(), 1572 balance: this.balance(), 1573 roundedUserPoints: this.balance(), 1574 activeProductElement: d, 1575 closeOnPlayNow: this.closeOnPlayNow, 1576 flowName: this.flowName(), 1577 contentPosition: i, 1578 onRedeem: this.onRedeemCallback, 1579 onPlayNow: () => g.next() 1580 }, U = this.captureCarouselPosition(); 1581 if (this.isLargerDevice) { 1582 let B = this.dialog.open(le, { 1583 data: b, 1584 disableClose: !0, 1585 hasBackdrop: !0, 1586 backdropClass: "rewards-dark-dialog-backdrop", 1587 panelClass: "brp-redeem-dialog-panel", 1588 restoreFocus: !1 1589 }); 1590 g.pipe(D(1)).subscribe(() => B.close()), B.closed.pipe(D(1), O(this.destroyRef)).subscribe(U); 1591 } else { 1592 let B = this.bottomSheet.open(le, { 1593 data: b, 1594 disableClose: !0, 1595 backdropClass: "rewards-dark-dialog-backdrop", 1596 panelClass: "ds-bottom-sheet-panel", 1597 restoreFocus: !1 1598 }); 1599 g.pipe(D(1)).subscribe(() => B.dismiss()), B.afterDismissed().pipe(D(1), O(this.destroyRef)).subscribe(U); 1600 } 1601 } 1602 captureCarouselPosition() { 1603 let e = this.document.activeElement, i = this.desktopCarouselRef()?.nativeElement, a = this.carousel()?.swiper?.el, d = { 1604 scrollLeft: i?.scrollLeft ?? 0, 1605 swiperScrollLeft: a?.scrollLeft ?? 0, 1606 activeIndex: this.carousel()?.swiper?.activeIndex ?? 0 1607 }; 1608 return () => { 1609 let g = this.document.activeElement; 1610 (!g || g === this.document.body || g === this.document.documentElement) && e?.focus?.({ preventScroll: !0 }), this.applyCarouselPosition(i, d), this.timerService.requestAnimationFrame(() => this.applyCarouselPosition(i, d), { serverMode: "omit" }); 1611 }; 1612 } 1613 applyCarouselPosition(e, i) { 1614 e && e.scrollLeft !== i.scrollLeft && (e.scrollLeft = i.scrollLeft); 1615 let a = this.carousel()?.swiper; 1616 !a || a.destroyed || (a.el && a.el.scrollLeft !== i.swiperScrollLeft && (a.el.scrollLeft = i.swiperScrollLeft), a.activeIndex !== i.activeIndex && a.slideTo(i.activeIndex, 0, !1)); 1617 } 1618 getDisplayEarnedPoints(e) { 1619 let i; 1620 return this.animateProgressBar() && this.animationProgress() < 1 ? i = Math.round(Math.min(e.earnedPoints, e.requiredPoints) * this.animationProgress()) : i = Math.min(e.earnedPoints, e.requiredPoints), this.decimalPipe.transform(i, "1.0-0") ?? "0"; 1621 } 1622 formatPoints(e) { 1623 return this.decimalPipe.transform(e, "1.0-0") ?? "0"; 1624 } 1625 getItemIconUrl(e) { 1626 return this.animateProgressBar() && this.animationProgress() < 1 ? e.DisabledImgUrl || e.ImgUrl || this.messages()?.DisabledCoinIcon || "" : e.isRedeemable ? e.ImgUrl || this.messages()?.CoinIcon || "" : e.DisabledImgUrl || e.ImgUrl || this.messages()?.DisabledCoinIcon || ""; 1627 } 1628 getItemProgressPercent(e) { 1629 return !e || e.requiredPoints <= 0 ? 0 : Math.min(e.earnedPoints / e.requiredPoints * 100, 100); 1630 } 1631 enrichItemsWithImages(e) { 1632 let i = /* @__PURE__ */ new Map(); 1633 Object.values(e).forEach((g) => { 1634 let b = g?.messages?.ItemTypeId; 1635 b && i.set(b, { 1636 defaultImg: g.messages.DefaultImageUrl, 1637 disabledImg: g.messages.DisabledImageUrl 1638 }); 1639 }); 1640 let a = (g) => { 1641 let b = i.get(String(g.itemTypeId)); 1642 return b ? A(q({}, g), { 1643 ImgUrl: g.ImgUrl || b.defaultImg, 1644 DisabledImgUrl: g.DisabledImgUrl || b.disabledImg 1645 }) : g; 1646 }; 1647 this.items().length > 0 && this.items.set(this.items().map(a)); 1648 let d = this.item(); 1649 d && this.item.set(a(d)); 1650 } 1651 setupVisibilityObserver() { 1652 let e = this.hostEl.nativeElement; 1653 if (e.classList.add("brp-widget--animatable"), this.animationScroll() === "horizontal") { 1654 this.setupHorizontalVisibilityObserver(e); 1655 return; 1656 } 1657 let i = this.windowRef, a = () => { 1658 let g = new IntersectionObserver((b) => { 1659 b[0]?.isIntersecting && (this.timerService.setTimeout(() => this.triggerProgressAnimation(e), 200, { serverMode: "omit" }), g.disconnect()); 1660 }, { threshold: .5 }); 1661 g.observe(e), this.destroyRef.onDestroy(() => g.disconnect()); 1662 }, d = new IntersectionObserver((g) => { 1663 if (d.disconnect(), g[0]?.isIntersecting) this.timerService.setTimeout(() => this.triggerProgressAnimation(e), 200, { serverMode: "omit" }); 1664 else { 1665 let b = () => { 1666 i.removeEventListener("scroll", b, !0), a(); 1667 }; 1668 i.addEventListener("scroll", b, { 1669 capture: !0, 1670 passive: !0 1671 }), this.destroyRef.onDestroy(() => i.removeEventListener("scroll", b, !0)); 1672 } 1673 }, { threshold: .5 }); 1674 d.observe(e), this.destroyRef.onDestroy(() => d.disconnect()); 1675 } 1676 setupHorizontalVisibilityObserver(e) { 1677 this.animationBus.horizontalAnimation$.pipe(Je((a) => a === this.animationGroupId()), D(1), O(this.destroyRef)).subscribe(() => this.triggerProgressAnimation(e)); 1678 let i = new IntersectionObserver((a) => { 1679 a[0]?.isIntersecting && (i.disconnect(), this.broadcastHorizontalAnimation()); 1680 }, { threshold: .24 }); 1681 i.observe(e), this.destroyRef.onDestroy(() => i.disconnect()); 1682 } 1683 broadcastHorizontalAnimation() { 1684 this.timerService.setTimeout(() => this.animationBus.triggerHorizontalAnimation(this.animationGroupId()), qe, { serverMode: "omit" }); 1685 } 1686 triggerProgressAnimation(e) { 1687 this.hasAnimated || (this.hasAnimated = !0, e.classList.remove("brp-widget--animate"), e.offsetWidth, e.classList.add("brp-widget--animate"), this.animateCounter(650)); 1688 } 1689 animateCounter(e) { 1690 let i = performance.now(), a = (d) => { 1691 let g = d - i, b = Math.min(g / e, 1); 1692 this.animationProgress.set(b), this.cdr.markForCheck(), b < 1 ? this.animationFrameId = this.timerService.requestAnimationFrame(a, { serverMode: "omit" }) : this.animationFrameId = null; 1693 }; 1694 this.animationFrameId = this.timerService.requestAnimationFrame(a, { serverMode: "omit" }); 1695 } 1696 getHighestRedeemableIndex() { 1697 let e = this.items(); 1698 if (e.length < 2) return 0; 1699 let i = e.map((a, d) => ({ 1700 item: a, 1701 index: d 1702 })).filter(({ item: a }) => a.isRedeemable); 1703 return i.length === 0 ? 0 : i.reduce((a, d) => d.item.requiredPoints > a.item.requiredPoints ? d : a).index; 1704 } 1705 scrollToHighestRedeemable(e) { 1706 if (e.length < 2) return;
1707 let i = this.desktopCarouselRef()?.nativeElement; 1708 if (!i || i.scrollWidth <= i.clientWidth) return; 1709 let a = e.map((g, b) => ({ 1710 item: g, 1711 index: b 1712 })).filter(({ item: g }) => g.isRedeemable); 1713 if (a.length === 0) return; 1714 let d = a.reduce((g, b) => b.item.requiredPoints > g.item.requiredPoints ? b : g); 1715 if (d.index > 0) { 1716 let g = i.children[d.index]; 1717 if (g) { 1718 let b = g.offsetLeft - (i.offsetWidth - g.offsetWidth) / 2; 1719 i.scrollTo({ 1720 left: Math.max(0, b), 1721 behavior: "smooth" 1722 }); 1723 } 1724 } 1725 } 1726 trackWidgetLoad() { 1727 if (this.hasTrackedLoad || this.size() !== "large") return; 1728 this.hasTrackedLoad = !0; 1729 let e = this.items().length > 0 ? this.items() : this.item() ? [this.item()] : [], i = e.length, a = e[0]; 1730 this.trackingService.triggerEvent("Event.Tracking", { 1731 event: "contentView", 1732 "component.CategoryEvent": "my rewards - loyalty store", 1733 "component.LabelEvent": "iRewards", 1734 "component.ActionEvent": "load", 1735 "component.PositionEvent": this.balance(), 1736 "component.LocationEvent": this.flowName(), 1737 "component.EventDetails": this.flowName(), 1738 "component.URLClicked": "not applicable", 1739 "component.ContentPosition": i, 1740 campaignId: a?.itemId ?? a?.id ?? "not applicable", 1741 "component.RewardPointsBalance": this.balance(), 1742 "component.flowName": this.flowName() 1743 }); 1744 } 1745 trackCtaClick(e, i) { 1746 let a = e.isRedeemable ? e.isExchangeable ? "Exchange" : "Redeem" : "View", d = this.flowName() === "my_rewards_store" ? e.applicableProducts?.[0]?.toLowerCase() || this.flowName() : this.flowName(); 1747 this.trackingService.triggerEvent("Event.Tracking", { 1748 event: "Event.Tracking", 1749 "component.CategoryEvent": "my rewards - loyalty store", 1750 "component.LabelEvent": "iRewards", 1751 "component.ActionEvent": "click", 1752 "component.PositionEvent": e.itemSitecoreModel?.title, 1753 "component.LocationEvent": d, 1754 "component.EventDetails": a, 1755 "component.URLClicked": "not applicable", 1756 "component.ContentPosition": i, 1757 campaignId: e.itemId ?? e.id, 1758 "component.value": e.requiredPoints, 1759 "component.RewardPointsBalance": this.balance(), 1760 "component.flowName": this.flowName() 1761 }); 1762 } 1763 getItemPosition(e) { 1764 let i = this.items().findIndex((a) => (a.itemId ?? a.id) === (e.itemId ?? e.id)); 1765 return i >= 0 ? i + 1 : 1; 1766 } 1767 }; 1768 return t.ɵfac = function(r) { 1769 return new (r || t)(); 1770 }, t.ɵcmp = F({ 1771 type: t, 1772 selectors: [["brp-widget"]], 1773 viewQuery: function(r, e) { 1774 r & 1 && nt(e.desktopCarouselRef, Ae, 5)(e.carousel, $, 5), r & 2 && Ze(2); 1775 }, 1776 features: [Ve([Z]), $e], 1777 decls: 4, 1778 vars: 1, 1779 consts: [ 1780 ["cardTpl", ""], 1781 ["desktopCarouselRef", ""], 1782 [ 1783 1, 1784 "brp-widget", 1785 3, 1786 "clickable", 1787 "inverse", 1788 "brp-widget--medium", 1789 "brp-widget--no-progress" 1790 ], 1791 [1, "brp-widget__row"], 1792 [1, "brp-widget__icon"], 1793 [ 1794 "width", 1795 "32", 1796 "height", 1797 "32", 1798 1, 1799 "brp-widget__icon-img", 1800 3, 1801 "src", 1802 "alt" 1803 ], 1804 [1, "brp-widget__center"], 1805 [1, "brp-widget__title"], 1806 [ 1807 3, 1808 "currentValue", 1809 "fill", 1810 "ariaLabel" 1811 ], 1812 [1, "brp-widget__meta"], 1813 [1, "brp-widget__cta"], 1814 [ 1815 "ds-button", 1816 "", 1817 "size", 1818 "small", 1819 "variant", 1820 "filled", 1821 "kind", 1822 "primary", 1823 1, 1824 "brp-widget__cta-button" 1825 ], 1826 [ 1827 "ds-button", 1828 "", 1829 "size", 1830 "small", 1831 "variant", 1832 "outline", 1833 "kind", 1834 "secondary", 1835 1, 1836 "brp-widget__cta-button" 1837 ], 1838 [1, "brp-widget__points"], 1839 [ 1840 "slot", 1841 "start", 1842 1, 1843 "brp-widget__slot-text" 1844 ], 1845 [ 1846 "slot", 1847 "end", 1848 1, 1849 "brp-widget__slot-text" 1850 ], 1851 [ 1852 "width", 1853 "16", 1854 "height", 1855 "16", 1856 1, 1857 "brp-widget__tier-badge", 1858 3, 1859 "src", 1860 "alt" 1861 ], 1862 [ 1863 "ds-button", 1864 "", 1865 "size", 1866 "small", 1867 "variant", 1868 "filled", 1869 "kind", 1870 "primary", 1871 1, 1872 "brp-widget__cta-button", 1873 3, 1874 "click" 1875 ], 1876 [ 1877 "ds-button", 1878 "", 1879 "size", 1880 "small", 1881 "variant", 1882 "outline", 1883 "kind", 1884 "secondary", 1885 1, 1886 "brp-widget__cta-button", 1887 3, 1888 "click" 1889 ], 1890 [ 1891 1, 1892 "brp-widget", 1893 "brp-widget--large", 1894 3, 1895 "clickable" 1896 ], 1897 [1, "brp-widget__large-content"], 1898 [1, "brp-widget__large-header"], 1899 [1, "brp-widget__balance-row"], 1900 [1, "brp-widget__balance-with-icon"], 1901 [ 1902 "alt", 1903 "", 1904 "width", 1905 "24", 1906 "height", 1907 "24", 1908 1, 1909 "brp-widget__tier-icon", 1910 3, 1911 "src" 1912 ], 1913 [1, "brp-widget__balance"], 1914 [ 1915 "height", 1916 "16", 1917 1, 1918 "brp-widget__tier-label-img", 1919 3, 1920 "src", 1921 "alt" 1922 ], 1923 [1, "brp-widget__balance-label"], 1924 [ 1925 "variant", 1926 "on-surface-low", 1927 1, 1928 "brp-widget__divider", 1929 3, 1930 "vertical" 1931 ], 1932 [1, "brp-widget__section-title"], 1933 [1, "brp-widget__carousel"], 1934 [ 1935 1, 1936 "brp-widget__carousel", 1937 "brp-widget__carousel--scroll", 1938 3, 1939 "brp-widget__carousel--single", 1940 "brp-widget__carousel--double" 1941 ], 1942 [3, "swiperOptions"], 1943 [1, "swiper-slide"], 1944 [ 1945 "surface", 1946 "low", 1947 1, 1948 "brp-widget__carousel-item", 1949 3, 1950 "clickable", 1951 "elevated", 1952 "border", 1953 "inverse" 1954 ], 1955 [ 1956 4, 1957 "ngTemplateOutlet", 1958 "ngTemplateOutletContext" 1959 ], 1960 [ 1961 1, 1962 "brp-widget__carousel", 1963 "brp-widget__carousel--scroll" 1964 ], 1965 [ 1966 1, 1967 "brp-widget", 1968 3, 1969 "clickable", 1970 "inverse" 1971 ], 1972 [ 1973 "size", 1974 "large", 1975 1, 1976 "brp-widget__list-item", 1977 3, 1978 "selected", 1979 "showCenterSlot", 1980 "title" 1981 ], 1982 [ 1983 "slot", 1984 "start", 1985 1, 1986 "brp-widget__list-item-lead" 1987 ], 1988 [1, "brp-widget__list-item-text"], 1989 [1, "brp-widget__list-item-title"], 1990 [1, "brp-widget__list-item-subtitle"], 1991 ["slot", "end"], 1992 [ 1993 "ds-button", 1994 "", 1995 "size", 1996 "small", 1997 "variant", 1998 "filled", 1999 "kind", 2000 "primary" 2001 ], 2002 [ 2003 "ds-button", 2004 "", 2005 "size", 2006 "small", 2007 "variant", 2008 "outline", 2009 "kind", 2010 "secondary" 2011 ], 2012 [ 2013 "ds-button", 2014 "", 2015 "size", 2016 "small", 2017 "variant", 2018 "filled", 2019 "kind", 2020 "primary", 2021 3, 2022 "click" 2023 ], 2024 [ 2025 "ds-button", 2026 "", 2027 "size", 2028 "small", 2029 "variant", 2030 "outline", 2031 "kind", 2032 "secondary", 2033 3, 2034 "click" 2035 ] 2036 ], 2037 template: function(r, e) { 2038 if (r & 1 && (M(0, Gi, 12, 7, "ng-template", null, 0, G), u(2, rn, 1, 1)(3, pn, 4, 7, "ds-card", 2)), r & 2) { 2039 let i; 2040 n(2), h(e.isLargeVariant() ? 2 : (i = e.item()) ? 3 : -1, i); 2041 } 2042 }, 2043 dependencies: [ 2044 se, 2045 re, 2046 ae, 2047 Oe, 2048 Wt, 2049 ii, 2050 X, 2051 ei, 2052 $ 2053 ], 2054 styles: ["[_nghost-%COMP%]{display:block}.brp-widget__row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%semantic-spacing-inline-md)}.brp-widget__icon[_ngcontent-%COMP%]{flex-shrink:0;width:var(--%NS%semantic-size-x8);height:var(--%NS%semantic-size-x8);aspect-ratio:1}.brp-widget__icon-img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover}.brp-widget__center[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:var(--%NS%semantic-spacing-inline-sm);min-width:0;overflow:hidden}.brp-widget__title[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-label-font-family);font-size:var(--%NS%semantic-typography-label-md-strong-font-size);font-weight:var(--%NS%semantic-typography-headline-lg-strong-font-we
2054ight);line-height:var(--%NS%semantic-typography-label-md-strong-line-height);color:var(--%NS%semantic-color-on-surface-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brp-widget__meta[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%semantic-spacing-inline-md)}.brp-widget__points[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-body-font-family);font-size:var(--%NS%semantic-typography-body-sm-font-size);font-weight:var(--%NS%semantic-typography-body-sm-font-weight);line-height:var(--%NS%semantic-typography-body-sm-line-height);color:var(--%NS%semantic-color-on-surface-base)}.brp-widget__cta[_ngcontent-%COMP%]{flex:0 0 var(--%NS%brp-widget-cta-view-width, 52px);align-self:center;text-align:center}.brp-widget__cta[_ngcontent-%COMP%] .brp-widget__cta-button[_ngcontent-%COMP%]{width:100%;padding:var(--%NS%semantic-spacing-container-padding-sm) var(--%NS%semantic-spacing-container-padding-xl)}.brp-widget__cta--reserved[_ngcontent-%COMP%]{flex-basis:var(--%NS%brp-widget-cta-width, 68px)}.brp-widget__tier-badge[_ngcontent-%COMP%]{height:14px;width:auto;object-fit:contain;vertical-align:middle}.brp-widget[_ngcontent-%COMP%] ds-progress-bar[_ngcontent-%COMP%]{--%NS%ds-progress-bar-color-foreground: var(--%NS%semantic-color-l2-pill-strong-border-hover);--%NS%ds-progress-bar-color-foreground-stripes: var(--%NS%semantic-color-primary-base)}.brp-widget[_ngcontent-%COMP%] ds-progress-bar[_ngcontent-%COMP%] .brp-widget__slot-text[_ngcontent-%COMP%], .brp-widget[_ngcontent-%COMP%] ds-progress-bar[_ngcontent-%COMP%] .brp-widget__end-text[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-body-font-family);font-size:var(--%NS%semantic-typography-body-sm-font-size);font-style:normal;font-weight:var(--%NS%semantic-typography-body-sm-font-weight);line-height:var(--%NS%semantic-typography-body-sm-line-height)}.brp-widget[_ngcontent-%COMP%]{--%NS%ds-progress-bar-color-foreground: var(--%NS%semantic-color-l2-pill-strong-border-hover);--%NS%ds-progress-bar-color-foreground-stripes: var(--%NS%semantic-color-primary-base)}.brp-widget[_ngcontent-%COMP%] .brp-widget__list-item[_ngcontent-%COMP%]{padding:var(--%NS%semantic-spacing-container-padding-none);gap:var(--%NS%brp-widget-list-item-gap, var(--%NS%semantic-spacing-inline-sm))}.brp-widget[_ngcontent-%COMP%] .brp-widget__list-item-lead[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:var(--%NS%brp-widget-list-item-gap, var(--%NS%semantic-spacing-inline-sm));min-width:0}.brp-widget[_ngcontent-%COMP%] .brp-widget__list-item-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--%NS%semantic-spacing-stack-xs);min-width:0}.brp-widget[_ngcontent-%COMP%] .brp-widget__list-item-title[_ngcontent-%COMP%]{font-family:var(--%NS%brp-widget-medium-title-font-family, var(--%NS%semantic-typography-label-font-family));font-size:var(--%NS%brp-widget-medium-title-font-size, var(--%NS%semantic-typography-label-lg-strong-font-size));font-weight:var(--%NS%brp-widget-medium-title-font-weight, var(--%NS%semantic-typography-label-lg-strong-font-weight));line-height:var(--%NS%brp-widget-medium-title-line-height, var(--%NS%semantic-typography-label-lg-strong-line-height));color:var(--%NS%semantic-color-on-surface-base);overflow:hidden;text-overflow:ellipsis}.brp-widget[_ngcontent-%COMP%] .brp-widget__list-item-subtitle[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-label-font-family);font-size:var(--%NS%semantic-typography-label-md-font-size);line-height:var(--%NS%semantic-typography-label-md-line-height);color:var(--%NS%semantic-color-on-surface-subtle)}.brp-widget--medium[_ngcontent-%COMP%]{width:var(--%NS%brp-widget-medium-width, 358px);height:var(--%NS%brp-widget-medium-height, auto);max-width:100%}.brp-widget--medium[_ngcontent-%COMP%] .brp-widget__list-item[_ngcontent-%COMP%]{pointer-events:none;cursor:default;--%NS%ds-list-item-hover-color-background: transparent;--%NS%ds-list-item-active-color-background: transparent}.brp-widget--medium[_ngcontent-%COMP%] .brp-widget__list-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .brp-widget--medium[_ng
2054content-%COMP%] .brp-widget__list-item[_ngcontent-%COMP%] [ds-button][_ngcontent-%COMP%]{pointer-events:auto;cursor:pointer}.brp-widget--medium[_ngcontent-%COMP%] ds-card-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--%NS%brp-widget-medium-gap, var(--%NS%semantic-spacing-stack-md));height:100%;justify-content:center;padding-block:var(--%NS%brp-widget-medium-padding-block, var(--%NS%semantic-spacing-container-padding-xl));padding-inline:var(--%NS%brp-widget-medium-padding-inline, var(--%NS%semantic-spacing-container-padding-xl))}.brp-widget--medium[_ngcontent-%COMP%] .brp-widget__icon[_ngcontent-%COMP%]{width:var(--%NS%brp-widget-medium-icon-size, var(--%NS%semantic-size-x8));height:var(--%NS%brp-widget-medium-icon-size, var(--%NS%semantic-size-x8))}.brp-widget--medium[_ngcontent-%COMP%] .brp-widget__title[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-title-font-family);font-weight:var(--%NS%semantic-typography-title-md-strong-font-weight);font-size:var(--%NS%semantic-typography-title-md-strong-font-size);line-height:var(--%NS%semantic-typography-title-md-strong-line-height);letter-spacing:0}.brp-widget--medium[_ngcontent-%COMP%] .brp-widget__list-item[_ngcontent-%COMP%]{--%NS%ds-list-item-hover-color-background: transparent}.brp-widget--medium.brp-widget--no-progress[_ngcontent-%COMP%] ds-card-content[_ngcontent-%COMP%]{padding-top:var(--%NS%semantic-spacing-stack-4xl);padding-bottom:var(--%NS%semantic-spacing-stack-4xl)}
2054.brp-widget--large[_ngcontent-%COMP%]{overflow:hidden;color:var(--%NS%semantic-color-on-surface-base)}.brp-widget--large[_ngcontent-%COMP%] ds-card-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:var(--%NS%semantic-spacing-stack-lg) var(--%NS%semantic-spacing-inline-lg) var(--%NS%semantic-spacing-stack-lg) var(--%NS%semantic-spacing-inline-lg);overflow:hidden}.brp-widget__large-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--%NS%semantic-spacing-inline-md)}.brp-widget__balance-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.brp-widget__balance-with-icon[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--%NS%semantic-spacing-inline-sm)}.brp-widget__tier-icon[_ngcontent-%COMP%]{height:24px;width:24px;flex-shrink:0;object-fit:contain}.brp-widget__tier-label-img[_ngcontent-%COMP%]{height:16px;width:auto;flex-shrink:0;object-fit:contain}.brp-widget__balance[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-title-font-family);font-size:var(--%NS%semantic-typography-title-lg-strong-font-size);font-weight:var(--%NS%semantic-typography-title-lg-strong-font-weight);line-height:var(--%NS%semantic-typography-title-lg-strong-line-height);color:var(--%NS%semantic-color-on-surface-base)}.brp-widget__balance-label[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-label-font-family);font-size:var(--%NS%semantic-typography-label-md-font-size);font-weight:var(--%NS%semantic-typography-label-md-font-weight);line-height:var(--%NS%semantic-typography-label-md-line-height);color:var(--%NS%semantic-color-on-surface-subtle-inverse)}.brp-widget__divider[_ngcontent-%COMP%]{margin:var(--%NS%semantic-spacing-inline-md) 0}.brp-widget__section-title[_ngcontent-%COMP%]{font-family:var(--%NS%semantic-typography-title-font-family);font-size:var(--%NS%semantic-typography-title-sm-font-size);font-weight:var(--%NS%semantic-typography-title-sm-strong-font-weight);line-height:var(--%NS%semantic-typography-title-sm-strong-line-height);color:var(--%NS%semantic-color-on-surface-base);margin-bottom:var(--%NS%semantic-spacing-inline-md);display:block}.brp-widget__carousel[_ngcontent-%COMP%]{max-width:100%}.brp-widget__carousel[_ngcontent-%COMP%] .swiper{width:100%;overflow:hidden}.brp-widget__carousel[_ngcontent-%COMP%] .swiper .swiper-slide{width:306px;flex-shrink:0}.brp-widget__carousel[_ngcontent-%COMP%] .swiper .swiper-pagination{display:flex;align-items:center;justify-content:center;padding-top:var(--%NS%semantic-spacing-inline-md);position:static}.brp-widget__carousel[_ngcontent-%COMP%] .swiper .swiper-pagination-bullet{width:var(--%NS%semantic-size-x1half);height:var(--%NS%semantic-size-x1half);border-radius:50%;background:#ffffff4d;opacity:1;transition:background .2s ease,transform .2s ease}.brp-widget__carousel[_ngcontent-%COMP%] .swiper .swiper-pagination-bullet-active{width:10px;height:10px;background:var(--%NS%semantic-color-on-surface-base)}.brp-widget__carousel-item[_ngcontent-%COMP%]{flex-shrink:0;scroll-snap-align:center;width:306px}.brp-widget__carousel--scroll[_ngcontent-%COMP%]{display:flex;overflow-x:auto;scroll-snap-type:none;gap:12px;scrollbar-width:none;-ms-overflow-style:none}.brp-widget__carousel--%NS%scroll[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}@media(max-width:1023px){.brp-widget__carousel--scroll.brp-widget__carousel--single[_ngcontent-%COMP%] .brp-widget__carousel-item[_ngcontent-%COMP%]{flex:1;min-width:0}}.brp-widget__carousel--scroll.brp-widget__carousel--double[_ngcontent-%COMP%] .brp-widget__carousel-item[_ngcontent-%COMP%]{flex:1;min-width:0}.brp-widget--animatable[_nghost-%COMP%] .ds-progress-bar-inner{transform-origin:left;transform:scaleX(0);transition:none}.brp-widget--animatable.brp-widget--animate[_nghost-%COMP%] .ds-progress-bar-inner{transform:scaleX(1);transition:transform .65s cubic-bezier(.22,.61,.36,1)}"] 2055 }), t; 2056 })(); 2057 })))(); 2058} 2059Fe(); 2060export { He as BrpWidgetComponent }; 2061 2062//# sourceMappingURL=chunk-cj7gpg40.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.