@oddsmith/ui 0.0.0 → 1.0.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 (478) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -115
  3. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json +9 -0
  4. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js +13 -0
  5. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js.map +1 -0
  6. package/dist/components/os-leaderboard-casino/assets/fallback/config.json +8 -0
  7. package/dist/components/os-leaderboard-casino/assets/fallback/defaults/glam-sections.json +564 -0
  8. package/dist/components/os-leaderboard-casino/assets/fallback/fonts.json +3 -0
  9. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json +5 -0
  10. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js +12 -0
  11. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js.map +1 -0
  12. package/dist/components/os-leaderboard-casino/assets/fallback/manifest.json +6 -0
  13. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json +38 -0
  14. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js +10 -0
  15. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js.map +1 -0
  16. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json +601 -0
  17. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js +8 -0
  18. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js.map +1 -0
  19. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json +69 -0
  20. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js +73 -0
  21. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js.map +1 -0
  22. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg +7 -0
  23. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js +12 -0
  24. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js.map +1 -0
  25. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg +7 -0
  26. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js +12 -0
  27. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js.map +1 -0
  28. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg +5 -0
  29. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js +10 -0
  30. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js.map +1 -0
  31. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg +10 -0
  32. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js +15 -0
  33. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js.map +1 -0
  34. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg +5 -0
  35. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js +10 -0
  36. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js.map +1 -0
  37. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg +5 -0
  38. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js +10 -0
  39. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js.map +1 -0
  40. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg +8 -0
  41. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js +13 -0
  42. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js.map +1 -0
  43. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg +4 -0
  44. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js +9 -0
  45. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js.map +1 -0
  46. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg +5 -0
  47. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js +10 -0
  48. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js.map +1 -0
  49. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg +5 -0
  50. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js +10 -0
  51. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js.map +1 -0
  52. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg +4 -0
  53. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js +9 -0
  54. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js.map +1 -0
  55. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg +4 -0
  56. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js +9 -0
  57. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js.map +1 -0
  58. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg +4 -0
  59. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js +9 -0
  60. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js.map +1 -0
  61. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg +7 -0
  62. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js +12 -0
  63. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js.map +1 -0
  64. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg +5 -0
  65. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js +10 -0
  66. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js.map +1 -0
  67. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg +4 -0
  68. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js +9 -0
  69. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js.map +1 -0
  70. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg +5 -0
  71. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js +10 -0
  72. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js.map +1 -0
  73. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg +4 -0
  74. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js +9 -0
  75. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js.map +1 -0
  76. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg +5 -0
  77. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js +10 -0
  78. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js.map +1 -0
  79. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg +5 -0
  80. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js +10 -0
  81. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js.map +1 -0
  82. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png +0 -0
  83. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js +5 -0
  84. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js.map +1 -0
  85. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png +0 -0
  86. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js +5 -0
  87. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js.map +1 -0
  88. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png +0 -0
  89. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js +5 -0
  90. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js.map +1 -0
  91. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png +0 -0
  92. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js +5 -0
  93. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js.map +1 -0
  94. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png +0 -0
  95. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js +5 -0
  96. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js.map +1 -0
  97. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png +0 -0
  98. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js +5 -0
  99. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js.map +1 -0
  100. package/dist/components/os-leaderboard-casino/assets/images/logo.png +0 -0
  101. package/dist/components/os-leaderboard-casino/constants/defaults.d.ts +8 -0
  102. package/dist/components/os-leaderboard-casino/constants/defaults.js +9 -0
  103. package/dist/components/os-leaderboard-casino/constants/defaults.js.map +1 -0
  104. package/dist/components/os-leaderboard-casino/constants/index.d.ts +2 -0
  105. package/dist/components/os-leaderboard-casino/constants/tags.d.ts +22 -0
  106. package/dist/components/os-leaderboard-casino/constants/tags.js +17 -0
  107. package/dist/components/os-leaderboard-casino/constants/tags.js.map +1 -0
  108. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.d.ts +35 -0
  109. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.host.d.ts +13 -0
  110. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js +20 -0
  111. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js.map +1 -0
  112. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js +152 -0
  113. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js.map +1 -0
  114. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js +5 -0
  115. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js.map +1 -0
  116. package/dist/components/os-leaderboard-casino/index.d.ts +36 -0
  117. package/dist/components/os-leaderboard-casino/index.js +39 -0
  118. package/dist/components/os-leaderboard-casino/index.js.map +1 -0
  119. package/dist/components/os-leaderboard-casino/integration/assemble-assets.d.ts +21 -0
  120. package/dist/components/os-leaderboard-casino/integration/assemble-assets.js +48 -0
  121. package/dist/components/os-leaderboard-casino/integration/assemble-assets.js.map +1 -0
  122. package/dist/components/os-leaderboard-casino/integration/assets-context.d.ts +26 -0
  123. package/dist/components/os-leaderboard-casino/integration/assets-context.js +64 -0
  124. package/dist/components/os-leaderboard-casino/integration/assets-context.js.map +1 -0
  125. package/dist/components/os-leaderboard-casino/integration/defaults-glam.d.ts +14 -0
  126. package/dist/components/os-leaderboard-casino/integration/defaults-new-money.d.ts +3 -0
  127. package/dist/components/os-leaderboard-casino/integration/index.d.ts +5 -0
  128. package/dist/components/os-leaderboard-casino/integration/labels.d.ts +1 -0
  129. package/dist/components/os-leaderboard-casino/integration/load-assets.d.ts +9 -0
  130. package/dist/components/os-leaderboard-casino/integration/load-assets.js +22 -0
  131. package/dist/components/os-leaderboard-casino/integration/load-assets.js.map +1 -0
  132. package/dist/components/os-leaderboard-casino/integration/presets.d.ts +1 -0
  133. package/dist/components/os-leaderboard-casino/integration/resolve-input.d.ts +20 -0
  134. package/dist/components/os-leaderboard-casino/integration/resolve-input.js +99 -0
  135. package/dist/components/os-leaderboard-casino/integration/resolve-input.js.map +1 -0
  136. package/dist/components/os-leaderboard-casino/integration/themes.d.ts +1 -0
  137. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.d.ts +19 -0
  138. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.host.d.ts +15 -0
  139. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js +46 -0
  140. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map +1 -0
  141. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js +74 -0
  142. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js.map +1 -0
  143. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js +5 -0
  144. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js.map +1 -0
  145. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.d.ts +5 -0
  146. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js +116 -0
  147. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js.map +1 -0
  148. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.d.ts +16 -0
  149. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.host.d.ts +8 -0
  150. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js +90 -0
  151. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js.map +1 -0
  152. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js +5 -0
  153. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js.map +1 -0
  154. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.d.ts +10 -0
  155. package/{src/components/sf-leaderboard/sections/footer-section/footer-section.host.ts → dist/components/os-leaderboard-casino/sections/footer-section/footer-section.host.d.ts} +1 -1
  156. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js +18 -0
  157. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js.map +1 -0
  158. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js +39 -0
  159. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js.map +1 -0
  160. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js +5 -0
  161. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js.map +1 -0
  162. package/dist/components/os-leaderboard-casino/sections/games-section/components/game-images.d.ts +1 -0
  163. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.d.ts +20 -0
  164. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.host.d.ts +7 -0
  165. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js +15 -0
  166. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js.map +1 -0
  167. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js +86 -0
  168. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js.map +1 -0
  169. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js +5 -0
  170. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js.map +1 -0
  171. package/dist/components/os-leaderboard-casino/sections/header-section/header-section.d.ts +12 -0
  172. package/dist/components/os-leaderboard-casino/sections/header-section/header-section.host.d.ts +8 -0
  173. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.d.ts +37 -0
  174. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.host.d.ts +20 -0
  175. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js +34 -0
  176. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js.map +1 -0
  177. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js +160 -0
  178. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js.map +1 -0
  179. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js +5 -0
  180. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js.map +1 -0
  181. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.d.ts +18 -0
  182. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.host.d.ts +8 -0
  183. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js +33 -0
  184. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js.map +1 -0
  185. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js +74 -0
  186. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js.map +1 -0
  187. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js +5 -0
  188. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js.map +1 -0
  189. package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.d.ts +13 -0
  190. package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.host.d.ts +8 -0
  191. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.d.ts +3 -0
  192. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js +8 -0
  193. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js.map +1 -0
  194. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.d.ts +14 -0
  195. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js +57 -0
  196. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js.map +1 -0
  197. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.d.ts +42 -0
  198. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.host.d.ts +8 -0
  199. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js +17 -0
  200. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js.map +1 -0
  201. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js +287 -0
  202. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js.map +1 -0
  203. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js +5 -0
  204. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js.map +1 -0
  205. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.d.ts +6 -0
  206. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js +16 -0
  207. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js.map +1 -0
  208. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.d.ts +16 -0
  209. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js +71 -0
  210. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js.map +1 -0
  211. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js +5 -0
  212. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js.map +1 -0
  213. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.d.ts +23 -0
  214. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.host.d.ts +11 -0
  215. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js +18 -0
  216. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js.map +1 -0
  217. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js +135 -0
  218. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js.map +1 -0
  219. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js +5 -0
  220. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js.map +1 -0
  221. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-band/stat-band.d.ts +17 -0
  222. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-card/stat-card.d.ts +15 -0
  223. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-chip/stat-chip.d.ts +17 -0
  224. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-gauge/stat-gauge.d.ts +14 -0
  225. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.d.ts +5 -0
  226. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js +11 -0
  227. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js.map +1 -0
  228. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-meter/stat-meter.d.ts +17 -0
  229. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.d.ts +17 -0
  230. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js +61 -0
  231. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js.map +1 -0
  232. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js +5 -0
  233. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js.map +1 -0
  234. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.d.ts +16 -0
  235. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.host.d.ts +13 -0
  236. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js +34 -0
  237. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js.map +1 -0
  238. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js +69 -0
  239. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js.map +1 -0
  240. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js +5 -0
  241. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js.map +1 -0
  242. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.d.ts +31 -0
  243. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.host.d.ts +15 -0
  244. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js +38 -0
  245. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js.map +1 -0
  246. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js +183 -0
  247. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js.map +1 -0
  248. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js +5 -0
  249. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js.map +1 -0
  250. package/dist/components/os-leaderboard-casino/services/adapter.service.d.ts +11 -0
  251. package/dist/components/os-leaderboard-casino/services/adapter.service.js +49 -0
  252. package/dist/components/os-leaderboard-casino/services/adapter.service.js.map +1 -0
  253. package/dist/components/os-leaderboard-casino/services/icon.service.d.ts +28 -0
  254. package/dist/components/os-leaderboard-casino/services/icon.service.js +192 -0
  255. package/dist/components/os-leaderboard-casino/services/icon.service.js.map +1 -0
  256. package/dist/components/os-leaderboard-casino/services/index.d.ts +2 -0
  257. package/dist/components/os-leaderboard-casino/theme/index.d.ts +3 -0
  258. package/dist/components/os-leaderboard-casino/theme/prize-icons.d.ts +1 -0
  259. package/dist/components/os-leaderboard-casino/theme/prize-resolve.d.ts +5 -0
  260. package/dist/components/os-leaderboard-casino/theme/prize-resolve.js +11 -0
  261. package/dist/components/os-leaderboard-casino/theme/prize-resolve.js.map +1 -0
  262. package/dist/components/os-leaderboard-casino/theme/styles.d.ts +9 -0
  263. package/dist/components/os-leaderboard-casino/theme/styles.js +179 -0
  264. package/dist/components/os-leaderboard-casino/theme/styles.js.map +1 -0
  265. package/dist/components/os-leaderboard-casino/theme/vip-icons.d.ts +2 -0
  266. package/dist/components/os-leaderboard-casino/theme/vip-icons.js +6 -0
  267. package/dist/components/os-leaderboard-casino/theme/vip-icons.js.map +1 -0
  268. package/dist/components/os-leaderboard-casino/theme/vip-mark.d.ts +7 -0
  269. package/dist/components/os-leaderboard-casino/theme/vip-mark.js +20 -0
  270. package/dist/components/os-leaderboard-casino/theme/vip-mark.js.map +1 -0
  271. package/dist/components/os-leaderboard-casino/types/assets.d.ts +40 -0
  272. package/dist/components/os-leaderboard-casino/types/data.d.ts +106 -0
  273. package/dist/components/os-leaderboard-casino/types/data.js +7 -0
  274. package/dist/components/os-leaderboard-casino/types/data.js.map +1 -0
  275. package/dist/components/os-leaderboard-casino/types/events.d.ts +18 -0
  276. package/dist/components/os-leaderboard-casino/types/events.js +8 -0
  277. package/dist/components/os-leaderboard-casino/types/events.js.map +1 -0
  278. package/dist/components/os-leaderboard-casino/types/icons.d.ts +18 -0
  279. package/dist/components/os-leaderboard-casino/types/input.d.ts +73 -0
  280. package/dist/components/os-leaderboard-casino/types/ledger.d.ts +67 -0
  281. package/dist/components/os-leaderboard-casino/types/sections.d.ts +200 -0
  282. package/dist/components/os-leaderboard-casino/types/state.d.ts +69 -0
  283. package/dist/components/os-leaderboard-casino/types/state.js +12 -0
  284. package/dist/components/os-leaderboard-casino/types/state.js.map +1 -0
  285. package/dist/shared/lib/lit/component.d.ts +5 -0
  286. package/dist/shared/lib/lit/component.js +8 -0
  287. package/dist/shared/lib/lit/component.js.map +1 -0
  288. package/dist/shared/lib/lit/safe-custom-element.d.ts +5 -0
  289. package/dist/shared/lib/lit/safe-custom-element.js +7 -0
  290. package/dist/shared/lib/lit/safe-custom-element.js.map +1 -0
  291. package/dist/shared/lib/lit/scss.d.ts +3 -0
  292. package/dist/shared/lib/lit/scss.js +8 -0
  293. package/dist/shared/lib/lit/scss.js.map +1 -0
  294. package/dist/shared/lib/lit/template.d.ts +3 -0
  295. package/dist/shared/vendor/keen-slider-keen-slider.es.js +538 -0
  296. package/dist/shared/vendor/keen-slider-keen-slider.es.js.map +1 -0
  297. package/package.json +37 -39
  298. package/.eleventy.cjs +0 -14
  299. package/custom-elements.json +0 -1539
  300. package/docs/_README/index.html +0 -4
  301. package/docs/api/index.html +0 -2100
  302. package/docs/components.bundle.js +0 -1669
  303. package/docs/components.bundle.js.map +0 -1
  304. package/docs/docs.css +0 -162
  305. package/docs/examples/index.html +0 -56
  306. package/docs/index.html +0 -53
  307. package/docs/install/index.html +0 -45
  308. package/docs/prism-okaidia.css +0 -123
  309. package/docs-src/.nojekyll +0 -0
  310. package/docs-src/_README.md +0 -7
  311. package/docs-src/_data/api.11tydata.js +0 -8
  312. package/docs-src/_includes/example.11ty.js +0 -35
  313. package/docs-src/_includes/footer.11ty.js +0 -6
  314. package/docs-src/_includes/header.11ty.js +0 -7
  315. package/docs-src/_includes/nav.11ty.js +0 -11
  316. package/docs-src/_includes/page.11ty.js +0 -32
  317. package/docs-src/_includes/relative-path.cjs +0 -9
  318. package/docs-src/api.11ty.js +0 -85
  319. package/docs-src/bundle.ts +0 -9
  320. package/docs-src/docs.css +0 -162
  321. package/docs-src/examples/index.md +0 -15
  322. package/docs-src/index.md +0 -39
  323. package/docs-src/install.md +0 -28
  324. package/docs-src/package.json +0 -3
  325. package/index.html +0 -19
  326. package/karma.conf.cjs +0 -24
  327. package/main.css +0 -210
  328. package/main.ts +0 -124
  329. package/previews/casino.ts +0 -12
  330. package/previews/catalog.ts +0 -94
  331. package/previews/leaderboard-v1.ts +0 -12
  332. package/previews/leaderboard-v2.ts +0 -17
  333. package/previews/sample-data.ts +0 -101
  334. package/previews/sf-leaderboard.ts +0 -100
  335. package/previews/sf-live-feed.ts +0 -15
  336. package/previews/streaks.ts +0 -40
  337. package/previews/types.ts +0 -18
  338. package/src/components/README.md +0 -16
  339. package/src/components/casino-leaderboard/casino-leaderboard.html +0 -80
  340. package/src/components/casino-leaderboard/casino-leaderboard.scss +0 -585
  341. package/src/components/casino-leaderboard/casino-leaderboard.ts +0 -136
  342. package/src/components/casino-leaderboard/data.ts +0 -111
  343. package/src/components/casino-leaderboard/index.ts +0 -5
  344. package/src/components/casino-leaderboard/todo.txt +0 -2
  345. package/src/components/casino-leaderboard/types.ts +0 -19
  346. package/src/components/leaderboard/components/leaderboard.ts +0 -373
  347. package/src/components/leaderboard/components/player-card.ts +0 -342
  348. package/src/components/leaderboard/components/ui.ts +0 -452
  349. package/src/components/leaderboard/data.ts +0 -152
  350. package/src/components/leaderboard/index.ts +0 -2
  351. package/src/components/leaderboard/main.ts +0 -42
  352. package/src/components/leaderboard/styles.ts +0 -67
  353. package/src/components/leaderboard/types.ts +0 -28
  354. package/src/components/leaderboard-v2/components/sf-leaderboard-player.ts +0 -451
  355. package/src/components/leaderboard-v2/components/sf-leaderboard-ui.ts +0 -512
  356. package/src/components/leaderboard-v2/components/sf-leaderboard.ts +0 -205
  357. package/src/components/leaderboard-v2/constants.ts +0 -16
  358. package/src/components/leaderboard-v2/demo/sample-data.ts +0 -152
  359. package/src/components/leaderboard-v2/events.ts +0 -13
  360. package/src/components/leaderboard-v2/icons.ts +0 -22
  361. package/src/components/leaderboard-v2/index.ts +0 -23
  362. package/src/components/leaderboard-v2/sf-leaderboard.html +0 -1
  363. package/src/components/leaderboard-v2/sf-leaderboard.scss +0 -382
  364. package/src/components/leaderboard-v2/tokens.ts +0 -35
  365. package/src/components/leaderboard-v2/types.ts +0 -30
  366. package/src/components/sf-leaderboard/index.ts +0 -77
  367. package/src/components/sf-leaderboard/sections/footer-section/footer-section.html +0 -3
  368. package/src/components/sf-leaderboard/sections/footer-section/footer-section.scss +0 -18
  369. package/src/components/sf-leaderboard/sections/footer-section/footer-section.ts +0 -22
  370. package/src/components/sf-leaderboard/sections/header-section/header-section.host.ts +0 -14
  371. package/src/components/sf-leaderboard/sections/header-section/header-section.html +0 -27
  372. package/src/components/sf-leaderboard/sections/header-section/header-section.scss +0 -189
  373. package/src/components/sf-leaderboard/sections/header-section/header-section.ts +0 -70
  374. package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.host.ts +0 -22
  375. package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.html +0 -38
  376. package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.scss +0 -99
  377. package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.ts +0 -121
  378. package/src/components/sf-leaderboard/sections/stats-section/stats-section.host.ts +0 -8
  379. package/src/components/sf-leaderboard/sections/stats-section/stats-section.html +0 -6
  380. package/src/components/sf-leaderboard/sections/stats-section/stats-section.scss +0 -44
  381. package/src/components/sf-leaderboard/sections/stats-section/stats-section.ts +0 -41
  382. package/src/components/sf-leaderboard/sections/table-section/table-section.host.ts +0 -17
  383. package/src/components/sf-leaderboard/sections/table-section/table-section.html +0 -19
  384. package/src/components/sf-leaderboard/sections/table-section/table-section.scss +0 -37
  385. package/src/components/sf-leaderboard/sections/table-section/table-section.ts +0 -108
  386. package/src/components/sf-leaderboard/services/index.ts +0 -22
  387. package/src/components/sf-leaderboard/services/sf-leaderboard-data.service.ts +0 -54
  388. package/src/components/sf-leaderboard/services/sf-leaderboard.state.ts +0 -160
  389. package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.host.ts +0 -7
  390. package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.html +0 -10
  391. package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.scss +0 -180
  392. package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.ts +0 -88
  393. package/src/components/sf-leaderboard/shared/components/filters/filters.host.ts +0 -12
  394. package/src/components/sf-leaderboard/shared/components/filters/filters.html +0 -22
  395. package/src/components/sf-leaderboard/shared/components/filters/filters.scss +0 -122
  396. package/src/components/sf-leaderboard/shared/components/filters/filters.ts +0 -75
  397. package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.host.ts +0 -9
  398. package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.html +0 -5
  399. package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.scss +0 -81
  400. package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.ts +0 -34
  401. package/src/components/sf-leaderboard/shared/components/podium/map-players.ts +0 -24
  402. package/src/components/sf-leaderboard/shared/components/podium/podium.host.ts +0 -10
  403. package/src/components/sf-leaderboard/shared/components/podium/podium.html +0 -53
  404. package/src/components/sf-leaderboard/shared/components/podium/podium.scss +0 -580
  405. package/src/components/sf-leaderboard/shared/components/podium/podium.ts +0 -49
  406. package/src/components/sf-leaderboard/shared/components/podium/podium.types.ts +0 -9
  407. package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.host.ts +0 -11
  408. package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.html +0 -9
  409. package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.scss +0 -98
  410. package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.ts +0 -63
  411. package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.host.ts +0 -9
  412. package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.html +0 -15
  413. package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.scss +0 -210
  414. package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.ts +0 -36
  415. package/src/components/sf-leaderboard/shared/components/table/table.host.ts +0 -5
  416. package/src/components/sf-leaderboard/shared/components/table/table.html +0 -11
  417. package/src/components/sf-leaderboard/shared/components/table/table.scss +0 -212
  418. package/src/components/sf-leaderboard/shared/components/table/table.ts +0 -111
  419. package/src/components/sf-leaderboard/shared/constants/defaults.ts +0 -7
  420. package/src/components/sf-leaderboard/shared/constants/filters.ts +0 -16
  421. package/src/components/sf-leaderboard/shared/constants/index.ts +0 -5
  422. package/src/components/sf-leaderboard/shared/constants/player-stats.ts +0 -3
  423. package/src/components/sf-leaderboard/shared/constants/stats-overview.ts +0 -38
  424. package/src/components/sf-leaderboard/shared/constants/tags.ts +0 -16
  425. package/src/components/sf-leaderboard/shared/styles/_section.scss +0 -35
  426. package/src/components/sf-leaderboard/shared/types/data.ts +0 -29
  427. package/src/components/sf-leaderboard/shared/types/events.ts +0 -30
  428. package/src/components/sf-leaderboard/shared/types/player-stats.ts +0 -3
  429. package/src/components/sf-leaderboard/shared/types/sections.ts +0 -100
  430. package/src/components/sf-leaderboard/shared/utils/utils.ts +0 -17
  431. package/src/components/sf-leaderboard/theme/THEMING.md +0 -54
  432. package/src/components/sf-leaderboard/theme/context.ts +0 -16
  433. package/src/components/sf-leaderboard/theme/default-theme.ts +0 -4
  434. package/src/components/sf-leaderboard/theme/hex-to-rgb.ts +0 -25
  435. package/src/components/sf-leaderboard/theme/index.ts +0 -18
  436. package/src/components/sf-leaderboard/theme/inject-theme.ts +0 -39
  437. package/src/components/sf-leaderboard/theme/load-theme.ts +0 -26
  438. package/src/components/sf-leaderboard/theme/merge-theme.ts +0 -59
  439. package/src/components/sf-leaderboard/theme/scss/_colors.scss +0 -101
  440. package/src/components/sf-leaderboard/theme/scss/shared.scss +0 -123
  441. package/src/components/sf-leaderboard/theme/styles.ts +0 -6
  442. package/src/components/sf-leaderboard/theme/theme-to-css-vars.ts +0 -99
  443. package/src/components/sf-leaderboard/theme/themes/fallback.json +0 -62
  444. package/src/components/sf-leaderboard/theme/themes/red.json +0 -62
  445. package/src/components/sf-leaderboard/theme/types.ts +0 -71
  446. package/src/components/sf-live-feed/components/avatar/avatar.host.ts +0 -5
  447. package/src/components/sf-live-feed/components/avatar/avatar.html +0 -3
  448. package/src/components/sf-live-feed/components/avatar/avatar.scss +0 -24
  449. package/src/components/sf-live-feed/components/avatar/avatar.ts +0 -27
  450. package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.host.ts +0 -8
  451. package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.html +0 -10
  452. package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.scss +0 -177
  453. package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.ts +0 -65
  454. package/src/components/sf-live-feed/constants.ts +0 -4
  455. package/src/components/sf-live-feed/demo/sample-data.ts +0 -34
  456. package/src/components/sf-live-feed/index.ts +0 -19
  457. package/src/components/sf-live-feed/styles/theme.scss +0 -19
  458. package/src/components/sf-live-feed/styles/theme.ts +0 -5
  459. package/src/components/sf-live-feed/types.ts +0 -19
  460. package/src/components/sf-live-feed/utils.ts +0 -17
  461. package/src/components/streaks/constants.ts +0 -17
  462. package/src/components/streaks/demo/sample-steps.ts +0 -10
  463. package/src/components/streaks/events.ts +0 -8
  464. package/src/components/streaks/index.ts +0 -16
  465. package/src/components/streaks/sf-streaks.html +0 -26
  466. package/src/components/streaks/sf-streaks.scss +0 -351
  467. package/src/components/streaks/sf-streaks.ts +0 -235
  468. package/src/components/streaks/types.ts +0 -7
  469. package/src/lib/lit/component.ts +0 -10
  470. package/src/lib/lit/safe-custom-element.ts +0 -12
  471. package/src/lib/lit/scss.ts +0 -6
  472. package/src/vite-env.d.ts +0 -18
  473. package/styles/global.css +0 -125
  474. package/todo.txt +0 -54
  475. package/tsconfig.json +0 -31
  476. package/vite.config.ts +0 -56
  477. package/vite.docs.config.ts +0 -33
  478. package/vite.lit-html-plugin.ts +0 -43
