@everymatrix/casino-engagement-suite-tournament 1.60.2 → 1.61.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-b582ab53.entry.js → p-2dd35709.entry.js} +1 -1
  4. package/dist/casino-engagement-suite-tournament/p-2de8ee45.js +15 -0
  5. package/dist/casino-engagement-suite-tournament/{p-a9e7f099.js → p-bfca9e2a.js} +1 -1
  6. package/dist/cjs/casino-engagement-suite-progress-bar_3.cjs.entry.js +2 -2
  7. package/dist/cjs/{casino-engagement-suite-tournament-0a51ec72.js → casino-engagement-suite-tournament-49cebf14.js} +123 -36
  8. package/dist/cjs/casino-engagement-suite-tournament.cjs.js +2 -2
  9. package/dist/cjs/{index-3539ab09.js → index-982cd594.js} +2 -1
  10. package/dist/cjs/index.cjs.js +2 -2
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/collection/assets/reward.svg +11 -0
  13. package/dist/collection/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.css +80 -26
  14. package/dist/collection/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.js +58 -6
  15. package/dist/collection/shared/icons.js +2 -1
  16. package/dist/collection/shared/renders.page.js +5 -5
  17. package/dist/collection/shared/renders.tab.js +4 -2
  18. package/dist/collection/shared/renders.util.js +3 -4
  19. package/dist/collection/utils/api.apdater.js +1 -1
  20. package/dist/collection/utils/bussiness.js +15 -0
  21. package/dist/collection/utils/message.js +15 -9
  22. package/dist/collection/utils/utils.js +38 -1
  23. package/dist/esm/casino-engagement-suite-progress-bar_3.entry.js +2 -2
  24. package/dist/esm/{casino-engagement-suite-tournament-8680a674.js → casino-engagement-suite-tournament-bd7c9cdd.js} +123 -36
  25. package/dist/esm/casino-engagement-suite-tournament.js +3 -3
  26. package/dist/esm/{index-ecf4f553.js → index-ac437a77.js} +2 -1
  27. package/dist/esm/index.js +2 -2
  28. package/dist/esm/loader.js +3 -3
  29. package/dist/types/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.d.ts +19 -9
  30. package/dist/types/utils/bussiness.d.ts +12 -0
  31. package/dist/types/utils/message.d.ts +2 -0
  32. package/dist/types/utils/types.d.ts +1 -1
  33. package/dist/types/utils/utils.d.ts +6 -0
  34. package/package.json +1 -1
  35. package/dist/casino-engagement-suite-tournament/p-e7ecbdf5.js +0 -15
