@oddsmith/ui 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/README.md +10 -4
  2. package/dist/.shared/index.ts +5 -0
  3. package/dist/.shared/labels-engine/engine.d.ts +22 -0
  4. package/dist/.shared/labels-engine/engine.ts +70 -0
  5. package/dist/.shared/labels-engine/index.d.ts +1 -0
  6. package/dist/.shared/labels-engine/index.ts +1 -0
  7. package/dist/.shared/lib/lit/component.ts +10 -0
  8. package/dist/.shared/lib/lit/safe-custom-element.ts +12 -0
  9. package/dist/.shared/lib/lit/scss.ts +6 -0
  10. package/dist/{shared/lib/lit/template.d.ts → .shared/lib/lit/template.ts} +2 -1
  11. package/dist/.shared/theme-engine/animation.d.ts +5 -0
  12. package/dist/.shared/theme-engine/animation.ts +40 -0
  13. package/dist/.shared/theme-engine/default-theme.d.ts +24 -0
  14. package/dist/.shared/theme-engine/default-theme.ts +38 -0
  15. package/dist/.shared/theme-engine/engine.d.ts +22 -0
  16. package/dist/.shared/theme-engine/engine.ts +151 -0
  17. package/dist/.shared/theme-engine/index.d.ts +2 -0
  18. package/dist/.shared/theme-engine/index.ts +8 -0
  19. package/dist/assets/config/data.js +279 -0
  20. package/dist/assets/config/images/events/bolt.svg +4 -0
  21. package/dist/assets/config/images/events/boost.svg +6 -0
  22. package/dist/assets/config/images/events/clock.svg +4 -0
  23. package/dist/assets/config/images/events/fire.svg +4 -0
  24. package/dist/assets/config/images/events/gift.svg +5 -0
  25. package/dist/assets/config/images/events/star.svg +4 -0
  26. package/dist/assets/config/images/games/gates-of-olympus.png +0 -0
  27. package/dist/assets/config/labels.js +79 -0
  28. package/dist/assets/config/theme.js +15 -0
  29. package/dist/assets/icons/prize.medal.svg +5 -0
  30. package/dist/assets/image.fallback.png +0 -0
  31. package/dist/bootstrap/casino.bootstrap.d.ts +32 -0
  32. package/dist/bootstrap/index.d.ts +5 -0
  33. package/dist/constants/default-data.d.ts +8 -0
  34. package/dist/constants/defaults.d.ts +16 -0
  35. package/dist/{components/os-leaderboard-casino/constants → constants}/index.d.ts +1 -0
  36. package/dist/{components/os-leaderboard-casino/constants → constants}/tags.d.ts +0 -9
  37. package/dist/container/os-leaderboard-casino.d.ts +59 -0
  38. package/dist/container/os-leaderboard-casino.host.d.ts +5 -0
  39. package/dist/index.d.ts +3 -0
  40. package/dist/index.js +2483 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/{components/os-leaderboard-casino/sections → sections}/climb-section/climb-section.d.ts +7 -2
  43. package/dist/{components/os-leaderboard-casino/sections → sections}/climb-section/climb-section.host.d.ts +5 -2
  44. package/dist/sections/climb-section/types/labels.d.ts +8 -0
  45. package/dist/sections/climb-section/types/view.d.ts +13 -0
  46. package/dist/sections/events-banner/events-banner.d.ts +30 -0
  47. package/dist/sections/events-banner/events-banner.host.d.ts +15 -0
  48. package/dist/sections/events-banner/types/data.d.ts +18 -0
  49. package/dist/sections/events-banner/types/events.d.ts +8 -0
  50. package/dist/sections/events-banner/types/labels.d.ts +6 -0
  51. package/dist/sections/events-banner/types/view.d.ts +12 -0
  52. package/dist/{components/os-leaderboard-casino/sections → sections}/footer-section/footer-section.d.ts +4 -3
  53. package/dist/sections/footer-section/footer-section.host.d.ts +5 -0
  54. package/dist/sections/footer-section/types/view.d.ts +4 -0
  55. package/dist/{components/os-leaderboard-casino/sections → sections}/games-section/games-section.d.ts +8 -3
  56. package/dist/sections/games-section/games-section.host.d.ts +10 -0
  57. package/dist/sections/games-section/types/data.d.ts +7 -0
  58. package/dist/sections/games-section/types/labels.d.ts +6 -0
  59. package/dist/sections/games-section/types/view.d.ts +9 -0
  60. package/dist/{components/os-leaderboard-casino/sections → sections}/hero-section/hero-section.d.ts +10 -16
  61. package/dist/sections/hero-section/hero-section.host.d.ts +18 -0
  62. package/dist/sections/hero-section/types/data.d.ts +14 -0
  63. package/dist/sections/hero-section/types/labels.d.ts +12 -0
  64. package/dist/sections/hero-section/types/view.d.ts +12 -0
  65. package/dist/sections/index.d.ts +0 -0
  66. package/dist/{components/os-leaderboard-casino/sections → sections}/legals-section/legals-section.d.ts +8 -3
  67. package/dist/{components/os-leaderboard-casino/sections → sections}/legals-section/legals-section.host.d.ts +6 -1
  68. package/dist/sections/legals-section/types/data.d.ts +19 -0
  69. package/dist/sections/legals-section/types/labels.d.ts +5 -0
  70. package/dist/sections/legals-section/types/view.d.ts +6 -0
  71. package/dist/sections/marquee-section/marquee-item.d.ts +13 -0
  72. package/dist/sections/marquee-section/marquee-section.d.ts +19 -0
  73. package/dist/sections/marquee-section/marquee-section.host.d.ts +10 -0
  74. package/dist/sections/marquee-section/types/data.d.ts +18 -0
  75. package/dist/sections/marquee-section/types/labels.d.ts +7 -0
  76. package/dist/sections/marquee-section/types/view.d.ts +17 -0
  77. package/dist/{components/os-leaderboard-casino/sections → sections}/prize-section/prize-section.d.ts +7 -4
  78. package/dist/{components/os-leaderboard-casino/sections → sections}/prize-section/prize-section.host.d.ts +4 -4
  79. package/dist/sections/prize-section/types/data.d.ts +7 -0
  80. package/dist/sections/prize-section/types/events.d.ts +12 -0
  81. package/dist/sections/prize-section/types/labels.d.ts +11 -0
  82. package/dist/sections/prize-section/types/view.d.ts +12 -0
  83. package/dist/{components/os-leaderboard-casino/sections → sections}/stats-section/stats-section.d.ts +9 -6
  84. package/dist/sections/stats-section/stats-section.host.d.ts +15 -0
  85. package/dist/sections/stats-section/types/data.d.ts +12 -0
  86. package/dist/sections/stats-section/types/labels.d.ts +6 -0
  87. package/dist/sections/stats-section/types/view.d.ts +8 -0
  88. package/dist/{components/os-leaderboard-casino/sections → sections}/table-section/table-section.d.ts +17 -7
  89. package/dist/sections/table-section/table-section.host.d.ts +22 -0
  90. package/dist/sections/table-section/types/data.d.ts +24 -0
  91. package/dist/sections/table-section/types/events.d.ts +9 -0
  92. package/dist/sections/table-section/types/labels.d.ts +16 -0
  93. package/dist/sections/table-section/types/view.d.ts +20 -0
  94. package/dist/store/casino.context.d.ts +5 -0
  95. package/dist/store/casino.store.d.ts +37 -0
  96. package/dist/store/consume-store.d.ts +781 -0
  97. package/dist/store/index.d.ts +3 -0
  98. package/dist/types/config.d.ts +6 -0
  99. package/dist/types/data.d.ts +49 -0
  100. package/dist/types/host.d.ts +24 -0
  101. package/dist/types/index.d.ts +35 -0
  102. package/dist/types/labels.d.ts +43 -0
  103. package/dist/types/public.d.ts +23 -0
  104. package/dist/types/status.d.ts +1 -0
  105. package/dist/types/theme.d.ts +1 -0
  106. package/dist/utils/boolean-attr.d.ts +8 -0
  107. package/dist/utils/current-user.d.ts +9 -0
  108. package/dist/utils/data-resolve.d.ts +6 -0
  109. package/dist/utils/demo-countdown.d.ts +2 -0
  110. package/dist/utils/format.d.ts +10 -0
  111. package/dist/utils/image-fallback.d.ts +11 -0
  112. package/dist/utils/index.d.ts +12 -0
  113. package/dist/{components/os-leaderboard-casino/theme/vip-mark.d.ts → utils/player-name.d.ts} +1 -3
  114. package/dist/utils/prize-resolve.d.ts +10 -0
  115. package/dist/utils/safe-href.d.ts +2 -0
  116. package/dist/utils/safe-html.d.ts +6 -0
  117. package/dist/utils/status.d.ts +10 -0
  118. package/dist/utils/svg.d.ts +5 -0
  119. package/index.d.ts +5 -0
  120. package/index.js +3 -0
  121. package/os-leaderboard-casino-pro.d.ts +1 -0
  122. package/os-leaderboard-casino-pro.js +1 -0
  123. package/package.json +33 -50
  124. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json +0 -9
  125. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js +0 -13
  126. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js.map +0 -1
  127. package/dist/components/os-leaderboard-casino/assets/fallback/config.json +0 -8
  128. package/dist/components/os-leaderboard-casino/assets/fallback/defaults/glam-sections.json +0 -564
  129. package/dist/components/os-leaderboard-casino/assets/fallback/fonts.json +0 -3
  130. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json +0 -5
  131. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js +0 -12
  132. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js.map +0 -1
  133. package/dist/components/os-leaderboard-casino/assets/fallback/manifest.json +0 -6
  134. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json +0 -38
  135. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js +0 -10
  136. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js.map +0 -1
  137. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json +0 -603
  138. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js +0 -8
  139. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js.map +0 -1
  140. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json +0 -68
  141. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js +0 -72
  142. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js.map +0 -1
  143. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg +0 -7
  144. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js +0 -12
  145. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js.map +0 -1
  146. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js +0 -12
  147. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js.map +0 -1
  148. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg +0 -5
  149. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js +0 -10
  150. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js.map +0 -1
  151. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg +0 -10
  152. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js +0 -15
  153. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js.map +0 -1
  154. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg +0 -5
  155. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js +0 -10
  156. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js.map +0 -1
  157. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg +0 -5
  158. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js +0 -10
  159. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js.map +0 -1
  160. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg +0 -8
  161. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js +0 -13
  162. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js.map +0 -1
  163. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg +0 -4
  164. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js +0 -9
  165. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js.map +0 -1
  166. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js +0 -10
  167. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js.map +0 -1
  168. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js +0 -10
  169. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js.map +0 -1
  170. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js +0 -9
  171. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js.map +0 -1
  172. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js +0 -9
  173. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js.map +0 -1
  174. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js +0 -9
  175. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js.map +0 -1
  176. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg +0 -7
  177. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js +0 -12
  178. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js.map +0 -1
  179. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js +0 -10
  180. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js.map +0 -1
  181. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js +0 -9
  182. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js.map +0 -1
  183. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js +0 -10
  184. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js.map +0 -1
  185. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js +0 -9
  186. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js.map +0 -1
  187. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js +0 -10
  188. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js.map +0 -1
  189. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js +0 -10
  190. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js.map +0 -1
  191. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js +0 -5
  192. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js.map +0 -1
  193. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js +0 -5
  194. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js.map +0 -1
  195. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js +0 -5
  196. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js.map +0 -1
  197. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png +0 -0
  198. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js +0 -5
  199. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js.map +0 -1
  200. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js +0 -5
  201. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js.map +0 -1
  202. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js +0 -5
  203. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js.map +0 -1
  204. package/dist/components/os-leaderboard-casino/assets/images/logo.png +0 -0
  205. package/dist/components/os-leaderboard-casino/constants/defaults.d.ts +0 -8
  206. package/dist/components/os-leaderboard-casino/constants/defaults.js +0 -9
  207. package/dist/components/os-leaderboard-casino/constants/defaults.js.map +0 -1
  208. package/dist/components/os-leaderboard-casino/constants/tags.js +0 -17
  209. package/dist/components/os-leaderboard-casino/constants/tags.js.map +0 -1
  210. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.d.ts +0 -35
  211. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.host.d.ts +0 -13
  212. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js +0 -22
  213. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js.map +0 -1
  214. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js +0 -154
  215. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js.map +0 -1
  216. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js +0 -5
  217. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js.map +0 -1
  218. package/dist/components/os-leaderboard-casino/index.d.ts +0 -36
  219. package/dist/components/os-leaderboard-casino/index.js +0 -39
  220. package/dist/components/os-leaderboard-casino/index.js.map +0 -1
  221. package/dist/components/os-leaderboard-casino/integration/assemble-assets.d.ts +0 -21
  222. package/dist/components/os-leaderboard-casino/integration/assemble-assets.js +0 -48
  223. package/dist/components/os-leaderboard-casino/integration/assemble-assets.js.map +0 -1
  224. package/dist/components/os-leaderboard-casino/integration/assets-context.d.ts +0 -26
  225. package/dist/components/os-leaderboard-casino/integration/assets-context.js +0 -69
  226. package/dist/components/os-leaderboard-casino/integration/assets-context.js.map +0 -1
  227. package/dist/components/os-leaderboard-casino/integration/defaults-glam.d.ts +0 -14
  228. package/dist/components/os-leaderboard-casino/integration/defaults-new-money.d.ts +0 -3
  229. package/dist/components/os-leaderboard-casino/integration/index.d.ts +0 -5
  230. package/dist/components/os-leaderboard-casino/integration/labels.d.ts +0 -1
  231. package/dist/components/os-leaderboard-casino/integration/load-assets.d.ts +0 -9
  232. package/dist/components/os-leaderboard-casino/integration/load-assets.js +0 -22
  233. package/dist/components/os-leaderboard-casino/integration/load-assets.js.map +0 -1
  234. package/dist/components/os-leaderboard-casino/integration/presets.d.ts +0 -1
  235. package/dist/components/os-leaderboard-casino/integration/resolve-input.d.ts +0 -20
  236. package/dist/components/os-leaderboard-casino/integration/resolve-input.js +0 -115
  237. package/dist/components/os-leaderboard-casino/integration/resolve-input.js.map +0 -1
  238. package/dist/components/os-leaderboard-casino/integration/themes.d.ts +0 -1
  239. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js +0 -48
  240. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map +0 -1
  241. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js +0 -69
  242. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js.map +0 -1
  243. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js +0 -5
  244. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js.map +0 -1
  245. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.d.ts +0 -5
  246. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js +0 -118
  247. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js.map +0 -1
  248. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.d.ts +0 -16
  249. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.host.d.ts +0 -8
  250. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js +0 -93
  251. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js.map +0 -1
  252. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js +0 -5
  253. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js.map +0 -1
  254. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.host.d.ts +0 -3
  255. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js +0 -20
  256. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js.map +0 -1
  257. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js +0 -41
  258. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js.map +0 -1
  259. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js +0 -5
  260. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js.map +0 -1
  261. package/dist/components/os-leaderboard-casino/sections/games-section/components/game-images.d.ts +0 -1
  262. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.host.d.ts +0 -7
  263. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js +0 -17
  264. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js.map +0 -1
  265. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js +0 -88
  266. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js.map +0 -1
  267. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js +0 -5
  268. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js.map +0 -1
  269. package/dist/components/os-leaderboard-casino/sections/header-section/header-section.d.ts +0 -12
  270. package/dist/components/os-leaderboard-casino/sections/header-section/header-section.host.d.ts +0 -8
  271. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.host.d.ts +0 -20
  272. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js +0 -36
  273. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js.map +0 -1
  274. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js +0 -192
  275. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js.map +0 -1
  276. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js +0 -5
  277. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js.map +0 -1
  278. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js +0 -35
  279. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js.map +0 -1
  280. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js +0 -78
  281. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js.map +0 -1
  282. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js +0 -5
  283. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js.map +0 -1
  284. package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.d.ts +0 -13
  285. package/dist/components/os-leaderboard-casino/sections/live-feed-section/live-feed-section.host.d.ts +0 -8
  286. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.d.ts +0 -3
  287. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js +0 -8
  288. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js.map +0 -1
  289. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.d.ts +0 -14
  290. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js +0 -57
  291. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js.map +0 -1
  292. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.d.ts +0 -42
  293. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.host.d.ts +0 -8
  294. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js +0 -19
  295. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js.map +0 -1
  296. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js +0 -290
  297. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js.map +0 -1
  298. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js +0 -5
  299. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js.map +0 -1
  300. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.d.ts +0 -6
  301. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js +0 -16
  302. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js.map +0 -1
  303. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.d.ts +0 -16
  304. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js +0 -73
  305. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.js.map +0 -1
  306. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js +0 -5
  307. package/dist/components/os-leaderboard-casino/sections/prize-section/components/medal-coin/medal-coin.scss.js.map +0 -1
  308. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js +0 -20
  309. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js.map +0 -1
  310. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js +0 -137
  311. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js.map +0 -1
  312. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js +0 -5
  313. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js.map +0 -1
  314. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-band/stat-band.d.ts +0 -17
  315. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-card/stat-card.d.ts +0 -15
  316. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-chip/stat-chip.d.ts +0 -17
  317. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-gauge/stat-gauge.d.ts +0 -14
  318. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.d.ts +0 -5
  319. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js +0 -11
  320. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-icons.js.map +0 -1
  321. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-meter/stat-meter.d.ts +0 -17
  322. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.d.ts +0 -17
  323. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js +0 -63
  324. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.js.map +0 -1
  325. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js +0 -5
  326. package/dist/components/os-leaderboard-casino/sections/stats-section/components/stat-rail/stat-rail.scss.js.map +0 -1
  327. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.host.d.ts +0 -13
  328. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js +0 -36
  329. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js.map +0 -1
  330. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js +0 -71
  331. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js.map +0 -1
  332. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js +0 -5
  333. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js.map +0 -1
  334. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.host.d.ts +0 -15
  335. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js +0 -40
  336. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js.map +0 -1
  337. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js +0 -185
  338. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js.map +0 -1
  339. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js +0 -5
  340. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js.map +0 -1
  341. package/dist/components/os-leaderboard-casino/services/adapter.service.d.ts +0 -11
  342. package/dist/components/os-leaderboard-casino/services/adapter.service.js +0 -49
  343. package/dist/components/os-leaderboard-casino/services/adapter.service.js.map +0 -1
  344. package/dist/components/os-leaderboard-casino/services/icon.service.d.ts +0 -28
  345. package/dist/components/os-leaderboard-casino/services/icon.service.js +0 -194
  346. package/dist/components/os-leaderboard-casino/services/icon.service.js.map +0 -1
  347. package/dist/components/os-leaderboard-casino/services/index.d.ts +0 -2
  348. package/dist/components/os-leaderboard-casino/theme/background.d.ts +0 -4
  349. package/dist/components/os-leaderboard-casino/theme/background.js +0 -22
  350. package/dist/components/os-leaderboard-casino/theme/background.js.map +0 -1
  351. package/dist/components/os-leaderboard-casino/theme/index.d.ts +0 -3
  352. package/dist/components/os-leaderboard-casino/theme/prize-icons.d.ts +0 -1
  353. package/dist/components/os-leaderboard-casino/theme/prize-resolve.d.ts +0 -5
  354. package/dist/components/os-leaderboard-casino/theme/prize-resolve.js +0 -11
  355. package/dist/components/os-leaderboard-casino/theme/prize-resolve.js.map +0 -1
  356. package/dist/components/os-leaderboard-casino/theme/styles.d.ts +0 -9
  357. package/dist/components/os-leaderboard-casino/theme/styles.js +0 -179
  358. package/dist/components/os-leaderboard-casino/theme/styles.js.map +0 -1
  359. package/dist/components/os-leaderboard-casino/theme/vip-icons.d.ts +0 -2
  360. package/dist/components/os-leaderboard-casino/theme/vip-icons.js +0 -6
  361. package/dist/components/os-leaderboard-casino/theme/vip-icons.js.map +0 -1
  362. package/dist/components/os-leaderboard-casino/theme/vip-mark.js +0 -22
  363. package/dist/components/os-leaderboard-casino/theme/vip-mark.js.map +0 -1
  364. package/dist/components/os-leaderboard-casino/types/assets.d.ts +0 -42
  365. package/dist/components/os-leaderboard-casino/types/data.d.ts +0 -106
  366. package/dist/components/os-leaderboard-casino/types/data.js +0 -7
  367. package/dist/components/os-leaderboard-casino/types/data.js.map +0 -1
  368. package/dist/components/os-leaderboard-casino/types/events.d.ts +0 -18
  369. package/dist/components/os-leaderboard-casino/types/events.js +0 -8
  370. package/dist/components/os-leaderboard-casino/types/events.js.map +0 -1
  371. package/dist/components/os-leaderboard-casino/types/icons.d.ts +0 -18
  372. package/dist/components/os-leaderboard-casino/types/input.d.ts +0 -79
  373. package/dist/components/os-leaderboard-casino/types/ledger.d.ts +0 -67
  374. package/dist/components/os-leaderboard-casino/types/sections.d.ts +0 -200
  375. package/dist/components/os-leaderboard-casino/types/state.d.ts +0 -69
  376. package/dist/components/os-leaderboard-casino/types/state.js +0 -12
  377. package/dist/components/os-leaderboard-casino/types/state.js.map +0 -1
  378. package/dist/components/os-leaderboard-casino/utils/demo-countdown.d.ts +0 -7
  379. package/dist/components/os-leaderboard-casino/utils/demo-countdown.js +0 -22
  380. package/dist/components/os-leaderboard-casino/utils/demo-countdown.js.map +0 -1
  381. package/dist/shared/lib/lit/component.js +0 -8
  382. package/dist/shared/lib/lit/component.js.map +0 -1
  383. package/dist/shared/lib/lit/safe-custom-element.js +0 -7
  384. package/dist/shared/lib/lit/safe-custom-element.js.map +0 -1
  385. package/dist/shared/lib/lit/scss.js +0 -8
  386. package/dist/shared/lib/lit/scss.js.map +0 -1
  387. package/dist/shared/vendor/keen-slider-keen-slider.es.js +0 -538
  388. package/dist/shared/vendor/keen-slider-keen-slider.es.js.map +0 -1
  389. package/dist/shared/vendor/lit-element-lit-element.js +0 -45
  390. package/dist/shared/vendor/lit-element-lit-element.js.map +0 -1
  391. package/dist/shared/vendor/lit-html-directive-helpers.js +0 -32
  392. package/dist/shared/vendor/lit-html-directive-helpers.js.map +0 -1
  393. package/dist/shared/vendor/lit-html-directive.js +0 -23
  394. package/dist/shared/vendor/lit-html-directive.js.map +0 -1
  395. package/dist/shared/vendor/lit-html-keyed.js +0 -18
  396. package/dist/shared/vendor/lit-html-keyed.js.map +0 -1
  397. package/dist/shared/vendor/lit-html-lit-html.js +0 -234
  398. package/dist/shared/vendor/lit-html-lit-html.js.map +0 -1
  399. package/dist/shared/vendor/lit-html-repeat.js +0 -57
  400. package/dist/shared/vendor/lit-html-repeat.js.map +0 -1
  401. package/dist/shared/vendor/lit-html-unsafe-html.js +0 -21
  402. package/dist/shared/vendor/lit-html-unsafe-html.js.map +0 -1
  403. package/dist/shared/vendor/lit-html-unsafe-svg.js +0 -10
  404. package/dist/shared/vendor/lit-html-unsafe-svg.js.map +0 -1
  405. package/dist/shared/vendor/lit-reactive-element-base.js +0 -5
  406. package/dist/shared/vendor/lit-reactive-element-base.js.map +0 -1
  407. package/dist/shared/vendor/lit-reactive-element-css-tag.js +0 -46
  408. package/dist/shared/vendor/lit-reactive-element-css-tag.js.map +0 -1
  409. package/dist/shared/vendor/lit-reactive-element-property.js +0 -33
  410. package/dist/shared/vendor/lit-reactive-element-property.js.map +0 -1
  411. package/dist/shared/vendor/lit-reactive-element-query.js +0 -13
  412. package/dist/shared/vendor/lit-reactive-element-query.js.map +0 -1
  413. package/dist/shared/vendor/lit-reactive-element-reactive-element.js +0 -226
  414. package/dist/shared/vendor/lit-reactive-element-reactive-element.js.map +0 -1
  415. package/dist/shared/vendor/lit-reactive-element-state.js +0 -8
  416. package/dist/shared/vendor/lit-reactive-element-state.js.map +0 -1
  417. /package/dist/{shared → .shared}/lib/lit/component.d.ts +0 -0
  418. /package/dist/{shared → .shared}/lib/lit/safe-custom-element.d.ts +0 -0
  419. /package/dist/{shared → .shared}/lib/lit/scss.d.ts +0 -0
  420. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/cards.png +0 -0
  421. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/chips.png +0 -0
  422. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/dice.png +0 -0
  423. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/roulette.png +0 -0
  424. /package/dist/{components/os-leaderboard-casino/assets → assets/config}/images/games/slot-machine.png +0 -0
  425. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/prize.default.svg +0 -0
  426. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/stat.gift.svg +0 -0
  427. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/stat.users.svg +0 -0
  428. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/table.rank-down.svg +0 -0
  429. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/table.rank-neutral.svg +0 -0
  430. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/table.rank-up.svg +0 -0
  431. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.bag.svg +0 -0
  432. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.bolt.svg +0 -0
  433. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.coin.svg +0 -0
  434. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.fire.svg +0 -0
  435. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.gem.svg +0 -0
  436. /package/dist/{components/os-leaderboard-casino/assets → assets}/icons/win.trophy.svg +0 -0
