@everymatrix/casino-engagement-suite-tournament 1.62.4 → 1.63.1

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.
Files changed (35) hide show
  1. package/dist/casino-engagement-suite-tournament/casino-engagement-suite-tournament.esm.js +1 -1
  2. package/dist/casino-engagement-suite-tournament/index.esm.js +1 -1
  3. package/dist/casino-engagement-suite-tournament/p-d24f1017.entry.js +1 -0
  4. package/dist/casino-engagement-suite-tournament/p-f478f260.js +15 -0
  5. package/dist/cjs/casino-engagement-suite-progress-bar_6.cjs.entry.js +110 -112
  6. package/dist/cjs/{casino-engagement-suite-tournament-1f1275c4.js → casino-engagement-suite-tournament-785dd5cc.js} +31 -56
  7. package/dist/cjs/casino-engagement-suite-tournament.cjs.js +1 -1
  8. package/dist/cjs/index.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/collection/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.css +6 -1
  11. package/dist/collection/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.js +26 -6
  12. package/dist/collection/shared/TournamentDurationTimer.js +45 -24
  13. package/dist/collection/shared/TournamentItem.js +10 -20
  14. package/dist/collection/shared/TournamentItemTitle.js +9 -7
  15. package/dist/collection/shared/renders.page.js +2 -2
  16. package/dist/collection/shared/renders.tab.js +1 -2
  17. package/dist/collection/utils/bussiness.js +6 -18
  18. package/dist/collection/utils/message.js +11 -7
  19. package/dist/esm/casino-engagement-suite-progress-bar_6.entry.js +109 -111
  20. package/dist/esm/{casino-engagement-suite-tournament-54c513f1.js → casino-engagement-suite-tournament-3be75bd2.js} +28 -54
  21. package/dist/esm/casino-engagement-suite-tournament.js +1 -1
  22. package/dist/esm/index.js +1 -1
  23. package/dist/esm/loader.js +1 -1
  24. package/dist/types/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.d.ts +1 -0
  25. package/dist/types/components.d.ts +45 -41
  26. package/dist/types/shared/TournamentDurationTimer.d.ts +3 -2
  27. package/dist/types/shared/TournamentItem.d.ts +1 -2
  28. package/dist/types/shared/TournamentItemTitle.d.ts +1 -1
  29. package/dist/types/utils/bussiness.d.ts +1 -1
  30. package/dist/types/utils/message.d.ts +1 -1
  31. package/package.json +1 -1
  32. package/dist/casino-engagement-suite-tournament/p-14ab3c1a.entry.js +0 -1
  33. package/dist/casino-engagement-suite-tournament/p-5f051654.js +0 -15
  34. package/dist/collection/shared/renders.util.js +0 -16
  35. package/dist/types/shared/renders.util.d.ts +0 -2
@@ -126,29 +126,17 @@ var DialogType;
126
126
  DialogType["error"] = "error";
127
127
  })(DialogType || (DialogType = {}));
128
128
 