@@ -0,0 +1,61 @@
1
+ import { LitElement as m, html as h } from "lit";
2
+ import { property as o } from "lit/decorators.js";
3
+ import { Component as v } from "../../../../../../shared/lib/lit/component.js";
4
+ import { scss as f } from "../../../../../../shared/lib/lit/scss.js";
5
+ import { OS_LEADERBOARD_CASINO_STAT_RAIL as y } from "../../../../constants/tags.js";
6
+ import { osLeaderboardCasinoTheme as u } from "../../../../theme/styles.js";
7
+ import "lit/directives/unsafe-svg.js";
8
+ import { statIcons as n } from "../stat-icons.js";
9
+ import d from "./stat-rail.scss.js";
10
+ var g = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, e = (s, i, l, p) => {
11
+ for (var r = p > 1 ? void 0 : p ? _(i, l) : i, a = s.length - 1, c; a >= 0; a--)
12
+ (c = s[a]) && (r = (p ? c(i, l, r) : c(r)) || r);
13
+ return p && r && g(i, l, r), r;
14
+ };
15
+ let t = class extends m {
16
+ constructor() {
17
+ super(...arguments), this.accent = "participants", this.icon = "users", this.value = "", this.label = "", this.segment = "solo", this.compact = !1, this.highlight = !1;
18
+ }
19
+ render() {
20
+ const s = n[this.icon] ?? n.users;
21
+ return h`
22
+ <div class="rail">
23
+ <div class="icon-well">${s()}</div>
24
+ <div class="copy">
25
+ <div class="label">${this.label}</div>
26
+ <div class="value">${this.value}</div>
27
+ </div>
28
+ <span class="shimmer" aria-hidden="true"></span>
29
+ </div>
30
+ `;
31
+ }
32
+ };
33
+ t.styles = [u, f(d)];
34
+ e([
35
+ o({ type: String, reflect: !0 })
36
+ ], t.prototype, "accent", 2);
37
+ e([
38
+ o({ type: String })
39
+ ], t.prototype, "icon", 2);
40
+ e([
41
+ o({ type: String })
42
+ ], t.prototype, "value", 2);
43
+ e([
44
+ o({ type: String })
45
+ ], t.prototype, "label", 2);
46
+ e([
47
+ o({ type: String, reflect: !0 })
48
+ ], t.prototype, "segment", 2);
49
+ e([
50
+ o({ type: Boolean, reflect: !0 })
51
+ ], t.prototype, "compact", 2);
52
+ e([
53
+ o({ type: Boolean, reflect: !0 })
54
+ ], t.prototype, "highlight", 2);
55
+ t = e([
56
+ v({ selector: y })
57
+ ], t);
58
+ export {
59
+ t as OsLeaderboardCasinoStatRail
60
+ };
61
+ //# sourceMappingURL=stat-rail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat-rail.js","sources":["../../../../../../../src/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_STAT_RAIL } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport { statIcons } from '../stat-icons.js';\nimport styles from './stat-rail.scss?inline';\n\nexport type StatRailAccent = 'participants' | 'prizes' | 'ends' | 'biggestWin';\nexport type StatRailIcon = keyof typeof statIcons;\nexport type StatRailSegment = 'solo' | 'start' | 'middle' | 'end';\n\n/** Horizontal rail segment — icon well + label/value with accent shimmer. */\n@Component({ selector: OS_LEADERBOARD_CASINO_STAT_RAIL })\nexport class OsLeaderboardCasinoStatRail extends LitElement {\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ type: String, reflect: true })\n accent: StatRailAccent = 'participants';\n\n @property({ type: String })\n icon: StatRailIcon = 'users';\n\n @property({ type: String })\n value = '';\n\n @property({ type: String })\n label = '';\n\n @property({ type: String, reflect: true })\n segment: StatRailSegment = 'solo';\n\n @property({ type: Boolean, reflect: true })\n compact = false;\n\n @property({ type: Boolean, reflect: true })\n highlight = false;\n\n render() {\n const icon = statIcons[this.icon] ?? statIcons.users;\n return html`\n <div class=\"rail\">\n <div class=\"icon-well\">${icon()}</div>\n <div class=\"copy\">\n <div class=\"label\">${this.label}</div>\n <div class=\"value\">${this.value}</div>\n </div>\n <span class=\"shimmer\" aria-hidden=\"true\"></span>\n </div>\n `;\n }\n}\n"],"names":["OsLeaderboardCasinoStatRail","LitElement","icon","statIcons","html","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_STAT_RAIL"],"mappings":";;;;;;;;;;;;;;AAeO,IAAMA,IAAN,cAA0CC,EAAW;AAAA,EAArD,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,SAAyB,gBAGzB,KAAA,OAAqB,SAGrB,KAAA,QAAQ,IAGR,KAAA,QAAQ,IAGR,KAAA,UAA2B,QAG3B,KAAA,UAAU,IAGV,KAAA,YAAY;AAAA,EAAA;AAAA,EAEZ,SAAS;AACP,UAAMC,IAAOC,EAAU,KAAK,IAAI,KAAKA,EAAU;AAC/C,WAAOC;AAAA;AAAA,iCAEsBF,GAAM;AAAA;AAAA,+BAER,KAAK,KAAK;AAAA,+BACV,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,EAKvC;AACF;AArCaF,EACJ,SAAS,CAACK,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAH9BT,EAIX,WAAA,UAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GANfT,EAOX,WAAA,QAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfT,EAUX,WAAA,SAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAZfT,EAaX,WAAA,SAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAf9BT,EAgBX,WAAA,WAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAlB/BT,EAmBX,WAAA,WAAA,CAAA;AAGAQ,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GArB/BT,EAsBX,WAAA,aAAA,CAAA;AAtBWA,IAANQ,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAAiC;AAAA,GAC3CX,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const t = ':host{display:block;flex:1;min-width:0}:host([hidden]){display:none}.rail{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;height:100%;box-sizing:border-box;padding:16px 18px 18px;border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-bg);box-shadow:var(--panel-shadow)}:host([accent=participants]){--rail-accent: var(--green);--icon-bg: var(--green-soft);--icon-color: var(--green)}:host([accent=prizes]){--rail-accent: var(--gold);--icon-bg: var(--gold-soft);--icon-color: var(--gold)}:host([accent=ends]){--rail-accent: var(--violet);--icon-bg: var(--violet-soft);--icon-color: var(--violet)}:host([accent=biggestWin]){--rail-accent: var(--red);--icon-bg: var(--red-soft);--icon-color: var(--red)}.icon-well{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border-radius:10px;background:var(--icon-bg);border:1px solid color-mix(in srgb,var(--rail-accent) 30%,transparent);color:var(--icon-color);box-shadow:inset 0 1px color-mix(in srgb,white 8%,transparent)}.icon-well svg{width:20px;height:20px}.copy{min-width:0;flex:1}.label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.value{margin-top:6px;font-family:var(--font-mono);font-size:24px;font-weight:800;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}:host([compact]) .value{font-size:15px;line-height:1.25}:host([highlight]) .value{color:var(--gold-strong);text-shadow:0 0 16px color-mix(in srgb,var(--gold) 35%,transparent)}.shimmer{position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--rail-accent),transparent);opacity:.55}.shimmer:after{content:"";position:absolute;inset:0;background:inherit;filter:blur(4px);opacity:.8}.rail:after{content:"";position:absolute;left:-40%;bottom:0;width:35%;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rail-accent) 90%,white),transparent);animation:rail-shimmer 3.2s ease-in-out infinite;pointer-events:none}@keyframes rail-shimmer{0%,to{transform:translate(0);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(420%);opacity:0}}@media(prefers-reduced-motion:reduce){.rail:after{animation:none;opacity:.35;left:0;width:100%;transform:none}}';
2
+ export {
3
+ t as default
4
+ };
5
+ //# sourceMappingURL=stat-rail.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat-rail.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,16 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { OsLeaderboardCasinoStatsSection } from '../../types/sections.js';
3
+ import { StatsSectionHost, StatRailSegment } from './stats-section.host.js';
4
+ export declare class OsLeaderboardCasinoStats extends LitElement implements StatsSectionHost {
5
+ static styles: import('lit').CSSResult[];
6
+ section: OsLeaderboardCasinoStatsSection;
7
+ get participantsLabel(): string;
8
+ get showPrizes(): boolean;
9
+ get prizesLabel(): string;
10
+ get showBiggestWin(): boolean;
11
+ get biggestWinLabel(): string;
12
+ get participantsSegment(): StatRailSegment;
13
+ get prizesSegment(): StatRailSegment;
14
+ get biggestWinSegment(): StatRailSegment;
15
+ render(): import('lit').TemplateResult | typeof nothing;
16
+ }
@@ -0,0 +1,13 @@
1
+ import { OsLeaderboardCasinoStatsSection } from '../../types/sections.js';
2
+ export type StatRailSegment = 'solo' | 'start' | 'middle' | 'end';
3
+ export interface StatsSectionHost {
4
+ section: OsLeaderboardCasinoStatsSection;
5
+ participantsLabel: string;
6
+ participantsSegment: StatRailSegment;
7
+ showPrizes: boolean;
8
+ prizesLabel: string;
9
+ prizesSegment: StatRailSegment;
10
+ showBiggestWin: boolean;
11
+ biggestWinLabel: string;
12
+ biggestWinSegment: StatRailSegment;
13
+ }
@@ -0,0 +1,34 @@
1
+ import { html as a } from "lit";
2
+ function t(e) {
3
+ return a`<section class="strip">
4
+ <os-leaderboard-casino-stat-rail
5
+ accent="participants"
6
+ icon="users"
7
+ segment="${e.participantsSegment}"
8
+ value="${e.participantsLabel}"
9
+ label="Participants"
10
+ ></os-leaderboard-casino-stat-rail>
11
+ <os-leaderboard-casino-stat-rail
12
+ ?hidden=${!e.showPrizes}
13
+ accent="prizes"
14
+ icon="gift"
15
+ segment="${e.prizesSegment}"
16
+ value="${e.prizesLabel}"
17
+ label="Prize Tiers"
18
+ ></os-leaderboard-casino-stat-rail>
19
+ <os-leaderboard-casino-stat-rail
20
+ ?hidden=${!e.showBiggestWin}
21
+ accent="biggestWin"
22
+ icon="trophy"
23
+ segment="${e.biggestWinSegment}"
24
+ value="${e.biggestWinLabel}"
25
+ label="Biggest Win"
26
+ compact
27
+ ></os-leaderboard-casino-stat-rail>
28
+ </section>
29
+ `;
30
+ }
31
+ export {
32
+ t as default
33
+ };
34
+ //# sourceMappingURL=stats-section.html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/stats-section/stats-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section class=\"strip\">\n <os-leaderboard-casino-stat-rail\n accent=\"participants\"\n icon=\"users\"\n segment=\"${host.participantsSegment}\"\n value=\"${host.participantsLabel}\"\n label=\"Participants\"\n ></os-leaderboard-casino-stat-rail>\n <os-leaderboard-casino-stat-rail\n ?hidden=${!host.showPrizes}\n accent=\"prizes\"\n icon=\"gift\"\n segment=\"${host.prizesSegment}\"\n value=\"${host.prizesLabel}\"\n label=\"Prize Tiers\"\n ></os-leaderboard-casino-stat-rail>\n <os-leaderboard-casino-stat-rail\n ?hidden=${!host.showBiggestWin}\n accent=\"biggestWin\"\n icon=\"trophy\"\n segment=\"${host.biggestWinSegment}\"\n value=\"${host.biggestWinLabel}\"\n label=\"Biggest Win\"\n compact\n ></os-leaderboard-casino-stat-rail>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA;AAAA;AAAA,eAIMD,EAAK,mBAAmB;AAAA,aAC1BA,EAAK,iBAAiB;AAAA;AAAA;AAAA;AAAA,cAIrB,CAACA,EAAK,UAAU;AAAA;AAAA;AAAA,eAGfA,EAAK,aAAa;AAAA,aACpBA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA,cAIf,CAACA,EAAK,cAAc;AAAA;AAAA;AAAA,eAGnBA,EAAK,iBAAiB;AAAA,aACxBA,EAAK,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAMjC;"}
@@ -0,0 +1,69 @@
1
+ import { LitElement as g, nothing as p } from "lit";
2
+ import { property as c } from "lit/decorators.js";
3
+ import { Component as l } from "../../../../shared/lib/lit/component.js";
4
+ import { scss as u } from "../../../../shared/lib/lit/scss.js";
5
+ import { OS_LEADERBOARD_CASINO_STATS as h } from "../../constants/tags.js";
6
+ import { osLeaderboardCasinoTheme as f } from "../../theme/styles.js";
7
+ import "lit/directives/unsafe-svg.js";
8
+ import "./components/stat-rail/stat-rail.js";
9
+ import b from "./stats-section.html.js";
10
+ import S from "./stats-section.scss.js";
11
+ var L = Object.defineProperty, d = Object.getOwnPropertyDescriptor, a = (r, e, n, i) => {
12
+ for (var t = i > 1 ? void 0 : i ? d(e, n) : e, o = r.length - 1, m; o >= 0; o--)
13
+ (m = r[o]) && (t = (i ? m(e, n, t) : m(t)) || t);
14
+ return i && t && L(e, n, t), t;
15
+ };
16
+ function P(r, e = "USD") {
17
+ try {
18
+ return new Intl.NumberFormat("en-US", {
19
+ style: "currency",
20
+ currency: e,
21
+ maximumFractionDigits: 0
22
+ }).format(r);
23
+ } catch {
24
+ return r.toLocaleString();
25
+ }
26
+ }
27
+ let s = class extends g {
28
+ get participantsLabel() {
29
+ return this.section.totalParticipants.toLocaleString();
30
+ }
31
+ get showPrizes() {
32
+ return this.section.totalPrizes != null;
33
+ }
34
+ get prizesLabel() {
35
+ return (this.section.totalPrizes ?? 0).toLocaleString();
36
+ }
37
+ get showBiggestWin() {
38
+ return this.section.biggestWin != null;
39
+ }
40
+ get biggestWinLabel() {
41
+ return P(
42
+ this.section.biggestWin ?? 0,
43
+ this.section.biggestWinCurrency ?? "USD"
44
+ );
45
+ }
46
+ get participantsSegment() {
47
+ return !this.showPrizes && !this.showBiggestWin ? "solo" : "start";
48
+ }
49
+ get prizesSegment() {
50
+ return this.showBiggestWin ? "middle" : "end";
51
+ }
52
+ get biggestWinSegment() {
53
+ return "end";
54
+ }
55
+ render() {
56
+ return this.section ? b(this) : p;
57
+ }
58
+ };
59
+ s.styles = [f, u(S)];
60
+ a([
61
+ c({ attribute: !1 })
62
+ ], s.prototype, "section", 2);
63
+ s = a([
64
+ l({ selector: h })
65
+ ], s);
66
+ export {
67
+ s as OsLeaderboardCasinoStats
68
+ };
69
+ //# sourceMappingURL=stats-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/stats-section/stats-section.ts"],"sourcesContent":["import { LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_STATS } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoStatsSection } from '@os-leaderboard-casino/types/sections.js';\nimport type { StatsSectionHost, StatRailSegment } from './stats-section.host.js';\nimport './components/stat-rail/stat-rail.js';\nimport renderTemplate from './stats-section.html?lit-html';\nimport styles from './stats-section.scss?inline';\n\nfunction formatWinAmount(value: number, currency = 'USD'): string {\n try {\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n }).format(value);\n } catch {\n return value.toLocaleString();\n }\n}\n\n@Component({ selector: OS_LEADERBOARD_CASINO_STATS })\nexport class OsLeaderboardCasinoStats\n extends LitElement\n implements StatsSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoStatsSection;\n\n get participantsLabel(): string {\n return this.section.totalParticipants.toLocaleString();\n }\n\n get showPrizes(): boolean {\n return this.section.totalPrizes != null;\n }\n\n get prizesLabel(): string {\n return (this.section.totalPrizes ?? 0).toLocaleString();\n }\n\n get showBiggestWin(): boolean {\n return this.section.biggestWin != null;\n }\n\n get biggestWinLabel(): string {\n return formatWinAmount(\n this.section.biggestWin ?? 0,\n this.section.biggestWinCurrency ?? 'USD',\n );\n }\n\n get participantsSegment(): StatRailSegment {\n if (!this.showPrizes && !this.showBiggestWin) return 'solo';\n return 'start';\n }\n\n get prizesSegment(): StatRailSegment {\n return this.showBiggestWin ? 'middle' : 'end';\n }\n\n get biggestWinSegment(): StatRailSegment {\n return 'end';\n }\n\n render() {\n if (!this.section) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["formatWinAmount","value","currency","OsLeaderboardCasinoStats","LitElement","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_STATS"],"mappings":";;;;;;;;;;;;;;;AAYA,SAASA,EAAgBC,GAAeC,IAAW,OAAe;AAChE,MAAI;AACF,WAAO,IAAI,KAAK,aAAa,SAAS;AAAA,MACpC,OAAO;AAAA,MACP,UAAAA;AAAA,MACA,uBAAuB;AAAA,IAAA,CACxB,EAAE,OAAOD,CAAK;AAAA,EACjB,QAAQ;AACN,WAAOA,EAAM,eAAA;AAAA,EACf;AACF;AAGO,IAAME,IAAN,cACGC,EAEV;AAAA,EAME,IAAI,oBAA4B;AAC9B,WAAO,KAAK,QAAQ,kBAAkB,eAAA;AAAA,EACxC;AAAA,EAEA,IAAI,aAAsB;AACxB,WAAO,KAAK,QAAQ,eAAe;AAAA,EACrC;AAAA,EAEA,IAAI,cAAsB;AACxB,YAAQ,KAAK,QAAQ,eAAe,GAAG,eAAA;AAAA,EACzC;AAAA,EAEA,IAAI,iBAA0B;AAC5B,WAAO,KAAK,QAAQ,cAAc;AAAA,EACpC;AAAA,EAEA,IAAI,kBAA0B;AAC5B,WAAOJ;AAAA,MACL,KAAK,QAAQ,cAAc;AAAA,MAC3B,KAAK,QAAQ,sBAAsB;AAAA,IAAA;AAAA,EAEvC;AAAA,EAEA,IAAI,sBAAuC;AACzC,WAAI,CAAC,KAAK,cAAc,CAAC,KAAK,iBAAuB,SAC9C;AAAA,EACT;AAAA,EAEA,IAAI,gBAAiC;AACnC,WAAO,KAAK,iBAAiB,WAAW;AAAA,EAC1C;AAAA,EAEA,IAAI,oBAAqC;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,UACHK,EAAe,IAAI,IADAC;AAAA,EAE5B;AACF;AAjDaH,EAIJ,SAAS,CAACI,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBR,EAOX,WAAA,WAAA,CAAA;AAPWA,IAANO,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvCV,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const t = ":host{display:block;width:100%}.strip{display:flex;align-items:stretch;gap:10px;width:100%}@media(max-width:560px){.strip{flex-direction:column}}";
2
+ export {
3
+ t as default
4
+ };
5
+ //# sourceMappingURL=stats-section.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,31 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { OsLeaderboardCasinoTableView } from '../../types/sections.js';
3
+ import { TableSectionHost } from './table-section.host.js';
4
+ /** Top-players preview — pinned current user, golden CTA. */
5
+ export declare class OsLeaderboardCasinoTable extends LitElement implements TableSectionHost {
6
+ static styles: import('lit').CSSResult[];
7
+ private _resizeObserver?;
8
+ connectedCallback(): void;
9
+ disconnectedCallback(): void;
10
+ protected updated(): void;
11
+ private _syncStickyWidth;
12
+ section: OsLeaderboardCasinoTableView;
13
+ /** Campaign uuid included in the `leaderboard-open` event detail. */
14
+ uuid: string;
15
+ finished: boolean;
16
+ get sectionTitle(): string;
17
+ get ctaLabel(): string;
18
+ private get visiblePlayers();
19
+ private get pinnedCurrentUser();
20
+ get hasPlayers(): boolean;
21
+ get emptyMessage(): string;
22
+ get showPinned(): boolean;
23
+ onOpenClick(): void;
24
+ private resolvePlayerPrize;
25
+ private renderRankChange;
26
+ private avatarUrl;
27
+ private renderRow;
28
+ renderPlayers(): import('lit').TemplateResult<1>;
29
+ renderPinnedRow(): typeof nothing | import('lit').TemplateResult<1>;
30
+ render(): import('lit').TemplateResult | typeof nothing;
31
+ }
@@ -0,0 +1,15 @@
1
+ import { LitTemplate } from '../../../../shared/lib/lit/template.js';
2
+ import { OsLeaderboardCasinoTableView } from '../../types/sections.js';
3
+ export interface TableSectionHost {
4
+ section: OsLeaderboardCasinoTableView;
5
+ uuid: string;
6
+ finished: boolean;
7
+ sectionTitle: string;
8
+ ctaLabel: string;
9
+ hasPlayers: boolean;
10
+ emptyMessage: string;
11
+ showPinned: boolean;
12
+ onOpenClick(): void;
13
+ renderPlayers(): LitTemplate;
14
+ renderPinnedRow(): LitTemplate;
15
+ }
@@ -0,0 +1,38 @@
1
+ import { html as s } from "lit";
2
+ function n(a) {
3
+ return s`<section>
4
+ <div class="section-header">
5
+ <h2 class="section-title">${a.sectionTitle}</h2>
6
+ </div>
7
+
8
+ <div class="card-shell">
9
+ <div class="card-accent" aria-hidden="true"></div>
10
+ <div class="card">
11
+ <div class="table-scroll">
12
+ <div class="table-head">
13
+ <span class="col-rank">Rank</span>
14
+ <span class="col-player">Player</span>
15
+ <span class="col-games">Games</span>
16
+ <span class="col-win-rate">Win rate</span>
17
+ <span class="col-bet">Total bet</span>
18
+ <span class="col-points">Points</span>
19
+ <span class="col-rank-change">Change</span>
20
+ </div>
21
+ <div class="empty" ?hidden=${a.hasPlayers}>${a.emptyMessage}</div>
22
+ ${a.renderPlayers()}
23
+ <div class="divider" ?hidden=${!a.showPinned}>Your position</div>
24
+ ${a.renderPinnedRow()}
25
+ </div>
26
+ </div>
27
+ </div>
28
+
29
+ <button type="button" class="cta" @click=${a.onOpenClick}>
30
+ ${a.ctaLabel}
31
+ </button>
32
+ </section>
33
+ `;
34
+ }
35
+ export {
36
+ n as default
37
+ };
38
+ //# sourceMappingURL=table-section.html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/table-section/table-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section>\n <div class=\"section-header\">\n <h2 class=\"section-title\">${host.sectionTitle}</h2>\n </div>\n\n <div class=\"card-shell\">\n <div class=\"card-accent\" aria-hidden=\"true\"></div>\n <div class=\"card\">\n <div class=\"table-scroll\">\n <div class=\"table-head\">\n <span class=\"col-rank\">Rank</span>\n <span class=\"col-player\">Player</span>\n <span class=\"col-games\">Games</span>\n <span class=\"col-win-rate\">Win rate</span>\n <span class=\"col-bet\">Total bet</span>\n <span class=\"col-points\">Points</span>\n <span class=\"col-rank-change\">Change</span>\n </div>\n <div class=\"empty\" ?hidden=${host.hasPlayers}>${host.emptyMessage}</div>\n ${host.renderPlayers()}\n <div class=\"divider\" ?hidden=${!host.showPinned}>Your position</div>\n ${host.renderPinnedRow()}\n </div>\n </div>\n </div>\n\n <button type=\"button\" class=\"cta\" @click=${host.onOpenClick}>\n ${host.ctaLabel}\n </button>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA,gCAEuBD,EAAK,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAgBdA,EAAK,UAAU,IAAIA,EAAK,YAAY;AAAA,QAC/DA,EAAK,cAAa,CAAE;AAAA,qCACS,CAACA,EAAK,UAAU;AAAA,QAC7CA,EAAK,gBAAe,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA,6CAKeA,EAAK,WAAW;AAAA,MACvDA,EAAK,QAAQ;AAAA;AAAA;AAAA;AAInB;"}
@@ -0,0 +1,183 @@
1
+ import { LitElement as f, html as r, nothing as i } from "lit";
2
+ import { property as d } from "lit/decorators.js";
3
+ import { unsafeSVG as c } from "lit/directives/unsafe-svg.js";
4
+ import v from "../../assets/icons/table.rank-up.svg.js";
5
+ import b from "../../assets/icons/table.rank-down.svg.js";
6
+ import g from "../../assets/icons/table.rank-neutral.svg.js";
7
+ import { Component as k } from "../../../../shared/lib/lit/component.js";
8
+ import { scss as y } from "../../../../shared/lib/lit/scss.js";
9
+ import { DEFAULT_TABLE_TITLE as $, DEFAULT_CTA_LABEL_FINISHED as _, DEFAULT_CTA_LABEL as w } from "../../constants/defaults.js";
10
+ import { OS_LEADERBOARD_CASINO_TABLE as P } from "../../constants/tags.js";
11
+ import { osLeaderboardCasinoTheme as S } from "../../theme/styles.js";
12
+ import { renderPlayerName as C } from "../../theme/vip-mark.js";
13
+ import { labelText as R } from "../../types/data.js";
14
+ import { prizeForRank as L, podiumVariantForRank as E } from "../../theme/prize-resolve.js";
15
+ import { OS_LEADERBOARD_CASINO_OPEN as O } from "../../types/events.js";
16
+ import "../prize-section/components/medal-coin/medal-coin.js";
17
+ import z from "./table-section.html.js";
18
+ import A from "./table-section.scss.js";
19
+ var D = Object.defineProperty, T = Object.getOwnPropertyDescriptor, l = (e, s, t, o) => {
20
+ for (var n = o > 1 ? void 0 : o ? T(s, t) : s, p = e.length - 1, u; p >= 0; p--)
21
+ (u = e[p]) && (n = (o ? u(s, t, n) : u(n)) || n);
22
+ return o && n && D(s, t, n), n;
23
+ };
24
+ function U(e) {
25
+ return new Intl.NumberFormat("en-US", {
26
+ style: "currency",
27
+ currency: "USD",
28
+ maximumFractionDigits: 0
29
+ }).format(e);
30
+ }
31
+ function B(e) {
32
+ return e != null ? e.toLocaleString() : "—";
33
+ }
34
+ function m(e) {
35
+ return e.replace("<svg ", '<svg viewBox="0 0 512 512" ');
36
+ }
37
+ const x = m(v), N = m(b), h = m(g);
38
+ let a = class extends f {
39
+ constructor() {
40
+ super(...arguments), this.uuid = "", this.finished = !1;
41
+ }
42
+ connectedCallback() {
43
+ super.connectedCallback(), this._resizeObserver = new ResizeObserver(() => this._syncStickyWidth()), this._resizeObserver.observe(this);
44
+ }
45
+ disconnectedCallback() {
46
+ super.disconnectedCallback(), this._resizeObserver?.disconnect();
47
+ }
48
+ updated() {
49
+ this._syncStickyWidth();
50
+ }
51
+ _syncStickyWidth() {
52
+ const e = this.shadowRoot?.querySelector(".card"), s = this.shadowRoot?.querySelector(".col-player");
53
+ e && this.style.setProperty(
54
+ "--table-scrollport-width",
55
+ `${e.clientWidth}px`
56
+ ), s && this.style.setProperty(
57
+ "--sticky-player-width",
58
+ `${s.offsetWidth}px`
59
+ );
60
+ }
61
+ get sectionTitle() {
62
+ return $;
63
+ }
64
+ get ctaLabel() {
65
+ return this.section?.ctaLabel ?? (this.finished ? _ : w);
66
+ }
67
+ get visiblePlayers() {
68
+ return this.section?.topPlayers ?? [];
69
+ }
70
+ get pinnedCurrentUser() {
71
+ const e = this.section?.currentUser;
72
+ return !e || !("you" in e) || (this.section?.topPlayers ?? []).some((t) => t.you) ? void 0 : e;
73
+ }
74
+ get hasPlayers() {
75
+ return this.visiblePlayers.length > 0;
76
+ }
77
+ get emptyMessage() {
78
+ return "No players yet.";
79
+ }
80
+ get showPinned() {
81
+ return this.pinnedCurrentUser != null;
82
+ }
83
+ onOpenClick() {
84
+ this.dispatchEvent(
85
+ new CustomEvent(O, {
86
+ detail: { uuid: this.uuid },
87
+ bubbles: !0,
88
+ composed: !0
89
+ })
90
+ );
91
+ }
92
+ resolvePlayerPrize(e) {
93
+ const s = this.section?.prizes ?? [];
94
+ return L(s, e.rank) ?? e.prize;
95
+ }
96
+ renderRankChange(e) {
97
+ if (e.previousRank == null)
98
+ return r`<span class="chip flat"
99
+ >${c(h)}</span
100
+ >`;
101
+ const s = e.previousRank - e.rank;
102
+ return s === 0 ? r`<span class="chip flat"
103
+ >${c(h)}</span
104
+ >` : s > 0 ? r`<span class="chip up"
105
+ >${c(x)}${s}</span
106
+ >` : r`<span class="chip down"
107
+ >${c(N)}${Math.abs(s)}</span
108
+ >`;
109
+ }
110
+ avatarUrl(e) {
111
+ return `https://api.dicebear.com/9.x/lorelei/svg?seed=${encodeURIComponent(
112
+ e
113
+ )}`;
114
+ }
115
+ renderRow(e) {
116
+ const s = !e.you && e.rank <= 3 ? `podium-${e.rank}` : "", t = this.resolvePlayerPrize(e), o = e.totalBet ?? Math.round(e.points * (1.8 + e.rank * 0.04));
117
+ return r`
118
+ <div
119
+ class="row ${e.you ? "you" : ""} ${e.vip ? "vip" : ""} ${s}"
120
+ >
121
+ ${e.rank <= 3 && !e.you ? r`<span class="rank col-rank"
122
+ ><os-leaderboard-casino-medal-coin
123
+ variant=${E(e.rank)}
124
+ rank=${e.rank}
125
+ size=${30}
126
+ ></os-leaderboard-casino-medal-coin
127
+ ></span>` : r`<span class="rank col-rank">#${e.rank}</span>`}
128
+ <div class="player col-player">
129
+ <span class="avatar">
130
+ <img src=${this.avatarUrl(e.username)} alt="" loading="lazy" />
131
+ </span>
132
+ <span class="who">
133
+ <span class="username">
134
+ ${C(e.username, {
135
+ vip: e.vip,
136
+ suffix: e.you ? r`<span class="you-tag">You</span>` : i
137
+ })}
138
+ </span>
139
+ ${t ? r`<span class="prize-sub"
140
+ ><span class="prize-label"
141
+ >${R(t.label)}</span
142
+ ></span
143
+ >` : i}
144
+ </span>
145
+ </div>
146
+ <span class="col-games">${B(e.gamesPlayed)}</span>
147
+ <span class="col-win-rate"
148
+ >${e.winRate != null ? `${e.winRate}%` : "—"}</span
149
+ >
150
+ <span class="col-bet">${U(o)}</span>
151
+ <span class="col-points"><b>${e.points.toLocaleString()}</b></span>
152
+ <span class="col-rank-change">${this.renderRankChange(e)}</span>
153
+ </div>
154
+ `;
155
+ }
156
+ renderPlayers() {
157
+ return r`${this.visiblePlayers.map((e) => this.renderRow(e))}`;
158
+ }
159
+ renderPinnedRow() {
160
+ const e = this.pinnedCurrentUser;
161
+ return e ? this.renderRow(e) : i;
162
+ }
163
+ render() {
164
+ return this.section ? z(this) : i;
165
+ }
166
+ };
167
+ a.styles = [S, y(A)];
168
+ l([
169
+ d({ attribute: !1 })
170
+ ], a.prototype, "section", 2);
171
+ l([
172
+ d({ type: String })
173
+ ], a.prototype, "uuid", 2);
174
+ l([
175
+ d({ type: Boolean })
176
+ ], a.prototype, "finished", 2);
177
+ a = l([
178
+ k({ selector: P })
179
+ ], a);
180
+ export {
181
+ a as OsLeaderboardCasinoTable
182
+ };
183
+ //# sourceMappingURL=table-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/table-section/table-section.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport rankUpSvg from '../../assets/icons/table.rank-up.svg?raw';\nimport rankDownSvg from '../../assets/icons/table.rank-down.svg?raw';\nimport rankNeutralSvg from '../../assets/icons/table.rank-neutral.svg?raw';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport {\n DEFAULT_CTA_LABEL,\n DEFAULT_CTA_LABEL_FINISHED,\n DEFAULT_TABLE_TITLE,\n} from '@os-leaderboard-casino/constants/defaults.js';\nimport { OS_LEADERBOARD_CASINO_TABLE } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport { renderPlayerName } from '@os-leaderboard-casino/theme/vip-mark.js';\nimport {\n labelText,\n type QuizPrize,\n type UserRank,\n} from '@os-leaderboard-casino/types/data.js';\nimport {\n podiumVariantForRank,\n prizeForRank,\n} from '@os-leaderboard-casino/theme/prize-resolve.js';\nimport { OS_LEADERBOARD_CASINO_OPEN } from '@os-leaderboard-casino/types/events.js';\nimport type { OsLeaderboardCasinoTableView } from '@os-leaderboard-casino/types/sections.js';\nimport type { TableSectionHost } from './table-section.host.js';\nimport '@os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js';\nimport renderTemplate from './table-section.html?lit-html';\nimport styles from './table-section.scss?inline';\n\nfunction formatTotalBet(value: number): string {\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: 0,\n }).format(value);\n}\n\nfunction formatGamesPlayed(value: number | undefined): string {\n return value != null ? value.toLocaleString() : '—';\n}\n\nfunction addViewBox(svg: string): string {\n return svg.replace('<svg ', '<svg viewBox=\"0 0 512 512\" ');\n}\n\nconst rankUpSvgVb = addViewBox(rankUpSvg);\nconst rankDownSvgVb = addViewBox(rankDownSvg);\nconst rankNeutralSvgVb = addViewBox(rankNeutralSvg);\n\n/** Top-players preview — pinned current user, golden CTA. */\n@Component({ selector: OS_LEADERBOARD_CASINO_TABLE })\nexport class OsLeaderboardCasinoTable\n extends LitElement\n implements TableSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n private _resizeObserver?: ResizeObserver;\n\n connectedCallback() {\n super.connectedCallback();\n this._resizeObserver = new ResizeObserver(() => this._syncStickyWidth());\n this._resizeObserver.observe(this);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._resizeObserver?.disconnect();\n }\n\n protected updated() {\n this._syncStickyWidth();\n }\n\n private _syncStickyWidth() {\n const card = this.shadowRoot?.querySelector<HTMLElement>('.card');\n const player = this.shadowRoot?.querySelector<HTMLElement>('.col-player');\n\n if (card) {\n this.style.setProperty(\n '--table-scrollport-width',\n `${card.clientWidth}px`,\n );\n }\n\n if (player) {\n this.style.setProperty(\n '--sticky-player-width',\n `${player.offsetWidth}px`,\n );\n }\n }\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoTableView;\n\n /** Campaign uuid included in the `leaderboard-open` event detail. */\n @property({ type: String })\n uuid = '';\n\n @property({ type: Boolean })\n finished = false;\n\n get sectionTitle(): string {\n return DEFAULT_TABLE_TITLE;\n }\n\n get ctaLabel(): string {\n return (\n this.section?.ctaLabel ??\n (this.finished ? DEFAULT_CTA_LABEL_FINISHED : DEFAULT_CTA_LABEL)\n );\n }\n\n private get visiblePlayers(): UserRank[] {\n return this.section?.topPlayers ?? [];\n }\n\n private get pinnedCurrentUser(): UserRank | undefined {\n const current = this.section?.currentUser;\n if (!current || !('you' in current)) return undefined;\n const players = this.section?.topPlayers ?? [];\n return players.some((p) => p.you) ? undefined : current;\n }\n\n get hasPlayers(): boolean {\n return this.visiblePlayers.length > 0;\n }\n\n get emptyMessage(): string {\n return 'No players yet.';\n }\n\n get showPinned(): boolean {\n return this.pinnedCurrentUser != null;\n }\n\n onOpenClick() {\n this.dispatchEvent(\n new CustomEvent(OS_LEADERBOARD_CASINO_OPEN, {\n detail: { uuid: this.uuid },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private resolvePlayerPrize(player: UserRank): QuizPrize | null {\n const prizes = this.section?.prizes ?? [];\n return prizeForRank(prizes, player.rank) ?? player.prize;\n }\n\n private renderRankChange(player: UserRank) {\n if (player.previousRank == null)\n return html`<span class=\"chip flat\"\n >${unsafeSVG(rankNeutralSvgVb)}</span\n >`;\n const delta = player.previousRank - player.rank;\n if (delta === 0)\n return html`<span class=\"chip flat\"\n >${unsafeSVG(rankNeutralSvgVb)}</span\n >`;\n if (delta > 0)\n return html`<span class=\"chip up\"\n >${unsafeSVG(rankUpSvgVb)}${delta}</span\n >`;\n return html`<span class=\"chip down\"\n >${unsafeSVG(rankDownSvgVb)}${Math.abs(delta)}</span\n >`;\n }\n\n private avatarUrl(username: string): string {\n return `https://api.dicebear.com/9.x/lorelei/svg?seed=${encodeURIComponent(\n username,\n )}`;\n }\n\n private renderRow(player: UserRank) {\n const podiumClass =\n !player.you && player.rank <= 3 ? `podium-${player.rank}` : '';\n const prize = this.resolvePlayerPrize(player);\n const totalBet =\n player.totalBet ?? Math.round(player.points * (1.8 + player.rank * 0.04));\n return html`\n <div\n class=\"row ${player.you ? 'you' : ''} ${player.vip\n ? 'vip'\n : ''} ${podiumClass}\"\n >\n ${player.rank <= 3 && !player.you\n ? html`<span class=\"rank col-rank\"\n ><os-leaderboard-casino-medal-coin\n variant=${podiumVariantForRank(player.rank as 1 | 2 | 3)}\n rank=${player.rank}\n size=${30}\n ></os-leaderboard-casino-medal-coin\n ></span>`\n : html`<span class=\"rank col-rank\">#${player.rank}</span>`}\n <div class=\"player col-player\">\n <span class=\"avatar\">\n <img src=${this.avatarUrl(player.username)} alt=\"\" loading=\"lazy\" />\n </span>\n <span class=\"who\">\n <span class=\"username\">\n ${renderPlayerName(player.username, {\n vip: player.vip,\n suffix: player.you\n ? html`<span class=\"you-tag\">You</span>`\n : nothing,\n })}\n </span>\n ${prize\n ? html`<span class=\"prize-sub\"\n ><span class=\"prize-label\"\n >${labelText(prize.label)}</span\n ></span\n >`\n : nothing}\n </span>\n </div>\n <span class=\"col-games\">${formatGamesPlayed(player.gamesPlayed)}</span>\n <span class=\"col-win-rate\"\n >${player.winRate != null ? `${player.winRate}%` : '—'}</span\n >\n <span class=\"col-bet\">${formatTotalBet(totalBet)}</span>\n <span class=\"col-points\"><b>${player.points.toLocaleString()}</b></span>\n <span class=\"col-rank-change\">${this.renderRankChange(player)}</span>\n </div>\n `;\n }\n\n renderPlayers() {\n return html`${this.visiblePlayers.map((p) => this.renderRow(p))}`;\n }\n\n renderPinnedRow() {\n const pinned = this.pinnedCurrentUser;\n if (!pinned) return nothing;\n return this.renderRow(pinned);\n }\n\n render() {\n if (!this.section) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["formatTotalBet","value","formatGamesPlayed","addViewBox","svg","rankUpSvgVb","rankUpSvg","rankDownSvgVb","rankDownSvg","rankNeutralSvgVb","rankNeutralSvg","OsLeaderboardCasinoTable","LitElement","card","player","DEFAULT_TABLE_TITLE","DEFAULT_CTA_LABEL_FINISHED","DEFAULT_CTA_LABEL","current","p","OS_LEADERBOARD_CASINO_OPEN","prizes","prizeForRank","html","unsafeSVG","delta","username","podiumClass","prize","totalBet","podiumVariantForRank","renderPlayerName","nothing","labelText","pinned","renderTemplate","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_TABLE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAASA,EAAeC,GAAuB;AAC7C,SAAO,IAAI,KAAK,aAAa,SAAS;AAAA,IACpC,OAAO;AAAA,IACP,UAAU;AAAA,IACV,uBAAuB;AAAA,EAAA,CACxB,EAAE,OAAOA,CAAK;AACjB;AAEA,SAASC,EAAkBD,GAAmC;AAC5D,SAAOA,KAAS,OAAOA,EAAM,eAAA,IAAmB;AAClD;AAEA,SAASE,EAAWC,GAAqB;AACvC,SAAOA,EAAI,QAAQ,SAAS,6BAA6B;AAC3D;AAEA,MAAMC,IAAcF,EAAWG,CAAS,GAClCC,IAAgBJ,EAAWK,CAAW,GACtCC,IAAmBN,EAAWO,CAAc;AAI3C,IAAMC,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GA+CL,KAAA,OAAO,IAGP,KAAA,WAAW;AAAA,EAAA;AAAA,EA1CX,oBAAoB;AAClB,UAAM,kBAAA,GACN,KAAK,kBAAkB,IAAI,eAAe,MAAM,KAAK,kBAAkB,GACvE,KAAK,gBAAgB,QAAQ,IAAI;AAAA,EACnC;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAA,GACN,KAAK,iBAAiB,WAAA;AAAA,EACxB;AAAA,EAEU,UAAU;AAClB,SAAK,iBAAA;AAAA,EACP;AAAA,EAEQ,mBAAmB;AACzB,UAAMC,IAAO,KAAK,YAAY,cAA2B,OAAO,GAC1DC,IAAS,KAAK,YAAY,cAA2B,aAAa;AAExE,IAAID,KACF,KAAK,MAAM;AAAA,MACT;AAAA,MACA,GAAGA,EAAK,WAAW;AAAA,IAAA,GAInBC,KACF,KAAK,MAAM;AAAA,MACT;AAAA,MACA,GAAGA,EAAO,WAAW;AAAA,IAAA;AAAA,EAG3B;AAAA,EAYA,IAAI,eAAuB;AACzB,WAAOC;AAAA,EACT;AAAA,EAEA,IAAI,WAAmB;AACrB,WACE,KAAK,SAAS,aACb,KAAK,WAAWC,IAA6BC;AAAA,EAElD;AAAA,EAEA,IAAY,iBAA6B;AACvC,WAAO,KAAK,SAAS,cAAc,CAAA;AAAA,EACrC;AAAA,EAEA,IAAY,oBAA0C;AACpD,UAAMC,IAAU,KAAK,SAAS;AAC9B,WAAI,CAACA,KAAW,EAAE,SAASA,OACX,KAAK,SAAS,cAAc,CAAA,GAC7B,KAAK,CAACC,MAAMA,EAAE,GAAG,IAFK,SAEWD;AAAA,EAClD;AAAA,EAEA,IAAI,aAAsB;AACxB,WAAO,KAAK,eAAe,SAAS;AAAA,EACtC;AAAA,EAEA,IAAI,eAAuB;AACzB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,aAAsB;AACxB,WAAO,KAAK,qBAAqB;AAAA,EACnC;AAAA,EAEA,cAAc;AACZ,SAAK;AAAA,MACH,IAAI,YAAYE,GAA4B;AAAA,QAC1C,QAAQ,EAAE,MAAM,KAAK,KAAA;AAAA,QACrB,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAAA,EAEL;AAAA,EAEQ,mBAAmBN,GAAoC;AAC7D,UAAMO,IAAS,KAAK,SAAS,UAAU,CAAA;AACvC,WAAOC,EAAaD,GAAQP,EAAO,IAAI,KAAKA,EAAO;AAAA,EACrD;AAAA,EAEQ,iBAAiBA,GAAkB;AACzC,QAAIA,EAAO,gBAAgB;AACzB,aAAOS;AAAA,WACFC,EAAUf,CAAgB,CAAC;AAAA;AAElC,UAAMgB,IAAQX,EAAO,eAAeA,EAAO;AAC3C,WAAIW,MAAU,IACLF;AAAA,WACFC,EAAUf,CAAgB,CAAC;AAAA,WAE9BgB,IAAQ,IACHF;AAAA,WACFC,EAAUnB,CAAW,CAAC,GAAGoB,CAAK;AAAA,WAE9BF;AAAA,SACFC,EAAUjB,CAAa,CAAC,GAAG,KAAK,IAAIkB,CAAK,CAAC;AAAA;AAAA,EAEjD;AAAA,EAEQ,UAAUC,GAA0B;AAC1C,WAAO,iDAAiD;AAAA,MACtDA;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EAEQ,UAAUZ,GAAkB;AAClC,UAAMa,IACJ,CAACb,EAAO,OAAOA,EAAO,QAAQ,IAAI,UAAUA,EAAO,IAAI,KAAK,IACxDc,IAAQ,KAAK,mBAAmBd,CAAM,GACtCe,IACJf,EAAO,YAAY,KAAK,MAAMA,EAAO,UAAU,MAAMA,EAAO,OAAO,KAAK;AAC1E,WAAOS;AAAA;AAAA,qBAEUT,EAAO,MAAM,QAAQ,EAAE,IAAIA,EAAO,MAC3C,QACA,EAAE,IAAIa,CAAW;AAAA;AAAA,UAEnBb,EAAO,QAAQ,KAAK,CAACA,EAAO,MAC1BS;AAAA;AAAA,0BAEcO,EAAqBhB,EAAO,IAAiB,CAAC;AAAA,uBACjDA,EAAO,IAAI;AAAA,uBACX,EAAE;AAAA;AAAA,wBAGbS,iCAAoCT,EAAO,IAAI,SAAS;AAAA;AAAA;AAAA,uBAG7C,KAAK,UAAUA,EAAO,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,gBAItCiB,EAAiBjB,EAAO,UAAU;AAAA,MAClC,KAAKA,EAAO;AAAA,MACZ,QAAQA,EAAO,MACXS,sCACAS;AAAA,IAAA,CACL,CAAC;AAAA;AAAA,cAEFJ,IACEL;AAAA;AAAA,uBAEOU,EAAUL,EAAM,KAAK,CAAC;AAAA;AAAA,qBAG7BI,CAAO;AAAA;AAAA;AAAA,kCAGW9B,EAAkBY,EAAO,WAAW,CAAC;AAAA;AAAA,aAE1DA,EAAO,WAAW,OAAO,GAAGA,EAAO,OAAO,MAAM,GAAG;AAAA;AAAA,gCAEhCd,EAAe6B,CAAQ,CAAC;AAAA,sCAClBf,EAAO,OAAO,gBAAgB;AAAA,wCAC5B,KAAK,iBAAiBA,CAAM,CAAC;AAAA;AAAA;AAAA,EAGnE;AAAA,EAEA,gBAAgB;AACd,WAAOS,IAAO,KAAK,eAAe,IAAI,CAACJ,MAAM,KAAK,UAAUA,CAAC,CAAC,CAAC;AAAA,EACjE;AAAA,EAEA,kBAAkB;AAChB,UAAMe,IAAS,KAAK;AACpB,WAAKA,IACE,KAAK,UAAUA,CAAM,IADRF;AAAA,EAEtB;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,UACHG,EAAe,IAAI,IADAH;AAAA,EAE5B;AACF;AAlMarB,EAIJ,SAAS,CAACyB,GAA0BC,EAAKC,CAAM,CAAC;AAuCvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GA1CnB7B,EA2CX,WAAA,WAAA,CAAA;AAIA4B,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GA9Cf7B,EA+CX,WAAA,QAAA,CAAA;AAGA4B,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAA,CAAS;AAAA,GAjDhB7B,EAkDX,WAAA,YAAA,CAAA;AAlDWA,IAAN4B,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvC/B,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const a = '@charset "UTF-8";:host{display:flex;flex-direction:column;flex:1;width:100%;min-height:0}.card-shell{position:relative;flex:1;min-width:0;min-height:0;display:flex}.card{position:relative;background:radial-gradient(120% 80% at 50% -10%,rgba(157,107,255,.12),transparent 60%),linear-gradient(180deg,var(--surface-2),var(--surface)),var(--bg);border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);box-shadow:0 1px #ffffff0d inset,0 40px 80px -40px #000c;overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;flex:1;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 35%,transparent) transparent}.card::-webkit-scrollbar{height:3px}.card::-webkit-scrollbar-track{background:transparent}.card::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 35%,transparent);border-radius:99px}.card::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--gold) 60%,transparent)}.card-accent{position:absolute;top:0;left:50%;transform:translate(-50%);width:min(400px,88%);height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5;pointer-events:none;z-index:2}@media(min-width:641px){.card-accent{width:100%;max-width:none;transform:none;left:0;background:linear-gradient(90deg,transparent,var(--gold) 45%,var(--gold) 55%,transparent)}}.table-scroll{display:grid;min-width:min-content;--table-col-gap: 18px;--table-pad-l: var(--table-col-gap);grid-template-columns:52px minmax(min-content,1fr) 56px 68px 72px 60px 60px;column-gap:var(--table-col-gap)}section{display:flex;flex-direction:column;flex:1;min-height:0}.table-head,.row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;row-gap:0;padding:12px 16px 12px var(--table-pad-l)}.col-rank{grid-column:1}.col-player{grid-column:2}.col-games{grid-column:3}.col-win-rate{grid-column:4}.col-bet{grid-column:5}.col-points{grid-column:6}.col-rank-change{grid-column:7}.table-head .col-rank,.table-head .col-player,.table-head .col-bet,.table-head .col-points,.table-head .col-win-rate,.table-head .col-games,.table-head .col-rank-change,.col-rank,.col-player,.col-bet,.col-points,.col-win-rate,.col-games,.col-rank-change{min-width:0}.table-head .col-rank,.table-head .col-player,.col-rank,.col-player{justify-self:start;text-align:left}.table-head .col-rank,.col-rank{position:sticky;left:var(--table-pad-l);z-index:3;justify-self:stretch;align-self:stretch;display:flex;align-items:center}.table-head .col-player,.col-player{position:sticky;left:calc(var(--table-pad-l) + 40px + var(--table-col-gap));z-index:3;justify-self:stretch;align-self:stretch;display:flex;align-items:center}@keyframes scroll-cols-hide{0%{opacity:1}to{opacity:0}}.table-head .col-games,.col-games,.table-head .col-win-rate,.col-win-rate,.table-head .col-bet,.col-bet,.table-head .col-points,.col-points,.table-head .col-rank-change,.col-rank-change{animation:scroll-cols-hide linear both;animation-timeline:view(inline calc(var(--table-pad-l) + 40px + var(--table-col-gap) + var(--sticky-player-width, 120px)) 0px);animation-range:exit 0% exit 100%}.table-head .col-bet,.table-head .col-points,.table-head .col-win-rate,.table-head .col-games,.col-bet,.col-points,.col-win-rate,.col-games{justify-self:stretch;align-self:stretch;display:flex;align-items:center;justify-content:flex-end;text-align:right}.table-head .col-rank-change,.col-rank-change{justify-self:stretch;align-self:stretch;display:flex;align-items:center;justify-content:center;text-align:center}.table-head{padding-top:18px;padding-bottom:14px;border-bottom:1px solid var(--hairline)}.table-head .col-rank,.table-head .col-player,.table-head .col-bet,.table-head .col-points,.table-head .col-win-rate,.table-head .col-games,.table-head .col-rank-change{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.row{position:relative;min-height:34px;border-bottom:1px solid var(--hairline);transition:background .25s ease;cursor:pointer}.row:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .25s ease}.row:hover{background:linear-gradient(90deg,rgba(255,255,255,.04),transparent 70%)}.row:hover:after{background:var(--gold)}.row:last-child{border-bottom:none}.row.podium-1{background:linear-gradient(90deg,#f4cf6b33,#f4cf6b0d 70%)}.row.podium-1:after{box-shadow:none;transition:background .25s ease,box-shadow .25s ease}.row.podium-1:hover:after{background:var(--gold);box-shadow:0 0 14px 1px #f4cf6b80}.row.podium-1:hover{background:linear-gradient(90deg,#f4cf6b42,#f4cf6b12 70%)}.row.podium-2{background:linear-gradient(90deg,#cdd3df33,#cdd3df0d 70%)}.row.podium-2:after{box-shadow:none;transition:background .25s ease,box-shadow .25s ease}.row.podium-2:hover:after{background:var(--silver);box-shadow:0 0 14px 1px #cdd3df80}.row.podium-2:hover{background:linear-gradient(90deg,#cdd3df42,#cdd3df12 70%)}.row.podium-3{background:linear-gradient(90deg,#d99a6c33,#d99a6c0d 70%)}.row.podium-3:after{box-shadow:none;transition:background .25s ease,box-shadow .25s ease}.row.podium-3:hover:after{background:var(--bronze);box-shadow:0 0 14px 1px #d99a6c80}.row.podium-3:hover{background:linear-gradient(90deg,#d99a6c42,#d99a6c12 70%)}.row.you{background:linear-gradient(90deg,#9d6bff33,#9d6bff0d 70%);min-height:40px}.row.you:after{box-shadow:none;transition:background .25s ease,box-shadow .25s ease}.row.you:hover:after{background:var(--violet);box-shadow:0 0 14px 1px #9d6bff80}.row.you:hover{background:linear-gradient(90deg,#9d6bff42,#9d6bff12 70%)}.rank{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-dim)}.col-rank os-leaderboard-casino-medal-coin{--coin-text-scale: 2;margin-left:-5px}.player{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.avatar{flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:color-mix(in srgb,var(--violet) 18%,var(--surface-solid));box-shadow:0 0 0 1px #ffffff1a inset}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.who{min-width:0;display:flex;flex-direction:column;gap:3px}.username{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap}.you-tag{margin-left:6px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:var(--violet-soft);color:var(--violet);border:1px solid rgba(157,107,255,.5);vertical-align:1px}.prize-sub{display:flex;align-items:center;gap:6px;min-width:0}.prize-sub .prize-label{font-size:11px;font-weight:600;color:var(--violet);white-space:nowrap}.prize-sub .prize-icon--table{flex:none;display:grid;place-items:center;width:14px;height:14px;min-width:14px;line-height:0}.prize-sub .prize-icon--table svg{width:14px;height:14px}.prize-sub os-leaderboard-casino-medal-coin{flex:none;display:block;width:16px;height:16px;line-height:0;--coin-text-scale: 1.6}.col-win-rate,.col-games{font-family:var(--font-mono);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-dim)}.col-bet{font-family:var(--font-mono);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold)}.col-points{font-family:var(--font-mono);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-dim)}.col-points b{font-weight:700;color:var(--text)}.col-rank-change{font-variant-numeric:tabular-nums}.chip{display:inline-flex;align-items:center;gap:3px;padding:3px 7px 3px 5px;border-radius:7px;font-family:var(--font-mono);font-weight:700;font-size:12px;line-height:1}.chip svg{width:16px;height:16px;flex-shrink:0}.chip.up{color:#00b200;background:#00b2001f}.chip.down{color:#c20000;background:#c200001f}.chip.flat{color:var(--text-faint)}.empty{grid-column:1/-1;padding:24px 16px;text-align:center;font-size:13px;color:var(--text-dim)}.divider{grid-column:1/-1;position:sticky;left:0;z-index:4;width:var(--table-scrollport-width, 100%);max-width:var(--table-scrollport-width, 100%);box-sizing:border-box;padding:11px 16px;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);background:#ffffff04;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.cta{position:relative;overflow:hidden;display:block;width:100%;margin-top:16px;border:none;cursor:pointer;font-family:var(--font-display);font-size:15.5px;font-weight:800;letter-spacing:.01em;color:#1c1306;background:linear-gradient(120deg,var(--gold-strong) 0%,var(--gold) 45%,var(--gold-deep) 100%);padding:16px 22px;border-radius:15px;box-shadow:var(--shadow-gold);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.cta:after{content:"";position:absolute;top:0;left:-75%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-18deg);animation:cta-sweep 3.2s ease-in-out infinite}@keyframes cta-sweep{0%,60%{left:-75%}90%,to{left:125%}}.cta:hover{transform:translateY(-2px);box-shadow:0 18px 52px -14px var(--gold-glow)}@media(max-width:640px){.table-head,.row{padding:10px 16px 10px var(--table-pad-l)}.table-head .col-rank,.table-head .col-player,.table-head .col-bet,.table-head .col-points,.table-head .col-win-rate,.table-head .col-games,.table-head .col-rank-change{font-size:10px;letter-spacing:.1em}.rank,.col-bet,.col-points,.col-win-rate,.col-games,.username{font-size:12px}.avatar{width:32px;height:32px}.medallion{width:26px;height:26px;font-size:11px}.player{gap:8px}}';
2
+ export {
3
+ a as default
4
+ };
5
+ //# sourceMappingURL=table-section.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,11 @@
1
+ import { OsLeaderboardCasinoLayout } from '../types/sections.js';
2
+ import { OsLeaderboardCasinoState } from '../types/state.js';
3
+ /** Maps facade state into the glam layout shell. */
4
+ export declare class AdapterService {
5
+ toLayout(state: OsLeaderboardCasinoState): OsLeaderboardCasinoLayout;
6
+ applyThemeVars(host: HTMLElement, state: OsLeaderboardCasinoState): void;
7
+ private buildLayout;
8
+ private isEnabled;
9
+ private mainOrder;
10
+ }
11
+ export declare const adapterService: AdapterService;