@oddsmith/ui 1.0.5 → 1.0.7

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 +10 -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,16 +1,21 @@
1
1
  import { LitElement, nothing, TemplateResult } from 'lit';
2
- import { OsLeaderboardCasinoClimbSection } from '../../types/sections.js';
2
+ import { CasinoStore } from '../../store';
3
+ import { ClimbView } from './types/view.js';
3
4
  import { ClimbSectionHost } from './climb-section.host.js';
4
5
  /** "Your climb" — progress towards the next prize tier with rank trend. */
5
6
  export declare class OsLeaderboardCasinoClimb extends LitElement implements ClimbSectionHost {
6
7
  static styles: import('lit').CSSResult[];
7
- section: OsLeaderboardCasinoClimbSection;
8
+ store: CasinoStore;
9
+ get section(): ClimbView | undefined;
8
10
  get climbTitle(): string;
9
11
  get pointsLabel(): string;
10
12
  get trendClass(): string;
11
13
  renderTrend(): TemplateResult;
12
14
  get pointsToNextLabel(): string;
15
+ get toReachTopLabel(): string;
16
+ get hasNextTier(): boolean;
13
17
  get nextTierRank(): number;
18
+ get nextPrefixLabel(): string;
14
19
  get nextTierLabel(): string;
15
20
  get progressPct(): number;
16
21
  renderName(): TemplateResult;
@@ -1,12 +1,15 @@
1
1
  import { TemplateResult } from 'lit';
2
- import { OsLeaderboardCasinoClimbSection } from '../../types/sections.js';
2
+ import { ClimbView } from './types/view.js';
3
3
  export interface ClimbSectionHost {
4
- section: OsLeaderboardCasinoClimbSection;
4
+ section: ClimbView | undefined;
5
5
  climbTitle: string;
6
6
  pointsLabel: string;
7
7
  trendClass: string;
8
8
  pointsToNextLabel: string;
9
+ toReachTopLabel: string;
10
+ hasNextTier: boolean;
9
11
  nextTierRank: number;
12
+ nextPrefixLabel: string;
10
13
  nextTierLabel: string;
11
14
  progressPct: number;
12
15
  renderName(): TemplateResult;
@@ -0,0 +1,8 @@
1
+ /** Chrome copy for the climb section. */
2
+ export type ClimbLabels = {
3
+ title: string;
4
+ points: string;
5
+ toReachTop: string;
6
+ next: string;
7
+ steady: string;
8
+ };
@@ -0,0 +1,13 @@
1
+ /** Render data for the climb section. */
2
+ export interface ClimbView {
3
+ username: string;
4
+ rank: number;
5
+ points: number;
6
+ locale: string;
7
+ /** Omit when there is no better prize tier to chase. */
8
+ nextTierRank?: number;
9
+ nextTierLabel?: string;
10
+ pointsToNextTier: number;
11
+ progress: number;
12
+ trend?: number;
13
+ }
@@ -0,0 +1,30 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { CasinoStore } from '../../store';
3
+ import { EventItem, EventsBannerView } from './types/view.js';
4
+ import { EventsBannerHost } from './events-banner.host.js';
5
+ /** Promotional events — rotating cards. Icon comes from host `imageUrl`. */
6
+ export declare class OsLeaderboardCasinoEvents extends LitElement implements EventsBannerHost {
7
+ static styles: import('lit').CSSResult[];
8
+ store: CasinoStore;
9
+ get section(): EventsBannerView | undefined;
10
+ private index;
11
+ private timer?;
12
+ get currentEvent(): EventItem | undefined;
13
+ get eventColor(): string;
14
+ get isEmpty(): boolean;
15
+ get emptyMessage(): string;
16
+ get ariaLabel(): string;
17
+ get tagLabel(): string;
18
+ get bannerClass(): string;
19
+ onEventClick(): void;
20
+ connectedCallback(): void;
21
+ disconnectedCallback(): void;
22
+ updated(changed: Map<string, unknown>): void;
23
+ private startRotation;
24
+ private stopRotation;
25
+ private goTo;
26
+ renderIcon(): typeof nothing | import('lit').TemplateResult<1>;
27
+ renderBody(): typeof nothing | import('lit').TemplateResult<1>;
28
+ renderDots(): typeof nothing | import('lit').TemplateResult<1>;
29
+ render(): import('lit').TemplateResult | typeof nothing;
30
+ }
@@ -0,0 +1,15 @@
1
+ import { LitTemplate } from '../../.shared/lib/lit/template.js';
2
+ import { EventsBannerView } from './types/view.js';
3
+ export interface EventsBannerHost {
4
+ section: EventsBannerView | undefined;
5
+ eventColor: string;
6
+ isEmpty: boolean;
7
+ emptyMessage: string;
8
+ ariaLabel: string;
9
+ tagLabel: string;
10
+ bannerClass: string;
11
+ onEventClick(): void;
12
+ renderIcon(): LitTemplate;
13
+ renderBody(): LitTemplate;
14
+ renderDots(): LitTemplate;
15
+ }
@@ -0,0 +1,18 @@
1
+ export type EventItemData = {
2
+ /** Stable id fired on `event-click`. */
3
+ eventId: string;
4
+ title: string;
5
+ subtitle?: string;
6
+ /**
7
+ * CSS color for the chip, tag, and dots (hex, named, `rgb()`, etc.).
8
+ * Omit → theme primary (`var(--primary)`).
9
+ */
10
+ color?: string;
11
+ /** Host-provided icon. Omit = empty chip. The component never invents one. */
12
+ imageUrl?: string;
13
+ };
14
+ /** Omit on a partial `.data` → mix default banner. `null` → unmount. Empty `items` still mounts it. */
15
+ export type EventsData = {
16
+ items: EventItemData[];
17
+ rotateMs?: number;
18
+ };
@@ -0,0 +1,8 @@
1
+ /** Custom events from the events banner. */
2
+ export declare const EventsEvents: {
3
+ readonly click: "event-click";
4
+ };
5
+ export type EventsEventName = (typeof EventsEvents)[keyof typeof EventsEvents];
6
+ export interface EventsClickDetail {
7
+ eventId: string;
8
+ }
@@ -0,0 +1,6 @@
1
+ /** Chrome copy for the events banner. */
2
+ export type EventsLabels = {
3
+ tag: string;
4
+ aria: string;
5
+ empty: string;
6
+ };
@@ -0,0 +1,12 @@
1
+ export interface EventItem {
2
+ eventId: string;
3
+ title: string;
4
+ subtitle?: string;
5
+ color?: string;
6
+ imageUrl?: string;
7
+ }
8
+ /** Render data for the rotating promo banner. */
9
+ export interface EventsBannerView {
10
+ items: EventItem[];
11
+ rotateMs?: number;
12
+ }
@@ -1,10 +1,11 @@
1
1
  import { LitElement, nothing } from 'lit';
2
- import { OsLeaderboardCasinoFooterSection } from '../../types/sections.js';
2
+ import { CasinoStore } from '../../store';
3
+ import { FooterView } from './types/view.js';
3
4
  import { FooterSectionHost } from './footer-section.host.js';
4
5
  export declare class OsLeaderboardCasinoFooter extends LitElement implements FooterSectionHost {
5
6
  static styles: import('lit').CSSResult[];
6
- section?: OsLeaderboardCasinoFooterSection;
7
- text: string;
7
+ store: CasinoStore;
8
+ get section(): FooterView | undefined;
8
9
  get displayText(): string;
9
10
  render(): import('lit').TemplateResult | typeof nothing;
10
11
  }
@@ -0,0 +1,5 @@
1
+ import { FooterView } from './types/view.js';
2
+ export interface FooterSectionHost {
3
+ section: FooterView | undefined;
4
+ displayText: string;
5
+ }
@@ -0,0 +1,4 @@
1
+ /** Render data for the footer section. */
2
+ export interface FooterView {
3
+ text: string;
4
+ }
@@ -1,14 +1,19 @@
1
1
  import { LitElement, nothing, TemplateResult } from 'lit';
2
- import { OsLeaderboardCasinoGamesSection } from '../../types/sections.js';
2
+ import { CasinoStore } from '../../store';
3
+ import { GamesView } from './types/view.js';
3
4
  import { GamesSectionHost } from './games-section.host.js';
4
- /** Qualifying games — title + provider cards in a horizontal row. */
5
+ /** Qualifying games — title + art cards in a horizontal row. */
5
6
  export declare class OsLeaderboardCasinoGames extends LitElement implements GamesSectionHost {
6
7
  static styles: import('lit').CSSResult[];
7
8
  private _slider?;
8
9
  private _sliderMq?;
9
10
  private readonly _onSliderMqChange;
10
- section: OsLeaderboardCasinoGamesSection;
11
+ store: CasinoStore;
12
+ get section(): GamesView | undefined;
11
13
  get sectionTitle(): string;
14
+ get hintLabel(): string;
15
+ get emptyMessage(): string;
16
+ get hasGames(): boolean;
12
17
  connectedCallback(): void;
13
18
  disconnectedCallback(): void;
14
19
  protected updated(): void;
@@ -0,0 +1,10 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { GamesView } from './types/view.js';
3
+ export interface GamesSectionHost {
4
+ section: GamesView | undefined;
5
+ sectionTitle: string;
6
+ hintLabel: string;
7
+ emptyMessage: string;
8
+ hasGames: boolean;
9
+ renderGames(): TemplateResult;
10
+ }
@@ -0,0 +1,7 @@
1
+ /** Qualifying game. `id` joins marquee items. `imageUrl` is the only art source. */
2
+ export type GameData = {
3
+ id: string;
4
+ title: string;
5
+ /** Host-provided art. Omit = no thumbnail. The component never invents one. */
6
+ imageUrl?: string;
7
+ };
@@ -0,0 +1,6 @@
1
+ /** Chrome copy for the games section. */
2
+ export type GamesLabels = {
3
+ title: string;
4
+ hint: string;
5
+ empty: string;
6
+ };
@@ -0,0 +1,9 @@
1
+ export interface GameItem {
2
+ id: string;
3
+ title: string;
4
+ imageUrl?: string;
5
+ }
6
+ /** Render data for the games section. */
7
+ export interface GamesView {
8
+ games: GameItem[];
9
+ }
@@ -1,23 +1,17 @@
1
1
  import { LitElement, nothing } from 'lit';
2
- import { LeaderboardStatus } from '../../types/data.js';
3
- import { OsLeaderboardCasinoHeroSection } from '../../types/sections.js';
2
+ import { CasinoStore } from '../../store';
3
+ import { LeaderboardStatus } from '../../types';
4
+ import { HeroView } from './types/view.js';
4
5
  import { HeroSectionHost } from './hero-section.host.js';
5
- /** Glam hero — golden ring, shimmer title, prize-pool headline, glowing countdown. */
6
+ /** Glam hero — campaign headline, prize pool, countdown (MVP: no motion effects). */
6
7
  export declare class OsLeaderboardCasinoHero extends LitElement implements HeroSectionHost {
7
8
  static styles: import('lit').CSSResult[];
8
- section: OsLeaderboardCasinoHeroSection;
9
+ store: CasinoStore;
10
+ get section(): HeroView | undefined;
9
11
  private now;
10
- /** Rolled forward once per mount when preset endTs is stale (demo/marketing). */
12
+ /** Rolled forward once per mount when demo endsAt is stale. */
11
13
  private sessionEndTs;
12
- /** Animated odometer value shown for `prizePoolValue`. */
13
- private poolDisplay;
14
- poolBump: boolean;
15
14
  private timer?;
16
- private poolRaf?;
17
- private bumpTimer?;
18
- get showBanner(): boolean;
19
- get bannerUrl(): string;
20
- get bannerAlt(): string;
21
15
  get showStatus(): boolean;
22
16
  get status(): LeaderboardStatus | undefined;
23
17
  get statusLabel(): string;
@@ -26,16 +20,16 @@ export declare class OsLeaderboardCasinoHero extends LitElement implements HeroS
26
20
  get showPool(): boolean;
27
21
  get poolValueLabel(): string;
28
22
  get poolLabel(): string;
23
+ get risingLabel(): string;
29
24
  get showRising(): boolean;
30
25
  connectedCallback(): void;
31
26
  disconnectedCallback(): void;
32
27
  willUpdate(changed: Map<string, unknown>): void;
33
- /** Rolling count-up from the current display value to `target`. */
34
- private animatePool;
35
- private formatPool;
36
28
  private get isFinished();
37
29
  private get countdownEndTs();
38
30
  private syncSessionEndTs;
31
+ renderDescription(): typeof nothing | import('lit').TemplateResult<1>;
39
32
  renderCountdown(): typeof nothing | import('lit').TemplateResult<1>;
33
+ private renderCountdownClock;
40
34
  render(): import('lit').TemplateResult | typeof nothing;
41
35
  }
@@ -0,0 +1,18 @@
1
+ import { LitTemplate } from '../../.shared/lib/lit/template.js';
2
+ import { LeaderboardStatus } from '../../types';
3
+ import { HeroView } from './types/view.js';
4
+ export interface HeroSectionHost {
5
+ section: HeroView | undefined;
6
+ showStatus: boolean;
7
+ status: LeaderboardStatus | undefined;
8
+ statusLabel: string;
9
+ showActiveDot: boolean;
10
+ showDescription: boolean;
11
+ showPool: boolean;
12
+ poolValueLabel: string;
13
+ poolLabel: string;
14
+ risingLabel: string;
15
+ showRising: boolean;
16
+ renderDescription(): LitTemplate;
17
+ renderCountdown(): LitTemplate;
18
+ }
@@ -0,0 +1,14 @@
1
+ /** Campaign hero fields on `.data.hero`. Hero always mounts. */
2
+ export type HeroData = {
3
+ title: string;
4
+ /** Omit on a partial `.data.hero` → mix default pitch. `''` → no pitch line. */
5
+ description?: string;
6
+ /** ISO-8601. Upcoming ticks a countdown to this instant (`hero.startsIn`). */
7
+ startsAt?: string;
8
+ /** ISO-8601. Active countdown / finished date. Omit = no end clock. */
9
+ endsAt?: string;
10
+ /** Force cancelled. Cannot be inferred from timestamps. */
11
+ cancelled?: boolean;
12
+ /** Total prize pool amount. Always shown. Mix default if omitted on a partial hero. */
13
+ prizePool: number;
14
+ };
@@ -0,0 +1,12 @@
1
+ /** Chrome copy for the hero section. */
2
+ export type HeroLabels = {
3
+ pool: string;
4
+ rising: string;
5
+ startsIn: string;
6
+ endsIn: string;
7
+ days: string;
8
+ hours: string;
9
+ min: string;
10
+ sec: string;
11
+ finished: string;
12
+ };
@@ -0,0 +1,12 @@
1
+ import { LeaderboardStatus } from '../../../types/status.js';
2
+ /** Render data for the hero section. */
3
+ export interface HeroView {
4
+ title: string;
5
+ description?: string;
6
+ startsAt?: string;
7
+ endsAt?: string;
8
+ status: LeaderboardStatus;
9
+ prizePoolValue: number;
10
+ currency: string;
11
+ locale: string;
12
+ }
File without changes
@@ -1,14 +1,19 @@
1
1
  import { LitElement, nothing } from 'lit';
2
- import { OsLeaderboardCasinoLegalsSection } from '../../types/sections.js';
2
+ import { CasinoStore } from '../../store';
3
+ import { LegalsView } from './types/view.js';
3
4
  import { LegalsSectionHost } from './legals-section.host.js';
4
5
  export declare class OsLeaderboardCasinoLegals extends LitElement implements LegalsSectionHost {
5
6
  static styles: import('lit').CSSResult[];
6
- section: OsLeaderboardCasinoLegalsSection;
7
+ store: CasinoStore;
8
+ get section(): LegalsView | undefined;
7
9
  private _activeLink;
8
10
  private _dialog;
9
11
  get dialogTitle(): string;
12
+ get closeLabel(): string;
13
+ get isEmpty(): boolean;
14
+ get emptyMessage(): string;
10
15
  get dialogContent(): string;
11
- renderDialogContent(): (string | import('lit').TemplateResult<1>)[];
16
+ renderDialogContent(): unknown;
12
17
  protected updated(changedProps: Map<string, unknown>): void;
13
18
  readonly onDialogClose: () => void;
14
19
  readonly onDialogClick: (e: MouseEvent) => void;
@@ -1,7 +1,12 @@
1
1
  import { TemplateResult } from 'lit';
2
+ import { LegalsView } from './types/view.js';
2
3
  export interface LegalsSectionHost {
4
+ section: LegalsView | undefined;
3
5
  dialogTitle: string;
4
- renderDialogContent(): unknown[];
6
+ closeLabel: string;
7
+ isEmpty: boolean;
8
+ emptyMessage: string;
9
+ renderDialogContent(): unknown;
5
10
  renderLinks(): TemplateResult;
6
11
  readonly onDialogClose: () => void;
7
12
  readonly onDialogClick: (e: MouseEvent) => void;
@@ -0,0 +1,19 @@
1
+ export type ExternalLegalLink = {
2
+ type: 'external';
3
+ label: string;
4
+ href: string;
5
+ };
6
+ export type InternalLegalLink = {
7
+ type: 'internal';
8
+ label: string;
9
+ /**
10
+ * Dialog HTML. Allowlisted tags only (`p`, `br`, `strong`, `em`, `a`, …).
11
+ * Scripts and unsafe hrefs are stripped. Inserted via sanitized innerHTML.
12
+ */
13
+ body: string;
14
+ };
15
+ export type LegalLinkData = ExternalLegalLink | InternalLegalLink;
16
+ /** Omit on a partial `.data` → mix default strip. `null` → unmount. Empty `links` still mounts it. */
17
+ export type LegalsData = {
18
+ links: LegalLinkData[];
19
+ };
@@ -0,0 +1,5 @@
1
+ /** Chrome copy for the legals section. */
2
+ export type LegalsLabels = {
3
+ close: string;
4
+ empty: string;
5
+ };
@@ -0,0 +1,6 @@
1
+ import { LegalLinkData } from './data.js';
2
+ export type LegalLink = LegalLinkData;
3
+ /** Render data for the legals section. */
4
+ export interface LegalsView {
5
+ links: LegalLink[];
6
+ }
@@ -0,0 +1,13 @@
1
+ import { MarqueeItem } from './types/view.js';
2
+ export interface ParsedMarqueeWin {
3
+ id: string;
4
+ user: string;
5
+ game: string;
6
+ gameId: string;
7
+ big: boolean;
8
+ amount: number;
9
+ currency: string;
10
+ locale: string;
11
+ imageUrl?: string;
12
+ }
13
+ export declare function parseMarqueeItem(item: MarqueeItem): ParsedMarqueeWin;
@@ -0,0 +1,19 @@
1
+ import { LitElement, nothing, TemplateResult } from 'lit';
2
+ import { CasinoStore } from '../../store';
3
+ import { MarqueeView } from './types/view.js';
4
+ import { MarqueeSectionHost } from './marquee-section.host.js';
5
+ /** Infinitely-scrolling winners ticker. */
6
+ export declare class OsLeaderboardCasinoMarquee extends LitElement implements MarqueeSectionHost {
7
+ static styles: import('lit').CSSResult[];
8
+ store: CasinoStore;
9
+ get section(): MarqueeView | undefined;
10
+ get speedSec(): number;
11
+ get ariaLabel(): string;
12
+ get isEmpty(): boolean;
13
+ get emptyMessage(): string;
14
+ private parsedWins;
15
+ private renderItemIcon;
16
+ private renderWin;
17
+ renderTrack(): TemplateResult;
18
+ render(): TemplateResult | typeof nothing;
19
+ }
@@ -0,0 +1,10 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { MarqueeView } from './types/view.js';
3
+ export interface MarqueeSectionHost {
4
+ section: MarqueeView | undefined;
5
+ speedSec: number;
6
+ ariaLabel: string;
7
+ isEmpty: boolean;
8
+ emptyMessage: string;
9
+ renderTrack(): TemplateResult;
10
+ }
@@ -0,0 +1,18 @@
1
+ /** One ticker win. `gameId` must match `games[].id` for title and image. */
2
+ export type MarqueeItemData = {
3
+ /** Stable id. Missing / empty / duplicate → item skipped + `console.error`. */
4
+ id: string;
5
+ username: string;
6
+ /**
7
+ * Joins `games[].id`. Unknown id is skipped and `console.error`s.
8
+ */
9
+ gameId: string;
10
+ amount: number;
11
+ /** Host-provided emphasis. The component does not infer this from amount. */
12
+ big?: boolean;
13
+ };
14
+ /** Omit on a partial `.data` → mix default ticker. `null` → unmount. Empty `items` still mounts it. */
15
+ export type MarqueeData = {
16
+ items: MarqueeItemData[];
17
+ speedSec?: number;
18
+ };
@@ -0,0 +1,7 @@
1
+ /** Chrome copy for the marquee section. */
2
+ export type MarqueeLabels = {
3
+ won: string;
4
+ on: string;
5
+ aria: string;
6
+ empty: string;
7
+ };
@@ -0,0 +1,17 @@
1
+ export interface MarqueeItem {
2
+ id: string;
3
+ username: string;
4
+ gameId: string;
5
+ gameTitle: string;
6
+ amount: number;
7
+ currency: string;
8
+ locale: string;
9
+ big?: boolean;
10
+ /** From the matching `games[]` entry. */
11
+ imageUrl?: string;
12
+ }
13
+ /** Render data for the marquee section. */
14
+ export interface MarqueeView {
15
+ items: MarqueeItem[];
16
+ speedSec?: number;
17
+ }
@@ -1,21 +1,24 @@
1
1
  import { LitElement, nothing } from 'lit';
2
- import { OsLeaderboardCasinoPrizeSection } from '../../types/sections.js';
2
+ import { CasinoStore } from '../../store';
3
+ import { PrizeView } from './types/view.js';
3
4
  import { PrizeSectionHost } from './prize-section.host.js';
4
5
  /** Top-3 metallic podium showcase + remaining prize tiers. */
5
6
  export declare class OsLeaderboardCasinoPrize extends LitElement implements PrizeSectionHost {
6
7
  static styles: import('lit').CSSResult[];
7
- section: OsLeaderboardCasinoPrizeSection;
8
+ store: CasinoStore;
9
+ get section(): PrizeView | undefined;
8
10
  private restPrizes;
9
11
  private secondPrize?;
10
12
  private firstPrize?;
11
13
  private thirdPrize?;
12
14
  get sectionTitle(): string;
13
- get showStrategy(): boolean;
14
- get strategyLabel(): string;
15
+ get emptyMessage(): string;
16
+ get hasPrizes(): boolean;
15
17
  get hasTierList(): boolean;
16
18
  willUpdate(): void;
17
19
  private onPrizeClick;
18
20
  private formatValue;
21
+ private renderMedal;
19
22
  private renderPodiumSlot;
20
23
  renderPodium(): import('lit').TemplateResult<1>;
21
24
  renderTierList(): import('lit').TemplateResult<1>;
@@ -1,10 +1,10 @@
1
1
  import { TemplateResult } from 'lit';
2
- import { OsLeaderboardCasinoPrizeSection } from '../../types/sections.js';
2
+ import { PrizeView } from './types/view.js';
3
3
  export interface PrizeSectionHost {
4
- section: OsLeaderboardCasinoPrizeSection;
4
+ section: PrizeView | undefined;
5
5
  sectionTitle: string;
6
- showStrategy: boolean;
7
- strategyLabel: string;
6
+ emptyMessage: string;
7
+ hasPrizes: boolean;
8
8
  renderPodium(): TemplateResult;
9
9
  renderTierList(): TemplateResult;
10
10
  hasTierList: boolean;
@@ -0,0 +1,7 @@
1
+ /** One prize. Place comes from sort-by-value (highest first = 1st). */
2
+ export type PrizeData = {
3
+ /** Stable id fired on `prize-click`. */
4
+ prizeId: string;
5
+ label: string;
6
+ value: number;
7
+ };
@@ -0,0 +1,12 @@
1
+ import { PrizeData } from './data.js';
2
+ /** Custom events from the prize section. */
3
+ export declare const PrizeEvents: {
4
+ readonly click: "prize-click";
5
+ };
6
+ export type PrizeEventName = (typeof PrizeEvents)[keyof typeof PrizeEvents];
7
+ /** Host-facing prize-click payload. `place` is 1-based after sort by value. */
8
+ export interface PrizeClickDetail {
9
+ prize: PrizeData & {
10
+ place: number;
11
+ };
12
+ }
@@ -0,0 +1,11 @@
1
+ /** Chrome copy for the prize section. */
2
+ export type PrizeLabels = {
3
+ title: string;
4
+ champion: string;
5
+ second: string;
6
+ third: string;
7
+ rank: string;
8
+ /** Medal aria. `{rank}` is replaced with 1 | 2 | 3. */
9
+ medal: string;
10
+ empty: string;
11
+ };
@@ -0,0 +1,12 @@
1
+ import { PrizeData } from './data.js';
2
+ /** Render row — host `PrizeData` plus campaign currency/locale and derived place. */
3
+ export interface PrizeItem extends PrizeData {
4
+ currency: string;
5
+ locale: string;
6
+ /** 1-based place after sorting prizes by value (highest first). */
7
+ place: number;
8
+ }
9
+ /** Render data for the prize section. */
10
+ export interface PrizeView {
11
+ prizes: PrizeItem[];
12
+ }