@@ -1,5 +1,5 @@
1
1
  export const classnames = (...args) => {
2
- let classnameArray = [];
2
+ let classnameArray = ['Tab'];
3
3
  args.map((arg) => {
4
4
  switch (typeof arg) {
5
5
  case 'string':
@@ -48,3 +48,40 @@ export const truncateNumber = (value, decimals, isInteger = false) => {
48
48
  // Return string representation with fixed decimals to preserve trailing zeros
49
49
  return truncated.toFixed(decimals);
50
50
  };
51
+ /**
52
+ * custom rules for component types
53
+ */
54
+ export const isMobile = () => {
55
+ let userAgent = window.navigator.userAgent;
56
+ return !!(userAgent.toLowerCase().match(/android/i) ||
57
+ userAgent.toLowerCase().match(/blackberry|bb/i) ||
58
+ userAgent.toLowerCase().match(/iphone|ipad|ipod/i) ||
59
+ userAgent.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i));
60
+ };
61
+ export const getDevice = () => {
62
+ let userAgent = window.navigator.userAgent;
63
+ if (userAgent.toLowerCase().match(/android/i)) {
64
+ return 'Android';
65
+ }
66
+ if (userAgent.toLowerCase().match(/iphone/i)) {
67
+ return 'iPhone';
68
+ }
69
+ if (userAgent.toLowerCase().match(/ipad|ipod/i)) {
70
+ return 'iPad';
71
+ }
72
+ return 'PC';
73
+ };
74
+ export const getDevicePlatform = () => {
75
+ const device = getDevice();
76
+ if (device) {
77
+ if (device === 'PC') {
78
+ return 'dk';
79
+ }
80
+ else if (device === 'iPad' || device === 'iPhone') {
81
+ return 'ios';
82
+ }
83
+ else {
84
+ return 'mtWeb';
85
+ }
86
+ }
87
+ };
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, h, g as getElement } from './index-ecf4f553.js';
2
- export { C as casino_engagement_suite_tournament } from './casino-engagement-suite-tournament-8680a674.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-ac437a77.js';
2
+ export { C as casino_engagement_suite_tournament } from './casino-engagement-suite-tournament-bd7c9cdd.js';
3
3
  import '@everymatrix/general-animation-loading/dist';
4
4
 
5
5
  const casinoEngagementSuiteProgressBarCss = ":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)}";
@@ -1,4 +1,4 @@
1
- import { h, H as Host, r as registerInstance, c as createEvent } from './index-ecf4f553.js';
1
+ import { h, H as Host, r as registerInstance, c as createEvent } from './index-ac437a77.js';
2
2
  import '@everymatrix/general-animation-loading/dist';
3
3
 
4
4
  /*! *****************************************************************************
@@ -57,7 +57,7 @@ const TRANSLATIONS = Object.assign(Object.assign(Object.assign({ Join: 'Join', U
57
57
  }, NoLeaderboards: 'No Leaderboards yet', NoLeaderboardsTip: 'Try winning tickets to Leaderboards as rewards or launching other booster games', Leaderboards: 'Leaderboards', TipPrize: 'You took <span>{place}</span> place and win <span>{prize}</span>', Tip: 'Competition where your real money bets contribute towards the leaderboard score calculation to win the leaderboard reward.', TournamentNotStarted: 'The leaderboard is not started yet. <br> It will start in {startTime}.', BeOne: 'No winners for the time being. Be one of them!', FailedToJoin: 'Oops! some unexpected error happened, please try it again.', FailedToUnjoin: 'Oops! some unexpected error happened, please try it again.' });
58
58
 
59
59
  const classnames = (...args) => {
60
- let classnameArray = [];
60
+ let classnameArray = ['Tab'];
61
61
  args.map((arg) => {
62
62
  switch (typeof arg) {
63
63
  case 'string':
@@ -106,6 +106,33 @@ const truncateNumber = (value, decimals, isInteger = false) => {
106
106
  // Return string representation with fixed decimals to preserve trailing zeros
107
107
  return truncated.toFixed(decimals);
108
108
  };
109
+ const getDevice = () => {
110
+ let userAgent = window.navigator.userAgent;
111
+ if (userAgent.toLowerCase().match(/android/i)) {
112
+ return 'Android';
113
+ }
114
+ if (userAgent.toLowerCase().match(/iphone/i)) {
115
+ return 'iPhone';
116
+ }
117
+ if (userAgent.toLowerCase().match(/ipad|ipod/i)) {
118
+ return 'iPad';
119
+ }
120
+ return 'PC';
121
+ };
122
+ const getDevicePlatform = () => {
123
+ const device = getDevice();
124
+ if (device) {
125
+ if (device === 'PC') {
126
+ return 'dk';
127
+ }
128
+ else if (device === 'iPad' || device === 'iPhone') {
129
+ return 'ios';
130
+ }
131
+ else {
132
+ return 'mtWeb';
133
+ }
134
+ }
135
+ };
109
136
 
110
137
  var LeaderboardPage;
111
138
  (function (LeaderboardPage) {
@@ -155,12 +182,14 @@ const isTournamentClosed = (tournament) => {
155
182
  return [TournamentState.Closed, TournamentState.Closing].includes(tournament.state);
156
183
  };
157
184
 
185
+ const rewardSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj48c2NyaXB0IHhtbG5zPSIiLz4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIxMTVfMzA2KSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNC45MDI5MiAwLjY2NjQ5NkM0LjkyMzM5IDAuNjY2NTc5IDQuOTQzNCAwLjY2NjY2IDQuOTYyODYgMC42NjY2NkgxMS4wMzY5QzExLjA1NjQgMC42NjY2NiAxMS4wNzY0IDAuNjY2NTc5IDExLjA5NjkgMC42NjY0OTZDMTEuMzA1NiAwLjY2NTY1MyAxMS41NjI3IDAuNjY0NjEzIDExLjc4OTMgMC43NDcwN0MxMi4xNTk2IDAuODgxODY4IDEyLjQ1MTQgMS4xNzM2MSAxMi41ODYyIDEuNTQzOTdDMTIuNjM5NCAxLjY5MDMxIDEyLjY1NzggMS44NDk0MiAxMi42NjQgMS45OTk5OUwxMy42ODQyIDEuOTk5OTlDMTMuODI0MiAxLjk5OTk4IDEzLjk2MDcgMS45OTk5NiAxNC4wNzY3IDIuMDA3ODhDMTQuMjAzNiAyLjAxNjU0IDE0LjM1NDEgMi4wMzY4NiAxNC41MTAxIDIuMTAxNDlDMTQuODM2OCAyLjIzNjgxIDE1LjA5NjQgMi40OTYzOCAxNS4yMzE3IDIuODIzMDhDMTUuMjk2NCAyLjk3OTExIDE1LjMxNjcgMy4xMjk1OSAxNS4zMjUzIDMuMjU2NTFDMTUuMzMzMyAzLjM3MjU2IDE1LjMzMzIgMy41MDg5OCAxNS4zMzMyIDMuNjQ5MDFWMy45OTk5OUMxNS4zMzMyIDQuMDMxMDIgMTUuMzMzMyA0LjA2MTU4IDE1LjMzMzMgNC4wOTE3MUMxNS4zMzM2IDQuNjIxOTcgMTUuMzMzOCA1LjAxNTc0IDE1LjI0MjQgNS4zNTY4NEMxNC45OTU4IDYuMjc3MDkgMTQuMjc3IDYuOTk1ODggMTMuMzU2OCA3LjI0MjQ2QzEzLjEwMyA3LjMxMDQ0IDEyLjgyMDIgNy4zMjc3NCAxMi40NzM3IDcuMzMyMDNDMTEuOTYxOCA5LjA1MzkzIDEwLjQ4MjkgMTAuMzU5NiA4LjY2NjU3IDEwLjYxOTRWMTEuMzMzM0g4Ljk2Mjg2QzEwLjY0MDIgMTEuMzMzMyAxMS45OTk5IDEyLjY5MzEgMTEuOTk5OSAxNC4zNzA0QzExLjk5OTkgMTQuOTAyMiAxMS41Njg4IDE1LjMzMzMgMTEuMDM2OSAxNS4zMzMzSDQuOTYyODZDNC40MzEwMyAxNS4zMzMzIDMuOTk5OSAxNC45MDIyIDMuOTk5OSAxNC4zNzA0QzMuOTk5OSAxMi42OTMxIDUuMzU5NjMgMTEuMzMzMyA3LjAzNjk0IDExLjMzMzNINy4zMzMyM1YxMC42MTk0QzUuNTE2OTMgMTAuMzU5NiA0LjAzODAyIDkuMDUzOTMgMy41MjYxIDcuMzMyMDNDMy4xNzk2MiA3LjMyNzc0IDIuODk2NzYgNy4zMTA0NCAyLjY0MzA1IDcuMjQyNDZDMS43MjI4MSA2Ljk5NTg4IDEuMDA0MDEgNi4yNzcwOSAwLjc1NzQzMyA1LjM1Njg0QzAuNjY2MDM1IDUuMDE1NzQgMC42NjYyNDggNC42MjE5NyAwLjY2NjUzNSA0LjA5MTcxQzAuNjY2NTUyIDQuMDYxNTkgMC42NjY1NjggNC4wMzEwMiAwLjY2NjU2OCAzLjk5OTk5VjMuNjY2NjZDMC42NjY1NjggMy42NjA3NyAwLjY2NjU2OCAzLjY1NDg5IDAuNjY2NTY3IDMuNjQ5MDFDMC42NjY1NTMgMy41MDg5OCAwLjY2NjU0IDMuMzcyNTYgMC42NzQ0NTggMy4yNTY1MUMwLjY4MzExNyAzLjEyOTU5IDAuNzAzNDMzIDIuOTc5MTEgMC43NjgwNjIgMi44MjMwOEMwLjkwMzM4NyAyLjQ5NjM4IDEuMTYyOTUgMi4yMzY4MSAxLjQ4OTY2IDIuMTAxNDlDMS42NDU2OSAyLjAzNjg2IDEuNzk2MTcgMi4wMTY1NCAxLjkyMzA4IDIuMDA3ODhDMi4wMzkxNCAxLjk5OTk2IDIuMTc1NTYgMS45OTk5OCAyLjMxNTU5IDEuOTk5OTlDMi4zMjE0NiAxLjk5OTk5IDIuMzI3MzUgMS45OTk5OSAyLjMzMzIzIDEuOTk5OTlIMy4zMzU4MUMzLjM0MTk2IDEuODQ5NDIgMy4zNjAzOCAxLjY5MDMxIDMuNDEzNjQgMS41NDM5N0MzLjU0ODQ0IDEuMTczNjEgMy44NDAxOSAwLjg4MTg2OCA0LjIxMDU0IDAuNzQ3MDdDNC40MzcwOSAwLjY2NDYxMyA0LjY5NDIxIDAuNjY1NjUzIDQuOTAyOTIgMC42NjY0OTZaTTMuMzMzMjMgMy4zMzMzM0gyLjMzMzIzQzIuMTY4OCAzLjMzMzMzIDIuMDc4ODYgMy4zMzM2OSAyLjAxMzg1IDMuMzM4MTJDMi4wMTA4MiAzLjMzODMzIDIuMDA3OTggMy4zMzg1NCAyLjAwNTMyIDMuMzM4NzVDMi4wMDUxMSAzLjM0MTQxIDIuMDA0OSAzLjM0NDI1IDIuMDA0NyAzLjM0NzI3QzIuMDAwMjYgMy40MTIyOSAxLjk5OTkgMy41MDIyMiAxLjk5OTkgMy42NjY2NlYzLjk5OTk5QzEuOTk5OSA0LjY2MjkgMi4wMDU2MyA0Ljg2MzU3IDIuMDQ1MzMgNS4wMTE3NUMyLjE2ODYyIDUuNDcxODcgMi41MjgwMiA1LjgzMTI3IDIuOTg4MTQgNS45NTQ1NkMzLjA2NzM0IDUuOTc1NzggMy4xNjE1MiA1Ljk4NzMgMy4zMzMyMyA1Ljk5MzQyVjMuMzMzMzNaTTQuNjY2NTcgMi4yOTYyOUM0LjY2NjU3IDIuMTUwMjUgNC42NjY4NSAyLjA3MDM5IDQuNjcwMzcgMi4wMTI0OUM0LjY3MDU1IDIuMDA5NTggNC42NzA3MiAyLjAwNjg3IDQuNjcwOSAyLjAwNDMzQzQuNjczNDQgMi4wMDQxNSA0LjY3NjE2IDIuMDAzOTcgNC42NzkwNyAyLjAwMzc5QzQuNzM2OTcgMi4wMDAyOCA0LjgxNjgzIDEuOTk5OTkgNC45NjI4NiAxLjk5OTk5SDExLjAzNjlDMTEuMTgzIDEuOTk5OTkgMTEuMjYyOCAyLjAwMDI4IDExLjMyMDcgMi4wMDM3OUMxMS4zMjM2IDIuMDAzOTcgMTEuMzI2NCAyLjAwNDE1IDExLjMyODkgMi4wMDQzM0MxMS4zMjkxIDIuMDA2ODYgMTEuMzI5MyAyLjAwOTU5IDExLjMyOTQgMi4wMTI0OUMxMS4zMzI5IDIuMDcwMzkgMTEuMzMzMiAyLjE1MDI1IDExLjMzMzIgMi4yOTYyOVY1Ljk5OTk5QzExLjMzMzIgNy44NDA5NCA5Ljg0MDg1IDkuMzMzMzMgNy45OTk5IDkuMzMzMzNDNi4xNTg5NSA5LjMzMzMzIDQuNjY2NTcgNy44NDA5NCA0LjY2NjU3IDUuOTk5OTlWMi4yOTYyOVpNMTIuNjY2NiAzLjMzMzMzVjUuOTkzNDJDMTIuODM4MyA1Ljk4NzMgMTIuOTMyNSA1Ljk3NTc4IDEzLjAxMTcgNS45NTQ1NkMxMy40NzE4IDUuODMxMjcgMTMuODMxMiA1LjQ3MTg3IDEzLjk1NDUgNS4wMTE3NUMxMy45OTQyIDQuODYzNTcgMTMuOTk5OSA0LjY2MjkgMTMuOTk5OSAzLjk5OTk5VjMuNjY2NjZDMTMuOTk5OSAzLjUwMjIyIDEzLjk5OTUgMy40MTIyOSAxMy45OTUxIDMuMzQ3MjdDMTMuOTk0OSAzLjM0NDI1IDEzLjk5NDcgMy4zNDE0MSAxMy45OTQ1IDMuMzM4NzVDMTMuOTkxOCAzLjMzODU0IDEzLjk4OSAzLjMzODMzIDEzLjk4NiAzLjMzODEyQzEzLjkyMDkgMy4zMzM2OSAxMy44MzEgMy4zMzMzMyAxMy42NjY2IDMuMzMzMzNIMTIuNjY2NlpNNy4wMzY5NCAxMi42NjY3QzYuMjIzMiAxMi42NjY3IDUuNTQyNzEgMTMuMjM3MiA1LjM3MzYxIDE0SDEwLjYyNjJDMTAuNDU3MSAxMy4yMzcyIDkuNzc2NiAxMi42NjY3IDguOTYyODYgMTIuNjY2N0g3LjAzNjk0WiIgZmlsbD0iIzhGOEI5QyIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzIxMTVfMzA2Ij4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+CjxzY3JpcHQgeG1sbnM9IiIvPgo8L3N2Zz4K';
186
+
158
187
  const iconClose = h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/close.svg" });
159
188
  const iconQuestion = h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/help.svg" });
160
189
  const iconEyeOpen = h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/eye-open.svg" });
161
190
  const iconEyeClose = h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/eye-closed.svg" });
162
191
  const iconBack = h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/back.svg" });
163
- const iconReward = h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/reward.svg" });
192
+ const iconReward = h("img", { src: rewardSvg, alt: "reward", class: "Reward" });
164
193
  const iconTrophy = h("img", { src: "https://static.everymatrix.com/gic/img/engagement-suite/cup-congras.svg" });
165
194
 
166
195
  const renderGradientRoundedButton = (_a) => {
@@ -255,7 +284,7 @@ const leaderboardsAdapter = (leaderboardRes) => {
255
284
  return leaderboards;
256
285
  }
257
286
  return leaderboards.map((leaderboard) => {
258
- if (item && item.userID === leaderboard.userID) {
287
+ if ((item === null || item === void 0 ? void 0 : item.userId) && item.userId === leaderboard.userId) {
259
288
  return Object.assign(Object.assign({}, leaderboard), { isMe: true });
260
289
  }
261
290
  else {
@@ -304,20 +333,28 @@ const renderTimeBar = (tournament) => {
304
333
  return (h("section", { class: "TimeContainer" },
305
334
  h("div", { class: "Time" }, tournament.state === 'Running'
306
335
  ? [
307
- h("div", null, getTimeDifference(new Date(), tournament.endTime)),
308
- h("div", null, renderGradientRoundedButton({
309
- statedClasses: {
310
- isHollow: true,
311
- isPendding: false
312
- },
313
- innerHTML: `${getProgress(tournament.startTime, tournament.endTime)}%`
314
- }))
336
+ h("div", { class: 'Running' },
337
+ h("div", null, getTimeDifference(new Date(), tournament.endTime)),
338
+ ",",
339
+ h("div", null, renderGradientRoundedButton({
340
+ statedClasses: {
341
+ isHollow: true,
342
+ isPendding: false
343
+ },
344
+ innerHTML: `${getProgress(tournament.startTime, tournament.endTime)}%`
345
+ })))
315
346
  ]
316
- : [h("div", null, formatDate(tournament.startTime)), h("div", null, formatDate(tournament.endTime))]),
347
+ : [h("div", { class: 'NotRunning' }, formatDate(tournament.startTime)), h("div", null, formatDate(tournament.endTime))]),
317
348
  h("casino-engagement-suite-progress-bar", { value: Number(getProgress(tournament.startTime, tournament.endTime)), "hide-percent": true })));
318
349
  };
319
350
 
320
351
  const messageSender = {
352
+ InitTournamentList: (queryParams) => {
353
+ window.postMessage(Object.assign({ type: 'InitTournamentList' }, queryParams));
354
+ },
355
+ post: (options) => {
356
+ window.postMessage(Object.assign({}, options));
357
+ },
321
358
  UpdateSuiteBarState: (labels) => window.postMessage({ type: 'UpdateLeaderboardState', labels }),
322
359
  JoinTournamentReq: (tournament) => {
323
360
  var _a, _b;
@@ -331,7 +368,7 @@ const messageSender = {
331
368
  UpdateTournamentsItemReq: (tournament) => window.postMessage({ type: 'UpdateTournamentsItemReq', id: tournament.id }),
332
369
  UpdateLeaderboardsReq: (tournament, query) => window.postMessage({ type: 'UpdateLeaderboardsReq', id: tournament.id, query }),
333
370
  UpdateLeaderboardsPlayerReq: () => window.postMessage({ type: 'UpdateLeaderboardsPlayerReq' }),
334
- GameClickReq: (game) => window.postMessage({ type: 'GameClickedReq', game }),
371
+ GameClickReq: (game) => window.postMessage({ type: 'EngagementSuiteGameRedirect', data: { Slug: game.slug } }),
335
372
  };
336
373
  const messageReceiver = (instance) => {
337
374
  const receiver = {
@@ -347,17 +384,13 @@ const messageReceiver = (instance) => {
347
384
  instance.tournamentItem = tournamentNew;
348
385
  updateTournamentListByItem(instance, tournamentNew);
349
386
  },
350
- UpdateLeaderboardsRes: (rest) => {
351
- instance.leaderboards = leaderboardsAdapter(rest.data);
352
- },
387
+ UpdateLeaderboardsRes: (rest) => processLeaderboardTableData(instance, rest),
353
388
  JoinTournamentRes: (rest) => commonJoinRes(instance, rest),
354
- UnjoinTournamentRes: (rest) => {
355
- commonJoinRes(instance, rest);
356
- },
389
+ UnjoinTournamentRes: (rest) => commonJoinRes(instance, rest),
357
390
  // listen to LeaderboardLiveEvent event, handle update
358
391
  LeaderboardLiveEvent: (rest) => {
359
392
  handleLeaderboardLiveEvent(instance, rest);
360
- }
393
+ },
361
394
  };
362
395
  return receiver;
363
396
  };
@@ -440,7 +473,7 @@ const showErrorMessage = (instance, type) => {
440
473
  };
441
474
  const commonJoinRes = (instance, rest) => {
442
475
  const { success, data } = rest;
443
- let tournamentIdx = instance.tournamentList.findIndex((tournament) => tournament.id === (data.id || data.bonusCode)), current = instance.tournamentList[tournamentIdx];
476
+ let tournamentIdx = instance.tournamentList.findIndex((tournament) => tournament.id === (data.tournamentId || data.id || data.bonusCode)), current = instance.tournamentList[tournamentIdx];
444
477
  current.isActionJoinPending = false;
445
478
  if (!success) {
446
479
  instance.tournamentList[tournamentIdx] = current;
@@ -456,6 +489,10 @@ const commonJoinRes = (instance, rest) => {
456
489
  instance.nextPage = undefined;
457
490
  }
458
491
  };
492
+ const processLeaderboardTableData = (instance, rest) => {
493
+ instance.leaderboards = leaderboardsAdapter(rest.data);
494
+ instance.currentPlyerRank = rest.data.item ? rest.data.item.rank : -1;
495
+ };
459
496
  const updateTournamentListByItem = (instance, tournament) => {
460
497
  instance.tournamentList = instance.tournamentList.map((_tournament) => {
461
498
  if (_tournament.id === tournament.id) {
@@ -492,7 +529,7 @@ const page = {
492
529
  instance.setPage(LeaderboardPage.item, { tournament });
493
530
  instance.newIdList = instance.newIdList.filter((id) => id !== tournament.id);
494
531
  };
495
- return renderLeaderboardContainer(instance, h("div", { class: "Leaderboards Row" }, instance.tournamentList.map((_tournament) => (h("div", { class: classnames('LeaderboardsItem', _tournament.isPlayerAcknowledged ? ' GradientRounded Hollow' : '', _tournament.isUnjoined ? 'Unjoined' : ''), onClick: () => onClickListItemChangePage(_tournament) },
532
+ return renderLeaderboardContainer(instance, h("div", { class: 'Leaderboards Row' }, instance.tournamentList.map((_tournament) => (h("div", { class: classnames('LeaderboardsItem', _tournament.isPlayerAcknowledged ? ' GradientRounded Hollow' : '', _tournament.isUnjoined ? 'Unjoined' : ''), onClick: () => onClickListItemChangePage(_tournament) },
496
533
  h("div", { class: "LeaderboardsItemContainer" },
497
534
  renderTitleContainer(instance, _tournament),
498
535
  renderTimeBar(_tournament)),
@@ -501,8 +538,8 @@ const page = {
501
538
  }
502
539
  else {
503
540
  return renderLeaderboardContainer(instance, h("div", { class: "NoLeaderboards Row" },
504
- h("div", null, locale.NoLeaderboards),
505
- h("div", null, locale.NoLeaderboardsTip)));
541
+ h("h3", { class: 'Title' }, locale.NoLeaderboards),
542
+ h("div", { class: 'message' }, locale.NoLeaderboardsTip)));
506
543
  }
507
544
  },
508
545
  item(instance) {
@@ -529,7 +566,7 @@ const page = {
529
566
  return renderLeaderboardContainer(instance, [
530
567
  renderTitleContainer(instance, instance.tournamentItem),
531
568
  renderTabs(),
532
- instance.renders.tab[instance.tab]()
569
+ h("div", { class: `TableContentWrapper ${instance.tab}` }, instance.renders.tab[instance.tab]())
533
570
  ]);
534
571
  }
535
572
  };
@@ -582,7 +619,9 @@ const renderLeaderboardContainer = (instance, render) => {
582
619
  switch (page) {
583
620
  case LeaderboardPage.list:
584
621
  return {
585
- left: h("span", { onClick: () => instance.openDialog(DialogType.tip) }, iconQuestion),
622
+ left: h("span", { onClick: () => instance.openDialog(DialogType.tip), onMouseEnter: () => { instance.showTooltip = true; }, onMouseLeave: () => { instance.showTooltip = false; }, ref: (el) => instance.tooltipIconReference = el },
623
+ iconQuestion,
624
+ instance.renderTooltip()),
586
625
  middle: locale.Leaderboards
587
626
  };
588
627
  case LeaderboardPage.item:
@@ -606,7 +645,7 @@ const renderLeaderboardContainer = (instance, render) => {
606
645
  h("div", { class: "Root" },
607
646
  h("div", { class: "Main" }, render))),
608
647
  h("div", { class: "WrapperUtil" },
609
- h("dialog", { open: isOpen, style: { 'top': instance.containerScrollTop + 'px' } },
648
+ h("dialog", { open: isOpen, style: { 'top': instance.getContainerScrollTop() + 'px' } },
610
649
  h("div", { class: "GradientRounded Hollow" },
611
650
  renderBar,
612
651
  isOpen && renderDialogContent())))));
@@ -619,12 +658,12 @@ const tab = {
619
658
  return (h("div", { class: "InfoContainer" },
620
659
  renderTimeBar(tournament),
621
660
  h("section", { class: "ShowInfo", onClick: () => (instance.isShowInfo = !instance.isShowInfo) },
622
- h("p", null,
623
- h("span", null, isShowInfo ? iconEyeClose : iconEyeOpen),
661
+ h("div", { class: 'DetailHeader' },
662
+ h("span", null, isShowInfo ? iconEyeOpen : iconEyeClose),
624
663
  h("span", null, locale.LeaderboardDetails))),
625
664
  h("div", { class: `ContentScrollContainer ${isShowInfo ? 'expanded' : ''}` },
626
665
  isShowInfo && (h("section", { class: "Info" },
627
- h("div", null, tournament.description),
666
+ h("div", { class: 'Description' }, tournament.description),
628
667
  h("div", { class: "Criterias" },
629
668
  h("div", null,
630
669
  locale.ScoreCriteria,
@@ -668,7 +707,9 @@ const tab = {
668
707
  },
669
708
  games(instance) {
670
709
  var _a;
671
- return (h("div", { class: "Games" }, (_a = instance.tournamentItem.games) === null || _a === void 0 ? void 0 : _a.map((game) => (h("div", { class: 'Game', onClick: () => { instance.onGameClick(game); } },
710
+ return (h("div", { class: "Games" }, (_a = instance.tournamentItem.games) === null || _a === void 0 ? void 0 : _a.map((game) => (h("div", { class: 'Game', onClick: () => {
711
+ instance.onGameClick(game);
712
+ } },
672
713
  h("img", { src: game.defaultThumbnail, alt: "" }))))));
673
714
  }
674
715
  };
@@ -685,7 +726,7 @@ const renders = {
685
726
  tab
686
727
  };
687
728
 
688
- const casinoEngagementSuiteTournamentCss = ".Leaderboards{height:100%;overflow-y:auto}.Wrapper{position:relative;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.Mobile{border-radius:16px}.WrapperContent{padding-bottom:20px;transition:0.5s filter}.WrapperContent.faded{filter:brightness(53.3333333333%)}.Wrapper.Mobile .WrapperBar{padding:20px 8px 8px;margin-bottom:8px}.WrapperBar{display:flex;width:100%;padding:32px 20px 20px;margin-bottom:20px}.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}.Row{margin:24px 0;padding:0 20px}.Row:first-child{margin:0}.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}.Info{margin:24px 0;padding:0 20px}.TimeContainer{margin:24px 0;padding:0 20px}.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 button{font-size:var(--emw--font-size-x-small, 12px);height:20px;padding:0}.TimeContainer .Time button::before{inset:inherit;border:0}.ShowInfo{margin:24px 0;padding:0 20px;cursor:pointer;color:rgb(102, 97, 120)}.ShowInfo p{display:flex;gap:4px}.TitleContainer{display:flex;justify-content:space-between;margin:24px 0;padding:0 20px;margin-top:0;gap:10px;font-family:Montserrat}.TitleContainer .GradientRoundedButton{width:120px}.TabsContainer{margin:24px 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>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:24px 0;padding:0 20px}.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{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{width:12px}.PrizesHeader .PrizesText{margin-left:3px;font-weight:600}.Prizes{margin:24px 0;padding:0 20px;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}*{box-sizing:border-box}.Leaderboards{width:100%;text-align:center;border-collapse:collapse}.Leaderboards td{opacity:0.6;padding:20px 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)}.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:#FFD029;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:24px 0;padding:0 20px;color:var(--emw--color-secondary, rgb(187, 185, 195));font-size:var(--emw--font-size-medium, 16px)}.Games{margin:24px 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:hover{filter:brightness(var(--emw--hover-brightness, 1.25))}.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}}";
729
+ 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.Mobile{border-radius:16px}.Wrapper.Mobile .WrapperContent .TableContentWrapper{height:calc(100vh - 278px);overflow-y:auto}.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}.Row{margin:10px 0;padding:0 20px}.Row:first-child{margin:0}.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 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:hover{filter:brightness(var(--emw--hover-brightness, 1.25))}.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}}";
689
730
  const CasinoEngagementSuiteTournamentStyle0 = casinoEngagementSuiteTournamentCss;
690
731
 
691
732
  const CasinoEngagementSuiteTournament = class {
@@ -753,15 +794,47 @@ const CasinoEngagementSuiteTournament = class {
753
794
  this.removeLabel('win');
754
795
  }
755
796
  }
797
+ getContainerScrollTop() {
798
+ return this.page === LeaderboardPage.list ? this.containerScrollTop : this.detailElement.clientHeight / 2 - 250;
799
+ }
800
+ handleClickOutside(event) {
801
+ if (event.composedPath()[0] === this.tooltipIconReference)
802
+ return;
803
+ if (event.composedPath()[0] !== this.tooltipReference)
804
+ this.showTooltip = false;
805
+ }
756
806
  componentDidLoad() {
757
807
  this.pageElement.addEventListener('scroll', (event) => {
758
- this.containerScrollTop = event.target.scrollTop + window.innerHeight / 2 - 400;
808
+ this.containerScrollTop = event.target.scrollTop + event.target.clientHeight / 2 - 250;
759
809
  });
760
810
  }
811
+ renderTooltip() {
812
+ if (this.showTooltip) {
813
+ return (h("div", { class: `question__tooltip ${this.showTooltip ? 'visible' : ''}`, ref: (el) => this.tooltipReference = el, innerHTML: this.locale.Tip }));
814
+ }
815
+ return null;
816
+ }
761
817
  connectedCallback() {
762
818
  this.setTimeInterval();
763
819
  messageSender.UpdateLeaderboardsPlayerReq();
764
820
  }
821
+ scrollToMyRankLine() {
822
+ if (!this.detailElement.querySelectorAll('.isMe').length) {
823
+ return;
824
+ }
825
+ (this.detailElement.querySelectorAll('.TableContentWrapper.leaderboard')[0]).scrollTo({ top: this.detailElement.querySelectorAll('.isMe')[0].offsetTop, behavior: 'smooth' });
826
+ this.scrolledToMyLine = true;
827
+ }
828
+ componentDidRender() {
829
+ if (this.page === LeaderboardPage.item && this.tab === Tab.leaderboard && !this.scrolledToMyLine) {
830
+ if (this.currentPlyerRank > this.maxPlyerRank) {
831
+ this.scrollToMyRankLine();
832
+ }
833
+ }
834
+ else {
835
+ this.scrolledToMyLine = false;
836
+ }
837
+ }
765
838
  disconnectedCallback() {
766
839
  clearInterval(this.timeHolder);
767
840
  }
@@ -789,6 +862,17 @@ const CasinoEngagementSuiteTournament = class {
789
862
  if (page == LeaderboardPage.item) {
790
863
  this.tournamentItem = metaData.tournament;
791
864
  if (!this.tournamentItem) {
865
+ messageSender.post({
866
+ type: 'GetTournamentGamesById',
867
+ pathParams: { id: metaData.tournament.id },
868
+ payload: {
869
+ expand: 'games',
870
+ pagination: 'games(limit=50,offset=0)',
871
+ fields: 'games(id,name,thumbnail,launchUrl)',
872
+ platform: getDevicePlatform(),
873
+ language: this.language
874
+ }
875
+ });
792
876
  messageSender.UpdateTournamentsItemReq(metaData.tournament);
793
877
  }
794
878
  if (isTournamentClosed(this.tournamentItem)) {
@@ -799,9 +883,9 @@ const CasinoEngagementSuiteTournament = class {
799
883
  this.page = page;
800
884
  }
801
885
  render() {
802
- return (h(Host, { key: '6ccc0ea805f77b2753cbb06f27953f8d6ae250e1' }, h("general-styling-wrapper", { key: '29be4b2eb25061f496844922c2d250d2d9967297', clientStylingUrl: this.clientStylingUrl, clientStyling: this.clientStyling,
886
+ return (h(Host, { key: '5a65900ecb503dd01f8f39774b92a6e95048dbf3' }, h("general-styling-wrapper", { key: '58cee35cf4142512e9b49566787b48cbc2761a4a', clientStylingUrl: this.clientStylingUrl, clientStyling: this.clientStyling,
803
887
  // @ts-ignore
804
- targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl }), h("div", { key: '2e7ab6c379e74abcc01635051a2621944733cb1c', class: 'Leaderboards', ref: el => this.pageElement = el }, this.renders.page[this.page]())));
888
+ targetTranslations: TRANSLATIONS, translationUrl: this.translationUrl }), h("div", { key: '1848e193e8c61fe6bc9d3e123b7651cb1b97981b', class: `Leaderboards ${this.page} ${this.page === 'list' ? 'Active' : 'Hidden'}`, ref: el => this.pageElement = el }, this.renders.page.list()), h("div", { key: 'f865edc80013565981b76df146e99ebf1d5d4721', class: `Leaderboards ${this.page} ${this.page === 'item' ? 'Active' : 'Hidden'} `, ref: el => this.detailElement = el }, this.renders.page.item())));
805
889
  }
806
890
  openDialog(type, data = undefined, onClose = undefined) {
807
891
  this.dialog = Object.assign(Object.assign({}, this.dialog), { isOpen: true, onClose,
@@ -818,6 +902,9 @@ const CasinoEngagementSuiteTournament = class {
818
902
  this.close = createEvent(this, "close", 7);
819
903
  this.gifts = [];
820
904
  this.labels = [];
905
+ this.showTooltip = false;
906
+ this.maxPlyerRank = 30;
907
+ this.scrolledToMyLine = false;
821
908
  this.language = 'en';
822
909
  this.show = false;
823
910
  this.clientStyling = '';
@@ -1,5 +1,5 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-ecf4f553.js';
2
- export { s as setNonce } from './index-ecf4f553.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-ac437a77.js';
2
+ export { s as setNonce } from './index-ac437a77.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  /*
@@ -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_3",[[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],"time":[32],"newIdList":[32]},[[8,"message","handleEvent"]],{"newIdList":["checkNewIdList"],"tournamentList":["syncBarState"],"show":["showPropWatcher"]}],[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]}],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}]]]], options);
19
+ return bootstrapLazy([["casino-engagement-suite-progress-bar_3",[[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],"time":[32],"newIdList":[32]},[[8,"message","handleEvent"],[4,"click","handleClickOutside"]],{"newIdList":["checkNewIdList"],"tournamentList":["syncBarState"],"show":["showPropWatcher"]}],[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]}],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}]]]], options);
20
20
  });
@@ -1,5 +1,5 @@
1
1
  const NAMESPACE = 'casino-engagement-suite-tournament';
2
- const BUILD = /* casino-engagement-suite-tournament */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
2
+ const BUILD = /* casino-engagement-suite-tournament */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
3
3
 
4
4
  /*
5
5
  Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
@@ -1561,6 +1561,7 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
1561
1561
  }
1562
1562
  };
1563
1563
  var getHostListenerTarget = (elm, flags) => {
1564
+ if (flags & 4 /* TargetDocument */) return doc;
1564
1565
  if (flags & 8 /* TargetWindow */) return win;
1565
1566
  return elm;
1566
1567
  };
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { C as CasinoEngagementSuiteTournament } from './casino-engagement-suite-tournament-8680a674.js';
2
- import './index-ecf4f553.js';
1
+ export { C as CasinoEngagementSuiteTournament } from './casino-engagement-suite-tournament-bd7c9cdd.js';
2
+ import './index-ac437a77.js';
3
3
  import '@everymatrix/general-animation-loading/dist';
