@oddsmith/ui 1.0.4 → 1.0.6

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