@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,18 @@
1
+ import { html as r } from "lit";
2
+ function t(e) {
3
+ return r`<footer class="page-footer">
4
+ <!-- <p>${e.displayText}</p> -->
5
+ <!-- TODO: hardcoded -->
6
+ <p>
7
+ Powered by
8
+ <a href="https://oddsmith.io" target="_blank" rel="noopener noreferrer">
9
+ Oddsmith.io
10
+ </a>
11
+ </p>
12
+ </footer>
13
+ `;
14
+ }
15
+ export {
16
+ t as default
17
+ };
18
+ //# sourceMappingURL=footer-section.html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/footer-section/footer-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<footer class=\"page-footer\">\n <!-- <p>${host.displayText}</p> -->\n <!-- TODO: hardcoded -->\n <p>\n Powered by\n <a href=\"https://oddsmith.io\" target=\"_blank\" rel=\"noopener noreferrer\">\n Oddsmith.io\n </a>\n </p>\n</footer>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA,YACGD,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU5B;"}
@@ -0,0 +1,39 @@
1
+ import { LitElement as a, nothing as l } from "lit";
2
+ import { property as f } from "lit/decorators.js";
3
+ import { Component as O } from "../../../../shared/lib/lit/component.js";
4
+ import { scss as c } from "../../../../shared/lib/lit/scss.js";
5
+ import { OS_LEADERBOARD_CASINO_FOOTER as u } from "../../constants/tags.js";
6
+ import { osLeaderboardCasinoTheme as _ } from "../../theme/styles.js";
7
+ import "lit/directives/unsafe-svg.js";
8
+ import h from "./footer-section.html.js";
9
+ import x from "./footer-section.scss.js";
10
+ var y = Object.defineProperty, d = Object.getOwnPropertyDescriptor, m = (n, e, s, o) => {
11
+ for (var t = o > 1 ? void 0 : o ? d(e, s) : e, p = n.length - 1, i; p >= 0; p--)
12
+ (i = n[p]) && (t = (o ? i(e, s, t) : i(t)) || t);
13
+ return o && t && y(e, s, t), t;
14
+ };
15
+ let r = class extends a {
16
+ constructor() {
17
+ super(...arguments), this.text = "";
18
+ }
19
+ get displayText() {
20
+ return this.section?.text ?? this.text;
21
+ }
22
+ render() {
23
+ return this.displayText ? h(this) : l;
24
+ }
25
+ };
26
+ r.styles = [_, c(x)];
27
+ m([
28
+ f({ attribute: !1 })
29
+ ], r.prototype, "section", 2);
30
+ m([
31
+ f({ type: String })
32
+ ], r.prototype, "text", 2);
33
+ r = m([
34
+ O({ selector: u })
35
+ ], r);
36
+ export {
37
+ r as OsLeaderboardCasinoFooter
38
+ };
39
+ //# sourceMappingURL=footer-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/footer-section/footer-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_FOOTER } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoFooterSection } from '@os-leaderboard-casino/types/sections.js';\nimport type { FooterSectionHost } from './footer-section.host.js';\nimport renderTemplate from './footer-section.html?lit-html';\nimport styles from './footer-section.scss?inline';\n\n@Component({ selector: OS_LEADERBOARD_CASINO_FOOTER })\nexport class OsLeaderboardCasinoFooter\n extends LitElement\n implements FooterSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section?: OsLeaderboardCasinoFooterSection;\n\n @property({ type: String })\n text = '';\n\n get displayText(): string {\n return this.section?.text ?? this.text;\n }\n\n render() {\n if (!this.displayText) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["OsLeaderboardCasinoFooter","LitElement","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_FOOTER"],"mappings":";;;;;;;;;;;;;;AAYO,IAAMA,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAUL,KAAA,OAAO;AAAA,EAAA;AAAA,EAEP,IAAI,cAAsB;AACxB,WAAO,KAAK,SAAS,QAAQ,KAAK;AAAA,EACpC;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,cACHC,EAAe,IAAI,IADIC;AAAA,EAEhC;AACF;AApBaH,EAIJ,SAAS,CAACI,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBR,EAOX,WAAA,WAAA,CAAA;AAGAO,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfR,EAUX,WAAA,QAAA,CAAA;AAVWA,IAANO,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA8B;AAAA,GACxCV,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const e = ":host{display:block;width:100%}.page-footer{margin-top:4px;padding:14px 4px 0;width:100%;display:grid;gap:10px;border-top:1px solid var(--hairline)}.page-footer p{margin:0;text-align:center;font-size:11.5px;line-height:1.55;color:var(--text-faint)}.page-footer p a,.page-footer__brand{color:inherit;text-decoration:underline;text-underline-offset:2px}.page-footer p a:hover,.page-footer__brand:hover{color:var(--text-dim)}";
2
+ export {
3
+ e as default
4
+ };
5
+ //# sourceMappingURL=footer-section.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1 @@
1
+ export { resolveGameImage } from '../../../services/icon.service.js';
@@ -0,0 +1,20 @@
1
+ import { LitElement, nothing, TemplateResult } from 'lit';
2
+ import { OsLeaderboardCasinoGamesSection } from '../../types/sections.js';
3
+ import { GamesSectionHost } from './games-section.host.js';
4
+ /** Qualifying games — title + provider cards in a horizontal row. */
5
+ export declare class OsLeaderboardCasinoGames extends LitElement implements GamesSectionHost {
6
+ static styles: import('lit').CSSResult[];
7
+ private _slider?;
8
+ private _sliderMq?;
9
+ private readonly _onSliderMqChange;
10
+ section: OsLeaderboardCasinoGamesSection;
11
+ get sectionTitle(): string;
12
+ connectedCallback(): void;
13
+ disconnectedCallback(): void;
14
+ protected updated(): void;
15
+ private _destroySlider;
16
+ private _syncSlider;
17
+ private renderCard;
18
+ renderGames(): TemplateResult;
19
+ render(): TemplateResult | typeof nothing;
20
+ }
@@ -0,0 +1,7 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { OsLeaderboardCasinoGamesSection } from '../../types/sections.js';
3
+ export interface GamesSectionHost {
4
+ section: OsLeaderboardCasinoGamesSection;
5
+ sectionTitle: string;
6
+ renderGames(): TemplateResult;
7
+ }
@@ -0,0 +1,15 @@
1
+ import { html as s } from "lit";
2
+ function i(e) {
3
+ return s`<section>
4
+ <div class="section-header">
5
+ <h2 class="section-title">${e.sectionTitle}</h2>
6
+ <span class="hint">every bet earns points</span>
7
+ </div>
8
+ <div class="games-row">${e.renderGames()}</div>
9
+ </section>
10
+ `;
11
+ }
12
+ export {
13
+ i as default
14
+ };
15
+ //# sourceMappingURL=games-section.html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"games-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/games-section/games-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 <span class=\"hint\">every bet earns points</span>\n </div>\n <div class=\"games-row\">${host.renderGames()}</div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA,gCAEuBD,EAAK,YAAY;AAAA;AAAA;AAAA,2BAGtBA,EAAK,aAAa;AAAA;AAAA;AAG7C;"}
@@ -0,0 +1,86 @@
1
+ import { LitElement as m, html as d, nothing as h } from "lit";
2
+ import { property as _ } from "lit/decorators.js";
3
+ import p from "../../../../shared/vendor/keen-slider-keen-slider.es.js";
4
+ import { Component as f } from "../../../../shared/lib/lit/component.js";
5
+ import { scss as g } from "../../../../shared/lib/lit/scss.js";
6
+ import { OS_LEADERBOARD_CASINO_GAMES as u } from "../../constants/tags.js";
7
+ import { osLeaderboardCasinoTheme as v } from "../../theme/styles.js";
8
+ import { iconService as a } from "../../services/icon.service.js";
9
+ import S from "./games-section.html.js";
10
+ import y from "./games-section.scss.js";
11
+ var C = Object.defineProperty, b = Object.getOwnPropertyDescriptor, c = (e, s, r, i) => {
12
+ for (var t = i > 1 ? void 0 : i ? b(s, r) : s, l = e.length - 1, n; l >= 0; l--)
13
+ (n = e[l]) && (t = (i ? n(s, r, t) : n(t)) || t);
14
+ return i && t && C(s, r, t), t;
15
+ };
16
+ const w = "(max-width: 767px)";
17
+ let o = class extends m {
18
+ constructor() {
19
+ super(...arguments), this._onSliderMqChange = () => this._syncSlider(), this._syncSlider = () => {
20
+ if (!(this.section?.games ?? []).length) return;
21
+ const s = this.shadowRoot?.querySelector(".games-row");
22
+ if (!s) return;
23
+ if (!(this._sliderMq?.matches ?? !1)) {
24
+ this._destroySlider();
25
+ return;
26
+ }
27
+ s.classList.add("keen-slider"), this._slider ? this._slider.update() : this._slider = new p(s, {
28
+ mode: "free",
29
+ slides: { perView: "auto", spacing: 10 }
30
+ });
31
+ };
32
+ }
33
+ get sectionTitle() {
34
+ return this.section?.title ?? "Qualifying Games";
35
+ }
36
+ connectedCallback() {
37
+ super.connectedCallback(), this._sliderMq = window.matchMedia(w), this._sliderMq.addEventListener("change", this._onSliderMqChange);
38
+ }
39
+ disconnectedCallback() {
40
+ super.disconnectedCallback(), this._sliderMq?.removeEventListener("change", this._onSliderMqChange), this._sliderMq = void 0, this._destroySlider();
41
+ }
42
+ updated() {
43
+ this._syncSlider();
44
+ }
45
+ _destroySlider() {
46
+ this._slider?.destroy(), this._slider = void 0;
47
+ const e = this.shadowRoot?.querySelector(".games-row");
48
+ e && e.classList.remove("keen-slider");
49
+ }
50
+ renderCard(e, s) {
51
+ const r = a.resolveGameIconName(e.id, s), i = e.imageUrl ?? a.get(r).url;
52
+ return d`
53
+ <article class="card keen-slider__slide" data-game-id=${e.id}>
54
+ <div class="thumb">
55
+ <img
56
+ src=${i}
57
+ alt=${e.title}
58
+ loading="lazy"
59
+ draggable="false"
60
+ />
61
+ </div>
62
+ <div class="body">
63
+ <div class="title">${e.title}</div>
64
+ </div>
65
+ </article>
66
+ `;
67
+ }
68
+ renderGames() {
69
+ const e = this.section?.games ?? [];
70
+ return d`${e.map((s, r) => this.renderCard(s, r))}`;
71
+ }
72
+ render() {
73
+ return (this.section?.games ?? []).length ? S(this) : h;
74
+ }
75
+ };
76
+ o.styles = [v, g(y)];
77
+ c([
78
+ _({ attribute: !1 })
79
+ ], o.prototype, "section", 2);
80
+ o = c([
81
+ f({ selector: u })
82
+ ], o);
83
+ export {
84
+ o as OsLeaderboardCasinoGames
85
+ };
86
+ //# sourceMappingURL=games-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"games-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/games-section/games-section.ts"],"sourcesContent":["import { html, LitElement, nothing, type TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport KeenSlider, { type KeenSliderInstance } from 'keen-slider';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_GAMES } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type {\n OsLeaderboardCasinoGameItem,\n OsLeaderboardCasinoGamesSection,\n} from '@os-leaderboard-casino/types/sections.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport type { GamesSectionHost } from './games-section.host.js';\nimport renderTemplate from './games-section.html?lit-html';\nimport styles from './games-section.scss?inline';\n\nconst SLIDER_MEDIA_QUERY = '(max-width: 767px)';\n\n/** Qualifying games — title + provider cards in a horizontal row. */\n@Component({ selector: OS_LEADERBOARD_CASINO_GAMES })\nexport class OsLeaderboardCasinoGames\n extends LitElement\n implements GamesSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n private _slider?: KeenSliderInstance;\n private _sliderMq?: MediaQueryList;\n private readonly _onSliderMqChange = () => this._syncSlider();\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoGamesSection;\n\n get sectionTitle(): string {\n return this.section?.title ?? 'Qualifying Games';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._sliderMq = window.matchMedia(SLIDER_MEDIA_QUERY);\n this._sliderMq.addEventListener('change', this._onSliderMqChange);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._sliderMq?.removeEventListener('change', this._onSliderMqChange);\n this._sliderMq = undefined;\n this._destroySlider();\n }\n\n protected updated() {\n this._syncSlider();\n }\n\n private _destroySlider() {\n this._slider?.destroy();\n this._slider = undefined;\n\n const el = this.shadowRoot?.querySelector<HTMLElement>('.games-row');\n if (el) el.classList.remove('keen-slider');\n }\n\n private _syncSlider = () => {\n const games = this.section?.games ?? [];\n if (!games.length) return;\n\n const el = this.shadowRoot?.querySelector<HTMLElement>('.games-row');\n if (!el) return;\n\n // TODO: slider is shown only on small screens\n const useSlider = this._sliderMq?.matches ?? false;\n\n if (!useSlider) {\n this._destroySlider();\n return;\n }\n\n el.classList.add('keen-slider');\n\n if (!this._slider) {\n this._slider = new KeenSlider(el, {\n mode: 'free',\n slides: { perView: 'auto', spacing: 10 },\n });\n } else {\n this._slider.update();\n }\n };\n\n private renderCard(game: OsLeaderboardCasinoGameItem, index: number) {\n const iconName = iconService.resolveGameIconName(game.id, index);\n const imageUrl = game.imageUrl ?? iconService.get(iconName).url!;\n return html`\n <article class=\"card keen-slider__slide\" data-game-id=${game.id}>\n <div class=\"thumb\">\n <img\n src=${imageUrl}\n alt=${game.title}\n loading=\"lazy\"\n draggable=\"false\"\n />\n </div>\n <div class=\"body\">\n <div class=\"title\">${game.title}</div>\n </div>\n </article>\n `;\n }\n\n renderGames(): TemplateResult {\n const games = this.section?.games ?? [];\n return html`${games.map((game, index) => this.renderCard(game, index))}`;\n }\n\n render() {\n const games = this.section?.games ?? [];\n if (!games.length) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["SLIDER_MEDIA_QUERY","OsLeaderboardCasinoGames","LitElement","el","KeenSlider","game","index","iconName","iconService","imageUrl","html","games","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_GAMES"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAMA,IAAqB;AAIpB,IAAMC,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAQL,KAAiB,oBAAoB,MAAM,KAAK,YAAA,GAkChD,KAAQ,cAAc,MAAM;AAE1B,UAAI,EADU,KAAK,SAAS,SAAS,CAAA,GAC1B,OAAQ;AAEnB,YAAMC,IAAK,KAAK,YAAY,cAA2B,YAAY;AACnE,UAAI,CAACA,EAAI;AAKT,UAAI,EAFc,KAAK,WAAW,WAAW,KAE7B;AACd,aAAK,eAAA;AACL;AAAA,MACF;AAEA,MAAAA,EAAG,UAAU,IAAI,aAAa,GAEzB,KAAK,UAMR,KAAK,QAAQ,OAAA,IALb,KAAK,UAAU,IAAIC,EAAWD,GAAI;AAAA,QAChC,MAAM;AAAA,QACN,QAAQ,EAAE,SAAS,QAAQ,SAAS,GAAA;AAAA,MAAG,CACxC;AAAA,IAIL;AAAA,EAAA;AAAA,EAtDA,IAAI,eAAuB;AACzB,WAAO,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA,EAEA,oBAAoB;AAClB,UAAM,kBAAA,GACN,KAAK,YAAY,OAAO,WAAWH,CAAkB,GACrD,KAAK,UAAU,iBAAiB,UAAU,KAAK,iBAAiB;AAAA,EAClE;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAA,GACN,KAAK,WAAW,oBAAoB,UAAU,KAAK,iBAAiB,GACpE,KAAK,YAAY,QACjB,KAAK,eAAA;AAAA,EACP;AAAA,EAEU,UAAU;AAClB,SAAK,YAAA;AAAA,EACP;AAAA,EAEQ,iBAAiB;AACvB,SAAK,SAAS,QAAA,GACd,KAAK,UAAU;AAEf,UAAMG,IAAK,KAAK,YAAY,cAA2B,YAAY;AACnE,IAAIA,KAAIA,EAAG,UAAU,OAAO,aAAa;AAAA,EAC3C;AAAA,EA6BQ,WAAWE,GAAmCC,GAAe;AACnE,UAAMC,IAAWC,EAAY,oBAAoBH,EAAK,IAAIC,CAAK,GACzDG,IAAWJ,EAAK,YAAYG,EAAY,IAAID,CAAQ,EAAE;AAC5D,WAAOG;AAAA,8DACmDL,EAAK,EAAE;AAAA;AAAA;AAAA,kBAGnDI,CAAQ;AAAA,kBACRJ,EAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAMGA,EAAK,KAAK;AAAA;AAAA;AAAA;AAAA,EAIvC;AAAA,EAEA,cAA8B;AAC5B,UAAMM,IAAQ,KAAK,SAAS,SAAS,CAAA;AACrC,WAAOD,IAAOC,EAAM,IAAI,CAACN,GAAMC,MAAU,KAAK,WAAWD,GAAMC,CAAK,CAAC,CAAC;AAAA,EACxE;AAAA,EAEA,SAAS;AAEP,YADc,KAAK,SAAS,SAAS,CAAA,GAC1B,SACJM,EAAe,IAAI,IADAC;AAAA,EAE5B;AACF;AAnGaZ,EAIJ,SAAS,CAACa,GAA0BC,EAAKC,CAAM,CAAC;AAOvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAVnBjB,EAWX,WAAA,WAAA,CAAA;AAXWA,IAANgB,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvCnB,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const e = ":host{display:block;width:100%;min-width:0}.hint{font-size:11px;color:var(--text-faint)}.games-row{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;min-width:0;gap:10px}.games-row.keen-slider{gap:0;overflow:hidden;position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.games-row.keen-slider[data-keen-slider-moves] *{pointer-events:none}.card{box-sizing:border-box;display:flex;flex-direction:column;min-width:0;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:var(--panel-bg);overflow:hidden;cursor:pointer;transition:border-color var(--transition-fast)}@media(min-width:768px){.card{flex:1 1 0}}@media(max-width:767px){.card{flex:none;width:140px}}.card:hover{border-color:color-mix(in srgb,var(--gold) 35%,var(--panel-border))}.thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;background:color-mix(in srgb,var(--surface-solid) 90%,var(--violet-soft))}.thumb img{width:70px;height:70px;object-fit:contain;display:block;pointer-events:none;-webkit-user-drag:none}.card[data-game-id=gates-of-olympus] .thumb img{margin-left:16px}.body{display:flex;flex-direction:column;gap:4px;padding:7px 8px 9px}.title{font-size:11px;font-weight:800;line-height:1.25;letter-spacing:.04em;text-transform:uppercase;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}";
2
+ export {
3
+ e as default
4
+ };
5
+ //# sourceMappingURL=games-section.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"games-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,12 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { OsLeaderboardCasinoHeaderSection } from '../../types/sections.js';
3
+ import { HeaderSectionHost } from './header-section.host.js';
4
+ export declare class OsLeaderboardCasinoHeader extends LitElement implements HeaderSectionHost {
5
+ static styles: import('lit').CSSResult[];
6
+ section: OsLeaderboardCasinoHeaderSection;
7
+ get showBack(): boolean;
8
+ get backLabel(): string;
9
+ get showSubtitle(): boolean;
10
+ onBackClick(): void;
11
+ render(): import('lit').TemplateResult | typeof nothing;
12
+ }
@@ -0,0 +1,8 @@
1
+ import { OsLeaderboardCasinoHeaderSection } from '../../types/sections.js';
2
+ export interface HeaderSectionHost {
3
+ section: OsLeaderboardCasinoHeaderSection;
4
+ showBack: boolean;
5
+ backLabel: string;
6
+ showSubtitle: boolean;
7
+ onBackClick(): void;
8
+ }
@@ -0,0 +1,37 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { LeaderboardStatus } from '../../types/data.js';
3
+ import { OsLeaderboardCasinoHeroSection } from '../../types/sections.js';
4
+ import { HeroSectionHost } from './hero-section.host.js';
5
+ /** Glam hero — golden ring, shimmer title, prize-pool headline, glowing countdown. */
6
+ export declare class OsLeaderboardCasinoHero extends LitElement implements HeroSectionHost {
7
+ static styles: import('lit').CSSResult[];
8
+ section: OsLeaderboardCasinoHeroSection;
9
+ private now;
10
+ /** Animated odometer value shown for `prizePoolValue`. */
11
+ private poolDisplay;
12
+ poolBump: boolean;
13
+ private timer?;
14
+ private poolRaf?;
15
+ private bumpTimer?;
16
+ get showBanner(): boolean;
17
+ get bannerUrl(): string;
18
+ get bannerAlt(): string;
19
+ get showStatus(): boolean;
20
+ get status(): LeaderboardStatus | undefined;
21
+ get statusLabel(): string;
22
+ get showActiveDot(): boolean;
23
+ get showDescription(): boolean;
24
+ get showPool(): boolean;
25
+ get poolValueLabel(): string;
26
+ get poolLabel(): string;
27
+ get showRising(): boolean;
28
+ connectedCallback(): void;
29
+ disconnectedCallback(): void;
30
+ willUpdate(changed: Map<string, unknown>): void;
31
+ /** Rolling count-up from the current display value to `target`. */
32
+ private animatePool;
33
+ private formatPool;
34
+ private get isFinished();
35
+ renderCountdown(): typeof nothing | import('lit').TemplateResult<1>;
36
+ render(): import('lit').TemplateResult | typeof nothing;
37
+ }
@@ -0,0 +1,20 @@
1
+ import { LitTemplate } from '../../../../shared/lib/lit/template.js';
2
+ import { LeaderboardStatus } from '../../types/data.js';
3
+ import { OsLeaderboardCasinoHeroSection } from '../../types/sections.js';
4
+ export interface HeroSectionHost {
5
+ section: OsLeaderboardCasinoHeroSection;
6
+ showBanner: boolean;
7
+ bannerUrl: string;
8
+ bannerAlt: string;
9
+ showStatus: boolean;
10
+ status: LeaderboardStatus | undefined;
11
+ statusLabel: string;
12
+ showActiveDot: boolean;
13
+ showDescription: boolean;
14
+ showPool: boolean;
15
+ poolBump: boolean;
16
+ poolValueLabel: string;
17
+ poolLabel: string;
18
+ showRising: boolean;
19
+ renderCountdown(): LitTemplate;
20
+ }
@@ -0,0 +1,34 @@
1
+ import { html as s } from "lit";
2
+ function a(n) {
3
+ return s`<section class="hero">
4
+ <img
5
+ class="banner-img"
6
+ ?hidden=${!n.showBanner}
7
+ src="${n.bannerUrl}"
8
+ alt="${n.bannerAlt}"
9
+ />
10
+ <div class="inner">
11
+ <span class="status ${n.status ?? ""}" ?hidden=${!n.showStatus}>
12
+ <i class="dot" ?hidden=${!n.showActiveDot}></i>
13
+ ${n.statusLabel}
14
+ </span>
15
+ <h2>${n.section.title}</h2>
16
+ <p class="description" ?hidden=${!n.showDescription}>
17
+ ${n.section.description}
18
+ </p>
19
+ <div class="pool" ?hidden=${!n.showPool}>
20
+ <span class="label">${n.poolLabel}</span>
21
+ <span class="value ${n.poolBump ? "bump" : ""}"
22
+ >${n.poolValueLabel}</span
23
+ >
24
+ <span class="rising" ?hidden=${!n.showRising}><i></i> rising</span>
25
+ </div>
26
+ ${n.renderCountdown()}
27
+ </div>
28
+ </section>
29
+ `;
30
+ }
31
+ export {
32
+ a as default
33
+ };
34
+ //# sourceMappingURL=hero-section.html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/hero-section/hero-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<section class=\"hero\">\n <img\n class=\"banner-img\"\n ?hidden=${!host.showBanner}\n src=\"${host.bannerUrl}\"\n alt=\"${host.bannerAlt}\"\n />\n <div class=\"inner\">\n <span class=\"status ${host.status ?? ''}\" ?hidden=${!host.showStatus}>\n <i class=\"dot\" ?hidden=${!host.showActiveDot}></i>\n ${host.statusLabel}\n </span>\n <h2>${host.section.title}</h2>\n <p class=\"description\" ?hidden=${!host.showDescription}>\n ${host.section.description}\n </p>\n <div class=\"pool\" ?hidden=${!host.showPool}>\n <span class=\"label\">${host.poolLabel}</span>\n <span class=\"value ${host.poolBump ? 'bump' : ''}\"\n >${host.poolValueLabel}</span\n >\n <span class=\"rising\" ?hidden=${!host.showRising}><i></i> rising</span>\n </div>\n ${host.renderCountdown()}\n </div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA;AAAA,cAGK,CAACD,EAAK,UAAU;AAAA,WACnBA,EAAK,SAAS;AAAA,WACdA,EAAK,SAAS;AAAA;AAAA;AAAA,0BAGCA,EAAK,UAAU,EAAE,aAAa,CAACA,EAAK,UAAU;AAAA,+BACzC,CAACA,EAAK,aAAa;AAAA,QAC1CA,EAAK,WAAW;AAAA;AAAA,UAEdA,EAAK,QAAQ,KAAK;AAAA,qCACS,CAACA,EAAK,eAAe;AAAA,QAClDA,EAAK,QAAQ,WAAW;AAAA;AAAA,gCAEA,CAACA,EAAK,QAAQ;AAAA,4BAClBA,EAAK,SAAS;AAAA,2BACfA,EAAK,WAAW,SAAS,EAAE;AAAA,WAC3CA,EAAK,cAAc;AAAA;AAAA,qCAEO,CAACA,EAAK,UAAU;AAAA;AAAA,MAE/CA,EAAK,gBAAe,CAAE;AAAA;AAAA;AAAA;AAI5B;"}
@@ -0,0 +1,160 @@
1
+ import { LitElement as f, nothing as u, html as p } from "lit";
2
+ import { property as d, state as c } from "lit/decorators.js";
3
+ import { Component as b } from "../../../../shared/lib/lit/component.js";
4
+ import { scss as y } from "../../../../shared/lib/lit/scss.js";
5
+ import { OS_LEADERBOARD_CASINO_HERO as w } from "../../constants/tags.js";
6
+ import { osLeaderboardCasinoTheme as D } from "../../theme/styles.js";
7
+ import "lit/directives/unsafe-svg.js";
8
+ import g from "./hero-section.html.js";
9
+ import T from "./hero-section.scss.js";
10
+ var v = Object.defineProperty, A = Object.getOwnPropertyDescriptor, l = (t, e, s, i) => {
11
+ for (var o = i > 1 ? void 0 : i ? A(e, s) : e, a = t.length - 1, r; a >= 0; a--)
12
+ (r = t[a]) && (o = (i ? r(e, s, o) : r(o)) || o);
13
+ return i && o && v(e, s, o), o;
14
+ };
15
+ function h(t, e = Date.now()) {
16
+ const s = Math.floor((new Date(t).getTime() - e) / 1e3);
17
+ return !Number.isFinite(s) || s <= 0 ? { expired: !0, days: 0, hours: 0, minutes: 0, seconds: 0 } : {
18
+ expired: !1,
19
+ days: Math.floor(s / 86400),
20
+ hours: Math.floor(s % 86400 / 3600),
21
+ minutes: Math.floor(s % 3600 / 60),
22
+ seconds: s % 60
23
+ };
24
+ }
25
+ const P = {
26
+ upcoming: "Upcoming",
27
+ active: "Live",
28
+ completed: "Finished",
29
+ cancelled: "Cancelled"
30
+ };
31
+ let n = class extends f {
32
+ constructor() {
33
+ super(...arguments), this.now = Date.now(), this.poolDisplay = null, this.poolBump = !1;
34
+ }
35
+ get showBanner() {
36
+ return !!this.section?.bannerAsset?.url;
37
+ }
38
+ get bannerUrl() {
39
+ return this.section?.bannerAsset?.url ?? "";
40
+ }
41
+ get bannerAlt() {
42
+ return this.section?.bannerAsset?.label || "";
43
+ }
44
+ get showStatus() {
45
+ return !!this.section?.status;
46
+ }
47
+ get status() {
48
+ return this.section?.status;
49
+ }
50
+ get statusLabel() {
51
+ const t = this.section?.status;
52
+ return t ? P[t] : "";
53
+ }
54
+ get showActiveDot() {
55
+ return this.section?.status === "active";
56
+ }
57
+ get showDescription() {
58
+ return !!this.section?.description;
59
+ }
60
+ get showPool() {
61
+ return this.poolDisplay != null || !!this.section?.prizePool;
62
+ }
63
+ get poolValueLabel() {
64
+ return this.poolDisplay != null ? this.formatPool(this.poolDisplay) : this.section?.prizePool ?? "";
65
+ }
66
+ get poolLabel() {
67
+ return this.section?.prizePoolLabel ?? "Total prize pool";
68
+ }
69
+ get showRising() {
70
+ return this.poolDisplay != null;
71
+ }
72
+ connectedCallback() {
73
+ super.connectedCallback(), this.timer = setInterval(() => {
74
+ this.now = Date.now();
75
+ }, 1e3);
76
+ }
77
+ disconnectedCallback() {
78
+ super.disconnectedCallback(), this.timer && clearInterval(this.timer), this.poolRaf && cancelAnimationFrame(this.poolRaf), this.bumpTimer && clearTimeout(this.bumpTimer);
79
+ }
80
+ willUpdate(t) {
81
+ if (!t.has("section")) return;
82
+ const e = this.section?.prizePoolValue;
83
+ if (e == null) {
84
+ this.poolDisplay = null;
85
+ return;
86
+ }
87
+ if (this.poolDisplay == null) {
88
+ this.poolDisplay = e;
89
+ return;
90
+ }
91
+ e !== this.poolDisplay && this.animatePool(e);
92
+ }
93
+ /** Rolling count-up from the current display value to `target`. */
94
+ animatePool(t) {
95
+ this.poolRaf && cancelAnimationFrame(this.poolRaf);
96
+ const e = this.poolDisplay ?? t, s = 1100, i = performance.now(), o = (a) => {
97
+ const r = Math.min(1, (a - i) / s), m = 1 - Math.pow(1 - r, 3);
98
+ this.poolDisplay = Math.round(e + (t - e) * m), r < 1 && (this.poolRaf = requestAnimationFrame(o));
99
+ };
100
+ this.poolRaf = requestAnimationFrame(o), t > e && (this.poolBump = !0, this.bumpTimer && clearTimeout(this.bumpTimer), this.bumpTimer = setTimeout(() => {
101
+ this.poolBump = !1;
102
+ }, 650));
103
+ }
104
+ formatPool(t) {
105
+ try {
106
+ return new Intl.NumberFormat("en-US", {
107
+ style: "currency",
108
+ currency: this.section?.prizePoolCurrency ?? "USD",
109
+ maximumFractionDigits: 0
110
+ }).format(t);
111
+ } catch {
112
+ return t.toLocaleString();
113
+ }
114
+ }
115
+ get isFinished() {
116
+ const t = this.section?.status;
117
+ return t === "completed" || t === "cancelled" ? !0 : this.section?.endTs ? h(this.section.endTs, this.now).expired : !1;
118
+ }
119
+ renderCountdown() {
120
+ const t = this.section?.endTs;
121
+ if (!t) return u;
122
+ if (this.isFinished)
123
+ return p`<span class="ended">🏁 Contest finished</span>`;
124
+ const e = h(t, this.now), s = (i, o) => p`<div class="cell">
125
+ <b>${String(i).padStart(2, "0")}</b><span>${o}</span>
126
+ </div>`;
127
+ return p`
128
+ <div class="countdown">
129
+ <span class="label">Ends in</span>
130
+ ${s(e.days, "days")}<span class="sep">:</span>
131
+ ${s(e.hours, "hours")}<span class="sep">:</span>
132
+ ${s(e.minutes, "min")}<span class="sep">:</span>
133
+ ${s(e.seconds, "sec")}
134
+ </div>
135
+ `;
136
+ }
137
+ render() {
138
+ return this.section ? g(this) : u;
139
+ }
140
+ };
141
+ n.styles = [D, y(T)];
142
+ l([
143
+ d({ attribute: !1 })
144
+ ], n.prototype, "section", 2);
145
+ l([
146
+ c()
147
+ ], n.prototype, "now", 2);
148
+ l([
149
+ c()
150
+ ], n.prototype, "poolDisplay", 2);
151
+ l([
152
+ c()
153
+ ], n.prototype, "poolBump", 2);
154
+ n = l([
155
+ b({ selector: w })
156
+ ], n);
157
+ export {
158
+ n as OsLeaderboardCasinoHero
159
+ };
160
+ //# sourceMappingURL=hero-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/hero-section/hero-section.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_HERO } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { LeaderboardStatus } from '@os-leaderboard-casino/types/data.js';\nimport type { OsLeaderboardCasinoHeroSection } from '@os-leaderboard-casino/types/sections.js';\nimport type { HeroSectionHost } from './hero-section.host.js';\nimport renderTemplate from './hero-section.html?lit-html';\nimport styles from './hero-section.scss?inline';\n\ninterface CountdownParts {\n expired: boolean;\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n}\n\nfunction countdownTo(endTs: string, now = Date.now()): CountdownParts {\n const remaining = Math.floor((new Date(endTs).getTime() - now) / 1000);\n if (!Number.isFinite(remaining) || remaining <= 0) {\n return { expired: true, days: 0, hours: 0, minutes: 0, seconds: 0 };\n }\n return {\n expired: false,\n days: Math.floor(remaining / 86400),\n hours: Math.floor((remaining % 86400) / 3600),\n minutes: Math.floor((remaining % 3600) / 60),\n seconds: remaining % 60,\n };\n}\n\nconst STATUS_LABELS: Record<LeaderboardStatus, string> = {\n upcoming: 'Upcoming',\n active: 'Live',\n completed: 'Finished',\n cancelled: 'Cancelled',\n};\n\n/** Glam hero — golden ring, shimmer title, prize-pool headline, glowing countdown. */\n@Component({ selector: OS_LEADERBOARD_CASINO_HERO })\nexport class OsLeaderboardCasinoHero\n extends LitElement\n implements HeroSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoHeroSection;\n\n @state()\n private now = Date.now();\n\n /** Animated odometer value shown for `prizePoolValue`. */\n @state()\n private poolDisplay: number | null = null;\n\n @state()\n poolBump = false;\n\n private timer?: ReturnType<typeof setInterval>;\n private poolRaf?: number;\n private bumpTimer?: ReturnType<typeof setTimeout>;\n\n get showBanner(): boolean {\n return Boolean(this.section?.bannerAsset?.url);\n }\n\n get bannerUrl(): string {\n return this.section?.bannerAsset?.url ?? '';\n }\n\n get bannerAlt(): string {\n return this.section?.bannerAsset?.label || '';\n }\n\n get showStatus(): boolean {\n return Boolean(this.section?.status);\n }\n\n get status(): LeaderboardStatus | undefined {\n return this.section?.status;\n }\n\n get statusLabel(): string {\n const status = this.section?.status;\n return status ? STATUS_LABELS[status] : '';\n }\n\n get showActiveDot(): boolean {\n return this.section?.status === 'active';\n }\n\n get showDescription(): boolean {\n return Boolean(this.section?.description);\n }\n\n get showPool(): boolean {\n return this.poolDisplay != null || Boolean(this.section?.prizePool);\n }\n\n get poolValueLabel(): string {\n if (this.poolDisplay != null) return this.formatPool(this.poolDisplay);\n return this.section?.prizePool ?? '';\n }\n\n get poolLabel(): string {\n return this.section?.prizePoolLabel ?? 'Total prize pool';\n }\n\n get showRising(): boolean {\n return this.poolDisplay != null;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.timer = setInterval(() => {\n this.now = Date.now();\n }, 1000);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.timer) clearInterval(this.timer);\n if (this.poolRaf) cancelAnimationFrame(this.poolRaf);\n if (this.bumpTimer) clearTimeout(this.bumpTimer);\n }\n\n willUpdate(changed: Map<string, unknown>) {\n if (!changed.has('section')) return;\n const target = this.section?.prizePoolValue;\n if (target == null) {\n this.poolDisplay = null;\n return;\n }\n if (this.poolDisplay == null) {\n this.poolDisplay = target;\n return;\n }\n if (target !== this.poolDisplay) this.animatePool(target);\n }\n\n /** Rolling count-up from the current display value to `target`. */\n private animatePool(target: number) {\n if (this.poolRaf) cancelAnimationFrame(this.poolRaf);\n const from = this.poolDisplay ?? target;\n const duration = 1100;\n const start = performance.now();\n const tick = (t: number) => {\n const p = Math.min(1, (t - start) / duration);\n const eased = 1 - Math.pow(1 - p, 3);\n this.poolDisplay = Math.round(from + (target - from) * eased);\n if (p < 1) this.poolRaf = requestAnimationFrame(tick);\n };\n this.poolRaf = requestAnimationFrame(tick);\n\n if (target > from) {\n this.poolBump = true;\n if (this.bumpTimer) clearTimeout(this.bumpTimer);\n this.bumpTimer = setTimeout(() => {\n this.poolBump = false;\n }, 650);\n }\n }\n\n private formatPool(value: number): string {\n try {\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: this.section?.prizePoolCurrency ?? 'USD',\n maximumFractionDigits: 0,\n }).format(value);\n } catch {\n return value.toLocaleString();\n }\n }\n\n private get isFinished(): boolean {\n const status = this.section?.status;\n if (status === 'completed' || status === 'cancelled') return true;\n if (!this.section?.endTs) return false;\n return countdownTo(this.section.endTs, this.now).expired;\n }\n\n renderCountdown() {\n const endTs = this.section?.endTs;\n if (!endTs) return nothing;\n\n if (this.isFinished) {\n return html`<span class=\"ended\">🏁 Contest finished</span>`;\n }\n\n const c = countdownTo(endTs, this.now);\n const cell = (v: number, label: string) =>\n html`<div class=\"cell\">\n <b>${String(v).padStart(2, '0')}</b><span>${label}</span>\n </div>`;\n\n return html`\n <div class=\"countdown\">\n <span class=\"label\">Ends in</span>\n ${cell(c.days, 'days')}<span class=\"sep\">:</span>\n ${cell(c.hours, 'hours')}<span class=\"sep\">:</span>\n ${cell(c.minutes, 'min')}<span class=\"sep\">:</span>\n ${cell(c.seconds, 'sec')}\n </div>\n `;\n }\n\n render() {\n if (!this.section) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["countdownTo","endTs","now","remaining","STATUS_LABELS","OsLeaderboardCasinoHero","LitElement","status","changed","target","from","duration","start","tick","t","p","eased","value","nothing","html","c","cell","v","label","renderTemplate","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","state","Component","OS_LEADERBOARD_CASINO_HERO"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ const e = ':host{display:block;width:100%}.hero{position:relative;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--panel-border);background:radial-gradient(90% 130% at 50% -20%,color-mix(in srgb,var(--violet) 22%,transparent),transparent 55%),radial-gradient(70% 110% at 12% 110%,color-mix(in srgb,var(--gold) 16%,transparent),transparent 58%),radial-gradient(65% 100% at 88% 108%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 62%),var(--panel-bg);box-shadow:var(--panel-shadow);text-align:center;padding:clamp(26px,5vw,44px) clamp(18px,4vw,36px) clamp(22px,4vw,34px)}.hero:before{content:"";position:absolute;top:120%;left:50%;width:150%;aspect-ratio:1;transform:translate(-50%,-50%);transform-origin:50% 50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 45deg,color-mix(in srgb,var(--gold) 24%,transparent) 55deg,color-mix(in srgb,var(--gold) 20%,transparent) 58deg,transparent 67deg,transparent 198deg,color-mix(in srgb,var(--violet) 22%,transparent) 208deg,color-mix(in srgb,var(--violet) 16%,transparent) 211deg,transparent 220deg,transparent 360deg);filter:blur(28px);opacity:.92;animation:halo 16s linear infinite;pointer-events:none;z-index:0}@keyframes halo{to{transform:translate(-50%,-50%) rotate(360deg)}}@media(max-width:640px){.hero:before{top:100%;width:215%}}.banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;z-index:0}.inner{position:relative;z-index:1}.status{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:999px;background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text-dim)}.status.active{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent)}.status.active .dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.6s ease-in-out infinite}.status.completed{color:var(--gold);border-color:var(--hairline-gold)}.status.cancelled{color:var(--red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}h2{margin:16px 0 0;font-family:var(--font-display);font-size:clamp(26px,5.4vw,40px);font-weight:800;letter-spacing:-.02em;line-height:1.12;background:var(--gold-gradient);background-size:200% auto;background-position:0% center;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5.5s linear infinite;text-wrap:balance}@keyframes shimmer{0%{background-position:0% center}to{background-position:200% center}}.description{margin:12px auto 0;font-size:13.5px;line-height:1.6;color:var(--text-dim);max-width:52ch}.pool{margin-top:22px;display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:14px 34px;border-radius:16px;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow)}.pool .label{font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint)}.pool .value{font-family:var(--font-mono);font-size:clamp(28px,5vw,38px);font-weight:800;color:var(--gold-strong);text-shadow:0 0 26px var(--gold-glow);line-height:1.1;font-variant-numeric:tabular-nums;transition:text-shadow .3s ease}.pool .value.bump{animation:pool-bump .6s ease}@keyframes pool-bump{0%{transform:scale(1)}35%{transform:scale(1.06);text-shadow:0 0 42px var(--gold-glow),0 0 12px var(--gold-strong)}to{transform:scale(1)}}.pool .rising{display:inline-flex;align-items:center;gap:4px;margin-top:2px;font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.pool .rising i{width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse 1.6s ease-in-out infinite}.countdown{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:22px;flex-wrap:wrap}.countdown .label{width:100%;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);margin-bottom:2px}.cell{min-width:60px;text-align:center;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);padding:9px 10px 8px}.cell b{display:block;font-family:var(--font-mono);font-size:21px;font-weight:800;color:var(--text);line-height:1.1}.cell span{display:block;margin-top:3px;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.sep{font-family:var(--font-mono);font-size:18px;font-weight:800;color:var(--gold);opacity:.7}@media(max-width:480px){.cell{min-width:48px;padding:8px 6px 7px}.cell b{font-size:18px}.countdown{gap:5px}.sep{font-size:15px}}.ended{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:10px 20px;border-radius:var(--radius-sm);background:var(--gold-soft);border:1px solid var(--hairline-gold);color:var(--gold);font-weight:700;font-size:14px}';
2
+ export {
3
+ e as default
4
+ };
5
+ //# sourceMappingURL=hero-section.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,18 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { OsLeaderboardCasinoLegalsSection } from '../../types/sections.js';
3
+ import { LegalsSectionHost } from './legals-section.host.js';
4
+ export declare class OsLeaderboardCasinoLegals extends LitElement implements LegalsSectionHost {
5
+ static styles: import('lit').CSSResult[];
6
+ section: OsLeaderboardCasinoLegalsSection;
7
+ private _activeLink;
8
+ private _dialog;
9
+ get dialogTitle(): string;
10
+ get dialogContent(): string;
11
+ renderDialogContent(): (string | import('lit').TemplateResult<1>)[];
12
+ protected updated(changedProps: Map<string, unknown>): void;
13
+ readonly onDialogClose: () => void;
14
+ readonly onDialogClick: (e: MouseEvent) => void;
15
+ private _onLinkClick;
16
+ renderLinks(): import('lit').TemplateResult<1>;
17
+ render(): import('lit').TemplateResult | typeof nothing;
18
+ }
@@ -0,0 +1,8 @@
1
+ import { TemplateResult } from 'lit';
2
+ export interface LegalsSectionHost {
3
+ dialogTitle: string;
4
+ renderDialogContent(): unknown[];
5
+ renderLinks(): TemplateResult;
6
+ readonly onDialogClose: () => void;
7
+ readonly onDialogClick: (e: MouseEvent) => void;
8
+ }