@everymatrix/casino-engagement-suite-tournament 1.60.1 → 1.61.0

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 (51) 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-10e1f844.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-7dd52ef4.js → p-bfca9e2a.js} +2 -2
  6. package/dist/cjs/casino-engagement-suite-progress-bar_3.cjs.entry.js +2 -2
  7. package/dist/cjs/{casino-engagement-suite-tournament-9276045b.js → casino-engagement-suite-tournament-49cebf14.js} +163 -55
  8. package/dist/cjs/casino-engagement-suite-tournament.cjs.js +2 -2
  9. package/dist/cjs/{index-9b5a5304.js → index-982cd594.js} +5 -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 +135 -32
  14. package/dist/collection/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.js +67 -9
  15. package/dist/collection/shared/icons.js +2 -1
  16. package/dist/collection/shared/renders.dialog.js +2 -2
  17. package/dist/collection/shared/renders.page.js +11 -9
  18. package/dist/collection/shared/renders.tab.js +4 -2
  19. package/dist/collection/shared/renders.util.js +3 -4
  20. package/dist/collection/utils/api.apdater.js +1 -1
  21. package/dist/collection/utils/bussiness.js +15 -0
  22. package/dist/collection/utils/message.js +37 -20
  23. package/dist/collection/utils/translations.js +1 -1
  24. package/dist/collection/utils/types.js +1 -0
  25. package/dist/collection/utils/utils.js +38 -1
  26. package/dist/esm/casino-engagement-suite-progress-bar_3.entry.js +2 -2
  27. package/dist/esm/{casino-engagement-suite-tournament-e9186545.js → casino-engagement-suite-tournament-bd7c9cdd.js} +163 -55
  28. package/dist/esm/casino-engagement-suite-tournament.js +3 -3
  29. package/dist/esm/{index-e8e1e68e.js → index-ac437a77.js} +5 -1
  30. package/dist/esm/index.js +2 -2
  31. package/dist/esm/loader.js +3 -3
  32. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/packages/stencil/casino-engagement-suite-tournament/stencil.config.d.ts +2 -0
  33. package/dist/types/Users/adrian.pripon/Documents/Work/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/packages/stencil/casino-engagement-suite-tournament/stencil.config.dev.d.ts +2 -0
  34. package/dist/types/components/casino-engagement-suite-tournament/casino-engagement-suite-tournament.d.ts +24 -9
  35. package/dist/types/utils/api.apdater.d.ts +3 -1
  36. package/dist/types/utils/bussiness.d.ts +15 -1
  37. package/dist/types/utils/message.d.ts +4 -1
  38. package/dist/types/utils/translations.d.ts +2 -0
  39. package/dist/types/utils/types.d.ts +21 -3
  40. package/dist/types/utils/utils.d.ts +6 -0
  41. package/package.json +1 -1
  42. package/dist/casino-engagement-suite-tournament/p-94a5935e.js +0 -15
  43. package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/packages/stencil/casino-engagement-suite-tournament/stencil.config.d.ts +0 -2
  44. package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/packages/stencil/casino-engagement-suite-tournament/stencil.config.dev.d.ts +0 -2
  45. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/libs/common/src/storybook/storybook-utils.d.ts +0 -0
  46. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/packages/stencil/casino-engagement-suite-tournament/storybook/main.d.ts +0 -0
  47. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/packages/stencil/casino-engagement-suite-tournament/storybook/preview.d.ts +0 -0
  48. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/tools/plugins/index.d.ts +0 -0
  49. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/tools/plugins/stencil-clean-deps-plugin.d.ts +0 -0
  50. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/tools/plugins/vite-chunk-plugin.d.ts +0 -0
  51. /package/dist/types/Users/{maria.bumbar/Desktop → adrian.pripon/Documents/Work}/widgets-monorepo/packages/stencil/casino-engagement-suite-tournament/.stencil/tools/plugins/vite-clean-deps-plugin.d.ts +0 -0
@@ -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 } 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";
@@ -55,17 +55,17 @@ export declare class CasinoEngagementSuiteTournament {
55
55
  Description: string;
56
56
  ButtonContinue: string;
57
57
  };
