@everymatrix/gamification-dropdown 1.40.2 → 1.40.3

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.
@@ -101,7 +101,8 @@ const GamificationDropdown = class {
101
101
  });
102
102
  };
103
103
  this.handleOutsideClick = (event) => {
104
- if (!this.el.contains(event.target)) {
104
+ const path = event.composedPath();
105
+ if (!path.includes(this.el)) {
105
106
  this.isOpen = false;
106
107
  document.removeEventListener('click', this.handleOutsideClick);
107
108
  }
@@ -45,7 +45,8 @@ export class GamificationDropdown {
45
45
  });
46
46
  };
47
47
  this.handleOutsideClick = (event) => {
48
- if (!this.el.contains(event.target)) {
48
+ const path = event.composedPath();
49
+ if (!path.includes(this.el)) {
49
50
  this.isOpen = false;
50
51
  document.removeEventListener('click', this.handleOutsideClick);
51
52
  }
@@ -101,7 +101,8 @@ const GamificationDropdown$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
101
101
  });
102
102
  };
103
103
  this.handleOutsideClick = (event) => {
104
- if (!this.el.contains(event.target)) {
104
+ const path = event.composedPath();
105
+ if (!path.includes(this.el)) {
105
106
  this.isOpen = false;
106
107
  document.removeEventListener('click', this.handleOutsideClick);
107
108
  }
@@ -97,7 +97,8 @@ const GamificationDropdown = class {
97
97
  });
98
98
  };
