@everymatrix/casino-engagement-suite-jackpot-details 1.39.1 → 1.39.2
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.
- package/dist/casino-engagement-suite-jackpot-details/casino-engagement-suite-jackpot-details.esm.js +1 -1
- package/dist/casino-engagement-suite-jackpot-details/p-36efe5e3.entry.js +1 -0
- package/dist/cjs/casino-engagement-suite-jackpot-details.cjs.entry.js +102 -7
- package/dist/collection/components/casino-engagement-suite-jackpot-details/casino-engagement-suite-jackpot-details.js +7 -5
- package/dist/collection/utils/locale.utils.js +4 -2
- package/dist/components/casino-engagement-suite-jackpot-details.js +102 -7
- package/dist/esm/casino-engagement-suite-jackpot-details.entry.js +102 -7
- package/dist/types/models/index.d.ts +3 -1
- package/package.json +1 -1
- package/dist/casino-engagement-suite-jackpot-details/p-f92587a5.entry.js +0 -1
- /package/dist/types/Users/{adrian.pripon/Documents/Work → sebastian.strulea/Documents/work}/widgets-stencil/packages/casino-engagement-suite-jackpot-details/.stencil/packages/casino-engagement-suite-jackpot-details/stencil.config.d.ts +0 -0
package/dist/casino-engagement-suite-jackpot-details/casino-engagement-suite-jackpot-details.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,b as i}from"./p-0135e830.js";(()=>{const i=import.meta.url,n={};return""!==i&&(n.resourcesUrl=new URL(".",i).href),e(n)})().then((e=>i([["p-
|
|
1
|
+
import{p as e,b as i}from"./p-0135e830.js";(()=>{const i=import.meta.url,n={};return""!==i&&(n.resourcesUrl=new URL(".",i).href),e(n)})().then((e=>i([["p-36efe5e3",[[1,"casino-engagement-suite-jackpot-details",{clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],jackpot:[16],language:[1],gameSlug:[1,"game-slug"],device:[1],limitStylingAppends:[32],timer:[32],disabledStatus:[32],activeTab:[32],visibleGames:[32],loading:[32],enabled:[32],balance:[32],winBalance:[32],showDetails:[32],jackpotEndTime:[32]},[[8,"message","handleEvent"],[9,"resize","handleResize"]]]]],["p-58f6d008",[[1,"casino-engagement-suite-progress-bar",{value:[2],disabled:[4],hidePercent:[4,"hide-percent"],clientStyling:[513,"client-styling"],clientStylingUrl:[513,"client-styling-url"],limitStylingAppends:[32]}]]]],e)));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as e,h as o,g as a}from"./p-0135e830.js";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,e){if(e.length<t)throw new TypeError(t+" argument"+(t>1?"s":"")+" required, but only "+e.length+" present")}function n(t){s(1,arguments);var e=Object.prototype.toString.call(t);return t instanceof Date||"object"===i(t)&&"[object Date]"===e?new Date(t.getTime()):"number"==typeof t||"[object Number]"===e?new Date(t):("string"!=typeof t&&"[object String]"!==e||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function p(t,e){s(2,arguments);var o=n(t),a=n(e);return o.getTime()<a.getTime()}const c=["en"],l={en:{jackpots:"Jackpots",join:"Join",unjoin:"Unjoin",info:"Info",games:"Games",operatorContribution:"Operator Contribution",type:"Type",winningProbability:"Winning Probability",tc:"Terms & Conditions",jackpotIsWon:"Jackpot is won!",loadMore:"Load More",jackpotDetails:"Jackpot Details",minBet:"Min Bet",maxBet:"Max Bet",Suspended:"Suspended",Closed:"Closed"}},r=(t,e)=>{const o=e;return l[void 0!==o&&c.includes(o)?o:"en"][t]};function h(t,e,o=99999999){return t=Math.min(t,o),`${e} ${new Intl.NumberFormat("en",{minimumFractionDigits:2,maximumFractionDigits:2}).format(t)}`}const d=class{constructor(o){t(this,o),this.close=e(this,"close",7),this.back=e(this,"back",7),this.clientStyling="",this.clientStylingUrl="",this.language="en",this.gameSlug="",this.device="Mobile",this.limitStylingAppends=!1,this.timer="",this.disabledStatus="",this.activeTab=1,this.visibleGames=[],this.loading=!1,this.enabled=!1,this.showDetails=!1,this.jackpotEndTime="",this.maxVisibleGames=0,this.handleTabChange=t=>{this.activeTab=+t.target.getAttribute("data-index"),this.visibleGames=[],this.maxVisibleGames=0},this.handleLoadMore=()=>{this.visibleGames=this.jackpot.GamesInfo.slice(0,this.visibleGames.length+this.maxVisibleGames)},this.toggleShowDetails=()=>{this.showDetails=!this.showDetails},this.changeJackpotStatus=t=>{t.stopPropagation(),window.postMessage({type:"JackpotChangeStatusRequest",data:{[this.jackpot.JackpotId]:!this.jackpot.Enabled}}),this.loading=!0},this.setClientStyling=()=>{let t=document.createElement("style");t.innerHTML=this.clientStyling,this.host.prepend(t)},this.setClientStylingURL=()=>{let t=new URL(this.clientStylingUrl),e=document.createElement("style");fetch(t.href).then((t=>t.text())).then((t=>{e.innerHTML=t,setTimeout((()=>{this.host.prepend(e)}),1)})).catch((t=>{console.log("Error ",t)}))},this.handleCloseClick=()=>{this.close.emit()},this.handleBackClick=()=>{this.back.emit()},this.onGameClick=t=>{const e=t.currentTarget.getAttribute("data-slug");e&&window.postMessage({type:"EngagementSuiteGameRedirect",data:{Slug:e}})}}handleEvent(t){const{type:e,data:o}=null==t?void 0:t.data;switch(e){case"UpdateJackpotStatus":this.updateJackpotStatus(t.data.data);break;case"JoinJackpotResult":{const t=o;t.Success&&this.jackpot.JackpotId in t.JackpotIds&&(this.enabled=this.jackpot.Enabled=t.JackpotIds[this.jackpot.JackpotId]),this.loading=!1;break}}}handleJackpotUpdate(){this.balance=this.jackpot.Balance,this.winBalance=this.jackpot.WinBalance}handleResize(){2===this.activeTab&&this.setVisibleGames()}componentWillLoad(){this.enabled=this.jackpot.Enabled,this.balance=this.jackpot.Balance,this.winBalance=this.jackpot.WinBalance,this.jackpotEndTime=this.jackpot.JackpotEndTime,this.disabledStatus=this.jackpot.Reason||"",this.startCountdown()}componentDidRender(){!this.limitStylingAppends&&this.host&&(this.clientStyling&&this.setClientStyling(),this.clientStylingUrl&&this.setClientStylingURL(),this.limitStylingAppends=!0),2!==this.activeTab||this.maxVisibleGames||this.setVisibleGames()}disconnectedCallback(){this.clearInterval()}clearInterval(){this.interval&&(clearInterval(this.interval),this.interval=null)}setVisibleGames(){const t="Mobile"===this.device?10:12,e="Mobile"===this.device?4:5;this.maxVisibleGames=Math.max(Math.floor(this.gamesListWrapperEl.offsetHeight/((this.gamesListWrapperEl.offsetWidth-t*(e-1))/e/74*40+t))*e,e),this.visibleGames=this.jackpot.GamesInfo.slice(0,this.maxVisibleGames)}updateJackpotStatus(t){t.IsClosed?(this.clearInterval(),this.disabledStatus=t.Reason,this.activeTab=1):(this.disabledStatus="",this.jackpotEndTime=t.JackpotEndTime,this.startCountdown())}getTopNavigationTemplate(){return o("div",{class:"JackpotDetailsNavigation"},o("button",{class:"JackpotIconButton",onClick:this.handleBackClick},o("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/back.svg",alt:"back"})),o("div",{class:"JackpotPopupName"},r("jackpots",this.language)),o("button",{class:"JackpotIconButton",onClick:this.handleCloseClick},o("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/close.svg",alt:"close"})))}getJackpotBalance(){return h(this.balance,this.jackpot.Currency)}getJoinButtonClasses(){return{PopupButton:!0,Active:this.enabled,Loading:this.loading}}getJackpotDetailsHeaderTemplate(){const t=p(new Date(this.jackpot.JackpotEndTime),new Date)||!!this.disabledStatus;return o("div",{class:"JackpotDetailsHeader"},o("div",null,o("div",{class:"JackpotType"},this.jackpot.Type),o("div",{class:"JackpotBalance"},this.getJackpotBalance())),o("div",{class:"JackpotDetailsHeaderSecondCol"},o("button",{disabled:t,onClick:this.changeJackpotStatus,class:this.getJoinButtonClasses()},r(this.enabled?"unjoin":"join",this.language)),!!this.winBalance&&o("div",{class:"JackpotIsWon"},r("jackpotIsWon",this.language))))}getTabsTemplate(){return o("div",{class:"JackpotDetailsTabs"},o("div",{"data-index":"1",onClick:this.handleTabChange,class:"JackpotDetailsTab "+(1===this.activeTab?"Active":"")},r("info",this.language)),o("div",{"data-index":"2",onClick:this.handleTabChange,class:"JackpotDetailsTab "+(2===this.activeTab?"Active":"")},r("games",this.language)))}getTabsContentTemplate(){return 1===this.activeTab?this.getJackpotInfoTemplate():this.getGamesTemplate()}getJackpotDetailsTemplate(){return o("div",null,o("div",{class:"JackpotDetailsButton",onClick:this.toggleShowDetails},o("div",{class:"Toggle "+(this.showDetails?"Closed":"Open")}),o("span",null,r("jackpotDetails",this.language))),this.showDetails&&o("div",{class:"JackpotDetailsContent"},this.jackpot.Description&&o("p",{class:"JackpotDescription"},this.jackpot.Description),this.jackpot.JackpotRulesUrl&&o("a",{class:"TermsAndConditions",href:this.jackpot.JackpotRulesUrl,target:"_blank"},r("tc",this.jackpot.JackpotRulesUrl))))}getBetLimitsRange(){var t,e,a,i;if(this.jackpot.BetLimits){const s=this.jackpot.Currency,n=Object.keys(this.jackpot.BetLimits),p=n.find((t=>t===s))||n[0],c=this.jackpot.BetLimits&&!!(null===(t=this.jackpot.BetLimits[p])||void 0===t?void 0:t.MinBet),l=this.jackpot.BetLimits&&!!(null===(e=this.jackpot.BetLimits[p])||void 0===e?void 0:e.MaxBet),d=h(null===(a=this.jackpot.BetLimits[p])||void 0===a?void 0:a.MinBet,p),k=h(null===(i=this.jackpot.BetLimits[p])||void 0===i?void 0:i.MaxBet,p);return o("div",null,c&&o("div",{class:"JackpotInfoItem"},r("minBet",this.language),": ",o("span",null,d)),l&&o("div",{class:"JackpotInfoItem"},r("maxBet",this.language),": ",o("span",null,k)))}}getJackpotInfoTemplate(){return o("div",{class:"JackpotInfoTabContent"},!(!this.jackpot.Description&&!this.jackpot.JackpotRulesUrl)&&this.getJackpotDetailsTemplate(),o("div",{class:"JackpotInfo"},o("div",{class:"JackpotInfoItem"},r("operatorContribution",this.language),": ",o("span",null,+this.jackpot.OperatorContributionPercent,"%")),o("div",{class:"JackpotInfoItem"},r("type",this.language),": ",o("span",null,this.jackpot.JackpotTypePresentation)),o("div",{class:"JackpotInfoItem"},r("winningProbability",this.language),": ",o("span",null,"1:",this.jackpot.Probability)),this.getBetLimitsRange()))}getGamesTemplate(){const t=this.visibleGames.map((t=>o("div",{onClick:this.onGameClick,class:"JackpotGamesListItem "+(t.GameSlug===this.gameSlug?"Disabled":""),key:t.CasinoGameId,"data-slug":t.GameSlug,style:{background:`center / cover url(${t.GameIcon}) no-repeat`},title:t.GameName})));return[o("div",{class:"JackpotGamesListWrapper",ref:t=>this.gamesListWrapperEl=t},o("div",{class:"JackpotGamesList"},t)),this.visibleGames.length<this.jackpot.GamesInfo.length?o("button",{class:"PopupButton Active JackpotGamesButton",onClick:this.handleLoadMore},r("loadMore",this.language)):""]}getJackpotCountdown(){const t=r(this.disabledStatus,this.language)||this.timer;return o("div",{class:"JackpotCountdown "+(this.disabledStatus?"Suspended":"")},t)}startCountdown(){this.updateTimer(),this.interval=setInterval((()=>{this.updateTimer()}),1e3)}updateTimer(){const t=new Date(this.jackpotEndTime).getTime()-(new Date).getTime();if(t<1)return void this.clearInterval();const{days:e,hours:o,minutes:a,seconds:i}={days:String(Math.floor(t/864e5)).padStart(2,"0"),hours:String(Math.floor(t%864e5/36e5)).padStart(2,"0"),minutes:String(Math.floor(t%36e5/6e4)).padStart(2,"0"),seconds:String(Math.floor(t%6e4/1e3)).padStart(2,"0")};this.timer="00"===e?`${o}h:${a}m:${i}s`:`${e}d:${o}h:${a}m`}getPopupClasses(){return{JackpotDetailsPopup:!0,Disabled:!!this.disabledStatus||p(new Date(this.jackpot.JackpotEndTime),new Date),[this.device]:!0,[this.jackpot.Type.charAt(0).toUpperCase()+this.jackpot.Type.slice(1)]:!0}}render(){return o("div",{class:this.getPopupClasses()},this.getTopNavigationTemplate(),o("div",{class:"JackpotDetailsPopupContent"},this.getJackpotDetailsHeaderTemplate(),this.getJackpotCountdown(),this.getTabsTemplate(),this.getTabsContentTemplate()))}get host(){return a(this)}static get watchers(){return{jackpot:["handleJackpotUpdate"]}}};d.style=':host{display:block;font-family:inherit}*{box-sizing:border-box;margin:0;padding:0}button{border:none;background:none;touch-action:manipulation}button:focus{outline:none}button:not(:disabled){cursor:pointer}.PopupButton{background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);color:var(--emw--color-typography, #1E1638);border-radius:99px;min-width:88px;min-height:32px;font-size:14px;font-weight:700;position:relative;font-family:"Montserrat", sans-serif}.PopupButton.Active{background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.PopupButton.Active::before{content:"";position:absolute;inset:0;padding:1px;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);-webkit-mask:linear-gradient(#FFF 0 0) content-box, linear-gradient(#FFF 0 0);-webkit-mask-composite:xor;mask-composite:exclude;border-radius:99px}.PopupButton.Loading{opacity:0.5;pointer-events:none}.JackpotDetailsPopup{display:flex;height:100%;background-color:var(--emw--color-background, #1E1638);border-radius:8px;overflow:hidden;flex-direction:column;position:relative}.JackpotDetailsPopup.Disabled .JackpotDetailsHeader{opacity:0.5}.JackpotDetailsPopup.Disabled .JackpotDetailsTabs{cursor:default;pointer-events:none}.JackpotDetailsPopup.Disabled .JackpotDescription,.JackpotDetailsPopup.Disabled .TermsAndConditions,.JackpotDetailsPopup.Disabled .JackpotInfoItem{color:var(--emw--color-primary, #8F8B9C)}.JackpotGamesListWrapper,.JackpotInfoTabContent{overflow-x:auto;scrollbar-gutter:stable}.JackpotGamesListWrapper::-webkit-scrollbar,.JackpotInfoTabContent::-webkit-scrollbar{width:3px;background:none}.JackpotGamesListWrapper::-webkit-scrollbar-thumb,.JackpotInfoTabContent::-webkit-scrollbar-thumb{border-radius:4px;background:var(--emw--color-gray-transparency-30, rgba(255, 255, 255, 0.3))}.JackpotDetailsNavigation{display:flex;justify-content:space-between;align-items:center;padding:12px 8px 8px}.JackpotDetailsNavigation .JackpotIconButton{width:16px;height:16px;cursor:pointer;display:flex;justify-content:center;align-items:center}.JackpotDetailsNavigation .JackpotPopupName{color:var(--emw--color-gray-100, #BBB9C3);font-size:16px;font-weight:500;line-height:16px;display:none}.JackpotDetailsPopupContent{padding:8px 18px 18px;overflow:hidden;height:100%;display:flex;flex-direction:column}.JackpotDetailsHeader{display:flex;justify-content:space-between;align-items:center;gap:12px}.JackpotDetailsHeader .JackpotDetailsHeaderSecondCol{text-align:right}.JackpotDetailsHeader .JackpotType{text-transform:uppercase;font-family:"Montserrat", sans-serif;font-size:var(--emw--font-size-medium, 18px);font-weight:var(--emw--font-weight-bold, 700);line-height:22px;color:var(--emfe-w-color-white, #FFF);word-break:break-all}.JackpotDetailsHeader .JackpotBalance{margin-top:8px;font-family:Montserrat, sans-serif;font-size:18px;font-weight:var(--emw--font-weight-bold, 800);line-height:18px}.JackpotDetailsHeader .JackpotIsWon{margin-top:8px;font-family:Montserrat, sans-serif;font-weight:var(--emw--font-weight-bold, 700);font-size:12px;line-height:15px;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.JackpotDetailsPopup.Mega .JackpotBalance{background:linear-gradient(180deg, #FFB801 15.86%, #FEF746 31.36%, #FBFFE0 36.86%, #FFFA60 47.86%, #FF9400 87.36%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.JackpotDetailsPopup.Major .JackpotBalance{background:linear-gradient(180deg, #A19FA0 5.36%, #E1DBDB 28.86%, #FEFFFF 36.86%, #E1DBDB 44.36%, #5E5B5F 91.86%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.JackpotDetailsPopup.Minor .JackpotBalance{background:linear-gradient(180deg, #A0522C 5.36%, #FFAB8C 28.86%, #FFEEDF 36.86%, #FFAB8C 44.36%, #6A3A21 91.86%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.JackpotGamesLoadMore::before,.JackpotJoinButton.Joined::before{content:"";position:absolute;inset:0;border-radius:var(--emw--button-border-radius, 4px);padding:1px;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);-webkit-mask:linear-gradient(#FFF 0 0) content-box, linear-gradient(#FFF 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.JackpotGamesButton{margin-top:12px;align-self:center;min-width:140px}.JackpotCountdown{font-size:var(--emw--font-size-x-small, 12px);line-height:12px;margin-top:12px;color:var(--emw--color-gray-150, #BBB9C3)}.JackpotCountdown.Suspended{font-weight:var(--emw--font-weight-bold, 700);color:var(--emfe-w-color-white, #FFF);text-transform:capitalize}.JackpotDetailsTabsWrapper{display:flex;flex-direction:column}.JackpotDetailsTabs{margin-top:20px;display:flex;position:relative}.JackpotDetailsTabs .JackpotDetailsTab{padding:9px 16px 7px;font-weight:500;font-size:12px;line-height:15px;color:var(--emw--color-background, #666178);border-bottom:2px solid transparent;cursor:pointer}.JackpotDetailsTabs .JackpotDetailsTab.Active{color:var(--emw--color-typography, #FFF);border-color:var(--emw--color-typography, #FFF)}.JackpotDetailsTabs::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--emw--color-typography, #FFF);opacity:0.1}.JackpotInfoItem{margin-bottom:8px;color:var(--emw--color-typography, #FFF);font-size:14px;line-height:17px}.JackpotInfoItem span{font-weight:var(--emw--font-weight-bold, 700)}.JackpotGamesListWrapper{overflow:auto;flex-grow:1}.JackpotGamesList{display:flex;gap:10px;flex-wrap:wrap}.JackpotGamesList .JackpotGamesListItem{width:calc(25% - 8px);aspect-ratio:74/40;cursor:pointer}.JackpotGamesList .JackpotGamesListItem.Disabled{opacity:0.5;pointer-events:none;cursor:auto}.JackpotDetailsButton{margin-top:12px;display:flex;align-items:center;font-size:var(--emw--font-size-x-small, 12px);line-height:12px;color:var(--emw--color-primary-variant, #666178);cursor:pointer}.JackpotDetailsButton .Toggle{width:16px;height:16px;margin-right:4px}.JackpotDetailsButton .Closed{background:center/100% url("https://static.everymatrix.com/gic/img/engagement-suite/eye-closed.svg")}.JackpotDetailsButton .Open{background:center/100% url("https://static.everymatrix.com/gic/img/engagement-suite/eye-open.svg")}.JackpotInfo{margin-top:24px}.JackpotDescription{margin-top:12px;color:var(--emw--color-typography, #FFF);font-size:var(--emw--font-size-small, 14px);line-height:17px}.TermsAndConditions{display:block;margin-top:12px;color:var(--emw--color-primary, #59D1FF);font-size:var(--emw--font-size-small, 14px);line-height:17px}.JackpotDetailsPopup.Tablet .JackpotDetailsButton,.JackpotDetailsPopup.Desktop .JackpotDetailsButton{margin-top:20px}.JackpotDetailsPopup.Tablet .JackpotDescription,.JackpotDetailsPopup.Desktop .JackpotDescription{font-size:var(--emw--font-size-medium, 16px);line-height:22px}.JackpotDetailsPopup.Tablet .JackpotPopupName,.JackpotDetailsPopup.Desktop .JackpotPopupName{display:block}.JackpotDetailsPopup.Tablet .JackpotDetailsNavigation,.JackpotDetailsPopup.Desktop .JackpotDetailsNavigation{padding-top:16px}.JackpotDetailsPopup.Tablet .JackpotIconButton,.JackpotDetailsPopup.Desktop .JackpotIconButton{width:24px;height:24px}.JackpotDetailsPopup.Tablet .JackpotDetailsPopupContent,.JackpotDetailsPopup.Desktop .JackpotDetailsPopupContent{padding:20px 24px 30px}.JackpotDetailsPopup.Tablet .JackpotBalance,.JackpotDetailsPopup.Tablet .JackpotType,.JackpotDetailsPopup.Desktop .JackpotBalance,.JackpotDetailsPopup.Desktop .JackpotType{line-height:27px;font-size:22px}.JackpotDetailsPopup.Tablet .JackpotBalance,.JackpotDetailsPopup.Desktop .JackpotBalance{font-weight:var(--emw--font-weight-bold, 700)}.JackpotDetailsPopup.Tablet .PopupButton,.JackpotDetailsPopup.Desktop .PopupButton{min-height:36px;font-size:16px}.JackpotDetailsPopup.Tablet .JackpotCountdown,.JackpotDetailsPopup.Desktop .JackpotCountdown{font-size:var(--emw--font-size-small, 14px);line-height:14px}.JackpotDetailsPopup.Tablet .JackpotInfoItem,.JackpotDetailsPopup.Desktop .JackpotInfoItem{font-size:16px;line-height:20px}.JackpotDetailsPopup.Tablet .JackpotIsWon,.JackpotDetailsPopup.Desktop .JackpotIsWon{font-size:14px;line-height:17px}.JackpotDetailsPopup.Tablet .JackpotGamesList,.JackpotDetailsPopup.Desktop .JackpotGamesList{gap:12px}.JackpotDetailsPopup.Tablet .JackpotGamesList .JackpotGamesListItem,.JackpotDetailsPopup.Desktop .JackpotGamesList .JackpotGamesListItem{width:calc(20% - 10px)}.JackpotDetailsPopup.Tablet .JackpotDetailsTabs .JackpotDetailsTab,.JackpotDetailsPopup.Desktop .JackpotDetailsTabs .JackpotDetailsTab{font-size:16px;line-height:20px}';export{d as casino_engagement_suite_jackpot_details}
|
|
@@ -4,6 +4,98 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-84a14c86.js');
|
|
6
6
|
|
|
7
|
+
function _typeof(o) {
|
|
8
|
+
"@babel/helpers - typeof";
|
|
9
|
+
|
|
10
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
11
|
+
return typeof o;
|
|
12
|
+
} : function (o) {
|
|
13
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
14
|
+
}, _typeof(o);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function requiredArgs(required, args) {
|
|
18
|
+
if (args.length < required) {
|
|
19
|
+
throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @name toDate
|
|
25
|
+
* @category Common Helpers
|
|
26
|
+
* @summary Convert the given argument to an instance of Date.
|
|
27
|
+
*
|
|
28
|
+
* @description
|
|
29
|
+
* Convert the given argument to an instance of Date.
|
|
30
|
+
*
|
|
31
|
+
* If the argument is an instance of Date, the function returns its clone.
|
|
32
|
+
*
|
|
33
|
+
* If the argument is a number, it is treated as a timestamp.
|
|
34
|
+
*
|
|
35
|
+
* If the argument is none of the above, the function returns Invalid Date.
|
|
36
|
+
*
|
|
37
|
+
* **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
|
|
38
|
+
*
|
|
39
|
+
* @param {Date|Number} argument - the value to convert
|
|
40
|
+
* @returns {Date} the parsed date in the local time zone
|
|
41
|
+
* @throws {TypeError} 1 argument required
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* // Clone the date:
|
|
45
|
+
* const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
|
|
46
|
+
* //=> Tue Feb 11 2014 11:30:30
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* // Convert the timestamp to date:
|
|
50
|
+
* const result = toDate(1392098430000)
|
|
51
|
+
* //=> Tue Feb 11 2014 11:30:30
|
|
52
|
+
*/
|
|
53
|
+
function toDate(argument) {
|
|
54
|
+
requiredArgs(1, arguments);
|
|
55
|
+
var argStr = Object.prototype.toString.call(argument);
|
|
56
|
+
|
|
57
|
+
// Clone the date
|
|
58
|
+
if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {
|
|
59
|
+
// Prevent the date to lose the milliseconds when passed to new Date() in IE10
|
|
60
|
+
return new Date(argument.getTime());
|
|
61
|
+
} else if (typeof argument === 'number' || argStr === '[object Number]') {
|
|
62
|
+
return new Date(argument);
|
|
63
|
+
} else {
|
|
64
|
+
if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {
|
|
65
|
+
// eslint-disable-next-line no-console
|
|
66
|
+
console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments");
|
|
67
|
+
// eslint-disable-next-line no-console
|
|
68
|
+
console.warn(new Error().stack);
|
|
69
|
+
}
|
|
70
|
+
return new Date(NaN);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* @name isBefore
|
|
76
|
+
* @category Common Helpers
|
|
77
|
+
* @summary Is the first date before the second one?
|
|
78
|
+
*
|
|
79
|
+
* @description
|
|
80
|
+
* Is the first date before the second one?
|
|
81
|
+
*
|
|
82
|
+
* @param {Date|Number} date - the date that should be before the other one to return true
|
|
83
|
+
* @param {Date|Number} dateToCompare - the date to compare with
|
|
84
|
+
* @returns {Boolean} the first date is before the second date
|
|
85
|
+
* @throws {TypeError} 2 arguments required
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* // Is 10 July 1989 before 11 February 1987?
|
|
89
|
+
* const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))
|
|
90
|
+
* //=> false
|
|
91
|
+
*/
|
|
92
|
+
function isBefore(dirtyDate, dirtyDateToCompare) {
|
|
93
|
+
requiredArgs(2, arguments);
|
|
94
|
+
var date = toDate(dirtyDate);
|
|
95
|
+
var dateToCompare = toDate(dirtyDateToCompare);
|
|
96
|
+
return date.getTime() < dateToCompare.getTime();
|
|
97
|
+
}
|
|
98
|
+
|
|
7
99
|
const DEFAULT_LANGUAGE = 'en';
|
|
8
100
|
const SUPPORTED_LANGUAGES = ['en'];
|
|
9
101
|
const TRANSLATIONS = {
|
|
@@ -17,11 +109,13 @@ const TRANSLATIONS = {
|
|
|
17
109
|
type: 'Type',
|
|
18
110
|
winningProbability: 'Winning Probability',
|
|
19
111
|
tc: 'Terms & Conditions',
|
|
20
|
-
jackpotIsWon: 'Jackpot
|
|
112
|
+
jackpotIsWon: 'Jackpot is won!',
|
|
21
113
|
loadMore: 'Load More',
|
|
22
114
|
jackpotDetails: 'Jackpot Details',
|
|
23
115
|
minBet: 'Min Bet',
|
|
24
|
-
maxBet: 'Max Bet'
|
|
116
|
+
maxBet: 'Max Bet',
|
|
117
|
+
Suspended: 'Suspended',
|
|
118
|
+
Closed: 'Closed'
|
|
25
119
|
}
|
|
26
120
|
};
|
|
27
121
|
const translate = (key, customLang) => {
|
|
@@ -217,7 +311,8 @@ const CasinoEngagementSuiteJackpotDetails = class {
|
|
|
217
311
|
};
|
|
218
312
|
}
|
|
219
313
|
getJackpotDetailsHeaderTemplate() {
|
|
220
|
-
|
|
314
|
+
const joinButtonDisabled = isBefore(new Date(this.jackpot.JackpotEndTime), new Date()) || !!this.disabledStatus;
|
|
315
|
+
return (index.h("div", { class: "JackpotDetailsHeader" }, index.h("div", null, index.h("div", { class: "JackpotType" }, this.jackpot.Type), index.h("div", { class: "JackpotBalance" }, this.getJackpotBalance())), index.h("div", { class: "JackpotDetailsHeaderSecondCol" }, index.h("button", { disabled: joinButtonDisabled, onClick: this.changeJackpotStatus, class: this.getJoinButtonClasses() }, this.enabled
|
|
221
316
|
? translate('unjoin', this.language)
|
|
222
317
|
: translate('join', this.language)), !!this.winBalance && index.h("div", { class: "JackpotIsWon" }, translate('jackpotIsWon', this.language)))));
|
|
223
318
|
}
|
|
@@ -239,8 +334,8 @@ const CasinoEngagementSuiteJackpotDetails = class {
|
|
|
239
334
|
const betCurrencies = Object.keys(this.jackpot.BetLimits);
|
|
240
335
|
const matchedCurrency = betCurrencies.find(currency => currency === playerCurrency);
|
|
241
336
|
const betCurrency = matchedCurrency ? matchedCurrency : betCurrencies[0];
|
|
242
|
-
const showMinBet = this.jackpot.BetLimits && ((_a = this.jackpot.BetLimits[betCurrency]) === null || _a === void 0 ? void 0 : _a.MinBet);
|
|
243
|
-
const showMaxBet = this.jackpot.BetLimits && ((_b = this.jackpot.BetLimits[betCurrency]) === null || _b === void 0 ? void 0 : _b.MaxBet);
|
|
337
|
+
const showMinBet = this.jackpot.BetLimits && !!((_a = this.jackpot.BetLimits[betCurrency]) === null || _a === void 0 ? void 0 : _a.MinBet);
|
|
338
|
+
const showMaxBet = this.jackpot.BetLimits && !!((_b = this.jackpot.BetLimits[betCurrency]) === null || _b === void 0 ? void 0 : _b.MaxBet);
|
|
244
339
|
const formattedMinBet = formatBalance((_c = this.jackpot.BetLimits[betCurrency]) === null || _c === void 0 ? void 0 : _c.MinBet, betCurrency);
|
|
245
340
|
const formattedMaxBet = formatBalance((_d = this.jackpot.BetLimits[betCurrency]) === null || _d === void 0 ? void 0 : _d.MaxBet, betCurrency);
|
|
246
341
|
return index.h("div", null, showMinBet && index.h("div", { class: "JackpotInfoItem" }, translate('minBet', this.language), ":\u00A0", index.h("span", null, formattedMinBet)), showMaxBet && index.h("div", { class: "JackpotInfoItem" }, translate('maxBet', this.language), ":\u00A0", index.h("span", null, formattedMaxBet)));
|
|
@@ -262,7 +357,7 @@ const CasinoEngagementSuiteJackpotDetails = class {
|
|
|
262
357
|
];
|
|
263
358
|
}
|
|
264
359
|
getJackpotCountdown() {
|
|
265
|
-
const timerMessage = this.disabledStatus || this.timer;
|
|
360
|
+
const timerMessage = translate(this.disabledStatus, this.language) || this.timer;
|
|
266
361
|
return (index.h("div", { class: `JackpotCountdown ${this.disabledStatus ? 'Suspended' : ''}` }, timerMessage));
|
|
267
362
|
}
|
|
268
363
|
startCountdown() {
|
|
@@ -292,7 +387,7 @@ const CasinoEngagementSuiteJackpotDetails = class {
|
|
|
292
387
|
getPopupClasses() {
|
|
293
388
|
return {
|
|
294
389
|
JackpotDetailsPopup: true,
|
|
295
|
-
Disabled: !!this.disabledStatus,
|
|
390
|
+
Disabled: !!this.disabledStatus || isBefore(new Date(this.jackpot.JackpotEndTime), new Date()),
|
|
296
391
|
[this.device]: true,
|
|
297
392
|
[this.jackpot.Type.charAt(0).toUpperCase() + this.jackpot.Type.slice(1)]: true
|
|
298
393
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, Element, Event, h, Listen, Prop, State, Watch } from '@stencil/core';
|
|
2
|
+
import { isBefore } from 'date-fns';
|
|
2
3
|
import { translate } from '../../utils/locale.utils';
|
|
3
4
|
import '@everymatrix/casino-engagement-suite-progress-bar';
|
|
4
5
|
import { formatBalance } from '../../utils';
|
|
@@ -184,12 +185,13 @@ export class CasinoEngagementSuiteJackpotDetails {
|
|
|
184
185
|
};
|
|
185
186
|
}
|
|
186
187
|
getJackpotDetailsHeaderTemplate() {
|
|
188
|
+
const joinButtonDisabled = isBefore(new Date(this.jackpot.JackpotEndTime), new Date()) || !!this.disabledStatus;
|
|
187
189
|
return (h("div", { class: "JackpotDetailsHeader" },
|
|
188
190
|
h("div", null,
|
|
189
191
|
h("div", { class: "JackpotType" }, this.jackpot.Type),
|
|
190
192
|
h("div", { class: "JackpotBalance" }, this.getJackpotBalance())),
|
|
191
193
|
h("div", { class: "JackpotDetailsHeaderSecondCol" },
|
|
192
|
-
h("button", { disabled:
|
|
194
|
+
h("button", { disabled: joinButtonDisabled, onClick: this.changeJackpotStatus, class: this.getJoinButtonClasses() }, this.enabled
|
|
193
195
|
? translate('unjoin', this.language)
|
|
194
196
|
: translate('join', this.language)),
|
|
195
197
|
!!this.winBalance && h("div", { class: "JackpotIsWon" }, translate('jackpotIsWon', this.language)))));
|
|
@@ -220,8 +222,8 @@ export class CasinoEngagementSuiteJackpotDetails {
|
|
|
220
222
|
const betCurrencies = Object.keys(this.jackpot.BetLimits);
|
|
221
223
|
const matchedCurrency = betCurrencies.find(currency => currency === playerCurrency);
|
|
222
224
|
const betCurrency = matchedCurrency ? matchedCurrency : betCurrencies[0];
|
|
223
|
-
const showMinBet = this.jackpot.BetLimits && ((_a = this.jackpot.BetLimits[betCurrency]) === null || _a === void 0 ? void 0 : _a.MinBet);
|
|
224
|
-
const showMaxBet = this.jackpot.BetLimits && ((_b = this.jackpot.BetLimits[betCurrency]) === null || _b === void 0 ? void 0 : _b.MaxBet);
|
|
225
|
+
const showMinBet = this.jackpot.BetLimits && !!((_a = this.jackpot.BetLimits[betCurrency]) === null || _a === void 0 ? void 0 : _a.MinBet);
|
|
226
|
+
const showMaxBet = this.jackpot.BetLimits && !!((_b = this.jackpot.BetLimits[betCurrency]) === null || _b === void 0 ? void 0 : _b.MaxBet);
|
|
225
227
|
const formattedMinBet = formatBalance((_c = this.jackpot.BetLimits[betCurrency]) === null || _c === void 0 ? void 0 : _c.MinBet, betCurrency);
|
|
226
228
|
const formattedMaxBet = formatBalance((_d = this.jackpot.BetLimits[betCurrency]) === null || _d === void 0 ? void 0 : _d.MaxBet, betCurrency);
|
|
227
229
|
return h("div", null,
|
|
@@ -271,7 +273,7 @@ export class CasinoEngagementSuiteJackpotDetails {
|
|
|
271
273
|
];
|
|
272
274
|
}
|
|
273
275
|
getJackpotCountdown() {
|
|
274
|
-
const timerMessage = this.disabledStatus || this.timer;
|
|
276
|
+
const timerMessage = translate(this.disabledStatus, this.language) || this.timer;
|
|
275
277
|
return (h("div", { class: `JackpotCountdown ${this.disabledStatus ? 'Suspended' : ''}` }, timerMessage));
|
|
276
278
|
}
|
|
277
279
|
startCountdown() {
|
|
@@ -301,7 +303,7 @@ export class CasinoEngagementSuiteJackpotDetails {
|
|
|
301
303
|
getPopupClasses() {
|
|
302
304
|
return {
|
|
303
305
|
JackpotDetailsPopup: true,
|
|
304
|
-
Disabled: !!this.disabledStatus,
|
|
306
|
+
Disabled: !!this.disabledStatus || isBefore(new Date(this.jackpot.JackpotEndTime), new Date()),
|
|
305
307
|
[this.device]: true,
|
|
306
308
|
[this.jackpot.Type.charAt(0).toUpperCase() + this.jackpot.Type.slice(1)]: true
|
|
307
309
|
};
|
|
@@ -11,11 +11,13 @@ const TRANSLATIONS = {
|
|
|
11
11
|
type: 'Type',
|
|
12
12
|
winningProbability: 'Winning Probability',
|
|
13
13
|
tc: 'Terms & Conditions',
|
|
14
|
-
jackpotIsWon: 'Jackpot
|
|
14
|
+
jackpotIsWon: 'Jackpot is won!',
|
|
15
15
|
loadMore: 'Load More',
|
|
16
16
|
jackpotDetails: 'Jackpot Details',
|
|
17
17
|
minBet: 'Min Bet',
|
|
18
|
-
maxBet: 'Max Bet'
|
|
18
|
+
maxBet: 'Max Bet',
|
|
19
|
+
Suspended: 'Suspended',
|
|
20
|
+
Closed: 'Closed'
|
|
19
21
|
}
|
|
20
22
|
};
|
|
21
23
|
export const translate = (key, customLang) => {
|
|
@@ -1,5 +1,97 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
2
|
|
|
3
|
+
function _typeof(o) {
|
|
4
|
+
"@babel/helpers - typeof";
|
|
5
|
+
|
|
6
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
7
|
+
return typeof o;
|
|
8
|
+
} : function (o) {
|
|
9
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
10
|
+
}, _typeof(o);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function requiredArgs(required, args) {
|
|
14
|
+
if (args.length < required) {
|
|
15
|
+
throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @name toDate
|
|
21
|
+
* @category Common Helpers
|
|
22
|
+
* @summary Convert the given argument to an instance of Date.
|
|
23
|
+
*
|
|
24
|
+
* @description
|
|
25
|
+
* Convert the given argument to an instance of Date.
|
|
26
|
+
*
|
|
27
|
+
* If the argument is an instance of Date, the function returns its clone.
|
|
28
|
+
*
|
|
29
|
+
* If the argument is a number, it is treated as a timestamp.
|
|
30
|
+
*
|
|
31
|
+
* If the argument is none of the above, the function returns Invalid Date.
|
|
32
|
+
*
|
|
33
|
+
* **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
|
|
34
|
+
*
|
|
35
|
+
* @param {Date|Number} argument - the value to convert
|
|
36
|
+
* @returns {Date} the parsed date in the local time zone
|
|
37
|
+
* @throws {TypeError} 1 argument required
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* // Clone the date:
|
|
41
|
+
* const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
|
|
42
|
+
* //=> Tue Feb 11 2014 11:30:30
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // Convert the timestamp to date:
|
|
46
|
+
* const result = toDate(1392098430000)
|
|
47
|
+
* //=> Tue Feb 11 2014 11:30:30
|
|
48
|
+
*/
|
|
49
|
+
function toDate(argument) {
|
|
50
|
+
requiredArgs(1, arguments);
|
|
51
|
+
var argStr = Object.prototype.toString.call(argument);
|
|
52
|
+
|
|
53
|
+
// Clone the date
|
|
54
|
+
if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {
|
|
55
|
+
// Prevent the date to lose the milliseconds when passed to new Date() in IE10
|
|
56
|
+
return new Date(argument.getTime());
|
|
57
|
+
} else if (typeof argument === 'number' || argStr === '[object Number]') {
|
|
58
|
+
return new Date(argument);
|
|
59
|
+
} else {
|
|
60
|
+
if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {
|
|
61
|
+
// eslint-disable-next-line no-console
|
|
62
|
+
console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments");
|
|
63
|
+
// eslint-disable-next-line no-console
|
|
64
|
+
console.warn(new Error().stack);
|
|
65
|
+
}
|
|
66
|
+
return new Date(NaN);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @name isBefore
|
|
72
|
+
* @category Common Helpers
|
|
73
|
+
* @summary Is the first date before the second one?
|
|
74
|
+
*
|
|
75
|
+
* @description
|
|
76
|
+
* Is the first date before the second one?
|
|
77
|
+
*
|
|
78
|
+
* @param {Date|Number} date - the date that should be before the other one to return true
|
|
79
|
+
* @param {Date|Number} dateToCompare - the date to compare with
|
|
80
|
+
* @returns {Boolean} the first date is before the second date
|
|
81
|
+
* @throws {TypeError} 2 arguments required
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* // Is 10 July 1989 before 11 February 1987?
|
|
85
|
+
* const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))
|
|
86
|
+
* //=> false
|
|
87
|
+
*/
|
|
88
|
+
function isBefore(dirtyDate, dirtyDateToCompare) {
|
|
89
|
+
requiredArgs(2, arguments);
|
|
90
|
+
var date = toDate(dirtyDate);
|
|
91
|
+
var dateToCompare = toDate(dirtyDateToCompare);
|
|
92
|
+
return date.getTime() < dateToCompare.getTime();
|
|
93
|
+
}
|
|
94
|
+
|
|
3
95
|
const DEFAULT_LANGUAGE = 'en';
|
|
4
96
|
const SUPPORTED_LANGUAGES = ['en'];
|
|
5
97
|
const TRANSLATIONS = {
|
|
@@ -13,11 +105,13 @@ const TRANSLATIONS = {
|
|
|
13
105
|
type: 'Type',
|
|
14
106
|
winningProbability: 'Winning Probability',
|
|
15
107
|
tc: 'Terms & Conditions',
|
|
16
|
-
jackpotIsWon: 'Jackpot
|
|
108
|
+
jackpotIsWon: 'Jackpot is won!',
|
|
17
109
|
loadMore: 'Load More',
|
|
18
110
|
jackpotDetails: 'Jackpot Details',
|
|
19
111
|
minBet: 'Min Bet',
|
|
20
|
-
maxBet: 'Max Bet'
|
|
112
|
+
maxBet: 'Max Bet',
|
|
113
|
+
Suspended: 'Suspended',
|
|
114
|
+
Closed: 'Closed'
|
|
21
115
|
}
|
|
22
116
|
};
|
|
23
117
|
const translate = (key, customLang) => {
|
|
@@ -215,7 +309,8 @@ const CasinoEngagementSuiteJackpotDetails$1 = /*@__PURE__*/ proxyCustomElement(c
|
|
|
215
309
|
};
|
|
216
310
|
}
|
|
217
311
|
getJackpotDetailsHeaderTemplate() {
|
|
218
|
-
|
|
312
|
+
const joinButtonDisabled = isBefore(new Date(this.jackpot.JackpotEndTime), new Date()) || !!this.disabledStatus;
|
|
313
|
+
return (h("div", { class: "JackpotDetailsHeader" }, h("div", null, h("div", { class: "JackpotType" }, this.jackpot.Type), h("div", { class: "JackpotBalance" }, this.getJackpotBalance())), h("div", { class: "JackpotDetailsHeaderSecondCol" }, h("button", { disabled: joinButtonDisabled, onClick: this.changeJackpotStatus, class: this.getJoinButtonClasses() }, this.enabled
|
|
219
314
|
? translate('unjoin', this.language)
|
|
220
315
|
: translate('join', this.language)), !!this.winBalance && h("div", { class: "JackpotIsWon" }, translate('jackpotIsWon', this.language)))));
|
|
221
316
|
}
|
|
@@ -237,8 +332,8 @@ const CasinoEngagementSuiteJackpotDetails$1 = /*@__PURE__*/ proxyCustomElement(c
|
|
|
237
332
|
const betCurrencies = Object.keys(this.jackpot.BetLimits);
|
|
238
333
|
const matchedCurrency = betCurrencies.find(currency => currency === playerCurrency);
|
|
239
334
|
const betCurrency = matchedCurrency ? matchedCurrency : betCurrencies[0];
|
|
240
|
-
const showMinBet = this.jackpot.BetLimits && ((_a = this.jackpot.BetLimits[betCurrency]) === null || _a === void 0 ? void 0 : _a.MinBet);
|
|
241
|
-
const showMaxBet = this.jackpot.BetLimits && ((_b = this.jackpot.BetLimits[betCurrency]) === null || _b === void 0 ? void 0 : _b.MaxBet);
|
|
335
|
+
const showMinBet = this.jackpot.BetLimits && !!((_a = this.jackpot.BetLimits[betCurrency]) === null || _a === void 0 ? void 0 : _a.MinBet);
|
|
336
|
+
const showMaxBet = this.jackpot.BetLimits && !!((_b = this.jackpot.BetLimits[betCurrency]) === null || _b === void 0 ? void 0 : _b.MaxBet);
|
|
242
337
|
const formattedMinBet = formatBalance((_c = this.jackpot.BetLimits[betCurrency]) === null || _c === void 0 ? void 0 : _c.MinBet, betCurrency);
|
|
243
338
|
const formattedMaxBet = formatBalance((_d = this.jackpot.BetLimits[betCurrency]) === null || _d === void 0 ? void 0 : _d.MaxBet, betCurrency);
|
|
244
339
|
return h("div", null, showMinBet && h("div", { class: "JackpotInfoItem" }, translate('minBet', this.language), ":\u00A0", h("span", null, formattedMinBet)), showMaxBet && h("div", { class: "JackpotInfoItem" }, translate('maxBet', this.language), ":\u00A0", h("span", null, formattedMaxBet)));
|
|
@@ -260,7 +355,7 @@ const CasinoEngagementSuiteJackpotDetails$1 = /*@__PURE__*/ proxyCustomElement(c
|
|
|
260
355
|
];
|
|
261
356
|
}
|
|
262
357
|
getJackpotCountdown() {
|
|
263
|
-
const timerMessage = this.disabledStatus || this.timer;
|
|
358
|
+
const timerMessage = translate(this.disabledStatus, this.language) || this.timer;
|
|
264
359
|
return (h("div", { class: `JackpotCountdown ${this.disabledStatus ? 'Suspended' : ''}` }, timerMessage));
|
|
265
360
|
}
|
|
266
361
|
startCountdown() {
|
|
@@ -290,7 +385,7 @@ const CasinoEngagementSuiteJackpotDetails$1 = /*@__PURE__*/ proxyCustomElement(c
|
|
|
290
385
|
getPopupClasses() {
|
|
291
386
|
return {
|
|
292
387
|
JackpotDetailsPopup: true,
|
|
293
|
-
Disabled: !!this.disabledStatus,
|
|
388
|
+
Disabled: !!this.disabledStatus || isBefore(new Date(this.jackpot.JackpotEndTime), new Date()),
|
|
294
389
|
[this.device]: true,
|
|
295
390
|
[this.jackpot.Type.charAt(0).toUpperCase() + this.jackpot.Type.slice(1)]: true
|
|
296
391
|
};
|
|
@@ -1,5 +1,97 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-5707e619.js';
|
|
2
2
|
|
|
3
|
+
function _typeof(o) {
|
|
4
|
+
"@babel/helpers - typeof";
|
|
5
|
+
|
|
6
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
7
|
+
return typeof o;
|
|
8
|
+
} : function (o) {
|
|
9
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
10
|
+
}, _typeof(o);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function requiredArgs(required, args) {
|
|
14
|
+
if (args.length < required) {
|
|
15
|
+
throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @name toDate
|
|
21
|
+
* @category Common Helpers
|
|
22
|
+
* @summary Convert the given argument to an instance of Date.
|
|
23
|
+
*
|
|
24
|
+
* @description
|
|
25
|
+
* Convert the given argument to an instance of Date.
|
|
26
|
+
*
|
|
27
|
+
* If the argument is an instance of Date, the function returns its clone.
|
|
28
|
+
*
|
|
29
|
+
* If the argument is a number, it is treated as a timestamp.
|
|
30
|
+
*
|
|
31
|
+
* If the argument is none of the above, the function returns Invalid Date.
|
|
32
|
+
*
|
|
33
|
+
* **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
|
|
34
|
+
*
|
|
35
|
+
* @param {Date|Number} argument - the value to convert
|
|
36
|
+
* @returns {Date} the parsed date in the local time zone
|
|
37
|
+
* @throws {TypeError} 1 argument required
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* // Clone the date:
|
|
41
|
+
* const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
|
|
42
|
+
* //=> Tue Feb 11 2014 11:30:30
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // Convert the timestamp to date:
|
|
46
|
+
* const result = toDate(1392098430000)
|
|
47
|
+
* //=> Tue Feb 11 2014 11:30:30
|
|
48
|
+
*/
|
|
49
|
+
function toDate(argument) {
|
|
50
|
+
requiredArgs(1, arguments);
|
|
51
|
+
var argStr = Object.prototype.toString.call(argument);
|
|
52
|
+
|
|
53
|
+
// Clone the date
|
|
54
|
+
if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {
|
|
55
|
+
// Prevent the date to lose the milliseconds when passed to new Date() in IE10
|
|
56
|
+
return new Date(argument.getTime());
|
|
57
|
+
} else if (typeof argument === 'number' || argStr === '[object Number]') {
|
|
58
|
+
return new Date(argument);
|
|
59
|
+
} else {
|
|
60
|
+
if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {
|
|
61
|
+
// eslint-disable-next-line no-console
|
|
62
|
+
console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments");
|
|
63
|
+
// eslint-disable-next-line no-console
|
|
64
|
+
console.warn(new Error().stack);
|
|
65
|
+
}
|
|
66
|
+
return new Date(NaN);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @name isBefore
|
|
72
|
+
* @category Common Helpers
|
|
73
|
+
* @summary Is the first date before the second one?
|
|
74
|
+
*
|
|
75
|
+
* @description
|
|
76
|
+
* Is the first date before the second one?
|
|
77
|
+
*
|
|
78
|
+
* @param {Date|Number} date - the date that should be before the other one to return true
|
|
79
|
+
* @param {Date|Number} dateToCompare - the date to compare with
|
|
80
|
+
* @returns {Boolean} the first date is before the second date
|
|
81
|
+
* @throws {TypeError} 2 arguments required
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* // Is 10 July 1989 before 11 February 1987?
|
|
85
|
+
* const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))
|
|
86
|
+
* //=> false
|
|
87
|
+
*/
|
|
88
|
+
function isBefore(dirtyDate, dirtyDateToCompare) {
|
|
89
|
+
requiredArgs(2, arguments);
|
|
90
|
+
var date = toDate(dirtyDate);
|
|
91
|
+
var dateToCompare = toDate(dirtyDateToCompare);
|
|
92
|
+
return date.getTime() < dateToCompare.getTime();
|
|
93
|
+
}
|
|
94
|
+
|
|
3
95
|
const DEFAULT_LANGUAGE = 'en';
|
|
4
96
|
const SUPPORTED_LANGUAGES = ['en'];
|
|
5
97
|
const TRANSLATIONS = {
|
|
@@ -13,11 +105,13 @@ const TRANSLATIONS = {
|
|
|
13
105
|
type: 'Type',
|
|
14
106
|
winningProbability: 'Winning Probability',
|
|
15
107
|
tc: 'Terms & Conditions',
|
|
16
|
-
jackpotIsWon: 'Jackpot
|
|
108
|
+
jackpotIsWon: 'Jackpot is won!',
|
|
17
109
|
loadMore: 'Load More',
|
|
18
110
|
jackpotDetails: 'Jackpot Details',
|
|
19
111
|
minBet: 'Min Bet',
|
|
20
|
-
maxBet: 'Max Bet'
|
|
112
|
+
maxBet: 'Max Bet',
|
|
113
|
+
Suspended: 'Suspended',
|
|
114
|
+
Closed: 'Closed'
|
|
21
115
|
}
|
|
22
116
|
};
|
|
23
117
|
const translate = (key, customLang) => {
|
|
@@ -213,7 +307,8 @@ const CasinoEngagementSuiteJackpotDetails = class {
|
|
|
213
307
|
};
|
|
214
308
|
}
|
|
215
309
|
getJackpotDetailsHeaderTemplate() {
|
|
216
|
-
|
|
310
|
+
const joinButtonDisabled = isBefore(new Date(this.jackpot.JackpotEndTime), new Date()) || !!this.disabledStatus;
|
|
311
|
+
return (h("div", { class: "JackpotDetailsHeader" }, h("div", null, h("div", { class: "JackpotType" }, this.jackpot.Type), h("div", { class: "JackpotBalance" }, this.getJackpotBalance())), h("div", { class: "JackpotDetailsHeaderSecondCol" }, h("button", { disabled: joinButtonDisabled, onClick: this.changeJackpotStatus, class: this.getJoinButtonClasses() }, this.enabled
|
|
217
312
|
? translate('unjoin', this.language)
|
|
218
313
|
: translate('join', this.language)), !!this.winBalance && h("div", { class: "JackpotIsWon" }, translate('jackpotIsWon', this.language)))));
|
|
219
314
|
}
|
|
@@ -235,8 +330,8 @@ const CasinoEngagementSuiteJackpotDetails = class {
|
|
|
235
330
|
const betCurrencies = Object.keys(this.jackpot.BetLimits);
|
|
236
331
|
const matchedCurrency = betCurrencies.find(currency => currency === playerCurrency);
|
|
237
332
|
const betCurrency = matchedCurrency ? matchedCurrency : betCurrencies[0];
|
|
238
|
-
const showMinBet = this.jackpot.BetLimits && ((_a = this.jackpot.BetLimits[betCurrency]) === null || _a === void 0 ? void 0 : _a.MinBet);
|
|
239
|
-
const showMaxBet = this.jackpot.BetLimits && ((_b = this.jackpot.BetLimits[betCurrency]) === null || _b === void 0 ? void 0 : _b.MaxBet);
|
|
333
|
+
const showMinBet = this.jackpot.BetLimits && !!((_a = this.jackpot.BetLimits[betCurrency]) === null || _a === void 0 ? void 0 : _a.MinBet);
|
|
334
|
+
const showMaxBet = this.jackpot.BetLimits && !!((_b = this.jackpot.BetLimits[betCurrency]) === null || _b === void 0 ? void 0 : _b.MaxBet);
|
|
240
335
|
const formattedMinBet = formatBalance((_c = this.jackpot.BetLimits[betCurrency]) === null || _c === void 0 ? void 0 : _c.MinBet, betCurrency);
|
|
241
336
|
const formattedMaxBet = formatBalance((_d = this.jackpot.BetLimits[betCurrency]) === null || _d === void 0 ? void 0 : _d.MaxBet, betCurrency);
|
|
242
337
|
return h("div", null, showMinBet && h("div", { class: "JackpotInfoItem" }, translate('minBet', this.language), ":\u00A0", h("span", null, formattedMinBet)), showMaxBet && h("div", { class: "JackpotInfoItem" }, translate('maxBet', this.language), ":\u00A0", h("span", null, formattedMaxBet)));
|
|
@@ -258,7 +353,7 @@ const CasinoEngagementSuiteJackpotDetails = class {
|
|
|
258
353
|
];
|
|
259
354
|
}
|
|
260
355
|
getJackpotCountdown() {
|
|
261
|
-
const timerMessage = this.disabledStatus || this.timer;
|
|
356
|
+
const timerMessage = translate(this.disabledStatus, this.language) || this.timer;
|
|
262
357
|
return (h("div", { class: `JackpotCountdown ${this.disabledStatus ? 'Suspended' : ''}` }, timerMessage));
|
|
263
358
|
}
|
|
264
359
|
startCountdown() {
|
|
@@ -288,7 +383,7 @@ const CasinoEngagementSuiteJackpotDetails = class {
|
|
|
288
383
|
getPopupClasses() {
|
|
289
384
|
return {
|
|
290
385
|
JackpotDetailsPopup: true,
|
|
291
|
-
Disabled: !!this.disabledStatus,
|
|
386
|
+
Disabled: !!this.disabledStatus || isBefore(new Date(this.jackpot.JackpotEndTime), new Date()),
|
|
292
387
|
[this.device]: true,
|
|
293
388
|
[this.jackpot.Type.charAt(0).toUpperCase() + this.jackpot.Type.slice(1)]: true
|
|
294
389
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
declare type JackpotCloseReasonType = 'Closed' | 'Suspended';
|
|
1
2
|
export interface JoinJackpotResult {
|
|
2
3
|
Success: boolean;
|
|
3
4
|
JackpotIds: {
|
|
@@ -41,5 +42,6 @@ export interface Jackpot {
|
|
|
41
42
|
JackpotEndTime: string;
|
|
42
43
|
GamesInfo: Array<Game>;
|
|
43
44
|
WinBalance?: number;
|
|
44
|
-
Reason?:
|
|
45
|
+
Reason?: JackpotCloseReasonType;
|
|
45
46
|
}
|
|
47
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as a,g as o}from"./p-0135e830.js";const i=["en"],s={en:{jackpots:"Jackpots",join:"Join",unjoin:"Unjoin",info:"Info",games:"Games",operatorContribution:"Operator Contribution",type:"Type",winningProbability:"Winning Probability",tc:"Terms & Conditions",jackpotIsWon:"Jackpot’s won!",loadMore:"Load More",jackpotDetails:"Jackpot Details",minBet:"Min Bet",maxBet:"Max Bet"}},p=(t,e)=>{const a=e;return s[void 0!==a&&i.includes(a)?a:"en"][t]};function n(t,e,a=99999999){return t=Math.min(t,a),`${e} ${new Intl.NumberFormat("en",{minimumFractionDigits:2,maximumFractionDigits:2}).format(t)}`}const c=class{constructor(a){t(this,a),this.close=e(this,"close",7),this.back=e(this,"back",7),this.clientStyling="",this.clientStylingUrl="",this.language="en",this.gameSlug="",this.device="Mobile",this.limitStylingAppends=!1,this.timer="",this.disabledStatus="",this.activeTab=1,this.visibleGames=[],this.loading=!1,this.enabled=!1,this.showDetails=!1,this.jackpotEndTime="",this.maxVisibleGames=0,this.handleTabChange=t=>{this.activeTab=+t.target.getAttribute("data-index"),this.visibleGames=[],this.maxVisibleGames=0},this.handleLoadMore=()=>{this.visibleGames=this.jackpot.GamesInfo.slice(0,this.visibleGames.length+this.maxVisibleGames)},this.toggleShowDetails=()=>{this.showDetails=!this.showDetails},this.changeJackpotStatus=t=>{t.stopPropagation(),window.postMessage({type:"JackpotChangeStatusRequest",data:{[this.jackpot.JackpotId]:!this.jackpot.Enabled}}),this.loading=!0},this.setClientStyling=()=>{let t=document.createElement("style");t.innerHTML=this.clientStyling,this.host.prepend(t)},this.setClientStylingURL=()=>{let t=new URL(this.clientStylingUrl),e=document.createElement("style");fetch(t.href).then((t=>t.text())).then((t=>{e.innerHTML=t,setTimeout((()=>{this.host.prepend(e)}),1)})).catch((t=>{console.log("Error ",t)}))},this.handleCloseClick=()=>{this.close.emit()},this.handleBackClick=()=>{this.back.emit()},this.onGameClick=t=>{const e=t.currentTarget.getAttribute("data-slug");e&&window.postMessage({type:"EngagementSuiteGameRedirect",data:{Slug:e}})}}handleEvent(t){const{type:e,data:a}=null==t?void 0:t.data;switch(e){case"UpdateJackpotStatus":this.updateJackpotStatus(t.data.data);break;case"JoinJackpotResult":{const t=a;t.Success&&this.jackpot.JackpotId in t.JackpotIds&&(this.enabled=this.jackpot.Enabled=t.JackpotIds[this.jackpot.JackpotId]),this.loading=!1;break}}}handleJackpotUpdate(){this.balance=this.jackpot.Balance,this.winBalance=this.jackpot.WinBalance}handleResize(){2===this.activeTab&&this.setVisibleGames()}componentWillLoad(){this.enabled=this.jackpot.Enabled,this.balance=this.jackpot.Balance,this.winBalance=this.jackpot.WinBalance,this.jackpotEndTime=this.jackpot.JackpotEndTime,this.disabledStatus=this.jackpot.Reason||"",this.startCountdown()}componentDidRender(){!this.limitStylingAppends&&this.host&&(this.clientStyling&&this.setClientStyling(),this.clientStylingUrl&&this.setClientStylingURL(),this.limitStylingAppends=!0),2!==this.activeTab||this.maxVisibleGames||this.setVisibleGames()}disconnectedCallback(){this.clearInterval()}clearInterval(){this.interval&&(clearInterval(this.interval),this.interval=null)}setVisibleGames(){const t="Mobile"===this.device?10:12,e="Mobile"===this.device?4:5;this.maxVisibleGames=Math.max(Math.floor(this.gamesListWrapperEl.offsetHeight/((this.gamesListWrapperEl.offsetWidth-t*(e-1))/e/74*40+t))*e,e),this.visibleGames=this.jackpot.GamesInfo.slice(0,this.maxVisibleGames)}updateJackpotStatus(t){t.IsClosed?(this.clearInterval(),this.disabledStatus=t.Reason,this.activeTab=1):(this.disabledStatus="",this.jackpotEndTime=t.JackpotEndTime,this.startCountdown())}getTopNavigationTemplate(){return a("div",{class:"JackpotDetailsNavigation"},a("button",{class:"JackpotIconButton",onClick:this.handleBackClick},a("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/back.svg",alt:"back"})),a("div",{class:"JackpotPopupName"},p("jackpots",this.language)),a("button",{class:"JackpotIconButton",onClick:this.handleCloseClick},a("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/close.svg",alt:"close"})))}getJackpotBalance(){return n(this.balance,this.jackpot.Currency)}getJoinButtonClasses(){return{PopupButton:!0,Active:this.enabled,Loading:this.loading}}getJackpotDetailsHeaderTemplate(){return a("div",{class:"JackpotDetailsHeader"},a("div",null,a("div",{class:"JackpotType"},this.jackpot.Type),a("div",{class:"JackpotBalance"},this.getJackpotBalance())),a("div",{class:"JackpotDetailsHeaderSecondCol"},a("button",{disabled:!!this.disabledStatus,onClick:this.changeJackpotStatus,class:this.getJoinButtonClasses()},p(this.enabled?"unjoin":"join",this.language)),!!this.winBalance&&a("div",{class:"JackpotIsWon"},p("jackpotIsWon",this.language))))}getTabsTemplate(){return a("div",{class:"JackpotDetailsTabs"},a("div",{"data-index":"1",onClick:this.handleTabChange,class:"JackpotDetailsTab "+(1===this.activeTab?"Active":"")},p("info",this.language)),a("div",{"data-index":"2",onClick:this.handleTabChange,class:"JackpotDetailsTab "+(2===this.activeTab?"Active":"")},p("games",this.language)))}getTabsContentTemplate(){return 1===this.activeTab?this.getJackpotInfoTemplate():this.getGamesTemplate()}getJackpotDetailsTemplate(){return a("div",null,a("div",{class:"JackpotDetailsButton",onClick:this.toggleShowDetails},a("div",{class:"Toggle "+(this.showDetails?"Closed":"Open")}),a("span",null,p("jackpotDetails",this.language))),this.showDetails&&a("div",{class:"JackpotDetailsContent"},this.jackpot.Description&&a("p",{class:"JackpotDescription"},this.jackpot.Description),this.jackpot.JackpotRulesUrl&&a("a",{class:"TermsAndConditions",href:this.jackpot.JackpotRulesUrl,target:"_blank"},p("tc",this.jackpot.JackpotRulesUrl))))}getBetLimitsRange(){var t,e,o,i;if(this.jackpot.BetLimits){const s=this.jackpot.Currency,c=Object.keys(this.jackpot.BetLimits),l=c.find((t=>t===s))||c[0],r=this.jackpot.BetLimits&&(null===(t=this.jackpot.BetLimits[l])||void 0===t?void 0:t.MinBet),h=this.jackpot.BetLimits&&(null===(e=this.jackpot.BetLimits[l])||void 0===e?void 0:e.MaxBet),k=n(null===(o=this.jackpot.BetLimits[l])||void 0===o?void 0:o.MinBet,l),d=n(null===(i=this.jackpot.BetLimits[l])||void 0===i?void 0:i.MaxBet,l);return a("div",null,r&&a("div",{class:"JackpotInfoItem"},p("minBet",this.language),": ",a("span",null,k)),h&&a("div",{class:"JackpotInfoItem"},p("maxBet",this.language),": ",a("span",null,d)))}}getJackpotInfoTemplate(){return a("div",{class:"JackpotInfoTabContent"},!(!this.jackpot.Description&&!this.jackpot.JackpotRulesUrl)&&this.getJackpotDetailsTemplate(),a("div",{class:"JackpotInfo"},a("div",{class:"JackpotInfoItem"},p("operatorContribution",this.language),": ",a("span",null,+this.jackpot.OperatorContributionPercent,"%")),a("div",{class:"JackpotInfoItem"},p("type",this.language),": ",a("span",null,this.jackpot.JackpotTypePresentation)),a("div",{class:"JackpotInfoItem"},p("winningProbability",this.language),": ",a("span",null,"1:",this.jackpot.Probability)),this.getBetLimitsRange()))}getGamesTemplate(){const t=this.visibleGames.map((t=>a("div",{onClick:this.onGameClick,class:"JackpotGamesListItem "+(t.GameSlug===this.gameSlug?"Disabled":""),key:t.CasinoGameId,"data-slug":t.GameSlug,style:{background:`center / cover url(${t.GameIcon}) no-repeat`},title:t.GameName})));return[a("div",{class:"JackpotGamesListWrapper",ref:t=>this.gamesListWrapperEl=t},a("div",{class:"JackpotGamesList"},t)),this.visibleGames.length<this.jackpot.GamesInfo.length?a("button",{class:"PopupButton Active JackpotGamesButton",onClick:this.handleLoadMore},p("loadMore",this.language)):""]}getJackpotCountdown(){return a("div",{class:"JackpotCountdown "+(this.disabledStatus?"Suspended":"")},this.disabledStatus||this.timer)}startCountdown(){this.updateTimer(),this.interval=setInterval((()=>{this.updateTimer()}),1e3)}updateTimer(){const t=new Date(this.jackpotEndTime).getTime()-(new Date).getTime();if(t<1)return void this.clearInterval();const{days:e,hours:a,minutes:o,seconds:i}={days:String(Math.floor(t/864e5)).padStart(2,"0"),hours:String(Math.floor(t%864e5/36e5)).padStart(2,"0"),minutes:String(Math.floor(t%36e5/6e4)).padStart(2,"0"),seconds:String(Math.floor(t%6e4/1e3)).padStart(2,"0")};this.timer="00"===e?`${a}h:${o}m:${i}s`:`${e}d:${a}h:${o}m`}getPopupClasses(){return{JackpotDetailsPopup:!0,Disabled:!!this.disabledStatus,[this.device]:!0,[this.jackpot.Type.charAt(0).toUpperCase()+this.jackpot.Type.slice(1)]:!0}}render(){return a("div",{class:this.getPopupClasses()},this.getTopNavigationTemplate(),a("div",{class:"JackpotDetailsPopupContent"},this.getJackpotDetailsHeaderTemplate(),this.getJackpotCountdown(),this.getTabsTemplate(),this.getTabsContentTemplate()))}get host(){return o(this)}static get watchers(){return{jackpot:["handleJackpotUpdate"]}}};c.style=':host{display:block;font-family:inherit}*{box-sizing:border-box;margin:0;padding:0}button{border:none;background:none;touch-action:manipulation}button:focus{outline:none}button:not(:disabled){cursor:pointer}.PopupButton{background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);color:var(--emw--color-typography, #1E1638);border-radius:99px;min-width:88px;min-height:32px;font-size:14px;font-weight:700;position:relative;font-family:"Montserrat", sans-serif}.PopupButton.Active{background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.PopupButton.Active::before{content:"";position:absolute;inset:0;padding:1px;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);-webkit-mask:linear-gradient(#FFF 0 0) content-box, linear-gradient(#FFF 0 0);-webkit-mask-composite:xor;mask-composite:exclude;border-radius:99px}.PopupButton.Loading{opacity:0.5;pointer-events:none}.JackpotDetailsPopup{display:flex;height:100%;background-color:var(--emw--color-background, #1E1638);border-radius:8px;overflow:hidden;flex-direction:column;position:relative}.JackpotDetailsPopup.Disabled .JackpotDetailsHeader{opacity:0.5}.JackpotDetailsPopup.Disabled .JackpotDetailsTabs{cursor:default;pointer-events:none}.JackpotDetailsPopup.Disabled .JackpotDescription,.JackpotDetailsPopup.Disabled .TermsAndConditions,.JackpotDetailsPopup.Disabled .JackpotInfoItem{color:var(--emw--color-primary, #8F8B9C)}.JackpotGamesListWrapper,.JackpotInfoTabContent{overflow-x:auto;scrollbar-gutter:stable}.JackpotGamesListWrapper::-webkit-scrollbar,.JackpotInfoTabContent::-webkit-scrollbar{width:3px;background:none}.JackpotGamesListWrapper::-webkit-scrollbar-thumb,.JackpotInfoTabContent::-webkit-scrollbar-thumb{border-radius:4px;background:var(--emw--color-gray-transparency-30, rgba(255, 255, 255, 0.3))}.JackpotDetailsNavigation{display:flex;justify-content:space-between;align-items:center;padding:12px 8px 8px}.JackpotDetailsNavigation .JackpotIconButton{width:16px;height:16px;cursor:pointer;display:flex;justify-content:center;align-items:center}.JackpotDetailsNavigation .JackpotPopupName{color:var(--emw--color-gray-100, #BBB9C3);font-size:16px;font-weight:500;line-height:16px;display:none}.JackpotDetailsPopupContent{padding:8px 18px 18px;overflow:hidden;height:100%;display:flex;flex-direction:column}.JackpotDetailsHeader{display:flex;justify-content:space-between;align-items:center;gap:12px}.JackpotDetailsHeader .JackpotDetailsHeaderSecondCol{text-align:right}.JackpotDetailsHeader .JackpotType{text-transform:uppercase;font-family:"Montserrat", sans-serif;font-size:var(--emw--font-size-medium, 18px);font-weight:var(--emw--font-weight-bold, 700);line-height:22px;color:var(--emfe-w-color-white, #FFF);word-break:break-all}.JackpotDetailsHeader .JackpotBalance{margin-top:8px;font-family:Montserrat, sans-serif;font-size:18px;font-weight:var(--emw--font-weight-bold, 800);line-height:18px}.JackpotDetailsHeader .JackpotIsWon{margin-top:8px;font-family:Montserrat, sans-serif;font-weight:var(--emw--font-weight-bold, 700);font-size:12px;line-height:15px;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.JackpotDetailsPopup.Mega .JackpotBalance{background:linear-gradient(180deg, #FFB801 15.86%, #FEF746 31.36%, #FBFFE0 36.86%, #FFFA60 47.86%, #FF9400 87.36%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.JackpotDetailsPopup.Major .JackpotBalance{background:linear-gradient(180deg, #A19FA0 5.36%, #E1DBDB 28.86%, #FEFFFF 36.86%, #E1DBDB 44.36%, #5E5B5F 91.86%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.JackpotDetailsPopup.Minor .JackpotBalance{background:linear-gradient(180deg, #A0522C 5.36%, #FFAB8C 28.86%, #FFEEDF 36.86%, #FFAB8C 44.36%, #6A3A21 91.86%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.JackpotGamesLoadMore::before,.JackpotJoinButton.Joined::before{content:"";position:absolute;inset:0;border-radius:var(--emw--button-border-radius, 4px);padding:1px;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);-webkit-mask:linear-gradient(#FFF 0 0) content-box, linear-gradient(#FFF 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.JackpotGamesButton{margin-top:12px;align-self:center;min-width:140px}.JackpotCountdown{font-size:var(--emw--font-size-x-small, 12px);line-height:12px;margin-top:12px;color:var(--emw--color-gray-150, #BBB9C3)}.JackpotCountdown.Suspended{font-weight:var(--emw--font-weight-bold, 700);color:var(--emfe-w-color-white, #FFF);text-transform:capitalize}.JackpotDetailsTabsWrapper{display:flex;flex-direction:column}.JackpotDetailsTabs{margin-top:20px;display:flex;position:relative}.JackpotDetailsTabs .JackpotDetailsTab{padding:9px 16px 7px;font-weight:500;font-size:12px;line-height:15px;color:var(--emw--color-background, #666178);border-bottom:2px solid transparent;cursor:pointer}.JackpotDetailsTabs .JackpotDetailsTab.Active{color:var(--emw--color-typography, #FFF);border-color:var(--emw--color-typography, #FFF)}.JackpotDetailsTabs::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--emw--color-typography, #FFF);opacity:0.1}.JackpotInfoItem{margin-bottom:8px;color:var(--emw--color-typography, #FFF);font-size:14px;line-height:17px}.JackpotInfoItem span{font-weight:var(--emw--font-weight-bold, 700)}.JackpotGamesListWrapper{overflow:auto;flex-grow:1}.JackpotGamesList{display:flex;gap:10px;flex-wrap:wrap}.JackpotGamesList .JackpotGamesListItem{width:calc(25% - 8px);aspect-ratio:74/40;cursor:pointer}.JackpotGamesList .JackpotGamesListItem.Disabled{opacity:0.5;pointer-events:none;cursor:auto}.JackpotDetailsButton{margin-top:12px;display:flex;align-items:center;font-size:var(--emw--font-size-x-small, 12px);line-height:12px;color:var(--emw--color-primary-variant, #666178);cursor:pointer}.JackpotDetailsButton .Toggle{width:16px;height:16px;margin-right:4px}.JackpotDetailsButton .Closed{background:center/100% url("https://static.everymatrix.com/gic/img/engagement-suite/eye-closed.svg")}.JackpotDetailsButton .Open{background:center/100% url("https://static.everymatrix.com/gic/img/engagement-suite/eye-open.svg")}.JackpotInfo{margin-top:24px}.JackpotDescription{margin-top:12px;color:var(--emw--color-typography, #FFF);font-size:var(--emw--font-size-small, 14px);line-height:17px}.TermsAndConditions{display:block;margin-top:12px;color:var(--emw--color-primary, #59D1FF);font-size:var(--emw--font-size-small, 14px);line-height:17px}.JackpotDetailsPopup.Tablet .JackpotDetailsButton,.JackpotDetailsPopup.Desktop .JackpotDetailsButton{margin-top:20px}.JackpotDetailsPopup.Tablet .JackpotDescription,.JackpotDetailsPopup.Desktop .JackpotDescription{font-size:var(--emw--font-size-medium, 16px);line-height:22px}.JackpotDetailsPopup.Tablet .JackpotPopupName,.JackpotDetailsPopup.Desktop .JackpotPopupName{display:block}.JackpotDetailsPopup.Tablet .JackpotDetailsNavigation,.JackpotDetailsPopup.Desktop .JackpotDetailsNavigation{padding-top:16px}.JackpotDetailsPopup.Tablet .JackpotIconButton,.JackpotDetailsPopup.Desktop .JackpotIconButton{width:24px;height:24px}.JackpotDetailsPopup.Tablet .JackpotDetailsPopupContent,.JackpotDetailsPopup.Desktop .JackpotDetailsPopupContent{padding:20px 24px 30px}.JackpotDetailsPopup.Tablet .JackpotBalance,.JackpotDetailsPopup.Tablet .JackpotType,.JackpotDetailsPopup.Desktop .JackpotBalance,.JackpotDetailsPopup.Desktop .JackpotType{line-height:27px;font-size:22px}.JackpotDetailsPopup.Tablet .JackpotBalance,.JackpotDetailsPopup.Desktop .JackpotBalance{font-weight:var(--emw--font-weight-bold, 700)}.JackpotDetailsPopup.Tablet .PopupButton,.JackpotDetailsPopup.Desktop .PopupButton{min-height:36px;font-size:16px}.JackpotDetailsPopup.Tablet .JackpotCountdown,.JackpotDetailsPopup.Desktop .JackpotCountdown{font-size:var(--emw--font-size-small, 14px);line-height:14px}.JackpotDetailsPopup.Tablet .JackpotInfoItem,.JackpotDetailsPopup.Desktop .JackpotInfoItem{font-size:16px;line-height:20px}.JackpotDetailsPopup.Tablet .JackpotIsWon,.JackpotDetailsPopup.Desktop .JackpotIsWon{font-size:14px;line-height:17px}.JackpotDetailsPopup.Tablet .JackpotGamesList,.JackpotDetailsPopup.Desktop .JackpotGamesList{gap:12px}.JackpotDetailsPopup.Tablet .JackpotGamesList .JackpotGamesListItem,.JackpotDetailsPopup.Desktop .JackpotGamesList .JackpotGamesListItem{width:calc(20% - 10px)}.JackpotDetailsPopup.Tablet .JackpotDetailsTabs .JackpotDetailsTab,.JackpotDetailsPopup.Desktop .JackpotDetailsTabs .JackpotDetailsTab{font-size:16px;line-height:20px}';export{c as casino_engagement_suite_jackpot_details}
|