58
- NoLeaderboards: string; /**
59
- * Client custom styling via url
60
- */
61
- NoLeaderboardsTip: string; /**
62
- * Translation via url
63
- */
58
+ NoLeaderboards: string;
59
+ NoLeaderboardsTip: string;
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;
67
+ FailedToJoin: string;
68
+ FailedToUnjoin: string;
69
69
  Starts: import("../../utils/translations").Time.Starts;
70
70
  Ends: import("../../utils/translations").Time.Ends;
71
71
  info: Tab.info;
@@ -77,7 +77,6 @@ export declare class CasinoEngagementSuiteTournament {
77
77
  tournamentItem: Tournament;
78
78
  tournamentList: Tournament[];
79
79
  leaderboards: Leaderboard[];
80
- isActionJoinPending: boolean;
81
80
  isDialogOpen: boolean;
82
81
  isShowInfo: boolean;
83
82
  page: LeaderboardPage;
@@ -89,6 +88,15 @@ export declare class CasinoEngagementSuiteTournament {
89
88
  gifts: any[];
90
89
  newIdList: string[];
91
90
  labels: string[];
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;
92
100
  handleEvent(e: MessageEvent): void;
93
101
  checkNewIdList(): void;
94
102
  syncBarState(newTournamentList: Tournament[], oldTournamentList: Tournament[]): void;
@@ -97,8 +105,15 @@ export declare class CasinoEngagementSuiteTournament {
97
105
  removeLabel(tag: string): void;
98
106
  setTimeInterval(): void;
99
107
  checkGift(): void;
108
+ getContainerScrollTop(): number;
109
+ handleClickOutside(event: MouseEvent): void;
110
+ componentDidLoad(): void;
111
+ renderTooltip(): any;
100
112
  connectedCallback(): void;
113
+ scrollToMyRankLine(): void;
114
+ componentDidRender(): void;
101
115
  disconnectedCallback(): void;
116
+ onGameClick(game: TournamentGame): void;
102
117
  actionJoin(tournament: Tournament): void;
103
118
  setPage(page: LeaderboardPage, metaData?: any): void;
104
119
  render(): any;
@@ -25,8 +25,10 @@ export declare const tournamentAdapter: (tournamentApi: TournamentApi) => {
25
25
  count: number;
26
26
  name: string;
27
27
  }[];
28
- games?: any[];
28
+ games?: import("./types").TournamentGame[];
29
29
  playerEnrolled?: boolean;
30
30
  isPlayerAcknowledged?: boolean;
31
+ isActionJoinPending?: boolean;
32
+ isUnjoined?: boolean;
31
33
  };
32
34
  export declare const leaderboardsAdapter: (leaderboardRes: any) => Leaderboard[];
@@ -27,7 +27,21 @@ export declare const getTournamentListByItem: (tournamentList: Tournament[], tou
27
27
  count: number;
28
28
  name: string;
29
29
  }[];
30
- games?: any[];
30
+ games?: import("./types").TournamentGame[];
31
31
  playerEnrolled?: boolean;
32
32
  isPlayerAcknowledged?: boolean;
33
+ isActionJoinPending?: boolean;
34
+ isUnjoined?: boolean;
33
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,11 +1,14 @@
1
- import { Instance, Tournament } from './types';
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;
6
8
  UpdateTournamentsItemReq: (tournament: Tournament) => void;
7
9
  UpdateLeaderboardsReq: (tournament: Tournament, query?: any) => void;
8
10
  UpdateLeaderboardsPlayerReq: () => void;
11
+ GameClickReq: (game: TournamentGame) => void;
9
12
  };
10
13
  export declare const messageReceiver: (instance: Instance) => {
11
14
  UpdateLeaderboardsPlayerRes: (rest: any) => void;
@@ -33,6 +33,8 @@ export declare const TRANSLATIONS: {
33
33
  Tip: string;
34
34
  TournamentNotStarted: string;
35
35
  BeOne: string;
36
+ FailedToJoin: string;
37
+ FailedToUnjoin: string;
36
38
  Starts: Time.Starts;
37
39
  Ends: Time.Ends;
38
40
  info: Tab.info;
@@ -42,16 +42,33 @@ export interface TournamentApi {
42
42
  count: number;
43
43
  name: string;
44
44
  }[];
45
- games?: any[];
45
+ games?: TournamentGame[];
46
46
  playerEnrolled?: boolean;
47
47
  isPlayerAcknowledged?: boolean;
48
+ isActionJoinPending?: boolean;
49
+ isUnjoined?: boolean;
48
50
  }
51
+ export type TournamentGames = {
52
+ items: TournamentGame[];
53
+ count?: number;
54
+ };
55
+ export type TournamentGame = {
56
+ gameCode?: string;
57
+ gameId?: string;
58
+ id: string;
59
+ name?: string;
60
+ launchUrl?: string;
61
+ thumbnail?: string;
62
+ defaultThumbnail?: string;
63
+ platform?: string[];
64
+ [key: string]: any;
65
+ };
49
66
  export interface LeaderboardApi {
50
67
  rank: number;
51
68
  rankWithoutUnqualified: number;
52
69
  prizeName: string;
53
70
  domainID: number;
54
- userID: string;
71
+ userId: string;
55
72
  shortName: string;
56
73
  betCount: number;
57
74
  score: number;
@@ -94,7 +111,8 @@ export type Tournament = ChangeKeysType<TournamentApi, Changes>;
94
111
  export declare enum DialogType {
95
112
  unjoin = "unjoin",
96
113
  tip = "tip",
97
- gift = "gift"
114
+ gift = "gift",
115
+ error = "error"
98
116
  }
99
117
  export interface Dialog {
100
118
  isOpen: boolean;
@@ -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.1",
3
+ "version": "1.61.0",
4
4
  "main": "./dist/index.cjs.js",
5
5
  "module": "./dist/index.js",
6
6
  "es2015": "./dist/esm/index.mjs",
@@ -1,15 +0,0 @@
1
- import{h as e,H as t,r as i,c as r}from"./p-7dd52ef4.js";import"@everymatrix/general-animation-loading/dist";
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
- PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function a(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(i[r[a]]=e[r[a]])}return i}var n,o;!function(e){e.info="info",e.leaderboard="leaderboard",e.games="games"}(n||(n={})),function(e){e.Starts="Starts",e.Ends="Ends"}(o||(o={}));const s=(e,t)=>(Object.keys(t).map((i=>{e=e.replace(`{${i}}`,t[i])})),e),d=Object.assign(Object.assign(Object.assign({Join:"Join",Unjoin:"Unjoin"},n),o),{TC:"Terms & Conditions",ScoreCriteria:"Score Criteria",MinimumBetCriteria:"Minimum bet criteria",Place:"place",Prizes:"Rewards",LeaderboardDetails:"Leaderboard Details",UnjoinDialog:{Title:"Quit Leaderboard?",Description:"Any progress on the current Leaderboard won’t be kept and you can not rejoin the Leaderboard any more. <br /><br />Would you still like to quit?",ButtonYes:"Yes, I want to quit leaderboard",ButtonNo:"No, Stay on the leaderboard"},WinDialog:{Tile:"Congratulations!",Description:"You won <span>{tournamentName}</span>!",ButtonContinue:"Continue"},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!"}),l=(...e)=>{let t=[];return e.map((e=>{switch(typeof e){case"string":t.push(e);break;case"object":Object.keys(e).map((i=>{e[i]&&t.push(i)}))}})),t.join(" ")};var c,p,g;!function(e){e.list="list",e.item="item"}(c||(c={})),function(e){e.Running="Running",e.Unstarted="Unstarted",e.Closed="Closed",e.Closing="Closing"}(p||(p={})),function(e){e.unjoin="unjoin",e.tip="tip",e.gift="gift"}(g||(g={}));const m=e=>[p.Closed,p.Closing].includes(e.state),b=e("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/close.svg"}),u=e("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/help.svg"}),h=e("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/eye-open.svg"}),x=e("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/eye-closed.svg"}),v=e("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/back.svg"}),f=e("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/reward.svg"}),w=e("img",{src:"https://static.everymatrix.com/gic/img/engagement-suite/cup-congras.svg"}),y=t=>{var{statedClasses:i,innerHTML:r}=t,n=a(t,["statedClasses","innerHTML"]);const{isHollow:o,isPending:s}=i;return e("button",Object.assign({class:l("GradientRoundedButton","GradientRounded",{Hollow:o||!1,Pending:s||!1})},n),e("span",null,r))};var C;!function(e){e.normal="normal",e.unjoinYes="unjoinYes",e.unjoinNo="unjoinNo"}(C||(C={}));const L=(e,t)=>{const{locale:i}=e,r={normal:{innerHTML:i.WinDialog.ButtonContinue},unjoinYes:{onClick:()=>e.actionJoin(e.dialog.data),innerHTML:i.UnjoinDialog.ButtonYes},unjoinNo:{statedClasses:{isHollow:!0},innerHTML:i.UnjoinDialog.ButtonNo}}[t];return y({statedClasses:Object.assign({isPending:e.isActionJoinPending},r.statedClasses),onClick:()=>{var t;null===(t=r.onClick)||void 0===t||t.call(),e.closeDialog()},innerHTML:r.innerHTML})},T={gift(t){const{name:i}=t.gifts[0],{locale:r}=t;return e("div",{class:"PageConfirmContainer"},e("div",{class:"PageConfirm"},e("div",null,w),e("div",{class:"Title"},r.WinDialog.Tile),e("div",{class:"Description",innerHTML:s(r.WinDialog.Description,{tournamentName:i})}),e("div",{class:"PageConfirmButtonsGroup"},L(t,C.normal))))},unjoin(t){const{locale:i}=t;return e("div",{class:"DialogContentUnjoin"},e("div",{class:"DialogContentUnjoinTitle"},i.UnjoinDialog.Title),e("div",{class:"DialogContentUnjoinDescription",innerHTML:i.UnjoinDialog.Description}),L(t,C.unjoinYes),L(t,C.unjoinNo))}},k=e=>{const t=["startTime","endTime","closeTime","exhibitionStartTime","exhibitionEndTime"],i={};return Object.keys(e).map((r=>{const a=e[r];i[r]="games"===r?a.items:t.includes(r)?new Date(a):a})),i},F=e=>{let{item:t,items:i}=e;return t?i.map((e=>t&&t.userID===e.userID?Object.assign(Object.assign({},e),{isMe:!0}):e)):i},z=t=>{const{left:i,middle:r,right:a}=t,n={left:i,middle:r,right:a};return e("div",{class:"WrapperBar"},Object.keys(n).map((t=>{return e("div",{class:"WrapperBar"+(i=t,i.split("").map(((e,t)=>0===t?e.toUpperCase():e)).join(""))},n[t]||"");var i})))};function j(e){return e.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).replace(" at",",")}function P(e,t){return(100*((new Date).getTime()-e.getTime())/(t.getTime()-e.getTime())).toFixed(0)}function R(e,t){const i=Math.abs(t.getTime()-e.getTime()),r=Math.floor(i/864e5),a=Math.floor(i%864e5/36e5),n=Math.floor(i%36e5/6e4);return`${String(r).padStart(2,"0")}d:${String(a).padStart(2,"0")}h:${String(n).padStart(2,"0")}m`}const U=t=>e("section",{class:"TimeContainer"},e("div",{class:"Time"},"Running"===t.state?[e("div",null,R(new Date,t.endTime)),e("div",null,y({statedClasses:{isHollow:!0,isPendding:!1},innerHTML:`${P(t.startTime,t.endTime)}%`}))]:[e("div",null,j(t.startTime)),e("div",null,j(t.endTime))]),e("casino-engagement-suite-progress-bar",{value:Number(P(t.startTime,t.endTime)),"hide-percent":!0})),M=e=>window.postMessage({type:"UpdateLeaderboardState",labels:e}),I=e=>window.postMessage({type:"UpdateTournamentsItemReq",id:e.id}),O=(e,t)=>window.postMessage({type:"UpdateLeaderboardsReq",id:e.id,query:t}),H=(e,t)=>{const{success:i}=t;if(i)switch(e.tournamentItem=Object.assign(Object.assign({},e.tournamentItem),{isPlayerAcknowledged:!e.tournamentItem.isPlayerAcknowledged}),e.page){case c.item:break;case c.list:B(e,e.tournamentItem)}e.nextPage&&(e.setPage(e.nextPage),e.nextPage=void 0),e.isActionJoinPending=!1},B=(e,t)=>{e.tournamentList=e.tournamentList.map((e=>e.id===t.id?k(t):e))},S=(e,t)=>{e.tournamentList=e.tournamentList.filter((e=>e.id!==t.id))},D=(e,t)=>{const i=e.tournamentList.findIndex((e=>e.id===t.id));-1!==i?e.tournamentList[i]=k(t):e.tournamentList=e.tournamentList.concat(k(t))},W={list(t){var i;if(!t.tournamentList)return t.tournamentList=null===(i=t.leaderboardsInit)||void 0===i?void 0:i.map((e=>k(e))),e("general-animation-loading",null);const{locale:r}=t;if(t.tournamentList.length){const i=e=>{t.setPage(c.item,{tournament:e}),t.newIdList=t.newIdList.filter((t=>t!==e.id))};return G(t,e("div",{class:"Leaderboards Row"},t.tournamentList.map((r=>e("div",{class:l("LeaderboardsItem",r.isPlayerAcknowledged?" GradientRounded Hollow":""),onClick:()=>i(r)},e("div",{class:"LeaderboardsItemContainer"},N(t,r),U(r)),e("div",{class:"LeaderboardLabels"},t.newIdList.includes(r.id)&&e("div",{class:"LeaderboardLabel"},e("span",null,"new"))))))))}return G(t,e("div",{class:"NoLeaderboards Row"},e("div",null,r.NoLeaderboards),e("div",null,r.NoLeaderboardsTip)))},item:t=>t.tournamentItem?G(t,[N(t,t.tournamentItem),(()=>{const{locale:i,tab:r}=t;return e("div",{class:"TabsContainer"},e("div",{class:"Tabs"},Object.keys(n).map((a=>e("div",{class:l({active:r===a}),onClick:()=>(e=>{switch(t.tab=e,e){case n.leaderboard:t.leaderboards=void 0,O(t.tournamentItem);break;case n.games:I(t.tournamentItem)}})(a)},i[a])))))})(),t.renders.tab[t.tab]()]):e("general-animation-loading",null)},N=(t,i)=>{const{locale:r}=t;return e("div",{class:"TitleContainer"},e("div",{class:"Title"},i.nameOrTitle),i.state!==p.Closed&&e("div",null,y({statedClasses:{isHollow:i.isPlayerAcknowledged,isPending:t.isActionJoinPending},onClick:e=>{e.stopPropagation(),t.isActionJoinPending||(e=>{e.isPlayerAcknowledged?t.openDialog(g.unjoin,e):(t.actionJoin(e),t.tournamentItem=e)})(i)},innerHTML:i.isPlayerAcknowledged?r.Unjoin:r.Join})))},G=(t,i)=>{const{dialog:{isOpen:r}}=t,a=z({right:e("span",{onClick:()=>t.closeDialog()},b)});return e("div",{class:`Wrapper ${t.device}`},e("div",{class:l("WrapperContent",{faded:r})},(()=>{const{left:i,middle:r}=(()=>{const{page:i,locale:r}=t;switch(i){case c.list:return{left:e("span",{onClick:()=>t.openDialog(g.tip)},u),middle:r.Leaderboards};case c.item:return{left:e("span",{onClick:()=>t.setPage(c.list)},v),middle:r.Leaderboards}}})();return z({left:i,middle:r,right:e("span",{onClick:()=>t.close.emit()},b)})})(),e("div",{class:"Root"},e("div",{class:"Main"},i))),e("div",{class:"WrapperUtil"},e("dialog",{open:r},e("div",{class:"GradientRounded Hollow"},a,r&&(()=>{switch(t.dialog.type){case g.unjoin:return t.renders.dialog.unjoin();case g.tip:return e("div",{class:"Tip"},t.locale.Tip);case g.gift:return t.renders.dialog.gift()}})()))))},E={info(t){var i,r;const{locale:a,tournamentItem:n,isShowInfo:o}=t;return e("div",{class:"InfoContainer"},U(n),e("section",{class:"ShowInfo",onClick:()=>t.isShowInfo=!t.isShowInfo},e("p",null,e("span",null,o?x:h),e("span",null,a.LeaderboardDetails))),e("div",{class:"ContentScrollContainer "+(o?"expanded":"")},o&&e("section",{class:"Info"},e("div",null,n.description),e("div",{class:"Criterias"},e("div",null,a.ScoreCriteria,": ",e("span",null,n.scoreCriteria)),e("div",null,a.MinimumBetCriteria,": ",e("span",null,n.minBetCount))),!!n.termsUrl&&e("div",{class:"TC"},e("a",{href:n.termsUrl,target:"_blank"},a.TC))),m(t.tournamentItem)&&(null===(i=t.leaderboards)||void 0===i?void 0:i.find((e=>e.isMe)))&&e("section",{class:"ResultPrize",innerHTML:s(a.TipPrize,q(null===(r=t.leaderboards)||void 0===r?void 0:r.find((e=>e.isMe))))}),e("section",{class:"PrizesContainer"},e("div",{class:"PrizesHeader"},f,e("span",{class:"PrizesText"},a.Prizes)),e("div",{class:"Prizes"},n.prizes.map(((t,i)=>e("div",{class:"Prize"},i+1," ",a.Place,": ",e("span",{class:"PrizeText"},t.name))))))))},leaderboard(t){const{locale:i,tournamentItem:r}=t;if("Unstarted"===(null==r?void 0:r.state)){const t=R(null==r?void 0:r.startTime,new Date);return e("div",{class:"LeaderboardUnstarted",innerHTML:s(i.TournamentNotStarted,{startTime:t})})}return t.leaderboards?t.leaderboards.length?e("table",{class:"Leaderboards"},t.leaderboards.map((t=>e("tr",{class:l({isMe:t.isMe})},e("td",{class:"LeaderboardRank"},e("span",null,t.rank)),e("td",{class:"LeaderboardName"},t.shortName),e("td",{class:"LeaderboardScore"},((e,t,i=!1)=>{const r=Number(e);if(isNaN(r))throw new Error("Input must be a valid number or string that can be converted to number");if(i&&!r.toString().includes("."))return e;if(0===t)return Math.floor(r);const a=Math.pow(10,t);return(Math.floor(r*a)/a).toFixed(t)})(t.score,2,!0)),e("td",{class:"LeaderboardPrize"},t.prizeName))))):e("div",{class:"LeaderboardUnstarted"},i.BeOne):e("general-animation-loading",null)},games(t){var i;return e("div",{class:"Games"},null===(i=t.tournamentItem.games)||void 0===i?void 0:i.map((t=>e("div",null,e("img",{src:t.defaultThumbnail,alt:""})))))}},q=e=>({prize:e.prizeName,place:e.rank}),$={dialog:T,page:W,tab:E},Y=class{handleEvent(e){var t,i;const r=e.data,{type:n}=r,o=a(r,["type"]);var s;null===(i=null===(s=this,t={UpdateLeaderboardsPlayerRes:e=>{const t=(e=>{let t;return e.map((e=>{var i;const r=null===(i=e.leaderBoard)||void 0===i?void 0:i.rank;r&&(t?r<t.leaderBoard.rank&&(t=e):t=e)})),t?`${t.leaderBoard.rank} / ${t.endRank}`:"-"})(e.data.items);window.postMessage({type:"UpdateLeaderboardState",rank:t})},UpdateLeaderboardStateReq:()=>{window.postMessage({type:"UpdateLeaderboardState",labels:["win","new"]})},UpdateTournamentsItemRes:e=>{const t=k(e.data.item);s.tournamentItem=t,B(s,t)},UpdateLeaderboardsRes:e=>{s.leaderboards=F(e.data)},JoinTournamentRes:e=>H(s,e),UnjoinTournamentRes:e=>H(s,e),LeaderboardLiveEvent:e=>{((e,t)=>{const{messageType:i,item:r}=t;switch(i){case"TournamentUpdate":case"PlayerLeaderBoardUpdate":D(e,r);break;case"TournamentRemove":S(e,r);break;case"LeaderBoardUpdate":e.leaderboards=F(t)}})(s,e)}})||void 0===t?void 0:t[n])||void 0===i||i.call(null,o)}checkNewIdList(){this.newIdList.length>0?this.addLabel("new"):this.removeLabel("new")}syncBarState(e,t){if(t){const a=(i=t,r=(e,t)=>e.id===t.id,e.filter((e=>!i.some((t=>r(e,t))))));this.newIdList=[...this.newIdList,...a.map((e=>e.id))]}else this.checkNewIdList(),this.gifts.length&&this.addLabel("win");var i,r}showPropWatcher(e,t){0==t&&1==e&&(this.checkGift(),this.page=c.list)}addLabel(e){this.labels.includes(e)||this.labels.push(e),M(this.labels)}removeLabel(e){this.labels=this.labels.filter((t=>t!=e)),M(this.labels)}setTimeInterval(){this.timeHolder=setInterval((()=>{this.time=this.tournamentList||this.tournamentItem?this.time+1:0}),1e3)}checkGift(){this.gifts.length?this.openDialog(g.gift,this.gifts[0],(()=>{this.dialog.type===g.gift&&(this.gifts=this.gifts.slice(1),setTimeout((()=>{this.checkGift()}),300))})):this.removeLabel("win")}connectedCallback(){this.setTimeInterval(),window.postMessage({type:"UpdateLeaderboardsPlayerReq"})}disconnectedCallback(){clearInterval(this.timeHolder)}actionJoin(e){if(!this.isActionJoinPending){this.isActionJoinPending=!0;try{e.isPlayerAcknowledged?(e=>{window.postMessage({type:"UnjoinTournamentReq",id:e.id})})(e):(e=>{var t,i;window.postMessage({type:"JoinTournamentReq",bonusCode:null===(i=null===(t=e.wallets)||void 0===t?void 0:t[0])||void 0===i?void 0:i.code})})(e)}catch(e){return void console.log("error",e)}}}setPage(e,t){e==c.item&&(this.tournamentItem=t.tournament,this.tournamentItem||I(t.tournament),m(this.tournamentItem)&&O(this.tournamentItem)),this.tab=n.info,this.page=e}render(){return e(t,{key:"b070d8a83bcd801d5daeb4edfe87ad0159da4e7c"},e("general-styling-wrapper",{key:"7454fdab7ee55ab95a39adb3c8b51aed0b78f534",clientStylingUrl:this.clientStylingUrl,clientStyling:this.clientStyling,targetTranslations:d,translationUrl:this.translationUrl}),this.renders.page[this.page]())}openDialog(e,t,i){this.dialog=Object.assign(Object.assign({},this.dialog),{isOpen:!0,onClose:i,type:e,data:t})}closeDialog(){var e;null===(e=this.dialog.onClose)||void 0===e||e.call(this),this.dialog=Object.assign(Object.assign({},this.dialog),{isOpen:!1,onClose:void 0})}constructor(e){i(this,e),this.close=r(this,"close",7),this.gifts=[],this.labels=[],this.language="en",this.show=!1,this.clientStyling="",this.clientStylingUrl="",this.translationUrl="",this.device="Mobile",this.leaderboardsInit=void 0,this.tab=n.info,this.locale=d,this.tournamentItem=void 0,this.tournamentList=void 0,this.leaderboards=[],this.isActionJoinPending=!1,this.isDialogOpen=!1,this.isShowInfo=!1,this.page=c.list,this.tournamentInDialog=void 0,this.dialog={isOpen:!1,type:void 0,data:void 0,onClose:void 0},this.time=0,this.newIdList=[],this.renders={},Object.keys($).forEach((e=>{this.renders[e]={},Object.keys($[e]).forEach((t=>{this.renders[e][t]=$[e][t].bind(this,this)}))}))}static get watchers(){return{newIdList:["checkNewIdList"],tournamentList:["syncBarState"],show:["showPropWatcher"]}}};Y.style='.Wrapper{height:100%;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;overflow-y:auto}.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{position:relative;margin:10px 0;border:1px solid rgb(64, 57, 86);border-radius:16px}.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;display:flex;flex-wrap:wrap;justify-content:space-evenly;gap:4px 7.25px}.Games img{width:60px}dialog{position:absolute;top:30px;width:100%;height:100%;background:transparent;border:0;padding:0;color:var(--emw--color-typography, #FFFFFF)}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)}.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}';export{Y as C}
@@ -1,2 +0,0 @@
1
- import { Config } from '../../../../../../../../../../../stencil-public-runtime';
2
- export declare const config: Config;
@@ -1,2 +0,0 @@
1
- import { Config } from '../../../../../../../../../../../stencil-public-runtime';
2
- export declare const config: Config;