kaggle-environments 1.22.6__py3-none-any.whl → 1.24.3__py3-none-any.whl

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.

Potentially problematic release.


This version of kaggle-environments might be problematic. Click here for more details.

Files changed (68) hide show
  1. kaggle_environments/envs/connectx/visualizer/default/index.html +13 -0
  2. kaggle_environments/envs/connectx/visualizer/default/package.json +22 -0
  3. kaggle_environments/envs/connectx/visualizer/default/replays/test-replay.json +1129 -0
  4. kaggle_environments/envs/connectx/visualizer/default/src/main.ts +12 -0
  5. kaggle_environments/envs/connectx/visualizer/default/src/renderer.ts +396 -0
  6. kaggle_environments/envs/connectx/visualizer/default/src/style.css +38 -0
  7. kaggle_environments/envs/connectx/visualizer/default/tsconfig.json +4 -0
  8. kaggle_environments/envs/connectx/visualizer/default/vite.config.ts +7 -0
  9. kaggle_environments/envs/open_spiel_env/games/repeated_poker/repeated_poker.js +163 -88
  10. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/index.html +13 -0
  11. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/package.json +23 -0
  12. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/replays/test-replay.json +1 -0
  13. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/scripts/print_first_steps.mjs +202 -0
  14. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/scripts/print_replay.mjs +215 -0
  15. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/scripts/print_steps_with_end_states.mjs +234 -0
  16. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/components/getRepeatedPokerStateForStep.js +260 -0
  17. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/components/utils.ts +61 -0
  18. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/debug_repeated_poker_renderer.ts +49 -0
  19. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_1.svg +22 -0
  20. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_10.svg +22 -0
  21. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_100.svg +48 -0
  22. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_25.svg +22 -0
  23. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/images/poker_chip_5.svg +22 -0
  24. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/main.ts +36 -0
  25. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/repeated_poker_renderer.ts +573 -0
  26. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/style.css +594 -0
  27. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/tsconfig.json +7 -0
  28. kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/vite.config.ts +6 -0
  29. kaggle_environments/envs/werewolf/README.md +190 -0
  30. kaggle_environments/envs/werewolf/harness/__init__.py +0 -0
  31. kaggle_environments/envs/werewolf/harness/base.py +773 -0
  32. kaggle_environments/envs/werewolf/harness/litellm_models.yaml +51 -0
  33. kaggle_environments/envs/werewolf/harness/main.py +54 -0
  34. kaggle_environments/envs/werewolf/harness/test_base.py +35 -0
  35. kaggle_environments/envs/werewolf/runner.py +146 -0
  36. kaggle_environments/envs/werewolf/scripts/__init__.py +0 -0
  37. kaggle_environments/envs/werewolf/scripts/add_audio.py +425 -0
  38. kaggle_environments/envs/werewolf/scripts/configs/audio/standard.yaml +24 -0
  39. kaggle_environments/envs/werewolf/scripts/configs/run/block_basic.yaml +102 -0
  40. kaggle_environments/envs/werewolf/scripts/configs/run/comprehensive.yaml +100 -0
  41. kaggle_environments/envs/werewolf/scripts/configs/run/roundrobin_discussion_DisableDoctorSelfSave_DisableDoctorConsecutiveSave_large.yaml +104 -0
  42. kaggle_environments/envs/werewolf/scripts/configs/run/roundrobin_discussion_large.yaml +103 -0
  43. kaggle_environments/envs/werewolf/scripts/configs/run/roundrobin_discussion_small.yaml +103 -0
  44. kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard.yaml +103 -0
  45. kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_DisableDoctorSelfSave_DisableDoctorConsecutiveSave.yaml +104 -0
  46. kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_DisableDoctorSelfSave_SeerRevealTeam.yaml +105 -0
  47. kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_DisableDoctorSelfSave_SeerRevealTeam_NightEliminationNoReveal_DayExileNoReveal.yaml +105 -0
  48. kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_DisableDoctorSelfSave_SeerRevealTeam_NightEliminationRevealTeam_DayExileRevealTeam.yaml +105 -0
  49. kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_disable_doctor_self_save.yaml +103 -0
  50. kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_parallel_voting.yaml +103 -0
  51. kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_parallel_voting_no_tie_exile.yaml +103 -0
  52. kaggle_environments/envs/werewolf/scripts/configs/run/rule_experiment/standard_parallel_voting_roundbiddiscussion.yaml +105 -0
  53. kaggle_environments/envs/werewolf/scripts/configs/run/run_config.yaml +58 -0
  54. kaggle_environments/envs/werewolf/scripts/configs/run/vertex_api_example_config.yaml +115 -0
  55. kaggle_environments/envs/werewolf/scripts/measure_cost.py +251 -0
  56. kaggle_environments/envs/werewolf/scripts/plot_existing_trajectories.py +135 -0
  57. kaggle_environments/envs/werewolf/scripts/rerender_html.py +87 -0
  58. kaggle_environments/envs/werewolf/scripts/run.py +93 -0
  59. kaggle_environments/envs/werewolf/scripts/run_block.py +237 -0
  60. kaggle_environments/envs/werewolf/scripts/run_pairwise_matrix.py +222 -0
  61. kaggle_environments/envs/werewolf/scripts/self_play.py +196 -0
  62. kaggle_environments/envs/werewolf/scripts/utils.py +47 -0
  63. kaggle_environments/envs/werewolf/werewolf.json +1 -1
  64. {kaggle_environments-1.22.6.dist-info → kaggle_environments-1.24.3.dist-info}/METADATA +1 -1
  65. {kaggle_environments-1.22.6.dist-info → kaggle_environments-1.24.3.dist-info}/RECORD +68 -7
  66. {kaggle_environments-1.22.6.dist-info → kaggle_environments-1.24.3.dist-info}/WHEEL +0 -0
  67. {kaggle_environments-1.22.6.dist-info → kaggle_environments-1.24.3.dist-info}/entry_points.txt +0 -0
  68. {kaggle_environments-1.22.6.dist-info → kaggle_environments-1.24.3.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,594 @@
1
+ @font-face {
2
+ font-family: 'Zeitung Pro';
3
+ src:
4
+ url("https://use.typekit.net/af/37ff2c/00000000000000003b9b2a25/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),
5
+ url("https://use.typekit.net/af/37ff2c/00000000000000003b9b2a25/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),
6
+ url("https://use.typekit.net/af/37ff2c/00000000000000003b9b2a25/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
7
+ font-weight: normal;
8
+ font-style: normal;
9
+ }
10
+
11
+ @font-face {
12
+ font-family: 'Zeitung Pro';
13
+ src:
14
+ url("https://use.typekit.net/af/37ff2c/00000000000000003b9b2a25/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),
15
+ url("https://use.typekit.net/af/37ff2c/00000000000000003b9b2a25/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),
16
+ url("https://use.typekit.net/af/37ff2c/00000000000000003b9b2a25/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
17
+ font-weight: bold;
18
+ font-style: normal;
19
+ }
20
+
21
+ .poker-renderer-host {
22
+ width: 100%;
23
+ height: 100%;
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: center;
27
+ font-family: 'Zeitung Pro', sans-serif;
28
+ background-color: #28303F;
29
+ color: #fff;
30
+ overflow: hidden;
31
+ box-sizing: border-box;
32
+ position: relative;
33
+ }
34
+
35
+ .poker-game-layout {
36
+ width: 1000px;
37
+ height: 900px;
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ position: relative;
42
+ transform-origin: center center;
43
+ }
44
+
45
+ .poker-table-container {
46
+ width: 100%;
47
+ height: 400px;
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ }
52
+
53
+ .poker-table {
54
+ width: 900px;
55
+ height: 400px;
56
+ background: radial-gradient(43.33% 50% at 50% 50%, #20BD48 0%, #0A4018 99.99%);
57
+ border-radius: 300px;
58
+ position: relative;
59
+ border: 20px solid #5C3A21;
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: center;
63
+ margin: 0;
64
+ box-shadow: 0 8px 12px 6px rgba(0, 0, 0, 0.15), 0 4px 4px 0 rgba(0, 0, 0, 0.30);
65
+ }
66
+
67
+ .muck-line {
68
+ position: absolute;
69
+ width: 780px;
70
+ height: 300px;
71
+ border: 1px solid #9AA0A6;
72
+ border-radius: 240px;
73
+ pointer-events: none;
74
+ z-index: 1;
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ }
79
+
80
+ .players-container {
81
+ position: absolute;
82
+ top: 0;
83
+ left: 0;
84
+ width: 100%;
85
+ height: 100%;
86
+ pointer-events: none;
87
+ z-index: 10;
88
+ }
89
+
90
+ .player-container {
91
+ position: absolute;
92
+ width: 100%;
93
+ pointer-events: none;
94
+ display: flex;
95
+ flex-direction: column;
96
+ }
97
+
98
+ .player-container-0 {
99
+ top: 0;
100
+ }
101
+
102
+ .player-container-1 {
103
+ bottom: 0;
104
+ flex-direction: column-reverse;
105
+ }
106
+
107
+ .player-card-area {
108
+ color: white;
109
+ text-align: center;
110
+ display: flex;
111
+ justify-content: left;
112
+ align-items: left;
113
+ pointer-events: auto;
114
+ flex: 1;
115
+ }
116
+
117
+ .stack-cards-wrapper {
118
+ display: flex;
119
+ flex-direction: row;
120
+ align-items: center;
121
+ justify-content: center;
122
+ gap: 16px;
123
+ margin: 12px;
124
+ width: 100%;
125
+ }
126
+
127
+ .player-info-area {
128
+ color: white;
129
+ width: auto;
130
+ min-width: 280px;
131
+ pointer-events: auto;
132
+ display: flex;
133
+ flex-direction: column;
134
+ justify-content: center;
135
+ align-items: center;
136
+ margin: 10px auto;
137
+ padding: 10px;
138
+ background-color: rgba(32, 33, 36, 0.70);
139
+ ;
140
+ border-radius: 16px;
141
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
142
+ border: 2px solid transparent;
143
+ transition: border-color 0.3s ease, box-shadow 0.3s ease;
144
+ }
145
+
146
+ .player-info-area.active-player {
147
+ border-color: #20BEFF;
148
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 0 20px rgba(32, 190, 255, 0.5);
149
+ }
150
+
151
+ .player-info-area.winner-player {
152
+ border-color: #FFEB70;
153
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), 0 0 20px rgba(255, 235, 112, 0.6);
154
+ }
155
+
156
+ .player-container-0 .player-info-area {
157
+ flex-direction: column-reverse;
158
+ }
159
+
160
+ .player-name-wrapper {
161
+ display: flex;
162
+ align-items: center;
163
+ justify-content: center;
164
+ gap: 16px;
165
+ margin: 0 60px;
166
+ padding: 5px 0;
167
+ }
168
+
169
+ .player-thumbnail {
170
+ width: 48px;
171
+ height: 48px;
172
+ border-radius: 50%;
173
+ object-fit: cover;
174
+ background-color: #ffffff;
175
+ flex-shrink: 0;
176
+ padding: 6px;
177
+ }
178
+
179
+ .player-name {
180
+ font-size: 24px;
181
+ font-weight: 600;
182
+ white-space: nowrap;
183
+ overflow: hidden;
184
+ text-overflow: ellipsis;
185
+ color: white;
186
+ text-align: center;
187
+ }
188
+
189
+ .player-name.winner {
190
+ color: #FFEB70;
191
+ }
192
+
193
+ .player-name.current-turn {
194
+ color: #20BEFF;
195
+ }
196
+
197
+ .player-stack {
198
+ font-size: 20px;
199
+ font-weight: 600;
200
+ color: #ffffff;
201
+ display: flex;
202
+ flex-direction: column;
203
+ justify-content: center;
204
+ align-items: center;
205
+ text-align: center;
206
+ }
207
+
208
+ .player-stats-container {
209
+ display: flex;
210
+ flex-direction: column;
211
+ justify-content: center;
212
+ align-items: center;
213
+ margin: 0 12px;
214
+ }
215
+
216
+ .player-hand-rank,
217
+ .player-win-prob,
218
+ .player-tie-prob {
219
+ font-size: 16px;
220
+ font-weight: 600;
221
+ color: #e0e0e0;
222
+ height: 20px;
223
+ align-self: flex-start;
224
+ }
225
+
226
+ .player-cards-container {
227
+ min-height: 80px;
228
+ display: flex;
229
+ justify-content: center;
230
+ align-items: center;
231
+ }
232
+
233
+ .card {
234
+ display: flex;
235
+ flex-direction: column;
236
+ justify-content: space-between;
237
+ align-items: center;
238
+ width: 44px;
239
+ height: 70px;
240
+ border: 2px solid #202124;
241
+ border-radius: 8px;
242
+ background-color: white;
243
+ color: black;
244
+ font-weight: bold;
245
+ text-align: center;
246
+ overflow: hidden;
247
+ position: relative;
248
+ padding: 6px;
249
+ box-shadow: 0 6px 10px 4px rgba(0, 0, 0, 0.15), 0 2px 3px 0 rgba(0, 0, 0, 0.30);
250
+ }
251
+
252
+ .card-rank {
253
+ font-family: 'Inter' sans-serif;
254
+ font-size: 32px;
255
+ line-height: 1;
256
+ display: block;
257
+ align-self: flex-start;
258
+ }
259
+
260
+ .card-suit {
261
+ width: 36px;
262
+ height: 36px;
263
+ display: block;
264
+ margin-bottom: 2px;
265
+ }
266
+
267
+ .player-cards-container .card {
268
+ width: 38px;
269
+ height: 60px;
270
+ border-radius: 6px;
271
+ }
272
+
273
+ .player-cards-container .card:nth-child(2) {
274
+ transform: rotate(20deg);
275
+ margin-top: 14px;
276
+ margin-left: -6px;
277
+ }
278
+
279
+ .player-cards-container .card-rank {
280
+ font-size: 26px;
281
+ }
282
+
283
+ .player-cards-container .card-suit {
284
+ width: 28px;
285
+ height: 28px;
286
+ }
287
+
288
+ .card-suit svg {
289
+ width: 100%;
290
+ height: 100%;
291
+ }
292
+
293
+ .card-red .card-rank {
294
+ color: #B3261E;
295
+ }
296
+
297
+ .card-red .card-suit svg {
298
+ fill: #B3261E;
299
+ }
300
+
301
+ .card-black .card-rank {
302
+ color: #000000;
303
+ }
304
+
305
+ .card-black .card-suit svg {
306
+ fill: #000000;
307
+ }
308
+
309
+ .card-blue .card-rank {
310
+ color: #0B57D0;
311
+ }
312
+
313
+ .card-blue .card-suit svg {
314
+ fill: #0B57D0;
315
+ }
316
+
317
+ .card-green .card-rank {
318
+ color: #146C2E;
319
+ }
320
+
321
+ .card-green .card-suit svg {
322
+ fill: #146C2E;
323
+ }
324
+
325
+ .card-back {
326
+ background-color: #2b6cb0;
327
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.1) 75%, rgba(255, 255, 255, 0.1)),
328
+ linear-gradient(-45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.1) 75%, rgba(255, 255, 255, 0.1));
329
+ background-size: 10px 10px;
330
+ border: 2px solid #63b3ed;
331
+ }
332
+
333
+ .card-back .card-rank,
334
+ .card-back .card-suit {
335
+ display: none;
336
+ }
337
+
338
+ .card-empty {
339
+ background-color: rgba(232, 234, 237, 0.1);
340
+ border: 2px solid rgba(154, 160, 166, 0.5);
341
+ box-shadow: none
342
+ }
343
+
344
+ .card-empty .card-rank,
345
+ .card-empty .card-suit {
346
+ display: none;
347
+ }
348
+
349
+ .community-cards-area {
350
+ text-align: center;
351
+ z-index: 10;
352
+ position: absolute;
353
+ top: 50%;
354
+ left: 50%;
355
+ transform: translate(-50%, -50%);
356
+ }
357
+
358
+ .community-cards-container {
359
+ min-height: 75px;
360
+ display: flex;
361
+ justify-content: center;
362
+ align-items: center;
363
+ margin-bottom: 0.5rem;
364
+ gap: 8px;
365
+ }
366
+
367
+ .pot-display {
368
+ font-size: 30px;
369
+ font-weight: bold;
370
+ color: #ffffff;
371
+ margin-bottom: 10px;
372
+ }
373
+
374
+ .bet-display {
375
+ display: inline-block;
376
+ padding: 10px 20px;
377
+ border-radius: 30px;
378
+ background-color: #ffffff;
379
+ color: black;
380
+ font-family: 'Inter' sans-serif;
381
+ font-size: 20px;
382
+ font-weight: 600;
383
+ text-align: center;
384
+ height: 20pxrem;
385
+ line-height: 20px;
386
+ width: 150px;
387
+ height: 20px;
388
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
389
+ }
390
+
391
+ .blind-indicator {
392
+ font-size: 0.7rem;
393
+ color: #a0aec0;
394
+ margin-top: 3px;
395
+ }
396
+
397
+ .dealer-button {
398
+ width: 36px;
399
+ height: 36px;
400
+ background-color: #f0f0f0;
401
+ color: #333;
402
+ border-radius: 50%;
403
+ text-align: center;
404
+ font-weight: bold;
405
+ font-size: 28px;
406
+ position: absolute;
407
+ padding-left: 1px;
408
+ line-height: 33px;
409
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
410
+ z-index: 15;
411
+ pointer-events: auto;
412
+ border: 2px solid black;
413
+ outline: 2px solid #20BEFF;
414
+ }
415
+
416
+ .dealer-button.dealer-player0 {
417
+ top: 170px;
418
+ }
419
+
420
+ .dealer-button.dealer-player1 {
421
+ bottom: 170px;
422
+ }
423
+
424
+ .step-counter {
425
+ position: absolute;
426
+ top: 12px;
427
+ right: 12px;
428
+ z-index: 20;
429
+ background-color: rgba(60, 64, 67, 0.9);
430
+ color: #ffffff;
431
+ padding: 6px 12px;
432
+ border-radius: 6px;
433
+ font-size: 14px;
434
+ font-weight: 600;
435
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
436
+ }
437
+
438
+ .hand-counter {
439
+ position: absolute;
440
+ bottom: 12px;
441
+ right: 12px;
442
+ z-index: 20;
443
+ color: #535965;
444
+ padding: 6px 12px;
445
+ border-radius: 6px;
446
+ font-size: 40px;
447
+ font-weight: 600;
448
+ }
449
+
450
+ .chip-stack {
451
+ position: absolute;
452
+ display: flex;
453
+ flex-direction: row;
454
+ align-items: center;
455
+ gap: 12px;
456
+ z-index: 12;
457
+ pointer-events: none;
458
+ left: 50%;
459
+ transform: translateX(-50%);
460
+ }
461
+
462
+ .chip-stack.chip-stack-player0 {
463
+ top: 60px;
464
+ }
465
+
466
+ .chip-stack.chip-stack-player1 {
467
+ bottom: 60px;
468
+ }
469
+
470
+ .chip-stack-chips {
471
+ display: flex;
472
+ flex-direction: row-reverse;
473
+ align-items: flex-end;
474
+ justify-content: center;
475
+ gap: 8px;
476
+ position: relative;
477
+ }
478
+
479
+ .chip-denomination-stack {
480
+ display: flex;
481
+ flex-direction: column-reverse;
482
+ align-items: center;
483
+ position: relative;
484
+ }
485
+
486
+ .chip {
487
+ width: 40px;
488
+ height: 40px;
489
+ position: relative;
490
+ margin-bottom: -34px;
491
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
492
+ }
493
+
494
+ .chip:first-child {
495
+ margin-bottom: 0;
496
+ }
497
+
498
+ .chip img {
499
+ width: 100%;
500
+ height: 100%;
501
+ display: block;
502
+ }
503
+
504
+ .chip-stack-label {
505
+ color: #FFFFFF;
506
+ font-size: 18px;
507
+ font-weight: bold;
508
+ white-space: nowrap;
509
+ }
510
+
511
+ .legend {
512
+ position: absolute;
513
+ top: 0px;
514
+ right: 0px;
515
+ width: 280px;
516
+ background-color: rgba(32, 33, 36, 0.70);
517
+ border-radius: 8px;
518
+ color: white;
519
+ z-index: 100;
520
+ display: flex;
521
+ flex-direction: column;
522
+ max-height: 212px;
523
+ }
524
+
525
+ .legend-title {
526
+ padding: 10px;
527
+ font-weight: bold;
528
+ border-bottom: 1px solid #555;
529
+ display: flex;
530
+ align-items: center;
531
+ justify-content: space-between;
532
+ }
533
+
534
+ .legend-leader-info {
535
+ display: flex;
536
+ align-items: center;
537
+ }
538
+
539
+ .legend-title-avatar {
540
+ width: 32px;
541
+ height: 32px;
542
+ border-radius: 50%;
543
+ margin-right: 8px;
544
+ }
545
+
546
+ .legend-body {
547
+ padding: 10px;
548
+ max-height: 200px;
549
+ overflow-y: auto;
550
+ }
551
+
552
+ .legend-table {
553
+ display: table;
554
+ width: 100%;
555
+ }
556
+
557
+ .legend-row {
558
+ display: table-row;
559
+ }
560
+
561
+ .legend-header .legend-cell {
562
+ font-weight: bold;
563
+ }
564
+
565
+ .legend-cell {
566
+ display: table-cell;
567
+ padding: 2px 5px;
568
+ vertical-align: middle;
569
+ }
570
+
571
+ .legend-cell:nth-child(1) {
572
+ width: 20%;
573
+ }
574
+
575
+ .legend-cell:nth-child(2) {
576
+ width: 50%;
577
+ }
578
+
579
+ .legend-cell:nth-child(3) {
580
+ width: 30%;
581
+ text-align: right;
582
+ }
583
+
584
+ .legend-winner-cell {
585
+ display: flex;
586
+ align-items: center;
587
+ }
588
+
589
+ .legend-avatar {
590
+ width: 24px;
591
+ height: 24px;
592
+ border-radius: 50%;
593
+ margin-right: 5px;
594
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../../../../../../../web/tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "allowJs": true
5
+ },
6
+ "include": ["src"]
7
+ }
@@ -0,0 +1,6 @@
1
+ import { defineConfig, mergeConfig } from 'vite';
2
+ import baseConfig from '../../../../../../../web/vite.config.base';
3
+
4
+ // https://vitejs.dev/config/
5
+ export default mergeConfig(baseConfig, defineConfig({
6
+ }));