129
- const getMaxRankStr = (list) => {
130
- let itemHaveMaxRank;
131
- list.map((item) => {
129
+ const getMaxRankStr = (playerLeaderboards) => {
130
+ let bestRank = null;
131
+ (playerLeaderboards || []).map((playerLeaderboard) => {
132
132
  var _a;
133
- const rank = (_a = item.leaderBoard) === null || _a === void 0 ? void 0 : _a.rank;
133
+ const { leaderBoard: { rank } } = playerLeaderboard;
134
134
  if (!rank) {
135
135
  return;
136
136
  }
137
- if (!itemHaveMaxRank) {
138
- itemHaveMaxRank = item;
139
- return;
140
- }
141
- else {
142
- if (rank < itemHaveMaxRank.leaderBoard.rank) {
143
- itemHaveMaxRank = item;
144
- }
145
- }
137
+ bestRank = !bestRank || ((_a = bestRank.leaderBoard) === null || _a === void 0 ? void 0 : _a.rank) > rank ? playerLeaderboard : bestRank;
146
138
  });
147
- if (!itemHaveMaxRank) {
148
- return '-';
149
- }
150
- const maxRankStr = `${itemHaveMaxRank.leaderBoard.rank} / ${itemHaveMaxRank.endRank}`;
151
- return maxRankStr;
139
+ return bestRank ? `${bestRank.leaderBoard.rank} / ${bestRank.endRank}` : '-';
152
140
  };
153
141
  const isTournamentClosed = (tournament) => {
154
142
  return [TournamentState.Closed, TournamentState.Closing].includes(tournament.state);
@@ -277,10 +265,11 @@ const leaderboardsAdapter = (leaderboardRes) => {
277
265
 
278
266
  const messageSender = {
279
267
  UpdateSuiteBarState: (labels) => window.postMessage({ type: 'UpdateLeaderboardState', labels }),
280
- JoinTournamentReq: (tournament) => window.postMessage({
281
- type: 'JoinTournamentReq',
282
- id: tournament.id,
283
- }),
268
+ JoinTournamentReq: (tournament) => {
269
+ var _a, _b;
270
+ return window.postMessage({ type: 'JoinTournamentReq', id: tournament.id,
271
+ bonusCode: tournament.id || ((_b = (_a = tournament.wallets) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.code) });
272
+ },
284
273
  UnjoinTournamentReq: (tournament) => window.postMessage({ type: 'UnjoinTournamentReq', id: tournament.id }),
285
274
  UpdateTournamentsItemReq: (tournament) => window.postMessage({ type: 'UpdateTournamentsItemReq', id: tournament.id }),
286
275
  UpdateLeaderboardsReq: (tournament, query) => window.postMessage({ type: 'UpdateLeaderboardsReq', id: tournament.id, query }),
@@ -291,8 +280,7 @@ const messageSender = {
291
280
  const messageReceiver = (instance) => {
292
281
  const receiver = {
293
282
  UpdateLeaderboardsPlayerRes: (rest) => {
294
- const rankStr = getMaxRankStr(rest.data.items);
295
- window.postMessage({ type: 'UpdateLeaderboardState', rank: rankStr });
283
+ window.postMessage({ type: 'UpdateLeaderboardState', rank: getMaxRankStr(rest.data.items) });
296
284
  },
297
285
  UpdateLeaderboardStateReq: () => {
298
286
  window.postMessage({ type: 'UpdateLeaderboardState', labels: ['win', 'new'] });
@@ -305,7 +293,7 @@ const messageReceiver = (instance) => {
305
293
  UpdateLeaderboardsRes: (rest) => processLeaderboardTableData(instance, rest),
306
294
  JoinTournamentRes: (rest) => commonJoinRes(instance, rest),
307
295
  UnjoinTournamentRes: (rest) => commonJoinRes(instance, rest),
308
- TournamentsPageIsReadyRes: (rest) => instance.currentGameId = rest.data.GameId,
296
+ TournamentsPageIsReadyRes: (rest) => instance.currentGameId = '' + rest.data.GameId,
309
297
  // listen to LeaderboardLiveEvent event, handle update
310
298
  LeaderboardLiveEvent: (rest) => {
311
299
  handleLeaderboardLiveEvent(instance, rest);
@@ -397,6 +385,7 @@ const commonJoinRes = (instance, rest) => {
397
385
  return;
398
386
  }
399
387
  current = Object.assign(Object.assign({}, current), { isActionJoinPending: false });
388
+ instance.pendingChangeEvent.emit(current);
400
389
  if (!success) {
401
390
  instance.tournamentList[tournamentIdx] = current;
402
391
  instance.tournamentList = [...instance.tournamentList];
@@ -424,6 +413,9 @@ const processLeaderboardTableData = (instance, rest) => {
424
413
  instance.leaderboards = leaderboardsAdapter(rest.data);
425
414
  instance.currentPlyerRank = rest.data.item ? rest.data.item.rank : -1;
426
415
  };
416
+ /*
417
+ * update tournament info, include status, name or duration change
418
+ */
427
419
  const updateTournamentListByItem = (instance, tournament) => {
428
420
  instance.tournamentList = instance.tournamentList.map((_tournament) => {
429
421
  if (_tournament.id === tournament.id) {
@@ -460,7 +452,7 @@ const page = {
460
452
  }
461
453
  const { locale } = instance;
462
454
  if (instance.tournamentList.length) {
463
- return renderWrapperByPageType(h("div", { class: "Leaderboards ScrollBar Row" }, instance.tournamentList.map((_tournament) => (h("casino-engagement-suite-tournament-item", { tournament: _tournament, isNew: instance.newIdList.includes(_tournament.id) })))));
455
+ return renderWrapperByPageType(h("div", { class: "Leaderboards ScrollBar Row" }, instance.tournamentList.map((_tournament) => (h("tournament-item", { tournament: _tournament, isNew: instance.newIdList.includes(_tournament.id) })))));
464
456
  }
465
457
  else {
466
458
  return renderWrapperByPageType(h("div", { class: "NoLeaderboards ScrollBar Row" },
@@ -490,7 +482,7 @@ const page = {
490
482
  onClick: () => onClickTab(_tab) }, locale[_tab]))))));
491
483
  };
492
484
  return renderWrapperByPageType([
493
- h("casino-engagement-suite-tournament-item-title", { tournament: instance.tournamentItem }),
485
+ h("tournament-item-title", { tournament: instance.tournamentItem }),
494
486
  renderTabs(),
495
487
  h("div", { class: `TableContentWrapper ${instance.tab}` }, instance.renders.tab[instance.tab]())
496
488
  ]);
@@ -526,31 +518,12 @@ function getTimeDifference(startDate, endDate) {
526
518
  return `${String(diffDays).padStart(2, '0')}d:${String(diffHours).padStart(2, '0')}h:${String(diffMinutes).padStart(2, '0')}m`;
527
519
  }
528
520
 
529
- const renderTimeBar = (tournament) => {
530
- return (h("section", { class: "TimeContainer" },
531
- h("div", { class: "Time" }, tournament.state === 'Running'
532
- ? [
533
- h("div", { class: 'Running' },
534
- h("div", null, getTimeDifference(new Date(), tournament.endTime)),
535
- ",",
536
- h("div", null, renderGradientRoundedButton({
537
- statedClasses: {
538
- isHollow: true,
539
- isPendding: false
540
- },
541
- innerHTML: `${getProgress(tournament.startTime, tournament.endTime)}%`
542
- })))
543
- ]
544
- : [h("div", { class: 'NotRunning' }, formatDate(tournament.startTime)), h("div", null, formatDate(tournament.endTime))]),
545
- h("casino-engagement-suite-progress-bar", { value: Number(getProgress(tournament.startTime, tournament.endTime)), "hide-percent": true })));
546
- };
547
-
548
521
  const tab = {
549
522
  info(instance) {
550
523
  var _a, _b;
551
524
  const { locale, tournamentItem: tournament, isShowInfo } = instance;
552
525
  return (h("div", { class: "InfoContainer" },
553
- renderTimeBar(tournament),
526
+ h("tournament-timer", { "is-detail": true, tournament: tournament }),
554
527
  h("section", { class: "ShowInfo", onClick: () => (instance.isShowInfo = !instance.isShowInfo) },
555
528
  h("div", { class: "DetailHeader" },
556
529
  h("span", null, isShowInfo ? iconEyeOpen : iconEyeClose),
@@ -642,7 +615,7 @@ const renderCloseBar = (attr) => {
642
615
  return (h("div", { class: "WrapperBar" }, Object.keys(slots).map(slotKey => (h("div", { class: 'WrapperBar' + getFirstLetterUppercase(slotKey) }, slots[slotKey] || '')))));
643
616
  };
644
617
 
645
- const casinoEngagementSuiteTournamentCss = ".Leaderboards{height:100%;overflow-y:auto;transition:0.5s ease;transition-property:all, transform}.Leaderboards.list,.Leaderboards.item{opacity:0}.Leaderboards.list.Active,.Leaderboards.item.Active{opacity:1}.Leaderboards.list.Hidden,.Leaderboards.item.Hidden{display:none}.Leaderboards .question__tooltip{position:absolute;top:0;left:20px;width:320px;text-align:left;background-color:var(--emw--color-typography, rgba(255, 255, 255, 0.6));border:1px solid var(--emw--color-typography, rgba(255, 255, 255, 0.8));color:var(var(--emw--color-primary, rgb(255, 214, 47)), rgb(255, 214, 47));padding:10px;border-radius:5px;opacity:0;fill-opacity:0.5;transition:opacity 0.3s ease-in-out;z-index:10}.Leaderboards .question__tooltip.visible{opacity:0.8}.Wrapper{position:relative;min-height:100%;color:var(--emw--color-typography, #FFFFFF);display:flex;background-color:var(--emw--color-background, hsl(254, 44%, 15%));flex-direction:column;border-radius:24px}.Wrapper .TableContentWrapper{scrollbar-width:thin;scrollbar-color:var(--emw--color-background, hsl(254, 8.53%, 54.93%)) transparent}.Wrapper .WrapperContent .TableContentWrapper{height:calc(100vh - 278px);overflow-y:auto}.Wrapper .WrapperContent .Main{height:calc(100vh - 188px)}.Wrapper.Mobile{border-radius:16px}.WrapperContent{padding-bottom:20px;transition:0.5s filter}.WrapperContent.faded{filter:brightness(53.3333333333%)}.WrapperContent .NoLeaderboards h3.Title{text-align:center}.WrapperContent .NoLeaderboards div.message{color:var(--emw--color-secondary, rgb(187, 185, 195));text-align:left}.Wrapper.Mobile .WrapperBar{padding:20px 8px 8px;margin-bottom:8px}.WrapperBar{display:flex;width:100%;padding:32px 20px 20px;margin-bottom:20px}.WrapperBar .WrapperBarLeft span{position:relative}.WrapperBarLeft,.WrapperBarRight{cursor:pointer;z-index:1}.WrapperBarMiddle{flex-grow:1;text-align:center;font-size:var(--emw--font-size-medium, 16px);line-height:16px;font-weight:500;color:var(--emw--color-secondary, rgb(187, 185, 195))}:host{display:block;font-size:var(--emw--font-size-x-small, 12px);font-family:Inter}.ScrollBar{scrollbar-width:thin;scrollbar-color:var(--emw--color-background, hsl(254, 8.53%, 54.93%)) transparent}.Row{margin:10px 0;padding:0 20px}.Row:first-child{margin:0;padding-top:5px}.LeaderboardsItem{opacity:1;transition:1s opacity ease;position:relative;margin:10px 0;border:1px solid rgb(64, 57, 86);border-radius:16px}.LeaderboardsItem.Unjoined{opacity:0;margin:0;border:0 none;animation:slideOut 1s forwards}.LeaderboardsItem.Hollow{border-color:transparent}.LeaderboardsItem:first-child{margin-top:0}.LeaderboardsItemContainer{padding-top:16px}.ShowInfo{margin:10px 0;padding:0 20px;transition:0.5s all ease}.TimeContainer{margin:10px 0;padding:0 20px;transition:0.5s all ease}.TimeContainer .Time{display:flex;justify-content:space-between;font-size:var(--emw--font-size-x-small, 12px);align-items:center;color:var(--emw--color-secondary, rgb(187, 185, 195))}.TimeContainer .Time .Running{width:100%;display:flex;flex-direction:row;justify-content:space-between}.TimeContainer .Time button{font-size:var(--emw--font-size-x-small, 12px);height:20px;padding:0}.TimeContainer .Time button::before{inset:inherit;border:0}.TitleContainer{display:flex;justify-content:space-between;margin:10px 0;padding:0 20px;margin-top:0;gap:10px;font-family:Montserrat}.TitleContainer .GradientRoundedButton{width:120px}.TabsContainer{margin:10px 0;padding:0 20px;margin:0 20px;padding:0;border-bottom:1px solid #575757}.Tabs{display:flex;justify-content:space-between;justify-content:start;font-size:var(--emw--font-size-x-small, 12px);margin-bottom:-1px}.Tabs .Tab{text-transform:capitalize}.Tabs>div{padding:10px;color:rgb(102, 97, 120);cursor:pointer}.Tabs>div.active{color:var(--emw--color-typography, #FFF);border-bottom:2px solid var(--emw--color-typography, #FFF)}.Title{font-size:var(--emw--font-size-medium, 16px);font-weight:700;line-height:19.5px;text-align:left;word-break:break-word}.TC{margin-top:12px}.TC a{color:rgb(89, 209, 255)}.Criterias{margin:12px 0}.Criterias span{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.ResultPrize{margin:10px 0;padding:0 20px;padding-left:30px;text-align:left}.ResultPrize span{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.InfoContainer{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.ContentScrollContainer{flex:1;display:flex;flex-direction:column;overflow-y:auto;position:relative;height:auto}.ContentScrollContainer.expanded{height:100%;max-height:100%}.PrizesContainer{flex:1;display:flex;flex-direction:column;min-height:100px;max-height:calc(100% - 20px)}.PrizesHeader,.DetailHeader{align-items:center;display:flex;background-color:var(--emw--color-background, hsl(254, 44%, 15%));padding:5px 0;z-index:1;margin:0 20px}.PrizesHeader img,.DetailHeader img{width:12px}.PrizesHeader .PrizesText,.DetailHeader .PrizesText{margin-left:3px;font-weight:600}.DetailHeader{margin:0}.Prizes{margin:10px 0;padding:0 20px;padding-left:30px;text-align:left;flex:1;overflow-y:auto;margin-bottom:0;padding-right:10px;max-height:300px;margin-top:10px}.Prizes::-webkit-scrollbar{width:4px}.Prizes::-webkit-scrollbar-track{background:rgba(0, 0, 0, 0.1);border-radius:2px}.Prizes::-webkit-scrollbar-thumb{background:var(--emw--color-primary, rgb(255, 214, 47));border-radius:2px}.Prizes .Prize{margin:8px 0}.Prizes .Prize .PrizeText{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.InfoContainer section.Info{margin-bottom:12px;text-align:left;padding-left:15px}.InfoContainer section.Info .Criterias,.InfoContainer section.Info .Description{padding-left:15px;margin-top:10px}*{box-sizing:border-box}.Leaderboards{width:100%;text-align:center;border-collapse:collapse}.Leaderboards td{opacity:0.6;padding:12px 5px}.Leaderboards td:first-child{padding-left:20px}.Leaderboards td:last-child{padding-right:20px}.Leaderboards .LeaderboardName{color:var(--emw--color-typography, #FFF);opacity:1}.Leaderboards tr.isMe{background:rgba(0, 0, 0, 0.2);border:1px solid var(--emw--color-primary, rgb(255, 214, 47))}.Leaderboards tr.isMe .LeaderboardRank span{padding:0px 3px;opacity:1;border:1px solid var(--emw--color-primary, rgb(255, 214, 47));border-radius:11px}.Leaderboards tr.isMe td{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:var(--emw--font-weight-semibold, 500)}.LeaderboardLabels{position:absolute;top:-6px;right:18px;display:flex;gap:4px}.LeaderboardLabel{width:30px;height:15px;background:var(--emw--engagement-suite-gradient-golden, linear-gradient(180deg, #FFB801 15.86%, #FEF746 31.36%, #FBFFE0 36.86%, #FFFA60 47.86%, #FF9400 87.36%));border-radius:var(--emw--border-radius-x-small, 2px);display:inline-flex;padding:0 2px;align-items:center;justify-content:center}.LeaderboardLabel span{display:inline-block;text-transform:uppercase;font-size:var(--emw--font-size-3x-small, 7px);line-height:7px;font-weight:var(--emw--font-weight-bold, 700);font-family:var(--emw--font-family-secondary, \"Montserrat\", sans-serif);color:var(--emw--color-background, #1E1638)}.LeaderboardUnstarted{margin:10px 0;padding:0 20px;color:var(--emw--color-secondary, rgb(187, 185, 195));font-size:var(--emw--font-size-medium, 16px)}.Games{margin:10px 0;padding:0 20px;padding:0 20px;display:flex;flex-wrap:wrap;justify-content:start;margin:20px auto}.Games .Game{cursor:pointer;width:25%;display:flex;padding:5px}.Games .Game.Current{cursor:auto;filter:grayscale(10)}.Games .Game:hover{filter:brightness(var(--emw--hover-brightness, 1.25))}.Games .Game.Current:hover{cursor:auto;filter:grayscale(10)}.Games img{width:100%;height:fit-content}dialog{position:absolute;top:30px;width:100%;height:max-content;background:transparent;border:0;padding:0;color:var(--emw--color-typography, #FFFFFF);transition:all 0.2s;transition-timing-function:ease-in-out}dialog>div{margin:32px;border-radius:8px;background:var(--emw--color-background, hsl(254, 44%, 15%));border:1px solid hsl(254, 20%, 28%);align-items:center}.DialogContentUnjoin{padding:32px;padding-top:10px;display:flex;gap:10px;flex-direction:column}.DialogContentUnjoinTitle{font-family:Montserrat;font-size:var(--emw--font-size-large, 20px);font-weight:600;line-height:24.38px;text-align:center}.DialogContentUnjoinDescription{color:var(--emw--color-secondary, rgb(187, 185, 195));margin-bottom:30px}.Tip{padding:32px;padding-top:10px;color:var(--emw--color-secondary, rgb(187, 185, 195));font-size:var(--emw--font-size-small, 14px)}.Tip.Error{color:var(--emw--color-error, var(--emw--color-red, #ed0909));font-weight:var(--emw--font-weight-normal, 500)}.PageConfirmContainer{text-align:center;width:80%;margin:0 auto}.PageConfirm{padding:40px 32px;display:flex;flex-direction:column;gap:20px}.PageConfirm .Title{font-size:var(--emw--font-size-large, 20px);text-align:center}.PageConfirm .Description{color:var(--emw--color-secondary, rgb(187, 185, 195));font-weight:400}.PageConfirm .Description span{color:var(--emw--color-typography, #FFF);font-weight:600}.PageConfirmButtonsGroup{width:150px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.GradientRounded{display:block;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);color:rgb(30, 22, 56);position:relative;border-radius:16px}.GradientRounded.Hollow{background:rgb(30, 22, 56);color:#FFFFFF}.GradientRounded.Hollow::before{content:\"\";position:absolute;inset:0;border-radius:15px;border:1px solid transparent;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}.GradientRoundedButton{border:none;padding:7px;height:32px;width:100%;font-size:var(--emw--font-size-small, 14px);font-weight:700;line-height:17.07px;text-align:center;transition:0.5s opacity;cursor:pointer}.GradientRoundedButton.Pending{cursor:not-allowed;opacity:0.3}.GradientRoundedButton.Hollow span{background:-webkit-linear-gradient(98.25deg, rgb(255, 148, 0) 22.48%, rgb(254, 247, 70) 131.02%, rgb(255, 226, 74) 131.9%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.WrapperUtil .GradientRounded .WrapperBar{margin-bottom:0;padding-bottom:0}.WrapperUtil .GradientRounded .Tip{padding-top:0;padding-bottom:40px}.LeaderboardsItem .LeaderboardsItemContainer .TitleContainer{margin-bottom:16px}@keyframes slideOut{0%{display:block;opacity:1;height:max-content}50%{display:block;opacity:0.5}80%{display:none;opacity:0}100%{display:none;opacity:0;height:0}}";
618
+ const casinoEngagementSuiteTournamentCss = ".Leaderboards{height:100%;overflow-y:auto;transition:0.5s ease;transition-property:all, transform}.Leaderboards.list,.Leaderboards.item{opacity:0}.Leaderboards.list.Active,.Leaderboards.item.Active{opacity:1}.Leaderboards.list.Hidden,.Leaderboards.item.Hidden{display:none}.Leaderboards .question__tooltip{position:absolute;top:0;left:20px;width:320px;text-align:left;background-color:var(--emw--color-typography, rgba(255, 255, 255, 0.6));border:1px solid var(--emw--color-typography, rgba(255, 255, 255, 0.8));color:var(var(--emw--color-primary, rgb(255, 214, 47)), rgb(255, 214, 47));padding:10px;border-radius:5px;opacity:0;fill-opacity:0.5;transition:opacity 0.3s ease-in-out;z-index:10}.Leaderboards .question__tooltip.visible{opacity:0.8}table.leaderboards{height:auto}.Wrapper{position:relative;min-height:100%;color:var(--emw--color-typography, #FFFFFF);display:flex;background-color:var(--emw--color-background, hsl(254, 44%, 15%));flex-direction:column;border-radius:24px}.Wrapper .TableContentWrapper{scrollbar-width:thin;scrollbar-color:var(--emw--color-background, hsl(254, 8.53%, 54.93%)) transparent}.Wrapper .WrapperContent .TableContentWrapper{height:calc(100vh - 278px);overflow-y:auto}.Wrapper .WrapperContent .Main{height:calc(100vh - 188px)}.Wrapper.Mobile{border-radius:16px}.WrapperContent{padding-bottom:20px;transition:0.5s filter}.WrapperContent.faded{filter:brightness(53.3333333333%);pointer-events:none}.WrapperContent .NoLeaderboards h3.Title{text-align:center}.WrapperContent .NoLeaderboards div.message{color:var(--emw--color-secondary, rgb(187, 185, 195));text-align:left}.Wrapper.Mobile .WrapperBar{padding:20px 8px 8px;margin-bottom:8px}.WrapperBar{display:flex;width:100%;padding:32px 20px 20px;margin-bottom:20px}.WrapperBar .WrapperBarLeft span{position:relative}.WrapperBarLeft,.WrapperBarRight{cursor:pointer;z-index:1}.WrapperBarMiddle{flex-grow:1;text-align:center;font-size:var(--emw--font-size-medium, 16px);line-height:16px;font-weight:500;color:var(--emw--color-secondary, rgb(187, 185, 195))}:host{display:block;font-size:var(--emw--font-size-x-small, 12px);font-family:Inter}.ScrollBar{scrollbar-width:thin;scrollbar-color:var(--emw--color-background, hsl(254, 8.53%, 54.93%)) transparent}.Row{margin:10px 0;padding:0 20px}.Row:first-child{margin:0;padding-top:5px}.LeaderboardsItem{opacity:1;transition:1s opacity ease;position:relative;margin:10px 0;border:1px solid rgb(64, 57, 86);border-radius:16px}.LeaderboardsItem.Unjoined{opacity:0;margin:0;border:0 none;animation:slideOut 1s forwards}.LeaderboardsItem.Hollow{border-color:transparent}.LeaderboardsItem:first-child{margin-top:0}.LeaderboardsItemContainer{padding-top:16px}.ShowInfo{margin:10px 0;padding:0 20px;transition:0.5s all ease}.TimeContainer{margin:10px 0;padding:0 20px;transition:0.5s all ease}.TimeContainer .Time{display:flex;justify-content:space-between;font-size:var(--emw--font-size-x-small, 12px);align-items:center;color:var(--emw--color-secondary, rgb(187, 185, 195))}.TimeContainer .Time .Running{width:100%;display:flex;flex-direction:row;justify-content:space-between}.TimeContainer .Time button{font-size:var(--emw--font-size-x-small, 12px);height:20px;padding:0}.TimeContainer .Time button::before{inset:inherit;border:0}.TitleContainer{display:flex;justify-content:space-between;margin:10px 0;padding:0 20px;margin-top:0;gap:10px;font-family:Montserrat}.TitleContainer .GradientRoundedButton{width:120px}.TabsContainer{margin:10px 0;padding:0 20px;margin:0 20px;padding:0;border-bottom:1px solid #575757}.Tabs{display:flex;justify-content:space-between;justify-content:start;font-size:var(--emw--font-size-x-small, 12px);margin-bottom:-1px}.Tabs .Tab{text-transform:capitalize}.Tabs>div{padding:10px;color:rgb(102, 97, 120);cursor:pointer}.Tabs>div.active{color:var(--emw--color-typography, #FFF);border-bottom:2px solid var(--emw--color-typography, #FFF)}.Title{font-size:var(--emw--font-size-medium, 16px);font-weight:700;line-height:19.5px;text-align:left;word-break:break-word}.TC{margin-top:12px}.TC a{color:rgb(89, 209, 255)}.Criterias{margin:12px 0}.Criterias span{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.ResultPrize{margin:10px 0;padding:0 20px;padding-left:30px;text-align:left}.ResultPrize span{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.InfoContainer{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.ContentScrollContainer{flex:1;display:flex;flex-direction:column;overflow-y:auto;position:relative;height:auto}.ContentScrollContainer.expanded{height:100%;max-height:100%}.PrizesContainer{flex:1;display:flex;flex-direction:column;min-height:100px;max-height:calc(100% - 20px)}.PrizesHeader,.DetailHeader{align-items:center;display:flex;background-color:var(--emw--color-background, hsl(254, 44%, 15%));padding:5px 0;z-index:1;margin:0 20px}.PrizesHeader img,.DetailHeader img{width:12px}.PrizesHeader .PrizesText,.DetailHeader .PrizesText{margin-left:3px;font-weight:600}.DetailHeader{margin:0}.Prizes{margin:10px 0;padding:0 20px;padding-left:30px;text-align:left;flex:1;overflow-y:auto;margin-bottom:0;padding-right:10px;max-height:300px;margin-top:10px}.Prizes::-webkit-scrollbar{width:4px}.Prizes::-webkit-scrollbar-track{background:rgba(0, 0, 0, 0.1);border-radius:2px}.Prizes::-webkit-scrollbar-thumb{background:var(--emw--color-primary, rgb(255, 214, 47));border-radius:2px}.Prizes .Prize{margin:8px 0}.Prizes .Prize .PrizeText{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:400}.InfoContainer section.Info{margin-bottom:12px;text-align:left;padding-left:15px}.InfoContainer section.Info .Criterias,.InfoContainer section.Info .Description{padding-left:15px;margin-top:10px}*{box-sizing:border-box}.Leaderboards{width:100%;text-align:center;border-collapse:collapse}.Leaderboards td{opacity:0.6;padding:12px 5px}.Leaderboards td:first-child{padding-left:20px}.Leaderboards td:last-child{padding-right:20px}.Leaderboards .LeaderboardName{color:var(--emw--color-typography, #FFF);opacity:1}.Leaderboards tr.isMe{background:rgba(0, 0, 0, 0.2);border:1px solid var(--emw--color-primary, rgb(255, 214, 47))}.Leaderboards tr.isMe .LeaderboardRank span{padding:0px 3px;opacity:1;border:1px solid var(--emw--color-primary, rgb(255, 214, 47));border-radius:11px}.Leaderboards tr.isMe td{color:var(--emw--color-primary, rgb(255, 214, 47));font-weight:var(--emw--font-weight-semibold, 500)}.LeaderboardLabels{position:absolute;top:-6px;right:18px;display:flex;gap:4px}.LeaderboardLabel{width:30px;height:15px;background:var(--emw--engagement-suite-gradient-golden, linear-gradient(180deg, #FFB801 15.86%, #FEF746 31.36%, #FBFFE0 36.86%, #FFFA60 47.86%, #FF9400 87.36%));border-radius:var(--emw--border-radius-x-small, 2px);display:inline-flex;padding:0 2px;align-items:center;justify-content:center}.LeaderboardLabel span{display:inline-block;text-transform:uppercase;font-size:var(--emw--font-size-3x-small, 7px);line-height:7px;font-weight:var(--emw--font-weight-bold, 700);font-family:var(--emw--font-family-secondary, \"Montserrat\", sans-serif);color:var(--emw--color-background, #1E1638)}.LeaderboardUnstarted{margin:10px 0;padding:0 20px;color:var(--emw--color-secondary, rgb(187, 185, 195));font-size:var(--emw--font-size-medium, 16px)}.Games{margin:10px 0;padding:0 20px;padding:0 20px;display:flex;flex-wrap:wrap;justify-content:start;margin:20px auto}.Games .Game{cursor:pointer;width:25%;display:flex;padding:5px}.Games .Game.Current{cursor:auto;filter:grayscale(10)}.Games .Game:hover{filter:brightness(var(--emw--hover-brightness, 1.25))}.Games .Game.Current:hover{cursor:auto;filter:grayscale(10)}.Games img{width:100%;height:fit-content}dialog{position:absolute;top:calc(50vh - 280px);width:100%;height:max-content;background:transparent;border:0;padding:0;color:var(--emw--color-typography, #FFFFFF);transition:all 0.2s;transition-timing-function:ease-in-out}dialog>div{margin:32px;border-radius:8px;background:var(--emw--color-background, hsl(254, 44%, 15%));border:1px solid hsl(254, 20%, 28%);align-items:center}.DialogContentUnjoin{padding:32px;padding-top:10px;display:flex;gap:10px;flex-direction:column}.DialogContentUnjoinTitle{font-family:Montserrat;font-size:var(--emw--font-size-large, 20px);font-weight:600;line-height:24.38px;text-align:center}.DialogContentUnjoinDescription{color:var(--emw--color-secondary, rgb(187, 185, 195));margin-bottom:30px}.Tip{padding:32px;padding-top:10px;color:var(--emw--color-secondary, rgb(187, 185, 195));font-size:var(--emw--font-size-small, 14px)}.Tip.Error{color:var(--emw--color-error, var(--emw--color-red, #ed0909));font-weight:var(--emw--font-weight-normal, 500)}.PageConfirmContainer{text-align:center;width:80%;margin:0 auto}.PageConfirm{padding:40px 32px;display:flex;flex-direction:column;gap:20px}.PageConfirm .Title{font-size:var(--emw--font-size-large, 20px);text-align:center}.PageConfirm .Description{color:var(--emw--color-secondary, rgb(187, 185, 195));font-weight:400}.PageConfirm .Description span{color:var(--emw--color-typography, #FFF);font-weight:600}.PageConfirmButtonsGroup{width:150px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.GradientRounded{display:block;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%);color:rgb(30, 22, 56);position:relative;border-radius:16px}.GradientRounded.Hollow{background:rgb(30, 22, 56);color:#FFFFFF}.GradientRounded.Hollow::before{content:\"\";position:absolute;inset:0;border-radius:15px;border:1px solid transparent;background:linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude}.GradientRoundedButton{border:none;padding:7px;height:32px;width:100%;font-size:var(--emw--font-size-small, 14px);font-weight:700;line-height:17.07px;text-align:center;transition:0.5s opacity;cursor:pointer}.GradientRoundedButton.Pending{cursor:not-allowed;opacity:0.3}.GradientRoundedButton.Hollow span{background:-webkit-linear-gradient(98.25deg, rgb(255, 148, 0) 22.48%, rgb(254, 247, 70) 131.02%, rgb(255, 226, 74) 131.9%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.WrapperUtil .GradientRounded .WrapperBar{margin-bottom:0;padding-bottom:0}.WrapperUtil .GradientRounded .Tip{padding-top:0;padding-bottom:40px}.LeaderboardsItem .LeaderboardsItemContainer .TitleContainer{margin-bottom:16px}@keyframes slideOut{0%{display:block;opacity:1;height:max-content}50%{display:block;opacity:0.5}80%{display:none;opacity:0}100%{display:none;opacity:0;height:0}}";
646
619
  const CasinoEngagementSuiteTournamentStyle0 = casinoEngagementSuiteTournamentCss;
647
620
 
648
621
  const CasinoEngagementSuiteTournament = class {
@@ -762,7 +735,7 @@ const CasinoEngagementSuiteTournament = class {
762
735
  }
763
736
  }
764
737
  onGameClick(game) {
765
- if (game.id === this.currentGameId) {
738
+ if (game.id == this.currentGameId) {
766
739
  return;
767
740
  }
768
741
  messageSender.GameClickReq(game);
@@ -770,6 +743,8 @@ const CasinoEngagementSuiteTournament = class {
770
743
  actionJoin(tournament) {
771
744
  if (tournament.isActionJoinPending)
772
745
  return;
746
+ tournament.isActionJoinPending = true;
747
+ this.pendingChangeEvent.emit(tournament);
773
748
  try {
774
749
  if (tournament.isPlayerAcknowledged) {
775
750
  messageSender.UnjoinTournamentReq(tournament);
@@ -780,11 +755,9 @@ const CasinoEngagementSuiteTournament = class {
780
755
  }
781
756
  catch (e) {
782
757
  console.log('error', e);
783
- return;
784
758
  }
785
759
  }
786
760
  setPage(page, metaData) {
787
- var _a;
788
761
  this.page = page;
789
762
  if (page === LeaderboardPage.item) {
790
763
  this.isShowInfo = false;
@@ -797,7 +770,7 @@ const CasinoEngagementSuiteTournament = class {
797
770
  }
798
771
  this.tab = Tab.info;
799
772
  }
800
- this.tournamentTimer.emit({ page, tournamentId: (_a = this.tournamentItem) === null || _a === void 0 ? void 0 : _a.id });
773
+ this.tournamentTimer.emit({ page });
801
774
  }
802
775
  render() {
803
776
  const renderDialogContent = () => {
@@ -821,7 +794,7 @@ const CasinoEngagementSuiteTournament = class {
821
794
  middle: this.locale.Leaderboards,
822
795
  right: h("span", { onClick: () => this.close.emit() }, iconClose)
823
796
  }), h("div", { class: `Leaderboards ${this.page} ${this.page === 'list' ? 'Active' : 'Hidden'}`, ref: el => this.pageElement = el }, this.renders.page.list()), this.page === LeaderboardPage.item &&
824
- h("div", { class: `Leaderboards ${this.page} ${this.page === 'item' ? 'Active' : 'Hidden'} `, ref: el => this.detailElement = el }, this.renders.page.item())), h("div", { class: "WrapperUtil" }, h("dialog", { open: this.dialog.isOpen, style: { 'top': this.getContainerScrollTop() + 'px' } }, h("div", { class: "GradientRounded Hollow" }, renderCloseBar({
797
+ h("div", { class: `Leaderboards ${this.page} ${this.page === 'item' ? 'Active' : 'Hidden'} `, ref: el => this.detailElement = el }, this.renders.page.item())), h("div", { class: "WrapperUtil" }, h("dialog", { open: this.dialog.isOpen, style: { 'top': this.getContainerScrollTop() + 'px' } }, h("div", { class: "Hollow" }, renderCloseBar({
825
798
  right: h("span", { onClick: () => this.closeDialog() }, iconClose)
826
799
  }), this.dialog.isOpen && renderDialogContent()))))));
827
800
  }
@@ -839,6 +812,7 @@ const CasinoEngagementSuiteTournament = class {
839
812
  registerInstance(this, hostRef);
840
813
  this.close = createEvent(this, "close", 7);
841
814
  this.tournamentTimer = createEvent(this, "tournamentTimer", 7);
815
+ this.pendingChangeEvent = createEvent(this, "pendingChangeEvent", 7);
842
816
  this.gifts = [];
843
817
  this.labels = [];
844
818
  this.showTooltip = false;
@@ -884,4 +858,4 @@ const CasinoEngagementSuiteTournament = class {
884
858
  };
885
859
  CasinoEngagementSuiteTournament.style = CasinoEngagementSuiteTournamentStyle0;
886
860
 
887
- export { CasinoEngagementSuiteTournament as C, DialogType as D, LeaderboardPage as L, TRANSLATIONS as T, TournamentState as a, getProgress as b, classnames as c, formatDate as f, getTimeDifference as g, renderGradientRoundedButton as r };
861
+ export { CasinoEngagementSuiteTournament as C, DialogType as D, LeaderboardPage as L, TRANSLATIONS as T, getProgress as a, classnames as c, formatDate as f, getTimeDifference as g, isTournamentClosed as i, renderGradientRoundedButton as r };
@@ -16,5 +16,5 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy([["casino-engagement-suite-progress-bar_6",[[1,"casino-engagement-suite-tournament",{"language":[1],"show":[4],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"device":[1],"leaderboardsInit":[16],"tab":[32],"locale":[32],"tournamentItem":[32],"tournamentList":[32],"leaderboards":[32],"isDialogOpen":[32],"isShowInfo":[32],"page":[32],"tournamentInDialog":[32],"dialog":[32],"newIdList":[32]},[[8,"message","handleEvent"],[16,"clickToTournamentDetail","handleClickToTournamentDetail"],[16,"joinTournamentEvent","handleJoinTournamentEvent"],[16,"unjoinTournamentEvent","handleUnjoinTournamentEvent"],[4,"click","handleClickOutside"]],{"newIdList":["checkNewIdList"],"tournamentList":["syncBarState"],"show":["showPropWatcher"]}],[0,"casino-engagement-suite-tournament-item",{"tournament":[16],"isNew":[4,"is-new"],"locale":[32]},[[16,"joinTournamentEvent","handleJoinTournamentEvent"],[16,"unjoinTournamentEvent","handleUnjoinTournamentEvent"]]],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}],[0,"casino-engagement-suite-tournament-timer",{"tournament":[16],"time":[32],"timeHolder":[32],"timeCloak":[32]},[[0,"tournamentTimer","containerPageChangeHandler"]]],[0,"casino-engagement-suite-tournament-item-title",{"tournament":[16],"locale":[32],"isButtonDisabed":[32]},null,{"tournament":["onTournamentChanged"]}],[1,"casino-engagement-suite-progress-bar",{"value":[2],"disabled":[4],"hidePercent":[4,"hide-percent"],"indeterminate":[4],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"limitStylingAppends":[32]}]]]], options);
19
+ return bootstrapLazy([["casino-engagement-suite-progress-bar_6",[[1,"casino-engagement-suite-tournament",{"language":[1],"show":[4],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"device":[1],"leaderboardsInit":[16],"tab":[32],"locale":[32],"tournamentItem":[32],"tournamentList":[32],"leaderboards":[32],"isDialogOpen":[32],"isShowInfo":[32],"page":[32],"tournamentInDialog":[32],"dialog":[32],"newIdList":[32]},[[8,"message","handleEvent"],[16,"clickToTournamentDetail","handleClickToTournamentDetail"],[16,"joinTournamentEvent","handleJoinTournamentEvent"],[16,"unjoinTournamentConfirmEvent","handleUnjoinTournamentEvent"],[4,"click","handleClickOutside"]],{"newIdList":["checkNewIdList"],"tournamentList":["syncBarState"],"show":["showPropWatcher"]}],[0,"tournament-item",{"tournament":[16],"isNew":[4,"is-new"],"locale":[32]},[[16,"pendingChangeEvent","onTournamentUpdateEvent"]]],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}],[0,"tournament-timer",{"tournament":[16],"isDetail":[4,"is-detail"],"timeHolder":[32],"timeClock":[32],"lastTimeDiff":[32],"lastProgress":[32]},[[16,"tournamentTimer","containerPageChangeHandler"]]],[0,"tournament-item-title",{"tournament":[16],"locale":[32],"isButtonDisabed":[32]},null,{"tournament":["onTournamentChanged"]}],[1,"casino-engagement-suite-progress-bar",{"value":[2],"disabled":[4],"hidePercent":[4,"hide-percent"],"indeterminate":[4],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"limitStylingAppends":[32]}]]]], options);
20
20
  });
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { C as CasinoEngagementSuiteTournament } from './casino-engagement-suite-tournament-54c513f1.js';
1
+ export { C as CasinoEngagementSuiteTournament } from './casino-engagement-suite-tournament-3be75bd2.js';
2
2
  import './index-8b5c4b95.js';
@@ -5,7 +5,7 @@ import { g as globalScripts } from './app-globals-0f993ce5.js';
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["casino-engagement-suite-progress-bar_6",[[1,"casino-engagement-suite-tournament",{"language":[1],"show":[4],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"device":[1],"leaderboardsInit":[16],"tab":[32],"locale":[32],"tournamentItem":[32],"tournamentList":[32],"leaderboards":[32],"isDialogOpen":[32],"isShowInfo":[32],"page":[32],"tournamentInDialog":[32],"dialog":[32],"newIdList":[32]},[[8,"message","handleEvent"],[16,"clickToTournamentDetail","handleClickToTournamentDetail"],[16,"joinTournamentEvent","handleJoinTournamentEvent"],[16,"unjoinTournamentEvent","handleUnjoinTournamentEvent"],[4,"click","handleClickOutside"]],{"newIdList":["checkNewIdList"],"tournamentList":["syncBarState"],"show":["showPropWatcher"]}],[0,"casino-engagement-suite-tournament-item",{"tournament":[16],"isNew":[4,"is-new"],"locale":[32]},[[16,"joinTournamentEvent","handleJoinTournamentEvent"],[16,"unjoinTournamentEvent","handleUnjoinTournamentEvent"]]],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}],[0,"casino-engagement-suite-tournament-timer",{"tournament":[16],"time":[32],"timeHolder":[32],"timeCloak":[32]},[[0,"tournamentTimer","containerPageChangeHandler"]]],[0,"casino-engagement-suite-tournament-item-title",{"tournament":[16],"locale":[32],"isButtonDisabed":[32]},null,{"tournament":["onTournamentChanged"]}],[1,"casino-engagement-suite-progress-bar",{"value":[2],"disabled":[4],"hidePercent":[4,"hide-percent"],"indeterminate":[4],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"limitStylingAppends":[32]}]]]], options);
8
+ return bootstrapLazy([["casino-engagement-suite-progress-bar_6",[[1,"casino-engagement-suite-tournament",{"language":[1],"show":[4],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"translationUrl":[513,"translation-url"],"device":[1],"leaderboardsInit":[16],"tab":[32],"locale":[32],"tournamentItem":[32],"tournamentList":[32],"leaderboards":[32],"isDialogOpen":[32],"isShowInfo":[32],"page":[32],"tournamentInDialog":[32],"dialog":[32],"newIdList":[32]},[[8,"message","handleEvent"],[16,"clickToTournamentDetail","handleClickToTournamentDetail"],[16,"joinTournamentEvent","handleJoinTournamentEvent"],[16,"unjoinTournamentConfirmEvent","handleUnjoinTournamentEvent"],[4,"click","handleClickOutside"]],{"newIdList":["checkNewIdList"],"tournamentList":["syncBarState"],"show":["showPropWatcher"]}],[0,"tournament-item",{"tournament":[16],"isNew":[4,"is-new"],"locale":[32]},[[16,"pendingChangeEvent","onTournamentUpdateEvent"]]],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}],[0,"tournament-timer",{"tournament":[16],"isDetail":[4,"is-detail"],"timeHolder":[32],"timeClock":[32],"lastTimeDiff":[32],"lastProgress":[32]},[[16,"tournamentTimer","containerPageChangeHandler"]]],[0,"tournament-item-title",{"tournament":[16],"locale":[32],"isButtonDisabed":[32]},null,{"tournament":["onTournamentChanged"]}],[1,"casino-engagement-suite-progress-bar",{"value":[2],"disabled":[4],"hidePercent":[4,"hide-percent"],"indeterminate":[4],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"limitStylingAppends":[32]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -36,6 +36,7 @@ export declare class CasinoEngagementSuiteTournament {
36
36
  leaderboardsInit: TournamentApi[];
37
37
  close: EventEmitter<void>;
38
38
  tournamentTimer: EventEmitter;
39
+ pendingChangeEvent: EventEmitter<Object>;
39
40
  tab: Tab;
40
41
  locale: {
41
42
  TC: string;
@@ -38,14 +38,15 @@ export namespace Components {
38
38
  */
39
39
  "translationUrl": string;
40
40
  }
41
- interface CasinoEngagementSuiteTournamentItem {
41
+ interface TournamentItem {
42
42
  "isNew": boolean;
43
43
  "tournament": Tournament;
44
44
  }
45
- interface CasinoEngagementSuiteTournamentItemTitle {
45
+ interface TournamentItemTitle {
46
46
  "tournament": Tournament;
47
47
  }
48
- interface CasinoEngagementSuiteTournamentTimer {
48
+ interface TournamentTimer {
49
+ "isDetail": boolean;
49
50
  "tournament": Tournament;
50
51
  }
51
52
  }
@@ -53,18 +54,19 @@ export interface CasinoEngagementSuiteTournamentCustomEvent<T> extends CustomEve
53
54
  detail: T;
54
55
  target: HTMLCasinoEngagementSuiteTournamentElement;
55
56
  }
56
- export interface CasinoEngagementSuiteTournamentItemCustomEvent<T> extends CustomEvent<T> {
57
+ export interface TournamentItemCustomEvent<T> extends CustomEvent<T> {
57
58
  detail: T;
58
- target: HTMLCasinoEngagementSuiteTournamentItemElement;
59
+ target: HTMLTournamentItemElement;
59
60
  }
60
- export interface CasinoEngagementSuiteTournamentItemTitleCustomEvent<T> extends CustomEvent<T> {
61
+ export interface TournamentItemTitleCustomEvent<T> extends CustomEvent<T> {
61
62
  detail: T;
62
- target: HTMLCasinoEngagementSuiteTournamentItemTitleElement;
63
+ target: HTMLTournamentItemTitleElement;
63
64
  }
64
65
  declare global {
65
66
  interface HTMLCasinoEngagementSuiteTournamentElementEventMap {
66
67
  "close": void;
67
68
  "tournamentTimer": any;
69
+ "pendingChangeEvent": Object;
68
70
  }
69
71
  interface HTMLCasinoEngagementSuiteTournamentElement extends Components.CasinoEngagementSuiteTournament, HTMLStencilElement {
70
72
  addEventListener<K extends keyof HTMLCasinoEngagementSuiteTournamentElementEventMap>(type: K, listener: (this: HTMLCasinoEngagementSuiteTournamentElement, ev: CasinoEngagementSuiteTournamentCustomEvent<HTMLCasinoEngagementSuiteTournamentElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -80,52 +82,52 @@ declare global {
80
82
  prototype: HTMLCasinoEngagementSuiteTournamentElement;
81
83
  new (): HTMLCasinoEngagementSuiteTournamentElement;
82
84
  };
83
- interface HTMLCasinoEngagementSuiteTournamentItemElementEventMap {
85
+ interface HTMLTournamentItemElementEventMap {
84
86
  "clickToTournamentDetail": Object;
85
87
  }
86
- interface HTMLCasinoEngagementSuiteTournamentItemElement extends Components.CasinoEngagementSuiteTournamentItem, HTMLStencilElement {
87
- addEventListener<K extends keyof HTMLCasinoEngagementSuiteTournamentItemElementEventMap>(type: K, listener: (this: HTMLCasinoEngagementSuiteTournamentItemElement, ev: CasinoEngagementSuiteTournamentItemCustomEvent<HTMLCasinoEngagementSuiteTournamentItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
88
+ interface HTMLTournamentItemElement extends Components.TournamentItem, HTMLStencilElement {
89
+ addEventListener<K extends keyof HTMLTournamentItemElementEventMap>(type: K, listener: (this: HTMLTournamentItemElement, ev: TournamentItemCustomEvent<HTMLTournamentItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
88
90
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
89
91
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
90
92
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
91
- removeEventListener<K extends keyof HTMLCasinoEngagementSuiteTournamentItemElementEventMap>(type: K, listener: (this: HTMLCasinoEngagementSuiteTournamentItemElement, ev: CasinoEngagementSuiteTournamentItemCustomEvent<HTMLCasinoEngagementSuiteTournamentItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
93
+ removeEventListener<K extends keyof HTMLTournamentItemElementEventMap>(type: K, listener: (this: HTMLTournamentItemElement, ev: TournamentItemCustomEvent<HTMLTournamentItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
92
94
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
93
95
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
94
96
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
95
97
  }
96
- var HTMLCasinoEngagementSuiteTournamentItemElement: {
97
- prototype: HTMLCasinoEngagementSuiteTournamentItemElement;
98
- new (): HTMLCasinoEngagementSuiteTournamentItemElement;
98
+ var HTMLTournamentItemElement: {
99
+ prototype: HTMLTournamentItemElement;
100
+ new (): HTMLTournamentItemElement;
99
101
  };
100
- interface HTMLCasinoEngagementSuiteTournamentItemTitleElementEventMap {
101
- "unjoinTournamentEvent": Object;
102
+ interface HTMLTournamentItemTitleElementEventMap {
103
+ "unjoinTournamentConfirmEvent": Object;
102
104
  "joinTournamentEvent": Object;
103
105
  }
104
- interface HTMLCasinoEngagementSuiteTournamentItemTitleElement extends Components.CasinoEngagementSuiteTournamentItemTitle, HTMLStencilElement {
105
- addEventListener<K extends keyof HTMLCasinoEngagementSuiteTournamentItemTitleElementEventMap>(type: K, listener: (this: HTMLCasinoEngagementSuiteTournamentItemTitleElement, ev: CasinoEngagementSuiteTournamentItemTitleCustomEvent<HTMLCasinoEngagementSuiteTournamentItemTitleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
106
+ interface HTMLTournamentItemTitleElement extends Components.TournamentItemTitle, HTMLStencilElement {
107
+ addEventListener<K extends keyof HTMLTournamentItemTitleElementEventMap>(type: K, listener: (this: HTMLTournamentItemTitleElement, ev: TournamentItemTitleCustomEvent<HTMLTournamentItemTitleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
106
108
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
107
109
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
108
110
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
109
- removeEventListener<K extends keyof HTMLCasinoEngagementSuiteTournamentItemTitleElementEventMap>(type: K, listener: (this: HTMLCasinoEngagementSuiteTournamentItemTitleElement, ev: CasinoEngagementSuiteTournamentItemTitleCustomEvent<HTMLCasinoEngagementSuiteTournamentItemTitleElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
111
+ removeEventListener<K extends keyof HTMLTournamentItemTitleElementEventMap>(type: K, listener: (this: HTMLTournamentItemTitleElement, ev: TournamentItemTitleCustomEvent<HTMLTournamentItemTitleElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
110
112
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
111
113
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
112
114
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
113
115
  }
114
- var HTMLCasinoEngagementSuiteTournamentItemTitleElement: {
115
- prototype: HTMLCasinoEngagementSuiteTournamentItemTitleElement;
116
- new (): HTMLCasinoEngagementSuiteTournamentItemTitleElement;
116
+ var HTMLTournamentItemTitleElement: {
117
+ prototype: HTMLTournamentItemTitleElement;
118
+ new (): HTMLTournamentItemTitleElement;
117
119
  };
118
- interface HTMLCasinoEngagementSuiteTournamentTimerElement extends Components.CasinoEngagementSuiteTournamentTimer, HTMLStencilElement {
120
+ interface HTMLTournamentTimerElement extends Components.TournamentTimer, HTMLStencilElement {
119
121
  }
120
- var HTMLCasinoEngagementSuiteTournamentTimerElement: {
121
- prototype: HTMLCasinoEngagementSuiteTournamentTimerElement;
122
- new (): HTMLCasinoEngagementSuiteTournamentTimerElement;
122
+ var HTMLTournamentTimerElement: {
123
+ prototype: HTMLTournamentTimerElement;
124
+ new (): HTMLTournamentTimerElement;
123
125
  };
124
126
  interface HTMLElementTagNameMap {
125
127
  "casino-engagement-suite-tournament": HTMLCasinoEngagementSuiteTournamentElement;
126
- "casino-engagement-suite-tournament-item": HTMLCasinoEngagementSuiteTournamentItemElement;
127
- "casino-engagement-suite-tournament-item-title": HTMLCasinoEngagementSuiteTournamentItemTitleElement;
128
- "casino-engagement-suite-tournament-timer": HTMLCasinoEngagementSuiteTournamentTimerElement;
128
+ "tournament-item": HTMLTournamentItemElement;
129
+ "tournament-item-title": HTMLTournamentItemTitleElement;
130
+ "tournament-timer": HTMLTournamentTimerElement;
129
131
  }
130
132
  }
131
133
  declare namespace LocalJSX {
@@ -151,6 +153,7 @@ declare namespace LocalJSX {
151
153
  */
152
154
  "leaderboardsInit"?: TournamentApi[];
153
155
  "onClose"?: (event: CasinoEngagementSuiteTournamentCustomEvent<void>) => void;
156
+ "onPendingChangeEvent"?: (event: CasinoEngagementSuiteTournamentCustomEvent<Object>) => void;
154
157
  "onTournamentTimer"?: (event: CasinoEngagementSuiteTournamentCustomEvent<any>) => void;
155
158
  /**
156
159
  * if widget is showing
@@ -161,24 +164,25 @@ declare namespace LocalJSX {
161
164
  */
162
165
  "translationUrl"?: string;
163
166
  }
164
- interface CasinoEngagementSuiteTournamentItem {
167
+ interface TournamentItem {
165
168
  "isNew"?: boolean;
166
- "onClickToTournamentDetail"?: (event: CasinoEngagementSuiteTournamentItemCustomEvent<Object>) => void;
169
+ "onClickToTournamentDetail"?: (event: TournamentItemCustomEvent<Object>) => void;
167
170
  "tournament"?: Tournament;
168
171
  }
169
- interface CasinoEngagementSuiteTournamentItemTitle {
170
- "onJoinTournamentEvent"?: (event: CasinoEngagementSuiteTournamentItemTitleCustomEvent<Object>) => void;
171
- "onUnjoinTournamentEvent"?: (event: CasinoEngagementSuiteTournamentItemTitleCustomEvent<Object>) => void;
172
+ interface TournamentItemTitle {
173
+ "onJoinTournamentEvent"?: (event: TournamentItemTitleCustomEvent<Object>) => void;
174
+ "onUnjoinTournamentConfirmEvent"?: (event: TournamentItemTitleCustomEvent<Object>) => void;
172
175
  "tournament"?: Tournament;
173
176
  }
174
- interface CasinoEngagementSuiteTournamentTimer {
177
+ interface TournamentTimer {
178
+ "isDetail"?: boolean;
175
179
  "tournament"?: Tournament;
176
180
  }
177
181
  interface IntrinsicElements {
178
182
  "casino-engagement-suite-tournament": CasinoEngagementSuiteTournament;
179
- "casino-engagement-suite-tournament-item": CasinoEngagementSuiteTournamentItem;
180
- "casino-engagement-suite-tournament-item-title": CasinoEngagementSuiteTournamentItemTitle;
181
- "casino-engagement-suite-tournament-timer": CasinoEngagementSuiteTournamentTimer;
183
+ "tournament-item": TournamentItem;
184
+ "tournament-item-title": TournamentItemTitle;
185
+ "tournament-timer": TournamentTimer;
182
186
  }
183
187
  }
184
188
  export { LocalJSX as JSX };
@@ -186,9 +190,9 @@ declare module "@stencil/core" {
186
190
  export namespace JSX {
187
191
  interface IntrinsicElements {
188
192
  "casino-engagement-suite-tournament": LocalJSX.CasinoEngagementSuiteTournament & JSXBase.HTMLAttributes<HTMLCasinoEngagementSuiteTournamentElement>;
189
- "casino-engagement-suite-tournament-item": LocalJSX.CasinoEngagementSuiteTournamentItem & JSXBase.HTMLAttributes<HTMLCasinoEngagementSuiteTournamentItemElement>;
190
- "casino-engagement-suite-tournament-item-title": LocalJSX.CasinoEngagementSuiteTournamentItemTitle & JSXBase.HTMLAttributes<HTMLCasinoEngagementSuiteTournamentItemTitleElement>;
191
- "casino-engagement-suite-tournament-timer": LocalJSX.CasinoEngagementSuiteTournamentTimer & JSXBase.HTMLAttributes<HTMLCasinoEngagementSuiteTournamentTimerElement>;
193
+ "tournament-item": LocalJSX.TournamentItem & JSXBase.HTMLAttributes<HTMLTournamentItemElement>;
194
+ "tournament-item-title": LocalJSX.TournamentItemTitle & JSXBase.HTMLAttributes<HTMLTournamentItemTitleElement>;
195
+ "tournament-timer": LocalJSX.TournamentTimer & JSXBase.HTMLAttributes<HTMLTournamentTimerElement>;
192
196
  }
193
197
  }
194
198
  }
@@ -2,12 +2,13 @@
2
2
  import { Tournament } from '../utils/types';
3
3
  export declare class CasinoEngagementSuiteTournamentTimer {
4
4
  tournament: Tournament;
5
- time: number;
5
+ isDetail: boolean;
6
6
  timeHolder: NodeJS.Timer | null;
7
- timeCloak: boolean;
7
+ timeClock: boolean;
8
8
  lastTimeDiff: string;
9
9
  lastProgress: number;
10
10
  containerPageChangeHandler(event: CustomEvent): void;
11
+ componentWillLoad(): void;
11
12
  setTimeInterval(): void;
12
13
  connectedCallback(): void;
13
14
  disconnectedCallback(): void;
@@ -39,8 +39,7 @@ export declare class CasinoEngagementSuiteTournamentItem {
39
39
  Unjoin: string;
40
40
  };
41
41
  clickToTournamentDetail: EventEmitter<Object>;
42
- handleJoinTournamentEvent(e: CustomEvent): void;
43
- handleUnjoinTournamentEvent(e: CustomEvent): void;
44
42
  goToDetail(): void;
43
+ onTournamentUpdateEvent(event: CustomEvent): void;
45
44
  render(): any;
46
45
  }
@@ -38,7 +38,7 @@ export declare class CasinoEngagementSuiteTournamentItemTitle {
38
38
  Unjoin: string;
39
39
  };
40
40
  isButtonDisabed: boolean;
41
- unjoinTournamentEvent: EventEmitter<Object>;
41
+ unjoinTournamentConfirmEvent: EventEmitter<Object>;
42
42
  joinTournamentEvent: EventEmitter<Object>;
43
43
  onTournamentChanged(tournament: Tournament): void;
44
44
  onClickItemJoin(): void;
@@ -1,3 +1,3 @@
1
1
  import { Tournament } from './types';
2
- export declare const getMaxRankStr: (list: any) => string;
2
+ export declare const getMaxRankStr: (playerLeaderboards: any[]) => string;
3
3
  export declare const isTournamentClosed: (tournament: Tournament) => boolean;
@@ -16,6 +16,6 @@ export declare const messageReceiver: (instance: Instance) => {
16
16
  UpdateLeaderboardsRes: (rest: any) => void;
17
17
  JoinTournamentRes: (rest: any) => void;
18
18
  UnjoinTournamentRes: (rest: any) => void;
19
- TournamentsPageIsReadyRes: (rest: any) => any;
19
+ TournamentsPageIsReadyRes: (rest: any) => string;
20
20
  LeaderboardLiveEvent: (rest: any) => void;
21
21
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/casino-engagement-suite-tournament",
3
- "version": "1.62.4",
3
+ "version": "1.63.1",
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 t,g as s,c as i}from"./p-c6fe0205.js";import{T as a,c as r,D as n,a as o,r as d,L as c,g as h,b as l,f as b}from"./p-5f051654.js";export{C as casino_engagement_suite_tournament}from"./p-5f051654.js";const g=class{constructor(t){e(this,t),this.setClientStyling=()=>{let e=document.createElement("style");e.innerHTML=this.clientStyling,this.host.prepend(e)},this.setClientStylingURL=()=>{let e=new URL(this.clientStylingUrl),t=document.createElement("style");fetch(e.href).then((e=>e.text())).then((e=>{t.innerHTML=e,setTimeout((()=>{this.host.prepend(t)}),1)})).catch((e=>{console.log("Error ",e)}))},this.value=0,this.disabled=!1,this.hidePercent=!1,this.indeterminate=!1,this.clientStyling="",this.clientStylingUrl="",this.limitStylingAppends=!1}componentDidRender(){!this.limitStylingAppends&&this.host&&(this.clientStyling&&this.setClientStyling(),this.clientStylingUrl&&this.setClientStylingURL(),this.limitStylingAppends=!0)}getProgressBarClasses(){return{ProgressBar:!0,Completed:100===this.value,Disabled:this.disabled,HidePercent:this.hidePercent||this.indeterminate}}getProgressBarLineTemplate(){return t("div",this.indeterminate?{class:"ProgressBarLine Indeterminate",part:"ProgressBarLine Indeterminate"}:{class:"ProgressBarLine",part:"ProgressBarLine",style:{width:this.value+"%"}})}render(){return t("div",{key:"ecce3a26a92d2e090c1db84bdc1bdbeb505080ed",class:this.getProgressBarClasses(),part:"ProgressBar"},t("div",{key:"649fe1103d222200f2a1ad3b5967e37da1f1ab3d",class:"ProgressBarInfo",part:"ProgressBarInfo"},t("slot",{key:"49dc180eedd823f0027f75099813fb9d91bcd938",name:"Title"},t("div",{key:"e6e59da3fe7bbcb37e118e7fd23a8ff35587aca5"})),t("slot",{key:"3dc8e5fd1dbc8c268b9c76e393b751cb53605e7e",name:"Percent"},t("div",{key:"6a9e880f3ee3c4f26e8577c69be5db5f8e2d10ad",class:"ProgressBarPercent",part:"ProgressBarPercent"},this.value,"%"))),t("div",{key:"141106e77caad7b04bb199f911e87c0c6f0adc2d",class:"ProgressBarBackground",part:"ProgressBarBackground"},this.getProgressBarLineTemplate()))}get host(){return s(this)}};g.style=":host{display:block;font-family:inherit}:host(.Desktop) .ProgressBarPercent{font-size:var(--emw--font-size-small, 14px);line-height:14px}@keyframes indeterminate{0%{left:-200%;right:100%}60%{left:110%;right:-10%}to{left:110%;right:-10%}}.ProgressBarBackground{height:8px;background-color:var(--emw--color-gray-300, #666178);border-radius:var(--emw--border-radius-small, 4px);position:relative;overflow:hidden}.ProgressBarLine{position:absolute;left:0;top:0;bottom:0;border-radius:var(--emw--border-radius-small, 4px);background:var(--emw--engagement-suite-gradient-button, linear-gradient(98.25deg, #FF9400 22.48%, #FEF746 131.02%, #FFE24A 131.9%));transition:width ease-out 0.3s}.ProgressBarLine.Indeterminate{animation:indeterminate 1s linear infinite}.ProgressBarInfo{margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.ProgressBarPercent{font-weight:var(--emw--font-weight-bold, 700);font-size:var(--emw--font-size-x-small, 12px);line-height:12px}.HidePercent .ProgressBarPercent{display:none}.ProgressBar:not(.Disabled) .ProgressBarPercent{background:var(--emw--engagement-suite-gradient-button, 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}.ProgressBar.Disabled .ProgressBarPercent{color:var(--emw--color-gray-300, #666178)}.ProgressBar.Disabled .ProgressBarLine{background:var(--emw--color-background-secondary, #474668)}";const f=class{constructor(t){e(this,t),this.clickToTournamentDetail=i(this,"clickToTournamentDetail",7),this.tournament=void 0,this.isNew=void 0,this.locale=a}handleJoinTournamentEvent(e){this.tournament.id===e.detail.id&&(this.tournament=Object.assign(Object.assign({},this.tournament),{isActionJoinPending:!0}))}handleUnjoinTournamentEvent(e){this.tournament.id===e.detail.id&&(this.tournament=Object.assign(Object.assign({},this.tournament),{isActionJoinPending:!0}))}goToDetail(){this.clickToTournamentDetail.emit(this.tournament)}render(){const e=this.tournament;return t("div",{key:"e507da65532f4608aa96c1ebe2e329d332b9c439",class:r("LeaderboardsItem",e.isPlayerAcknowledged?" GradientRounded Hollow":"",e.isUnjoined?"Unjoined":""),onClick:this.goToDetail.bind(this)},t("div",{key:"dc9bd1777858b2a3a57a3f808f734857db9011ee",class:"LeaderboardsItemContainer"},t("casino-engagement-suite-tournament-item-title",{key:"14cae37fbc9d0f829b85d507ea0e60c95afc7250",tournament:e}),t("casino-engagement-suite-tournament-timer",{key:"d703d03c146592887ea20bdc1289b446399f0870",tournament:e})),t("div",{key:"4f2f422965b47c0103ff5dcef8f28dc507491677",class:"LeaderboardLabels"},this.isNew&&t("div",{key:"3132e3ac8adec5f9ca85d8c14c91801779d8afbf",class:"LeaderboardLabel"},t("span",{key:"c148c5fa597b76ff4f23c06b6b3407c06a96bdb7"},"new"))))}},m=class{constructor(t){e(this,t),this.unjoinTournamentEvent=i(this,"unjoinTournamentEvent",7),this.joinTournamentEvent=i(this,"joinTournamentEvent",7),this.tournament=void 0,this.locale=a,this.isButtonDisabed=!1}onTournamentChanged(e){this.isButtonDisabed=!0===e.isActionJoinPending}onClickItemJoin(){this.isButtonDisabed||(this.isButtonDisabed=!0,this.tournament.isPlayerAcknowledged?this.unjoinTournamentEvent.emit({type:n.unjoin,tournament:this.tournament}):this.joinTournamentEvent.emit(this.tournament))}componentDidLoad(){this.isButtonDisabed=!0===this.tournament.isActionJoinPending}render(){return t("div",{key:"5d6eebb15e8e1f1ac635fa90fe69407aab9cf81c",class:"TitleContainer"},t("div",{key:"ad7dd682272d822537cd484797b2f5d3825e49c8",class:"Title"},this.tournament.nameOrTitle),this.tournament.state!==o.Closed&&t("div",{key:"87e50a538aca5ce7d7b1a659dbe6aa16541194f2"},d({statedClasses:{isHollow:this.tournament.isPlayerAcknowledged,isPending:this.isButtonDisabed},onClick:e=>{e.stopPropagation(),this.onClickItemJoin()},innerHTML:this.tournament.isPlayerAcknowledged?this.locale.Unjoin:this.locale.Join})))}static get watchers(){return{tournament:["onTournamentChanged"]}}},u=class{constructor(t){e(this,t),this.tournament=void 0,this.time=0,this.timeHolder=void 0,this.timeCloak=!0}containerPageChangeHandler(e){this.timeCloak=e.detail.page===c.list||e.detail.page===c.item&&this.tournament.id===e.detail.tournamentId}setTimeInterval(){this.timeHolder=setInterval((()=>{var e;const t=h(new Date,this.tournament.endTime),s=l(this.tournament.startTime,this.tournament.endTime);!this.timeCloak||[o.Closed,o.Closing].includes(null===(e=this.tournament)||void 0===e?void 0:e.state)||t==this.lastTimeDiff&&s==this.lastProgress||(this.time++,this.lastProgress=s,this.lastTimeDiff=t)}),2e3)}connectedCallback(){this.setTimeInterval()}disconnectedCallback(){clearInterval(this.timeHolder)}render(){return t("section",{key:"b5d514586445a3acc665fcbbbaa0d139b7b28075",class:"TimeContainer"},t("div",{key:"2080b18edd157a337d5c7f164d1914e91a95a3f3",class:"Time"},"Running"===this.tournament.state?[t("div",{class:"Running"},t("div",null,this.lastTimeDiff),",",t("div",null,d({statedClasses:{isHollow:!0,isPendding:!1},innerHTML:`${l(this.tournament.startTime,this.tournament.endTime)}%`})))]:[t("div",{class:"NotRunning"},b(this.tournament.startTime)),t("div",null,b(this.tournament.endTime))]),t("casino-engagement-suite-progress-bar",{key:"b841cc70a1307f1175f0748644aaaeee9e1094ff",value:Number(this.lastProgress>=100?100:this.lastProgress),"hide-percent":!0}))}},v=class{constructor(t){e(this,t),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),t=document.createElement("style");fetch(e.href).then((e=>e.text())).then((e=>{t.innerHTML=e,setTimeout((()=>{this.el.prepend(t)}),1)})).catch((e=>{console.log("error ",e)}))},this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.targetTranslations=void 0}componentDidRender(){this.stylingAppends||(this.clientStyling&&this.setClientStyling(),this.clientStylingUrl&&this.setClientStylingURL(),this.stylingAppends=!0)}async componentWillLoad(){const e=[];if(this.translationUrl){const i=(t=this.translationUrl,s=this.targetTranslations,new Promise((e=>{fetch(t).then((e=>e.json())).then((t=>{Object.keys(t).forEach((e=>{s[e]=s[e]?s[e]:{};for(let i in t[e])s[e][i]=t[e][i]})),e(!0)}))})));e.push(i)}var t,s;return await Promise.all(e)}render(){return t("div",{key:"4d3414408c7662f88331dbe655966237f74d6958",class:"StyleShell"},t("slot",{key:"1d004644d84602c4314bdf5dfc26b55b160f57df",name:"mainContent"}))}get el(){return s(this)}};v.style=":host{display:block}";export{g as casino_engagement_suite_progress_bar,f as casino_engagement_suite_tournament_item,m as casino_engagement_suite_tournament_item_title,u as casino_engagement_suite_tournament_timer,v as general_styling_wrapper}