@@ -1,194 +0,0 @@
1
- import c from "../assets/icons/prize.casino-credits.svg.js";
2
- import m from "../assets/icons/prize.default.svg.js";
3
- import g from "../assets/icons/prize.elite-bonus.svg.js";
4
- import l from "../assets/icons/prize.free-spins.svg.js";
5
- import _ from "../assets/icons/prize.grand-jackpot.svg.js";
6
- import p from "../assets/icons/prize.high-roller.svg.js";
7
- import u from "../assets/icons/prize.mystery-bonus.svg.js";
8
- import f from "../assets/icons/stat.clock.svg.js";
9
- import v from "../assets/icons/stat.gift.svg.js";
10
- import d from "../assets/icons/stat.users.svg.js";
11
- import h from "../assets/icons/table.rank-down.svg.js";
12
- import b from "../assets/icons/table.rank-neutral.svg.js";
13
- import w from "../assets/icons/table.rank-up.svg.js";
14
- import y from "../assets/icons/vip.crown.svg.js";
15
- import I from "../assets/icons/win.bag.svg.js";
16
- import k from "../assets/icons/win.bolt.svg.js";
17
- import z from "../assets/icons/win.coin.svg.js";
18
- import S from "../assets/icons/win.fire.svg.js";
19
- import $ from "../assets/icons/win.gem.svg.js";
20
- import N from "../assets/icons/win.trophy.svg.js";
21
- import "../../../shared/vendor/lit-reactive-element-reactive-element.js";
22
- import { html as o } from "../../../shared/vendor/lit-html-lit-html.js";
23
- import "../../../shared/vendor/lit-element-lit-element.js";
24
- import { unsafeSVG as n } from "../../../shared/vendor/lit-html-unsafe-svg.js";
25
- import { labelText as O } from "../types/data.js";
26
- import E from "../assets/images/games/cards.png.js";
27
- import L from "../assets/images/games/chips.png.js";
28
- import P from "../assets/images/games/dice.png.js";
29
- import j from "../assets/images/games/gates-of-olympus.png.js";
30
- import G from "../assets/images/games/roulette.png.js";
31
- import C from "../assets/images/games/slot-machine.png.js";
32
- const M = /* @__PURE__ */ Object.assign({
33
- "../assets/icons/prize.casino-credits.svg": c,
34
- "../assets/icons/prize.default.svg": m,
35
- "../assets/icons/prize.elite-bonus.svg": g,
36
- "../assets/icons/prize.free-spins.svg": l,
37
- "../assets/icons/prize.grand-jackpot.svg": _,
38
- "../assets/icons/prize.high-roller.svg": p,
39
- "../assets/icons/prize.mystery-bonus.svg": u,
40
- "../assets/icons/stat.clock.svg": f,
41
- "../assets/icons/stat.gift.svg": v,
42
- "../assets/icons/stat.users.svg": d,
43
- "../assets/icons/table.rank-down.svg": h,
44
- "../assets/icons/table.rank-neutral.svg": b,
45
- "../assets/icons/table.rank-up.svg": w,
46
- "../assets/icons/vip.crown.svg": y,
47
- "../assets/icons/win.bag.svg": I,
48
- "../assets/icons/win.bolt.svg": k,
49
- "../assets/icons/win.coin.svg": z,
50
- "../assets/icons/win.fire.svg": S,
51
- "../assets/icons/win.gem.svg": $,
52
- "../assets/icons/win.trophy.svg": N
53
- }), A = {
54
- "game.cards": E,
55
- "game.chips": L,
56
- "game.dice": P,
57
- "game.gates-of-olympus": j,
58
- "game.roulette": G,
59
- "game.slot-machine": C
60
- }, a = [
61
- "game.cards",
62
- "game.chips",
63
- "game.dice",
64
- "game.gates-of-olympus",
65
- "game.roulette",
66
- "game.slot-machine"
67
- ], R = {
68
- cards: "game.cards",
69
- chips: "game.chips",
70
- dice: "game.dice",
71
- "gates-of-olympus": "game.gates-of-olympus",
72
- roulette: "game.roulette",
73
- "slot-machine": "game.slot-machine"
74
- };
75
- function U(r) {
76
- return r.match(/\/([^/]+)\.svg$/)?.[1] ?? "";
77
- }
78
- function x(r, e) {
79
- return {
80
- name: r,
81
- kind: "svg",
82
- svg() {
83
- return o`${n(e)}`;
84
- },
85
- render({ className: s = "" } = {}) {
86
- const t = o`${n(e)}`;
87
- return s ? o`<span class=${s}>${t}</span>` : t;
88
- }
89
- };
90
- }
91
- function D(r, e) {
92
- return {
93
- name: r,
94
- kind: "image",
95
- url: e,
96
- svg() {
97
- throw new Error(`[IconService] Icon "${r}" is an image, not SVG`);
98
- },
99
- render({ className: s = "", alt: t = "" } = {}) {
100
- return o`<img
101
- src=${e}
102
- alt=${t}
103
- class=${s}
104
- loading="lazy"
105
- />`;
106
- }
107
- };
108
- }
109
- function F(r) {
110
- const e = O(r).toLowerCase();
111
- return e.includes("grand jackpot") || e === "jackpot" ? "prize.grand-jackpot" : e.includes("elite bonus") ? "prize.elite-bonus" : e.includes("high roller") ? "prize.high-roller" : e.includes("free spin") ? "prize.free-spins" : e.includes("casino credit") ? "prize.casino-credits" : e.includes("mystery") ? "prize.mystery-bonus" : "prize.default";
112
- }
113
- function H(r, e) {
114
- return R[r] ?? a[e % a.length];
115
- }
116
- class T {
117
- constructor() {
118
- this.registry = /* @__PURE__ */ new Map(), this.loadPromise = null, this.loaded = !1;
119
- }
120
- /** Load all bundled SVG and game image icons. Call once on app start. */
121
- async load() {
122
- if (!this.loaded)
123
- return this.loadPromise ? this.loadPromise : (this.loadPromise = (async () => {
124
- for (const [e, s] of Object.entries(M)) {
125
- const t = U(e);
126
- t && this.registry.set(t, x(t, s));
127
- }
128
- for (const [e, s] of Object.entries(A))
129
- this.registry.set(e, D(e, s));
130
- this.loaded = !0;
131
- })(), this.loadPromise);
132
- }
133
- /** Pick a loaded icon by registry name, e.g. `prize.free-spins`. */
134
- get(e) {
135
- this.assertLoaded();
136
- const s = this.registry.get(e);
137
- if (!s)
138
- throw new Error(`[IconService] Unknown icon "${e}"`);
139
- return s;
140
- }
141
- has(e) {
142
- return this.assertLoaded(), this.registry.has(e);
143
- }
144
- resolvePrizeIconName(e) {
145
- return F(e);
146
- }
147
- resolveGameIconName(e, s) {
148
- return H(e, s);
149
- }
150
- resolveWinIconName(e, s) {
151
- const t = `win.${e}`;
152
- if (this.has(t)) return t;
153
- const i = [
154
- "win.bag",
155
- "win.coin",
156
- "win.trophy",
157
- "win.fire",
158
- "win.gem",
159
- "win.bolt"
160
- ];
161
- return i[s % i.length];
162
- }
163
- resolveStatIconName(e) {
164
- const s = `stat.${e}`;
165
- return this.has(s) ? s : "stat.users";
166
- }
167
- render(e, s) {
168
- return this.get(e).render(s);
169
- }
170
- svg(e) {
171
- return this.get(e).svg();
172
- }
173
- url(e) {
174
- const s = this.get(e);
175
- if (s.kind !== "image" || !s.url)
176
- throw new Error(`[IconService] Icon "${e}" has no image URL`);
177
- return s.url;
178
- }
179
- assertLoaded() {
180
- if (!this.loaded)
181
- throw new Error("[IconService] Call load() before get()");
182
- }
183
- }
184
- const V = new T();
185
- function Ie(r) {
186
- const e = r.startsWith("win.") ? r : `win.${r}`;
187
- return V.svg(e);
188
- }
189
- export {
190
- T as IconService,
191
- V as iconService,
192
- Ie as winIcon
193
- };
194
- //# sourceMappingURL=icon.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon.service.js","sources":["../../../../src/components/os-leaderboard-casino/services/icon.service.ts"],"sourcesContent":["import { html } from 'lit';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { labelText, type LabelKey } from '@os-leaderboard-casino/types/data.js';\nimport cards from '../assets/images/games/cards.png?url';\nimport chips from '../assets/images/games/chips.png?url';\nimport dice from '../assets/images/games/dice.png?url';\nimport gatesOfOlympus from '../assets/images/games/gates-of-olympus.png?url';\nimport roulette from '../assets/images/games/roulette.png?url';\nimport slotMachine from '../assets/images/games/slot-machine.png?url';\nimport type {\n GameIconName,\n IconHandle,\n IconName,\n IconRenderOptions,\n PrizeIconName,\n StatIconName,\n WinIconName,\n} from '../types/icons.js';\nimport type { TemplateResult } from 'lit';\n\nexport type {\n GameIconName,\n IconHandle,\n IconName,\n IconRenderOptions,\n PrizeIconName,\n StatIconName,\n WinIconName,\n} from '../types/icons.js';\n\nconst svgModules = import.meta.glob('../assets/icons/*.svg', {\n query: '?raw',\n import: 'default',\n eager: true,\n}) as Record<string, string>;\n\nconst GAME_ICON_URLS: Record<GameIconName, string> = {\n 'game.cards': cards,\n 'game.chips': chips,\n 'game.dice': dice,\n 'game.gates-of-olympus': gatesOfOlympus,\n 'game.roulette': roulette,\n 'game.slot-machine': slotMachine,\n};\n\nconst GAME_ICON_FALLBACK_ORDER: readonly GameIconName[] = [\n 'game.cards',\n 'game.chips',\n 'game.dice',\n 'game.gates-of-olympus',\n 'game.roulette',\n 'game.slot-machine',\n];\n\nconst GAME_ID_TO_ICON: Record<string, GameIconName> = {\n cards: 'game.cards',\n chips: 'game.chips',\n dice: 'game.dice',\n 'gates-of-olympus': 'game.gates-of-olympus',\n roulette: 'game.roulette',\n 'slot-machine': 'game.slot-machine',\n};\n\nfunction iconNameFromPath(path: string): string {\n return path.match(/\\/([^/]+)\\.svg$/)?.[1] ?? '';\n}\n\nfunction createSvgHandle(name: IconName, markup: string): IconHandle {\n return {\n name,\n kind: 'svg',\n svg() {\n return html`${unsafeSVG(markup)}`;\n },\n render({ className = '' } = {}) {\n const content = html`${unsafeSVG(markup)}`;\n return className\n ? html`<span class=${className}>${content}</span>`\n : content;\n },\n };\n}\n\nfunction createImageHandle(name: IconName, url: string): IconHandle {\n return {\n name,\n kind: 'image',\n url,\n svg() {\n throw new Error(`[IconService] Icon \"${name}\" is an image, not SVG`);\n },\n render({ className = '', alt = '' } = {}) {\n return html`<img\n src=${url}\n alt=${alt}\n class=${className}\n loading=\"lazy\"\n />`;\n },\n };\n}\n\nfunction resolvePrizeIconName(\n label: LabelKey | string | undefined,\n): PrizeIconName {\n const text = labelText(label).toLowerCase();\n\n if (text.includes('grand jackpot') || text === 'jackpot') {\n return 'prize.grand-jackpot';\n }\n if (text.includes('elite bonus')) {\n return 'prize.elite-bonus';\n }\n if (text.includes('high roller')) {\n return 'prize.high-roller';\n }\n if (text.includes('free spin')) {\n return 'prize.free-spins';\n }\n if (text.includes('casino credit')) {\n return 'prize.casino-credits';\n }\n if (text.includes('mystery')) {\n return 'prize.mystery-bonus';\n }\n\n return 'prize.default';\n}\n\nfunction resolveGameIconName(id: string, index: number): GameIconName {\n return (\n GAME_ID_TO_ICON[id] ??\n GAME_ICON_FALLBACK_ORDER[index % GAME_ICON_FALLBACK_ORDER.length]\n );\n}\n\n/** Registry-backed icon loader for os-leaderboard-casino. */\nexport class IconService {\n private readonly registry = new Map<string, IconHandle>();\n private loadPromise: Promise<void> | null = null;\n private loaded = false;\n\n /** Load all bundled SVG and game image icons. Call once on app start. */\n async load(): Promise<void> {\n if (this.loaded) return;\n if (this.loadPromise) return this.loadPromise;\n\n this.loadPromise = (async () => {\n for (const [path, markup] of Object.entries(svgModules)) {\n const name = iconNameFromPath(path);\n if (!name) continue;\n this.registry.set(name, createSvgHandle(name as IconName, markup));\n }\n\n for (const [name, url] of Object.entries(GAME_ICON_URLS)) {\n this.registry.set(name, createImageHandle(name as IconName, url));\n }\n\n this.loaded = true;\n })();\n\n return this.loadPromise;\n }\n\n /** Pick a loaded icon by registry name, e.g. `prize.free-spins`. */\n get(name: string): IconHandle {\n this.assertLoaded();\n const icon = this.registry.get(name);\n if (!icon) {\n throw new Error(`[IconService] Unknown icon \"${name}\"`);\n }\n return icon;\n }\n\n has(name: string): boolean {\n this.assertLoaded();\n return this.registry.has(name);\n }\n\n resolvePrizeIconName(label: LabelKey | string | undefined): PrizeIconName {\n return resolvePrizeIconName(label);\n }\n\n resolveGameIconName(id: string, index: number): GameIconName {\n return resolveGameIconName(id, index);\n }\n\n resolveWinIconName(name: string, index: number): WinIconName {\n const key = `win.${name}` as WinIconName;\n if (this.has(key)) return key;\n\n const fallback: WinIconName[] = [\n 'win.bag',\n 'win.coin',\n 'win.trophy',\n 'win.fire',\n 'win.gem',\n 'win.bolt',\n ];\n return fallback[index % fallback.length];\n }\n\n resolveStatIconName(name: string): StatIconName {\n const key = `stat.${name}` as StatIconName;\n return this.has(key) ? key : 'stat.users';\n }\n\n render(name: string, options?: IconRenderOptions): TemplateResult {\n return this.get(name).render(options);\n }\n\n svg(name: string): TemplateResult {\n return this.get(name).svg();\n }\n\n url(name: string): string {\n const icon = this.get(name);\n if (icon.kind !== 'image' || !icon.url) {\n throw new Error(`[IconService] Icon \"${name}\" has no image URL`);\n }\n return icon.url;\n }\n\n private assertLoaded(): void {\n if (!this.loaded) {\n throw new Error('[IconService] Call load() before get()');\n }\n }\n}\n\nexport const iconService = new IconService();\n\nexport function prizeIconSvg(\n label: LabelKey | string | undefined,\n): TemplateResult {\n return iconService.svg(iconService.resolvePrizeIconName(label));\n}\n\nexport function renderPrizeIcon(\n label: LabelKey | string | undefined,\n className = '',\n): TemplateResult {\n return iconService.render(iconService.resolvePrizeIconName(label), {\n className: ['prize-icon', className].filter(Boolean).join(' '),\n });\n}\n\nexport function resolveGameImage(id: string, index: number): string {\n return iconService.url(iconService.resolveGameIconName(id, index));\n}\n\nexport function winIcon(name: string): TemplateResult {\n const registryName = name.startsWith('win.') ? name : `win.${name}`;\n return iconService.svg(registryName);\n}\n"],"names":["svgModules","__vite_glob_0_0","__vite_glob_0_1","__vite_glob_0_2","__vite_glob_0_3","__vite_glob_0_4","__vite_glob_0_5","__vite_glob_0_6","__vite_glob_0_7","__vite_glob_0_8","__vite_glob_0_9","__vite_glob_0_10","__vite_glob_0_11","__vite_glob_0_12","__vite_glob_0_13","__vite_glob_0_14","__vite_glob_0_15","__vite_glob_0_16","__vite_glob_0_17","__vite_glob_0_18","__vite_glob_0_19","GAME_ICON_URLS","cards","chips","dice","gatesOfOlympus","roulette","slotMachine","GAME_ICON_FALLBACK_ORDER","GAME_ID_TO_ICON","iconNameFromPath","path","createSvgHandle","name","markup","html","unsafeSVG","className","content","createImageHandle","url","alt","resolvePrizeIconName","label","text","labelText","resolveGameIconName","id","index","IconService","icon","key","fallback","options","iconService","winIcon","registryName"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { AdapterService, adapterService } from './adapter.service.js';
2
- export { IconService, iconService, type GameIconName, type IconHandle, type IconName, type IconRenderOptions, type PrizeIconName, type StatIconName, type WinIconName, prizeIconSvg, renderPrizeIcon, resolveGameImage, winIcon, } from './icon.service.js';
@@ -1,4 +0,0 @@
1
- /** Normalize `#rgb`, `#rrggbb`, or `#rrggbbaa` to lowercase `#rrggbb`. */
2
- export declare function normalizeHexColor(input: string): string | null;
3
- /** Map a client hex background to host CSS custom properties. */
4
- export declare function resolveBackgroundVars(background: string): Record<string, string> | null;
@@ -1,22 +0,0 @@
1
- const e = /^#?(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
2
- function o(n) {
3
- return n.length !== 3 ? n : n.split("").map((t) => t + t).join("");
4
- }
5
- function i(n) {
6
- const t = n.trim();
7
- if (!e.test(t)) return null;
8
- let r = t.startsWith("#") ? t.slice(1) : t;
9
- return r = o(r), r.length === 8 && (r = r.slice(0, 6)), `#${r.toLowerCase()}`;
10
- }
11
- function s(n) {
12
- const t = i(n);
13
- return t ? {
14
- "--os-casino-bg": t,
15
- "--os-casino-bg-2": t
16
- } : null;
17
- }
18
- export {
19
- i as normalizeHexColor,
20
- s as resolveBackgroundVars
21
- };
22
- //# sourceMappingURL=background.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"background.js","sources":["../../../../src/components/os-leaderboard-casino/theme/background.ts"],"sourcesContent":["const HEX_COLOR =\n /^#?(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;\n\nfunction expandShortHex(hex: string): string {\n if (hex.length !== 3) return hex;\n return hex\n .split('')\n .map((c) => c + c)\n .join('');\n}\n\n/** Normalize `#rgb`, `#rrggbb`, or `#rrggbbaa` to lowercase `#rrggbb`. */\nexport function normalizeHexColor(input: string): string | null {\n const trimmed = input.trim();\n if (!HEX_COLOR.test(trimmed)) return null;\n\n let hex = trimmed.startsWith('#') ? trimmed.slice(1) : trimmed;\n hex = expandShortHex(hex);\n if (hex.length === 8) hex = hex.slice(0, 6);\n\n return `#${hex.toLowerCase()}`;\n}\n\n/** Map a client hex background to host CSS custom properties. */\nexport function resolveBackgroundVars(\n background: string,\n): Record<string, string> | null {\n const bg = normalizeHexColor(background);\n if (!bg) return null;\n\n return {\n '--os-casino-bg': bg,\n '--os-casino-bg-2': bg,\n };\n}\n"],"names":["HEX_COLOR","expandShortHex","hex","c","normalizeHexColor","input","trimmed","resolveBackgroundVars","background","bg"],"mappings":"AAAA,MAAMA,IACJ;AAEF,SAASC,EAAeC,GAAqB;AAC3C,SAAIA,EAAI,WAAW,IAAUA,IACtBA,EACJ,MAAM,EAAE,EACR,IAAI,CAACC,MAAMA,IAAIA,CAAC,EAChB,KAAK,EAAE;AACZ;AAGO,SAASC,EAAkBC,GAA8B;AAC9D,QAAMC,IAAUD,EAAM,KAAA;AACtB,MAAI,CAACL,EAAU,KAAKM,CAAO,EAAG,QAAO;AAErC,MAAIJ,IAAMI,EAAQ,WAAW,GAAG,IAAIA,EAAQ,MAAM,CAAC,IAAIA;AACvD,SAAAJ,IAAMD,EAAeC,CAAG,GACpBA,EAAI,WAAW,UAASA,EAAI,MAAM,GAAG,CAAC,IAEnC,IAAIA,EAAI,YAAA,CAAa;AAC9B;AAGO,SAASK,EACdC,GAC+B;AAC/B,QAAMC,IAAKL,EAAkBI,CAAU;AACvC,SAAKC,IAEE;AAAA,IACL,kBAAkBA;AAAA,IAClB,oBAAoBA;AAAA,EAAA,IAJN;AAMlB;"}
@@ -1,3 +0,0 @@
1
- export { osLeaderboardCasinoTheme, glassCard } from './styles.js';
2
- export { renderPlayerName, vipBadge } from './vip-mark.js';
3
- export { prizeIconSvg, renderPrizeIcon } from './prize-icons.js';
@@ -1 +0,0 @@
1
- export { prizeIconSvg, renderPrizeIcon, } from '../services/icon.service.js';
@@ -1,5 +0,0 @@
1
- import { QuizPrize } from '../types/data.js';
2
- /** Prize tier that covers `rank` (inclusive range). */
3
- export declare function prizeForRank(prizes: QuizPrize[], rank: number): QuizPrize | undefined;
4
- export declare function isPodiumPrize(prize: QuizPrize): boolean;
5
- export declare function podiumVariantForRank(rank: 1 | 2 | 3): 'gold' | 'silver' | 'bronze';
@@ -1,11 +0,0 @@
1
- function i(n, r) {
2
- return n.find((o) => r >= o.rankFrom && r <= o.rankTo);
3
- }
4
- function t(n) {
5
- return { 1: "gold", 2: "silver", 3: "bronze" }[n];
6
- }
7
- export {
8
- t as podiumVariantForRank,
9
- i as prizeForRank
10
- };
11
- //# sourceMappingURL=prize-resolve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prize-resolve.js","sources":["../../../../src/components/os-leaderboard-casino/theme/prize-resolve.ts"],"sourcesContent":["import type { QuizPrize } from '@os-leaderboard-casino/types/data.js';\n\n/** Prize tier that covers `rank` (inclusive range). */\nexport function prizeForRank(\n prizes: QuizPrize[],\n rank: number,\n): QuizPrize | undefined {\n return prizes.find((prize) => rank >= prize.rankFrom && rank <= prize.rankTo);\n}\n\nexport function isPodiumPrize(prize: QuizPrize): boolean {\n return (\n prize.rankFrom === prize.rankTo &&\n prize.rankFrom >= 1 &&\n prize.rankFrom <= 3\n );\n}\n\nexport function podiumVariantForRank(\n rank: 1 | 2 | 3,\n): 'gold' | 'silver' | 'bronze' {\n return ({ 1: 'gold', 2: 'silver', 3: 'bronze' } as const)[rank];\n}\n"],"names":["prizeForRank","prizes","rank","prize","podiumVariantForRank"],"mappings":"AAGO,SAASA,EACdC,GACAC,GACuB;AACvB,SAAOD,EAAO,KAAK,CAACE,MAAUD,KAAQC,EAAM,YAAYD,KAAQC,EAAM,MAAM;AAC9E;AAUO,SAASC,EACdF,GAC8B;AAC9B,SAAQ,EAAE,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAA,EAAqBA,CAAI;AAChE;"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Design tokens — "casino noir" glam.
3
- * Champagne gold on deep noir, glassy surfaces, soft neon accents.
4
- * Each color token reads an external `--os-casino-*` override first so
5
- * consumers can theme the component from outside the shadow DOM.
6
- */
7
- export declare const osLeaderboardCasinoTheme: import('lit').CSSResult;
8
- /** Shared glass-card recipe used across sections. */
9
- export declare const glassCard: import('lit').CSSResult;
@@ -1,179 +0,0 @@
1
- import { css as a } from "../../../shared/vendor/lit-reactive-element-css-tag.js";
2
- const o = a`
3
- :host {
4
- --bg: var(--os-casino-bg, #181622);
5
- --bg-2: var(--os-casino-bg-2, #181622);
6
- --surface: var(--os-casino-surface, rgba(26, 19, 42, 0.78));
7
- --surface-solid: var(--os-casino-surface-solid, #1a132a);
8
- --surface-2: var(--os-casino-surface-2, rgba(38, 28, 60, 0.85));
9
- --glass-blur: 14px;
10
- --radius-lg: 20px;
11
- --hairline: var(--os-casino-hairline, rgba(255, 255, 255, 0.07));
12
- --hairline-strong: var(--os-casino-hairline-strong, rgba(255, 255, 255, 0.13));
13
- --hairline-gold: var(--os-casino-hairline-gold, rgba(245, 196, 81, 0.22));
14
-
15
- --text: var(--os-casino-text, #f7f3ff);
16
- --text-dim: var(--os-casino-text-dim, #ab9fce);
17
- --text-faint: var(--os-casino-text-faint, #6e6394);
18
-
19
- --gold: var(--os-casino-gold, #f5c451);
20
- --gold-strong: var(--os-casino-gold-strong, #ffe093);
21
- --gold-deep: var(--os-casino-gold-deep, #c98f1d);
22
- --gold-soft: var(--os-casino-gold-soft, rgba(245, 196, 81, 0.13));
23
- --gold-glow: var(--os-casino-gold-glow, rgba(245, 196, 81, 0.38));
24
- --gold-gradient: var(
25
- --os-casino-gold-gradient,
26
- linear-gradient(
27
- 120deg,
28
- #8a5e10 0%,
29
- #f5c451 28%,
30
- #ffe9b0 50%,
31
- #f5c451 72%,
32
- #8a5e10 100%
33
- )
34
- );
35
-
36
- --silver: var(--os-casino-silver, #cfd6e4);
37
- --silver-soft: var(--os-casino-silver-soft, rgba(207, 214, 228, 0.12));
38
- --bronze: var(--os-casino-bronze, #d99a66);
39
- --bronze-soft: var(--os-casino-bronze-soft, rgba(217, 154, 102, 0.12));
40
-
41
- --violet: var(--os-casino-violet, #9d6bff);
42
- --violet-soft: var(--os-casino-violet-soft, rgba(157, 107, 255, 0.16));
43
- --green: var(--os-casino-green, #41e6a5);
44
- --green-soft: var(--os-casino-green-soft, rgba(65, 230, 165, 0.13));
45
- --cyan: var(--os-casino-cyan, #5fe6ff);
46
- --cyan-soft: var(--os-casino-cyan-soft, rgba(95, 230, 255, 0.13));
47
- --red: var(--os-casino-red, #ff5d7c);
48
- --red-soft: var(--os-casino-red-soft, rgba(255, 93, 124, 0.13));
49
-
50
- --radius: 20px;
51
- --radius-sm: 13px;
52
- --shadow: 0 22px 48px -24px rgba(0, 0, 0, 0.95);
53
- --shadow-gold: 0 12px 42px -16px var(--gold-glow);
54
-
55
- --font-display: var(--os-casino-font-display, 'Sora', system-ui, sans-serif);
56
- --font-body: var(--os-casino-font-body, 'Inter', system-ui, sans-serif);
57
- --font-mono: var(--os-casino-font-mono, ui-monospace, 'JetBrains Mono', monospace);
58
-
59
- font-family: var(--font-body);
60
-
61
- --transition-fast: 0.2s ease;
62
-
63
- --accent-2: var(--os-casino-accent-2, color-mix(in srgb, var(--violet) 28%, transparent));
64
-
65
- --panel-bg: linear-gradient(
66
- 120deg,
67
- color-mix(in srgb, var(--surface-solid) 94%, transparent),
68
- color-mix(in srgb, var(--surface) 88%, transparent)
69
- );
70
- --panel-border: color-mix(in srgb, var(--violet) 22%, var(--hairline));
71
- --panel-shadow: 0 18px 50px -28px color-mix(in srgb, black 90%, transparent);
72
- --panel-fade-start: color-mix(in srgb, var(--surface-solid) 94%, transparent);
73
- --panel-fade-end: color-mix(in srgb, var(--surface) 88%, transparent);
74
- }
75
-
76
- .section-header {
77
- display: flex;
78
- align-items: baseline;
79
- gap: 12px;
80
- margin-bottom: 12px;
81
- }
82
-
83
- .section-header:has(.strategy) {
84
- align-items: center;
85
- }
86
-
87
- .section-title {
88
- margin: 0;
89
- font-family: var(--font-display);
90
- font-size: 15px;
91
- font-weight: 800;
92
- letter-spacing: 0.02em;
93
- color: var(--text);
94
- }
95
-
96
- .player-name {
97
- display: inline-flex;
98
- align-items: center;
99
- gap: 6px;
100
- min-width: 0;
101
- max-width: 100%;
102
- }
103
-
104
- .player-name .name {
105
- overflow: hidden;
106
- text-overflow: ellipsis;
107
- white-space: nowrap;
108
- font-weight: 700;
109
- }
110
-
111
- .player-name .vip-badge {
112
- flex: none;
113
- display: inline-flex;
114
- align-items: center;
115
- gap: 3px;
116
- font-family: var(--font-body);
117
- font-size: 9.5px;
118
- font-weight: 800;
119
- letter-spacing: 0.08em;
120
- line-height: 1;
121
- text-transform: uppercase;
122
- color: var(--gold);
123
- border: 1px solid color-mix(in srgb, var(--gold) 45%, transparent);
124
- border-radius: 5px;
125
- padding: 1px 5px;
126
- background: transparent;
127
- vertical-align: middle;
128
- }
129
-
130
- .player-name .vip-badge svg {
131
- width: 10px;
132
- height: 10px;
133
- flex-shrink: 0;
134
- }
135
-
136
- .prize-icon {
137
- display: inline-grid;
138
- place-items: center;
139
- flex: none;
140
- width: 18px;
141
- height: 18px;
142
- vertical-align: -3px;
143
- }
144
-
145
- .prize-icon--inline {
146
- width: 14px;
147
- height: 14px;
148
- vertical-align: -2px;
149
- }
150
-
151
- .prize-entry {
152
- display: inline-flex;
153
- align-items: center;
154
- gap: 6px;
155
- min-width: 0;
156
- max-width: 100%;
157
- }
158
-
159
- .prize-entry .prize-label {
160
- overflow: hidden;
161
- text-overflow: ellipsis;
162
- white-space: nowrap;
163
- min-width: 0;
164
- }
165
- `;
166
- a`
167
- .glass {
168
- background: var(--surface);
169
- border: 1px solid var(--hairline);
170
- border-radius: var(--radius);
171
- box-shadow: var(--shadow);
172
- backdrop-filter: blur(var(--glass-blur));
173
- -webkit-backdrop-filter: blur(var(--glass-blur));
174
- }
175
- `;
176
- export {
177
- o as osLeaderboardCasinoTheme
178
- };
179
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/os-leaderboard-casino/theme/styles.ts"],"sourcesContent":["import { css } from '@lit/reactive-element/css-tag.js';\n\n/**\n * Design tokens — \"casino noir\" glam.\n * Champagne gold on deep noir, glassy surfaces, soft neon accents.\n * Each color token reads an external `--os-casino-*` override first so\n * consumers can theme the component from outside the shadow DOM.\n */\nexport const osLeaderboardCasinoTheme = css`\n :host {\n --bg: var(--os-casino-bg, #181622);\n --bg-2: var(--os-casino-bg-2, #181622);\n --surface: var(--os-casino-surface, rgba(26, 19, 42, 0.78));\n --surface-solid: var(--os-casino-surface-solid, #1a132a);\n --surface-2: var(--os-casino-surface-2, rgba(38, 28, 60, 0.85));\n --glass-blur: 14px;\n --radius-lg: 20px;\n --hairline: var(--os-casino-hairline, rgba(255, 255, 255, 0.07));\n --hairline-strong: var(--os-casino-hairline-strong, rgba(255, 255, 255, 0.13));\n --hairline-gold: var(--os-casino-hairline-gold, rgba(245, 196, 81, 0.22));\n\n --text: var(--os-casino-text, #f7f3ff);\n --text-dim: var(--os-casino-text-dim, #ab9fce);\n --text-faint: var(--os-casino-text-faint, #6e6394);\n\n --gold: var(--os-casino-gold, #f5c451);\n --gold-strong: var(--os-casino-gold-strong, #ffe093);\n --gold-deep: var(--os-casino-gold-deep, #c98f1d);\n --gold-soft: var(--os-casino-gold-soft, rgba(245, 196, 81, 0.13));\n --gold-glow: var(--os-casino-gold-glow, rgba(245, 196, 81, 0.38));\n --gold-gradient: var(\n --os-casino-gold-gradient,\n linear-gradient(\n 120deg,\n #8a5e10 0%,\n #f5c451 28%,\n #ffe9b0 50%,\n #f5c451 72%,\n #8a5e10 100%\n )\n );\n\n --silver: var(--os-casino-silver, #cfd6e4);\n --silver-soft: var(--os-casino-silver-soft, rgba(207, 214, 228, 0.12));\n --bronze: var(--os-casino-bronze, #d99a66);\n --bronze-soft: var(--os-casino-bronze-soft, rgba(217, 154, 102, 0.12));\n\n --violet: var(--os-casino-violet, #9d6bff);\n --violet-soft: var(--os-casino-violet-soft, rgba(157, 107, 255, 0.16));\n --green: var(--os-casino-green, #41e6a5);\n --green-soft: var(--os-casino-green-soft, rgba(65, 230, 165, 0.13));\n --cyan: var(--os-casino-cyan, #5fe6ff);\n --cyan-soft: var(--os-casino-cyan-soft, rgba(95, 230, 255, 0.13));\n --red: var(--os-casino-red, #ff5d7c);\n --red-soft: var(--os-casino-red-soft, rgba(255, 93, 124, 0.13));\n\n --radius: 20px;\n --radius-sm: 13px;\n --shadow: 0 22px 48px -24px rgba(0, 0, 0, 0.95);\n --shadow-gold: 0 12px 42px -16px var(--gold-glow);\n\n --font-display: var(--os-casino-font-display, 'Sora', system-ui, sans-serif);\n --font-body: var(--os-casino-font-body, 'Inter', system-ui, sans-serif);\n --font-mono: var(--os-casino-font-mono, ui-monospace, 'JetBrains Mono', monospace);\n\n font-family: var(--font-body);\n\n --transition-fast: 0.2s ease;\n\n --accent-2: var(--os-casino-accent-2, color-mix(in srgb, var(--violet) 28%, transparent));\n\n --panel-bg: linear-gradient(\n 120deg,\n color-mix(in srgb, var(--surface-solid) 94%, transparent),\n color-mix(in srgb, var(--surface) 88%, transparent)\n );\n --panel-border: color-mix(in srgb, var(--violet) 22%, var(--hairline));\n --panel-shadow: 0 18px 50px -28px color-mix(in srgb, black 90%, transparent);\n --panel-fade-start: color-mix(in srgb, var(--surface-solid) 94%, transparent);\n --panel-fade-end: color-mix(in srgb, var(--surface) 88%, transparent);\n }\n\n .section-header {\n display: flex;\n align-items: baseline;\n gap: 12px;\n margin-bottom: 12px;\n }\n\n .section-header:has(.strategy) {\n align-items: center;\n }\n\n .section-title {\n margin: 0;\n font-family: var(--font-display);\n font-size: 15px;\n font-weight: 800;\n letter-spacing: 0.02em;\n color: var(--text);\n }\n\n .player-name {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n max-width: 100%;\n }\n\n .player-name .name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 700;\n }\n\n .player-name .vip-badge {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: 3px;\n font-family: var(--font-body);\n font-size: 9.5px;\n font-weight: 800;\n letter-spacing: 0.08em;\n line-height: 1;\n text-transform: uppercase;\n color: var(--gold);\n border: 1px solid color-mix(in srgb, var(--gold) 45%, transparent);\n border-radius: 5px;\n padding: 1px 5px;\n background: transparent;\n vertical-align: middle;\n }\n\n .player-name .vip-badge svg {\n width: 10px;\n height: 10px;\n flex-shrink: 0;\n }\n\n .prize-icon {\n display: inline-grid;\n place-items: center;\n flex: none;\n width: 18px;\n height: 18px;\n vertical-align: -3px;\n }\n\n .prize-icon--inline {\n width: 14px;\n height: 14px;\n vertical-align: -2px;\n }\n\n .prize-entry {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n max-width: 100%;\n }\n\n .prize-entry .prize-label {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n }\n`;\n\n/** Shared glass-card recipe used across sections. */\nexport const glassCard = css`\n .glass {\n background: var(--surface);\n border: 1px solid var(--hairline);\n border-radius: var(--radius);\n box-shadow: var(--shadow);\n backdrop-filter: blur(var(--glass-blur));\n -webkit-backdrop-filter: blur(var(--glass-blur));\n }\n`;\n"],"names":["osLeaderboardCasinoTheme","css"],"mappings":";AAQO,MAAMA,IAA2BC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAsKfA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;"}
@@ -1,2 +0,0 @@
1
- import { TemplateResult } from 'lit';
2
- export declare const iconCrown: () => TemplateResult;
@@ -1,6 +0,0 @@
1
- import { iconService as o } from "../services/icon.service.js";
2
- const c = () => o.svg("vip.crown");
3
- export {
4
- c as iconCrown
5
- };
6
- //# sourceMappingURL=vip-icons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vip-icons.js","sources":["../../../../src/components/os-leaderboard-casino/theme/vip-icons.ts"],"sourcesContent":["import type { TemplateResult } from 'lit';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\n\nexport const iconCrown = (): TemplateResult => iconService.svg('vip.crown');\n"],"names":["iconCrown","iconService"],"mappings":";AAGO,MAAMA,IAAY,MAAsBC,EAAY,IAAI,WAAW;"}
@@ -1,22 +0,0 @@
1
- import "../../../shared/vendor/lit-reactive-element-reactive-element.js";
2
- import { nothing as s, html as p } from "../../../shared/vendor/lit-html-lit-html.js";
3
- import "../../../shared/vendor/lit-element-lit-element.js";
4
- import { iconCrown as i } from "./vip-icons.js";
5
- function e(n) {
6
- return n ? p`<span class="vip-badge">${i()}VIP</span>` : s;
7
- }
8
- function c(n, a) {
9
- const r = a?.vip ?? !1;
10
- return p`
11
- <span class="player-name ${r ? "is-vip" : ""}">
12
- ${e(r)}
13
- <span class="name">${n}</span>
14
- ${a?.suffix ?? s}
15
- </span>
16
- `;
17
- }
18
- export {
19
- c as renderPlayerName,
20
- e as vipBadge
21
- };
22
- //# sourceMappingURL=vip-mark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vip-mark.js","sources":["../../../../src/components/os-leaderboard-casino/theme/vip-mark.ts"],"sourcesContent":["import { html, nothing, type TemplateResult } from 'lit';\nimport { iconCrown } from './vip-icons.js';\n\n/** v0 vip badge — slim outline tag with crown + VIP label. */\nexport function vipBadge(vip?: boolean): TemplateResult | typeof nothing {\n if (!vip) return nothing;\n return html`<span class=\"vip-badge\">${iconCrown()}VIP</span>`;\n}\n\nexport function renderPlayerName(\n username: string,\n options?: { vip?: boolean; suffix?: TemplateResult | typeof nothing },\n): TemplateResult {\n const vip = options?.vip ?? false;\n\n return html`\n <span class=\"player-name ${vip ? 'is-vip' : ''}\">\n ${vipBadge(vip)}\n <span class=\"name\">${username}</span>\n ${options?.suffix ?? nothing}\n </span>\n `;\n}\n"],"names":["vipBadge","vip","html","iconCrown","nothing","renderPlayerName","username","options"],"mappings":";;;;AAIO,SAASA,EAASC,GAAgD;AACvE,SAAKA,IACEC,4BAA+BC,GAAW,eADhCC;AAEnB;AAEO,SAASC,EACdC,GACAC,GACgB;AAChB,QAAMN,IAAMM,GAAS,OAAO;AAE5B,SAAOL;AAAAA,+BACsBD,IAAM,WAAW,EAAE;AAAA,QAC1CD,EAASC,CAAG,CAAC;AAAA,2BACMK,CAAQ;AAAA,QAC3BC,GAAS,UAAUH,CAAO;AAAA;AAAA;AAGlC;"}
@@ -1,42 +0,0 @@
1
- import { LeaderboardCasinoLabels, LeaderboardCasinoPresetId, LeaderboardCasinoPresetMeta } from './input.js';
2
- import { OsLeaderboardCasinoConfig, OsLeaderboardCasinoMainSectionId, OsLeaderboardCasinoSectionId, OsLeaderboardCasinoState } from './state.js';
3
- export interface LeaderboardCasinoAssetsTheme {
4
- id: string;
5
- label: string;
6
- description?: string;
7
- appearance: OsLeaderboardCasinoConfig['appearance'];
8
- /** Solid page background (hex). */
9
- background?: string;
10
- vars?: Record<string, string>;
11
- }
12
- export interface LeaderboardCasinoAssetsPreset {
13
- id: LeaderboardCasinoPresetId;
14
- label: string;
15
- description: string;
16
- appearance: OsLeaderboardCasinoConfig['appearance'];
17
- themeId: string;
18
- config: {
19
- labels?: LeaderboardCasinoLabels;
20
- enabled: readonly OsLeaderboardCasinoSectionId[];
21
- mainOrder?: readonly OsLeaderboardCasinoMainSectionId[];
22
- };
23
- }
24
- /** Static JSON bundle the parent app provides (or ships under `/assets/...`). */
25
- export interface LeaderboardCasinoAssetsBundle {
26
- version: 1;
27
- labels: LeaderboardCasinoLabels;
28
- themes: readonly LeaderboardCasinoAssetsTheme[];
29
- presets: {
30
- defaultPresetId: LeaderboardCasinoPresetId;
31
- presets: readonly LeaderboardCasinoAssetsPreset[];
32
- };
33
- catalog: readonly LeaderboardCasinoPresetMeta[];
34
- resolvedPresets: Record<string, OsLeaderboardCasinoState>;
35
- }
36
- /** Parent passes inline JSON and/or a base URL to static files under `assets/`. */
37
- export interface LeaderboardCasinoAssetsInput {
38
- /** Full bundle — preferred when parent already loaded JSON. */
39
- bundle?: LeaderboardCasinoAssetsBundle | null;
40
- /** e.g. `/os-leaderboard-casino-config/free` — loads JSON from producer output. */
41
- baseUrl?: string;
42
- }