99
99
  this.handleOutsideClick = (event) => {
100
- if (!this.el.contains(event.target)) {
100
+ const path = event.composedPath();
101
+ if (!path.includes(this.el)) {
101
102
  this.isOpen = false;
102
103
  document.removeEventListener('click', this.handleOutsideClick);
103
104
  }
@@ -1 +1 @@
1
- import{p as e,b as l}from"./p-1bea1936.js";(()=>{const l=import.meta.url,a={};return""!==l&&(a.resourcesUrl=new URL(".",l).href),e(a)})().then((e=>l([["p-3115c6e5",[[1,"gamification-dropdown",{endpoint:[513],language:[513],session:[513],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],translationUrl:[513,"translation-url"],isOpen:[32],isLoading:[32],stylingAppends:[32],loyaltyPoints:[32]}],[1,"player-elevate-loyaltycard",{endpoint:[513],theme:[513],session:[513],playerAvatarUrl:[513,"player-avatar-url"],language:[513],playerName:[513,"player-name"],dateFormat:[513,"date-format"],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],translationUrl:[513,"translation-url"],pointExpireString:[32],playerElevateLevel:[32],elevateWalletTotal:[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]]],[4,"general-styling-wrapper",{clientStyling:[1,"client-styling"],clientStylingUrl:[1,"client-styling-url"],translationUrl:[1,"translation-url"],targetTranslations:[16]}],[0,"player-elevate-card-data",{params:[8],playerElevateLevel:[32],pointExpireString:[32]},[[9,"resize","handleWindowResizs"]]]]],["p-3440095c",[[1,"player-elevate-card",{endpoint:[513],theme:[513],session:[513],playerAvatarUrl:[513,"player-avatar-url"],language:[513],playerName:[513,"player-name"],dateFormat:[513,"date-format"],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],translationUrl:[513,"translation-url"],pointExpireString:[32],playerLevelFlag:[32],playerElevateLevel:[32],elevateWalletTotal:[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]]]]],["p-0296e4e5",[[1,"player-elevate-pointcard",{endpoint:[513],theme:[513],session:[513],playerAvatarUrl:[513,"player-avatar-url"],language:[513],playerName:[513,"player-name"],cardTitle:[513,"card-title"],buttonType:[513,"button-type"],dateFormat:[513,"date-format"],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],translationUrl:[513,"translation-url"],pointExpireString:[32],playerElevateLevel:[32],elevateWalletTotal:[32],elevateSPTotal:[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]]]]]],e)));
1
+ import{p as e,b as l}from"./p-1bea1936.js";(()=>{const l=import.meta.url,a={};return""!==l&&(a.resourcesUrl=new URL(".",l).href),e(a)})().then((e=>l([["p-d95f8a76",[[1,"gamification-dropdown",{endpoint:[513],language:[513],session:[513],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],translationUrl:[513,"translation-url"],isOpen:[32],isLoading:[32],stylingAppends:[32],loyaltyPoints:[32]}],[1,"player-elevate-loyaltycard",{endpoint:[513],theme:[513],session:[513],playerAvatarUrl:[513,"player-avatar-url"],language:[513],playerName:[513,"player-name"],dateFormat:[513,"date-format"],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],translationUrl:[513,"translation-url"],pointExpireString:[32],playerElevateLevel:[32],elevateWalletTotal:[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]]],[4,"general-styling-wrapper",{clientStyling:[1,"client-styling"],clientStylingUrl:[1,"client-styling-url"],translationUrl:[1,"translation-url"],targetTranslations:[16]}],[0,"player-elevate-card-data",{params:[8],playerElevateLevel:[32],pointExpireString:[32]},[[9,"resize","handleWindowResizs"]]]]],["p-3440095c",[[1,"player-elevate-card",{endpoint:[513],theme:[513],session:[513],playerAvatarUrl:[513,"player-avatar-url"],language:[513],playerName:[513,"player-name"],dateFormat:[513,"date-format"],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],translationUrl:[513,"translation-url"],pointExpireString:[32],playerLevelFlag:[32],playerElevateLevel:[32],elevateWalletTotal:[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]]]]],["p-0296e4e5",[[1,"player-elevate-pointcard",{endpoint:[513],theme:[513],session:[513],playerAvatarUrl:[513,"player-avatar-url"],language:[513],playerName:[513,"player-name"],cardTitle:[513,"card-title"],buttonType:[513,"button-type"],dateFormat:[513,"date-format"],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],translationUrl:[513,"translation-url"],pointExpireString:[32],playerElevateLevel:[32],elevateWalletTotal:[32],elevateSPTotal:[32]},[[0,"playerElevateLeveLoaded","playerElevateLeveLoadedHandler"]]]]]],e)));
@@ -0,0 +1 @@
1
+ import{r as e,h as n,g as t,c as i,a as o,F as a}from"./p-1bea1936.js";import{r,t as l,g as s,a as h,T as d,P as c,b as v,c as p,d as g}from"./p-e734000d.js";const f=["de","en","hr"];let m={en:{gamificationNoPoints:"No points"},de:{gamificationNoPoints:"No points"},ro:{gamificationNoPoints:"No points"},fr:{gamificationNoPoints:"No points"},ar:{gamificationNoPoints:"No points"},hr:{gamificationNoPoints:"No points"}};const w=e=>new Promise((n=>{fetch(e).then((e=>e.json())).then((e=>{Object.keys(e).forEach((n=>{for(let t in e[n])m[n][t]=e[n][t]})),n(!0)}))})),x=(e,n,t)=>{const i=n;let o=m[void 0!==i&&f.includes(i)?i:"en"][e];if(void 0!==t)for(const[e,n]of Object.entries(t.values)){const t=new RegExp(`{${e}}`,"g");o=o.replace(t,n)}return o},u=class{constructor(n){e(this,n),this.language="en",this.session="",this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.isOpen=!1,this.isLoading=!1,this.stylingAppends=!1,this.setClientStyling=()=>{let e=document.createElement("style");e.innerHTML=this.clientStyling,this.stylingContainer.prepend(e)},this.setClientStylingURL=()=>{let e=new URL(this.clientStylingUrl),n=document.createElement("style");fetch(e.href).then((e=>e.text())).then((e=>{n.innerHTML=e,setTimeout((()=>{this.stylingContainer.prepend(n)}),1)})).catch((e=>{console.log("error ",e)}))},this.handleOutsideClick=e=>{e.composedPath().includes(this.el)||(this.isOpen=!1,document.removeEventListener("click",this.handleOutsideClick))},this.handleDropdownClick=e=>{e.stopPropagation(),this.isOpen=!this.isOpen,this.isOpen?document.addEventListener("click",this.handleOutsideClick):document.removeEventListener("click",this.handleOutsideClick)}}handleNewTranslations(){this.isLoading=!0,w(this.translationUrl).then((()=>{this.isLoading=!1}))}async componentWillLoad(){if(this.translationUrl.length>2&&await w(this.translationUrl),this.endpoint&&this.language)return this.fetchPointsData()}componentDidRender(){!this.stylingAppends&&this.stylingContainer&&(this.clientStyling&&this.setClientStyling(),this.clientStylingUrl&&this.setClientStylingURL(),this.stylingAppends=!0)}fetchPointsData(){let e=new URL(`${this.endpoint}/v1/elevate/playerInfo`);e.searchParams.append("language",this.language);const n=new Headers;n.append("X-SessionId",this.session);const t={method:"GET",headers:n};return new Promise(((n,i)=>{this.isLoading=!0,fetch(e.href,t).then((e=>e.json())).then((e=>{var t,i;this.loyaltyPoints=null===(i=null===(t=null==e?void 0:e.data)||void 0===t?void 0:t.level)||void 0===i?void 0:i.loyaltyPoints,n(!0)})).catch((e=>{console.error(e),i(e)})).finally((()=>{this.isLoading=!1}))}))}render(){return this.isLoading?null:n("div",{ref:e=>this.stylingContainer=e,class:"GamificationDropdownContainer"},n("button",{class:"GamificationDropdownButton "+(this.isOpen?"IsOpen":""),type:"button",onClick:e=>this.handleDropdownClick(e),title:"number"==typeof this.loyaltyPoints?String(this.loyaltyPoints):x("gamificationNoPoints",this.language)},"number"==typeof this.loyaltyPoints?`${Math.floor(this.loyaltyPoints)} XP`:"...",n("span",{class:this.isOpen?"TriangleActive":"TriangleInactive"},n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"6.835",viewBox:"0 0 14 6.835"},n("path",{id:"arrow",d:"M281.541,447.921a.488.488,0,0,0,.295-.122l6.5-5.851a.488.488,0,1,0-.65-.726l-6.176,5.556-6.176-5.556h0a.488.488,0,1,0-.65.726l6.5,5.851a.488.488,0,0,0,.355.122Z",transform:"translate(-274.511 -441.088)"})))),this.isOpen&&n("div",{class:"GamificationDropdown"},n("player-elevate-loyaltycard",{endpoint:this.endpoint,session:this.session,language:this.language,"client-styling-url":this.clientStylingUrl,"client-styling":this.clientStyling})))}get el(){return t(this)}static get watchers(){return{translationUrl:["handleNewTranslations"]}}};u.style=":host{display:block}.GamificationDropdownContainer{position:relative}.GamificationDropdownContainer .GamificationDropdown{position:absolute;left:0;z-index:999;overflow:hidden}.GamificationDropdownButton{cursor:pointer;font-size:14px;height:20px;background-color:unset;color:var(--emw--color-typography, #FFFFFF);padding:0;border:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center;line-height:0}.GamificationDropdownButton:hover{color:var(--emw--color-primary, #52d004)}.GamificationDropdownButton:hover svg{fill:var(--emw--color-primary, #52d004)}.GamificationDropdownButton.IsOpen{color:var(--emw--color-primary, #52d004)}.GamificationDropdownButton.IsOpen svg{fill:var(--emw--color-primary, #52d004)}.GamificationDropdownButton .TriangleActive,.GamificationDropdownButton .TriangleInactive{display:block;transition:all 0.2s}.GamificationDropdownButton .TriangleActive{transform:scale(1.1) rotateX(180deg) translateY(3px);fill:var(--emw--color-primary, #52d004);margin-top:4px}.GamificationDropdownButton svg{fill:var(--emw--color-typography, #FFFFFF);margin-left:8px;width:16px}";const y=class{constructor(n){e(this,n),this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.stylingAppends=!1,this.setClientStyling=()=>{let e=document.createElement("style");e.innerHTML=this.clientStyling,this.el.prepend(e)},this.setClientStylingURL=()=>{let e=new URL(this.clientStylingUrl),n=document.createElement("style");fetch(e.href).then((e=>e.text())).then((e=>{n.innerHTML=e,setTimeout((()=>{this.el.prepend(n)}),1)})).catch((e=>{console.log("error ",e)}))}}componentDidRender(){this.stylingAppends||(this.clientStyling&&this.setClientStyling(),this.clientStylingUrl&&this.setClientStylingURL(),this.stylingAppends=!0)}async componentWillLoad(){const e=[];if(this.translationUrl){const i=(n=this.translationUrl,t=this.targetTranslations,new Promise((e=>{fetch(n).then((e=>e.json())).then((n=>{Object.keys(n).forEach((e=>{t[e]=t[e]?t[e]:{};for(let i in n[e])t[e][i]=n[e][i]})),e(!0)}))})));e.push(i)}var n,t;return await Promise.all(e)}render(){return n("div",{class:"StyleShell"},n("slot",{name:"mainContent"}))}get el(){return t(this)}};function b(e){r(1,arguments);var n=l(e);return n.setHours(0,0,0,0),n}function L(e,n){return r(2,arguments),l(e).getTime()-l(n).getTime()}y.style=":host{display:block}";var I={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}};function E(e){return e?I[e]:I.trunc}const C=class{constructor(n){e(this,n),this.playerElevateLeveLoaded=i(this,"playerElevateLeveLoaded",7)}handleWindowResizs(){this.initLevelProgressbar()}onParamsChanged(){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(((n,t)=>fetch(e.href,{method:"GET"}).then((e=>e.json())).then((e=>{this.levels=e.data,n(!0)})).catch((e=>{t(e)}))))}calcuatePointsToBeExpired(e){let n="";if(!e||!e.aboutToExpire||0==e.aboutToExpire.length||e.aboutToExpire[0].points<=0)return n;e.aboutToExpire.sort(((e,n)=>function(e,n){r(2,arguments);var t=l(e),i=l(n);return t.getTime()<i.getTime()}(new Date(e.expireTime),new Date(n.expireTime))?-1:1));const t=e.aboutToExpire[0],i=function(e,n){r(2,arguments);var t=b(e),i=b(n),o=t.getTime()-s(t),a=i.getTime()-s(i);return Math.round((o-a)/864e5)}(new Date(t.expireTime),new Date);let o=0,a=0===i?"pointsToBeExpiredDay":"pointsToBeExpired";return 0==i&&(o=function(e,n,t){r(2,arguments);var i=L(e,n)/36e5;return E(null==t?void 0:t.roundingMethod)(i)}(new Date(t.expireTime),new Date),a=o>1?"pointsToBeExpiredHours":"pointsToBeExpiredHour"),n=h(a,{expirationPoints:t.points,expireDay:i}),n}loadPlayerLevelInfo(){let e=new URL(`${this.params.endpoint}/v1/elevate/playerInfo?language=${this.params.language}`);return new Promise(((n,t)=>fetch(e.href,{method:"GET",headers:{"X-Sessionid":this.params.session,"Content-Type":"application/json"}}).then((e=>e.json())).then((e=>{var i,o,a;if(!e.success)return console.error("Exception when fetch user elevateinfo, ",e.errorCode,e.errorMessage),void t(!0);let r=e.data;this.playerElevateLevel=r.level,this.playerElevateLevel.name=this.playerElevateLevel.presentation.displayName||this.playerElevateLevel.name,this.playerElevateLevel.spendablePoints=(null===(i=r.spendableWallet)||void 0===i?void 0:i.total.points)||0,this.playerElevateLeveLoaded.emit({elevateLevel:this.playerElevateLevel});const l=null===(o=e.data.spendableWallet)||void 0===o?void 0:o.total,s=null===(a=e.data.loyaltyWallet)||void 0===a?void 0:a.total;this.playerElevateLeveLoaded.emit({elevateLevelWalletTotal:l,loyaltyWalletTotal:s});let h=this.calcuatePointsToBeExpired(l),d=this.calcuatePointsToBeExpired(s);(h||d)&&this.playerElevateLeveLoaded.emit({pointExpireString:h,xpExpireString:d}),n(this.playerElevateLevel)})).catch((e=>{console.log("error ",e),t(!0)}))))}setLoyaltyProgress(e){!function(e,n){const t=e.querySelector("#total_level"),i=t.getBBox().width,o=n>1?1:n,a=o*i-17<0?0:o*i-17,r=e.querySelector("#current_level"),l=e.querySelector("#filter_current_level"),s=e.querySelector("#circle_current_level");t.setAttribute("viewbox",`0 0 ${a} 28`),r.setAttribute("width",`${a}`),s.setAttribute("cx",`${a<6.5?6.5:a}`),l.setAttribute("x",""+(a-8));const h=e.querySelector("#lock"),d=e.querySelector("#filter_heart_ball"),c=e.querySelector("#filter_ball"),v=e.querySelector("#filter_heart"),p=e.querySelector("#filter_lock"),g=e.querySelector("#paint0_linear_ball"),f=e.querySelector("#paint1_linear_lock"),m=e.querySelector("#lock_box"),w=e.querySelector("#heart_box"),x=i-10;h.setAttribute("cx",`${x}`),f.setAttribute("x1",`${x}`),f.setAttribute("x2",`${x}`),g.setAttribute("x1",""+(x-6)),g.setAttribute("x2",""+(x-6+11.2)),p.setAttribute("x",""+(x-6)),v.setAttribute("x",""+(x-6-2)),c.setAttribute("x",""+(x-6-2-2)),d.setAttribute("x",""+(x-6-2-2-4)),m.setAttribute("x",""+(x-6)),w.setAttribute("x",""+(x-6)),t.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,n)=>e.firstEntryPoints>n.firstEntryPoints?1:-1));const n=this.playerElevateLevel.loyaltyPoints;let t=0;this.levels.forEach(((e,i)=>{n>e.firstEntryPoints&&(t=i)})),this.playerElevateLeveLoaded.emit({calculatedLevelFlag:t})}))}componentWillLoad(){this.loadElevateInfo()}get elevateCardRef(){return t(this)}static get watchers(){return{params:["onParamsChanged"]}}};C.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(--emfe-w-color-gray150, #efefef);\n}\n\n.Light {\n color: var(--emfe-w-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(--emfe-w-elevate-color-level0button-shadow, rgba(191, 84, 6, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level0-bg0, #E2792C) 0%, var(--emfe-w-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(--emfe-w-elevate-color-level1button-shadow, rgba(151, 151, 151, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level1-bg0, #BEBFED) 0%, var(--emfe-w-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(--emfe-w-elevate-color-level2button-shadow, rgba(191, 120, 6, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level2-bg0, #FCC410) 0%, var(--emfe-w-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(--emfe-w-elevate-color-level3button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level3-bg0, #B1A2DB) 0%, var(--emfe-w-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(--emfe-w-elevate-color-level4button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level4-bg0, #B1A2DB) 0%, var(--emfe-w-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(--emfe-w-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: 10px;\n background: var(--emfe-w-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 #00000040;\n}\n.Inner .Row .RedeemButton span {\n color: var(--emfe-w-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(--emfe-w-color-red, #9e595f);\n}';const P=class{constructor(n){e(this,n),this.theme="Dark",this.language="en",this.dateFormat="yyyy-MM-dd",this.clientStyling="",this.clientStylingUrl="",this.translationUrl=""}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),e.detail.elevateLevel&&(this.playerElevateLevel=e.detail.elevateLevel),e.detail.pointExpireString&&(this.pointExpireString=e.detail.xpExpireString))}onRedeemClick(){window.postMessage({type:"BEERedeemClicked"},window.location.href)}componentWillLoad(){this.paramProxy={endpoint:this.endpoint,session:this.session,language:this.language}}getNextLevelTips(){var e;let n=null===(e=this.playerElevateLevel)||void 0===e?void 0:e.nextLevel;if(this.playerElevateLevel&&n){const e=(n.entryPoints-this.playerElevateLevel.loyaltyPoints).toFixed(2);return h("tipsForNextLevel",{pointsToReach:e,levelName:n.name})}return""}render(){const e=o("../static/card-ground.svg"),t=o("../static/card-ground-over.svg");return n("div",{class:`ElevateCardWrapper ${this.theme}`},n("div",{class:"LoyaltyCard Outer",style:{backgroundImage:`url(${e}`}},n("general-styling-wrapper",{clientStyling:this.clientStyling,clientStylingUrl:this.clientStylingUrl,targetTranslations:d,translationUrl:this.translationUrl}),n("player-elevate-card-data",{params:this.paramProxy}),n("div",{class:"OuterCover Inner",style:{backgroundImage:`url(${t}`}},n("div",{class:"Content Row"},this.playerElevateLevel&&n(a,null,n("div",{class:"PlayerImg"},n(c,{onlyBadge:!0,loyaltyIconUrl:this.playerElevateLevel.presentation.asset})),n("div",{class:`LevelInfo ${this.playerElevateLevel.name}`},n(v,{hideInfo:!0,level:this.playerElevateLevel.name,expireTime:this.playerElevateLevel.expireTime,dateFormat:this.dateFormat}),n(p,{loyaltyPoints:this.playerElevateLevel.loyaltyPoints,language:this.language}),this.pointExpireString&&n("div",{class:"PointsInfo ExpirationPoints"},this.pointExpireString," "),n(g,null),n("div",{class:"NextLevelTip"},this.getNextLevelTips())))))))}static get watchers(){return{session:["onSessionOrEndpointChange"],endpoint:["onSessionOrEndpointChange"],language:["onSessionOrEndpointChange"]}}};P.style=":host{display:block}@media screen and (min-width: 501px){.LoyaltyCard .Inner .LevelInfo .ElevateLevel{flex-wrap:nowrap}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate{padding-top:11px;margin-left:5px}}@media screen and (max-width: 500px){.LoyaltyCard .Inner .LevelInfo .ElevateLevel{flex-wrap:wrap}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate{padding-top:0px;margin-left:0px}}.LoyaltyCard .Inner .LevelProgress{margin-left:0px}.LoyaltyCard .Inner .Row .PointsInfo{width:100%}.LoyaltyCard .Inner .Row .PointsInfo.ExpirationPoints{text-align:left;color:var(--emfe-w-color-red-50, red)}.LoyaltyCard .Inner .PlayerAvatar .Avatar{display:none}.LoyaltyCard .Inner .PlayerAvatar .Badge{border-radius:50%;background-size:contain;width:100%;height:100%}.LoyaltyCard .Inner .LevelInfo .ElevateLevel{display:flex;flex:1;align-items:center}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate{position:relative;padding-left:5px}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate .ExpireTime{margin-left:5px}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .LevelName{padding-left:0;font-size:var(--emfe-w-elevate-fontsize-2xlarge, 21px);position:relative;width:auto;color:var(--emfe-w-elevate-color-levelname, #FFBD2B);font-weight:bold}.LoyaltyCard .NextLevelTip{text-align:right;font-size:11px;color:var(--emfe-w-color-black, #000);opacity:0.8;font-weight:bold}";export{u as gamification_dropdown,y as general_styling_wrapper,C as player_elevate_card_data,P as player_elevate_loyaltycard}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/gamification-dropdown",
3
- "version": "1.40.2",
3
+ "version": "1.40.3",
4
4
  "main": "./dist/index.cjs.js",
5
5
  "module": "./dist/index.js",
6
6
  "es2015": "./dist/esm/index.mjs",
@@ -1 +0,0 @@
1
- import{r as e,h as n,g as t,c as i,a as o,F as a}from"./p-1bea1936.js";import{r,t as l,g as s,a as h,T as d,P as c,b as v,c as p,d as g}from"./p-e734000d.js";const f=["de","en","hr"];let m={en:{gamificationNoPoints:"No points"},de:{gamificationNoPoints:"No points"},ro:{gamificationNoPoints:"No points"},fr:{gamificationNoPoints:"No points"},ar:{gamificationNoPoints:"No points"},hr:{gamificationNoPoints:"No points"}};const w=e=>new Promise((n=>{fetch(e).then((e=>e.json())).then((e=>{Object.keys(e).forEach((n=>{for(let t in e[n])m[n][t]=e[n][t]})),n(!0)}))})),x=(e,n,t)=>{const i=n;let o=m[void 0!==i&&f.includes(i)?i:"en"][e];if(void 0!==t)for(const[e,n]of Object.entries(t.values)){const t=new RegExp(`{${e}}`,"g");o=o.replace(t,n)}return o},u=class{constructor(n){e(this,n),this.language="en",this.session="",this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.isOpen=!1,this.isLoading=!1,this.stylingAppends=!1,this.setClientStyling=()=>{let e=document.createElement("style");e.innerHTML=this.clientStyling,this.stylingContainer.prepend(e)},this.setClientStylingURL=()=>{let e=new URL(this.clientStylingUrl),n=document.createElement("style");fetch(e.href).then((e=>e.text())).then((e=>{n.innerHTML=e,setTimeout((()=>{this.stylingContainer.prepend(n)}),1)})).catch((e=>{console.log("error ",e)}))},this.handleOutsideClick=e=>{this.el.contains(e.target)||(this.isOpen=!1,document.removeEventListener("click",this.handleOutsideClick))},this.handleDropdownClick=e=>{e.stopPropagation(),this.isOpen=!this.isOpen,this.isOpen?document.addEventListener("click",this.handleOutsideClick):document.removeEventListener("click",this.handleOutsideClick)}}handleNewTranslations(){this.isLoading=!0,w(this.translationUrl).then((()=>{this.isLoading=!1}))}async componentWillLoad(){if(this.translationUrl.length>2&&await w(this.translationUrl),this.endpoint&&this.language)return this.fetchPointsData()}componentDidRender(){!this.stylingAppends&&this.stylingContainer&&(this.clientStyling&&this.setClientStyling(),this.clientStylingUrl&&this.setClientStylingURL(),this.stylingAppends=!0)}fetchPointsData(){let e=new URL(`${this.endpoint}/v1/elevate/playerInfo`);e.searchParams.append("language",this.language);const n=new Headers;n.append("X-SessionId",this.session);const t={method:"GET",headers:n};return new Promise(((n,i)=>{this.isLoading=!0,fetch(e.href,t).then((e=>e.json())).then((e=>{var t,i;this.loyaltyPoints=null===(i=null===(t=null==e?void 0:e.data)||void 0===t?void 0:t.level)||void 0===i?void 0:i.loyaltyPoints,n(!0)})).catch((e=>{console.error(e),i(e)})).finally((()=>{this.isLoading=!1}))}))}render(){return this.isLoading?null:n("div",{ref:e=>this.stylingContainer=e,class:"GamificationDropdownContainer"},n("button",{class:"GamificationDropdownButton "+(this.isOpen?"IsOpen":""),type:"button",onClick:e=>this.handleDropdownClick(e),title:"number"==typeof this.loyaltyPoints?String(this.loyaltyPoints):x("gamificationNoPoints",this.language)},"number"==typeof this.loyaltyPoints?`${Math.floor(this.loyaltyPoints)} XP`:"...",n("span",{class:this.isOpen?"TriangleActive":"TriangleInactive"},n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"6.835",viewBox:"0 0 14 6.835"},n("path",{id:"arrow",d:"M281.541,447.921a.488.488,0,0,0,.295-.122l6.5-5.851a.488.488,0,1,0-.65-.726l-6.176,5.556-6.176-5.556h0a.488.488,0,1,0-.65.726l6.5,5.851a.488.488,0,0,0,.355.122Z",transform:"translate(-274.511 -441.088)"})))),this.isOpen&&n("div",{class:"GamificationDropdown"},n("player-elevate-loyaltycard",{endpoint:this.endpoint,session:this.session,language:this.language,"client-styling-url":this.clientStylingUrl,"client-styling":this.clientStyling})))}get el(){return t(this)}static get watchers(){return{translationUrl:["handleNewTranslations"]}}};u.style=":host{display:block}.GamificationDropdownContainer{position:relative}.GamificationDropdownContainer .GamificationDropdown{position:absolute;left:0;z-index:999;overflow:hidden}.GamificationDropdownButton{cursor:pointer;font-size:14px;height:20px;background-color:unset;color:var(--emw--color-typography, #FFFFFF);padding:0;border:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center;line-height:0}.GamificationDropdownButton:hover{color:var(--emw--color-primary, #52d004)}.GamificationDropdownButton:hover svg{fill:var(--emw--color-primary, #52d004)}.GamificationDropdownButton.IsOpen{color:var(--emw--color-primary, #52d004)}.GamificationDropdownButton.IsOpen svg{fill:var(--emw--color-primary, #52d004)}.GamificationDropdownButton .TriangleActive,.GamificationDropdownButton .TriangleInactive{display:block;transition:all 0.2s}.GamificationDropdownButton .TriangleActive{transform:scale(1.1) rotateX(180deg) translateY(3px);fill:var(--emw--color-primary, #52d004);margin-top:4px}.GamificationDropdownButton svg{fill:var(--emw--color-typography, #FFFFFF);margin-left:8px;width:16px}";const y=class{constructor(n){e(this,n),this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.stylingAppends=!1,this.setClientStyling=()=>{let e=document.createElement("style");e.innerHTML=this.clientStyling,this.el.prepend(e)},this.setClientStylingURL=()=>{let e=new URL(this.clientStylingUrl),n=document.createElement("style");fetch(e.href).then((e=>e.text())).then((e=>{n.innerHTML=e,setTimeout((()=>{this.el.prepend(n)}),1)})).catch((e=>{console.log("error ",e)}))}}componentDidRender(){this.stylingAppends||(this.clientStyling&&this.setClientStyling(),this.clientStylingUrl&&this.setClientStylingURL(),this.stylingAppends=!0)}async componentWillLoad(){const e=[];if(this.translationUrl){const i=(n=this.translationUrl,t=this.targetTranslations,new Promise((e=>{fetch(n).then((e=>e.json())).then((n=>{Object.keys(n).forEach((e=>{t[e]=t[e]?t[e]:{};for(let i in n[e])t[e][i]=n[e][i]})),e(!0)}))})));e.push(i)}var n,t;return await Promise.all(e)}render(){return n("div",{class:"StyleShell"},n("slot",{name:"mainContent"}))}get el(){return t(this)}};function b(e){r(1,arguments);var n=l(e);return n.setHours(0,0,0,0),n}function L(e,n){return r(2,arguments),l(e).getTime()-l(n).getTime()}y.style=":host{display:block}";var I={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(e){return e<0?Math.ceil(e):Math.floor(e)}};function E(e){return e?I[e]:I.trunc}const C=class{constructor(n){e(this,n),this.playerElevateLeveLoaded=i(this,"playerElevateLeveLoaded",7)}handleWindowResizs(){this.initLevelProgressbar()}onParamsChanged(){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(((n,t)=>fetch(e.href,{method:"GET"}).then((e=>e.json())).then((e=>{this.levels=e.data,n(!0)})).catch((e=>{t(e)}))))}calcuatePointsToBeExpired(e){let n="";if(!e||!e.aboutToExpire||0==e.aboutToExpire.length||e.aboutToExpire[0].points<=0)return n;e.aboutToExpire.sort(((e,n)=>function(e,n){r(2,arguments);var t=l(e),i=l(n);return t.getTime()<i.getTime()}(new Date(e.expireTime),new Date(n.expireTime))?-1:1));const t=e.aboutToExpire[0],i=function(e,n){r(2,arguments);var t=b(e),i=b(n),o=t.getTime()-s(t),a=i.getTime()-s(i);return Math.round((o-a)/864e5)}(new Date(t.expireTime),new Date);let o=0,a=0===i?"pointsToBeExpiredDay":"pointsToBeExpired";return 0==i&&(o=function(e,n,t){r(2,arguments);var i=L(e,n)/36e5;return E(null==t?void 0:t.roundingMethod)(i)}(new Date(t.expireTime),new Date),a=o>1?"pointsToBeExpiredHours":"pointsToBeExpiredHour"),n=h(a,{expirationPoints:t.points,expireDay:i}),n}loadPlayerLevelInfo(){let e=new URL(`${this.params.endpoint}/v1/elevate/playerInfo?language=${this.params.language}`);return new Promise(((n,t)=>fetch(e.href,{method:"GET",headers:{"X-Sessionid":this.params.session,"Content-Type":"application/json"}}).then((e=>e.json())).then((e=>{var i,o,a;if(!e.success)return console.error("Exception when fetch user elevateinfo, ",e.errorCode,e.errorMessage),void t(!0);let r=e.data;this.playerElevateLevel=r.level,this.playerElevateLevel.name=this.playerElevateLevel.presentation.displayName||this.playerElevateLevel.name,this.playerElevateLevel.spendablePoints=(null===(i=r.spendableWallet)||void 0===i?void 0:i.total.points)||0,this.playerElevateLeveLoaded.emit({elevateLevel:this.playerElevateLevel});const l=null===(o=e.data.spendableWallet)||void 0===o?void 0:o.total,s=null===(a=e.data.loyaltyWallet)||void 0===a?void 0:a.total;this.playerElevateLeveLoaded.emit({elevateLevelWalletTotal:l,loyaltyWalletTotal:s});let h=this.calcuatePointsToBeExpired(l),d=this.calcuatePointsToBeExpired(s);(h||d)&&this.playerElevateLeveLoaded.emit({pointExpireString:h,xpExpireString:d}),n(this.playerElevateLevel)})).catch((e=>{console.log("error ",e),t(!0)}))))}setLoyaltyProgress(e){!function(e,n){const t=e.querySelector("#total_level"),i=t.getBBox().width,o=n>1?1:n,a=o*i-17<0?0:o*i-17,r=e.querySelector("#current_level"),l=e.querySelector("#filter_current_level"),s=e.querySelector("#circle_current_level");t.setAttribute("viewbox",`0 0 ${a} 28`),r.setAttribute("width",`${a}`),s.setAttribute("cx",`${a<6.5?6.5:a}`),l.setAttribute("x",""+(a-8));const h=e.querySelector("#lock"),d=e.querySelector("#filter_heart_ball"),c=e.querySelector("#filter_ball"),v=e.querySelector("#filter_heart"),p=e.querySelector("#filter_lock"),g=e.querySelector("#paint0_linear_ball"),f=e.querySelector("#paint1_linear_lock"),m=e.querySelector("#lock_box"),w=e.querySelector("#heart_box"),x=i-10;h.setAttribute("cx",`${x}`),f.setAttribute("x1",`${x}`),f.setAttribute("x2",`${x}`),g.setAttribute("x1",""+(x-6)),g.setAttribute("x2",""+(x-6+11.2)),p.setAttribute("x",""+(x-6)),v.setAttribute("x",""+(x-6-2)),c.setAttribute("x",""+(x-6-2-2)),d.setAttribute("x",""+(x-6-2-2-4)),m.setAttribute("x",""+(x-6)),w.setAttribute("x",""+(x-6)),t.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,n)=>e.firstEntryPoints>n.firstEntryPoints?1:-1));const n=this.playerElevateLevel.loyaltyPoints;let t=0;this.levels.forEach(((e,i)=>{n>e.firstEntryPoints&&(t=i)})),this.playerElevateLeveLoaded.emit({calculatedLevelFlag:t})}))}componentWillLoad(){this.loadElevateInfo()}get elevateCardRef(){return t(this)}static get watchers(){return{params:["onParamsChanged"]}}};C.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(--emfe-w-color-gray150, #efefef);\n}\n\n.Light {\n color: var(--emfe-w-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(--emfe-w-elevate-color-level0button-shadow, rgba(191, 84, 6, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level0-bg0, #E2792C) 0%, var(--emfe-w-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(--emfe-w-elevate-color-level1button-shadow, rgba(151, 151, 151, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level1-bg0, #BEBFED) 0%, var(--emfe-w-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(--emfe-w-elevate-color-level2button-shadow, rgba(191, 120, 6, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level2-bg0, #FCC410) 0%, var(--emfe-w-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(--emfe-w-elevate-color-level3button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level3-bg0, #B1A2DB) 0%, var(--emfe-w-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(--emfe-w-elevate-color-level4button-shadow, rgba(65, 6, 191, 0.75));\n background: linear-gradient(180deg, var(--emfe-w-elevate-color-level4-bg0, #B1A2DB) 0%, var(--emfe-w-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(--emfe-w-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: 10px;\n background: var(--emfe-w-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 #00000040;\n}\n.Inner .Row .RedeemButton span {\n color: var(--emfe-w-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(--emfe-w-color-red, #9e595f);\n}';const P=class{constructor(n){e(this,n),this.theme="Dark",this.language="en",this.dateFormat="yyyy-MM-dd",this.clientStyling="",this.clientStylingUrl="",this.translationUrl=""}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),e.detail.elevateLevel&&(this.playerElevateLevel=e.detail.elevateLevel),e.detail.pointExpireString&&(this.pointExpireString=e.detail.xpExpireString))}onRedeemClick(){window.postMessage({type:"BEERedeemClicked"},window.location.href)}componentWillLoad(){this.paramProxy={endpoint:this.endpoint,session:this.session,language:this.language}}getNextLevelTips(){var e;let n=null===(e=this.playerElevateLevel)||void 0===e?void 0:e.nextLevel;if(this.playerElevateLevel&&n){const e=(n.entryPoints-this.playerElevateLevel.loyaltyPoints).toFixed(2);return h("tipsForNextLevel",{pointsToReach:e,levelName:n.name})}return""}render(){const e=o("../static/card-ground.svg"),t=o("../static/card-ground-over.svg");return n("div",{class:`ElevateCardWrapper ${this.theme}`},n("div",{class:"LoyaltyCard Outer",style:{backgroundImage:`url(${e}`}},n("general-styling-wrapper",{clientStyling:this.clientStyling,clientStylingUrl:this.clientStylingUrl,targetTranslations:d,translationUrl:this.translationUrl}),n("player-elevate-card-data",{params:this.paramProxy}),n("div",{class:"OuterCover Inner",style:{backgroundImage:`url(${t}`}},n("div",{class:"Content Row"},this.playerElevateLevel&&n(a,null,n("div",{class:"PlayerImg"},n(c,{onlyBadge:!0,loyaltyIconUrl:this.playerElevateLevel.presentation.asset})),n("div",{class:`LevelInfo ${this.playerElevateLevel.name}`},n(v,{hideInfo:!0,level:this.playerElevateLevel.name,expireTime:this.playerElevateLevel.expireTime,dateFormat:this.dateFormat}),n(p,{loyaltyPoints:this.playerElevateLevel.loyaltyPoints,language:this.language}),this.pointExpireString&&n("div",{class:"PointsInfo ExpirationPoints"},this.pointExpireString," "),n(g,null),n("div",{class:"NextLevelTip"},this.getNextLevelTips())))))))}static get watchers(){return{session:["onSessionOrEndpointChange"],endpoint:["onSessionOrEndpointChange"],language:["onSessionOrEndpointChange"]}}};P.style=":host{display:block}@media screen and (min-width: 501px){.LoyaltyCard .Inner .LevelInfo .ElevateLevel{flex-wrap:nowrap}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate{padding-top:11px;margin-left:5px}}@media screen and (max-width: 500px){.LoyaltyCard .Inner .LevelInfo .ElevateLevel{flex-wrap:wrap}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate{padding-top:0px;margin-left:0px}}.LoyaltyCard .Inner .LevelProgress{margin-left:0px}.LoyaltyCard .Inner .Row .PointsInfo{width:100%}.LoyaltyCard .Inner .Row .PointsInfo.ExpirationPoints{text-align:left;color:var(--emfe-w-color-red-50, red)}.LoyaltyCard .Inner .PlayerAvatar .Avatar{display:none}.LoyaltyCard .Inner .PlayerAvatar .Badge{border-radius:50%;background-size:contain;width:100%;height:100%}.LoyaltyCard .Inner .LevelInfo .ElevateLevel{display:flex;flex:1;align-items:center}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate{position:relative;padding-left:5px}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .ExpirationDate .ExpireTime{margin-left:5px}.LoyaltyCard .Inner .LevelInfo .ElevateLevel .LevelName{padding-left:0;font-size:var(--emfe-w-elevate-fontsize-2xlarge, 21px);position:relative;width:auto;color:var(--emfe-w-elevate-color-levelname, #FFBD2B);font-weight:bold}.LoyaltyCard .NextLevelTip{text-align:right;font-size:11px;color:var(--emfe-w-color-black, #000);opacity:0.8;font-weight:bold}";export{u as gamification_dropdown,y as general_styling_wrapper,C as player_elevate_card_data,P as player_elevate_loyaltycard}