@oddsmith/ui 1.0.5 → 1.0.6

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 (436) hide show
  1. package/README.md +8 -4
  2. package/dist/.shared/index.ts +5 -0
  3. package/dist/.shared/labels-engine/engine.d.ts +22 -0
  4. package/dist/.shared/labels-engine/engine.ts +70 -0
  5. package/dist/.shared/labels-engine/index.d.ts +1 -0
  6. package/dist/.shared/labels-engine/index.ts +1 -0
  7. package/dist/.shared/lib/lit/component.ts +10 -0
  8. package/dist/.shared/lib/lit/safe-custom-element.ts +12 -0
  9. package/dist/.shared/lib/lit/scss.ts +6 -0
  10. package/dist/{shared/lib/lit/template.d.ts → .shared/lib/lit/template.ts} +2 -1
  11. package/dist/.shared/theme-engine/animation.d.ts +5 -0
  12. package/dist/.shared/theme-engine/animation.ts +40 -0
  13. package/dist/.shared/theme-engine/default-theme.d.ts +24 -0
  14. package/dist/.shared/theme-engine/default-theme.ts +38 -0
  15. package/dist/.shared/theme-engine/engine.d.ts +22 -0
  16. package/dist/.shared/theme-engine/engine.ts +151 -0
  17. package/dist/.shared/theme-engine/index.d.ts +2 -0
  18. package/dist/.shared/theme-engine/index.ts +8 -0
  19. package/dist/assets/config/data.js +279 -0
  20. package/dist/assets/config/images/events/bolt.svg +4 -0
  21. package/dist/assets/config/images/events/boost.svg +6 -0
  22. package/dist/assets/config/images/events/clock.svg +4 -0
  23. package/dist/assets/config/images/events/fire.svg +4 -0
  24. package/dist/assets/config/images/events/gift.svg +5 -0
  25. package/dist/assets/config/images/events/star.svg +4 -0
  26. package/dist/assets/config/images/games/gates-of-olympus.png +0 -0
  27. package/dist/assets/config/labels.js +79 -0
  28. package/dist/assets/config/theme.js +15 -0
  29. package/dist/assets/icons/prize.medal.svg +5 -0
  30. package/dist/assets/image.fallback.png +0 -0
  31. package/dist/bootstrap/casino.bootstrap.d.ts +32 -0
  32. package/dist/bootstrap/index.d.ts +5 -0
  33. package/dist/constants/default-data.d.ts +8 -0
  34. package/dist/constants/defaults.d.ts +16 -0
  35. package/dist/{components/os-leaderboard-casino/constants → constants}/index.d.ts +1 -0
  36. package/dist/{components/os-leaderboard-casino/constants → constants}/tags.d.ts +0 -9
  37. package/dist/container/os-leaderboard-casino.d.ts +59 -0
  38. package/dist/container/os-leaderboard-casino.host.d.ts +5 -0
  39. package/dist/index.d.ts +3 -0
  40. package/dist/index.js +2483 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/{components/os-leaderboard-casino/sections → sections}/climb-section/climb-section.d.ts +7 -2
  43. package/dist/{components/os-leaderboard-casino/sections → sections}/climb-section/climb-section.host.d.ts +5 -2
  44. package/dist/sections/climb-section/types/labels.d.ts +8 -0
  45. package/dist/sections/climb-section/types/view.d.ts +13 -0
  46. package/dist/sections/events-banner/events-banner.d.ts +30 -0
  47. package/dist/sections/events-banner/events-banner.host.d.ts +15 -0
  48. package/dist/sections/events-banner/types/data.d.ts +18 -0
  49. package/dist/sections/events-banner/types/events.d.ts +8 -0
  50. package/dist/sections/events-banner/types/labels.d.ts +6 -0
  51. package/dist/sections/events-banner/types/view.d.ts +12 -0
  52. package/dist/{components/os-leaderboard-casino/sections → sections}/footer-section/footer-section.d.ts +4 -3
  53. package/dist/sections/footer-section/footer-section.host.d.ts +5 -0
  54. package/dist/sections/footer-section/types/view.d.ts +4 -0
  55. package/dist/{components/os-leaderboard-casino/sections → sections}/games-section/games-section.d.ts +8 -3
  56. package/dist/sections/games-section/games-section.host.d.ts +10 -0
  57. package/dist/sections/games-section/types/data.d.ts +7 -0
  58. package/dist/sections/games-section/types/labels.d.ts +6 -0
  59. package/dist/sections/games-section/types/view.d.ts +9 -0
  60. package/dist/{components/os-leaderboard-casino/sections → sections}/hero-section/hero-section.d.ts +10 -16
  61. package/dist/sections/hero-section/hero-section.host.d.ts +18 -0
  62. package/dist/sections/hero-section/types/data.d.ts +14 -0
  63. package/dist/sections/hero-section/types/labels.d.ts +12 -0
  64. package/dist/sections/hero-section/types/view.d.ts +12 -0
  65. package/dist/sections/index.d.ts +0 -0
  66. package/dist/{components/os-leaderboard-casino/sections → sections}/legals-section/legals-section.d.ts +8 -3
  67. package/dist/{components/os-leaderboard-casino/sections → sections}/legals-section/legals-section.host.d.ts +6 -1
  68. package/dist/sections/legals-section/types/data.d.ts +19 -0
  69. package/dist/sections/legals-section/types/labels.d.ts +5 -0
  70. package/dist/sections/legals-section/types/view.d.ts +6 -0
  71. package/dist/sections/marquee-section/marquee-item.d.ts +13 -0
  72. package/dist/sections/marquee-section/marquee-section.d.ts +19 -0
  73. package/dist/sections/marquee-section/marquee-section.host.d.ts +10 -0
  74. package/dist/sections/marquee-section/types/data.d.ts +18 -0
  75. package/dist/sections/marquee-section/types/labels.d.ts +7 -0
  76. package/dist/sections/marquee-section/types/view.d.ts +17 -0
  77. package/dist/{components/os-leaderboard-casino/sections → sections}/prize-section/prize-section.d.ts +7 -4
  78. package/dist/{components/os-leaderboard-casino/sections → sections}/prize-section/prize-section.host.d.ts +4 -4
  79. package/dist/sections/prize-section/types/data.d.ts +7 -0
  80. package/dist/sections/prize-section/types/events.d.ts +12 -0
  81. package/dist/sections/prize-section/types/labels.d.ts +11 -0
  82. package/dist/sections/prize-section/types/view.d.ts +12 -0
  83. package/dist/{components/os-leaderboard-casino/sections → sections}/stats-section/stats-section.d.ts +9 -6
  84. package/dist/sections/stats-section/stats-section.host.d.ts +15 -0
  85. package/dist/sections/stats-section/types/data.d.ts +12 -0
  86. package/dist/sections/stats-section/types/labels.d.ts +6 -0
  87. package/dist/sections/stats-section/types/view.d.ts +8 -0
  88. package/dist/{components/os-leaderboard-casino/sections → sections}/table-section/table-section.d.ts +17 -7
  89. package/dist/sections/table-section/table-section.host.d.ts +22 -0
  90. package/dist/sections/table-section/types/data.d.ts +24 -0
  91. package/dist/sections/table-section/types/events.d.ts +9 -0
  92. package/dist/sections/table-section/types/labels.d.ts +16 -0
  93. package/dist/sections/table-section/types/view.d.ts +20 -0
  94. package/dist/store/casino.context.d.ts +5 -0
  95. package/dist/store/casino.store.d.ts +37 -0
  96. package/dist/store/consume-store.d.ts +781 -0
  97. package/dist/store/index.d.ts +3 -0
  98. package/dist/types/config.d.ts +6 -0
  99. package/dist/types/data.d.ts +49 -0
  100. package/dist/types/host.d.ts +24 -0
  101. package/dist/types/index.d.ts +35 -0
  102. package/dist/types/labels.d.ts +43 -0
  103. package/dist/types/public.d.ts +23 -0
  104. package/dist/types/status.d.ts +1 -0
  105. package/dist/types/theme.d.ts +1 -0
  106. package/dist/utils/boolean-attr.d.ts +8 -0
  107. package/dist/utils/current-user.d.ts +9 -0
  108. package/dist/utils/data-resolve.d.ts +6 -0
  109. package/dist/utils/demo-countdown.d.ts +2 -0
  110. package/dist/utils/format.d.ts +10 -0
  111. package/dist/utils/image-fallback.d.ts +11 -0
  112. package/dist/utils/index.d.ts +12 -0
  113. package/dist/{components/os-leaderboard-casino/theme/vip-mark.d.ts → utils/player-name.d.ts} +1 -3
  114. package/dist/utils/prize-resolve.d.ts +10 -0
  115. package/dist/utils/safe-href.d.ts +2 -0
  116. package/dist/utils/safe-html.d.ts +6 -0
  117. package/dist/utils/status.d.ts +10 -0
  118. package/dist/utils/svg.d.ts +5 -0
  119. package/index.d.ts +5 -0
  120. package/index.js +3 -0
  121. package/os-leaderboard-casino-pro.d.ts +1 -0
  122. package/os-leaderboard-casino-pro.js +1 -0
  123. package/package.json +33 -50
  124. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json +0 -9
  125. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js +0 -13
  126. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js.map +0 -1
  127. package/dist/components/os-leaderboard-casino/assets/fallback/config.json +0 -8
  128. package/dist/components/os-leaderboard-casino/assets/fallback/defaults/glam-sections.json +0 -564
  129. package/dist/components/os-leaderboard-casino/assets/fallback/fonts.json +0 -3
  130. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json +0 -5
  131. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js +0 -12
  132. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js.map +0 -1
  133. package/dist/components/os-leaderboard-casino/assets/fallback/manifest.json +0 -6
  134. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json +0 -38
  135. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js +0 -10
  136. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js.map +0 -1
  137. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json +0 -603
  138. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js +0 -8
  139. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js.map +0 -1
  140. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json +0 -68
  141. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js +0 -72
  142. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js.map +0 -1
  143. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg +0 -7
  144. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js +0 -12
  145. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js.map +0 -1
  146. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js +0 -12
  147. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js.map +0 -1
  148. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg +0 -5
  149. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js +0 -10
  150. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js.map +0 -1
  151. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg +0 -10
  152. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js +0 -15
  153. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js.map +0 -1
  154. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg +0 -5
  155. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js +0 -10
  156. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js.map +0 -1
  157. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg +0 -5
  158. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js +0 -10
  159. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js.map +0 -1
  160. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg +0 -8
  161. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js +0 -13
  162. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js.map +0 -1
  163. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg +0 -4
  164. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js +0 -9
  165. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js.map +0 -1
  166. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js +0 -10
  167. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js.map +0 -1
  168. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js +0 -10
  169. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js.map +0 -1
  170. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js +0 -9
  171. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js.map +0 -1
  172. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js +0 -9
  173. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js.map +0 -1
  174. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js +0 -9
  175. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js.map +0 -1
  176. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg +0 -7
  177. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js +0 -12
  178. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js.map +0 -1
  179. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js +0 -10
  180. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js.map +0 -1
  181. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js +0 -9
  182. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js.map +0 -1
  183. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js +0 -10
  184. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js.map +0 -1
  185. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js +0 -9
  186. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js.map +0 -1
  187. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js +0 -10
  188. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js.map +0 -1
  189. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js +0 -10
  190. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js.map +0 -1
  191. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js +0 -5
  192. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js.map +0 -1
  193. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js +0 -5
  194. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js.map +0 -1
  195. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js +0 -5
  196. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js.map +0 -1
  197. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png +0 -0
  198. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js +0 -5
  199. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js.map +0 -1
  200. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js +0 -5
  201. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js.map +0 -1
  202. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js +0 -5
  203. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js.map +0 -1
  204. package/dist/components/os-leaderboard-casino/assets/images/logo.png +0 -0
  205. package/dist/components/os-leaderboard-casino/constants/defaults.d.ts +0 -8
  206. package/dist/components/os-leaderboard-casino/constants/defaults.js +0 -9
  207. package/dist/components/os-leaderboard-casino/constants/defaults.js.map +0 -1
  208. package/dist/components/os-leaderboard-casino/constants/tags.js +0 -17
  209. package/dist/components/os-leaderboard-casino/constants/tags.js.map +0 -1
  210. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.d.ts +0 -35
  211. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.host.d.ts +0 -13
  212. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js +0 -22
  213. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js.map +0 -1
  214. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js +0 -154
  215. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js.map +0 -1
  216. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js +0 -5
  217. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js.map +0 -1
  218. package/dist/components/os-leaderboard-casino/index.d.ts +0 -36
  219. package/dist/components/os-leaderboard-casino/index.js +0 -39
  220. package/dist/components/os-leaderboard-casino/index.js.map +0 -1
  221. package/dist/components/os-leaderboard-casino/integration/assemble-assets.d.ts +0 -21
  222. package/dist/components/os-leaderboard-casino/integration/assemble-assets.js +0 -48
  223. package/dist/components/os-leaderboard-casino/integration/assemble-assets.js.map +0 -1
  224. package/dist/components/os-leaderboard-casino/integration/assets-context.d.ts +0 -26
  225. package/dist/components/os-leaderboard-casino/integration/assets-context.js +0 -69
  226. package/dist/components/os-leaderboard-casino/integration/assets-context.js.map +0 -1
  227. package/dist/components/os-leaderboard-casino/integration/defaults-glam.d.ts +0 -14
  228. package/dist/components/os-leaderboard-casino/integration/defaults-new-money.d.ts +0 -3
  229. package/dist/components/os-leaderboard-casino/integration/index.d.ts +0 -5
  230. package/dist/components/os-leaderboard-casino/integration/labels.d.ts +0 -1
  231. package/dist/components/os-leaderboard-casino/integration/load-assets.d.ts +0 -9
  232. package/dist/components/os-leaderboard-casino/integration/load-assets.js +0 -22
  233. package/dist/components/os-leaderboard-casino/integration/load-assets.js.map +0 -1
  234. package/dist/components/os-leaderboard-casino/integration/presets.d.ts +0 -1
  235. package/dist/components/os-leaderboard-casino/integration/resolve-input.d.ts +0 -20
  236. package/dist/components/os-leaderboard-casino/integration/resolve-input.js +0 -115
  237. package/dist/components/os-leaderboard-casino/integration/resolve-input.js.map +0 -1
  238. package/dist/components/os-leaderboard-casino/integration/themes.d.ts +0 -1
  239. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js +0 -48
  240. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map +0 -1
  241. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js +0 -69
  242. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js.map +0 -1
  243. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js +0 -5
  244. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js.map +0 -1
  245. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.d.ts +0 -5
  246. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js +0 -118
  247. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js.map +0 -1
  248. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.d.ts +0 -16
  249. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.host.d.ts +0 -8
  250. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js +0 -93
  251. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js.map +0 -1
  252. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js +0 -5
  253. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js.map +0 -1
  254. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.host.d.ts +0 -3
  255. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js +0 -20
  256. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js.map +0 -1
  257. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js +0 -41
  258. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js.map +0 -1
  259. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js +0 -5
  260. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js.map +0 -1
  261. package/dist/components/os-leaderboard-casino/sections/games-section/components/game-images.d.ts +0 -1
  262. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.host.d.ts +0 -7
  263. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js +0 -17
  264. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js.map +0 -1
  265. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js +0 -88
  266. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js.map +0 -1
  267. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js +0 -5
  268. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js.map +0 -1
  269. package/dist/components/os-leaderboard-casino/sections/header-section/header-section.d.ts +0 -12
  270. package/dist/components/os-leaderboard-casino/sections/header-section/header-section.host.d.ts +0 -8
  271. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.host.d.ts +0 -20
  272. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js +0 -36
  273. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js.map +0 -1
  274. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js +0 -192
  275. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js.map +0 -1
  276. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js +0 -5
  277. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js.map +0 -1
  278. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js +0 -35
  279. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js.map +0 -1
  280. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js +0 -78
  281. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js.map +0 -1
  282. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js +0 -5
  283. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js.map +0 -1
  284. package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.d.ts +0 -13
  285. package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.host.d.ts +0 -8
  286. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.d.ts +0 -3
  287. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js +0 -8
  288. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js.map +0 -1
  289. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.d.ts +0 -14
  290. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js +0 -57
  291. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js.map +0 -1
  292. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.d.ts +0 -42
  293. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.host.d.ts +0 -8
  294. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js +0 -19
  295. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js.map +0 -1
  296. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js +0 -290
  297. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js.map +0 -1
  298. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js +0 -5
  299. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js.map +0 -1
  300. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.d.ts +0 -6
  301. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js +0 -16
  302. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js.map +0 -1
  303. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.d.ts +0 -16
  304. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js +0 -73
  305. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js.map +0 -1
  306. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js +0 -5
  307. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js.map +0 -1
  308. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js +0 -20
  309. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js.map +0 -1
  310. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js +0 -137
  311. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js.map +0 -1
  312. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js +0 -5
  313. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js.map +0 -1
  314. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-band/stat-band.d.ts +0 -17
  315. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-card/stat-card.d.ts +0 -15
  316. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-chip/stat-chip.d.ts +0 -17
  317. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-gauge/stat-gauge.d.ts +0 -14
  318. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.d.ts +0 -5
  319. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js +0 -11
  320. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js.map +0 -1
  321. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-meter/stat-meter.d.ts +0 -17
  322. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.d.ts +0 -17
  323. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js +0 -63
  324. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js.map +0 -1
  325. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js +0 -5
  326. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js.map +0 -1
  327. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.host.d.ts +0 -13
  328. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js +0 -36
  329. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js.map +0 -1
  330. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js +0 -71
  331. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js.map +0 -1
  332. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js +0 -5
  333. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js.map +0 -1
  334. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.host.d.ts +0 -15
  335. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js +0 -40
  336. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js.map +0 -1
  337. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js +0 -185
  338. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js.map +0 -1
  339. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js +0 -5
  340. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js.map +0 -1
  341. package/dist/components/os-leaderboard-casino/services/adapter.service.d.ts +0 -11
  342. package/dist/components/os-leaderboard-casino/services/adapter.service.js +0 -49
  343. package/dist/components/os-leaderboard-casino/services/adapter.service.js.map +0 -1
  344. package/dist/components/os-leaderboard-casino/services/icon.service.d.ts +0 -28
  345. package/dist/components/os-leaderboard-casino/services/icon.service.js +0 -194
  346. package/dist/components/os-leaderboard-casino/services/icon.service.js.map +0 -1
  347. package/dist/components/os-leaderboard-casino/services/index.d.ts +0 -2
  348. package/dist/components/os-leaderboard-casino/theme/background.d.ts +0 -4
  349. package/dist/components/os-leaderboard-casino/theme/background.js +0 -22
  350. package/dist/components/os-leaderboard-casino/theme/background.js.map +0 -1
  351. package/dist/components/os-leaderboard-casino/theme/index.d.ts +0 -3
  352. package/dist/components/os-leaderboard-casino/theme/prize-icons.d.ts +0 -1
  353. package/dist/components/os-leaderboard-casino/theme/prize-resolve.d.ts +0 -5
  354. package/dist/components/os-leaderboard-casino/theme/prize-resolve.js +0 -11
  355. package/dist/components/os-leaderboard-casino/theme/prize-resolve.js.map +0 -1
  356. package/dist/components/os-leaderboard-casino/theme/styles.d.ts +0 -9
  357. package/dist/components/os-leaderboard-casino/theme/styles.js +0 -179
  358. package/dist/components/os-leaderboard-casino/theme/styles.js.map +0 -1
  359. package/dist/components/os-leaderboard-casino/theme/vip-icons.d.ts +0 -2
  360. package/dist/components/os-leaderboard-casino/theme/vip-icons.js +0 -6
  361. package/dist/components/os-leaderboard-casino/theme/vip-icons.js.map +0 -1
  362. package/dist/components/os-leaderboard-casino/theme/vip-mark.js +0 -22
  363. package/dist/components/os-leaderboard-casino/theme/vip-mark.js.map +0 -1
  364. package/dist/components/os-leaderboard-casino/types/assets.d.ts +0 -42
  365. package/dist/components/os-leaderboard-casino/types/data.d.ts +0 -106
  366. package/dist/components/os-leaderboard-casino/types/data.js +0 -7
  367. package/dist/components/os-leaderboard-casino/types/data.js.map +0 -1
  368. package/dist/components/os-leaderboard-casino/types/events.d.ts +0 -18
  369. package/dist/components/os-leaderboard-casino/types/events.js +0 -8
  370. package/dist/components/os-leaderboard-casino/types/events.js.map +0 -1
  371. package/dist/components/os-leaderboard-casino/types/icons.d.ts +0 -18
  372. package/dist/components/os-leaderboard-casino/types/input.d.ts +0 -79
  373. package/dist/components/os-leaderboard-casino/types/ledger.d.ts +0 -67
  374. package/dist/components/os-leaderboard-casino/types/sections.d.ts +0 -200
  375. package/dist/components/os-leaderboard-casino/types/state.d.ts +0 -69
  376. package/dist/components/os-leaderboard-casino/types/state.js +0 -12
  377. package/dist/components/os-leaderboard-casino/types/state.js.map +0 -1
  378. package/dist/components/os-leaderboard-casino/utils/demo-countdown.d.ts +0 -7
  379. package/dist/components/os-leaderboard-casino/utils/demo-countdown.js +0 -22
  380. package/dist/components/os-leaderboard-casino/utils/demo-countdown.js.map +0 -1
  381. package/dist/shared/lib/lit/component.js +0 -8
  382. package/dist/shared/lib/lit/component.js.map +0 -1
  383. package/dist/shared/lib/lit/safe-custom-element.js +0 -7
  384. package/dist/shared/lib/lit/safe-custom-element.js.map +0 -1
  385. package/dist/shared/lib/lit/scss.js +0 -8
  386. package/dist/shared/lib/lit/scss.js.map +0 -1
  387. package/dist/shared/vendor/keen-slider-keen-slider.es.js +0 -538
  388. package/dist/shared/vendor/keen-slider-keen-slider.es.js.map +0 -1
  389. package/dist/shared/vendor/lit-element-lit-element.js +0 -45
  390. package/dist/shared/vendor/lit-element-lit-element.js.map +0 -1
  391. package/dist/shared/vendor/lit-html-directive-helpers.js +0 -32
  392. package/dist/shared/vendor/lit-html-directive-helpers.js.map +0 -1
  393. package/dist/shared/vendor/lit-html-directive.js +0 -23
  394. package/dist/shared/vendor/lit-html-directive.js.map +0 -1
  395. package/dist/shared/vendor/lit-html-keyed.js +0 -18
  396. package/dist/shared/vendor/lit-html-keyed.js.map +0 -1
  397. package/dist/shared/vendor/lit-html-lit-html.js +0 -234
  398. package/dist/shared/vendor/lit-html-lit-html.js.map +0 -1
  399. package/dist/shared/vendor/lit-html-repeat.js +0 -57
  400. package/dist/shared/vendor/lit-html-repeat.js.map +0 -1
  401. package/dist/shared/vendor/lit-html-unsafe-html.js +0 -21
  402. package/dist/shared/vendor/lit-html-unsafe-html.js.map +0 -1
  403. package/dist/shared/vendor/lit-html-unsafe-svg.js +0 -10
  404. package/dist/shared/vendor/lit-html-unsafe-svg.js.map +0 -1
  405. package/dist/shared/vendor/lit-reactive-element-base.js +0 -5
  406. package/dist/shared/vendor/lit-reactive-element-base.js.map +0 -1
  407. package/dist/shared/vendor/lit-reactive-element-css-tag.js +0 -46
  408. package/dist/shared/vendor/lit-reactive-element-css-tag.js.map +0 -1
  409. package/dist/shared/vendor/lit-reactive-element-property.js +0 -33
  410. package/dist/shared/vendor/lit-reactive-element-property.js.map +0 -1
  411. package/dist/shared/vendor/lit-reactive-element-query.js +0 -13
  412. package/dist/shared/vendor/lit-reactive-element-query.js.map +0 -1
  413. package/dist/shared/vendor/lit-reactive-element-reactive-element.js +0 -226
  414. package/dist/shared/vendor/lit-reactive-element-reactive-element.js.map +0 -1
  415. package/dist/shared/vendor/lit-reactive-element-state.js +0 -8
  416. package/dist/shared/vendor/lit-reactive-element-state.js.map +0 -1
  417. /package/dist/{shared → .shared}/lib/lit/component.d.ts +0 -0
  418. /package/dist/{shared → .shared}/lib/lit/safe-custom-element.d.ts +0 -0
  419. /package/dist/{shared → .shared}/lib/lit/scss.d.ts +0 -0
  420. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/cards.png +0 -0
  421. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/chips.png +0 -0
  422. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/dice.png +0 -0
  423. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/roulette.png +0 -0
  424. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/slot-machine.png +0 -0
  425. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/prize.default.svg +0 -0
  426. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/stat.gift.svg +0 -0
  427. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/stat.users.svg +0 -0
  428. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/table.rank-down.svg +0 -0
  429. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/table.rank-neutral.svg +0 -0
  430. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/table.rank-up.svg +0 -0
  431. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.bag.svg +0 -0
  432. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.bolt.svg +0 -0
  433. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.coin.svg +0 -0
  434. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.fire.svg +0 -0
  435. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.gem.svg +0 -0
  436. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.trophy.svg +0 -0
