@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,78 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { html as p, nothing as m } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import { LitElement as c } from "../../../../shared/vendor/lit-element-lit-element.js";
4
- import { property as d } from "../../../../shared/vendor/lit-reactive-element-property.js";
5
- import { state as h } from "../../../../shared/vendor/lit-reactive-element-state.js";
6
- import { query as g } from "../../../../shared/vendor/lit-reactive-element-query.js";
7
- import { Component as u } from "../../../../shared/lib/lit/component.js";
8
- import { scss as f } from "../../../../shared/lib/lit/scss.js";
9
- import { OS_LEADERBOARD_CASINO_LEGALS as _ } from "../../constants/tags.js";
10
- import { osLeaderboardCasinoTheme as b } from "../../theme/styles.js";
11
- import "../../../../shared/vendor/lit-html-unsafe-svg.js";
12
- import L from "./legals-section.html.js";
13
- import v from "./legals-section.scss.js";
14
- var k = Object.defineProperty, C = Object.getOwnPropertyDescriptor, a = (e, t, r, n) => {
15
- for (var i = n > 1 ? void 0 : n ? C(t, r) : t, s = e.length - 1, l; s >= 0; s--)
16
- (l = e[s]) && (i = (n ? l(t, r, i) : l(i)) || i);
17
- return n && i && k(t, r, i), i;
18
- };
19
- 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.";
20
- let o = class extends c {
21
- constructor() {
22
- super(...arguments), this._activeLink = null, this.onDialogClose = () => {
23
- this._activeLink = null;
24
- }, this.onDialogClick = (e) => {
25
- e.target === this._dialog && (this._activeLink = null);
26
- };
27
- }
28
- get dialogTitle() {
29
- return this._activeLink?.label ?? "";
30
- }
31
- get dialogContent() {
32
- return this._activeLink?.content ?? w;
33
- }
34
- renderDialogContent() {
35
- return this.dialogContent.split(/<br\s*\/?>/).flatMap(
36
- (e, t, r) => t < r.length - 1 ? [e, p`<br />`] : [e]
37
- );
38
- }
39
- updated(e) {
40
- if (super.updated(e), e.has("_activeLink")) {
41
- const t = this._dialog;
42
- if (!t) return;
43
- this._activeLink && !t.open ? t.showModal() : !this._activeLink && t.open && t.close();
44
- }
45
- }
46
- _onLinkClick(e) {
47
- e.type === "external" ? window.open(e.href ?? "https://www.google.com", "_blank", "noopener,noreferrer") : this._activeLink = e;
48
- }
49
- renderLinks() {
50
- return p`${this.section.links.map(
51
- (e) => p`<button
52
- class="legal-link"
53
- type="button"
54
- @click=${() => this._onLinkClick(e)}
55
- >${e.label}</button>`
56
- )}`;
57
- }
58
- render() {
59
- return this.section?.links?.length ? L(this) : m;
60
- }
61
- };
62
- o.styles = [b, f(v)];
63
- a([
64
- d({ attribute: !1 })
65
- ], o.prototype, "section", 2);
66
- a([
67
- h()
68
- ], o.prototype, "_activeLink", 2);
69
- a([
70
- g("dialog")
71
- ], o.prototype, "_dialog", 2);
72
- o = a([
73
- u({ selector: _ })
74
- ], o);
75
- export {
76
- o as OsLeaderboardCasinoLegals
77
- };
78
- //# sourceMappingURL=legals-section.js.map
@@ -1 +0,0 @@
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;AAAAA;AAAAA;AAAAA,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;AAAAA,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;"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"legals-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,13 +0,0 @@
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
- }
@@ -1,8 +0,0 @@
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
- }
@@ -1,3 +0,0 @@
1
- import { TemplateResult } from 'lit';
2
- export type WinIconName = 'bag' | 'coin' | 'trophy' | 'fire' | 'gem' | 'bolt';
3
- export declare function winIcon(name: WinIconName): TemplateResult;
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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;"}
@@ -1,14 +0,0 @@
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;
@@ -1,57 +0,0 @@
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
@@ -1 +0,0 @@
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;"}
@@ -1,42 +0,0 @@
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
- }
@@ -1,8 +0,0 @@
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
- }
@@ -1,19 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { html as r } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import "../../../../shared/vendor/lit-element-lit-element.js";
4
- function n(e) {
5
- return r`<div
6
- class="marquee"
7
- style="--speed: ${e.speedSec}s"
8
- role="region"
9
- aria-label="Recent winners"
10
- >
11
- ${e.renderHudLabel()}
12
- <div class="track">${e.renderTrack()}</div>
13
- </div>
14
- `;
15
- }
16
- export {
17
- n as default
18
- };
19
- //# sourceMappingURL=marquee-section.html.js.map
@@ -1 +0,0 @@
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;AAAAA;AAAAA,oBAEWD,EAAK,QAAQ;AAAA;AAAA;AAAA;AAAA,IAI7BA,EAAK,eAAc,CAAE;AAAA,uBACFA,EAAK,aAAa;AAAA;AAAA;AAGzC;"}
@@ -1,290 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { html as t, nothing as i } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import { LitElement as f } from "../../../../shared/vendor/lit-element-lit-element.js";
4
- import { keyed as $ } from "../../../../shared/vendor/lit-html-keyed.js";
5
- import { repeat as g } from "../../../../shared/vendor/lit-html-repeat.js";
6
- import { property as h } from "../../../../shared/vendor/lit-reactive-element-property.js";
7
- import { state as v } from "../../../../shared/vendor/lit-reactive-element-state.js";
8
- import { Component as I } from "../../../../shared/lib/lit/component.js";
9
- import { scss as b } from "../../../../shared/lib/lit/scss.js";
10
- import { OS_LEADERBOARD_CASINO_MARQUEE as y } from "../../constants/tags.js";
11
- import { osLeaderboardCasinoTheme as T } from "../../theme/styles.js";
12
- import { renderPlayerName as C } from "../../theme/vip-mark.js";
13
- import { iconService as u } from "../../services/icon.service.js";
14
- import { winIcon as R } from "./components/win-icons.js";
15
- import { parseMarqueeItem as m, formatWinAmount as p } from "./marquee-item.js";
16
- import { ACTIVE_MARQUEE_VARIANT as A, isMarqueeVariant as q } from "./marquee-variants.js";
17
- import S from "./marquee-section.html.js";
18
- import x from "./marquee-section.scss.js";
19
- var M = Object.defineProperty, V = Object.getOwnPropertyDescriptor, c = (e, s, r, a) => {
20
- for (var n = a > 1 ? void 0 : a ? V(s, r) : s, d = e.length - 1, l; d >= 0; d--)
21
- (l = e[d]) && (n = (a ? l(s, r, n) : l(n)) || n);
22
- return a && n && M(s, r, n), n;
23
- };
24
- let o = class extends f {
25
- constructor() {
26
- super(...arguments), this.variant = A, this.hudIndex = 0, this.feedRows = [], this.feedCursor = 0, this.feedKey = 0;
27
- }
28
- get speedSec() {
29
- return this.section?.speedSec ?? 30;
30
- }
31
- connectedCallback() {
32
- super.connectedCallback(), this.syncVariantAttribute(), this.startVariantTimers();
33
- }
34
- updated(e) {
35
- (e.has("variant") || e.has("section")) && (this.syncVariantAttribute(), this.stopVariantTimers(), this.startVariantTimers());
36
- }
37
- disconnectedCallback() {
38
- this.stopVariantTimers(), super.disconnectedCallback();
39
- }
40
- syncVariantAttribute() {
41
- const e = q(this.variant) ? this.variant : "classic";
42
- this.dataset.variant = e;
43
- }
44
- parsedWins() {
45
- return (this.section?.items ?? []).map(
46
- (e, s) => m(e, s)
47
- );
48
- }
49
- startVariantTimers() {
50
- if (this.variant === "hud" && (this.hudIndex = 0, this.hudTimer = setInterval(() => {
51
- const e = this.section?.items?.length ?? 0;
52
- e > 1 && (this.hudIndex = (this.hudIndex + 1) % e);
53
- }, 3e3)), this.variant === "feed") {
54
- this.feedRows = [], this.feedCursor = 0, this.feedKey = 0;
55
- for (let e = 0; e < 4; e += 1) this.pushFeedRow(!1);
56
- this.feedTimer = setInterval(() => this.pushFeedRow(!0), 2600);
57
- }
58
- }
59
- stopVariantTimers() {
60
- this.hudTimer && clearInterval(this.hudTimer), this.feedTimer && clearInterval(this.feedTimer), this.hudTimer = void 0, this.feedTimer = void 0;
61
- }
62
- pushFeedRow(e) {
63
- const s = this.parsedWins();
64
- if (!s.length) return;
65
- const r = s[this.feedCursor % s.length];
66
- this.feedCursor += 1;
67
- const a = { ...r, key: this.feedKey++ };
68
- this.feedRows = e ? [a, ...this.feedRows].slice(0, 4) : [a, ...this.feedRows];
69
- }
70
- formatAmount(e) {
71
- return p(e.amount ?? null, e.currency ?? "USD");
72
- }
73
- renderSeparator() {
74
- return t`<span class="sep" aria-hidden="true">·</span>`;
75
- }
76
- renderItemIcon(e) {
77
- if (e.gameId) {
78
- const s = u.resolveGameIconName(e.gameId, 0), r = u.get(s).url;
79
- return t`<img src=${r} alt=${e.game} />`;
80
- }
81
- return R(e.icon);
82
- }
83
- /** Uses shared VIP badge styles from theme (v0 outline tag). */
84
- renderMarqueeUser(e, s) {
85
- return C(e, { vip: s });
86
- }
87
- renderClassicItem(e, s) {
88
- const r = m(e, s), a = this.formatAmount(e);
89
- return t`
90
- <span class="item">
91
- <span class="icon">${this.renderItemIcon(r)}</span>
92
- <span class="txt">
93
- ${this.renderMarqueeUser(r.user, r.vip)}
94
- <span class="verb">won</span>
95
- ${e.amount != null ? t`<span class="amt">${a}</span>` : i}
96
- ${r.game ? t`
97
- <span class="tail">
98
- <span class="on">on</span>
99
- <span class="game">${r.game}</span>
100
- </span>
101
- ` : i}
102
- </span>
103
- </span>
104
- `;
105
- }
106
- renderClassicGroup(e) {
107
- return t`
108
- <span class="group" aria-hidden="true">
109
- ${e.map(
110
- (s, r) => t`
111
- ${this.renderClassicItem(s, r)}${this.renderSeparator()}
112
- `
113
- )}
114
- </span>
115
- `;
116
- }
117
- renderTrack() {
118
- const e = this.section?.items ?? [];
119
- return t`${this.renderClassicGroup(e)}${this.renderClassicGroup(e)}`;
120
- }
121
- renderHudLabel() {
122
- return i;
123
- }
124
- renderTickerWin(e) {
125
- const s = p(e.amount, e.currency);
126
- return t`
127
- <span class="win ${e.big ? "big" : ""}">
128
- <span class="chip">${this.renderItemIcon(e)}</span>
129
- <span class="txt">
130
- ${this.renderMarqueeUser(e.user, e.vip)}
131
- <span class="verb">won</span>
132
- ${s ? t`<span class="amt">${s}</span>` : i}
133
- ${e.game ? t`
134
- <span class="tail">
135
- <span class="on">on</span>
136
- <span class="game">${e.game}</span>
137
- </span>
138
- ` : i}
139
- </span>
140
- </span>
141
- ${this.renderSeparator()}
142
- `;
143
- }
144
- renderTicker() {
145
- const e = this.parsedWins(), s = t`<div class="group">
146
- ${e.map((r) => this.renderTickerWin(r))}
147
- </div>`;
148
- return t`
149
- <div
150
- class="marquee"
151
- style="--speed: ${this.speedSec}s"
152
- role="region"
153
- aria-label="Recent winners"
154
- >
155
- <div class="track">${s}${s}</div>
156
- </div>
157
- `;
158
- }
159
- renderHudStreamGroup(e) {
160
- return t`<div class="group">
161
- ${e.map(
162
- (s) => t`
163
- <span class="win ${s.vip ? "vip" : ""}">
164
- ${this.renderItemIcon(s)}${this.renderMarqueeUser(s.user, s.vip)}<span class="amt">${p(s.amount, s.currency)}</span
165
- ><span class="sep-inline">/</span><span class="game">${s.game}</span>
166
- </span>
167
- `
168
- )}
169
- </div>`;
170
- }
171
- renderHud() {
172
- const e = this.parsedWins();
173
- if (!e.length) return i;
174
- const s = e[this.hudIndex] ?? e[0], r = this.renderHudStreamGroup(e);
175
- return t`
176
- <div
177
- class="marquee"
178
- style="--speed: ${this.speedSec}s"
179
- role="region"
180
- aria-label="Recent winners"
181
- >
182
- <div class="hero">
183
- <span class="badge">Latest win</span>
184
- <span class="chip">${this.renderItemIcon(s)}</span>
185
- ${$(
186
- this.hudIndex,
187
- t`<span class="info">
188
- <span class="who">${this.renderMarqueeUser(s.user, s.vip)}</span>
189
- <span class="val">${p(s.amount, s.currency)}</span>
190
- </span>`
191
- )}
192
- </div>
193
- <div class="stream">
194
- <div class="track">${r}${r}</div>
195
- </div>
196
- </div>
197
- `;
198
- }
199
- renderBeltGroup(e) {
200
- return t`<div class="group">
201
- ${e.map(
202
- (s) => t`
203
- <span class="pill ${s.big ? "big" : ""} ${s.vip ? "vip" : ""}">
204
- <span class="chip">${this.renderItemIcon(s)}</span>
205
- ${this.renderMarqueeUser(s.user, s.vip)}
206
- <span class="game">${s.game}</span>
207
- <span class="amt">+${p(s.amount, s.currency)}</span>
208
- </span>
209
- `
210
- )}
211
- </div>`;
212
- }
213
- renderBelt() {
214
- const e = this.parsedWins(), s = e, r = [...e].reverse(), a = this.renderBeltGroup(s), n = this.renderBeltGroup(r);
215
- return t`
216
- <div
217
- class="marquee"
218
- style="--speed: ${this.speedSec}s"
219
- role="region"
220
- aria-label="Recent winners"
221
- >
222
- <div class="lane lane-a">${a}${a}</div>
223
- <div class="lane lane-b">${n}${n}</div>
224
- </div>
225
- `;
226
- }
227
- renderFeed() {
228
- return t`
229
- <div class="marquee feed-panel" role="region" aria-label="Recent winners">
230
- <div class="head">
231
- <span class="live"><i></i> Live wins</span>
232
- <small>updating in real time</small>
233
- </div>
234
- <div class="list">
235
- ${g(
236
- this.feedRows,
237
- (e) => e.key,
238
- (e) => t`
239
- <div class="row ${e.big ? "big" : ""} ${e.vip ? "vip" : ""}">
240
- <span class="chip">${this.renderItemIcon(e)}</span>
241
- <span class="meta">
242
- ${this.renderMarqueeUser(e.user, e.vip)}
243
- <span class="game-line">on ${e.game}</span>
244
- </span>
245
- <span class="amt"
246
- >+${p(e.amount, e.currency)}</span
247
- >
248
- </div>
249
- `
250
- )}
251
- </div>
252
- </div>
253
- `;
254
- }
255
- render() {
256
- if (!(this.section?.items ?? []).length) return i;
257
- switch (this.variant) {
258
- case "ticker":
259
- return this.renderTicker();
260
- case "hud":
261
- return this.renderHud();
262
- case "belt":
263
- return this.renderBelt();
264
- case "feed":
265
- return this.renderFeed();
266
- default:
267
- return S(this);
268
- }
269
- }
270
- };
271
- o.styles = [T, b(x)];
272
- c([
273
- h({ attribute: !1 })
274
- ], o.prototype, "section", 2);
275
- c([
276
- h({ attribute: "variant" })
277
- ], o.prototype, "variant", 2);
278
- c([
279
- v()
280
- ], o.prototype, "hudIndex", 2);
281
- c([
282
- v()
283
- ], o.prototype, "feedRows", 2);
284
- o = c([
285
- I({ selector: y })
286
- ], o);
287
- export {
288
- o as OsLeaderboardCasinoMarquee
289
- };
290
- //# sourceMappingURL=marquee-section.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"marquee-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/marquee-section/marquee-section.ts"],"sourcesContent":["import { LitElement, html, nothing, type TemplateResult } from 'lit';\nimport { keyed } from 'lit/directives/keyed.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { property, state } from 'lit/decorators.js';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_MARQUEE } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport { renderPlayerName } from '@os-leaderboard-casino/theme/vip-mark.js';\nimport type {\n OsLeaderboardCasinoMarqueeItem,\n OsLeaderboardCasinoMarqueeSection,\n} from '@os-leaderboard-casino/types/sections.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport { winIcon } from './components/win-icons.js';\nimport {\n formatWinAmount,\n parseMarqueeItem,\n type ParsedMarqueeWin,\n} from './marquee-item.js';\nimport {\n ACTIVE_MARQUEE_VARIANT,\n isMarqueeVariant,\n type MarqueeVariant,\n} from './marquee-variants.js';\nimport type { MarqueeSectionHost } from './marquee-section.host.js';\nimport renderTemplate from './marquee-section.html?lit-html';\nimport styles from './marquee-section.scss?inline';\n\ninterface FeedRow extends ParsedMarqueeWin {\n key: number;\n}\n\n/** Infinitely-scrolling winners ticker — v0 variant ports + classic fallback. */\n@Component({ selector: OS_LEADERBOARD_CASINO_MARQUEE })\nexport class OsLeaderboardCasinoMarquee\n extends LitElement\n implements MarqueeSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoMarqueeSection;\n\n @property({ attribute: 'variant' })\n variant: MarqueeVariant = ACTIVE_MARQUEE_VARIANT;\n\n @state()\n private hudIndex = 0;\n\n @state()\n private feedRows: FeedRow[] = [];\n\n private hudTimer?: ReturnType<typeof setInterval>;\n private feedTimer?: ReturnType<typeof setInterval>;\n private feedCursor = 0;\n private feedKey = 0;\n\n get speedSec(): number {\n return this.section?.speedSec ?? 30;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.syncVariantAttribute();\n this.startVariantTimers();\n }\n\n updated(changed: Map<string, unknown>): void {\n if (changed.has('variant') || changed.has('section')) {\n this.syncVariantAttribute();\n this.stopVariantTimers();\n this.startVariantTimers();\n }\n }\n\n disconnectedCallback(): void {\n this.stopVariantTimers();\n super.disconnectedCallback();\n }\n\n private syncVariantAttribute(): void {\n const next = isMarqueeVariant(this.variant) ? this.variant : 'classic';\n this.dataset.variant = next;\n }\n\n private parsedWins(): ParsedMarqueeWin[] {\n return (this.section?.items ?? []).map((item, index) =>\n parseMarqueeItem(item, index),\n );\n }\n\n private startVariantTimers(): void {\n if (this.variant === 'hud') {\n this.hudIndex = 0;\n this.hudTimer = setInterval(() => {\n const count = this.section?.items?.length ?? 0;\n if (count > 1) this.hudIndex = (this.hudIndex + 1) % count;\n }, 3000);\n }\n\n if (this.variant === 'feed') {\n this.feedRows = [];\n this.feedCursor = 0;\n this.feedKey = 0;\n for (let i = 0; i < 4; i += 1) this.pushFeedRow(false);\n this.feedTimer = setInterval(() => this.pushFeedRow(true), 2600);\n }\n }\n\n private stopVariantTimers(): void {\n if (this.hudTimer) clearInterval(this.hudTimer);\n if (this.feedTimer) clearInterval(this.feedTimer);\n this.hudTimer = undefined;\n this.feedTimer = undefined;\n }\n\n private pushFeedRow(trim: boolean): void {\n const wins = this.parsedWins();\n if (!wins.length) return;\n const win = wins[this.feedCursor % wins.length];\n this.feedCursor += 1;\n const row: FeedRow = { ...win, key: this.feedKey++ };\n this.feedRows = trim\n ? [row, ...this.feedRows].slice(0, 4)\n : [row, ...this.feedRows];\n }\n\n private formatAmount(item: OsLeaderboardCasinoMarqueeItem): string {\n return formatWinAmount(item.amount ?? null, item.currency ?? 'USD');\n }\n\n private renderSeparator() {\n return html`<span class=\"sep\" aria-hidden=\"true\">·</span>`;\n }\n\n private renderItemIcon(win: ParsedMarqueeWin) {\n if (win.gameId) {\n const iconName = iconService.resolveGameIconName(win.gameId, 0);\n const url = iconService.get(iconName).url!;\n return html`<img src=${url} alt=${win.game} />`;\n }\n return winIcon(win.icon);\n }\n\n /** Uses shared VIP badge styles from theme (v0 outline tag). */\n private renderMarqueeUser(user: string, vip?: boolean) {\n return renderPlayerName(user, { vip });\n }\n\n private renderClassicItem(item: OsLeaderboardCasinoMarqueeItem, index: number) {\n const win = parseMarqueeItem(item, index);\n const amount = this.formatAmount(item);\n return html`\n <span class=\"item\">\n <span class=\"icon\">${this.renderItemIcon(win)}</span>\n <span class=\"txt\">\n ${this.renderMarqueeUser(win.user, win.vip)}\n <span class=\"verb\">won</span>\n ${item.amount != null\n ? html`<span class=\"amt\">${amount}</span>`\n : nothing}\n ${win.game\n ? html`\n <span class=\"tail\">\n <span class=\"on\">on</span>\n <span class=\"game\">${win.game}</span>\n </span>\n `\n : nothing}\n </span>\n </span>\n `;\n }\n\n private renderClassicGroup(items: OsLeaderboardCasinoMarqueeItem[]) {\n return html`\n <span class=\"group\" aria-hidden=\"true\">\n ${items.map(\n (item, index) => html`\n ${this.renderClassicItem(item, index)}${this.renderSeparator()}\n `,\n )}\n </span>\n `;\n }\n\n renderTrack(): TemplateResult {\n const items = this.section?.items ?? [];\n return html`${this.renderClassicGroup(items)}${this.renderClassicGroup(items)}`;\n }\n\n renderHudLabel(): TemplateResult | typeof nothing {\n return nothing;\n }\n\n private renderTickerWin(win: ParsedMarqueeWin) {\n const amount = formatWinAmount(win.amount, win.currency);\n return html`\n <span class=\"win ${win.big ? 'big' : ''}\">\n <span class=\"chip\">${this.renderItemIcon(win)}</span>\n <span class=\"txt\">\n ${this.renderMarqueeUser(win.user, win.vip)}\n <span class=\"verb\">won</span>\n ${amount ? html`<span class=\"amt\">${amount}</span>` : nothing}\n ${win.game\n ? html`\n <span class=\"tail\">\n <span class=\"on\">on</span>\n <span class=\"game\">${win.game}</span>\n </span>\n `\n : nothing}\n </span>\n </span>\n ${this.renderSeparator()}\n `;\n }\n\n private renderTicker() {\n const wins = this.parsedWins();\n const group = html`<div class=\"group\">\n ${wins.map((win) => this.renderTickerWin(win))}\n </div>`;\n return html`\n <div\n class=\"marquee\"\n style=\"--speed: ${this.speedSec}s\"\n role=\"region\"\n aria-label=\"Recent winners\"\n >\n <div class=\"track\">${group}${group}</div>\n </div>\n `;\n }\n\n private renderHudStreamGroup(wins: ParsedMarqueeWin[]) {\n return html`<div class=\"group\">\n ${wins.map(\n (win) => html`\n <span class=\"win ${win.vip ? 'vip' : ''}\">\n ${this.renderItemIcon(win)}${this.renderMarqueeUser(win.user, win.vip)}<span class=\"amt\">${formatWinAmount(win.amount, win.currency)}</span\n ><span class=\"sep-inline\">/</span><span class=\"game\">${win.game}</span>\n </span>\n `,\n )}\n </div>`;\n }\n\n private renderHud() {\n const wins = this.parsedWins();\n if (!wins.length) return nothing;\n const hero = wins[this.hudIndex] ?? wins[0];\n const group = this.renderHudStreamGroup(wins);\n\n return html`\n <div\n class=\"marquee\"\n style=\"--speed: ${this.speedSec}s\"\n role=\"region\"\n aria-label=\"Recent winners\"\n >\n <div class=\"hero\">\n <span class=\"badge\">Latest win</span>\n <span class=\"chip\">${this.renderItemIcon(hero)}</span>\n ${keyed(\n this.hudIndex,\n html`<span class=\"info\">\n <span class=\"who\">${this.renderMarqueeUser(hero.user, hero.vip)}</span>\n <span class=\"val\">${formatWinAmount(hero.amount, hero.currency)}</span>\n </span>`,\n )}\n </div>\n <div class=\"stream\">\n <div class=\"track\">${group}${group}</div>\n </div>\n </div>\n `;\n }\n\n private renderBeltGroup(wins: ParsedMarqueeWin[]) {\n return html`<div class=\"group\">\n ${wins.map(\n (win) => html`\n <span class=\"pill ${win.big ? 'big' : ''} ${win.vip ? 'vip' : ''}\">\n <span class=\"chip\">${this.renderItemIcon(win)}</span>\n ${this.renderMarqueeUser(win.user, win.vip)}\n <span class=\"game\">${win.game}</span>\n <span class=\"amt\">+${formatWinAmount(win.amount, win.currency)}</span>\n </span>\n `,\n )}\n </div>`;\n }\n\n private renderBelt() {\n const wins = this.parsedWins();\n const top = wins;\n const bottom = [...wins].reverse();\n const topGroup = this.renderBeltGroup(top);\n const bottomGroup = this.renderBeltGroup(bottom);\n\n return html`\n <div\n class=\"marquee\"\n style=\"--speed: ${this.speedSec}s\"\n role=\"region\"\n aria-label=\"Recent winners\"\n >\n <div class=\"lane lane-a\">${topGroup}${topGroup}</div>\n <div class=\"lane lane-b\">${bottomGroup}${bottomGroup}</div>\n </div>\n `;\n }\n\n private renderFeed() {\n return html`\n <div class=\"marquee feed-panel\" role=\"region\" aria-label=\"Recent winners\">\n <div class=\"head\">\n <span class=\"live\"><i></i> Live wins</span>\n <small>updating in real time</small>\n </div>\n <div class=\"list\">\n ${repeat(\n this.feedRows,\n (row) => row.key,\n (row) => html`\n <div class=\"row ${row.big ? 'big' : ''} ${row.vip ? 'vip' : ''}\">\n <span class=\"chip\">${this.renderItemIcon(row)}</span>\n <span class=\"meta\">\n ${this.renderMarqueeUser(row.user, row.vip)}\n <span class=\"game-line\">on ${row.game}</span>\n </span>\n <span class=\"amt\"\n >+${formatWinAmount(row.amount, row.currency)}</span\n >\n </div>\n `,\n )}\n </div>\n </div>\n `;\n }\n\n render() {\n const items = this.section?.items ?? [];\n if (!items.length) return nothing;\n\n switch (this.variant) {\n case 'ticker':\n return this.renderTicker();\n case 'hud':\n return this.renderHud();\n case 'belt':\n return this.renderBelt();\n case 'feed':\n return this.renderFeed();\n default:\n return renderTemplate(this);\n }\n }\n}\n"],"names":["OsLeaderboardCasinoMarquee","LitElement","ACTIVE_MARQUEE_VARIANT","changed","next","isMarqueeVariant","item","index","parseMarqueeItem","count","i","trim","wins","win","row","formatWinAmount","html","iconName","iconService","url","winIcon","user","vip","renderPlayerName","amount","nothing","items","group","hero","keyed","top","bottom","topGroup","bottomGroup","repeat","renderTemplate","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","state","Component","OS_LEADERBOARD_CASINO_MARQUEE"],"mappings":"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"}