@everymatrix/bonus-elevate-shop 1.87.26 → 1.87.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{h as e,r as t,c as n,g as i,a,F as r}from"./index-4bbe8850.js";import{t as s,T as o,a as l}from"./locale.utils-471ae737.js";import{r as d,t as h,g as c,P as g,a as p}from"./player-elevate-card-items-6ae28512.js";async function v(e,t={},n={}){const{endpoint:i,language:a,session:r}=this,s=t;n.method&&"GET"!==n.method||(s.language=a);const o=((e,t={})=>e+"?"+Object.keys(t).map((e=>`${e}=${t[e]}`)).join("&"))(`${i}${e}`,s);n.headers||(n.headers={}),n.headers["x-SessionId"]=r;const l=await(async(e,t={})=>{let n;n=await fetch(e,t),n=await n.text();try{n=JSON.parse(n)}catch(e){console.error(e)}return n})(o,n);return l}const f={en:{Points:"Coins",Point:"Coin",loading:"Loading",noContent:"No Content",redeemGift:"Redeem Gift",perPage:"Per Page"},tr:{Points:"Coin",Point:"Coin",loading:"Yükleniyor",noContent:"İçerik Yok",redeemGift:"Hediye Al",perPage:"Sayfa Başına"}},b=(t,n,i)=>e("div",{class:"Gifts FlexLayout"},t.map((t=>{var a;const r=((e,t)=>{switch(e.available){case"true":return{extraClass:" active",onClick:()=>t(e.id)};case"false":return{extraClass:" deactive",onClick:()=>{}}}})(t,i),s=t.presentation;return e("div",{class:"Gift"},e("div",{class:"ImgContainer",onClick:()=>window.postMessage({type:"BEEShopImgClicked",itemId:t.id},window.location.href),style:Object.assign({},(o=(null===(a=s.assets)||void 0===a?void 0:a.length)>0?s.assets[0]:"",o?{backgroundImage:`url('${o}')`}:{}))}),e("div",{class:"InfoContainer"},e("div",null,e("div",{class:"Point"},t.points," ",1===t.points?n.Point:n.Points),e("div",{class:"Title"},(null==s?void 0:s.displayName)||t.displayName),e("div",{class:"Description"},(null==s?void 0:s.description)||"")),e("div",{class:`AvaliableWrap RedeemButton ${r.extraClass}`,onClick:r.onClick},n.redeemGift)));var o}))),u=class{constructor(e){t(this,e),this.redeemGiftButton=n(this,"redeemGiftButton",7),this.bindedHandler=this.handleMessage.bind(this),this.isInitialized=!1,this.session=void 0,this.endpoint=void 0,this.language="en",this.mbSource=void 0,this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.limit=10,this.navItemAccount=5,this.pageLimitOptions="10,25,50",this.locale=f.en,this.gifts=[],this.total=0,this.offset=0,this.shopListId="elevateShopList",this.isLoading=!0,this.pageLimitSelectOptions=[]}async onPropsChange(){this.isInitialized&&this.updateGifts()}async updateGifts(){if(this.isLoading=!0,this.session){const{data:e,total:t}=await v.bind(this,"/v1/elevate/shop",{pagination:`offset=${this.offset},limit=${this.limit}`}).call();this.gifts=e||[],this.total=t}else this.gifts=[],this.total=0;this.isLoading=!1}redeemGiftConfirm(e){const t=this.gifts.filter((t=>t.id===e))[0];window.postMessage({type:"BEERedeemConfirm",shopItem:t},window.location.href)}disconnectedCallback(){window.removeEventListener("message",this.bindedHandler,!1)}async redeemGift(e){const t=await v.bind(this,"/v1/elevate/redeem",{},{method:"PUT",body:JSON.stringify({giftID:e}),headers:{"Content-Type":"application/json-patch+json"}}).call();t.success?(this.redeemGiftButton.emit(),window.postMessage({type:"BEEGiftRedeem",itemId:e},window.location.href)):window.postMessage({type:"BEEGiftRedeemFailed",itemId:e,err:t},window.location.href)}loadGifts(t){return this.isLoading?e("div",{class:"Loading"},this.locale.loading):0===this.gifts.length?e("div",{class:"NoContent"},this.locale.noContent):t()}setLimit(){try{const e=this.pageLimitOptions.split(",").map((e=>parseInt(e)));e.includes(this.limit)||(this.limit=e[0])}catch(e){console.error("Error when parse PageLimitOptions",e),this.limit=10}}onPageLimitChangedHandler(e){var t;this.isInitialized&&"pageLimits"===(null===(t=e.detail)||void 0===t?void 0:t.name)&&(this.limit=parseInt(e.detail.value||"10"),this.offset=0,this.updateGifts())}reloadPageByTypeHandler(e){var t;if((null===(t=e.detail)||void 0===t?void 0:t.tableId)!=this.shopListId)return;const{limit:n,offset:i}=e.detail;this.limit=n,this.offset=i||0,this.updateGifts()}componentWillLoad(){this.setLimit(),this.pageLimitSelectOptions=this.pageLimitOptions.split(",").map((e=>({label:e,value:e})))}componentWillRender(){this.locale=Object.assign(Object.assign({},f.en),f[this.language])}render(){return e("main",{key:"b3500b7f2d9ce92a6516f34d9e589538f888900a",class:"MainContainer"},e("general-styling-wrapper",{key:"038ebd20a7676c1f2c44fa5decf2377ab0abed76",clientStyling:this.clientStyling,clientStylingUrl:this.clientStylingUrl,targetTranslations:f,translationUrl:this.translationUrl,mbSource:this.mbSource}),e("player-elevate-pointcard",{key:"dfe15faf5ffe2c6bc0d03d863159829fc85c1053",endpoint:this.endpoint,session:this.session,language:this.language,mbSource:this.mbSource,clientStylingUrl:this.clientStylingUrl,clientStyling:this.clientStyling,translationUrl:this.translationUrl}),this.loadGifts(b.bind(this,this.gifts,this.locale,this.redeemGiftConfirm.bind(this))),e("div",{key:"c77f4d76ed3383f2b58153eb7bfe3b5e1b922456",class:"ShopBottom"},e("bonus-pagination-nav",{key:"a383af9908f5eb3359c0c8d570c9b1edf50b3027",total:this.total,offset:this.offset,limit:this.limit,tableId:this.shopListId,"nav-item-account":7,arrowsActive:!1,"display-page-numbers":"true"}),e("general-input",{key:"93d1e1c3540234b2db2d521524ed1788b122a9ab",type:"dropdown",name:"pageLimits",displayName:this.locale.perPage,defaultValue:this.limit,validation:{mandatory:!1},options:this.pageLimitSelectOptions,emitValue:!0,language:this.language,mbSource:this.mbSource,"client-styling-url":this.clientStylingUrl})))}handleMessage(e){"bee-redeem-confirmed"===e.data.type&&e.data.id&&this.redeemGift(e.data.id)}async componentDidLoad(){this.updateGifts(),this.isInitialized=!0,window.addEventListener("message",this.bindedHandler,!1)}static get assetsDirs(){return["static"]}static get watchers(){return{endpoint:["onPropsChange"],language:["onPropsChange"],session:["onPropsChange"]}}};u.style=":host{display:block}svg circle{shape-rendering:crispEdges}.MainContainer{max-width:420px}.MainContainer player-elevate-pointcard{width:100%;height:220px}.MainContainer .ShopBottom{display:flex;flex-direction:row;justify-content:space-between}.Gifts{display:flex;justify-content:space-between;padding:15px;padding-left:-8px;padding-right:-8px;flex:0 0 45.1282051282%;flex-wrap:wrap;justify-content:flex-start;background:var(--emw--color-white, #FFFFFF);color:var(--emw--color-black-150, #000000);font-weight:500;gap:10px;margin-top:-100px;position:relative;min-height:200px}.InfoContainer{display:flex;margin-top:17px;justify-content:space-between;flex-direction:column}.Gift{display:block;margin-bottom:10px;padding:8px;box-shadow:0px 18px 45px 0px var(--emw--color-black-150, rgba(167, 167, 167, 0.2));border-radius:11px;background:var(--emw--color-white, #FFFFFF)}.Gift .ImgContainer{width:160px;height:107px;border-radius:11px;box-shadow:0px 2px 6px 0px var(--emw--color-black-200, rgba(0, 0, 0, 0.2509803922));cursor:pointer;background-size:cover;background-position:center center;background-repeat:no-repeat}.Gift .Point{font-size:20px}.Gift .Title,.Gift .Description{padding-left:3px}.Gift .Title{font-size:14px;margin-top:10px}.Gift .Description{font-size:12px;color:var(--emw--color-black-100, #767171)}.Gift .AvaliableWrap{align-self:self-end}.Gift .AvaliableWrap.active{cursor:pointer}.Gift .AvaliableWrap.deactive{cursor:not-allowed}.Gift .AvaliableWrap span svg{width:var(--emw--elevate-avaliable-button-size, 46px)}.RedeemButton{width:100%;padding:5px 0px;border:2px solid var(--emw--button-border-color, rgba(8, 59, 23, 0.1098039216));text-align:center;color:var(--emw--button-typography, var(--emw--color-white, #FFFFFF));font-size:var(--emw--font-size-small, 12px);font-weight:var(--emw--font-weight-bold, 700);line-height:var(--emw--font-size-medium, 14px);text-transform:uppercase;border-radius:var(--emw--border-radius-medium, 10px)}.RedeemButton.active{background:var(--emw--color-primary, #18CE51)}.RedeemButton.active:hover{background:var(--mmw--color-main-button-hover, #24B24E)}.RedeemButton.deactive{background:var(--mmw--color-disabled, rgba(153, 153, 153, 0.5019607843))}.NoContent{font-size:16px;color:var(--emw--color-black-100, #afafaf);text-align:center;height:120px;line-height:120px}";const m=["pt-br","en","es-mx","hu","hr"],x={en:{firstPage:"|<",lastPage:">|",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"},hu:{firstPage:"First",lastPage:"Last",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"},hr:{firstPage:"First",lastPage:"Last",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"},"pt-br":{firstPage:"First",lastPage:"Last",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"},"es-mx":{firstPage:"First",lastPage:"Last",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"}},w=(e,t,n)=>{const i=t;let a=x[void 0!==i&&m.includes(i)?i:"en"][e];if(void 0!==n)for(const[e,t]of Object.entries(n.values)){const n=new RegExp(`{${e}}`,"g");a=a.replace(n,t)}return a},y=class{constructor(e){t(this,e),this.reloadPageEmitter=n(this,"reloadPageByType",7),this.total=1,this.limit=10,this.offset=0,this.tableId="default",this.language="en",this.translationUrl="",this.arrowsActive=!0,this.secondaryArrowsActive=!0,this.displayPageNumbers=!0,this.displayRangeOfTotal=void 0,this.navItemAccount=5,this.endPageIndex=0,this.pagesArray=void 0,this.currentPage=1,this.showAsEllipsisMid=!this.arrowsActive}pageLimitChangedHandler(e){this.limit=e.detail.limit?e.detail.limit:this.limit,this.currentPage=1,this.offset=0,this.updatePageStatus(),"pageLimitChanged"==e.type&&this.reloadPageEmitter.emit({offset:0,limit:this.limit,tableId:this.tableId})}goTo(e){"..."==e||0==e||parseInt(e.toString(),10)>this.endPageIndex+1||(this.currentPage=e,this.reloadPageEmitter.emit({offset:(this.currentPage-1)*this.limit,limit:this.limit,tableId:this.tableId}))}renderPageList(){return e("ul",{class:"PaginationArea"},this.pagesArray.map((t=>e("li",{class:"PageItem "+(this.currentPage==t?"Active":""),onClick:()=>{this.goTo(t)}},t))))}renderStylingWrapper(){return e("general-styling-wrapper",{targetTranslations:x,translationUrl:this.translationUrl})}generateNavItemsByType(e,t){if(this.endPageIndex<e)return Array.from({length:this.endPageIndex+1},((e,t)=>t+1));let n=[],i=Math.floor(e/2);const a=this.endPageIndex+1;return t?this.currentPage<i||this.currentPage>a-i+1?(n=Array.from({length:i},((e,t)=>t+1)),n.push("..."),n=n.concat(Array.from({length:i},((e,t)=>this.endPageIndex-1+t)))):this.currentPage==i?(n=Array.from({length:i+1},((e,t)=>t+1)),n.push("..."),n=n.concat(Array.from({length:i-1},((e,t)=>this.endPageIndex+t)))):this.currentPage==a-i+1?(n=Array.from({length:i-1},((e,t)=>t+1)),n.push("..."),n=n.concat(Array.from({length:i+1},((e,t)=>this.endPageIndex-2+t)))):(n=[1,"..."],n=n.concat([this.currentPage-1],[this.currentPage],[this.currentPage+1]),n=n.concat(["...",a])):this.currentPage<=e-i?(n=Array.from({length:e-1},((e,t)=>t+1)),n.push("...")):this.currentPage>a-(e-i)?(n=Array.from({length:e-1},((t,n)=>a-(e-2)+n)),n.unshift("...")):(n=Array.from({length:e-2},((e,t)=>this.currentPage+t-i+1)),n.push("..."),n.unshift("...")),n}updatePageStatus(){this.endPageIndex=Math.ceil(this.total/this.limit)-1,this.endPageIndex=this.endPageIndex<0?this.endPageIndex=0:this.endPageIndex,this.pagesArray=this.generateNavItemsByType(this.navItemAccount,this.showAsEllipsisMid)}componentWillRender(){this.currentPage=Math.floor(this.offset/this.limit)+1,this.updatePageStatus()}render(){return e("div",{key:"77610598f3ce40796b8d486fd27725fc68b61878",class:"PageNavigationWrapper"},this.displayRangeOfTotal&&this.total>0&&e("span",{key:"879bd2f268a18ea3c9cb2bb706d23c8db0634592",class:"PageOfMessage"},w("pageOfTotal",this.language,{values:{start:(this.currentPage-1)*this.limit+1,end:this.currentPage*this.limit>this.total?this.total:this.currentPage*this.limit,total:this.total}})),e("div",{key:"590af1c2fcb70d782b318c505deb507a8376e13b",class:"PageNavigation"},this.arrowsActive&&e("div",{key:"2d4746e889a43d6199ad7f305676d79bdbaa4f04",class:"PageArrow FirstPage "+(1==this.currentPage?"Disabled":""),onClick:()=>{this.goTo(1)}},w("firstPage",this.language)),this.secondaryArrowsActive&&e("span",{key:"89b588abdf7b77e3cdc00f44bbad27c432146f97",class:"PageArrow PrePage "+(1==this.currentPage?"Disabled":""),onClick:()=>{this.goTo(this.currentPage-1)}},w("prePage",this.language)),this.displayPageNumbers&&this.renderPageList(),this.secondaryArrowsActive&&e("span",{key:"097710df72de15cd1b0c03dfb2ac7870c99e12c0",class:"PageArrow NextPage "+(this.currentPage==this.endPageIndex+1?"Disabled":""),onClick:()=>{this.goTo(this.currentPage+1)}},w("nextPage",this.language)),this.arrowsActive&&e("div",{key:"a61296f3e627bc012545618c0fda239a1356da1f",class:"PageArrow LastPage "+(this.currentPage==this.endPageIndex+1?"Disabled":""),onClick:()=>{this.goTo(this.endPageIndex+1)}}," ",w("lastPage",this.language)," "),this.renderStylingWrapper()))}};function P(e,t){if(e){const n=document.createElement("style");n.innerHTML=t,e.appendChild(n)}}function k(e,t){if(!e||!t)return;const n=new URL(t);fetch(n.href).then((e=>e.text())).then((t=>{const n=document.createElement("style");n.innerHTML=t,e&&e.appendChild(n)})).catch((e=>{console.error("There was an error while trying to load client styling from URL",e)}))}y.style=":host{display:block}.PageNavigationWrapper{display:flex;flex-direction:row;height:100%;align-content:center}.PageNavigationWrapper .PageOfMessage{margin:5px;padding:5px 6px;margin:2px}.PageNavigation{display:flex;flex-direction:row;align-items:center}.PageNavigation .PageArrow{color:var(--emw--color-primary, #777676);padding:6px 5px;cursor:pointer;font-weight:bold;width:1.2rem;text-align:center}.PageNavigation .PageArrow.Disabled{color:var(--emw--color-gray-100, #e0e0e0)}ul.PaginationArea{list-style:none;padding:0px;margin:0px;display:flex}ul.PaginationArea li.PageItem{cursor:pointer;padding:5px 6px;margin:2px;width:0.9rem;text-align:center}ul.PaginationArea li.PageItem.Active,ul.PaginationArea li.PageItem:hover{font-weight:bold;color:var(--emw--color-primary, #f5f1f1);background-color:var(--emw--color-secondary, #8c8989);border-radius:0.3rem}";const C=class{constructor(e){t(this,e),this.stylingAppends=!1,this.clientStyling="",this.clientStylingUrl="",this.mbSource=void 0,this.translationUrl="",this.targetTranslations=void 0}componentDidLoad(){this.el&&(null!=window.emMessageBus?function(e,t){if(window.emMessageBus){const n=document.createElement("style");window.emMessageBus.subscribe(t,(t=>{n.innerHTML=t,e&&e.appendChild(n)}))}}(this.el,`${this.mbSource}.Style`):(this.clientStyling&&P(this.el,this.clientStyling),this.clientStylingUrl&&k(this.el,this.clientStylingUrl),this.stylingAppends=!0))}disconnectedCallback(){this.stylingSubscription&&this.stylingSubscription.unsubscribe()}handleClientStylingChange(e,t){e!=t&&P(this.el,this.clientStyling)}handleClientStylingUrlChange(e,t){e!=t&&this.clientStylingUrl&&k(this.el,this.clientStylingUrl)}componentDidRender(){this.stylingAppends||(this.clientStyling&&P(this.el,this.clientStyling),this.clientStylingUrl&&k(this.el,this.clientStylingUrl),this.stylingAppends=!0)}async componentWillLoad(){const e=[];if(this.translationUrl){const i=(t=this.translationUrl,n=this.targetTranslations,new Promise((e=>{fetch(t).then((e=>e.json())).then((t=>{Object.keys(t).forEach((e=>{n[e]=n[e]||{},Object.keys(t[e]).forEach((i=>{if(!n.en[i])return;const a=n.en[i];"object"==typeof t[e][i]?(n[e][i]=n[e][i]||Object.assign({},a),Object.keys(t[e][i]).forEach((a=>{n[e][i][a]=t[e][i][a]}))):n[e][i]=t[e][i]||Object.assign({},a)}))})),e(!0)})).catch((t=>{console.error("Failed to load translations:",t),e(!1)}))})));e.push(i)}var t,n;return await Promise.all(e)}render(){return e("div",{key:"09ad83748bbad518743c8671b986c541c52bf3f0",class:"StyleShell"},e("slot",{key:"3b28b776d3944410c717b002b70946d274a4e8e7",name:"mainContent"}))}get el(){return i(this)}static get watchers(){return{clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingUrlChange"]}}};function I(e){d(1,arguments);var t=h(e);return t.setHours(0,0,0,0),t}function L(e,t){return d(2,arguments),h(e).getTime()-h(t).getTime()}C.style=":host{display:block}";var E={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}};function A(e){return e?E[e]:E.trunc}const B=class{constructor(e){t(this,e),this.playerElevateLeveLoaded=n(this,"playerElevateLeveLoaded",7),this.params=void 0,this.playerElevateLevel=void 0,this.pointExpireString=void 0}handleWindowResizs(){this.initLevelProgressbar()}onParamsChanged(){this.loadElevateInfo()}redeemGiftButtonHandler(){this.loadElevateInfo()}onRedeemClick(){window.postMessage({type:"BEERedeemClicked"},window.location.href)}loadLevels(){let e=new URL(`${this.params.endpoint}/v1/elevate/levels?language=${this.params.language}`);return new Promise(((t,n)=>fetch(e.href,{method:"GET"}).then((e=>e.json())).then((e=>{this.levels=e.data,t(!0)})).catch((e=>{n(e)}))))}calcuatePointsToBeExpired(e,t){let n="";if(!e||!e.aboutToExpire||0==e.aboutToExpire.length||e.aboutToExpire[0].points<=0)return n;e.aboutToExpire.sort(((e,t)=>function(e,t){d(2,arguments);var n=h(e),i=h(t);return n.getTime()<i.getTime()}(new Date(e.expireTime),new Date(t.expireTime))?-1:1));const i=e.aboutToExpire[0],a=function(e,t){d(2,arguments);var n=I(e),i=I(t),a=n.getTime()-c(n),r=i.getTime()-c(i);return Math.round((a-r)/864e5)}(new Date(i.expireTime),new Date);let r=0,o=0,l=0===a?`${t}Day`:t;return a<=0&&(r=function(e,t,n){d(2,arguments);var i=L(e,t)/36e5;return A(null==n?void 0:n.roundingMethod)(i)}(new Date(i.expireTime),new Date,{roundingMethod:"floor"}),l=r>1?`${t}Hours`:`${t}Hour`,r<=0&&(o=function(e,t,n){d(2,arguments);var i=L(e,t)/6e4;return A(null==n?void 0:n.roundingMethod)(i)}(new Date(i.expireTime),new Date,{roundingMethod:"floor"}),l=o>1?`${t}Minutes`:`${t}Minute`)),n=s(l,{expirationPoints:i.points,expireDay:Math.max(a,r,o),lang:this.params.language}),n}loadPlayerLevelInfo(){let e=new URL(`${this.params.endpoint}/v1/elevate/playerInfo?language=${this.params.language}`);return new Promise(((t,n)=>fetch(e.href,{method:"GET",headers:{"X-Sessionid":this.params.session,"Content-Type":"application/json"}}).then((e=>e.json())).then((e=>{var i,a,r,s,o;if(!e.success)return console.error("Exception when fetch user elevateinfo, ",e.errorCode,e.errorMessage),void n(!0);window.postMessage({type:"UpdateGamificationXp",points:null===(a=null===(i=e.data)||void 0===i?void 0:i.level)||void 0===a?void 0:a.loyaltyPoints},window.location.href);let l=e.data;this.playerElevateLevel=l.level,this.playerElevateLevel.name=this.playerElevateLevel.presentation.displayName||this.playerElevateLevel.name,this.playerElevateLevel.spendablePoints=(null===(r=l.spendableWallet)||void 0===r?void 0:r.total.points)||0,this.playerElevateLeveLoaded.emit({elevateLevel:this.playerElevateLevel});const d=null===(s=e.data.spendableWallet)||void 0===s?void 0:s.total,h=null===(o=e.data.loyaltyWallet)||void 0===o?void 0:o.total;this.playerElevateLeveLoaded.emit({elevateLevelWalletTotal:d,loyaltyWalletTotal:h});let c=this.calcuatePointsToBeExpired(d,"coinsToBeExpired"),g=this.calcuatePointsToBeExpired(h,"pointsToBeExpired");(c||g)&&this.playerElevateLeveLoaded.emit({pointExpireString:c,xpExpireString:g}),t(this.playerElevateLevel)})).catch((e=>{console.log("error ",e),n(!0)}))))}setLoyaltyProgress(e){!function(e,t){const n=e.querySelector("#total_level"),i=n.getBBox().width,a=t>1?1:t,r=a*i-17<0?0:a*i-17,s=e.querySelector("#current_level"),o=e.querySelector("#filter_current_level"),l=e.querySelector("#circle_current_level");n.setAttribute("viewbox",`0 0 ${r} 28`),s.setAttribute("width",`${r}`),l.setAttribute("cx",`${r<6.5?6.5:r}`),o.setAttribute("x",""+(r-8));const d=e.querySelector("#lock"),h=e.querySelector("#filter_heart_ball"),c=e.querySelector("#filter_ball"),g=e.querySelector("#filter_heart"),p=e.querySelector("#filter_lock"),v=e.querySelector("#paint0_linear_ball"),f=e.querySelector("#paint1_linear_lock"),b=e.querySelector("#lock_box"),u=e.querySelector("#heart_box"),m=i-10;d.setAttribute("cx",`${m}`),f.setAttribute("x1",`${m}`),f.setAttribute("x2",`${m}`),v.setAttribute("x1",""+(m-6)),v.setAttribute("x2",""+(m-6+11.2)),p.setAttribute("x",""+(m-6)),g.setAttribute("x",""+(m-6-2)),c.setAttribute("x",""+(m-6-2-2)),h.setAttribute("x",""+(m-6-2-2-4)),b.setAttribute("x",""+(m-6)),u.setAttribute("x",""+(m-6)),n.parentElement.style.opacity="1"}(this.loyaltyProgressEle,e)}initLevelProgressbar(){setTimeout((()=>{this.loyaltyProgressEle=this.elevateCardRef.parentElement.querySelector("#LevelProgress"),this.loyaltyProgressEle&&(this.setLoyaltyProgress(this.playerElevateLevel.nextLevel?this.playerElevateLevel.loyaltyPoints/this.playerElevateLevel.nextLevel.entryPoints:1),this.params.playerElevateLevel=this.playerElevateLevel)}),80)}componentDidRender(){this.initLevelProgressbar()}loadElevateInfo(){if(!this.params.endpoint||!this.params.session)return;const e=[];e.push(this.loadPlayerLevelInfo()),this.params.calculateLevelFlag&&e.push(this.loadLevels()),Promise.all(e).then((e=>{if(console.log("elevate-init",e),this.initLevelProgressbar(),!this.levels)return;this.levels.sort(((e,t)=>e.firstEntryPoints>t.firstEntryPoints?1:-1));const t=this.playerElevateLevel.loyaltyPoints;let n=0;this.levels.forEach(((e,i)=>{t>e.firstEntryPoints&&(n=i)})),this.playerElevateLeveLoaded.emit({calculatedLevelFlag:n})}))}componentWillLoad(){this.loadElevateInfo()}get elevateCardRef(){return i(this)}static get watchers(){return{params:["onParamsChanged"]}}};B.style=':host {\n display: block;\n width: 360px;\n height: 230px;\n}\n\n.ElevateCardWrapper {\n contain: layout inline-size;\n width: 100%;\n height: fit-content;\n min-height: 218px;\n}\n\n.Outer {\n container-type: inline-size;\n font-size: 12px;\n background-size: cover;\n background-repeat: no-repeat;\n line-height: initial;\n width: 100%;\n height: 100%;\n}\n\n.Dark {\n color: var(--emw--color-gray150, #efefef);\n}\n\n.Light {\n color: var(--emw--color-black, #0e0e0e);\n}\n\n@container (min-width: 381px) {\n .Outer {\n background-size: cover;\n }\n .Outer .OuterCover {\n min-height: 190px;\n }\n}\n@container (min-width: 260px) {\n .Outer {\n background-size: contain;\n }\n}\n.OuterCover {\n width: 100%;\n height: 100%;\n content: "";\n background-repeat: no-repeat;\n background-size: cover;\n border-radius: 15px;\n}\n\n.Inner {\n display: flex;\n flex-direction: column;\n min-height: 158px;\n}\n.Inner .Content {\n padding: 15px;\n flex-wrap: wrap;\n gap: 8px;\n}\n.Inner .Row {\n display: flex;\n flex-direction: row;\n}\n.Inner .CardCell {\n display: flex;\n}\n.Inner .LevelProgress svg {\n transition: opacity 0.4s;\n}\n.Inner .LevelInfo {\n display: flex;\n flex-direction: column;\n}\n.Inner .LevelInfo .ElevateLevel .LevelName {\n height: 28px;\n border-radius: 5px;\n line-height: 28px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Inner .LevelInfo.Level0 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level0button-shadow, rgba(191, 84, 6, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level0-bg0, #E2792C) 0%, var(--emw--elevate-color-level0-bg1, rgba(242, 151, 99, 0)) 100%);\n}\n.Inner .LevelInfo.Level1 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level1button-shadow, rgba(151, 151, 151, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level1-bg0, #BEBFED) 0%, var(--emw--elevate-color-level1-bg1, rgba(216, 217, 233, 0)) 100%);\n}\n.Inner .LevelInfo.Level2 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level2button-shadow, rgba(191, 120, 6, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level2-bg0, #FCC410) 0%, var(--emw--elevate-color-level2-bg1, rgba(255, 189, 43, 0)) 100%);\n}\n.Inner .LevelInfo.Level3 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level3button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level3-bg0, #B1A2DB) 0%, var(--emw--elevate-color-level3-bg1, rgba(203, 202, 245, 0)) 100%);\n}\n.Inner .LevelInfo.Level4 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level4button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level4-bg0, #B1A2DB) 0%, var(--emw--elevate-color-level4-bg1, rgba(203, 202, 245, 0)) 100%);\n}\n.Inner .LevelInfo .ElevateLevel {\n display: flex;\n}\n.Inner .LevelInfo {\n flex: 1;\n flex-grow: 1;\n min-width: 150px;\n}\n.Inner .PlayerImg {\n width: 29%;\n margin: auto;\n max-width: 100px;\n min-width: 30px;\n order: 0;\n}\n.Inner .PlayerAvatar {\n max-width: 100px;\n flex-basis: 100px;\n height: auto;\n margin: auto;\n padding-top: 10px;\n}\n.Inner .PlayerAvatar .Avatar, .Inner .PlayerAvatar .Badge {\n width: 100%;\n height: 100%;\n}\n.Inner .PlayerAvatar .Avatar {\n border-radius: 50%;\n background-size: contain;\n background-repeat: no-repeat;\n}\n.Inner .ElevateLevel .ExpirationDate {\n max-width: 138px;\n min-width: 118px;\n}\n.Inner .PlayerName, .Inner .RedeemButton, .Inner .ElevateLevel {\n text-transform: capitalize;\n width: 100%;\n}\n.Inner .PlayerName {\n font-size: 16px;\n}\n.Inner .Row .PointsInfo {\n display: table;\n font-weight: 600;\n}\n.Inner .Row .Redeem {\n justify-content: flex-end;\n margin-left: auto;\n}\n.Inner .Row .Redeem:hover {\n color: var(--emw--elevate-color-redeem-hover, #00ABA4);\n cursor: pointer;\n}\n.Inner .Row .RedeemButton:hover span {\n color: var(emfe-w-elevate-color-redeem-text-hover, #f1f1f1);\n font-weight: bold;\n}\n.Inner .Row .RedeemButton {\n width: 95px;\n height: 35px;\n display: flex;\n align-items: center;\n border-radius: var(--emw--border-radius-medium, 10px);\n background: var(--emw--elevate-color-redeem-bg, linear-gradient(0deg, #26CC37, #26CC37)), linear-gradient(117.99deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.89%), linear-gradient(283.85deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.47%), linear-gradient(268.18deg, rgba(255, 255, 255, 0.6) -17.36%, rgba(239, 239, 239, 0) 15.78%);\n box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);\n}\n.Inner .Row .RedeemButton span {\n color: var(--emw--color-white, #fff);\n line-height: 18px;\n font-size: 15px;\n text-align: center;\n width: 100%;\n}\n.Inner .Row .Points {\n font-size: large;\n vertical-align: middle;\n}\n.Inner .Row .Points .XP {\n font-size: x-small;\n}\n.Inner .Row .ExpirationPoints {\n font-size: small;\n text-align: right;\n font-weight: bold;\n color: var(--emw--color-red, #9e595f);\n}';const R=class{constructor(e){t(this,e),this.isPointDetailCard="earningRule"===this.buttonType,this.endpoint=void 0,this.theme="Dark",this.session=void 0,this.playerAvatarUrl=void 0,this.language="en",this.mbSource=void 0,this.playerName=void 0,this.cardTitle=void 0,this.buttonType="earningRule",this.dateFormat="yyyy-MM-dd",this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.pointExpireString=void 0,this.playerElevateLevel=void 0,this.elevateWalletTotal=void 0,this.elevateSPTotal=void 0}onSessionOrEndpointChange(){this.paramProxy=Object.assign(Object.assign({},this.paramProxy),{session:this.session,endpoint:this.endpoint,language:this.language})}playerElevateLeveLoadedHandler(e){e.detail&&(e.detail.elevateLevelWalletTotal&&(this.elevateWalletTotal=e.detail.elevateLevelWalletTotal,this.elevateSPTotal=e.detail.loyaltyWalletTotal),e.detail.elevateLevel&&(this.playerElevateLevel=e.detail.elevateLevel),e.detail.pointExpireString&&(this.pointExpireString=e.detail.pointExpireString))}onDetailsClick(){window.postMessage({type:this.isPointDetailCard?"BEEPointRulesClicked":"BEEDetailsClicked",path:this.isPointDetailCard?"player-elevate-level":"player-elevate-point-details"},window.location.href)}componentWillLoad(){this.paramProxy={endpoint:this.endpoint,session:this.session,language:this.language}}render(){const t=a("../static/card-ground.svg"),n=a("../static/card-ground-over.svg");return e("div",{key:"45aa5be359b46d5503a8310daa4db2029a8c59b8",class:`ElevateCardWrapper ${this.theme}`},e("div",{key:"0d1773bd9eb0913ede4eeedfc93f22967aa133d6",class:"PointsCard Outer ",style:{backgroundImage:`url(${t}`}},e("general-styling-wrapper",{key:"cfb35c5220633e39e25b11f0be5b6fc5cc73df5c",clientStyling:this.clientStyling,clientStylingUrl:this.clientStylingUrl,targetTranslations:o,translationUrl:this.translationUrl,mbSource:this.mbSource}),e("player-elevate-card-data",{key:"25206c4deb6e51e3ea60259d4fee3452df8253d6",params:this.paramProxy}),e("div",{key:"c14ee3498a1a584b7f484fe2ef6a204c337d2b27",class:"OuterCover Inner",style:{backgroundImage:`url(${n}`}},e("div",{key:"dd7e0528034013d889f1f9bfbacf7928d2b4d1e9",class:"Content Row"},this.playerElevateLevel&&e(r,{key:"20b36f112f735446a6219b61e012e4568f199717"},e("div",{key:"3705136c1ee509484f43b7268b23cfbe273f727c",class:"PlayerImg"},e(g,{key:"b81cbcff0528acd3253a676e0a64141c6414fc2a",onlyBadge:!0,loyaltyIconUrl:this.playerElevateLevel.presentation.asset})),e("div",{key:"311b3ffcdf8a3ffe4b609fd0f1d9dee83424ca58",class:`LevelInfo ${this.playerElevateLevel.name}`},e("div",{key:"ba1744b3b9cee03a424093df96454ff68d04aec1",class:"PointsTxt Label"},this.cardTitle?this.cardTitle:l("spendablePoints",this.language)),e("div",{key:"6b554d17a0f74684e23549365fb06f6079ba7239",class:"PointsTxt SPPoints"},e(p,{key:"6c9f812eccea99cd94095c252ba552816f800447",spendablePoints:this.playerElevateLevel.spendablePoints,language:this.language}),e("a",{key:"eb79d25c2ccce8c542a192c1ca07265649dbd1bc",class:"TC",onClick:()=>{this.onDetailsClick()}},l("termAndConditions",this.language))),this.pointExpireString&&e("div",{key:"e64127c87c4c4a3e5253606e2c4c472e9b728103",class:"ExpirationPoints"},this.pointExpireString," ")))))))}static get watchers(){return{session:["onSessionOrEndpointChange"],endpoint:["onSessionOrEndpointChange"],language:["onSessionOrEndpointChange"]}}};R.style=":host{display:block}.PointsCard .Inner .Row .ExpirationPoints{text-align:left}.PointsCard .Inner .PlayerAvatar .Avatar{display:none}.PointsCard .Inner .PlayerAvatar .Badge{border-radius:50%;background-size:contain;width:100%;height:100%;position:inherit}.PointsCard .Inner .PointsTxt{display:flex;flex-direction:row;justify-content:space-between}.PointsCard .Inner .DetailButton{background:linear-gradient(283.85deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.47%), linear-gradient(117.99deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.89%), linear-gradient(268.18deg, rgba(255, 255, 255, 0.6) -17.36%, rgba(239, 239, 239, 0) 15.78%), linear-gradient(0deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));border-radius:5px;box-shadow:0px 4px 4px 0px rgba(0, 0, 0, 0.25);border:2px solid;font-size:11px;width:108px;padding:4px;cursor:pointer;margin-top:5px;height:16px;min-width:45px;text-align:center}.PointsCard .Inner .DetailButton span{color:var(--emw--color-gray-150, #6D6D6D)}.PointsCard .Inner .DetailButton span{display:inline-block;vertical-align:middle}.PointsCard .Inner .DetailButton:hover span{color:var(--emw--color-gray-150, #6D6D6D)}.PointsCard .Inner .LevelInfo{gap:15px;width:70%}.PointsCard .Inner .LevelInfo .PointsTxt{font-size:15px}.PointsCard .Inner .LevelInfo .PointsTxt.Label{display:none}.PointsCard .Inner .LevelInfo .PointsTxt.SPPoints{padding-top:15px}.PointsCard .Inner .LevelInfo .PointsTxt .TC{font-size:x-small;color:var(--emw--color-gray-300, #58586B);display:flex;align-content:center;height:100%;flex-wrap:wrap;text-decoration:underline;cursor:pointer;display:none}";export{u as bonus_elevate_shop,y as bonus_pagination_nav,C as general_styling_wrapper,B as player_elevate_card_data,R as player_elevate_pointcard}
1
+ import{h as e,r as t,c as n,g as i,a,F as r}from"./index-4bbe8850.js";import{t as s,T as o,a as l}from"./locale.utils-471ae737.js";import{r as d,t as h,g as c,P as g,a as p}from"./player-elevate-card-items-6ae28512.js";async function v(e,t={},n={}){const{endpoint:i,language:a,session:r}=this,s=t;n.method&&"GET"!==n.method||(s.language=a);const o=((e,t={})=>e+"?"+Object.keys(t).map((e=>`${e}=${t[e]}`)).join("&"))(`${i}${e}`,s);n.headers||(n.headers={}),n.headers["x-SessionId"]=r;const l=await(async(e,t={})=>{let n;n=await fetch(e,t),n=await n.text();try{n=JSON.parse(n)}catch(e){console.error(e)}return n})(o,n);return l}const f={en:{Points:"Coins",Point:"Coin",loading:"Loading",noContent:"No Content",redeemGift:"Redeem Gift",perPage:"Per Page"},tr:{Points:"Coin",Point:"Coin",loading:"Yükleniyor",noContent:"İçerik Yok",redeemGift:"Hediye Al",perPage:"Sayfa Başına"}},b=(t,n,i)=>e("div",{class:"Gifts FlexLayout"},t.map((t=>{var a;const r=((e,t)=>{switch(e.available){case"true":return{extraClass:" active",onClick:()=>t(e.id)};case"false":return{extraClass:" deactive",onClick:()=>{}}}})(t,i),s=t.presentation;return e("div",{class:"Gift"},e("div",{class:"ImgContainer",onClick:()=>window.postMessage({type:"BEEShopImgClicked",itemId:t.id},window.location.href),style:Object.assign({},(o=(null===(a=s.assets)||void 0===a?void 0:a.length)>0?s.assets[0]:"",o?{backgroundImage:`url('${o}')`}:{}))}),e("div",{class:"InfoContainer"},e("div",null,e("div",{class:"Point"},t.points," ",1===t.points?n.Point:n.Points),e("div",{class:"Title"},(null==s?void 0:s.displayName)||t.displayName),e("div",{class:"Description"},(null==s?void 0:s.description)||"")),e("div",{class:`AvaliableWrap RedeemButton ${r.extraClass}`,onClick:r.onClick},n.redeemGift)));var o}))),u=class{constructor(e){t(this,e),this.redeemGiftButton=n(this,"redeemGiftButton",7),this.bindedHandler=this.handleMessage.bind(this),this.isInitialized=!1,this.session=void 0,this.endpoint=void 0,this.language="en",this.mbSource=void 0,this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.limit=10,this.navItemAccount=5,this.pageLimitOptions="10,25,50",this.locale=f.en,this.gifts=[],this.total=0,this.offset=0,this.shopListId="elevateShopList",this.isLoading=!0,this.pageLimitSelectOptions=[]}async onPropsChange(){this.isInitialized&&this.updateGifts()}async updateGifts(){if(this.isLoading=!0,this.session){const{data:e,total:t}=await v.bind(this,"/v1/elevate/shop",{pagination:`offset=${this.offset},limit=${this.limit}`}).call();this.gifts=e||[],this.total=t}else this.gifts=[],this.total=0;this.isLoading=!1}redeemGiftConfirm(e){const t=this.gifts.filter((t=>t.id===e))[0];window.postMessage({type:"BEERedeemConfirm",shopItem:t},window.location.href)}disconnectedCallback(){window.removeEventListener("message",this.bindedHandler,!1)}async redeemGift(e){const t=await v.bind(this,"/v1/elevate/redeem",{},{method:"PUT",body:JSON.stringify({giftID:e}),headers:{"Content-Type":"application/json-patch+json"}}).call();t.success?(this.redeemGiftButton.emit(),window.postMessage({type:"BEEGiftRedeem",itemId:e},window.location.href)):window.postMessage({type:"BEEGiftRedeemFailed",itemId:e,err:t},window.location.href)}loadGifts(t){return this.isLoading?e("div",{class:"Loading"},this.locale.loading):0===this.gifts.length?e("div",{class:"NoContent"},this.locale.noContent):t()}setLimit(){try{const e=this.pageLimitOptions.split(",").map((e=>parseInt(e)));e.includes(this.limit)||(this.limit=e[0])}catch(e){console.error("Error when parse PageLimitOptions",e),this.limit=10}}onPageLimitChangedHandler(e){var t;this.isInitialized&&"pageLimits"===(null===(t=e.detail)||void 0===t?void 0:t.name)&&(this.limit=parseInt(e.detail.value||"10"),this.offset=0,this.updateGifts())}reloadPageByTypeHandler(e){var t;if((null===(t=e.detail)||void 0===t?void 0:t.tableId)!=this.shopListId)return;const{limit:n,offset:i}=e.detail;this.limit=n,this.offset=i||0,this.updateGifts()}componentWillLoad(){this.setLimit(),this.pageLimitSelectOptions=this.pageLimitOptions.split(",").map((e=>({label:e,value:e})))}componentWillRender(){this.locale=Object.assign(Object.assign({},f.en),f[this.language])}render(){return e("main",{key:"b3500b7f2d9ce92a6516f34d9e589538f888900a",class:"MainContainer"},e("general-styling-wrapper",{key:"038ebd20a7676c1f2c44fa5decf2377ab0abed76",clientStyling:this.clientStyling,clientStylingUrl:this.clientStylingUrl,targetTranslations:f,translationUrl:this.translationUrl,mbSource:this.mbSource}),e("player-elevate-pointcard",{key:"dfe15faf5ffe2c6bc0d03d863159829fc85c1053",endpoint:this.endpoint,session:this.session,language:this.language,mbSource:this.mbSource,clientStylingUrl:this.clientStylingUrl,clientStyling:this.clientStyling,translationUrl:this.translationUrl}),this.loadGifts(b.bind(this,this.gifts,this.locale,this.redeemGiftConfirm.bind(this))),e("div",{key:"c77f4d76ed3383f2b58153eb7bfe3b5e1b922456",class:"ShopBottom"},e("bonus-pagination-nav",{key:"a383af9908f5eb3359c0c8d570c9b1edf50b3027",total:this.total,offset:this.offset,limit:this.limit,tableId:this.shopListId,"nav-item-account":7,arrowsActive:!1,"display-page-numbers":"true"}),e("general-input",{key:"93d1e1c3540234b2db2d521524ed1788b122a9ab",type:"dropdown",name:"pageLimits",displayName:this.locale.perPage,defaultValue:this.limit,validation:{mandatory:!1},options:this.pageLimitSelectOptions,emitValue:!0,language:this.language,mbSource:this.mbSource,"client-styling-url":this.clientStylingUrl})))}handleMessage(e){"bee-redeem-confirmed"===e.data.type&&e.data.id&&this.redeemGift(e.data.id)}async componentDidLoad(){this.updateGifts(),this.isInitialized=!0,window.addEventListener("message",this.bindedHandler,!1)}static get assetsDirs(){return["static"]}static get watchers(){return{endpoint:["onPropsChange"],language:["onPropsChange"],session:["onPropsChange"]}}};u.style=":host{display:block}svg circle{shape-rendering:crispEdges}.MainContainer{max-width:420px}.MainContainer player-elevate-pointcard{width:100%;height:220px}.MainContainer .ShopBottom{display:flex;flex-direction:row;justify-content:space-between}.Gifts{display:flex;justify-content:space-between;padding:15px;padding-left:-8px;padding-right:-8px;flex:0 0 45.1282051282%;flex-wrap:wrap;justify-content:flex-start;background:var(--emw--color-white, #FFFFFF);color:var(--emw--color-black-150, #000000);font-weight:500;gap:10px;margin-top:-100px;position:relative;min-height:200px}.InfoContainer{display:flex;margin-top:17px;justify-content:space-between;flex-direction:column}.Gift{display:block;margin-bottom:10px;padding:8px;box-shadow:0px 18px 45px 0px var(--emw--color-black-150, rgba(167, 167, 167, 0.2));border-radius:11px;background:var(--emw--color-white, #FFFFFF)}.Gift .ImgContainer{width:160px;height:107px;border-radius:11px;box-shadow:0px 2px 6px 0px var(--emw--color-black-200, rgba(0, 0, 0, 0.2509803922));cursor:pointer;background-size:cover;background-position:center center;background-repeat:no-repeat}.Gift .Point{font-size:20px}.Gift .Title,.Gift .Description{padding-left:3px}.Gift .Title{font-size:14px;margin-top:10px}.Gift .Description{font-size:12px;color:var(--emw--color-black-100, #767171)}.Gift .AvaliableWrap{align-self:self-end}.Gift .AvaliableWrap.active{cursor:pointer}.Gift .AvaliableWrap.deactive{cursor:not-allowed}.Gift .AvaliableWrap span svg{width:var(--emw--elevate-avaliable-button-size, 46px)}.RedeemButton{width:100%;padding:5px 0px;border:2px solid var(--emw--button-border-color, rgba(8, 59, 23, 0.1098039216));text-align:center;color:var(--emw--button-typography, var(--emw--color-white, #FFFFFF));font-size:var(--emw--font-size-small, 12px);font-weight:var(--emw--font-weight-bold, 700);line-height:var(--emw--font-size-medium, 14px);text-transform:uppercase;border-radius:var(--emw--border-radius-medium, 10px)}.RedeemButton.active{background:var(--emw--color-primary, #18CE51)}.RedeemButton.active:hover{background:var(--mmw--color-main-button-hover, #24B24E)}.RedeemButton.deactive{background:var(--mmw--color-disabled, rgba(153, 153, 153, 0.5019607843))}.NoContent{font-size:16px;color:var(--emw--color-black-100, #afafaf);text-align:center;height:120px;line-height:120px}";const w=["pt-br","en","es-mx","hu","hr"],m={en:{firstPage:"|<",lastPage:">|",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"},hu:{firstPage:"First",lastPage:"Last",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"},hr:{firstPage:"First",lastPage:"Last",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"},"pt-br":{firstPage:"First",lastPage:"Last",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"},"es-mx":{firstPage:"First",lastPage:"Last",prePage:"<",nextPage:">",pageOfTotal:"{start}-{end} of {total}"}},x=(e,t,n)=>{const i=t;let a=m[void 0!==i&&w.includes(i)?i:"en"][e];if(void 0!==n)for(const[e,t]of Object.entries(n.values)){const n=new RegExp(`{${e}}`,"g");a=a.replace(n,t)}return a},y=class{constructor(e){t(this,e),this.reloadPageEmitter=n(this,"reloadPageByType",7),this.total=1,this.limit=10,this.offset=0,this.tableId="default",this.language="en",this.translationUrl="",this.arrowsActive=!0,this.secondaryArrowsActive=!0,this.displayPageNumbers=!0,this.displayRangeOfTotal=void 0,this.navItemAccount=5,this.endPageIndex=0,this.pagesArray=void 0,this.currentPage=1,this.showAsEllipsisMid=!this.arrowsActive}pageLimitChangedHandler(e){this.limit=e.detail.limit?e.detail.limit:this.limit,this.currentPage=1,this.offset=0,this.updatePageStatus(),"pageLimitChanged"==e.type&&this.reloadPageEmitter.emit({offset:0,limit:this.limit,tableId:this.tableId})}goTo(e){"..."==e||0==e||parseInt(e.toString(),10)>this.endPageIndex+1||(this.currentPage=e,this.reloadPageEmitter.emit({offset:(this.currentPage-1)*this.limit,limit:this.limit,tableId:this.tableId}))}renderPageList(){return e("ul",{class:"PaginationArea"},this.pagesArray.map((t=>e("li",{class:"PageItem "+(this.currentPage==t?"Active":""),onClick:()=>{this.goTo(t)}},t))))}renderStylingWrapper(){return e("general-styling-wrapper",{targetTranslations:m,translationUrl:this.translationUrl})}generateNavItemsByType(e,t){if(this.endPageIndex<e)return Array.from({length:this.endPageIndex+1},((e,t)=>t+1));let n=[],i=Math.floor(e/2);const a=this.endPageIndex+1;return t?this.currentPage<i||this.currentPage>a-i+1?(n=Array.from({length:i},((e,t)=>t+1)),n.push("..."),n=n.concat(Array.from({length:i},((e,t)=>this.endPageIndex-1+t)))):this.currentPage==i?(n=Array.from({length:i+1},((e,t)=>t+1)),n.push("..."),n=n.concat(Array.from({length:i-1},((e,t)=>this.endPageIndex+t)))):this.currentPage==a-i+1?(n=Array.from({length:i-1},((e,t)=>t+1)),n.push("..."),n=n.concat(Array.from({length:i+1},((e,t)=>this.endPageIndex-2+t)))):(n=[1,"..."],n=n.concat([this.currentPage-1],[this.currentPage],[this.currentPage+1]),n=n.concat(["...",a])):this.currentPage<=e-i?(n=Array.from({length:e-1},((e,t)=>t+1)),n.push("...")):this.currentPage>a-(e-i)?(n=Array.from({length:e-1},((t,n)=>a-(e-2)+n)),n.unshift("...")):(n=Array.from({length:e-2},((e,t)=>this.currentPage+t-i+1)),n.push("..."),n.unshift("...")),n}updatePageStatus(){this.endPageIndex=Math.ceil(this.total/this.limit)-1,this.endPageIndex=this.endPageIndex<0?this.endPageIndex=0:this.endPageIndex,this.pagesArray=this.generateNavItemsByType(this.navItemAccount,this.showAsEllipsisMid)}componentWillRender(){this.currentPage=Math.floor(this.offset/this.limit)+1,this.updatePageStatus()}render(){return e("div",{key:"77610598f3ce40796b8d486fd27725fc68b61878",class:"PageNavigationWrapper"},this.displayRangeOfTotal&&this.total>0&&e("span",{key:"879bd2f268a18ea3c9cb2bb706d23c8db0634592",class:"PageOfMessage"},x("pageOfTotal",this.language,{values:{start:(this.currentPage-1)*this.limit+1,end:this.currentPage*this.limit>this.total?this.total:this.currentPage*this.limit,total:this.total}})),e("div",{key:"590af1c2fcb70d782b318c505deb507a8376e13b",class:"PageNavigation"},this.arrowsActive&&e("div",{key:"2d4746e889a43d6199ad7f305676d79bdbaa4f04",class:"PageArrow FirstPage "+(1==this.currentPage?"Disabled":""),onClick:()=>{this.goTo(1)}},x("firstPage",this.language)),this.secondaryArrowsActive&&e("span",{key:"89b588abdf7b77e3cdc00f44bbad27c432146f97",class:"PageArrow PrePage "+(1==this.currentPage?"Disabled":""),onClick:()=>{this.goTo(this.currentPage-1)}},x("prePage",this.language)),this.displayPageNumbers&&this.renderPageList(),this.secondaryArrowsActive&&e("span",{key:"097710df72de15cd1b0c03dfb2ac7870c99e12c0",class:"PageArrow NextPage "+(this.currentPage==this.endPageIndex+1?"Disabled":""),onClick:()=>{this.goTo(this.currentPage+1)}},x("nextPage",this.language)),this.arrowsActive&&e("div",{key:"a61296f3e627bc012545618c0fda239a1356da1f",class:"PageArrow LastPage "+(this.currentPage==this.endPageIndex+1?"Disabled":""),onClick:()=>{this.goTo(this.endPageIndex+1)}}," ",x("lastPage",this.language)," "),this.renderStylingWrapper()))}};y.style=":host{display:block}.PageNavigationWrapper{display:flex;flex-direction:row;height:100%;align-content:center}.PageNavigationWrapper .PageOfMessage{margin:5px;padding:5px 6px;margin:2px}.PageNavigation{display:flex;flex-direction:row;align-items:center}.PageNavigation .PageArrow{color:var(--emw--color-primary, #777676);padding:6px 5px;cursor:pointer;font-weight:bold;width:1.2rem;text-align:center}.PageNavigation .PageArrow.Disabled{color:var(--emw--color-gray-100, #e0e0e0)}ul.PaginationArea{list-style:none;padding:0px;margin:0px;display:flex}ul.PaginationArea li.PageItem{cursor:pointer;padding:5px 6px;margin:2px;width:0.9rem;text-align:center}ul.PaginationArea li.PageItem.Active,ul.PaginationArea li.PageItem:hover{font-weight:bold;color:var(--emw--color-primary, #f5f1f1);background-color:var(--emw--color-secondary, #8c8989);border-radius:0.3rem}";const P="__WIDGET_GLOBAL_STYLE_CACHE__";function C(e,t){if(e){const n=document.createElement("style");n.innerHTML=t,e.appendChild(n)}}function k(e,t){if(!e||!t)return;const n=new URL(t);fetch(n.href).then((e=>e.text())).then((t=>{const n=document.createElement("style");n.innerHTML=t,e&&e.appendChild(n)})).catch((e=>{console.error("There was an error while trying to load client styling from URL",e)}))}const I=class{constructor(e){t(this,e),this.stylingAppends=!1,this.clientStyling="",this.clientStylingUrl="",this.mbSource=void 0,this.translationUrl="",this.targetTranslations=void 0}componentDidLoad(){this.el&&(null!=window.emMessageBus?function(e,t,n,i=!1){if(!window.emMessageBus)return;if(!("adoptedStyleSheets"in Document.prototype)||!i)return function(e,t){const n=document.createElement("style");return window.emMessageBus.subscribe(t,(t=>{e&&(n.innerHTML=t,e.appendChild(n))}))}(e,t);window[P]||(window[P]={});const a=(n=function(e,t){return window.emMessageBus.subscribe(t,(n=>{if(!e)return;const i=e.getRootNode(),a=window[P];let r=a[t]?.sheet;r?a[t].refCount=a[t].refCount+1:(r=new CSSStyleSheet,r.replaceSync(n),a[t]={sheet:r,refCount:1});const s=i.adoptedStyleSheets||[];s.includes(r)||(i.adoptedStyleSheets=[...s,r])}))}(e,t)).unsubscribe.bind(n);n.unsubscribe=()=>{if(window[P][t]){const e=window[P][t];e.refCount>1?e.refCount=e.refCount-1:delete window[P][t]}a()}}(this.el,`${this.mbSource}.Style`,this.stylingSubscription):(this.clientStyling&&C(this.el,this.clientStyling),this.clientStylingUrl&&k(this.el,this.clientStylingUrl),this.stylingAppends=!0))}disconnectedCallback(){this.stylingSubscription&&this.stylingSubscription.unsubscribe()}handleClientStylingChange(e,t){e!=t&&C(this.el,this.clientStyling)}handleClientStylingUrlChange(e,t){e!=t&&this.clientStylingUrl&&k(this.el,this.clientStylingUrl)}componentDidRender(){this.stylingAppends||(this.clientStyling&&C(this.el,this.clientStyling),this.clientStylingUrl&&k(this.el,this.clientStylingUrl),this.stylingAppends=!0)}async componentWillLoad(){const e=[];if(this.translationUrl){const i=(t=this.translationUrl,n=this.targetTranslations,new Promise((e=>{fetch(t).then((e=>e.json())).then((t=>{Object.keys(t).forEach((e=>{n[e]=n[e]||{},Object.keys(t[e]).forEach((i=>{if(!n.en[i])return;const a=n.en[i];"object"==typeof t[e][i]?(n[e][i]=n[e][i]||Object.assign({},a),Object.keys(t[e][i]).forEach((a=>{n[e][i][a]=t[e][i][a]}))):n[e][i]=t[e][i]||Object.assign({},a)}))})),e(!0)})).catch((t=>{console.error("Failed to load translations:",t),e(!1)}))})));e.push(i)}var t,n;return await Promise.all(e)}render(){return e("div",{key:"09ad83748bbad518743c8671b986c541c52bf3f0",class:"StyleShell"},e("slot",{key:"3b28b776d3944410c717b002b70946d274a4e8e7",name:"mainContent"}))}get el(){return i(this)}static get watchers(){return{clientStyling:["handleClientStylingChange"],clientStylingUrl:["handleClientStylingUrlChange"]}}};function L(e){d(1,arguments);var t=h(e);return t.setHours(0,0,0,0),t}function E(e,t){return d(2,arguments),h(e).getTime()-h(t).getTime()}I.style=":host{display:block}";var A={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}};function B(e){return e?A[e]:A.trunc}const D=class{constructor(e){t(this,e),this.playerElevateLeveLoaded=n(this,"playerElevateLeveLoaded",7),this.params=void 0,this.playerElevateLevel=void 0,this.pointExpireString=void 0}handleWindowResizs(){this.initLevelProgressbar()}onParamsChanged(){this.loadElevateInfo()}redeemGiftButtonHandler(){this.loadElevateInfo()}onRedeemClick(){window.postMessage({type:"BEERedeemClicked"},window.location.href)}loadLevels(){let e=new URL(`${this.params.endpoint}/v1/elevate/levels?language=${this.params.language}`);return new Promise(((t,n)=>fetch(e.href,{method:"GET"}).then((e=>e.json())).then((e=>{this.levels=e.data,t(!0)})).catch((e=>{n(e)}))))}calcuatePointsToBeExpired(e,t){let n="";if(!e||!e.aboutToExpire||0==e.aboutToExpire.length||e.aboutToExpire[0].points<=0)return n;e.aboutToExpire.sort(((e,t)=>function(e,t){d(2,arguments);var n=h(e),i=h(t);return n.getTime()<i.getTime()}(new Date(e.expireTime),new Date(t.expireTime))?-1:1));const i=e.aboutToExpire[0],a=function(e,t){d(2,arguments);var n=L(e),i=L(t),a=n.getTime()-c(n),r=i.getTime()-c(i);return Math.round((a-r)/864e5)}(new Date(i.expireTime),new Date);let r=0,o=0,l=0===a?`${t}Day`:t;return a<=0&&(r=function(e,t,n){d(2,arguments);var i=E(e,t)/36e5;return B(null==n?void 0:n.roundingMethod)(i)}(new Date(i.expireTime),new Date,{roundingMethod:"floor"}),l=r>1?`${t}Hours`:`${t}Hour`,r<=0&&(o=function(e,t,n){d(2,arguments);var i=E(e,t)/6e4;return B(null==n?void 0:n.roundingMethod)(i)}(new Date(i.expireTime),new Date,{roundingMethod:"floor"}),l=o>1?`${t}Minutes`:`${t}Minute`)),n=s(l,{expirationPoints:i.points,expireDay:Math.max(a,r,o),lang:this.params.language}),n}loadPlayerLevelInfo(){let e=new URL(`${this.params.endpoint}/v1/elevate/playerInfo?language=${this.params.language}`);return new Promise(((t,n)=>fetch(e.href,{method:"GET",headers:{"X-Sessionid":this.params.session,"Content-Type":"application/json"}}).then((e=>e.json())).then((e=>{var i,a,r,s,o;if(!e.success)return console.error("Exception when fetch user elevateinfo, ",e.errorCode,e.errorMessage),void n(!0);window.postMessage({type:"UpdateGamificationXp",points:null===(a=null===(i=e.data)||void 0===i?void 0:i.level)||void 0===a?void 0:a.loyaltyPoints},window.location.href);let l=e.data;this.playerElevateLevel=l.level,this.playerElevateLevel.name=this.playerElevateLevel.presentation.displayName||this.playerElevateLevel.name,this.playerElevateLevel.spendablePoints=(null===(r=l.spendableWallet)||void 0===r?void 0:r.total.points)||0,this.playerElevateLeveLoaded.emit({elevateLevel:this.playerElevateLevel});const d=null===(s=e.data.spendableWallet)||void 0===s?void 0:s.total,h=null===(o=e.data.loyaltyWallet)||void 0===o?void 0:o.total;this.playerElevateLeveLoaded.emit({elevateLevelWalletTotal:d,loyaltyWalletTotal:h});let c=this.calcuatePointsToBeExpired(d,"coinsToBeExpired"),g=this.calcuatePointsToBeExpired(h,"pointsToBeExpired");(c||g)&&this.playerElevateLeveLoaded.emit({pointExpireString:c,xpExpireString:g}),t(this.playerElevateLevel)})).catch((e=>{console.log("error ",e),n(!0)}))))}setLoyaltyProgress(e){!function(e,t){const n=e.querySelector("#total_level"),i=n.getBBox().width,a=t>1?1:t,r=a*i-17<0?0:a*i-17,s=e.querySelector("#current_level"),o=e.querySelector("#filter_current_level"),l=e.querySelector("#circle_current_level");n.setAttribute("viewbox",`0 0 ${r} 28`),s.setAttribute("width",`${r}`),l.setAttribute("cx",`${r<6.5?6.5:r}`),o.setAttribute("x",""+(r-8));const d=e.querySelector("#lock"),h=e.querySelector("#filter_heart_ball"),c=e.querySelector("#filter_ball"),g=e.querySelector("#filter_heart"),p=e.querySelector("#filter_lock"),v=e.querySelector("#paint0_linear_ball"),f=e.querySelector("#paint1_linear_lock"),b=e.querySelector("#lock_box"),u=e.querySelector("#heart_box"),w=i-10;d.setAttribute("cx",`${w}`),f.setAttribute("x1",`${w}`),f.setAttribute("x2",`${w}`),v.setAttribute("x1",""+(w-6)),v.setAttribute("x2",""+(w-6+11.2)),p.setAttribute("x",""+(w-6)),g.setAttribute("x",""+(w-6-2)),c.setAttribute("x",""+(w-6-2-2)),h.setAttribute("x",""+(w-6-2-2-4)),b.setAttribute("x",""+(w-6)),u.setAttribute("x",""+(w-6)),n.parentElement.style.opacity="1"}(this.loyaltyProgressEle,e)}initLevelProgressbar(){setTimeout((()=>{this.loyaltyProgressEle=this.elevateCardRef.parentElement.querySelector("#LevelProgress"),this.loyaltyProgressEle&&(this.setLoyaltyProgress(this.playerElevateLevel.nextLevel?this.playerElevateLevel.loyaltyPoints/this.playerElevateLevel.nextLevel.entryPoints:1),this.params.playerElevateLevel=this.playerElevateLevel)}),80)}componentDidRender(){this.initLevelProgressbar()}loadElevateInfo(){if(!this.params.endpoint||!this.params.session)return;const e=[];e.push(this.loadPlayerLevelInfo()),this.params.calculateLevelFlag&&e.push(this.loadLevels()),Promise.all(e).then((e=>{if(console.log("elevate-init",e),this.initLevelProgressbar(),!this.levels)return;this.levels.sort(((e,t)=>e.firstEntryPoints>t.firstEntryPoints?1:-1));const t=this.playerElevateLevel.loyaltyPoints;let n=0;this.levels.forEach(((e,i)=>{t>e.firstEntryPoints&&(n=i)})),this.playerElevateLeveLoaded.emit({calculatedLevelFlag:n})}))}componentWillLoad(){this.loadElevateInfo()}get elevateCardRef(){return i(this)}static get watchers(){return{params:["onParamsChanged"]}}};D.style=':host {\n display: block;\n width: 360px;\n height: 230px;\n}\n\n.ElevateCardWrapper {\n contain: layout inline-size;\n width: 100%;\n height: fit-content;\n min-height: 218px;\n}\n\n.Outer {\n container-type: inline-size;\n font-size: 12px;\n background-size: cover;\n background-repeat: no-repeat;\n line-height: initial;\n width: 100%;\n height: 100%;\n}\n\n.Dark {\n color: var(--emw--color-gray150, #efefef);\n}\n\n.Light {\n color: var(--emw--color-black, #0e0e0e);\n}\n\n@container (min-width: 381px) {\n .Outer {\n background-size: cover;\n }\n .Outer .OuterCover {\n min-height: 190px;\n }\n}\n@container (min-width: 260px) {\n .Outer {\n background-size: contain;\n }\n}\n.OuterCover {\n width: 100%;\n height: 100%;\n content: "";\n background-repeat: no-repeat;\n background-size: cover;\n border-radius: 15px;\n}\n\n.Inner {\n display: flex;\n flex-direction: column;\n min-height: 158px;\n}\n.Inner .Content {\n padding: 15px;\n flex-wrap: wrap;\n gap: 8px;\n}\n.Inner .Row {\n display: flex;\n flex-direction: row;\n}\n.Inner .CardCell {\n display: flex;\n}\n.Inner .LevelProgress svg {\n transition: opacity 0.4s;\n}\n.Inner .LevelInfo {\n display: flex;\n flex-direction: column;\n}\n.Inner .LevelInfo .ElevateLevel .LevelName {\n height: 28px;\n border-radius: 5px;\n line-height: 28px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Inner .LevelInfo.Level0 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level0button-shadow, rgba(191, 84, 6, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level0-bg0, #E2792C) 0%, var(--emw--elevate-color-level0-bg1, rgba(242, 151, 99, 0)) 100%);\n}\n.Inner .LevelInfo.Level1 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level1button-shadow, rgba(151, 151, 151, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level1-bg0, #BEBFED) 0%, var(--emw--elevate-color-level1-bg1, rgba(216, 217, 233, 0)) 100%);\n}\n.Inner .LevelInfo.Level2 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level2button-shadow, rgba(191, 120, 6, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level2-bg0, #FCC410) 0%, var(--emw--elevate-color-level2-bg1, rgba(255, 189, 43, 0)) 100%);\n}\n.Inner .LevelInfo.Level3 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level3button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level3-bg0, #B1A2DB) 0%, var(--emw--elevate-color-level3-bg1, rgba(203, 202, 245, 0)) 100%);\n}\n.Inner .LevelInfo.Level4 .ElevateLevel .LevelName {\n box-shadow: -2px -2px 7px 0px var(--emw--elevate-color-level4button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emw--elevate-color-level4-bg0, #B1A2DB) 0%, var(--emw--elevate-color-level4-bg1, rgba(203, 202, 245, 0)) 100%);\n}\n.Inner .LevelInfo .ElevateLevel {\n display: flex;\n}\n.Inner .LevelInfo {\n flex: 1;\n flex-grow: 1;\n min-width: 150px;\n}\n.Inner .PlayerImg {\n width: 29%;\n margin: auto;\n max-width: 100px;\n min-width: 30px;\n order: 0;\n}\n.Inner .PlayerAvatar {\n max-width: 100px;\n flex-basis: 100px;\n height: auto;\n margin: auto;\n padding-top: 10px;\n}\n.Inner .PlayerAvatar .Avatar, .Inner .PlayerAvatar .Badge {\n width: 100%;\n height: 100%;\n}\n.Inner .PlayerAvatar .Avatar {\n border-radius: 50%;\n background-size: contain;\n background-repeat: no-repeat;\n}\n.Inner .ElevateLevel .ExpirationDate {\n max-width: 138px;\n min-width: 118px;\n}\n.Inner .PlayerName, .Inner .RedeemButton, .Inner .ElevateLevel {\n text-transform: capitalize;\n width: 100%;\n}\n.Inner .PlayerName {\n font-size: 16px;\n}\n.Inner .Row .PointsInfo {\n display: table;\n font-weight: 600;\n}\n.Inner .Row .Redeem {\n justify-content: flex-end;\n margin-left: auto;\n}\n.Inner .Row .Redeem:hover {\n color: var(--emw--elevate-color-redeem-hover, #00ABA4);\n cursor: pointer;\n}\n.Inner .Row .RedeemButton:hover span {\n color: var(emfe-w-elevate-color-redeem-text-hover, #f1f1f1);\n font-weight: bold;\n}\n.Inner .Row .RedeemButton {\n width: 95px;\n height: 35px;\n display: flex;\n align-items: center;\n border-radius: var(--emw--border-radius-medium, 10px);\n background: var(--emw--elevate-color-redeem-bg, linear-gradient(0deg, #26CC37, #26CC37)), linear-gradient(117.99deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.89%), linear-gradient(283.85deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.47%), linear-gradient(268.18deg, rgba(255, 255, 255, 0.6) -17.36%, rgba(239, 239, 239, 0) 15.78%);\n box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);\n}\n.Inner .Row .RedeemButton span {\n color: var(--emw--color-white, #fff);\n line-height: 18px;\n font-size: 15px;\n text-align: center;\n width: 100%;\n}\n.Inner .Row .Points {\n font-size: large;\n vertical-align: middle;\n}\n.Inner .Row .Points .XP {\n font-size: x-small;\n}\n.Inner .Row .ExpirationPoints {\n font-size: small;\n text-align: right;\n font-weight: bold;\n color: var(--emw--color-red, #9e595f);\n}';const S=class{constructor(e){t(this,e),this.isPointDetailCard="earningRule"===this.buttonType,this.endpoint=void 0,this.theme="Dark",this.session=void 0,this.playerAvatarUrl=void 0,this.language="en",this.mbSource=void 0,this.playerName=void 0,this.cardTitle=void 0,this.buttonType="earningRule",this.dateFormat="yyyy-MM-dd",this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.pointExpireString=void 0,this.playerElevateLevel=void 0,this.elevateWalletTotal=void 0,this.elevateSPTotal=void 0}onSessionOrEndpointChange(){this.paramProxy=Object.assign(Object.assign({},this.paramProxy),{session:this.session,endpoint:this.endpoint,language:this.language})}playerElevateLeveLoadedHandler(e){e.detail&&(e.detail.elevateLevelWalletTotal&&(this.elevateWalletTotal=e.detail.elevateLevelWalletTotal,this.elevateSPTotal=e.detail.loyaltyWalletTotal),e.detail.elevateLevel&&(this.playerElevateLevel=e.detail.elevateLevel),e.detail.pointExpireString&&(this.pointExpireString=e.detail.pointExpireString))}onDetailsClick(){window.postMessage({type:this.isPointDetailCard?"BEEPointRulesClicked":"BEEDetailsClicked",path:this.isPointDetailCard?"player-elevate-level":"player-elevate-point-details"},window.location.href)}componentWillLoad(){this.paramProxy={endpoint:this.endpoint,session:this.session,language:this.language}}render(){const t=a("../static/card-ground.svg"),n=a("../static/card-ground-over.svg");return e("div",{key:"45aa5be359b46d5503a8310daa4db2029a8c59b8",class:`ElevateCardWrapper ${this.theme}`},e("div",{key:"0d1773bd9eb0913ede4eeedfc93f22967aa133d6",class:"PointsCard Outer ",style:{backgroundImage:`url(${t}`}},e("general-styling-wrapper",{key:"cfb35c5220633e39e25b11f0be5b6fc5cc73df5c",clientStyling:this.clientStyling,clientStylingUrl:this.clientStylingUrl,targetTranslations:o,translationUrl:this.translationUrl,mbSource:this.mbSource}),e("player-elevate-card-data",{key:"25206c4deb6e51e3ea60259d4fee3452df8253d6",params:this.paramProxy}),e("div",{key:"c14ee3498a1a584b7f484fe2ef6a204c337d2b27",class:"OuterCover Inner",style:{backgroundImage:`url(${n}`}},e("div",{key:"dd7e0528034013d889f1f9bfbacf7928d2b4d1e9",class:"Content Row"},this.playerElevateLevel&&e(r,{key:"20b36f112f735446a6219b61e012e4568f199717"},e("div",{key:"3705136c1ee509484f43b7268b23cfbe273f727c",class:"PlayerImg"},e(g,{key:"b81cbcff0528acd3253a676e0a64141c6414fc2a",onlyBadge:!0,loyaltyIconUrl:this.playerElevateLevel.presentation.asset})),e("div",{key:"311b3ffcdf8a3ffe4b609fd0f1d9dee83424ca58",class:`LevelInfo ${this.playerElevateLevel.name}`},e("div",{key:"ba1744b3b9cee03a424093df96454ff68d04aec1",class:"PointsTxt Label"},this.cardTitle?this.cardTitle:l("spendablePoints",this.language)),e("div",{key:"6b554d17a0f74684e23549365fb06f6079ba7239",class:"PointsTxt SPPoints"},e(p,{key:"6c9f812eccea99cd94095c252ba552816f800447",spendablePoints:this.playerElevateLevel.spendablePoints,language:this.language}),e("a",{key:"eb79d25c2ccce8c542a192c1ca07265649dbd1bc",class:"TC",onClick:()=>{this.onDetailsClick()}},l("termAndConditions",this.language))),this.pointExpireString&&e("div",{key:"e64127c87c4c4a3e5253606e2c4c472e9b728103",class:"ExpirationPoints"},this.pointExpireString," ")))))))}static get watchers(){return{session:["onSessionOrEndpointChange"],endpoint:["onSessionOrEndpointChange"],language:["onSessionOrEndpointChange"]}}};S.style=":host{display:block}.PointsCard .Inner .Row .ExpirationPoints{text-align:left}.PointsCard .Inner .PlayerAvatar .Avatar{display:none}.PointsCard .Inner .PlayerAvatar .Badge{border-radius:50%;background-size:contain;width:100%;height:100%;position:inherit}.PointsCard .Inner .PointsTxt{display:flex;flex-direction:row;justify-content:space-between}.PointsCard .Inner .DetailButton{background:linear-gradient(283.85deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.47%), linear-gradient(117.99deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 33.89%), linear-gradient(268.18deg, rgba(255, 255, 255, 0.6) -17.36%, rgba(239, 239, 239, 0) 15.78%), linear-gradient(0deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));border-radius:5px;box-shadow:0px 4px 4px 0px rgba(0, 0, 0, 0.25);border:2px solid;font-size:11px;width:108px;padding:4px;cursor:pointer;margin-top:5px;height:16px;min-width:45px;text-align:center}.PointsCard .Inner .DetailButton span{color:var(--emw--color-gray-150, #6D6D6D)}.PointsCard .Inner .DetailButton span{display:inline-block;vertical-align:middle}.PointsCard .Inner .DetailButton:hover span{color:var(--emw--color-gray-150, #6D6D6D)}.PointsCard .Inner .LevelInfo{gap:15px;width:70%}.PointsCard .Inner .LevelInfo .PointsTxt{font-size:15px}.PointsCard .Inner .LevelInfo .PointsTxt.Label{display:none}.PointsCard .Inner .LevelInfo .PointsTxt.SPPoints{padding-top:15px}.PointsCard .Inner .LevelInfo .PointsTxt .TC{font-size:x-small;color:var(--emw--color-gray-300, #58586B);display:flex;align-content:center;height:100%;flex-wrap:wrap;text-decoration:underline;cursor:pointer;display:none}";export{u as bonus_elevate_shop,y as bonus_pagination_nav,I as general_styling_wrapper,D as player_elevate_card_data,S as player_elevate_pointcard}
@@ -480,6 +480,8 @@ const mergeTranslations = (url, target) => {
480
480
  });
481
481
  };
482
482
 
483
+ const StyleCacheKey = '__WIDGET_GLOBAL_STYLE_CACHE__';
484
+
483
485
  /**
484
486
  * @name setClientStyling
485
487
  * @description Method used to create and append to the passed element of the widget a style element with the content received
@@ -525,18 +527,75 @@ function setClientStylingURL(stylingContainer, clientStylingUrl) {
525
527
  * @param {HTMLElement} stylingContainer The highest element of the widget
526
528
  * @param {string} domain The domain from where the content should be fetched (e.g. 'Casino.Style', 'App.Style', 'casino-footer.style', etc.)
527
529
  * @param {ref} subscription A reference to a variable where the subscription should be saved for unsubscribing when no longer needed
530
+ * @param {boolean} useAdoptedStyleSheets A flag to gradually enable testing of adoptedStyleSheets
528
531
  */
529
- function setStreamStyling(stylingContainer, domain, subscription) {
530
- if (window.emMessageBus) {
531
- const sheet = document.createElement('style');
532
+ function setStreamStyling(stylingContainer, domain, subscription, useAdoptedStyleSheets = false) {
533
+ if (!window.emMessageBus) return;
532
534
 
533
- window.emMessageBus.subscribe(domain, (data) => {
534
- sheet.innerHTML = data;
535
- if (stylingContainer) {
536
- stylingContainer.appendChild(sheet);
537
- }
538
- });
535
+ const supportAdoptStyle = 'adoptedStyleSheets' in Document.prototype;
536
+
537
+ if (!supportAdoptStyle || !useAdoptedStyleSheets) {
538
+ subscription = getStyleTagSubscription(stylingContainer, domain);
539
+
540
+ return subscription;
541
+ }
542
+
543
+ if (!window[StyleCacheKey]) {
544
+ window[StyleCacheKey] = {};
539
545
  }
546
+ subscription = getAdoptStyleSubscription(stylingContainer, domain);
547
+
548
+ const originalUnsubscribe = subscription.unsubscribe.bind(subscription);
549
+ const wrappedUnsubscribe = () => {
550
+ if (window[StyleCacheKey][domain]) {
551
+ const cachedObject = window[StyleCacheKey][domain];
552
+ cachedObject.refCount > 1
553
+ ? (cachedObject.refCount = cachedObject.refCount - 1)
554
+ : delete window[StyleCacheKey][domain];
555
+ }
556
+
557
+ originalUnsubscribe();
558
+ };
559
+ subscription.unsubscribe = wrappedUnsubscribe;
560
+
561
+ return subscription;
562
+ }
563
+
564
+ function getStyleTagSubscription(stylingContainer, domain) {
565
+ const sheet = document.createElement('style');
566
+
567
+ return window.emMessageBus.subscribe(domain, (data) => {
568
+ if (stylingContainer) {
569
+ sheet.innerHTML = data;
570
+ stylingContainer.appendChild(sheet);
571
+ }
572
+ });
573
+ }
574
+
575
+ function getAdoptStyleSubscription(stylingContainer, domain) {
576
+ return window.emMessageBus.subscribe(domain, (data) => {
577
+ if (!stylingContainer) return;
578
+
579
+ const shadowRoot = stylingContainer.getRootNode();
580
+ const cacheStyleObject = window[StyleCacheKey];
581
+ let cachedStyle = cacheStyleObject[domain]?.sheet;
582
+
583
+ if (!cachedStyle) {
584
+ cachedStyle = new CSSStyleSheet();
585
+ cachedStyle.replaceSync(data);
586
+ cacheStyleObject[domain] = {
587
+ sheet: cachedStyle,
588
+ refCount: 1
589
+ };
590
+ } else {
591
+ cacheStyleObject[domain].refCount = cacheStyleObject[domain].refCount + 1;
592
+ }
593
+
594
+ const currentSheets = shadowRoot.adoptedStyleSheets || [];
595
+ if (!currentSheets.includes(cachedStyle)) {
596
+ shadowRoot.adoptedStyleSheets = [...currentSheets, cachedStyle];
597
+ }
598
+ });
540
599
  }
541
600
 
542
601
  const generalStylingWrapperCss = ":host{display:block}";
@@ -555,7 +614,7 @@ const GeneralStylingWrapper = class {
555
614
  componentDidLoad() {
556
615
  if (this.el) {
557
616
  if (window.emMessageBus != undefined) {
558
- setStreamStyling(this.el, `${this.mbSource}.Style`);
617
+ setStreamStyling(this.el, `${this.mbSource}.Style`, this.stylingSubscription);
559
618
  }
560
619
  else {
561
620
  if (this.clientStyling)
@@ -476,6 +476,8 @@ const mergeTranslations = (url, target) => {
476
476
  });
477
477
  };
478
478
 
479
+ const StyleCacheKey = '__WIDGET_GLOBAL_STYLE_CACHE__';
480
+
479
481
  /**
480
482
  * @name setClientStyling
481
483
  * @description Method used to create and append to the passed element of the widget a style element with the content received
@@ -521,18 +523,75 @@ function setClientStylingURL(stylingContainer, clientStylingUrl) {
521
523
  * @param {HTMLElement} stylingContainer The highest element of the widget
522
524
  * @param {string} domain The domain from where the content should be fetched (e.g. 'Casino.Style', 'App.Style', 'casino-footer.style', etc.)
523
525
  * @param {ref} subscription A reference to a variable where the subscription should be saved for unsubscribing when no longer needed
526
+ * @param {boolean} useAdoptedStyleSheets A flag to gradually enable testing of adoptedStyleSheets
524
527
  */
525
- function setStreamStyling(stylingContainer, domain, subscription) {
526
- if (window.emMessageBus) {
527
- const sheet = document.createElement('style');
528
+ function setStreamStyling(stylingContainer, domain, subscription, useAdoptedStyleSheets = false) {
529
+ if (!window.emMessageBus) return;
528
530
 
529
- window.emMessageBus.subscribe(domain, (data) => {
530
- sheet.innerHTML = data;
531
- if (stylingContainer) {
532
- stylingContainer.appendChild(sheet);
533
- }
534
- });
531
+ const supportAdoptStyle = 'adoptedStyleSheets' in Document.prototype;
532
+
533
+ if (!supportAdoptStyle || !useAdoptedStyleSheets) {
534
+ subscription = getStyleTagSubscription(stylingContainer, domain);
535
+
536
+ return subscription;
537
+ }
538
+
539
+ if (!window[StyleCacheKey]) {
540
+ window[StyleCacheKey] = {};
535
541
  }
542
+ subscription = getAdoptStyleSubscription(stylingContainer, domain);
543
+
544
+ const originalUnsubscribe = subscription.unsubscribe.bind(subscription);
545
+ const wrappedUnsubscribe = () => {
546
+ if (window[StyleCacheKey][domain]) {
547
+ const cachedObject = window[StyleCacheKey][domain];
548
+ cachedObject.refCount > 1
549
+ ? (cachedObject.refCount = cachedObject.refCount - 1)
550
+ : delete window[StyleCacheKey][domain];
551
+ }
552
+
553
+ originalUnsubscribe();
554
+ };
555
+ subscription.unsubscribe = wrappedUnsubscribe;
556
+
557
+ return subscription;
558
+ }
559
+
560
+ function getStyleTagSubscription(stylingContainer, domain) {
561
+ const sheet = document.createElement('style');
562
+
563
+ return window.emMessageBus.subscribe(domain, (data) => {
564
+ if (stylingContainer) {
565
+ sheet.innerHTML = data;
566
+ stylingContainer.appendChild(sheet);
567
+ }
568
+ });
569
+ }
570
+
571
+ function getAdoptStyleSubscription(stylingContainer, domain) {
572
+ return window.emMessageBus.subscribe(domain, (data) => {
573
+ if (!stylingContainer) return;
574
+
575
+ const shadowRoot = stylingContainer.getRootNode();
576
+ const cacheStyleObject = window[StyleCacheKey];
577
+ let cachedStyle = cacheStyleObject[domain]?.sheet;
578
+
579
+ if (!cachedStyle) {
580
+ cachedStyle = new CSSStyleSheet();
581
+ cachedStyle.replaceSync(data);
582
+ cacheStyleObject[domain] = {
583
+ sheet: cachedStyle,
584
+ refCount: 1
585
+ };
586
+ } else {
587
+ cacheStyleObject[domain].refCount = cacheStyleObject[domain].refCount + 1;
588
+ }
589
+
590
+ const currentSheets = shadowRoot.adoptedStyleSheets || [];
591
+ if (!currentSheets.includes(cachedStyle)) {
592
+ shadowRoot.adoptedStyleSheets = [...currentSheets, cachedStyle];
593
+ }
594
+ });
536
595
  }
537
596
 
538
597
  const generalStylingWrapperCss = ":host{display:block}";
@@ -551,7 +610,7 @@ const GeneralStylingWrapper = class {
551
610
  componentDidLoad() {
552
611
  if (this.el) {
553
612
  if (window.emMessageBus != undefined) {
554
- setStreamStyling(this.el, `${this.mbSource}.Style`);
613
+ setStreamStyling(this.el, `${this.mbSource}.Style`, this.stylingSubscription);
555
614
  }
556
615
  else {
557
616
  if (this.clientStyling)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/bonus-elevate-shop",
3
- "version": "1.87.26",
3
+ "version": "1.87.28",
4
4
  "main": "./dist/index.cjs.js",
5
5
  "module": "./dist/index.js",
6
6
  "es2015": "./dist/esm/index.mjs",