@everymatrix/casino-tournaments-slider-controller 1.44.0 → 1.45.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,565 +0,0 @@
1
- <svelte:options tag={null} />
2
- <script lang="ts">
3
- import {onMount} from "svelte";
4
- import {fade } from 'svelte/transition';
5
- import { getDevice } from 'rvhelper';
6
- import { _, addNewMessages, setLocale, setupI18n } from './i18n';
7
- import { TRANSLATIONS } from './translations';
8
- import { EventSourcePolyfill } from 'event-source-polyfill';
9
- import iconDefault from './icon'
10
-
11
- import "@everymatrix/casino-tournaments-rank";
12
-
13
- export let session:string = '';
14
- export let endpoint:string = '';
15
- export let lang:string = 'en';
16
- export let tournamentsshownnumber:number=5;
17
- export let looptime: string = '5';
18
- export let iconsize: string = '9';
19
- export let icon: string = '';
20
- export let clientstyling:string = '';
21
- export let clientstylingurl:string = '';
22
- export let translationurl:string = '';
23
-
24
- let customStylingContainer: HTMLElement;
25
- let displayNone:boolean = false;
26
-
27
- const sortByStatus:string = '""|type1';
28
- let userAgent:string = window.navigator.userAgent;
29
- let tournamentList:any =[];
30
- let currentTournament:any;
31
- let currentTournamentIdx:number = 0;
32
- let isFirst:boolean = true;
33
- let isLast:boolean = false;
34
- let isLoading:boolean = false;
35
- let isLoggedIn:boolean =false;
36
- let sessionID:string;
37
- let tournamentsUpdateEventSource:EventSourcePolyfill;
38
-
39
- let tourSlider:HTMLElement;
40
- let xDown:any = null;
41
- let yDown:any = null;
42
-
43
- let slideAutoInterval;
44
- let isHided: boolean = false;
45
- let animatorRef: HTMLElement
46
- let transistionTime: number = 1;
47
- let curTournamentElement:HTMLElement;
48
- let sliderTransitionTime:number = 300;
49
-
50
- setupI18n({ withLocale: 'en', translations: {}});
51
-
52
- const setTranslationUrl = ():void => {
53
- let url:string = translationurl;
54
-
55
- fetch(url).then((res:any) => res.json())
56
- .then((res) => {
57
- Object.keys(res).forEach((item:any):void => {
58
- addNewMessages(item, res[item]);
59
- });
60
- }).catch((err:any) => {
61
- console.log(err);
62
- });
63
- }
64
-
65
- Object.keys(TRANSLATIONS).forEach((item) => {
66
- addNewMessages(item, TRANSLATIONS[item]);
67
- });
68
-
69
- const messageHandler = (e:any)=>{
70
- if(!e.data){
71
- return;
72
- }
73
-
74
- if(e.data.type == 'TournamentList'){
75
- tournamentList = e.data.tournamentList;
76
- }
77
-
78
- }
79
- const setSession = () => {
80
- if (session.length > 0 && session != 'false') {
81
- isLoggedIn = true;
82
- isLoading = true;
83
- sessionID = session;
84
- } else {
85
- isLoggedIn = false;
86
- }
87
- }
88
- const setActiveLanguage = ():void => {
89
- setLocale(lang);
90
- }
91
-
92
- const slideAuto = () => {
93
- if(tournamentList.length === 0) return;
94
- animator.curTournament.hide();
95
- setTimeout(()=>{
96
- currentTournamentIdx = (currentTournamentIdx + 1) % tournamentList.length
97
- animator.curTournament.show();
98
- }, sliderTransitionTime*1.5);
99
- }
100
- const setSlideAutoInterval = () => {
101
- clearInterval(slideAutoInterval)
102
- slideAutoInterval = setInterval(() => {
103
- if(isHided) return;
104
- slideAuto();
105
- }, Number(looptime) * 1000)
106
- }
107
-
108
- const slideTo = (idxTo) =>{
109
- animator.curTournament.hide();
110
- setSlideAutoInterval()
111
- if(idxTo > 0 && isLast) onHideSlider();
112
- if(idxTo > 0 && isLast || (idxTo < 0 && isFirst)){
113
- return;
114
- }
115
- setTimeout(()=>{
116
- currentTournamentIdx = currentTournamentIdx+ idxTo;
117
- animator.curTournament.show();
118
- }, sliderTransitionTime*1.5);
119
- }
120
-
121
- // animator
122
- const delay = (fn) => setTimeout(() => fn(), transistionTime * 1000)
123
-
124
- const animator = {
125
- icon: {
126
- init: function() {
127
- animatorRef.style.transition = `all ${transistionTime}s ease-in-out`;
128
- },
129
- show: function() {
130
- animatorRef.style.display = 'flex'
131
- delay(() => animatorRef.style.opacity = '1')
132
- },
133
- hide: function() {
134
- animatorRef.style.display = 'none'
135
- animatorRef.style.opacity = '0'
136
- }
137
- },
138
-
139
- slider: {
140
- init: function() {
141
- tourSlider.style.transition = `all ${transistionTime}s ease-in-out`;
142
- },
143
- show: function() {
144
-
145
- tourSlider.style.opacity = '1'
146
- tourSlider.style.transform = null;
147
- document.querySelector('body').style['overflow-x'] = 'hidden'
148
- },
149
- hide: function() {
150
- this.init()
151
-
152
- tourSlider.style.opacity = '0'
153
- tourSlider.style.transform = `translateX(${tourSlider.clientWidth + 20}px)`;
154
- delay(() => document.querySelector('body').setAttribute('style', null))
155
- }
156
- },
157
-
158
- curTournament: {
159
- init: function() {
160
- curTournamentElement.style.transition = `all ${sliderTransitionTime}ms linear`;
161
- },
162
- show: function() {
163
- curTournamentElement.style.opacity = '1';
164
- },
165
- hide: function() {
166
- this.init();
167
- curTournamentElement.style.opacity = '0'
168
- }
169
- }
170
- }
171
-
172
- const onClickAnimator = () => {
173
- animator.slider.show()
174
- animator.icon.hide()
175
- isHided = false
176
- }
177
-
178
- const onHideSlider = () => {
179
- animator.slider.hide()
180
- animator.icon.show()
181
- isHided = true
182
- }
183
-
184
- const transformTournamentItem = (item:any)=>{
185
- let briefTournament = {
186
- id: item.tournament.id,
187
- name: item.tournament.nameOrTitle,
188
- rank: item.leaderBoard ? item.leaderBoard.rank : '-',
189
- overallRank: item.endRank,
190
- prize: item.leaderBoard && item.leaderBoard.prizeName ? item.leaderBoard.prizeName : '-'
191
- };
192
- return briefTournament;
193
- }
194
-
195
- const detailsAction = (tournamentId:any) => {
196
- window.postMessage({ type: 'MyTournamentFromNavClicked', tournamentid: tournamentId, showLeaderboard: true}, window.location.href);
197
- }
198
-
199
- const setTournamentsSearchParams = (urlSearchParams: URLSearchParams, offset:number, limit:number)=>{
200
- urlSearchParams.append('pagination', `offset=${offset},limit=${limit}`);
201
- urlSearchParams.append('sortField', 'StartTime');
202
- urlSearchParams.append('sortOrder', 'desc');
203
- urlSearchParams.append('fields', 'id,nameOrTitle,state');
204
- urlSearchParams.append('language', lang);
205
- urlSearchParams.append('filter', `state=Running`);
206
- return urlSearchParams;
207
- }
208
-
209
- const updateTournamentByNewTour = (newTournament: any) =>{
210
- let briefTournamentInfo = transformTournamentItem(newTournament);
211
- let tournamentIdx = tournamentList.findIndex((item)=>{
212
- return item.id == briefTournamentInfo.id;
213
- })
214
- if(currentTournamentIdx == tournamentIdx){
215
- window.postMessage({type: `TournamentRankInfo_${briefTournamentInfo.id}}`, rankInfo:{
216
- rank: briefTournamentInfo.rank,
217
- overallRank: briefTournamentInfo.overallRank,
218
- prize: briefTournamentInfo.prize
219
- }}, window.location.href);
220
- }
221
- tournamentList[tournamentIdx] = briefTournamentInfo;
222
- }
223
-
224
- const tournamentsUpdateMessageHandler = (message:any)=>{
225
- if(!message.data){
226
- return;
227
- }
228
- try{
229
- let messageData:any = message.data;
230
- let updateInfo:any = JSON.parse(messageData);
231
- if(updateInfo.messageType=='PlayerLeaderBoardsUpdate' && updateInfo.items){
232
- updateInfo.items.forEach((item:any, idx: number)=>{
233
- updateTournamentByNewTour(item);
234
- });
235
- } else if(updateInfo.messageType=='PlayerLeaderBoardUpdate' && updateInfo.item){
236
- updateTournamentByNewTour(updateInfo.item);
237
- }
238
- }catch(err){
239
- console.log(err);
240
- }
241
- }
242
-
243
- const getTouches = (evt:any) => {
244
- return evt.touches || evt.originalEvent.touches;
245
- }
246
-
247
- const handleTouchStart = (evt:any) => {
248
- const firstTouch = getTouches(evt)[0];
249
-
250
- xDown = firstTouch.clientX;
251
- yDown = firstTouch.clientY;
252
- };
253
-
254
- const handleTouchMove = (evt:any) => {
255
- if (!xDown || !yDown) return;
256
-
257
- let xUp = evt.touches[0].clientX;
258
- let yUp = evt.touches[0].clientY;
259
-
260
- let xDiff = xDown - xUp;
261
- let yDiff = yDown - yUp;
262
-
263
- if (Math.abs(xDiff) > Math.abs(yDiff)) {
264
- if (xDiff > 0) {
265
- slideTo(1);
266
- } else {
267
- slideTo(-1);
268
- }
269
- }
270
-
271
- xDown = null;
272
- yDown = null;
273
- };
274
-
275
- const addEventListeners = () => {
276
- tourSlider.addEventListener('touchstart', handleTouchStart, {passive: true});
277
- tourSlider.addEventListener('touchmove', handleTouchMove, {passive: true});
278
- }
279
-
280
- const startupUpdateListener=()=>{
281
- if(!endpoint){
282
- return;
283
- }
284
- if(tournamentsUpdateEventSource){
285
- tournamentsUpdateEventSource.removeEventListener('message', tournamentsUpdateMessageHandler);
286
- tournamentsUpdateEventSource.close();
287
- }
288
- let tournamentsUrl:URL = new URL(`${endpoint}/v1/tournaments/leaderboard/player/updates`);
289
- setTournamentsSearchParams(tournamentsUrl.searchParams, 0, tournamentsshownnumber);
290
- tournamentsUpdateEventSource = new EventSourcePolyfill(tournamentsUrl.href, {headers: {'accept': 'text/event-stream','X-SessionId': session}});
291
- if(typeof(tournamentsUpdateEventSource) != "undefined"){
292
- tournamentsUpdateEventSource.addEventListener('message', tournamentsUpdateMessageHandler);
293
- }
294
- }
295
-
296
- const setClientStyling = ():void => {
297
- let sheet = document.createElement('style');
298
- sheet.innerHTML = clientstyling;
299
- customStylingContainer.appendChild(sheet);
300
- }
301
-
302
- const setClientStylingURL = ():void => {
303
- displayNone = true;
304
-
305
- let url:URL = new URL(clientstylingurl);
306
- let cssFile:HTMLElement = document.createElement('style');
307
-
308
- fetch(url.href)
309
- .then((res:any) => res.text())
310
- .then((data:any) => {
311
- cssFile.innerHTML = data
312
-
313
- setTimeout(() => { customStylingContainer.appendChild(cssFile) }, 1);
314
- setTimeout(() => { displayNone = false; }, 500);
315
- });
316
- }
317
-
318
- const loadData=()=>{
319
- if(!endpoint || !session){
320
- return;
321
- }
322
- let playerTournamentsUrl:any = new URL(`${endpoint}/v1/tournaments/leaderboard/player`);
323
-
324
- let reqHeaders = new Headers();
325
- setTournamentsSearchParams(playerTournamentsUrl.searchParams, 0, tournamentsshownnumber);
326
- if (session) {
327
- reqHeaders.append("X-SessionID", session);
328
- }
329
-
330
- let requestOptions = {
331
- method: 'GET',
332
- headers: reqHeaders,
333
- };
334
-
335
- fetch(playerTournamentsUrl, requestOptions)
336
- .then((res:any) => res.json())
337
- .then((data:any) => {
338
- if(!data.items){
339
- return;
340
- }
341
- tournamentList = [];
342
- let tournaments = data.items;
343
- tournaments.forEach((item:any, idx: number)=>{
344
- tournamentList.push(transformTournamentItem(item));
345
- })
346
- currentTournament = tournamentList[currentTournamentIdx];
347
- startupUpdateListener();
348
- setSlideAutoInterval();
349
- });
350
- }
351
- let isMounted = false;
352
- onMount(()=>{
353
- isMounted = true;
354
- window.addEventListener("message", messageHandler, false);
355
- setTimeout(()=>{
356
- lang = 'tr';
357
- }, 5000);
358
- return ()=>{
359
- clearInterval(slideAutoInterval);
360
- window.removeEventListener("message", messageHandler);
361
- if( tournamentsUpdateEventSource){
362
- tournamentsUpdateEventSource.removeEventListener('message', tournamentsUpdateMessageHandler);
363
- }
364
- tourSlider.removeEventListener('touchstart', handleTouchStart);
365
- tourSlider.removeEventListener('touchmove', handleTouchMove);
366
- }
367
- })
368
-
369
- $: customStylingContainer && clientstyling && setClientStyling();
370
- $: customStylingContainer && clientstylingurl && setClientStylingURL();
371
- $: iconHref = icon || iconDefault
372
- $: isMounted && endpoint && tournamentsshownnumber && lang && loadData();
373
- $: tourSlider && addEventListeners();
374
- $: session && setSession();
375
- $: lang && setActiveLanguage();
376
- $: translationurl && setTranslationUrl();
377
- $: currentTournament = tournamentList[currentTournamentIdx];
378
- $: isLast = currentTournamentIdx == tournamentList.length - 1;
379
- $: isFirst = currentTournamentIdx == 0;
380
- </script>
381
- <div bind:this={customStylingContainer}>
382
- <div part="Tournaments" class="casino-tournaments-slider-controller" bind:this={tourSlider}>
383
- <div part="Tournaments_ArrowLeft" class="ArrowLeft {isFirst ? 'Disabled':''}" on:click="{()=>slideTo(-1)}">
384
- <svg width="6" height="10" viewBox="0 0 6 10" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
385
- <path fill-rule="evenodd" clip-rule="evenodd" d="M0.861997 5.75848L0 4.89648L4.30998 0.586501L5.17198 1.4485L1.7241 4.89638L5.17255 8.34484L4.31055 9.20683L0.862099 5.75838L0.861997 5.75848Z"/>
386
- </svg>
387
- </div>
388
- {#if (!tournamentList )}
389
- <div part="TournamentLoading" class="TournamentInfo SearchLoading" style="height: 200px">
390
- <div part="TournamentInfo_Name" class="name"><span part="TournamentInfo_Name_link" >{$_(`loading`)}</span></div>
391
- <div part="TournamentInfo_Rank" class="rank">
392
- <casino-tournaments-rank displayin="col" showicon="false" userrank="-" prize='-' overallrank="-" tournamentid="" {clientstyling} {clientstylingurl}></casino-tournaments-rank>
393
- </div>
394
- <div part="TournamentInfo_Points" class="circle">
395
- </div>
396
- </div>
397
- {/if}
398
- {#if (tournamentList && tournamentList.length > 0) }
399
- <div part="TournamentInfo" class="TournamentInfo" bind:this={curTournamentElement} transition:fade="{{delay: 250, duration: 300}}">
400
- <div part="TournamentInfo_Name" class="name"><span part="TournamentInfo_Name_link" class="TournamentNameLink" on:click={() => detailsAction(currentTournament.id)} title="{currentTournament.name}">{currentTournament.name}</span></div>
401
- <div part="TournamentInfo_Rank" class="rank">
402
- <casino-tournaments-rank displayin="col" showicon="false" userrank="{currentTournament.rank}"
403
- prize='{currentTournament.prize}' overallrank="{currentTournament.overallRank}"
404
- tournamentid="{currentTournament.id}" {clientstyling} {clientstylingurl}></casino-tournaments-rank>
405
- </div>
406
- <div part="TournamentInfo_Points" class="circle">
407
- {#each tournamentList as item, idx}
408
- <svg class="{currentTournamentIdx == idx ? 'active' : ''}" width="6" height="5" viewBox="0 0 6 5" fill="none" xmlns="http://www.w3.org/2000/svg">
409
- <circle cx="2.77888" cy="2.50837" r="2.28571" fill="currentColor" stroke="currentColor" />
410
- </svg>
411
- {/each}
412
- </div>
413
- </div>
414
- {/if}
415
- <div part="Tournaments_ArrowRight" class="ArrowRight" on:click="{()=>slideTo(1)}">
416
- <svg width="6" height="10" fill="currentColor" viewBox="0 0 6 10" xmlns="http://www.w3.org/2000/svg">
417
- <path fill-rule="evenodd" clip-rule="evenodd" d="M4.93488 5.75848L5.79688 4.89648L1.48689 0.586501L0.624894 1.4485L4.07278 4.89638L0.624326 8.34484L1.48632 9.20683L4.93478 5.75838L4.93488 5.75848Z"/>
418
- </svg>
419
- {#if isLast}
420
- <svg width="6" height="10" fill="currentColor" viewBox="0 0 6 10" xmlns="http://www.w3.org/2000/svg">
421
- <path fill-rule="evenodd" clip-rule="evenodd" d="M4.93488 5.75848L5.79688 4.89648L1.48689 0.586501L0.624894 1.4485L4.07278 4.89638L0.624326 8.34484L1.48632 9.20683L4.93478 5.75838L4.93488 5.75848Z"/>
422
- </svg>
423
- {/if}
424
- </div>
425
- </div>
426
-
427
- <section id="animator" bind:this={animatorRef} part="Animator" on:click="{() => onClickAnimator()}">
428
- <div class="svg" part="Icon">
429
- <svg width={iconsize} height={iconsize} viewBox={`0 0 ${iconsize} ${iconsize}`} fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
430
- <rect width={iconsize} height={iconsize} fill="url(#pattern0)"/>
431
- <defs>
432
- <pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
433
- <use xlink:href="#image0_2606_356" transform="scale(0.00195312)"/>
434
- </pattern>
435
- <image
436
- id="image0_2606_356"
437
- width="512"
438
- height="512"
439
- xlink:href={iconHref}
440
- />
441
- </defs>
442
- </svg>
443
- </div>
444
-
445
- <div class="restoreButton" part="RestoreButton">
446
- <svg width="6" height="10" viewBox="0 0 6 10" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
447
- <path fill-rule="evenodd" clip-rule="evenodd" d="M0.861997 5.75848L0 4.89648L4.30998 0.586501L5.17198 1.4485L1.7241 4.89638L5.17255 8.34484L4.31055 9.20683L0.862099 5.75838L0.861997 5.75848Z"/>
448
- </svg>
449
- <svg width="6" height="10" viewBox="0 0 6 10" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
450
- <path fill-rule="evenodd" clip-rule="evenodd" d="M0.861997 5.75848L0 4.89648L4.30998 0.586501L5.17198 1.4485L1.7241 4.89638L5.17255 8.34484L4.31055 9.20683L0.862099 5.75838L0.861997 5.75848Z"/>
451
- </svg>
452
- </div>
453
- </section>
454
- </div>
455
-
456
- <style lang="scss">
457
- ::host{
458
- }
459
- .casino-tournaments-slider-controller {
460
- position: relative;
461
- width: 100%;
462
- background: #212223;
463
- color: #fff;
464
- display: inline-flex;
465
- padding: 10px 5px;
466
- border: 1px solid #ff8364;
467
- border-radius: 5px;
468
- min-height: 70px;
469
- -webkit-box-shadow: 0 1px 3px rgba(0,0,0,.5);
470
- }
471
- .TournamentInfo{
472
- width: calc(100% - 4px);
473
- padding: 2px;
474
- display: flex;
475
- flex-direction: column;
476
- justify-content: center;
477
- .name{
478
- white-space: nowrap;
479
- width: 99%;
480
- text-align: center;
481
- text-transform: capitalize;
482
- font-size: 11px;
483
- margin-bottom: 5px;
484
- cursor: pointer;
485
- overflow: hidden;
486
- text-overflow: ellipsis;
487
- }
488
- .TournamentNameLink{
489
- overflow: hidden;
490
- white-space: nowrap;
491
- text-overflow: ellipsis;
492
- }
493
- .circle{text-align: center; height: 7px;
494
- height: 5px;
495
- margin-top: 3px;
496
- svg{color: #C4C4C4; margin: 0 2px; vertical-align: top; margin-top: 3px;}
497
- svg.active{color: white}
498
- }
499
- }
500
- .ArrowLeft{
501
- left: 1px;
502
- }
503
- .ArrowRight{
504
- right: 1px;
505
- }
506
-
507
- .ArrowLeft, .ArrowRight{
508
- &.Disabled svg{color: darkgrey}
509
- position: absolute;
510
- cursor: pointer;
511
- top: calc(50% - 7px);
512
- svg{
513
- vertical-align: middle;
514
- width: 11px;
515
- height: 11px;
516
- color: #FF8364;
517
- }
518
- margin: 0px;
519
- display: flex;
520
- width: 7px;
521
- }
522
-
523
- section#animator {
524
- position: absolute;
525
- right: 0;
526
- top: 0;
527
- opacity: 0;
528
- display: none;
529
- cursor: pointer;
530
- text-align: center;
531
-
532
- align-items: center;
533
- flex-direction: column;
534
-
535
- .restoreButton {
536
- color: #000;
537
- display: inline-flex;
538
- }
539
- }
540
-
541
- casino-tournaments-rank::part(Rank), casino-tournaments-rank::part(Prize){
542
- background-color: transparent;
543
- padding: 0px;
544
- margin: 0px;
545
- line-height: 14px;
546
- }
547
- casino-tournaments-rank::part(RankText), casino-tournaments-rank::part(PrizeText){
548
- line-height: 16px;
549
- margin: auto;
550
- }
551
- casino-tournaments-rank::part(Rank_Arror_UP), casino-tournaments-rank::part(Rank_Arror_Down){
552
- padding: 0px 3px;
553
- }
554
- casino-tournaments-rank::part(PrizeText){
555
- font-weight: normal;
556
- }
557
- casino-tournaments-rank::part(Rank){
558
- color: #ff8364;
559
- font-size: 10px;
560
- }
561
- casino-tournaments-rank::part(Prize){
562
- color: #fdd500;
563
- font-size: 10px;
564
- }
565
- </style>
package/src/i18n.js DELETED
@@ -1,27 +0,0 @@
1
- import {
2
- dictionary,
3
- locale,
4
- addMessages,
5
- _
6
- } from 'svelte-i18n';
7
-
8
- function setupI18n({ withLocale: _locale, translations }) {
9
- locale.subscribe((data) => {
10
- if (data == null) {
11
- dictionary.set(translations);
12
- locale.set(_locale);
13
- }
14
- }); // maybe we will need this to make sure that the i18n is set up only once
15
- /*dictionary.set(translations);
16
- locale.set(_locale);*/
17
- }
18
-
19
- function addNewMessages(lang, dict) {
20
- addMessages(lang, dict);
21
- }
22
-
23
- function setLocale(_locale) {
24
- locale.set(_locale);
25
- }
26
-
27
- export { _, setupI18n, addNewMessages, setLocale };
package/src/icon.js DELETED
@@ -1,3 +0,0 @@
1
- export default `
2
- data:image/png;base64,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gORG2uqdQKQx0op3AhFQARAREWlKKgAiIiJNSAVARESkCakAiIiINCEVABERkSakAiAiItKEVABERESakAqAiIhIE1IBEBERaUIqACIiIk1IBUBERKQJqQCIiIg0IRUAERGRJqQCICIi0oRUAERERJqQCoCIiEgTUgEQERFpQuYdQBovzHzteNK+VxL4O2AKsB8w3jmWOFi8+G76+xPvGNJglUoUqtVKX0trdU1HW8tlcXv7nIPvX/Sgdy5pLBWAJhJmnnYISfQFsL8Hqt55xJ8KgACYwbhxnQ+N7Wx753NWLpnrnUcaQwWgCYTj3thOZctXwN6PbvyyAxUA2ZGZMWGPzls7xlZmPfeBWzd455H60h6AkgsnnDaRytZ5YB9CN38RGUQIgfWPb5m6/tHuVfcfMO0Y7zxSXyoAJRaOf9XBWHwzcLR3FhEpjm3dve1r1m68/v4DjprhnUXqRwWgpMLLXj0GC5cQ2N87i4gUT39fLV63buMV9z7vqAO9s0h9qACUVVT7X+Bw7xgiUlzdPX2tWx7butg7h9SHCkAJhekvfyXwGu8cIlJ8mzZt2+/PE1/yr945JHsqACUTmB0Roi965xCR8tiwYcunAzMr3jkkWyoAZXP8TacCR3jHEJHy6O7ua7t34qZPeOeQbKkAlE0UXucdQUTKp7e3723eGSRbKgAlMjD9b6d75xCR8tmyuedFQfeMUtH/mWXy0hufC0z0jiEi5dPXX4vuP/Co471zSHZUAMqkagd7RxCR8kqS9DjvDJIdFYAySUxv9BOR+knCPt4RJDsqAGUSpS3eEUSkvIKFdu8Mkh0VABERkSakAiAiItKEVABERESakAqAiIhIE1IBEBERaUIqACIiIk1IBUBERKQJqQCIiIg0IRUAERGRJqQCICIi0oRUAERERJqQCoCIiEgTUgEQERFpQioAIiIiTUgFQEREpAmpAIiIiDQhFQAREZEmpAIgIiLShFQAREREmpAKgIiISBNSARAREWlCKgAiIiJNSAVARESkCakAiIiINCEVABERkSakAiAiItKEVABERESakAqAiIhIE1IBEBERaUIqACIiIk1IBUBERKQJqQCIiIg0IRUAERGRJqQCICIi0oRUAERERJqQCoCIiEgTUgEQERFpQioAIiIiTUgFQEREpAmpAIiIiDQhFQAREZEmpAIgIiLShFQAREREmpAKgIiISBNSARAREWlCKgAiIiJNSAVARESkCakAiIiINCEVABERkSakAiAiItKEVABERESakAqAiIhIE1IBEBERaUIqACIiIk1IBUBERKQJqQCIiIg0IRUAERGRJqQCICIi0oRUAERERJqQCkCZpFGfdwQRKS8L1u2dQbKjAlAmcdjgHUFEysviaI13BsmOCkCZJPYX7wgiUl5WCYu8M0h2VADK5Lrf3w884h1DRMqn2lJJDn5oiQpAiagAlIhBAH7nnUNEyqerq/1Og9Q7h2RHBaBsApd6RxCR8mlrrf7UO4NkSwWgbK47+koIf/KOISLl0d7e0n3I6rHneeeQbKkAlIwxO4XoX71ziEh5jN9jzOeMeTXvHJItFYASsoW/vwILv/HOISLFN25c58rnr1ryFe8ckj1hLOs1AAAA8klEQVQVgLKKus8EVnjHEJHiam9r6Z0wZuwx3jmkPlQASsrmzduCxa9BjwWKyAi0tMTJnnuPO/XAR25Y6Z1F6kMFoMRswWX3Q3I0cKN3FhEpjs6uti377D3myIMfvnmBdxapHxWAkrOFV6wm3jYTwlcBvStARHbJzNhzzzFLxu47bv/nrrz1Vu88Ul/mHUAaJxz/qoMhfAHjDUCLdx7xt3jx3fT3J94xxJmZMW5cxwNjujre+dxHbp7vnUcaQwWgCYWTTx5HX/XlpPZqjMOBA4A9vHNJ46kANKdKJQ7Vatzb2lpd09ZevbQ9bj9fa/3N5/8DLDrhXaS1FJcAAAAASUVORK5CYII=
3
- `
package/src/index.ts DELETED
@@ -1,4 +0,0 @@
1
- import CasinoTournamentsSliderController from './CasinoTournamentsSliderController.svelte';
2
-
3
- !customElements.get('casino-tournaments-slider-controller') && customElements.define('casino-tournaments-slider-controller', CasinoTournamentsSliderController);
4
- export default CasinoTournamentsSliderController;
@@ -1,23 +0,0 @@
1
- export const TRANSLATIONS = {
2
- "en": {
3
- "loading": "Loading"
4
- },
5
- "hr": {
6
- "loading": "Učitavanje"
7
- },
8
- "ro": {
9
- "loading": "Se încarcă"
10
- },
11
- "tr": {
12
- "loading": "Yükleniyor"
13
- },
14
- "el": {
15
- "loading": "Φο’ρτωση"
16
- },
17
- "es": {
18
- "loading": "Cargando"
19
- },
20
- "hu": {
21
- "loading": "Betöltés"
22
- }
23
- }