@@ -1,11 +1,11 @@
1
- import { b as bootstrapLazy } from './index-ecf4f553.js';
2
- export { s as setNonce } from './index-ecf4f553.js';
1
+ import { b as bootstrapLazy } from './index-ac437a77.js';
2
+ export { s as setNonce } from './index-ac437a77.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
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_3",[[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],"time":[32],"newIdList":[32]},[[8,"message","handleEvent"]],{"newIdList":["checkNewIdList"],"tournamentList":["syncBarState"],"show":["showPropWatcher"]}],[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]}],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}]]]], options);
8
+ return bootstrapLazy([["casino-engagement-suite-progress-bar_3",[[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],"time":[32],"newIdList":[32]},[[8,"message","handleEvent"],[4,"click","handleClickOutside"]],{"newIdList":["checkNewIdList"],"tournamentList":["syncBarState"],"show":["showPropWatcher"]}],[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]}],[4,"general-styling-wrapper",{"clientStyling":[1,"client-styling"],"clientStylingUrl":[1,"client-styling-url"],"translationUrl":[1,"translation-url"],"targetTranslations":[16]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from '../../stencil-public-runtime';
3
3
  import { Tab } from '../../utils/translations';
4
- import { Tournament, Leaderboard, LeaderboardPage, TournamentApi, Dialog, TournamentGame } from '../../utils/types';
4
+ import { Dialog, Leaderboard, LeaderboardPage, Tournament, TournamentApi, TournamentGame } from '../../utils/types';
5
5
  import { type CasinoEngagementSuiteTournamentRenders } from '../../shared/renders';
6
6
  import '@everymatrix/general-animation-loading/dist';
7
7
  import "../../../../../../dist/packages/stencil/general-styling-wrapper/dist/types/index";
@@ -52,18 +52,16 @@ export declare class CasinoEngagementSuiteTournament {
52
52
  };
53
53
  WinDialog: {
54
54
  Tile: string;
55
- Description: string; /**
56
- * Client custom styling via string
57
- */
55
+ Description: string;
58
56
  ButtonContinue: string;
59
57
  };
60
58
  NoLeaderboards: string;
61
59
  NoLeaderboardsTip: string;
62
- Leaderboards: string; /**
63
- * Translation via url
64
- */
60
+ Leaderboards: string;
65
61
  TipPrize: string;
66
- Tip: string;
62
+ Tip: string; /**
63
+ * Raw Leaderboards from API for Init
64
+ */
67
65
  TournamentNotStarted: string;
68
66
  BeOne: string;
69
67
  FailedToJoin: string;
@@ -91,6 +89,14 @@ export declare class CasinoEngagementSuiteTournament {
91
89
  newIdList: string[];
92
90
  labels: string[];
93
91
  pageElement: HTMLElement;
92
+ detailElement: HTMLElement;
93
+ tooltipIconReference: HTMLElement;
94
+ tooltipReference: HTMLElement;
95
+ private containerScrollTop;
96
+ showTooltip: boolean;
97
+ currentPlyerRank: number;
98
+ private maxPlyerRank;
99
+ scrolledToMyLine: boolean;
94
100
  handleEvent(e: MessageEvent): void;
95
101
  checkNewIdList(): void;
96
102
  syncBarState(newTournamentList: Tournament[], oldTournamentList: Tournament[]): void;
@@ -99,9 +105,13 @@ export declare class CasinoEngagementSuiteTournament {
99
105
  removeLabel(tag: string): void;
100
106
  setTimeInterval(): void;
101
107
  checkGift(): void;
102
- containerScrollTop: number;
108
+ getContainerScrollTop(): number;
109
+ handleClickOutside(event: MouseEvent): void;
103
110
  componentDidLoad(): void;
111
+ renderTooltip(): any;
104
112
  connectedCallback(): void;
113
+ scrollToMyRankLine(): void;
114
+ componentDidRender(): void;
105
115
  disconnectedCallback(): void;
106
116
  onGameClick(game: TournamentGame): void;
107
117
  actionJoin(tournament: Tournament): void;
@@ -33,3 +33,15 @@ export declare const getTournamentListByItem: (tournamentList: Tournament[], tou
33
33
  isActionJoinPending?: boolean;
34
34
  isUnjoined?: boolean;
35
35
  }[];
36
+ export declare const getTournamentListParams: (language: string) => {
37
+ type: string;
38
+ messageType: string;
39
+ method: string;
40
+ queryParams: {
41
+ filter: string;
42
+ sortField: string;
43
+ sortOrder: string;
44
+ pagination: string;
45
+ language: string;
46
+ };
47
+ };
@@ -1,5 +1,7 @@
1
1
  import { Instance, Tournament, TournamentGame } from './types';
2
2
  export declare const messageSender: {
3
+ InitTournamentList: (queryParams: any) => void;
4
+ post: (options: any) => void;
3
5
  UpdateSuiteBarState: (labels: string[]) => void;
4
6
  JoinTournamentReq: (tournament: Tournament) => void;
5
7
  UnjoinTournamentReq: (tournament: Tournament) => void;
@@ -68,7 +68,7 @@ export interface LeaderboardApi {
68
68
  rankWithoutUnqualified: number;
69
69
  prizeName: string;
70
70
  domainID: number;
71
- userID: string;
71
+ userId: string;
72
72
  shortName: string;
73
73
  betCount: number;
74
74
  score: number;
@@ -8,3 +8,9 @@ export declare const getNewItems: <T>(newList: T[], oldList: T[], getCondition:
8
8
  * @param {boolean} isInteger - Whether to force return integer
9
9
  */
10
10
  export declare const truncateNumber: (value: any, decimals: any, isInteger?: boolean) => any;
11
+ /**
12
+ * custom rules for component types
13
+ */
14
+ export declare const isMobile: () => boolean;
15
+ export declare const getDevice: () => "Android" | "iPhone" | "iPad" | "PC";
16
+ export declare const getDevicePlatform: () => "dk" | "ios" | "mtWeb";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everymatrix/casino-engagement-suite-tournament",
3
- "version": "1.60.2",
3
+ "version": "1.61.1",
4
4
  "main": "./dist/index.cjs.js",
5
5
  "module": "./dist/index.js",
6
6
  "es2015": "./dist/esm/index.mjs",