@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,103 +0,0 @@
1
- import { getBundleDefaultPresetId as u, getOsLeaderboardCasinoPreset as a, resolvePresetState as f, getBundleLabels as b, getThemeVars as g, getTheme as p, resolveAssetsBundle as m } from "./assets-context.js";
2
- import { LEADERBOARD_CASINO_PRESET_CATALOG as z } from "./assets-context.js";
3
- import { resolveBackgroundVars as P } from "../theme/background.js";
4
- function h(e, n, r, s) {
5
- const o = e.branding?.themeId;
6
- return !o || p(o, s).appearance !== n ? r : o;
7
- }
8
- function d(e) {
9
- return {
10
- username: e.username,
11
- rank: e.rank,
12
- points: e.points ?? e.winnings ?? 0,
13
- totalBet: e.winnings,
14
- prize: null,
15
- splitCount: 1,
16
- you: e.isCurrentUser ?? !1
17
- };
18
- }
19
- function c(e) {
20
- const n = e.winnings ?? e.points ?? 0;
21
- return {
22
- id: e.id ?? `player-${e.rank}`,
23
- username: e.username,
24
- rank: e.rank,
25
- totalWinnings: n,
26
- points: e.points ?? n,
27
- winRate: 52,
28
- gamesPlayed: 120,
29
- streak: 2,
30
- level: 12,
31
- badges: []
32
- };
33
- }
34
- function k(e, n) {
35
- n && (e.sections.hero && (e.sections.hero = {
36
- ...e.sections.hero,
37
- ...n.title != null ? { title: n.title } : {},
38
- ...n.description != null ? { description: n.description } : {},
39
- ...n.endAt != null ? { endTs: n.endAt } : {},
40
- ...n.prizePool?.value != null ? { prizePoolValue: n.prizePool.value } : {},
41
- ...n.prizePool?.currency != null ? { prizePoolCurrency: n.prizePool.currency } : {},
42
- ...n.finished != null ? { status: n.finished ? "completed" : "active" } : {}
43
- }), e.sections.stats && n.participantCount != null && (e.sections.stats = {
44
- ...e.sections.stats,
45
- totalParticipants: n.participantCount
46
- }), e.sections.footer && n.footerText != null && (e.sections.footer = {
47
- ...e.sections.footer,
48
- text: n.footerText
49
- }));
50
- }
51
- function C(e, n) {
52
- if (!n?.length || !e.sections.table) return;
53
- const r = [...n].sort((o, t) => o.rank - t.rank), s = r.find((o) => o.isCurrentUser) ?? r.find((o) => o.username.toLowerCase() === "you");
54
- if (e.config.appearance === "glam" && e.sections.table.mode === "preview") {
55
- e.sections.table = {
56
- ...e.sections.table,
57
- topPlayers: r.slice(0, 10).map(d),
58
- currentUser: s ? d(s) : e.sections.table.currentUser
59
- };
60
- return;
61
- }
62
- if (e.sections.table.mode === "ledger") {
63
- const t = r.map(c).slice(0, 8), i = s && !t.some((l) => l.id === (s.id ?? `player-${s.rank}`)) ? c(s) : void 0;
64
- e.sections.table = {
65
- ...e.sections.table,
66
- players: t,
67
- currentUser: i
68
- };
69
- }
70
- }
71
- function v(e, n) {
72
- const r = m(n), s = e.preset ?? u(r), o = a(s, r);
73
- if (!o)
74
- throw new Error(
75
- `Unknown leaderboard preset "${s}". Check assets catalog.`
76
- );
77
- const t = h(
78
- e,
79
- o.appearance,
80
- o.themeId,
81
- r
82
- ), i = f(s, r);
83
- i.config.themeId = t, i.config.labels = {
84
- ...b(r),
85
- ...o.config.labels,
86
- ...e.branding?.labels
87
- };
88
- const l = e.branding?.background ? P(e.branding.background) : null;
89
- return i.config.themeVars = {
90
- ...g(t, r),
91
- ...l ?? {},
92
- ...e.branding?.themeVars
93
- }, k(i, e.campaign), C(i, e.players), i;
94
- }
95
- function A(e, n, r) {
96
- r !== void 0 && (e.assets = r), e.input = n, e.uuid = n.campaign?.uuid ?? "", e.finished = n.campaign?.finished ?? !1, e.state = v(n, e.assets);
97
- }
98
- export {
99
- z as LEADERBOARD_CASINO_PRESET_CATALOG,
100
- A as applyLeaderboardCasinoInput,
101
- v as resolveLeaderboardCasinoInput
102
- };
103
- //# sourceMappingURL=resolve-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-input.js","sources":["../../../../src/components/os-leaderboard-casino/integration/resolve-input.ts"],"sourcesContent":["import type { Player } from '../types/ledger.js';\nimport type { UserRank } from '@os-leaderboard-casino/types/data.js';\nimport type { LeaderboardCasinoAssetsBundle } from '../types/assets.js';\nimport type {\n LeaderboardCasinoCampaign,\n LeaderboardCasinoInput,\n LeaderboardCasinoPlayer,\n} from '../types/input.js';\nimport type { OsLeaderboardCasinoState } from '../types/state.js';\nimport {\n getBundleLabels,\n getBundleDefaultPresetId,\n getOsLeaderboardCasinoPreset,\n resolveAssetsBundle,\n resolvePresetState,\n getTheme,\n getThemeVars,\n type OsLeaderboardCasinoThemeId,\n LEADERBOARD_CASINO_PRESET_CATALOG,\n} from './assets-context.js';\nimport { resolveBackgroundVars } from '@os-leaderboard-casino/theme/background.js';\n\nexport { LEADERBOARD_CASINO_PRESET_CATALOG };\n\nfunction resolveThemeId(\n input: LeaderboardCasinoInput,\n appearance: OsLeaderboardCasinoState['config']['appearance'],\n fallback: string,\n bundle: LeaderboardCasinoAssetsBundle,\n): OsLeaderboardCasinoThemeId {\n const requested = input.branding?.themeId;\n if (!requested) return fallback as OsLeaderboardCasinoThemeId;\n const theme = getTheme(requested as OsLeaderboardCasinoThemeId, bundle);\n if (theme.appearance !== appearance)\n return fallback as OsLeaderboardCasinoThemeId;\n return requested as OsLeaderboardCasinoThemeId;\n}\n\nfunction toPreviewPlayer(player: LeaderboardCasinoPlayer): UserRank {\n return {\n username: player.username,\n rank: player.rank,\n points: player.points ?? player.winnings ?? 0,\n totalBet: player.winnings,\n prize: null,\n splitCount: 1,\n you: player.isCurrentUser ?? false,\n };\n}\n\nfunction toLedgerPlayer(player: LeaderboardCasinoPlayer): Player {\n const winnings = player.winnings ?? player.points ?? 0;\n return {\n id: player.id ?? `player-${player.rank}`,\n username: player.username,\n rank: player.rank,\n totalWinnings: winnings,\n points: player.points ?? winnings,\n winRate: 52,\n gamesPlayed: 120,\n streak: 2,\n level: 12,\n badges: [],\n };\n}\n\nfunction applyCampaign(\n state: OsLeaderboardCasinoState,\n campaign: LeaderboardCasinoCampaign | undefined,\n): void {\n if (!campaign) return;\n\n if (state.sections.hero) {\n state.sections.hero = {\n ...state.sections.hero,\n ...(campaign.title != null ? { title: campaign.title } : {}),\n ...(campaign.description != null\n ? { description: campaign.description }\n : {}),\n ...(campaign.endAt != null ? { endTs: campaign.endAt } : {}),\n ...(campaign.prizePool?.value != null\n ? { prizePoolValue: campaign.prizePool.value }\n : {}),\n ...(campaign.prizePool?.currency != null\n ? { prizePoolCurrency: campaign.prizePool.currency }\n : {}),\n ...(campaign.finished != null\n ? { status: campaign.finished ? 'completed' : 'active' }\n : {}),\n };\n }\n\n if (state.sections.stats && campaign.participantCount != null) {\n state.sections.stats = {\n ...state.sections.stats,\n totalParticipants: campaign.participantCount,\n };\n }\n\n if (state.sections.footer && campaign.footerText != null) {\n state.sections.footer = {\n ...state.sections.footer,\n text: campaign.footerText,\n };\n }\n}\n\nfunction applyPlayers(\n state: OsLeaderboardCasinoState,\n players: LeaderboardCasinoPlayer[] | undefined,\n): void {\n if (!players?.length || !state.sections.table) return;\n\n const sorted = [...players].sort((a, b) => a.rank - b.rank);\n const current =\n sorted.find((p) => p.isCurrentUser) ??\n sorted.find((p) => p.username.toLowerCase() === 'you');\n\n if (\n state.config.appearance === 'glam' &&\n state.sections.table.mode === 'preview'\n ) {\n state.sections.table = {\n ...state.sections.table,\n topPlayers: sorted.slice(0, 10).map(toPreviewPlayer),\n currentUser: current\n ? toPreviewPlayer(current)\n : state.sections.table.currentUser,\n };\n return;\n }\n\n if (state.sections.table.mode === 'ledger') {\n const ledger = sorted.map(toLedgerPlayer);\n const top = ledger.slice(0, 8);\n const pinned =\n current &&\n !top.some((p) => p.id === (current.id ?? `player-${current.rank}`))\n ? toLedgerPlayer(current)\n : undefined;\n\n state.sections.table = {\n ...state.sections.table,\n players: top,\n currentUser: pinned,\n };\n }\n}\n\n/**\n * Resolve integration input into render state using the provided assets bundle.\n * Falls back to bundled `assets/fallback/fallback.json` when `assets` is omitted.\n */\nexport function resolveLeaderboardCasinoInput(\n input: LeaderboardCasinoInput,\n assets?: LeaderboardCasinoAssetsBundle | null,\n): OsLeaderboardCasinoState {\n const bundle = resolveAssetsBundle(assets);\n const presetId = input.preset ?? getBundleDefaultPresetId(bundle);\n const preset = getOsLeaderboardCasinoPreset(presetId, bundle);\n if (!preset) {\n throw new Error(\n `Unknown leaderboard preset \"${presetId}\". Check assets catalog.`,\n );\n }\n\n const themeId = resolveThemeId(\n input,\n preset.appearance,\n preset.themeId,\n bundle,\n );\n const state = resolvePresetState(presetId, bundle);\n\n state.config.themeId = themeId;\n state.config.labels = {\n ...getBundleLabels(bundle),\n ...preset.config.labels,\n ...input.branding?.labels,\n };\n\n const backgroundVars = input.branding?.background\n ? resolveBackgroundVars(input.branding.background)\n : null;\n\n state.config.themeVars = {\n ...getThemeVars(themeId, bundle),\n ...(backgroundVars ?? {}),\n ...input.branding?.themeVars,\n };\n\n applyCampaign(state, input.campaign);\n applyPlayers(state, input.players);\n\n return state;\n}\n\nexport type LeaderboardCasinoHost = HTMLElement & {\n state: OsLeaderboardCasinoState;\n uuid?: string;\n finished?: boolean;\n input?: LeaderboardCasinoInput | null;\n assets?: LeaderboardCasinoAssetsBundle | null;\n assetsBaseUrl?: string;\n};\n\n/** Apply input (+ optional assets bundle) to a mounted element. */\nexport function applyLeaderboardCasinoInput(\n host: LeaderboardCasinoHost,\n input: LeaderboardCasinoInput,\n assets?: LeaderboardCasinoAssetsBundle | null,\n): void {\n if (assets !== undefined) {\n host.assets = assets;\n }\n host.input = input;\n host.uuid = input.campaign?.uuid ?? '';\n host.finished = input.campaign?.finished ?? false;\n host.state = resolveLeaderboardCasinoInput(input, host.assets);\n}\n"],"names":["resolveThemeId","input","appearance","fallback","bundle","requested","getTheme","toPreviewPlayer","player","toLedgerPlayer","winnings","applyCampaign","state","campaign","applyPlayers","players","sorted","a","b","current","p","top","pinned","resolveLeaderboardCasinoInput","assets","resolveAssetsBundle","presetId","getBundleDefaultPresetId","preset","getOsLeaderboardCasinoPreset","themeId","resolvePresetState","getBundleLabels","backgroundVars","resolveBackgroundVars","getThemeVars","applyLeaderboardCasinoInput","host"],"mappings":";;;AAwBA,SAASA,EACPC,GACAC,GACAC,GACAC,GAC4B;AAC5B,QAAMC,IAAYJ,EAAM,UAAU;AAGlC,SAFI,CAACI,KACSC,EAASD,GAAyCD,CAAM,EAC5D,eAAeF,IAChBC,IACFE;AACT;AAEA,SAASE,EAAgBC,GAA2C;AAClE,SAAO;AAAA,IACL,UAAUA,EAAO;AAAA,IACjB,MAAMA,EAAO;AAAA,IACb,QAAQA,EAAO,UAAUA,EAAO,YAAY;AAAA,IAC5C,UAAUA,EAAO;AAAA,IACjB,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,KAAKA,EAAO,iBAAiB;AAAA,EAAA;AAEjC;AAEA,SAASC,EAAeD,GAAyC;AAC/D,QAAME,IAAWF,EAAO,YAAYA,EAAO,UAAU;AACrD,SAAO;AAAA,IACL,IAAIA,EAAO,MAAM,UAAUA,EAAO,IAAI;AAAA,IACtC,UAAUA,EAAO;AAAA,IACjB,MAAMA,EAAO;AAAA,IACb,eAAeE;AAAA,IACf,QAAQF,EAAO,UAAUE;AAAA,IACzB,SAAS;AAAA,IACT,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,QAAQ,CAAA;AAAA,EAAC;AAEb;AAEA,SAASC,EACPC,GACAC,GACM;AACN,EAAKA,MAEDD,EAAM,SAAS,SACjBA,EAAM,SAAS,OAAO;AAAA,IACpB,GAAGA,EAAM,SAAS;AAAA,IAClB,GAAIC,EAAS,SAAS,OAAO,EAAE,OAAOA,EAAS,MAAA,IAAU,CAAA;AAAA,IACzD,GAAIA,EAAS,eAAe,OACxB,EAAE,aAAaA,EAAS,YAAA,IACxB,CAAA;AAAA,IACJ,GAAIA,EAAS,SAAS,OAAO,EAAE,OAAOA,EAAS,MAAA,IAAU,CAAA;AAAA,IACzD,GAAIA,EAAS,WAAW,SAAS,OAC7B,EAAE,gBAAgBA,EAAS,UAAU,MAAA,IACrC,CAAA;AAAA,IACJ,GAAIA,EAAS,WAAW,YAAY,OAChC,EAAE,mBAAmBA,EAAS,UAAU,SAAA,IACxC,CAAA;AAAA,IACJ,GAAIA,EAAS,YAAY,OACrB,EAAE,QAAQA,EAAS,WAAW,cAAc,aAC5C,CAAA;AAAA,EAAC,IAILD,EAAM,SAAS,SAASC,EAAS,oBAAoB,SACvDD,EAAM,SAAS,QAAQ;AAAA,IACrB,GAAGA,EAAM,SAAS;AAAA,IAClB,mBAAmBC,EAAS;AAAA,EAAA,IAI5BD,EAAM,SAAS,UAAUC,EAAS,cAAc,SAClDD,EAAM,SAAS,SAAS;AAAA,IACtB,GAAGA,EAAM,SAAS;AAAA,IAClB,MAAMC,EAAS;AAAA,EAAA;AAGrB;AAEA,SAASC,EACPF,GACAG,GACM;AACN,MAAI,CAACA,GAAS,UAAU,CAACH,EAAM,SAAS,MAAO;AAE/C,QAAMI,IAAS,CAAC,GAAGD,CAAO,EAAE,KAAK,CAACE,GAAGC,MAAMD,EAAE,OAAOC,EAAE,IAAI,GACpDC,IACJH,EAAO,KAAK,CAACI,MAAMA,EAAE,aAAa,KAClCJ,EAAO,KAAK,CAACI,MAAMA,EAAE,SAAS,YAAA,MAAkB,KAAK;AAEvD,MACER,EAAM,OAAO,eAAe,UAC5BA,EAAM,SAAS,MAAM,SAAS,WAC9B;AACA,IAAAA,EAAM,SAAS,QAAQ;AAAA,MACrB,GAAGA,EAAM,SAAS;AAAA,MAClB,YAAYI,EAAO,MAAM,GAAG,EAAE,EAAE,IAAIT,CAAe;AAAA,MACnD,aAAaY,IACTZ,EAAgBY,CAAO,IACvBP,EAAM,SAAS,MAAM;AAAA,IAAA;AAE3B;AAAA,EACF;AAEA,MAAIA,EAAM,SAAS,MAAM,SAAS,UAAU;AAE1C,UAAMS,IADSL,EAAO,IAAIP,CAAc,EACrB,MAAM,GAAG,CAAC,GACvBa,IACJH,KACA,CAACE,EAAI,KAAK,CAACD,MAAMA,EAAE,QAAQD,EAAQ,MAAM,UAAUA,EAAQ,IAAI,GAAG,IAC9DV,EAAeU,CAAO,IACtB;AAEN,IAAAP,EAAM,SAAS,QAAQ;AAAA,MACrB,GAAGA,EAAM,SAAS;AAAA,MAClB,SAASS;AAAA,MACT,aAAaC;AAAA,IAAA;AAAA,EAEjB;AACF;AAMO,SAASC,EACdtB,GACAuB,GAC0B;AAC1B,QAAMpB,IAASqB,EAAoBD,CAAM,GACnCE,IAAWzB,EAAM,UAAU0B,EAAyBvB,CAAM,GAC1DwB,IAASC,EAA6BH,GAAUtB,CAAM;AAC5D,MAAI,CAACwB;AACH,UAAM,IAAI;AAAA,MACR,+BAA+BF,CAAQ;AAAA,IAAA;AAI3C,QAAMI,IAAU9B;AAAA,IACdC;AAAA,IACA2B,EAAO;AAAA,IACPA,EAAO;AAAA,IACPxB;AAAA,EAAA,GAEIQ,IAAQmB,EAAmBL,GAAUtB,CAAM;AAEjD,EAAAQ,EAAM,OAAO,UAAUkB,GACvBlB,EAAM,OAAO,SAAS;AAAA,IACpB,GAAGoB,EAAgB5B,CAAM;AAAA,IACzB,GAAGwB,EAAO,OAAO;AAAA,IACjB,GAAG3B,EAAM,UAAU;AAAA,EAAA;AAGrB,QAAMgC,IAAiBhC,EAAM,UAAU,aACnCiC,EAAsBjC,EAAM,SAAS,UAAU,IAC/C;AAEJ,SAAAW,EAAM,OAAO,YAAY;AAAA,IACvB,GAAGuB,EAAaL,GAAS1B,CAAM;AAAA,IAC/B,GAAI6B,KAAkB,CAAA;AAAA,IACtB,GAAGhC,EAAM,UAAU;AAAA,EAAA,GAGrBU,EAAcC,GAAOX,EAAM,QAAQ,GACnCa,EAAaF,GAAOX,EAAM,OAAO,GAE1BW;AACT;AAYO,SAASwB,EACdC,GACApC,GACAuB,GACM;AACN,EAAIA,MAAW,WACba,EAAK,SAASb,IAEhBa,EAAK,QAAQpC,GACboC,EAAK,OAAOpC,EAAM,UAAU,QAAQ,IACpCoC,EAAK,WAAWpC,EAAM,UAAU,YAAY,IAC5CoC,EAAK,QAAQd,EAA8BtB,GAAOoC,EAAK,MAAM;AAC/D;"}
@@ -1 +0,0 @@
1
- export { getPlaygroundTheme, getTheme, getThemeVars, OS_LEADERBOARD_CASINO_THEMES, playgroundThemes, type OsLeaderboardCasinoThemeId, type OsLeaderboardCasinoThemeOption, } from './assets-context.js';
@@ -1,48 +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 l(a) {
5
- return s`<section>
6
- <div class="section-header">
7
- <h2 class="section-title">${a.climbTitle}</h2>
8
- </div>
9
-
10
- <div class="card ${a.section.vip ? "vip" : ""}">
11
- <div class="top">
12
- <div class="rank-ring"><b>#${a.section.rank}</b></div>
13
- <div class="who">
14
- <div class="name">${a.renderName()}</div>
15
- <div class="pts">${a.pointsLabel}</div>
16
- </div>
17
- <span class="trend ${a.trendClass}">${a.renderTrend()}</span>
18
- </div>
19
-
20
- <div class="progress">
21
- <div class="progress-labels">
22
- <span class="goal">
23
- <b>${a.pointsToNextLabel}</b>
24
- to reach top ${a.nextTierRank}
25
- </span>
26
- <span class="target">
27
- <span class="target-label">next:</span>
28
- <em>${a.nextTierLabel}</em>
29
- </span>
30
- </div>
31
- <div
32
- class="bar"
33
- role="progressbar"
34
- aria-valuenow="${a.progressPct}"
35
- aria-valuemin="0"
36
- aria-valuemax="100"
37
- >
38
- <div class="fill" style="width: ${a.progressPct}%"></div>
39
- </div>
40
- </div>
41
- </div>
42
- </section>
43
- `;
44
- }
45
- export {
46
- l as default
47
- };
48
- //# sourceMappingURL=climb-section.html.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"climb-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/climb-section/climb-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.climbTitle}</h2>\n </div>\n\n <div class=\"card ${host.section.vip ? 'vip' : ''}\">\n <div class=\"top\">\n <div class=\"rank-ring\"><b>#${host.section.rank}</b></div>\n <div class=\"who\">\n <div class=\"name\">${host.renderName()}</div>\n <div class=\"pts\">${host.pointsLabel}</div>\n </div>\n <span class=\"trend ${host.trendClass}\">${host.renderTrend()}</span>\n </div>\n\n <div class=\"progress\">\n <div class=\"progress-labels\">\n <span class=\"goal\">\n <b>${host.pointsToNextLabel}</b>\n to reach top ${host.nextTierRank}\n </span>\n <span class=\"target\">\n <span class=\"target-label\">next:</span>\n <em>${host.nextTierLabel}</em>\n </span>\n </div>\n <div\n class=\"bar\"\n role=\"progressbar\"\n aria-valuenow=\"${host.progressPct}\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div class=\"fill\" style=\"width: ${host.progressPct}%\"></div>\n </div>\n </div>\n </div>\n</section>\n`;\n}\n"],"names":["render","host","html"],"mappings":";;;AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAAA;AAAAA,gCAEuBD,EAAK,UAAU;AAAA;AAAA;AAAA,qBAG1BA,EAAK,QAAQ,MAAM,QAAQ,EAAE;AAAA;AAAA,mCAEfA,EAAK,QAAQ,IAAI;AAAA;AAAA,4BAExBA,EAAK,YAAY;AAAA,2BAClBA,EAAK,WAAW;AAAA;AAAA,2BAEhBA,EAAK,UAAU,KAAKA,EAAK,YAAW,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAMlDA,EAAK,iBAAiB;AAAA,yBACZA,EAAK,YAAY;AAAA;AAAA;AAAA;AAAA,gBAI1BA,EAAK,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAMTA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA,0CAICA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAM1D;"}
@@ -1,69 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { html as m, nothing as f } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import { LitElement as u } from "../../../../shared/vendor/lit-element-lit-element.js";
4
- import { property as b } from "../../../../shared/vendor/lit-reactive-element-property.js";
5
- import { unsafeSVG as p } from "../../../../shared/vendor/lit-html-unsafe-svg.js";
6
- import g from "../../assets/icons/table.rank-up.svg.js";
7
- import h from "../../assets/icons/table.rank-down.svg.js";
8
- import d from "../../assets/icons/table.rank-neutral.svg.js";
9
- import { Component as v } from "../../../../shared/lib/lit/component.js";
10
- import { scss as x } from "../../../../shared/lib/lit/scss.js";
11
- import { OS_LEADERBOARD_CASINO_CLIMB as L } from "../../constants/tags.js";
12
- import { osLeaderboardCasinoTheme as S } from "../../theme/styles.js";
13
- import { renderPlayerName as T } from "../../theme/vip-mark.js";
14
- import _ from "./climb-section.html.js";
15
- import C from "./climb-section.scss.js";
16
- var O = Object.defineProperty, w = Object.getOwnPropertyDescriptor, l = (t, e, s, o) => {
17
- for (var r = o > 1 ? void 0 : o ? w(e, s) : e, i = t.length - 1, a; i >= 0; i--)
18
- (a = t[i]) && (r = (o ? a(e, s, r) : a(r)) || r);
19
- return o && r && O(e, s, r), r;
20
- };
21
- function c(t) {
22
- return t.replace("<svg ", '<svg viewBox="0 0 512 512" ');
23
- }
24
- const N = c(g), $ = c(h), y = c(d);
25
- let n = class extends u {
26
- get climbTitle() {
27
- return this.section?.title ?? "Your climb";
28
- }
29
- get pointsLabel() {
30
- return `${this.section.points.toLocaleString()} pts`;
31
- }
32
- get trendClass() {
33
- const t = this.section?.trend ?? 0;
34
- return t > 0 ? "up" : t < 0 ? "down" : "flat";
35
- }
36
- renderTrend() {
37
- const t = this.section?.trend ?? 0;
38
- return t > 0 ? m`${p(N)}<b>${t}</b>` : t < 0 ? m`${p($)}<b>${Math.abs(t)}</b>` : m`${p(y)}<b>steady</b>`;
39
- }
40
- get pointsToNextLabel() {
41
- return `${this.section.pointsToNextTier.toLocaleString()} pts`;
42
- }
43
- get nextTierRank() {
44
- return this.section.nextTierRank;
45
- }
46
- get nextTierLabel() {
47
- return this.section.nextTierLabel;
48
- }
49
- get progressPct() {
50
- return Math.round(Math.min(1, Math.max(0, this.section.progress)) * 100);
51
- }
52
- renderName() {
53
- return T(this.section.username, { vip: this.section.vip });
54
- }
55
- render() {
56
- return this.section ? _(this) : f;
57
- }
58
- };
59
- n.styles = [S, x(C)];
60
- l([
61
- b({ attribute: !1 })
62
- ], n.prototype, "section", 2);
63
- n = l([
64
- v({ selector: L })
65
- ], n);
66
- export {
67
- n as OsLeaderboardCasinoClimb
68
- };
69
- //# sourceMappingURL=climb-section.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"climb-section.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/climb-section/climb-section.ts"],"sourcesContent":["import { html, LitElement, nothing, type TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport rankUpSvg from '../../assets/icons/table.rank-up.svg?raw';\nimport rankDownSvg from '../../assets/icons/table.rank-down.svg?raw';\nimport rankNeutralSvg from '../../assets/icons/table.rank-neutral.svg?raw';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_CLIMB } 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 { OsLeaderboardCasinoClimbSection } from '@os-leaderboard-casino/types/sections.js';\nimport type { ClimbSectionHost } from './climb-section.host.js';\nimport renderTemplate from './climb-section.html?lit-html';\nimport styles from './climb-section.scss?inline';\n\nfunction addViewBox(svg: string): string {\n return svg.replace('<svg ', '<svg viewBox=\"0 0 512 512\" ');\n}\nconst rankUpSvgVb = addViewBox(rankUpSvg);\nconst rankDownSvgVb = addViewBox(rankDownSvg);\nconst rankNeutralSvgVb = addViewBox(rankNeutralSvg);\n\n/** \"Your climb\" — progress towards the next prize tier with rank trend. */\n@Component({ selector: OS_LEADERBOARD_CASINO_CLIMB })\nexport class OsLeaderboardCasinoClimb\n extends LitElement\n implements ClimbSectionHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoClimbSection;\n\n get climbTitle(): string {\n return this.section?.title ?? 'Your climb';\n }\n\n get pointsLabel(): string {\n return `${this.section.points.toLocaleString()} pts`;\n }\n\n get trendClass(): string {\n const trend = this.section?.trend ?? 0;\n return trend > 0 ? 'up' : trend < 0 ? 'down' : 'flat';\n }\n\n renderTrend(): TemplateResult {\n const trend = this.section?.trend ?? 0;\n if (trend > 0) return html`${unsafeSVG(rankUpSvgVb)}<b>${trend}</b>`;\n if (trend < 0) return html`${unsafeSVG(rankDownSvgVb)}<b>${Math.abs(trend)}</b>`;\n return html`${unsafeSVG(rankNeutralSvgVb)}<b>steady</b>`;\n }\n\n get pointsToNextLabel(): string {\n return `${this.section.pointsToNextTier.toLocaleString()} pts`;\n }\n\n get nextTierRank(): number {\n return this.section.nextTierRank;\n }\n\n get nextTierLabel(): string {\n return this.section.nextTierLabel;\n }\n\n get progressPct(): number {\n return Math.round(Math.min(1, Math.max(0, this.section.progress)) * 100);\n }\n\n renderName() {\n return renderPlayerName(this.section.username, { vip: this.section.vip });\n }\n\n render() {\n if (!this.section) return nothing;\n return renderTemplate(this);\n }\n}\n"],"names":["addViewBox","svg","rankUpSvgVb","rankUpSvg","rankDownSvgVb","rankDownSvg","rankNeutralSvgVb","rankNeutralSvg","OsLeaderboardCasinoClimb","LitElement","trend","html","unsafeSVG","renderPlayerName","renderTemplate","nothing","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_CLIMB"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBA,SAASA,EAAWC,GAAqB;AACvC,SAAOA,EAAI,QAAQ,SAAS,6BAA6B;AAC3D;AACA,MAAMC,IAAcF,EAAWG,CAAS,GAClCC,IAAgBJ,EAAWK,CAAW,GACtCC,IAAmBN,EAAWO,CAAc;AAI3C,IAAMC,IAAN,cACGC,EAEV;AAAA,EAME,IAAI,aAAqB;AACvB,WAAO,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA,EAEA,IAAI,cAAsB;AACxB,WAAO,GAAG,KAAK,QAAQ,OAAO,gBAAgB;AAAA,EAChD;AAAA,EAEA,IAAI,aAAqB;AACvB,UAAMC,IAAQ,KAAK,SAAS,SAAS;AACrC,WAAOA,IAAQ,IAAI,OAAOA,IAAQ,IAAI,SAAS;AAAA,EACjD;AAAA,EAEA,cAA8B;AAC5B,UAAMA,IAAQ,KAAK,SAAS,SAAS;AACrC,WAAIA,IAAQ,IAAUC,IAAOC,EAAUV,CAAW,CAAC,MAAMQ,CAAK,SAC1DA,IAAQ,IAAUC,IAAOC,EAAUR,CAAa,CAAC,MAAM,KAAK,IAAIM,CAAK,CAAC,SACnEC,IAAOC,EAAUN,CAAgB,CAAC;AAAA,EAC3C;AAAA,EAEA,IAAI,oBAA4B;AAC9B,WAAO,GAAG,KAAK,QAAQ,iBAAiB,gBAAgB;AAAA,EAC1D;AAAA,EAEA,IAAI,eAAuB;AACzB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEA,IAAI,gBAAwB;AAC1B,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEA,IAAI,cAAsB;AACxB,WAAO,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,QAAQ,QAAQ,CAAC,IAAI,GAAG;AAAA,EACzE;AAAA,EAEA,aAAa;AACX,WAAOO,EAAiB,KAAK,QAAQ,UAAU,EAAE,KAAK,KAAK,QAAQ,KAAK;AAAA,EAC1E;AAAA,EAEA,SAAS;AACP,WAAK,KAAK,UACHC,EAAe,IAAI,IADAC;AAAAA,EAE5B;AACF;AArDaP,EAIJ,SAAS,CAACQ,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GANnBZ,EAOX,WAAA,WAAA,CAAA;AAPWA,IAANW,EAAA;AAAA,EADNE,EAAU,EAAE,UAAUC,EAAA,CAA6B;AAAA,GACvCd,CAAA;"}
@@ -1,5 +0,0 @@
1
- const r = ':host{display:block;width:100%}.card{position:relative;overflow:hidden;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);box-shadow:var(--panel-shadow);padding:16px 18px}.top{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.rank-ring{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(var(--surface-solid),var(--surface-solid)) padding-box,conic-gradient(from 220deg,var(--violet),var(--gold),var(--violet)) border-box;border:2px solid transparent}.rank-ring b{font-family:var(--font-mono);font-size:15px;font-weight:800;color:var(--text)}.who{flex:1;min-width:0}.name{font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--text)}.pts{margin-top:1px;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.trend{flex:none;display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px;border:1px solid var(--hairline)}.trend svg{width:15px;height:15px;flex:none}.trend.up{color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 35%,transparent)}.trend.down{color:var(--red);background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 35%,transparent)}.trend.flat{color:var(--text-dim);background:#ffffff0a}.progress{margin-top:15px}.progress-labels{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.goal{font-size:12px;color:var(--text-dim)}.goal b{color:var(--gold-strong);font-weight:800}.target{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--text-faint);white-space:nowrap}.target-label{line-height:1}.target em{display:inline-flex;align-items:center;gap:4px;font-style:normal;color:var(--text);line-height:1}.bar{position:relative;height:10px;border-radius:999px;background:#ffffff0f;border:1px solid var(--hairline);overflow:hidden}.fill{position:relative;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--violet) 0%,var(--gold) 100%);box-shadow:0 0 14px var(--gold-glow);transition:width .8s cubic-bezier(.22,1,.36,1)}.fill:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);background-size:200% 100%;animation:bar-shine 2.6s linear infinite}@keyframes bar-shine{0%{background-position:180% 0}to{background-position:-80% 0}}';
2
- export {
3
- r as default
4
- };
5
- //# sourceMappingURL=climb-section.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"climb-section.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +0,0 @@
1
- import { TemplateResult } from 'lit';
2
- import { OsLeaderboardCasinoEventItem } from '../../../types/sections.js';
3
- export type EventIconName = 'boost' | 'gift' | 'bolt' | 'fire' | 'star' | 'clock';
4
- export declare const eventIcon: (name: EventIconName) => TemplateResult;
5
- export declare function resolveEventIcon(event: OsLeaderboardCasinoEventItem): TemplateResult | string;
@@ -1,118 +0,0 @@
1
- import "../../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { html as o } from "../../../../../shared/vendor/lit-html-lit-html.js";
3
- import "../../../../../shared/vendor/lit-element-lit-element.js";
4
- const t = (r) => {
5
- switch (r) {
6
- case "boost":
7
- return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
8
- <path
9
- d="M4 20 9 9l6 6-11 5Z"
10
- fill="currentColor"
11
- opacity=".25"
12
- />
13
- <path
14
- d="M4 20 9 9l6 6-11 5Z"
15
- stroke="currentColor"
16
- stroke-width="1.5"
17
- stroke-linejoin="round"
18
- />
19
- <path
20
- d="M14 3v3M19 5l-2 2M21 10h-3"
21
- stroke="currentColor"
22
- stroke-width="1.5"
23
- stroke-linecap="round"
24
- />
25
- <circle cx="15.5" cy="8.5" r="2.5" fill="currentColor" opacity=".4" />
26
- </svg>`;
27
- case "gift":
28
- return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
29
- <rect
30
- x="4"
31
- y="9"
32
- width="16"
33
- height="11"
34
- rx="1.5"
35
- stroke="currentColor"
36
- stroke-width="1.5"
37
- />
38
- <path d="M4 9h16M12 9v11" stroke="currentColor" stroke-width="1.5" />
39
- <path
40
- d="M12 9C9 9 7 4 9.5 4S12 7 12 9Zm0 0c3 0 5-5 2.5-5S12 7 12 9Z"
41
- stroke="currentColor"
42
- stroke-width="1.5"
43
- stroke-linejoin="round"
44
- />
45
- </svg>`;
46
- case "bolt":
47
- return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
48
- <path
49
- d="M13 2 4 14h6l-1 8 9-12h-6l1-8Z"
50
- fill="currentColor"
51
- opacity=".25"
52
- />
53
- <path
54
- d="M13 2 4 14h6l-1 8 9-12h-6l1-8Z"
55
- stroke="currentColor"
56
- stroke-width="1.5"
57
- stroke-linejoin="round"
58
- />
59
- </svg>`;
60
- case "fire":
61
- return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
62
- <path
63
- d="M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z"
64
- fill="currentColor"
65
- opacity=".25"
66
- />
67
- <path
68
- d="M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z"
69
- stroke="currentColor"
70
- stroke-width="1.5"
71
- stroke-linejoin="round"
72
- />
73
- </svg>`;
74
- case "star":
75
- return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
76
- <path
77
- d="m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z"
78
- fill="currentColor"
79
- opacity=".25"
80
- />
81
- <path
82
- d="m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z"
83
- stroke="currentColor"
84
- stroke-width="1.5"
85
- stroke-linejoin="round"
86
- />
87
- </svg>`;
88
- case "clock":
89
- return o`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true">
90
- <circle cx="12" cy="12" r="9" stroke="currentColor" stroke-width="1.5" />
91
- <path
92
- d="M12 7v5l3.5 2"
93
- stroke="currentColor"
94
- stroke-width="1.5"
95
- stroke-linecap="round"
96
- stroke-linejoin="round"
97
- />
98
- </svg>`;
99
- }
100
- }, e = {
101
- "event-1": "bolt",
102
- "event-2": "boost"
103
- }, i = {
104
- gold: "bolt",
105
- violet: "boost",
106
- green: "star",
107
- red: "fire"
108
- };
109
- function c(r) {
110
- return r.icon ? r.icon : t(
111
- e[r.id] ?? i[r.accent ?? "gold"] ?? "star"
112
- );
113
- }
114
- export {
115
- t as eventIcon,
116
- c as resolveEventIcon
117
- };
118
- //# sourceMappingURL=event-icons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-icons.js","sources":["../../../../../../src/components/os-leaderboard-casino/sections/events-banner/components/event-icons.ts"],"sourcesContent":["import { html, type TemplateResult } from 'lit';\nimport type { OsLeaderboardCasinoEventItem } from '@os-leaderboard-casino/types/sections.js';\n\nexport type EventIconName = 'boost' | 'gift' | 'bolt' | 'fire' | 'star' | 'clock';\n\nexport const eventIcon = (name: EventIconName): TemplateResult => {\n switch (name) {\n case 'boost':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M4 20 9 9l6 6-11 5Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M4 20 9 9l6 6-11 5Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M14 3v3M19 5l-2 2M21 10h-3\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n <circle cx=\"15.5\" cy=\"8.5\" r=\"2.5\" fill=\"currentColor\" opacity=\".4\" />\n </svg>`;\n case 'gift':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"4\"\n y=\"9\"\n width=\"16\"\n height=\"11\"\n rx=\"1.5\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n />\n <path d=\"M4 9h16M12 9v11\" stroke=\"currentColor\" stroke-width=\"1.5\" />\n <path\n d=\"M12 9C9 9 7 4 9.5 4S12 7 12 9Zm0 0c3 0 5-5 2.5-5S12 7 12 9Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'bolt':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M13 2 4 14h6l-1 8 9-12h-6l1-8Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'fire':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"M12 3c1 3 4 4 4 8a4 4 0 1 1-8 0c0-2 1-3 2-4 .5 1.5 2 2 2-4Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'star':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z\"\n fill=\"currentColor\"\n opacity=\".25\"\n />\n <path\n d=\"m12 3 2.6 5.5 6 .8-4.4 4.2 1.1 6L12 16.8 6.7 19.5l1.1-6L3.4 9.3l6-.8L12 3Z\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n case 'clock':\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" />\n <path\n d=\"M12 7v5l3.5 2\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>`;\n }\n};\n\nconst ICON_BY_ID: Record<string, EventIconName> = {\n 'event-1': 'bolt',\n 'event-2': 'boost',\n};\n\nconst ICON_BY_ACCENT: Record<\n NonNullable<OsLeaderboardCasinoEventItem['accent']>,\n EventIconName\n> = {\n gold: 'bolt',\n violet: 'boost',\n green: 'star',\n red: 'fire',\n};\n\nexport function resolveEventIcon(\n event: OsLeaderboardCasinoEventItem,\n): TemplateResult | string {\n if (event.icon) return event.icon;\n return eventIcon(\n ICON_BY_ID[event.id] ??\n ICON_BY_ACCENT[event.accent ?? 'gold'] ??\n 'star',\n );\n}\n"],"names":["eventIcon","name","html","ICON_BY_ID","ICON_BY_ACCENT","resolveEventIcon","event"],"mappings":";;;AAKO,MAAMA,IAAY,CAACC,MAAwC;AAChE,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAOC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAoBT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAkBT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAaT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAaT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAaT,KAAK;AACH,aAAOA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAAA;AAWb,GAEMC,IAA4C;AAAA,EAChD,WAAW;AAAA,EACX,WAAW;AACb,GAEMC,IAGF;AAAA,EACF,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AACP;AAEO,SAASC,EACdC,GACyB;AACzB,SAAIA,EAAM,OAAaA,EAAM,OACtBN;AAAA,IACLG,EAAWG,EAAM,EAAE,KACjBF,EAAeE,EAAM,UAAU,MAAM,KACrC;AAAA,EAAA;AAEN;"}
@@ -1,16 +0,0 @@
1
- import { LitElement, nothing } from 'lit';
2
- import { OsLeaderboardCasinoEventsSection } from '../../types/sections.js';
3
- /** Promotional events — v0 Glass Glow (icon chip, fade rotation). */
4
- export declare class OsLeaderboardCasinoEvents extends LitElement {
5
- static styles: import('lit').CSSResult[];
6
- section: OsLeaderboardCasinoEventsSection;
7
- private index;
8
- private timer?;
9
- connectedCallback(): void;
10
- disconnectedCallback(): void;
11
- updated(changed: Map<string, unknown>): void;
12
- private startRotation;
13
- private stopRotation;
14
- private goTo;
15
- render(): typeof nothing | import('lit').TemplateResult<1>;
16
- }
@@ -1,8 +0,0 @@
1
- import { TemplateResult } from 'lit';
2
- import { OsLeaderboardCasinoEventsSection } from '../../types/sections.js';
3
- export interface EventsBannerHost {
4
- section: OsLeaderboardCasinoEventsSection;
5
- showDots: boolean;
6
- renderSlides(): TemplateResult;
7
- renderDots(): TemplateResult;
8
- }
@@ -1,93 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { nothing as l, html as n } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import { LitElement as d } from "../../../../shared/vendor/lit-element-lit-element.js";
4
- import { keyed as m } from "../../../../shared/vendor/lit-html-keyed.js";
5
- import { property as h } from "../../../../shared/vendor/lit-reactive-element-property.js";
6
- import { state as v } from "../../../../shared/vendor/lit-reactive-element-state.js";
7
- import { Component as f } from "../../../../shared/lib/lit/component.js";
8
- import { scss as u } from "../../../../shared/lib/lit/scss.js";
9
- import { DEFAULT_EVENTS_ROTATE_MS as b } from "../../constants/defaults.js";
10
- import { OS_LEADERBOARD_CASINO_EVENTS as $ } from "../../constants/tags.js";
11
- import { osLeaderboardCasinoTheme as _ } from "../../theme/styles.js";
12
- import "../../../../shared/vendor/lit-html-unsafe-svg.js";
13
- import { resolveEventIcon as g } from "./components/event-icons.js";
14
- import E from "./events-banner.scss.js";
15
- var x = Object.defineProperty, R = Object.getOwnPropertyDescriptor, p = (t, e, r, s) => {
16
- for (var o = s > 1 ? void 0 : s ? R(e, r) : e, i = t.length - 1, c; i >= 0; i--)
17
- (c = t[i]) && (o = (s ? c(e, r, o) : c(o)) || o);
18
- return s && o && x(e, r, o), o;
19
- };
20
- let a = class extends d {
21
- constructor() {
22
- super(...arguments), this.index = 0;
23
- }
24
- connectedCallback() {
25
- super.connectedCallback(), this.startRotation();
26
- }
27
- disconnectedCallback() {
28
- super.disconnectedCallback(), this.stopRotation();
29
- }
30
- updated(t) {
31
- t.has("section") && (this.index = 0, this.startRotation());
32
- }
33
- startRotation() {
34
- this.stopRotation();
35
- const t = this.section?.events?.length ?? 0;
36
- t < 2 || (this.timer = setInterval(() => {
37
- this.index = (this.index + 1) % t;
38
- }, this.section?.rotateMs ?? b));
39
- }
40
- stopRotation() {
41
- this.timer && clearInterval(this.timer), this.timer = void 0;
42
- }
43
- goTo(t) {
44
- this.index = t, this.startRotation();
45
- }
46
- render() {
47
- const t = this.section?.events ?? [];
48
- if (!t.length) return l;
49
- const e = t[this.index], r = e.accent ?? "gold", s = g(e);
50
- return n`
51
- <div class="banner" role="region" aria-label="Promotions" aria-live="polite">
52
- <div class="chip accent-${r}">
53
- ${typeof s == "string" ? n`${s}` : s}
54
- </div>
55
- ${m(
56
- this.index,
57
- n`<div class="body">
58
- <p class="title">${e.title}</p>
59
- ${e.subtitle ? n`<p class="sub">${e.subtitle}</p>` : l}
60
- </div>`
61
- )}
62
- <div class="right">
63
- <span class="tag accent-${r}">Event</span>
64
- ${t.length > 1 ? n`<div class="dots">
65
- ${t.map(
66
- (o, i) => n`<button
67
- type="button"
68
- class="dot"
69
- aria-current=${i === this.index ? "true" : "false"}
70
- aria-label="Show event ${i + 1}"
71
- @click=${() => this.goTo(i)}
72
- ></button>`
73
- )}
74
- </div>` : l}
75
- </div>
76
- </div>
77
- `;
78
- }
79
- };
80
- a.styles = [_, u(E)];
81
- p([
82
- h({ attribute: !1 })
83
- ], a.prototype, "section", 2);
84
- p([
85
- v()
86
- ], a.prototype, "index", 2);
87
- a = p([
88
- f({ selector: $ })
89
- ], a);
90
- export {
91
- a as OsLeaderboardCasinoEvents
92
- };
93
- //# sourceMappingURL=events-banner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events-banner.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/events-banner/events-banner.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { keyed } from 'lit/directives/keyed.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 { DEFAULT_EVENTS_ROTATE_MS } from '@os-leaderboard-casino/constants/defaults.js';\nimport { OS_LEADERBOARD_CASINO_EVENTS } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport type { OsLeaderboardCasinoEventsSection } from '@os-leaderboard-casino/types/sections.js';\nimport { resolveEventIcon } from './components/event-icons.js';\nimport styles from './events-banner.scss?inline';\n\n/** Promotional events — v0 Glass Glow (icon chip, fade rotation). */\n@Component({ selector: OS_LEADERBOARD_CASINO_EVENTS })\nexport class OsLeaderboardCasinoEvents extends LitElement {\n static styles = [osLeaderboardCasinoTheme, scss(styles)];\n\n @property({ attribute: false })\n section!: OsLeaderboardCasinoEventsSection;\n\n @state()\n private index = 0;\n\n private timer?: ReturnType<typeof setInterval>;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.startRotation();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.stopRotation();\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('section')) {\n this.index = 0;\n this.startRotation();\n }\n }\n\n private startRotation() {\n this.stopRotation();\n const count = this.section?.events?.length ?? 0;\n if (count < 2) return;\n this.timer = setInterval(() => {\n this.index = (this.index + 1) % count;\n }, this.section?.rotateMs ?? DEFAULT_EVENTS_ROTATE_MS);\n }\n\n private stopRotation() {\n if (this.timer) clearInterval(this.timer);\n this.timer = undefined;\n }\n\n private goTo(index: number) {\n this.index = index;\n this.startRotation();\n }\n\n render() {\n const events = this.section?.events ?? [];\n if (!events.length) return nothing;\n\n const event = events[this.index];\n const accent = event.accent ?? 'gold';\n const icon = resolveEventIcon(event);\n\n return html`\n <div class=\"banner\" role=\"region\" aria-label=\"Promotions\" aria-live=\"polite\">\n <div class=\"chip accent-${accent}\">\n ${typeof icon === 'string' ? html`${icon}` : icon}\n </div>\n ${keyed(\n this.index,\n html`<div class=\"body\">\n <p class=\"title\">${event.title}</p>\n ${event.subtitle\n ? html`<p class=\"sub\">${event.subtitle}</p>`\n : nothing}\n </div>`,\n )}\n <div class=\"right\">\n <span class=\"tag accent-${accent}\">Event</span>\n ${events.length > 1\n ? html`<div class=\"dots\">\n ${events.map(\n (_, i) => html`<button\n type=\"button\"\n class=\"dot\"\n aria-current=${i === this.index ? 'true' : 'false'}\n aria-label=\"Show event ${i + 1}\"\n @click=${() => this.goTo(i)}\n ></button>`,\n )}\n </div>`\n : nothing}\n </div>\n </div>\n `;\n }\n}\n"],"names":["OsLeaderboardCasinoEvents","LitElement","changed","count","DEFAULT_EVENTS_ROTATE_MS","index","events","nothing","event","accent","icon","resolveEventIcon","html","keyed","_","osLeaderboardCasinoTheme","scss","styles","__decorateClass","property","state","Component","OS_LEADERBOARD_CASINO_EVENTS"],"mappings":";;;;;;;;;;;;;;;;;;;AAcO,IAAMA,IAAN,cAAwCC,EAAW;AAAA,EAAnD,cAAA;AAAA,UAAA,GAAA,SAAA,GAOL,KAAQ,QAAQ;AAAA,EAAA;AAAA,EAIhB,oBAA0B;AACxB,UAAM,kBAAA,GACN,KAAK,cAAA;AAAA,EACP;AAAA,EAEA,uBAA6B;AAC3B,UAAM,qBAAA,GACN,KAAK,aAAA;AAAA,EACP;AAAA,EAEA,QAAQC,GAA+B;AACrC,IAAIA,EAAQ,IAAI,SAAS,MACvB,KAAK,QAAQ,GACb,KAAK,cAAA;AAAA,EAET;AAAA,EAEQ,gBAAgB;AACtB,SAAK,aAAA;AACL,UAAMC,IAAQ,KAAK,SAAS,QAAQ,UAAU;AAC9C,IAAIA,IAAQ,MACZ,KAAK,QAAQ,YAAY,MAAM;AAC7B,WAAK,SAAS,KAAK,QAAQ,KAAKA;AAAA,IAClC,GAAG,KAAK,SAAS,YAAYC,CAAwB;AAAA,EACvD;AAAA,EAEQ,eAAe;AACrB,IAAI,KAAK,SAAO,cAAc,KAAK,KAAK,GACxC,KAAK,QAAQ;AAAA,EACf;AAAA,EAEQ,KAAKC,GAAe;AAC1B,SAAK,QAAQA,GACb,KAAK,cAAA;AAAA,EACP;AAAA,EAEA,SAAS;AACP,UAAMC,IAAS,KAAK,SAAS,UAAU,CAAA;AACvC,QAAI,CAACA,EAAO,OAAQ,QAAOC;AAE3B,UAAMC,IAAQF,EAAO,KAAK,KAAK,GACzBG,IAASD,EAAM,UAAU,QACzBE,IAAOC,EAAiBH,CAAK;AAEnC,WAAOI;AAAAA;AAAAA,kCAEuBH,CAAM;AAAA,YAC5B,OAAOC,KAAS,WAAWE,IAAOF,CAAI,KAAKA,CAAI;AAAA;AAAA,UAEjDG;AAAAA,MACA,KAAK;AAAA,MACLD;AAAAA,+BACqBJ,EAAM,KAAK;AAAA,cAC5BA,EAAM,WACJI,mBAAsBJ,EAAM,QAAQ,SACpCD,CAAO;AAAA;AAAA,IAAA,CAEd;AAAA;AAAA,oCAE2BE,CAAM;AAAA,YAC9BH,EAAO,SAAS,IACdM;AAAAA,kBACIN,EAAO;AAAA,MACP,CAACQ,GAAG,MAAMF;AAAAA;AAAAA;AAAAA,mCAGO,MAAM,KAAK,QAAQ,SAAS,OAAO;AAAA,6CACzB,IAAI,CAAC;AAAA,6BACrB,MAAM,KAAK,KAAK,CAAC,CAAC;AAAA;AAAA,IAAA,CAE9B;AAAA,wBAEHL,CAAO;AAAA;AAAA;AAAA;AAAA,EAInB;AACF;AAxFaP,EACJ,SAAS,CAACe,GAA0BC,EAAKC,CAAM,CAAC;AAGvDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAHnBnB,EAIX,WAAA,WAAA,CAAA;AAGQkB,EAAA;AAAA,EADPE,EAAA;AAAM,GANIpB,EAOH,WAAA,SAAA,CAAA;AAPGA,IAANkB,EAAA;AAAA,EADNG,EAAU,EAAE,UAAUC,EAAA,CAA8B;AAAA,GACxCtB,CAAA;"}
@@ -1,5 +0,0 @@
1
- const r = ":host{display:block;width:100%}.banner{position:relative;display:flex;align-items:center;gap:18px;padding:16px 20px;border-radius:var(--radius-sm);background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);overflow:hidden;cursor:pointer}.chip{position:relative;z-index:1;flex:none;width:50px;height:50px;display:grid;place-items:center;border-radius:14px;color:var(--gold);font-size:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 16%,transparent),color-mix(in srgb,var(--violet) 12%,transparent));border:1px solid color-mix(in srgb,var(--gold) 30%,transparent)}.chip.accent-violet{color:var(--violet);background:linear-gradient(160deg,color-mix(in srgb,var(--violet) 18%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));border-color:color-mix(in srgb,var(--violet) 30%,transparent)}.chip.accent-green{color:var(--green);background:linear-gradient(160deg,color-mix(in srgb,var(--green) 18%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));border-color:color-mix(in srgb,var(--green) 30%,transparent)}.chip.accent-red{color:var(--red);background:linear-gradient(160deg,color-mix(in srgb,var(--red) 18%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));border-color:color-mix(in srgb,var(--red) 30%,transparent)}.chip svg{width:26px;height:26px}.body{position:relative;z-index:1;min-width:0;flex:1}.title{margin:0;font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub{margin:4px 0 0;font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;align-self:stretch;flex:none;min-height:50px}.tag{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#d9cdff;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--violet) 14%,transparent);border:1px solid color-mix(in srgb,var(--violet) 32%,transparent)}.tag.accent-gold{color:var(--gold-strong);background:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 35%,transparent)}.tag.accent-green{color:color-mix(in srgb,var(--green) 85%,var(--text));background:color-mix(in srgb,var(--green) 14%,transparent);border-color:color-mix(in srgb,var(--green) 32%,transparent)}.tag.accent-red{color:color-mix(in srgb,var(--red) 85%,var(--text));background:color-mix(in srgb,var(--red) 14%,transparent);border-color:color-mix(in srgb,var(--red) 32%,transparent)}.dots{display:flex;gap:6px}.dot{height:4px;width:14px;border-radius:999px;border:none;padding:0;cursor:pointer;background:color-mix(in srgb,var(--text) 16%,transparent);transition:width var(--transition-fast),background var(--transition-fast)}.dot[aria-current=true]{width:26px;background:var(--gold)}@media(max-width:560px){.banner{gap:14px;padding:14px 16px;align-items:stretch}.title,.sub{white-space:normal}.body,.chip{align-self:center}}";
2
- export {
3
- r as default
4
- };
5
- //# sourceMappingURL=events-banner.scss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events-banner.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,3 +0,0 @@
1
- export interface FooterSectionHost {
2
- displayText: string;
3
- }
@@ -1,20 +0,0 @@
1
- import "../../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { html as e } from "../../../../shared/vendor/lit-html-lit-html.js";
3
- import "../../../../shared/vendor/lit-element-lit-element.js";
4
- function a(r) {
5
- return e`<footer class="page-footer">
6
- <!-- <p>${r.displayText}</p> -->
7
- <!-- TODO: hardcoded -->
8
- <p>
9
- Powered by
10
- <a href="https://oddsmith.io" target="_blank" rel="noopener noreferrer">
11
- Oddsmith.io
12
- </a>
13
- </p>
14
- </footer>
15
- `;
16
- }
17
- export {
18
- a as default
19
- };
20
- //# sourceMappingURL=footer-section.html.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"footer-section.html.js","sources":["../../../../../src/components/os-leaderboard-casino/sections/footer-section/footer-section.html?lit-html"],"sourcesContent":["\nimport { html } from 'lit';\n\nexport default function render(host) {\n return html`<footer class=\"page-footer\">\n <!-- <p>${host.displayText}</p> -->\n <!-- TODO: hardcoded -->\n <p>\n Powered by\n <a href=\"https://oddsmith.io\" target=\"_blank\" rel=\"noopener noreferrer\">\n Oddsmith.io\n </a>\n </p>\n</footer>\n`;\n}\n"],"names":["render","host","html"],"mappings":";;;AAGe,SAASA,EAAOC,GAAM;AACnC,SAAOC;AAAAA,YACGD,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU5B;"}