@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,33 @@
1
+ import { html as i } from "lit";
2
+ function e(l) {
3
+ return i`<div class="legals">
4
+ <nav class="legals__links">
5
+ ${l.renderLinks()}
6
+ </nav>
7
+ <dialog @click=${l.onDialogClick}>
8
+ <div class="dialog-panel">
9
+ <div class="dialog-header">
10
+ <span class="dialog-title">${l.dialogTitle}</span>
11
+ <button
12
+ class="dialog-close"
13
+ type="button"
14
+ aria-label="Close"
15
+ @click=${l.onDialogClose}
16
+ >
17
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" aria-hidden="true">
18
+ <path d="M2 2l10 10M12 2L2 12" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
19
+ </svg>
20
+ </button>
21
+ </div>
22
+ <div class="dialog-body">
23
+ <p>${l.renderDialogContent()}</p>
24
+ </div>
25
+ </div>
26
+ </dialog>
27
+ </div>
28
+ `;
29
+ }
30
+ export {
31
+ e as default
32
+ };
33
+ //# sourceMappingURL=legals-section.html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legals-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/legals-section/legals-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<div class=\"legals\">\n <nav class=\"legals__links\">\n ${host.renderLinks()}\n </nav>\n <dialog @click=${host.onDialogClick}>\n <div class=\"dialog-panel\">\n <div class=\"dialog-header\">\n <span class=\"dialog-title\">${host.dialogTitle}</span>\n <button\n class=\"dialog-close\"\n type=\"button\"\n aria-label=\"Close\"\n @click=${host.onDialogClose}\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M2 2l10 10M12 2L2 12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n </button>\n </div>\n <div class=\"dialog-body\">\n <p>${host.renderDialogContent()}</p>\n </div>\n </div>\n </dialog>\n</div>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA,MAEHD,EAAK,YAAW,CAAE;AAAA;AAAA,mBAELA,EAAK,aAAa;AAAA;AAAA;AAAA,qCAGAA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,mBAKlCA,EAAK,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAQxBA,EAAK,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAMvC;"}
@@ -0,0 +1,74 @@
1
+ import { LitElement as c, html as p, nothing as d } from "lit";
2
+ import { property as h, state as m, query as g } from "lit/decorators.js";
3
+ import { Component as u } from "../../../../shared/lib/lit/component.js";
4
+ import { scss as f } from "../../../../shared/lib/lit/scss.js";
5
+ import { OS_LEADERBOARD_CASINO_LEGALS as _ } from "../../constants/tags.js";
6
+ import { osLeaderboardCasinoTheme as b } from "../../theme/styles.js";
7
+ import "lit/directives/unsafe-svg.js";
8
+ import L from "./legals-section.html.js";
9
+ import v from "./legals-section.scss.js";
10
+ var k = Object.defineProperty, C = Object.getOwnPropertyDescriptor, a = (e, t, r, n) => {
11
+ for (var i = n > 1 ? void 0 : n ? C(t, r) : t, s = e.length - 1, l; s >= 0; s--)
12
+ (l = e[s]) && (i = (n ? l(t, r, i) : l(i)) || i);
13
+ return n && i && k(t, r, i), i;
14
+ };
15
+ const w = "This promotion is open to all registered players aged 18 or over. Participation is subject to the standard Terms & Conditions applicable to all promotions. Prize winnings are credited as bonus funds and are subject to a 20× wagering requirement before withdrawal. The leaderboard is updated in real time and rankings are final at the time the campaign ends. The operator reserves the right to amend or cancel this promotion at any time without prior notice. Responsible gambling tools are available in your account settings at all times.";
16
+ let o = class extends c {
17
+ constructor() {
18
+ super(...arguments), this._activeLink = null, this.onDialogClose = () => {
19
+ this._activeLink = null;
20
+ }, this.onDialogClick = (e) => {
21
+ e.target === this._dialog && (this._activeLink = null);
22
+ };
23
+ }
24
+ get dialogTitle() {
25
+ return this._activeLink?.label ?? "";
26
+ }
27
+ get dialogContent() {
28
+ return this._activeLink?.content ?? w;
29
+ }
30
+ renderDialogContent() {
31
+ return this.dialogContent.split(/<br\s*\/?>/).flatMap(
32
+ (e, t, r) => t < r.length - 1 ? [e, p`<br />`] : [e]
33
+ );
34
+ }
35
+ updated(e) {
36
+ if (super.updated(e), e.has("_activeLink")) {
37
+ const t = this._dialog;
38
+ if (!t) return;
39
+ this._activeLink && !t.open ? t.showModal() : !this._activeLink && t.open && t.close();
40
+ }
41
+ }
42
+ _onLinkClick(e) {
43
+ e.type === "external" ? window.open(e.href ?? "https://www.google.com", "_blank", "noopener,noreferrer") : this._activeLink = e;
44
+ }
45
+ renderLinks() {
46
+ return p`${this.section.links.map(
47
+ (e) => p`<button
48
+ class="legal-link"
49
+ type="button"
50
+ @click=${() => this._onLinkClick(e)}
51
+ >${e.label}</button>`
52
+ )}`;
53
+ }
54
+ render() {
55
+ return this.section?.links?.length ? L(this) : d;
56
+ }
57
+ };
58
+ o.styles = [b, f(v)];
59
+ a([
60
+ h({ attribute: !1 })
61
+ ], o.prototype, "section", 2);
62
+ a([
63
+ m()
64
+ ], o.prototype, "_activeLink", 2);
65
+ a([
66
+ g("dialog")
67
+ ], o.prototype, "_dialog", 2);
68
+ o = a([
69
+ u({ selector: _ })
70
+ ], o);
71
+ export {
72
+ o as OsLeaderboardCasinoLegals
73
+ };
74
+ //# sourceMappingURL=legals-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legals-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/legals-section/legals-section.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, state, query } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_LEGALS } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type {\n OsLeaderboardCasinoLegalLink,\n OsLeaderboardCasinoLegalsSection,\n} from '@os-leaderboard-casino/types/sections.js';\nimport type { LegalsSectionHost } from './legals-section.host.js';\nimport renderTemplate from './legals-section.html?lit-html';\nimport styles from './legals-section.scss?inline';\n\nconst DEFAULT_DIALOG_CONTENT =\n 'This promotion is open to all registered players aged 18 or over. Participation is subject to the standard Terms & Conditions applicable to all promotions. Prize winnings are credited as bonus funds and are subject to a 20× wagering requirement before withdrawal. The leaderboard is updated in real time and rankings are final at the time the campaign ends. The operator reserves the right to amend or cancel this promotion at any time without prior notice. Responsible gambling tools are available in your account settings at all times.';\n\n@Component({ selector: OS_LEADERBOARD_CASINO_LEGALS })\nexport class OsLeaderboardCasinoLegals\n extends LitElement\n implements LegalsSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoLegalsSection;\n\n @state()\n private _activeLink: OsLeaderboardCasinoLegalLink | null = null;\n\n @query('dialog')\n private _dialog!: HTMLDialogElement;\n\n get dialogTitle(): string {\n return this._activeLink?.label ?? '';\n }\n\n get dialogContent(): string {\n return this._activeLink?.content ?? DEFAULT_DIALOG_CONTENT;\n }\n\n renderDialogContent() {\n return this.dialogContent.split(/<br\\s*\\/?>/).flatMap((part, i, arr) =>\n i < arr.length - 1 ? [part, html`<br />`] : [part],\n );\n }\n\n protected updated(changedProps: Map<string, unknown>): void {\n super.updated(changedProps);\n if (changedProps.has('_activeLink')) {\n const dialog = this._dialog;\n if (!dialog) return;\n if (this._activeLink && !dialog.open) {\n dialog.showModal();\n } else if (!this._activeLink && dialog.open) {\n dialog.close();\n }\n }\n }\n\n readonly onDialogClose = () => {\n this._activeLink = null;\n };\n\n readonly onDialogClick = (e: MouseEvent) => {\n if (e.target === this._dialog) {\n this._activeLink = null;\n }\n };\n\n private _onLinkClick(link: OsLeaderboardCasinoLegalLink): void {\n if (link.type === 'external') {\n window.open(link.href ?? 'https://www.google.com', '_blank', 'noopener,noreferrer');\n } else {\n this._activeLink = link;\n }\n }\n\n renderLinks() {\n return html`${this.section.links.map(\n (link) =>\n html`<button\n class=\"legal-link\"\n type=\"button\"\n @click=${() => this._onLinkClick(link)}\n >${link.label}</button>`,\n )}`;\n }\n\n render() {\n if (!this.section?.links?.length) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["DEFAULT_DIALOG_CONTENT","OsLeaderboardCasinoLegals","LitElement","part","i","arr","html","changedProps","dialog","link","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","state","query","Component","OS_LEADERBOARD_CASINO_LEGALS"],"mappings":";;;;;;;;;;;;;;AAcA,MAAMA,IACJ;AAGK,IAAMC,IAAN,cACGC,EAEV;AAAA,EAHO,cAAA;AAAA,UAAA,GAAA,SAAA,GAUL,KAAQ,cAAmD,MAgC3D,KAAS,gBAAgB,MAAM;AAC7B,WAAK,cAAc;AAAA,IACrB,GAEA,KAAS,gBAAgB,CAAC,MAAkB;AAC1C,MAAI,EAAE,WAAW,KAAK,YACpB,KAAK,cAAc;AAAA,IAEvB;AAAA,EAAA;AAAA,EAnCA,IAAI,cAAsB;AACxB,WAAO,KAAK,aAAa,SAAS;AAAA,EACpC;AAAA,EAEA,IAAI,gBAAwB;AAC1B,WAAO,KAAK,aAAa,WAAWF;AAAA,EACtC;AAAA,EAEA,sBAAsB;AACpB,WAAO,KAAK,cAAc,MAAM,YAAY,EAAE;AAAA,MAAQ,CAACG,GAAMC,GAAGC,MAC9DD,IAAIC,EAAI,SAAS,IAAI,CAACF,GAAMG,SAAY,IAAI,CAACH,CAAI;AAAA,IAAA;AAAA,EAErD;AAAA,EAEU,QAAQI,GAA0C;AAE1D,QADA,MAAM,QAAQA,CAAY,GACtBA,EAAa,IAAI,aAAa,GAAG;AACnC,YAAMC,IAAS,KAAK;AACpB,UAAI,CAACA,EAAQ;AACb,MAAI,KAAK,eAAe,CAACA,EAAO,OAC9BA,EAAO,UAAA,IACE,CAAC,KAAK,eAAeA,EAAO,QACrCA,EAAO,MAAA;AAAA,IAEX;AAAA,EACF;AAAA,EAYQ,aAAaC,GAA0C;AAC7D,IAAIA,EAAK,SAAS,aAChB,OAAO,KAAKA,EAAK,QAAQ,0BAA0B,UAAU,qBAAqB,IAElF,KAAK,cAAcA;AAAA,EAEvB;AAAA,EAEA,cAAc;AACZ,WAAOH,IAAO,KAAK,QAAQ,MAAM;AAAA,MAC/B,CAACG,MACCH;AAAA;AAAA;AAAA,mBAGW,MAAM,KAAK,aAAaG,CAAI,CAAC;AAAA,WACrCA,EAAK,KAAK;AAAA,IAAA,CAChB;AAAA,EACH;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,SAAS,OAAO,SACnBC,EAAe,IAAI,IADeC;AAAA,EAE3C;AACF;AA3EaV,EAIJ,SAAS,CAACW,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBf,EAOX,WAAA,WAAA,CAAA;AAGQc,EAAA;AAAA,EADPE,EAAA;AAAM,GATIhB,EAUH,WAAA,eAAA,CAAA;AAGAc,EAAA;AAAA,EADPG,EAAM,QAAQ;AAAA,GAZJjB,EAaH,WAAA,WAAA,CAAA;AAbGA,IAANc,EAAA;AAAA,EADNI,EAAU,EAAE,UAAUC,EAAA,CAA8B;AAAA,GACxCnB,CAAA;"}
@@ -0,0 +1,5 @@
1
+ const o = '@charset "UTF-8";:host{display:block;width:100%}.legals__links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 24px;margin-top:20px}.legal-link{background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:13.5px;font-weight:800;color:var(--gold);text-decoration:none;transition:color var(--transition-fast)}.legal-link:hover{color:var(--gold-strong);text-shadow:0 0 12px var(--gold-glow)}dialog{border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--text);padding:0;width:min(480px,90vw);max-height:80vh;overflow:hidden;box-shadow:var(--shadow)}dialog::backdrop{background:#000000a6;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.dialog-panel{display:flex;flex-direction:column;max-height:80vh}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--hairline);flex:none}.dialog-title{font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--text)}.dialog-close{flex:none;display:grid;place-items:center;width:28px;height:28px;background:#ffffff0f;border:1px solid var(--hairline);border-radius:8px;cursor:pointer;color:var(--text-dim);padding:0;transition:background var(--transition-fast),color var(--transition-fast)}.dialog-close:hover{background:#ffffff1c;color:var(--text)}.dialog-body{padding:20px 22px 26px;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--violet) 30%,transparent) transparent}.dialog-body::-webkit-scrollbar{width:3px}.dialog-body::-webkit-scrollbar-track{background:transparent}.dialog-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--violet) 35%,transparent);border-radius:99px}.dialog-body p{margin:0;font-size:13.5px;line-height:1.8;color:var(--text-dim);letter-spacing:.01em}';
2
+ export {
3
+ o as default
4
+ };
5
+ //# sourceMappingURL=legals-section.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legals-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,13 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ import { OsLeaderboardCasinoLiveFeedSection } from '../../types/sections.js';
3
+ import { LiveFeedSectionHost } from './live-feed-section.host.js';
4
+ /** Glassy live activity rail with entrance animations. */
5
+ export declare class OsLeaderboardCasinoLiveFeed extends LitElement implements LiveFeedSectionHost {
6
+ static styles: import('lit').CSSResult[];
7
+ section: OsLeaderboardCasinoLiveFeedSection;
8
+ get feedTitle(): string;
9
+ get hasItems(): boolean;
10
+ private formatAmount;
11
+ renderEntries(): import('lit').TemplateResult<1>;
12
+ render(): import('lit').TemplateResult | typeof nothing;
13
+ }
@@ -0,0 +1,8 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { OsLeaderboardCasinoLiveFeedSection } from '../../types/sections.js';
3
+ export interface LiveFeedSectionHost {
4
+ section: OsLeaderboardCasinoLiveFeedSection;
5
+ feedTitle: string;
6
+ hasItems: boolean;
7
+ renderEntries(): TemplateResult;
8
+ }
@@ -0,0 +1,3 @@
1
+ import { TemplateResult } from 'lit';
2
+ export type WinIconName = 'bag' | 'coin' | 'trophy' | 'fire' | 'gem' | 'bolt';
3
+ export declare function winIcon(name: WinIconName): TemplateResult;
@@ -0,0 +1,8 @@
1
+ import { winIcon as o } from "../../../services/icon.service.js";
2
+ function r(n) {
3
+ return o(n);
4
+ }
5
+ export {
6
+ r as winIcon
7
+ };
8
+ //# sourceMappingURL=win-icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"win-icons.js","sources":["../../../../../../src/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.ts"],"sourcesContent":["import type { TemplateResult } from 'lit';\nimport { winIcon as loadWinIcon } from '@os-leaderboard-casino/services/icon.service.js';\n\nexport type WinIconName = 'bag' | 'coin' | 'trophy' | 'fire' | 'gem' | 'bolt';\n\nexport function winIcon(name: WinIconName): TemplateResult {\n return loadWinIcon(name);\n}\n"],"names":["winIcon","name","loadWinIcon"],"mappings":";AAKO,SAASA,EAAQC,GAAmC;AACzD,SAAOC,EAAYD,CAAI;AACzB;"}
@@ -0,0 +1,14 @@
1
+ import { OsLeaderboardCasinoMarqueeItem } from '../../types/sections.js';
2
+ import { WinIconName } from './components/win-icons.js';
3
+ export interface ParsedMarqueeWin {
4
+ user: string;
5
+ game: string;
6
+ gameId?: string;
7
+ big: boolean;
8
+ icon: WinIconName;
9
+ amount: number | null;
10
+ currency: string;
11
+ vip: boolean;
12
+ }
13
+ export declare function parseMarqueeItem(item: OsLeaderboardCasinoMarqueeItem, index: number): ParsedMarqueeWin;
14
+ export declare function formatWinAmount(amount: number | null, currency: string): string;
@@ -0,0 +1,57 @@
1
+ const c = [
2
+ "coin",
3
+ "bolt",
4
+ "trophy",
5
+ "gem",
6
+ "fire",
7
+ "bag"
8
+ ];
9
+ function s(r, n) {
10
+ const e = r.text.match(/^(.+?)\s+won(?:\s+\$[\d,]+)?\s+on\s+(.+)$/i), o = e?.[1]?.trim() ?? r.text, a = e?.[2]?.trim() ?? "", t = r.amount ?? null;
11
+ return {
12
+ user: o,
13
+ game: a,
14
+ gameId: r.gameId,
15
+ big: (t ?? 0) >= 5e3,
16
+ icon: u(r.icon, n),
17
+ amount: t,
18
+ currency: r.currency ?? "USD",
19
+ vip: r.vip ?? !1
20
+ };
21
+ }
22
+ function u(r, n) {
23
+ switch (r) {
24
+ case "💰":
25
+ case "🪙":
26
+ return "coin";
27
+ case "⚡":
28
+ return "bolt";
29
+ case "🏆":
30
+ return "trophy";
31
+ case "💎":
32
+ return "gem";
33
+ case "🔥":
34
+ return "fire";
35
+ case "🎰":
36
+ return "bag";
37
+ default:
38
+ return c[n % c.length];
39
+ }
40
+ }
41
+ function i(r, n) {
42
+ if (r == null) return "";
43
+ try {
44
+ return new Intl.NumberFormat("en-US", {
45
+ style: "currency",
46
+ currency: n,
47
+ maximumFractionDigits: 0
48
+ }).format(r);
49
+ } catch {
50
+ return `$${r.toLocaleString("en-US")}`;
51
+ }
52
+ }
53
+ export {
54
+ i as formatWinAmount,
55
+ s as parseMarqueeItem
56
+ };
57
+ //# sourceMappingURL=marquee-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marquee-item.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/marquee-section/marquee-item.ts"],"sourcesContent":["import type { OsLeaderboardCasinoMarqueeItem } from '@os-leaderboard-casino/types/sections.js';\nimport type { WinIconName } from './components/win-icons.js';\n\nconst ICON_CYCLE: WinIconName[] = [\n 'coin',\n 'bolt',\n 'trophy',\n 'gem',\n 'fire',\n 'bag',\n];\n\nexport interface ParsedMarqueeWin {\n user: string;\n game: string;\n gameId?: string;\n big: boolean;\n icon: WinIconName;\n amount: number | null;\n currency: string;\n vip: boolean;\n}\n\nexport function parseMarqueeItem(\n item: OsLeaderboardCasinoMarqueeItem,\n index: number,\n): ParsedMarqueeWin {\n const onMatch = item.text.match(/^(.+?)\\s+won(?:\\s+\\$[\\d,]+)?\\s+on\\s+(.+)$/i);\n const user = onMatch?.[1]?.trim() ?? item.text;\n const game = onMatch?.[2]?.trim() ?? '';\n const amount = item.amount ?? null;\n\n return {\n user,\n game,\n gameId: item.gameId,\n big: (amount ?? 0) >= 5000,\n icon: resolveIcon(item.icon, index),\n amount,\n currency: item.currency ?? 'USD',\n vip: item.vip ?? false,\n };\n}\n\nfunction resolveIcon(icon: string | undefined, index: number): WinIconName {\n switch (icon) {\n case '💰':\n case '🪙':\n return 'coin';\n case '⚡':\n return 'bolt';\n case '🏆':\n return 'trophy';\n case '💎':\n return 'gem';\n case '🔥':\n return 'fire';\n case '🎰':\n return 'bag';\n default:\n return ICON_CYCLE[index % ICON_CYCLE.length];\n }\n}\n\nexport function formatWinAmount(\n amount: number | null,\n currency: string,\n): string {\n if (amount == null) return '';\n try {\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n }).format(amount);\n } catch {\n return `$${amount.toLocaleString('en-US')}`;\n }\n}\n"],"names":["ICON_CYCLE","parseMarqueeItem","item","index","onMatch","user","game","amount","resolveIcon","icon","formatWinAmount","currency"],"mappings":"AAGA,MAAMA,IAA4B;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAaO,SAASC,EACdC,GACAC,GACkB;AAClB,QAAMC,IAAUF,EAAK,KAAK,MAAM,4CAA4C,GACtEG,IAAOD,IAAU,CAAC,GAAG,KAAA,KAAUF,EAAK,MACpCI,IAAOF,IAAU,CAAC,GAAG,UAAU,IAC/BG,IAASL,EAAK,UAAU;AAE9B,SAAO;AAAA,IACL,MAAAG;AAAA,IACA,MAAAC;AAAA,IACA,QAAQJ,EAAK;AAAA,IACb,MAAMK,KAAU,MAAM;AAAA,IACtB,MAAMC,EAAYN,EAAK,MAAMC,CAAK;AAAA,IAClC,QAAAI;AAAA,IACA,UAAUL,EAAK,YAAY;AAAA,IAC3B,KAAKA,EAAK,OAAO;AAAA,EAAA;AAErB;AAEA,SAASM,EAAYC,GAA0BN,GAA4B;AACzE,UAAQM,GAAA;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAOT,EAAWG,IAAQH,EAAW,MAAM;AAAA,EAAA;AAEjD;AAEO,SAASU,EACdH,GACAI,GACQ;AACR,MAAIJ,KAAU,KAAM,QAAO;AAC3B,MAAI;AACF,WAAO,IAAI,KAAK,aAAa,SAAS;AAAA,MACpC,OAAO;AAAA,MACP,UAAAI;AAAA,MACA,uBAAuB;AAAA,IAAA,CACxB,EAAE,OAAOJ,CAAM;AAAA,EAClB,QAAQ;AACN,WAAO,IAAIA,EAAO,eAAe,OAAO,CAAC;AAAA,EAC3C;AACF;"}
@@ -0,0 +1,42 @@
1
+ import { LitElement, nothing, TemplateResult } from 'lit';
2
+ import { OsLeaderboardCasinoMarqueeSection } from '../../types/sections.js';
3
+ import { MarqueeVariant } from './marquee-variants.js';
4
+ import { MarqueeSectionHost } from './marquee-section.host.js';
5
+ /** Infinitely-scrolling winners ticker — v0 variant ports + classic fallback. */
6
+ export declare class OsLeaderboardCasinoMarquee extends LitElement implements MarqueeSectionHost {
7
+ static styles: import('lit').CSSResult[];
8
+ section: OsLeaderboardCasinoMarqueeSection;
9
+ variant: MarqueeVariant;
10
+ private hudIndex;
11
+ private feedRows;
12
+ private hudTimer?;
13
+ private feedTimer?;
14
+ private feedCursor;
15
+ private feedKey;
16
+ get speedSec(): number;
17
+ connectedCallback(): void;
18
+ updated(changed: Map<string, unknown>): void;
19
+ disconnectedCallback(): void;
20
+ private syncVariantAttribute;
21
+ private parsedWins;
22
+ private startVariantTimers;
23
+ private stopVariantTimers;
24
+ private pushFeedRow;
25
+ private formatAmount;
26
+ private renderSeparator;
27
+ private renderItemIcon;
28
+ /** Uses shared VIP badge styles from theme (v0 outline tag). */
29
+ private renderMarqueeUser;
30
+ private renderClassicItem;
31
+ private renderClassicGroup;
32
+ renderTrack(): TemplateResult;
33
+ renderHudLabel(): TemplateResult | typeof nothing;
34
+ private renderTickerWin;
35
+ private renderTicker;
36
+ private renderHudStreamGroup;
37
+ private renderHud;
38
+ private renderBeltGroup;
39
+ private renderBelt;
40
+ private renderFeed;
41
+ render(): TemplateResult | typeof nothing;
42
+ }
@@ -0,0 +1,8 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { OsLeaderboardCasinoMarqueeSection } from '../../types/sections.js';
3
+ export interface MarqueeSectionHost {
4
+ section: OsLeaderboardCasinoMarqueeSection;
5
+ speedSec: number;
6
+ renderHudLabel(): TemplateResult | typeof import('lit').nothing;
7
+ renderTrack(): TemplateResult;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { html as r } from "lit";
2
+ function d(e) {
3
+ return r`<div
4
+ class="marquee"
5
+ style="--speed: ${e.speedSec}s"
6
+ role="region"
7
+ aria-label="Recent winners"
8
+ >
9
+ ${e.renderHudLabel()}
10
+ <div class="track">${e.renderTrack()}</div>
11
+ </div>
12
+ `;
13
+ }
14
+ export {
15
+ d as default
16
+ };
17
+ //# sourceMappingURL=marquee-section.html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marquee-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<div\n class=\"marquee\"\n style=\"--speed: ${host.speedSec}s\"\n role=\"region\"\n aria-label=\"Recent winners\"\n>\n ${host.renderHudLabel()}\n <div class=\"track\">${host.renderTrack()}</div>\n</div>\n`;\n}\n"],"names":["render","host","html"],"mappings":";AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAA;AAAA,oBAEWD,EAAK,QAAQ;AAAA;AAAA;AAAA;AAAA,IAI7BA,EAAK,eAAc,CAAE;AAAA,uBACFA,EAAK,aAAa;AAAA;AAAA;AAGzC;"}
@@ -0,0 +1,287 @@
1
+ import { LitElement as f, html as t, nothing as i } from "lit";
2
+ import { keyed as $ } from "lit/directives/keyed.js";
3
+ import { repeat as g } from "lit/directives/repeat.js";
4
+ import { property as h, state as v } from "lit/decorators.js";
5
+ import { Component as I } from "../../../../shared/lib/lit/component.js";
6
+ import { scss as b } from "../../../../shared/lib/lit/scss.js";
7
+ import { OS_LEADERBOARD_CASINO_MARQUEE as y } from "../../constants/tags.js";
8
+ import { osLeaderboardCasinoTheme as T } from "../../theme/styles.js";
9
+ import { renderPlayerName as C } from "../../theme/vip-mark.js";
10
+ import { iconService as u } from "../../services/icon.service.js";
11
+ import { winIcon as R } from "./components/win-icons.js";
12
+ import { parseMarqueeItem as m, formatWinAmount as o } from "./marquee-item.js";
13
+ import { ACTIVE_MARQUEE_VARIANT as q, isMarqueeVariant as A } from "./marquee-variants.js";
14
+ import S from "./marquee-section.html.js";
15
+ import x from "./marquee-section.scss.js";
16
+ var M = Object.defineProperty, V = Object.getOwnPropertyDescriptor, c = (e, s, r, a) => {
17
+ for (var n = a > 1 ? void 0 : a ? V(s, r) : s, d = e.length - 1, l; d >= 0; d--)
18
+ (l = e[d]) && (n = (a ? l(s, r, n) : l(n)) || n);
19
+ return a && n && M(s, r, n), n;
20
+ };
21
+ let p = class extends f {
22
+ constructor() {
23
+ super(...arguments), this.variant = q, this.hudIndex = 0, this.feedRows = [], this.feedCursor = 0, this.feedKey = 0;
24
+ }
25
+ get speedSec() {
26
+ return this.section?.speedSec ?? 30;
27
+ }
28
+ connectedCallback() {
29
+ super.connectedCallback(), this.syncVariantAttribute(), this.startVariantTimers();
30
+ }
31
+ updated(e) {
32
+ (e.has("variant") || e.has("section")) && (this.syncVariantAttribute(), this.stopVariantTimers(), this.startVariantTimers());
33
+ }
34
+ disconnectedCallback() {
35
+ this.stopVariantTimers(), super.disconnectedCallback();
36
+ }
37
+ syncVariantAttribute() {
38
+ const e = A(this.variant) ? this.variant : "classic";
39
+ this.dataset.variant = e;
40
+ }
41
+ parsedWins() {
42
+ return (this.section?.items ?? []).map(
43
+ (e, s) => m(e, s)
44
+ );
45
+ }
46
+ startVariantTimers() {
47
+ if (this.variant === "hud" && (this.hudIndex = 0, this.hudTimer = setInterval(() => {
48
+ const e = this.section?.items?.length ?? 0;
49
+ e > 1 && (this.hudIndex = (this.hudIndex + 1) % e);
50
+ }, 3e3)), this.variant === "feed") {
51
+ this.feedRows = [], this.feedCursor = 0, this.feedKey = 0;
52
+ for (let e = 0; e < 4; e += 1) this.pushFeedRow(!1);
53
+ this.feedTimer = setInterval(() => this.pushFeedRow(!0), 2600);
54
+ }
55
+ }
56
+ stopVariantTimers() {
57
+ this.hudTimer && clearInterval(this.hudTimer), this.feedTimer && clearInterval(this.feedTimer), this.hudTimer = void 0, this.feedTimer = void 0;
58
+ }
59
+ pushFeedRow(e) {
60
+ const s = this.parsedWins();
61
+ if (!s.length) return;
62
+ const r = s[this.feedCursor % s.length];
63
+ this.feedCursor += 1;
64
+ const a = { ...r, key: this.feedKey++ };
65
+ this.feedRows = e ? [a, ...this.feedRows].slice(0, 4) : [a, ...this.feedRows];
66
+ }
67
+ formatAmount(e) {
68
+ return o(e.amount ?? null, e.currency ?? "USD");
69
+ }
70
+ renderSeparator() {
71
+ return t`<span class="sep" aria-hidden="true">·</span>`;
72
+ }
73
+ renderItemIcon(e) {
74
+ if (e.gameId) {
75
+ const s = u.resolveGameIconName(e.gameId, 0), r = u.get(s).url;
76
+ return t`<img src=${r} alt=${e.game} />`;
77
+ }
78
+ return R(e.icon);
79
+ }
80
+ /** Uses shared VIP badge styles from theme (v0 outline tag). */
81
+ renderMarqueeUser(e, s) {
82
+ return C(e, { vip: s });
83
+ }
84
+ renderClassicItem(e, s) {
85
+ const r = m(e, s), a = this.formatAmount(e);
86
+ return t`
87
+ <span class="item">
88
+ <span class="icon">${this.renderItemIcon(r)}</span>
89
+ <span class="txt">
90
+ ${this.renderMarqueeUser(r.user, r.vip)}
91
+ <span class="verb">won</span>
92
+ ${e.amount != null ? t`<span class="amt">${a}</span>` : i}
93
+ ${r.game ? t`
94
+ <span class="tail">
95
+ <span class="on">on</span>
96
+ <span class="game">${r.game}</span>
97
+ </span>
98
+ ` : i}
99
+ </span>
100
+ </span>
101
+ `;
102
+ }
103
+ renderClassicGroup(e) {
104
+ return t`
105
+ <span class="group" aria-hidden="true">
106
+ ${e.map(
107
+ (s, r) => t`
108
+ ${this.renderClassicItem(s, r)}${this.renderSeparator()}
109
+ `
110
+ )}
111
+ </span>
112
+ `;
113
+ }
114
+ renderTrack() {
115
+ const e = this.section?.items ?? [];
116
+ return t`${this.renderClassicGroup(e)}${this.renderClassicGroup(e)}`;
117
+ }
118
+ renderHudLabel() {
119
+ return i;
120
+ }
121
+ renderTickerWin(e) {
122
+ const s = o(e.amount, e.currency);
123
+ return t`
124
+ <span class="win ${e.big ? "big" : ""}">
125
+ <span class="chip">${this.renderItemIcon(e)}</span>
126
+ <span class="txt">
127
+ ${this.renderMarqueeUser(e.user, e.vip)}
128
+ <span class="verb">won</span>
129
+ ${s ? t`<span class="amt">${s}</span>` : i}
130
+ ${e.game ? t`
131
+ <span class="tail">
132
+ <span class="on">on</span>
133
+ <span class="game">${e.game}</span>
134
+ </span>
135
+ ` : i}
136
+ </span>
137
+ </span>
138
+ ${this.renderSeparator()}
139
+ `;
140
+ }
141
+ renderTicker() {
142
+ const e = this.parsedWins(), s = t`<div class="group">
143
+ ${e.map((r) => this.renderTickerWin(r))}
144
+ </div>`;
145
+ return t`
146
+ <div
147
+ class="marquee"
148
+ style="--speed: ${this.speedSec}s"
149
+ role="region"
150
+ aria-label="Recent winners"
151
+ >
152
+ <div class="track">${s}${s}</div>
153
+ </div>
154
+ `;
155
+ }
156
+ renderHudStreamGroup(e) {
157
+ return t`<div class="group">
158
+ ${e.map(
159
+ (s) => t`
160
+ <span class="win ${s.vip ? "vip" : ""}">
161
+ ${this.renderItemIcon(s)}${this.renderMarqueeUser(s.user, s.vip)}<span class="amt">${o(s.amount, s.currency)}</span
162
+ ><span class="sep-inline">/</span><span class="game">${s.game}</span>
163
+ </span>
164
+ `
165
+ )}
166
+ </div>`;
167
+ }
168
+ renderHud() {
169
+ const e = this.parsedWins();
170
+ if (!e.length) return i;
171
+ const s = e[this.hudIndex] ?? e[0], r = this.renderHudStreamGroup(e);
172
+ return t`
173
+ <div
174
+ class="marquee"
175
+ style="--speed: ${this.speedSec}s"
176
+ role="region"
177
+ aria-label="Recent winners"
178
+ >
179
+ <div class="hero">
180
+ <span class="badge">Latest win</span>
181
+ <span class="chip">${this.renderItemIcon(s)}</span>
182
+ ${$(
183
+ this.hudIndex,
184
+ t`<span class="info">
185
+ <span class="who">${this.renderMarqueeUser(s.user, s.vip)}</span>
186
+ <span class="val">${o(s.amount, s.currency)}</span>
187
+ </span>`
188
+ )}
189
+ </div>
190
+ <div class="stream">
191
+ <div class="track">${r}${r}</div>
192
+ </div>
193
+ </div>
194
+ `;
195
+ }
196
+ renderBeltGroup(e) {
197
+ return t`<div class="group">
198
+ ${e.map(
199
+ (s) => t`
200
+ <span class="pill ${s.big ? "big" : ""} ${s.vip ? "vip" : ""}">
201
+ <span class="chip">${this.renderItemIcon(s)}</span>
202
+ ${this.renderMarqueeUser(s.user, s.vip)}
203
+ <span class="game">${s.game}</span>
204
+ <span class="amt">+${o(s.amount, s.currency)}</span>
205
+ </span>
206
+ `
207
+ )}
208
+ </div>`;
209
+ }
210
+ renderBelt() {
211
+ const e = this.parsedWins(), s = e, r = [...e].reverse(), a = this.renderBeltGroup(s), n = this.renderBeltGroup(r);
212
+ return t`
213
+ <div
214
+ class="marquee"
215
+ style="--speed: ${this.speedSec}s"
216
+ role="region"
217
+ aria-label="Recent winners"
218
+ >
219
+ <div class="lane lane-a">${a}${a}</div>
220
+ <div class="lane lane-b">${n}${n}</div>
221
+ </div>
222
+ `;
223
+ }
224
+ renderFeed() {
225
+ return t`
226
+ <div class="marquee feed-panel" role="region" aria-label="Recent winners">
227
+ <div class="head">
228
+ <span class="live"><i></i> Live wins</span>
229
+ <small>updating in real time</small>
230
+ </div>
231
+ <div class="list">
232
+ ${g(
233
+ this.feedRows,
234
+ (e) => e.key,
235
+ (e) => t`
236
+ <div class="row ${e.big ? "big" : ""} ${e.vip ? "vip" : ""}">
237
+ <span class="chip">${this.renderItemIcon(e)}</span>
238
+ <span class="meta">
239
+ ${this.renderMarqueeUser(e.user, e.vip)}
240
+ <span class="game-line">on ${e.game}</span>
241
+ </span>
242
+ <span class="amt"
243
+ >+${o(e.amount, e.currency)}</span
244
+ >
245
+ </div>
246
+ `
247
+ )}
248
+ </div>
249
+ </div>
250
+ `;
251
+ }
252
+ render() {
253
+ if (!(this.section?.items ?? []).length) return i;
254
+ switch (this.variant) {
255
+ case "ticker":
256
+ return this.renderTicker();
257
+ case "hud":
258
+ return this.renderHud();
259
+ case "belt":
260
+ return this.renderBelt();
261
+ case "feed":
262
+ return this.renderFeed();
263
+ default:
264
+ return S(this);
265
+ }
266
+ }
267
+ };
268
+ p.styles = [T, b(x)];
269
+ c([
270
+ h({ attribute: !1 })
271
+ ], p.prototype, "section", 2);
272
+ c([
273
+ h({ attribute: "variant" })
274
+ ], p.prototype, "variant", 2);
275
+ c([
276
+ v()
277
+ ], p.prototype, "hudIndex", 2);
278
+ c([
279
+ v()
280
+ ], p.prototype, "feedRows", 2);
281
+ p = c([
282
+ I({ selector: y })
283
+ ], p);
284
+ export {
285
+ p as OsLeaderboardCasinoMarquee
286
+ };
287
+ //# sourceMappingURL=marquee-section.js.map