@@ -1,36 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { html as a } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import "../../../../shared/vendor/lit-element-lit-element.js";
4
- function s(e) {
5
- return a`<section class="strip">
6
- <os-leaderboard-casino-stat-rail
7
- accent="participants"
8
- icon="users"
9
- segment="${e.participantsSegment}"
10
- value="${e.participantsLabel}"
11
- label="Participants"
12
- ></os-leaderboard-casino-stat-rail>
13
- <os-leaderboard-casino-stat-rail
14
- ?hidden=${!e.showPrizes}
15
- accent="prizes"
16
- icon="gift"
17
- segment="${e.prizesSegment}"
18
- value="${e.prizesLabel}"
19
- label="Prize Tiers"
20
- ></os-leaderboard-casino-stat-rail>
21
- <os-leaderboard-casino-stat-rail
22
- ?hidden=${!e.showBiggestWin}
23
- accent="biggestWin"
24
- icon="trophy"
25
- segment="${e.biggestWinSegment}"
26
- value="${e.biggestWinLabel}"
27
- label="Biggest Win"
28
- compact
29
- ></os-leaderboard-casino-stat-rail>
30
- </section>
31
- `;
32
- }
33
- export {
34
- s as default
35
- };
36
- //# sourceMappingURL=stats-section.html.js.map
@@ -1 +0,0 @@
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;AAAAA;AAAAA;AAAAA;AAAAA,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;"}
@@ -1,71 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { nothing as g } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import { LitElement as p } from "../../../../shared/vendor/lit-element-lit-element.js";
4
- import { property as c } from "../../../../shared/vendor/lit-reactive-element-property.js";
5
- import { Component as l } from "../../../../shared/lib/lit/component.js";
6
- import { scss as u } from "../../../../shared/lib/lit/scss.js";
7
- import { OS_LEADERBOARD_CASINO_STATS as f } from "../../constants/tags.js";
8
- import { osLeaderboardCasinoTheme as h } from "../../theme/styles.js";
9
- import "../../../../shared/vendor/lit-html-unsafe-svg.js";
10
- import "./components/stat-rail/stat-rail.js";
11
- import b from "./stats-section.html.js";
12
- import S from "./stats-section.scss.js";
13
- var L = Object.defineProperty, d = Object.getOwnPropertyDescriptor, a = (r, e, o, i) => {
14
- for (var t = i > 1 ? void 0 : i ? d(e, o) : e, n = r.length - 1, m; n >= 0; n--)
15
- (m = r[n]) && (t = (i ? m(e, o, t) : m(t)) || t);
16
- return i && t && L(e, o, t), t;
17
- };
18
- function P(r, e = "USD") {
19
- try {
20
- return new Intl.NumberFormat("en-US", {
21
- style: "currency",
22
- currency: e,
23
- maximumFractionDigits: 0
24
- }).format(r);
25
- } catch {
26
- return r.toLocaleString();
27
- }
28
- }
29
- let s = class extends p {
30
- get participantsLabel() {
31
- return this.section.totalParticipants.toLocaleString();
32
- }
33
- get showPrizes() {
34
- return this.section.totalPrizes != null;
35
- }
36
- get prizesLabel() {
37
- return (this.section.totalPrizes ?? 0).toLocaleString();
38
- }
39
- get showBiggestWin() {
40
- return this.section.biggestWin != null;
41
- }
42
- get biggestWinLabel() {
43
- return P(
44
- this.section.biggestWin ?? 0,
45
- this.section.biggestWinCurrency ?? "USD"
46
- );
47
- }
48
- get participantsSegment() {
49
- return !this.showPrizes && !this.showBiggestWin ? "solo" : "start";
50
- }
51
- get prizesSegment() {
52
- return this.showBiggestWin ? "middle" : "end";
53
- }
54
- get biggestWinSegment() {
55
- return "end";
56
- }
57
- render() {
58
- return this.section ? b(this) : g;
59
- }
60
- };
61
- s.styles = [h, u(S)];
62
- a([
63
- c({ attribute: !1 })
64
- ], s.prototype, "section", 2);
65
- s = a([
66
- l({ selector: f })
67
- ], s);
68
- export {
69
- s as OsLeaderboardCasinoStats
70
- };
71
- //# sourceMappingURL=stats-section.js.map
@@ -1 +0,0 @@
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;AAAAA,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;"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"stats-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,15 +0,0 @@
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
- }
@@ -1,40 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { html as s } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import "../../../../shared/vendor/lit-element-lit-element.js";
4
- function c(a) {
5
- return s`<section>
6
- <div class="section-header">
7
- <h2 class="section-title">${a.sectionTitle}</h2>
8
- </div>
9
-
10
- <div class="card-shell">
11
- <div class="card-accent" aria-hidden="true"></div>
12
- <div class="card">
13
- <div class="table-scroll">
14
- <div class="table-head">
15
- <span class="col-rank">Rank</span>
16
- <span class="col-player">Player</span>
17
- <span class="col-games">Games</span>
18
- <span class="col-win-rate">Win rate</span>
19
- <span class="col-bet">Total bet</span>
20
- <span class="col-points">Points</span>
21
- <span class="col-rank-change">Change</span>
22
- </div>
23
- <div class="empty" ?hidden=${a.hasPlayers}>${a.emptyMessage}</div>
24
- ${a.renderPlayers()}
25
- <div class="divider" ?hidden=${!a.showPinned}>Your position</div>
26
- ${a.renderPinnedRow()}
27
- </div>
28
- </div>
29
- </div>
30
-
31
- <button type="button" class="cta" @click=${a.onOpenClick}>
32
- ${a.ctaLabel}
33
- </button>
34
- </section>
35
- `;
36
- }
37
- export {
38
- c as default
39
- };
40
- //# sourceMappingURL=table-section.html.js.map
@@ -1 +0,0 @@
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;AAAAA;AAAAA,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;"}
@@ -1,185 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { html as r, nothing as i } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import { LitElement as f } from "../../../../shared/vendor/lit-element-lit-element.js";
4
- import { property as d } from "../../../../shared/vendor/lit-reactive-element-property.js";
5
- import { unsafeSVG as c } from "../../../../shared/vendor/lit-html-unsafe-svg.js";
6
- import v from "../../assets/icons/table.rank-up.svg.js";
7
- import b from "../../assets/icons/table.rank-down.svg.js";
8
- import g from "../../assets/icons/table.rank-neutral.svg.js";
9
- import { Component as k } from "../../../../shared/lib/lit/component.js";
10
- import { scss as y } from "../../../../shared/lib/lit/scss.js";
11
- import { DEFAULT_TABLE_TITLE as $, DEFAULT_CTA_LABEL_FINISHED as _, DEFAULT_CTA_LABEL as w } from "../../constants/defaults.js";
12
- import { OS_LEADERBOARD_CASINO_TABLE as P } from "../../constants/tags.js";
13
- import { osLeaderboardCasinoTheme as S } from "../../theme/styles.js";
14
- import { renderPlayerName as C } from "../../theme/vip-mark.js";
15
- import { labelText as R } from "../../types/data.js";
16
- import { prizeForRank as L, podiumVariantForRank as E } from "../../theme/prize-resolve.js";
17
- import { OS_LEADERBOARD_CASINO_OPEN as O } from "../../types/events.js";
18
- import "../prize-section/components/medal-coin/medal-coin.js";
19
- import A from "./table-section.html.js";
20
- import z from "./table-section.scss.js";
21
- var D = Object.defineProperty, T = Object.getOwnPropertyDescriptor, p = (e, s, t, o) => {
22
- for (var n = o > 1 ? void 0 : o ? T(s, t) : s, l = e.length - 1, u; l >= 0; l--)
23
- (u = e[l]) && (n = (o ? u(s, t, n) : u(n)) || n);
24
- return o && n && D(s, t, n), n;
25
- };
26
- function U(e) {
27
- return new Intl.NumberFormat("en-US", {
28
- style: "currency",
29
- currency: "USD",
30
- maximumFractionDigits: 0
31
- }).format(e);
32
- }
33
- function B(e) {
34
- return e != null ? e.toLocaleString() : "—";
35
- }
36
- function m(e) {
37
- return e.replace("<svg ", '<svg viewBox="0 0 512 512" ');
38
- }
39
- const x = m(v), N = m(b), h = m(g);
40
- let a = class extends f {
41
- constructor() {
42
- super(...arguments), this.uuid = "", this.finished = !1;
43
- }
44
- connectedCallback() {
45
- super.connectedCallback(), this._resizeObserver = new ResizeObserver(() => this._syncStickyWidth()), this._resizeObserver.observe(this);
46
- }
47
- disconnectedCallback() {
48
- super.disconnectedCallback(), this._resizeObserver?.disconnect();
49
- }
50
- updated() {
51
- this._syncStickyWidth();
52
- }
53
- _syncStickyWidth() {
54
- const e = this.shadowRoot?.querySelector(".card"), s = this.shadowRoot?.querySelector(".col-player");
55
- e && this.style.setProperty(
56
- "--table-scrollport-width",
57
- `${e.clientWidth}px`
58
- ), s && this.style.setProperty(
59
- "--sticky-player-width",
60
- `${s.offsetWidth}px`
61
- );
62
- }
63
- get sectionTitle() {
64
- return $;
65
- }
66
- get ctaLabel() {
67
- return this.section?.ctaLabel ?? (this.finished ? _ : w);
68
- }
69
- get visiblePlayers() {
70
- return this.section?.topPlayers ?? [];
71
- }
72
- get pinnedCurrentUser() {
73
- const e = this.section?.currentUser;
74
- return !e || !("you" in e) || (this.section?.topPlayers ?? []).some((t) => t.you) ? void 0 : e;
75
- }
76
- get hasPlayers() {
77
- return this.visiblePlayers.length > 0;
78
- }
79
- get emptyMessage() {
80
- return "No players yet.";
81
- }
82
- get showPinned() {
83
- return this.pinnedCurrentUser != null;
84
- }
85
- onOpenClick() {
86
- this.dispatchEvent(
87
- new CustomEvent(O, {
88
- detail: { uuid: this.uuid },
89
- bubbles: !0,
90
- composed: !0
91
- })
92
- );
93
- }
94
- resolvePlayerPrize(e) {
95
- const s = this.section?.prizes ?? [];
96
- return L(s, e.rank) ?? e.prize;
97
- }
98
- renderRankChange(e) {
99
- if (e.previousRank == null)
100
- return r`<span class="chip flat"
101
- >${c(h)}</span
102
- >`;
103
- const s = e.previousRank - e.rank;
104
- return s === 0 ? r`<span class="chip flat"
105
- >${c(h)}</span
106
- >` : s > 0 ? r`<span class="chip up"
107
- >${c(x)}${s}</span
108
- >` : r`<span class="chip down"
109
- >${c(N)}${Math.abs(s)}</span
110
- >`;
111
- }
112
- avatarUrl(e) {
113
- return `https://api.dicebear.com/9.x/lorelei/svg?seed=${encodeURIComponent(
114
- e
115
- )}`;
116
- }
117
- renderRow(e) {
118
- 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));
119
- return r`
120
- <div
121
- class="row ${e.you ? "you" : ""} ${e.vip ? "vip" : ""} ${s}"
122
- >
123
- ${e.rank <= 3 && !e.you ? r`<span class="rank col-rank"
124
- ><os-leaderboard-casino-medal-coin
125
- variant=${E(e.rank)}
126
- rank=${e.rank}
127
- size=${30}
128
- ></os-leaderboard-casino-medal-coin
129
- ></span>` : r`<span class="rank col-rank">#${e.rank}</span>`}
130
- <div class="player col-player">
131
- <span class="avatar">
132
- <img src=${this.avatarUrl(e.username)} alt="" loading="lazy" />
133
- </span>
134
- <span class="who">
135
- <span class="username">
136
- ${C(e.username, {
137
- vip: e.vip,
138
- suffix: e.you ? r`<span class="you-tag">You</span>` : i
139
- })}
140
- </span>
141
- ${t ? r`<span class="prize-sub"
142
- ><span class="prize-label"
143
- >${R(t.label)}</span
144
- ></span
145
- >` : i}
146
- </span>
147
- </div>
148
- <span class="col-games">${B(e.gamesPlayed)}</span>
149
- <span class="col-win-rate"
150
- >${e.winRate != null ? `${e.winRate}%` : "—"}</span
151
- >
152
- <span class="col-bet">${U(o)}</span>
153
- <span class="col-points"><b>${e.points.toLocaleString()}</b></span>
154
- <span class="col-rank-change">${this.renderRankChange(e)}</span>
155
- </div>
156
- `;
157
- }
158
- renderPlayers() {
159
- return r`${this.visiblePlayers.map((e) => this.renderRow(e))}`;
160
- }
161
- renderPinnedRow() {
162
- const e = this.pinnedCurrentUser;
163
- return e ? this.renderRow(e) : i;
164
- }
165
- render() {
166
- return this.section ? A(this) : i;
167
- }
168
- };
169
- a.styles = [S, y(z)];
170
- p([
171
- d({ attribute: !1 })
172
- ], a.prototype, "section", 2);
173
- p([
174
- d({ type: String })
175
- ], a.prototype, "uuid", 2);
176
- p([
177
- d({ type: Boolean })
178
- ], a.prototype, "finished", 2);
179
- a = p([
180
- k({ selector: P })
181
- ], a);
182
- export {
183
- a as OsLeaderboardCasinoTable
184
- };
185
- //# sourceMappingURL=table-section.js.map
@@ -1 +0,0 @@
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":"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"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,11 +0,0 @@
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;
@@ -1,49 +0,0 @@
1
- class i {
2
- toLayout(a) {
3
- return this.buildLayout(a.config, a.sections);
4
- }
5
- applyThemeVars(a, e) {
6
- const r = e.config.themeVars ?? {};
7
- for (const t of Object.keys(r))
8
- a.style.removeProperty(t);
9
- for (const [t, l] of Object.entries(r))
10
- a.style.setProperty(t, l);
11
- }
12
- buildLayout(a, e) {
13
- const r = {
14
- mainOrder: this.mainOrder(a)
15
- };
16
- if (this.isEnabled(a, "marquee") && e.marquee && (r.marquee = e.marquee), this.isEnabled(a, "events") && e.events && (r.eventsBanner = e.events), this.isEnabled(a, "hero") && e.hero) {
17
- const { endTs: t, ...l } = e.hero;
18
- r.hero = {
19
- ...l,
20
- ...t != null ? { endTs: String(t) } : {}
21
- };
22
- }
23
- return this.isEnabled(a, "prize") && e.prize && (r.prize = {
24
- title: e.prize.title,
25
- prizePackage: e.prize.prizePackage,
26
- allocationStrategy: e.prize.allocationStrategy
27
- }), this.isEnabled(a, "stats") && e.stats && (r.stats = e.stats), this.isEnabled(a, "games") && e.games && (r.games = {
28
- title: e.games.title,
29
- games: e.games.games ?? e.games.items ?? []
30
- }), this.isEnabled(a, "climb") && e.climb && (r.climb = e.climb), this.isEnabled(a, "table") && e.table?.mode === "preview" && (r.table = {
31
- topPlayers: e.table.topPlayers ?? [],
32
- currentUser: e.table.currentUser,
33
- ctaLabel: e.table.ctaLabel ?? a.labels?.cta,
34
- prizes: e.prize?.prizePackage?.prizes
35
- }), this.isEnabled(a, "footer") && e.footer && (r.footer = e.footer), this.isEnabled(a, "legals") && e.legals && (r.legals = e.legals), r;
36
- }
37
- isEnabled(a, e) {
38
- return a.enabled.includes(e);
39
- }
40
- mainOrder(a) {
41
- return (a.mainOrder ?? ["prize", "stats", "games", "climb", "table"]).filter((r) => this.isEnabled(a, r));
42
- }
43
- }
44
- const m = new i();
45
- export {
46
- i as AdapterService,
47
- m as adapterService
48
- };
49
- //# sourceMappingURL=adapter.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.service.js","sources":["../../../../src/components/os-leaderboard-casino/services/adapter.service.ts"],"sourcesContent":["import type { OsLeaderboardCasinoLayout } from '@os-leaderboard-casino/types/sections.js';\nimport type {\n OsLeaderboardCasinoConfig,\n OsLeaderboardCasinoMainSectionId,\n OsLeaderboardCasinoSectionData,\n OsLeaderboardCasinoSectionId,\n OsLeaderboardCasinoState,\n} from '../types/state.js';\n\n/** Maps facade state into the glam layout shell. */\nexport class AdapterService {\n toLayout(state: OsLeaderboardCasinoState): OsLeaderboardCasinoLayout {\n return this.buildLayout(state.config, state.sections);\n }\n\n applyThemeVars(\n host: HTMLElement,\n state: OsLeaderboardCasinoState,\n ): void {\n const vars = state.config.themeVars ?? {};\n for (const name of Object.keys(vars)) {\n host.style.removeProperty(name);\n }\n for (const [name, value] of Object.entries(vars)) {\n host.style.setProperty(name, value);\n }\n }\n\n private buildLayout(\n config: OsLeaderboardCasinoConfig,\n sections: OsLeaderboardCasinoSectionData,\n ): OsLeaderboardCasinoLayout {\n const layout: OsLeaderboardCasinoLayout = {\n mainOrder: this.mainOrder(config),\n };\n\n if (this.isEnabled(config, 'marquee') && sections.marquee) {\n layout.marquee = sections.marquee;\n }\n if (this.isEnabled(config, 'events') && sections.events) {\n layout.eventsBanner = sections.events;\n }\n if (this.isEnabled(config, 'hero') && sections.hero) {\n const { endTs, ...hero } = sections.hero;\n layout.hero = {\n ...hero,\n ...(endTs != null ? { endTs: String(endTs) } : {}),\n };\n }\n if (this.isEnabled(config, 'prize') && sections.prize) {\n layout.prize = {\n title: sections.prize.title,\n prizePackage: sections.prize.prizePackage,\n allocationStrategy: sections.prize.allocationStrategy,\n };\n }\n if (this.isEnabled(config, 'stats') && sections.stats) {\n layout.stats = sections.stats;\n }\n if (this.isEnabled(config, 'games') && sections.games) {\n layout.games = {\n title: sections.games.title,\n games: sections.games.games ?? sections.games.items ?? [],\n };\n }\n if (this.isEnabled(config, 'climb') && sections.climb) {\n layout.climb = sections.climb;\n }\n if (this.isEnabled(config, 'table') && sections.table?.mode === 'preview') {\n layout.table = {\n topPlayers: sections.table.topPlayers ?? [],\n currentUser: sections.table.currentUser,\n ctaLabel: sections.table.ctaLabel ?? config.labels?.cta,\n prizes: sections.prize?.prizePackage?.prizes,\n };\n }\n if (this.isEnabled(config, 'footer') && sections.footer) {\n layout.footer = sections.footer;\n }\n if (this.isEnabled(config, 'legals') && sections.legals) {\n layout.legals = sections.legals;\n }\n\n return layout;\n }\n\n private isEnabled(\n config: OsLeaderboardCasinoConfig,\n id: OsLeaderboardCasinoSectionId,\n ): boolean {\n return config.enabled.includes(id);\n }\n\n private mainOrder(\n config: OsLeaderboardCasinoConfig,\n ): OsLeaderboardCasinoMainSectionId[] {\n const order =\n config.mainOrder ?? ['prize', 'stats', 'games', 'climb', 'table'];\n return order.filter((id) => this.isEnabled(config, id));\n }\n}\n\nexport const adapterService = new AdapterService();\n"],"names":["AdapterService","state","host","vars","name","value","config","sections","layout","endTs","hero","id","adapterService"],"mappings":"AAUO,MAAMA,EAAe;AAAA,EAC1B,SAASC,GAA4D;AACnE,WAAO,KAAK,YAAYA,EAAM,QAAQA,EAAM,QAAQ;AAAA,EACtD;AAAA,EAEA,eACEC,GACAD,GACM;AACN,UAAME,IAAOF,EAAM,OAAO,aAAa,CAAA;AACvC,eAAWG,KAAQ,OAAO,KAAKD,CAAI;AACjC,MAAAD,EAAK,MAAM,eAAeE,CAAI;AAEhC,eAAW,CAACA,GAAMC,CAAK,KAAK,OAAO,QAAQF,CAAI;AAC7C,MAAAD,EAAK,MAAM,YAAYE,GAAMC,CAAK;AAAA,EAEtC;AAAA,EAEQ,YACNC,GACAC,GAC2B;AAC3B,UAAMC,IAAoC;AAAA,MACxC,WAAW,KAAK,UAAUF,CAAM;AAAA,IAAA;AASlC,QANI,KAAK,UAAUA,GAAQ,SAAS,KAAKC,EAAS,YAChDC,EAAO,UAAUD,EAAS,UAExB,KAAK,UAAUD,GAAQ,QAAQ,KAAKC,EAAS,WAC/CC,EAAO,eAAeD,EAAS,SAE7B,KAAK,UAAUD,GAAQ,MAAM,KAAKC,EAAS,MAAM;AACnD,YAAM,EAAE,OAAAE,GAAO,GAAGC,EAAA,IAASH,EAAS;AACpC,MAAAC,EAAO,OAAO;AAAA,QACZ,GAAGE;AAAA,QACH,GAAID,KAAS,OAAO,EAAE,OAAO,OAAOA,CAAK,MAAM,CAAA;AAAA,MAAC;AAAA,IAEpD;AACA,WAAI,KAAK,UAAUH,GAAQ,OAAO,KAAKC,EAAS,UAC9CC,EAAO,QAAQ;AAAA,MACb,OAAOD,EAAS,MAAM;AAAA,MACtB,cAAcA,EAAS,MAAM;AAAA,MAC7B,oBAAoBA,EAAS,MAAM;AAAA,IAAA,IAGnC,KAAK,UAAUD,GAAQ,OAAO,KAAKC,EAAS,UAC9CC,EAAO,QAAQD,EAAS,QAEtB,KAAK,UAAUD,GAAQ,OAAO,KAAKC,EAAS,UAC9CC,EAAO,QAAQ;AAAA,MACb,OAAOD,EAAS,MAAM;AAAA,MACtB,OAAOA,EAAS,MAAM,SAASA,EAAS,MAAM,SAAS,CAAA;AAAA,IAAC,IAGxD,KAAK,UAAUD,GAAQ,OAAO,KAAKC,EAAS,UAC9CC,EAAO,QAAQD,EAAS,QAEtB,KAAK,UAAUD,GAAQ,OAAO,KAAKC,EAAS,OAAO,SAAS,cAC9DC,EAAO,QAAQ;AAAA,MACb,YAAYD,EAAS,MAAM,cAAc,CAAA;AAAA,MACzC,aAAaA,EAAS,MAAM;AAAA,MAC5B,UAAUA,EAAS,MAAM,YAAYD,EAAO,QAAQ;AAAA,MACpD,QAAQC,EAAS,OAAO,cAAc;AAAA,IAAA,IAGtC,KAAK,UAAUD,GAAQ,QAAQ,KAAKC,EAAS,WAC/CC,EAAO,SAASD,EAAS,SAEvB,KAAK,UAAUD,GAAQ,QAAQ,KAAKC,EAAS,WAC/CC,EAAO,SAASD,EAAS,SAGpBC;AAAA,EACT;AAAA,EAEQ,UACNF,GACAK,GACS;AACT,WAAOL,EAAO,QAAQ,SAASK,CAAE;AAAA,EACnC;AAAA,EAEQ,UACNL,GACoC;AAGpC,YADEA,EAAO,aAAa,CAAC,SAAS,SAAS,SAAS,SAAS,OAAO,GACrD,OAAO,CAACK,MAAO,KAAK,UAAUL,GAAQK,CAAE,CAAC;AAAA,EACxD;AACF;AAEO,MAAMC,IAAiB,IAAIZ,EAAA;"}
@@ -1,28 +0,0 @@
1
- import { LabelKey } from '../types/data.js';
2
- import { GameIconName, IconHandle, IconRenderOptions, PrizeIconName, StatIconName, WinIconName } from '../types/icons.js';
3
- import { TemplateResult } from 'lit';
4
- export type { GameIconName, IconHandle, IconName, IconRenderOptions, PrizeIconName, StatIconName, WinIconName, } from '../types/icons.js';
5
- /** Registry-backed icon loader for os-leaderboard-casino. */
6
- export declare class IconService {
7
- private readonly registry;
8
- private loadPromise;
9
- private loaded;
10
- /** Load all bundled SVG and game image icons. Call once on app start. */
11
- load(): Promise<void>;
12
- /** Pick a loaded icon by registry name, e.g. `prize.free-spins`. */
13
- get(name: string): IconHandle;
14
- has(name: string): boolean;
15
- resolvePrizeIconName(label: LabelKey | string | undefined): PrizeIconName;
16
- resolveGameIconName(id: string, index: number): GameIconName;
17
- resolveWinIconName(name: string, index: number): WinIconName;
18
- resolveStatIconName(name: string): StatIconName;
19
- render(name: string, options?: IconRenderOptions): TemplateResult;
20
- svg(name: string): TemplateResult;
21
- url(name: string): string;
22
- private assertLoaded;
23
- }
24
- export declare const iconService: IconService;
25
- export declare function prizeIconSvg(label: LabelKey | string | undefined): TemplateResult;
26
- export declare function renderPrizeIcon(label: LabelKey | string | undefined, className?: string): TemplateResult;
27
- export declare function resolveGameImage(id: string, index: number): string;
28
- export declare function winIcon(name: string): TemplateResult;