@oddsmith/ui 0.0.0 → 1.0.0

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 (396) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -115
  3. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json +9 -0
  4. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js +13 -0
  5. package/dist/components/os-leaderboard-casino/assets/fallback/catalog.json.js.map +1 -0
  6. package/dist/components/os-leaderboard-casino/assets/fallback/config.json +8 -0
  7. package/dist/components/os-leaderboard-casino/assets/fallback/defaults/glam-sections.json +564 -0
  8. package/dist/components/os-leaderboard-casino/assets/fallback/fonts.json +3 -0
  9. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json +5 -0
  10. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js +12 -0
  11. package/dist/components/os-leaderboard-casino/assets/fallback/labels.json.js.map +1 -0
  12. package/dist/components/os-leaderboard-casino/assets/fallback/manifest.json +6 -0
  13. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json +38 -0
  14. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js +10 -0
  15. package/dist/components/os-leaderboard-casino/assets/fallback/presets.json.js.map +1 -0
  16. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json +601 -0
  17. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js +8 -0
  18. package/dist/components/os-leaderboard-casino/assets/fallback/resolved-presets.json.js.map +1 -0
  19. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json +69 -0
  20. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js +73 -0
  21. package/dist/components/os-leaderboard-casino/assets/fallback/themes.json.js.map +1 -0
  22. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg +7 -0
  23. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js +12 -0
  24. package/dist/components/os-leaderboard-casino/assets/icons/prize.casino-credits.svg.js.map +1 -0
  25. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg +7 -0
  26. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js +12 -0
  27. package/dist/components/os-leaderboard-casino/assets/icons/prize.default.svg.js.map +1 -0
  28. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg +5 -0
  29. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js +10 -0
  30. package/dist/components/os-leaderboard-casino/assets/icons/prize.elite-bonus.svg.js.map +1 -0
  31. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg +10 -0
  32. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js +15 -0
  33. package/dist/components/os-leaderboard-casino/assets/icons/prize.free-spins.svg.js.map +1 -0
  34. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg +5 -0
  35. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js +10 -0
  36. package/dist/components/os-leaderboard-casino/assets/icons/prize.grand-jackpot.svg.js.map +1 -0
  37. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg +5 -0
  38. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js +10 -0
  39. package/dist/components/os-leaderboard-casino/assets/icons/prize.high-roller.svg.js.map +1 -0
  40. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg +8 -0
  41. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js +13 -0
  42. package/dist/components/os-leaderboard-casino/assets/icons/prize.mystery-bonus.svg.js.map +1 -0
  43. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg +4 -0
  44. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js +9 -0
  45. package/dist/components/os-leaderboard-casino/assets/icons/stat.clock.svg.js.map +1 -0
  46. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg +5 -0
  47. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js +10 -0
  48. package/dist/components/os-leaderboard-casino/assets/icons/stat.gift.svg.js.map +1 -0
  49. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg +5 -0
  50. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js +10 -0
  51. package/dist/components/os-leaderboard-casino/assets/icons/stat.users.svg.js.map +1 -0
  52. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg +4 -0
  53. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js +9 -0
  54. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-down.svg.js.map +1 -0
  55. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg +4 -0
  56. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js +9 -0
  57. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-neutral.svg.js.map +1 -0
  58. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg +4 -0
  59. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js +9 -0
  60. package/dist/components/os-leaderboard-casino/assets/icons/table.rank-up.svg.js.map +1 -0
  61. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg +7 -0
  62. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js +12 -0
  63. package/dist/components/os-leaderboard-casino/assets/icons/vip.crown.svg.js.map +1 -0
  64. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg +5 -0
  65. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js +10 -0
  66. package/dist/components/os-leaderboard-casino/assets/icons/win.bag.svg.js.map +1 -0
  67. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg +4 -0
  68. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js +9 -0
  69. package/dist/components/os-leaderboard-casino/assets/icons/win.bolt.svg.js.map +1 -0
  70. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg +5 -0
  71. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js +10 -0
  72. package/dist/components/os-leaderboard-casino/assets/icons/win.coin.svg.js.map +1 -0
  73. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg +4 -0
  74. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js +9 -0
  75. package/dist/components/os-leaderboard-casino/assets/icons/win.fire.svg.js.map +1 -0
  76. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg +5 -0
  77. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js +10 -0
  78. package/dist/components/os-leaderboard-casino/assets/icons/win.gem.svg.js.map +1 -0
  79. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg +5 -0
  80. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js +10 -0
  81. package/dist/components/os-leaderboard-casino/assets/icons/win.trophy.svg.js.map +1 -0
  82. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png +0 -0
  83. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js +5 -0
  84. package/dist/components/os-leaderboard-casino/assets/images/games/cards.png.js.map +1 -0
  85. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png +0 -0
  86. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js +5 -0
  87. package/dist/components/os-leaderboard-casino/assets/images/games/chips.png.js.map +1 -0
  88. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png +0 -0
  89. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js +5 -0
  90. package/dist/components/os-leaderboard-casino/assets/images/games/dice.png.js.map +1 -0
  91. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png +0 -0
  92. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js +5 -0
  93. package/dist/components/os-leaderboard-casino/assets/images/games/gates-of-olympus.png.js.map +1 -0
  94. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png +0 -0
  95. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js +5 -0
  96. package/dist/components/os-leaderboard-casino/assets/images/games/roulette.png.js.map +1 -0
  97. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png +0 -0
  98. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js +5 -0
  99. package/dist/components/os-leaderboard-casino/assets/images/games/slot-machine.png.js.map +1 -0
  100. package/dist/components/os-leaderboard-casino/assets/images/logo.png +0 -0
  101. package/dist/components/os-leaderboard-casino/constants/defaults.js +9 -0
  102. package/dist/components/os-leaderboard-casino/constants/defaults.js.map +1 -0
  103. package/dist/components/os-leaderboard-casino/constants/tags.js +15 -0
  104. package/dist/components/os-leaderboard-casino/constants/tags.js.map +1 -0
  105. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js +20 -0
  106. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.html.js.map +1 -0
  107. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js +152 -0
  108. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.js.map +1 -0
  109. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js +5 -0
  110. package/dist/components/os-leaderboard-casino/container/os-leaderboard-casino.scss.js.map +1 -0
  111. package/dist/components/os-leaderboard-casino/index.js +39 -0
  112. package/dist/components/os-leaderboard-casino/index.js.map +1 -0
  113. package/dist/components/os-leaderboard-casino/integration/assemble-assets.js +48 -0
  114. package/dist/components/os-leaderboard-casino/integration/assemble-assets.js.map +1 -0
  115. package/dist/components/os-leaderboard-casino/integration/assets-context.js +64 -0
  116. package/dist/components/os-leaderboard-casino/integration/assets-context.js.map +1 -0
  117. package/dist/components/os-leaderboard-casino/integration/load-assets.js +22 -0
  118. package/dist/components/os-leaderboard-casino/integration/load-assets.js.map +1 -0
  119. package/dist/components/os-leaderboard-casino/integration/resolve-input.js +99 -0
  120. package/dist/components/os-leaderboard-casino/integration/resolve-input.js.map +1 -0
  121. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js +46 -0
  122. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.html.js.map +1 -0
  123. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js +74 -0
  124. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.js.map +1 -0
  125. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js +5 -0
  126. package/dist/components/os-leaderboard-casino/sections/climb-section/climb-section.scss.js.map +1 -0
  127. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js +116 -0
  128. package/dist/components/os-leaderboard-casino/sections/events-banner/components/event-icons.js.map +1 -0
  129. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js +89 -0
  130. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.js.map +1 -0
  131. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js +5 -0
  132. package/dist/components/os-leaderboard-casino/sections/events-banner/events-banner.scss.js.map +1 -0
  133. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js +18 -0
  134. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.html.js.map +1 -0
  135. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js +38 -0
  136. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.js.map +1 -0
  137. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js +5 -0
  138. package/dist/components/os-leaderboard-casino/sections/footer-section/footer-section.scss.js.map +1 -0
  139. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js +15 -0
  140. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.html.js.map +1 -0
  141. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js +86 -0
  142. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.js.map +1 -0
  143. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js +5 -0
  144. package/dist/components/os-leaderboard-casino/sections/games-section/games-section.scss.js.map +1 -0
  145. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js +34 -0
  146. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.html.js.map +1 -0
  147. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js +159 -0
  148. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.js.map +1 -0
  149. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js +5 -0
  150. package/dist/components/os-leaderboard-casino/sections/hero-section/hero-section.scss.js.map +1 -0
  151. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js +33 -0
  152. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.html.js.map +1 -0
  153. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js +73 -0
  154. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.js.map +1 -0
  155. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js +5 -0
  156. package/dist/components/os-leaderboard-casino/sections/legals-section/legals-section.scss.js.map +1 -0
  157. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js +8 -0
  158. package/dist/components/os-leaderboard-casino/sections/marquee-section/components/win-icons.js.map +1 -0
  159. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js +57 -0
  160. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-item.js.map +1 -0
  161. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js +17 -0
  162. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.html.js.map +1 -0
  163. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js +287 -0
  164. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.js.map +1 -0
  165. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js +5 -0
  166. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-section.scss.js.map +1 -0
  167. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js +16 -0
  168. package/dist/components/os-leaderboard-casino/sections/marquee-section/marquee-variants.js.map +1 -0
  169. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js +18 -0
  170. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.html.js.map +1 -0
  171. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js +134 -0
  172. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.js.map +1 -0
  173. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js +5 -0
  174. package/dist/components/os-leaderboard-casino/sections/prize-section/prize-section.scss.js.map +1 -0
  175. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js +34 -0
  176. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.html.js.map +1 -0
  177. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js +67 -0
  178. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.js.map +1 -0
  179. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js +5 -0
  180. package/dist/components/os-leaderboard-casino/sections/stats-section/stats-section.scss.js.map +1 -0
  181. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js +38 -0
  182. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.html.js.map +1 -0
  183. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js +182 -0
  184. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.js.map +1 -0
  185. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js +5 -0
  186. package/dist/components/os-leaderboard-casino/sections/table-section/table-section.scss.js.map +1 -0
  187. package/dist/components/os-leaderboard-casino/services/adapter.service.js +49 -0
  188. package/dist/components/os-leaderboard-casino/services/adapter.service.js.map +1 -0
  189. package/dist/components/os-leaderboard-casino/services/icon.service.js +192 -0
  190. package/dist/components/os-leaderboard-casino/services/icon.service.js.map +1 -0
  191. package/dist/components/os-leaderboard-casino/theme/prize-resolve.js +11 -0
  192. package/dist/components/os-leaderboard-casino/theme/prize-resolve.js.map +1 -0
  193. package/dist/components/os-leaderboard-casino/theme/styles.js +179 -0
  194. package/dist/components/os-leaderboard-casino/theme/styles.js.map +1 -0
  195. package/dist/components/os-leaderboard-casino/theme/vip-icons.js +6 -0
  196. package/dist/components/os-leaderboard-casino/theme/vip-icons.js.map +1 -0
  197. package/dist/components/os-leaderboard-casino/theme/vip-mark.js +20 -0
  198. package/dist/components/os-leaderboard-casino/theme/vip-mark.js.map +1 -0
  199. package/dist/components/os-leaderboard-casino/types/data.js +7 -0
  200. package/dist/components/os-leaderboard-casino/types/data.js.map +1 -0
  201. package/dist/components/os-leaderboard-casino/types/events.js +8 -0
  202. package/dist/components/os-leaderboard-casino/types/events.js.map +1 -0
  203. package/dist/components/os-leaderboard-casino/types/state.js +12 -0
  204. package/dist/components/os-leaderboard-casino/types/state.js.map +1 -0
  205. package/dist/index.d.ts +734 -0
  206. package/dist/shared/lib/lit/component.js +8 -0
  207. package/dist/shared/lib/lit/component.js.map +1 -0
  208. package/dist/shared/lib/lit/safe-custom-element.js +7 -0
  209. package/dist/shared/lib/lit/safe-custom-element.js.map +1 -0
  210. package/dist/shared/lib/lit/scss.js +8 -0
  211. package/dist/shared/lib/lit/scss.js.map +1 -0
  212. package/dist/shared/vendor/keen-slider-keen-slider.es.js +538 -0
  213. package/dist/shared/vendor/keen-slider-keen-slider.es.js.map +1 -0
  214. package/package.json +36 -39
  215. package/.eleventy.cjs +0 -14
  216. package/custom-elements.json +0 -1539
  217. package/docs/_README/index.html +0 -4
  218. package/docs/api/index.html +0 -2100
  219. package/docs/components.bundle.js +0 -1669
  220. package/docs/components.bundle.js.map +0 -1
  221. package/docs/docs.css +0 -162
  222. package/docs/examples/index.html +0 -56
  223. package/docs/index.html +0 -53
  224. package/docs/install/index.html +0 -45
  225. package/docs/prism-okaidia.css +0 -123
  226. package/docs-src/.nojekyll +0 -0
  227. package/docs-src/_README.md +0 -7
  228. package/docs-src/_data/api.11tydata.js +0 -8
  229. package/docs-src/_includes/example.11ty.js +0 -35
  230. package/docs-src/_includes/footer.11ty.js +0 -6
  231. package/docs-src/_includes/header.11ty.js +0 -7
  232. package/docs-src/_includes/nav.11ty.js +0 -11
  233. package/docs-src/_includes/page.11ty.js +0 -32
  234. package/docs-src/_includes/relative-path.cjs +0 -9
  235. package/docs-src/api.11ty.js +0 -85
  236. package/docs-src/bundle.ts +0 -9
  237. package/docs-src/docs.css +0 -162
  238. package/docs-src/examples/index.md +0 -15
  239. package/docs-src/index.md +0 -39
  240. package/docs-src/install.md +0 -28
  241. package/docs-src/package.json +0 -3
  242. package/index.html +0 -19
  243. package/karma.conf.cjs +0 -24
  244. package/main.css +0 -210
  245. package/main.ts +0 -124
  246. package/previews/casino.ts +0 -12
  247. package/previews/catalog.ts +0 -94
  248. package/previews/leaderboard-v1.ts +0 -12
  249. package/previews/leaderboard-v2.ts +0 -17
  250. package/previews/sample-data.ts +0 -101
  251. package/previews/sf-leaderboard.ts +0 -100
  252. package/previews/sf-live-feed.ts +0 -15
  253. package/previews/streaks.ts +0 -40
  254. package/previews/types.ts +0 -18
  255. package/src/components/README.md +0 -16
  256. package/src/components/casino-leaderboard/casino-leaderboard.html +0 -80
  257. package/src/components/casino-leaderboard/casino-leaderboard.scss +0 -585
  258. package/src/components/casino-leaderboard/casino-leaderboard.ts +0 -136
  259. package/src/components/casino-leaderboard/data.ts +0 -111
  260. package/src/components/casino-leaderboard/index.ts +0 -5
  261. package/src/components/casino-leaderboard/todo.txt +0 -2
  262. package/src/components/casino-leaderboard/types.ts +0 -19
  263. package/src/components/leaderboard/components/leaderboard.ts +0 -373
  264. package/src/components/leaderboard/components/player-card.ts +0 -342
  265. package/src/components/leaderboard/components/ui.ts +0 -452
  266. package/src/components/leaderboard/data.ts +0 -152
  267. package/src/components/leaderboard/index.ts +0 -2
  268. package/src/components/leaderboard/main.ts +0 -42
  269. package/src/components/leaderboard/styles.ts +0 -67
  270. package/src/components/leaderboard/types.ts +0 -28
  271. package/src/components/leaderboard-v2/components/sf-leaderboard-player.ts +0 -451
  272. package/src/components/leaderboard-v2/components/sf-leaderboard-ui.ts +0 -512
  273. package/src/components/leaderboard-v2/components/sf-leaderboard.ts +0 -205
  274. package/src/components/leaderboard-v2/constants.ts +0 -16
  275. package/src/components/leaderboard-v2/demo/sample-data.ts +0 -152
  276. package/src/components/leaderboard-v2/events.ts +0 -13
  277. package/src/components/leaderboard-v2/icons.ts +0 -22
  278. package/src/components/leaderboard-v2/index.ts +0 -23
  279. package/src/components/leaderboard-v2/sf-leaderboard.html +0 -1
  280. package/src/components/leaderboard-v2/sf-leaderboard.scss +0 -382
  281. package/src/components/leaderboard-v2/tokens.ts +0 -35
  282. package/src/components/leaderboard-v2/types.ts +0 -30
  283. package/src/components/sf-leaderboard/index.ts +0 -77
  284. package/src/components/sf-leaderboard/sections/footer-section/footer-section.host.ts +0 -3
  285. package/src/components/sf-leaderboard/sections/footer-section/footer-section.html +0 -3
  286. package/src/components/sf-leaderboard/sections/footer-section/footer-section.scss +0 -18
  287. package/src/components/sf-leaderboard/sections/footer-section/footer-section.ts +0 -22
  288. package/src/components/sf-leaderboard/sections/header-section/header-section.host.ts +0 -14
  289. package/src/components/sf-leaderboard/sections/header-section/header-section.html +0 -27
  290. package/src/components/sf-leaderboard/sections/header-section/header-section.scss +0 -189
  291. package/src/components/sf-leaderboard/sections/header-section/header-section.ts +0 -70
  292. package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.host.ts +0 -22
  293. package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.html +0 -38
  294. package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.scss +0 -99
  295. package/src/components/sf-leaderboard/sections/ranking-section/ranking-section.ts +0 -121
  296. package/src/components/sf-leaderboard/sections/stats-section/stats-section.host.ts +0 -8
  297. package/src/components/sf-leaderboard/sections/stats-section/stats-section.html +0 -6
  298. package/src/components/sf-leaderboard/sections/stats-section/stats-section.scss +0 -44
  299. package/src/components/sf-leaderboard/sections/stats-section/stats-section.ts +0 -41
  300. package/src/components/sf-leaderboard/sections/table-section/table-section.host.ts +0 -17
  301. package/src/components/sf-leaderboard/sections/table-section/table-section.html +0 -19
  302. package/src/components/sf-leaderboard/sections/table-section/table-section.scss +0 -37
  303. package/src/components/sf-leaderboard/sections/table-section/table-section.ts +0 -108
  304. package/src/components/sf-leaderboard/services/index.ts +0 -22
  305. package/src/components/sf-leaderboard/services/sf-leaderboard-data.service.ts +0 -54
  306. package/src/components/sf-leaderboard/services/sf-leaderboard.state.ts +0 -160
  307. package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.host.ts +0 -7
  308. package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.html +0 -10
  309. package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.scss +0 -180
  310. package/src/components/sf-leaderboard/shared/components/activity-feed/activity-feed.ts +0 -88
  311. package/src/components/sf-leaderboard/shared/components/filters/filters.host.ts +0 -12
  312. package/src/components/sf-leaderboard/shared/components/filters/filters.html +0 -22
  313. package/src/components/sf-leaderboard/shared/components/filters/filters.scss +0 -122
  314. package/src/components/sf-leaderboard/shared/components/filters/filters.ts +0 -75
  315. package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.host.ts +0 -9
  316. package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.html +0 -5
  317. package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.scss +0 -81
  318. package/src/components/sf-leaderboard/shared/components/player-avatar/player-avatar.ts +0 -34
  319. package/src/components/sf-leaderboard/shared/components/podium/map-players.ts +0 -24
  320. package/src/components/sf-leaderboard/shared/components/podium/podium.host.ts +0 -10
  321. package/src/components/sf-leaderboard/shared/components/podium/podium.html +0 -53
  322. package/src/components/sf-leaderboard/shared/components/podium/podium.scss +0 -580
  323. package/src/components/sf-leaderboard/shared/components/podium/podium.ts +0 -49
  324. package/src/components/sf-leaderboard/shared/components/podium/podium.types.ts +0 -9
  325. package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.host.ts +0 -11
  326. package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.html +0 -9
  327. package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.scss +0 -98
  328. package/src/components/sf-leaderboard/shared/components/rank-badge/rank-badge.ts +0 -63
  329. package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.host.ts +0 -9
  330. package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.html +0 -15
  331. package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.scss +0 -210
  332. package/src/components/sf-leaderboard/shared/components/stat-card/stat-card.ts +0 -36
  333. package/src/components/sf-leaderboard/shared/components/table/table.host.ts +0 -5
  334. package/src/components/sf-leaderboard/shared/components/table/table.html +0 -11
  335. package/src/components/sf-leaderboard/shared/components/table/table.scss +0 -212
  336. package/src/components/sf-leaderboard/shared/components/table/table.ts +0 -111
  337. package/src/components/sf-leaderboard/shared/constants/defaults.ts +0 -7
  338. package/src/components/sf-leaderboard/shared/constants/filters.ts +0 -16
  339. package/src/components/sf-leaderboard/shared/constants/index.ts +0 -5
  340. package/src/components/sf-leaderboard/shared/constants/player-stats.ts +0 -3
  341. package/src/components/sf-leaderboard/shared/constants/stats-overview.ts +0 -38
  342. package/src/components/sf-leaderboard/shared/constants/tags.ts +0 -16
  343. package/src/components/sf-leaderboard/shared/styles/_section.scss +0 -35
  344. package/src/components/sf-leaderboard/shared/types/data.ts +0 -29
  345. package/src/components/sf-leaderboard/shared/types/events.ts +0 -30
  346. package/src/components/sf-leaderboard/shared/types/player-stats.ts +0 -3
  347. package/src/components/sf-leaderboard/shared/types/sections.ts +0 -100
  348. package/src/components/sf-leaderboard/shared/utils/utils.ts +0 -17
  349. package/src/components/sf-leaderboard/theme/THEMING.md +0 -54
  350. package/src/components/sf-leaderboard/theme/context.ts +0 -16
  351. package/src/components/sf-leaderboard/theme/default-theme.ts +0 -4
  352. package/src/components/sf-leaderboard/theme/hex-to-rgb.ts +0 -25
  353. package/src/components/sf-leaderboard/theme/index.ts +0 -18
  354. package/src/components/sf-leaderboard/theme/inject-theme.ts +0 -39
  355. package/src/components/sf-leaderboard/theme/load-theme.ts +0 -26
  356. package/src/components/sf-leaderboard/theme/merge-theme.ts +0 -59
  357. package/src/components/sf-leaderboard/theme/scss/_colors.scss +0 -101
  358. package/src/components/sf-leaderboard/theme/scss/shared.scss +0 -123
  359. package/src/components/sf-leaderboard/theme/styles.ts +0 -6
  360. package/src/components/sf-leaderboard/theme/theme-to-css-vars.ts +0 -99
  361. package/src/components/sf-leaderboard/theme/themes/fallback.json +0 -62
  362. package/src/components/sf-leaderboard/theme/themes/red.json +0 -62
  363. package/src/components/sf-leaderboard/theme/types.ts +0 -71
  364. package/src/components/sf-live-feed/components/avatar/avatar.host.ts +0 -5
  365. package/src/components/sf-live-feed/components/avatar/avatar.html +0 -3
  366. package/src/components/sf-live-feed/components/avatar/avatar.scss +0 -24
  367. package/src/components/sf-live-feed/components/avatar/avatar.ts +0 -27
  368. package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.host.ts +0 -8
  369. package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.html +0 -10
  370. package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.scss +0 -177
  371. package/src/components/sf-live-feed/components/sf-live-feed/sf-live-feed.ts +0 -65
  372. package/src/components/sf-live-feed/constants.ts +0 -4
  373. package/src/components/sf-live-feed/demo/sample-data.ts +0 -34
  374. package/src/components/sf-live-feed/index.ts +0 -19
  375. package/src/components/sf-live-feed/styles/theme.scss +0 -19
  376. package/src/components/sf-live-feed/styles/theme.ts +0 -5
  377. package/src/components/sf-live-feed/types.ts +0 -19
  378. package/src/components/sf-live-feed/utils.ts +0 -17
  379. package/src/components/streaks/constants.ts +0 -17
  380. package/src/components/streaks/demo/sample-steps.ts +0 -10
  381. package/src/components/streaks/events.ts +0 -8
  382. package/src/components/streaks/index.ts +0 -16
  383. package/src/components/streaks/sf-streaks.html +0 -26
  384. package/src/components/streaks/sf-streaks.scss +0 -351
  385. package/src/components/streaks/sf-streaks.ts +0 -235
  386. package/src/components/streaks/types.ts +0 -7
  387. package/src/lib/lit/component.ts +0 -10
  388. package/src/lib/lit/safe-custom-element.ts +0 -12
  389. package/src/lib/lit/scss.ts +0 -6
  390. package/src/vite-env.d.ts +0 -18
  391. package/styles/global.css +0 -125
  392. package/todo.txt +0 -54
  393. package/tsconfig.json +0 -31
  394. package/vite.config.ts +0 -56
  395. package/vite.docs.config.ts +0 -33
  396. package/vite.lit-html-plugin.ts +0 -43
@@ -0,0 +1,152 @@
1
+ import { LitElement as h, nothing as e, html as t } from "lit";
2
+ import { property as p } from "lit/decorators.js";
3
+ import { Component as m } from "../../../shared/lib/lit/component.js";
4
+ import { scss as b } from "../../../shared/lib/lit/scss.js";
5
+ import { OS_LEADERBOARD_CASINO_TAG as f } from "../constants/tags.js";
6
+ import { osLeaderboardCasinoTheme as y } from "../theme/styles.js";
7
+ import { EMPTY_OS_LEADERBOARD_CASINO_STATE as L } from "../types/state.js";
8
+ import { iconService as v } from "../services/icon.service.js";
9
+ import { resolveLeaderboardCasinoInput as S } from "../integration/resolve-input.js";
10
+ import { loadLeaderboardCasinoAssets as g } from "../integration/load-assets.js";
11
+ import O from "./os-leaderboard-casino.html.js";
12
+ import T from "./os-leaderboard-casino.scss.js";
13
+ import "../sections/marquee-section/marquee-section.js";
14
+ import "../sections/events-banner/events-banner.js";
15
+ import "../sections/hero-section/hero-section.js";
16
+ import "../sections/prize-section/prize-section.js";
17
+ import "../sections/stats-section/stats-section.js";
18
+ import "../sections/games-section/games-section.js";
19
+ import "../sections/climb-section/climb-section.js";
20
+ import "../sections/table-section/table-section.js";
21
+ import "../sections/footer-section/footer-section.js";
22
+ import "../sections/legals-section/legals-section.js";
23
+ import { adapterService as c } from "../services/adapter.service.js";
24
+ var _ = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, n = (s, o, l, i) => {
25
+ for (var r = i > 1 ? void 0 : i ? $(o, l) : o, d = s.length - 1, u; d >= 0; d--)
26
+ (u = s[d]) && (r = (i ? u(o, l, r) : u(r)) || r);
27
+ return i && r && _(o, l, r), r;
28
+ };
29
+ let a = class extends h {
30
+ constructor() {
31
+ super(...arguments), this.assets = null, this.assetsBaseUrl = "", this.input = null, this.state = L, this.uuid = "", this.finished = !1, this.assetsLoadTask = null;
32
+ }
33
+ connectedCallback() {
34
+ super.connectedCallback(), v.load(), this.ensureAssetsLoaded();
35
+ }
36
+ get layout() {
37
+ return c.toLayout(this.state);
38
+ }
39
+ get mainOrder() {
40
+ return this.layout.mainOrder ?? [
41
+ "prize",
42
+ "stats",
43
+ "games",
44
+ "climb",
45
+ "table"
46
+ ];
47
+ }
48
+ async ensureAssetsLoaded() {
49
+ this.assets || this.assetsBaseUrl && (this.assetsLoadTask || (this.assetsLoadTask = g(this.assetsBaseUrl).then((s) => {
50
+ this.assets = s, this.applyInputToState();
51
+ }).finally(() => {
52
+ this.assetsLoadTask = null;
53
+ })), await this.assetsLoadTask);
54
+ }
55
+ applyInputToState() {
56
+ this.input && (this.uuid = this.input.campaign?.uuid ?? "", this.finished = this.input.campaign?.finished ?? !1, this.state = S(this.input, this.assets));
57
+ }
58
+ willUpdate(s) {
59
+ s.has("assetsBaseUrl") && this.assetsBaseUrl && !this.assets && this.ensureAssetsLoaded(), (s.has("input") || s.has("assets")) && this.input && (this.assets || !this.assetsBaseUrl) && this.applyInputToState(), s.has("state") && c.applyThemeVars(this, this.state);
60
+ }
61
+ renderMainSection(s) {
62
+ const { prize: o, stats: l, games: i, climb: r, table: d } = this.layout;
63
+ switch (s) {
64
+ case "prize":
65
+ return o ? t`<os-leaderboard-casino-prize
66
+ .section=${o}
67
+ ></os-leaderboard-casino-prize>` : e;
68
+ case "stats":
69
+ return l ? t`<os-leaderboard-casino-stats
70
+ .section=${l}
71
+ ></os-leaderboard-casino-stats>` : e;
72
+ case "games":
73
+ return i ? t`<os-leaderboard-casino-games
74
+ .section=${i}
75
+ ></os-leaderboard-casino-games>` : e;
76
+ case "climb":
77
+ return r ? t`<os-leaderboard-casino-climb
78
+ .section=${r}
79
+ ></os-leaderboard-casino-climb>` : e;
80
+ case "table":
81
+ return d ? t`<os-leaderboard-casino-table
82
+ .section=${d}
83
+ uuid=${this.uuid}
84
+ ?finished=${this.finished}
85
+ ></os-leaderboard-casino-table>` : e;
86
+ default:
87
+ return e;
88
+ }
89
+ }
90
+ renderMarquee() {
91
+ const { marquee: s } = this.layout;
92
+ return s ? t`<os-leaderboard-casino-marquee
93
+ .section=${s}
94
+ ></os-leaderboard-casino-marquee>` : e;
95
+ }
96
+ renderEventsBanner() {
97
+ const { eventsBanner: s } = this.layout;
98
+ return s ? t`<os-leaderboard-casino-events
99
+ .section=${s}
100
+ ></os-leaderboard-casino-events>` : e;
101
+ }
102
+ renderHero() {
103
+ const { hero: s } = this.layout;
104
+ return s ? t`<os-leaderboard-casino-hero
105
+ .section=${s}
106
+ ></os-leaderboard-casino-hero>` : e;
107
+ }
108
+ renderMainSections() {
109
+ return t`${this.mainOrder.map((s) => this.renderMainSection(s))}`;
110
+ }
111
+ renderFooter() {
112
+ const { footer: s } = this.layout;
113
+ return s?.text ? t`<os-leaderboard-casino-footer
114
+ .section=${s}
115
+ ></os-leaderboard-casino-footer>` : e;
116
+ }
117
+ renderLegals() {
118
+ const { legals: s } = this.layout;
119
+ return s?.links?.length ? t`<os-leaderboard-casino-legals
120
+ .section=${s}
121
+ ></os-leaderboard-casino-legals>` : e;
122
+ }
123
+ render() {
124
+ return O(this);
125
+ }
126
+ };
127
+ a.styles = [y, b(T)];
128
+ n([
129
+ p({ attribute: !1 })
130
+ ], a.prototype, "assets", 2);
131
+ n([
132
+ p({ type: String, attribute: "assets-base-url" })
133
+ ], a.prototype, "assetsBaseUrl", 2);
134
+ n([
135
+ p({ attribute: !1 })
136
+ ], a.prototype, "input", 2);
137
+ n([
138
+ p({ attribute: !1 })
139
+ ], a.prototype, "state", 2);
140
+ n([
141
+ p({ type: String })
142
+ ], a.prototype, "uuid", 2);
143
+ n([
144
+ p({ type: Boolean })
145
+ ], a.prototype, "finished", 2);
146
+ a = n([
147
+ m({ selector: f })
148
+ ], a);
149
+ export {
150
+ a as OsLeaderboardCasino
151
+ };
152
+ //# sourceMappingURL=os-leaderboard-casino.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os-leaderboard-casino.js","sources":["../../../../src/components/os-leaderboard-casino/container/os-leaderboard-casino.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { PropertyValues } from 'lit';\nimport { Component } from '@oddsmith/lib/lit/component.js';\nimport { scss } from '@oddsmith/lib/lit/scss.js';\nimport { OS_LEADERBOARD_CASINO_TAG } from '@os-leaderboard-casino/constants/tags.js';\nimport { osLeaderboardCasinoTheme } from '@os-leaderboard-casino/theme/index.js';\nimport {\n EMPTY_OS_LEADERBOARD_CASINO_STATE,\n type OsLeaderboardCasinoState,\n} from '@os-leaderboard-casino/types/state.js';\nimport type { OsLeaderboardCasinoLayout } from '@os-leaderboard-casino/types/sections.js';\nimport { adapterService } from '@os-leaderboard-casino/services/index.js';\nimport { iconService } from '@os-leaderboard-casino/services/icon.service.js';\nimport { resolveLeaderboardCasinoInput } from '@os-leaderboard-casino/integration/resolve-input.js';\nimport { loadLeaderboardCasinoAssets } from '@os-leaderboard-casino/integration/load-assets.js';\nimport type { LeaderboardCasinoAssetsBundle } from '@os-leaderboard-casino/types/assets.js';\nimport type { LeaderboardCasinoInput } from '@os-leaderboard-casino/types/input.js';\nimport type { OsLeaderboardCasinoHost } from './os-leaderboard-casino.host.js';\nimport renderTemplate from './os-leaderboard-casino.html?lit-html';\nimport componentStyles from './os-leaderboard-casino.scss?inline';\nimport '@os-leaderboard-casino/sections/marquee-section/marquee-section.js';\nimport '@os-leaderboard-casino/sections/events-banner/events-banner.js';\nimport '@os-leaderboard-casino/sections/hero-section/hero-section.js';\nimport '@os-leaderboard-casino/sections/prize-section/prize-section.js';\nimport '@os-leaderboard-casino/sections/stats-section/stats-section.js';\nimport '@os-leaderboard-casino/sections/games-section/games-section.js';\nimport '@os-leaderboard-casino/sections/climb-section/climb-section.js';\nimport '@os-leaderboard-casino/sections/table-section/table-section.js';\nimport '@os-leaderboard-casino/sections/footer-section/footer-section.js';\nimport '@os-leaderboard-casino/sections/legals-section/legals-section.js';\n\n/**\n * Config-driven casino leaderboard.\n * Parent provides static JSON via `.assets` or `assets-base-url`.\n * Bundled `assets/fallback/*.json` is used when parent files fail to load.\n */\n@Component({ selector: OS_LEADERBOARD_CASINO_TAG })\nexport class OsLeaderboardCasino\n extends LitElement\n implements OsLeaderboardCasinoHost\n{\n static styles = [osLeaderboardCasinoTheme, scss(componentStyles)];\n\n @property({ attribute: false })\n assets: LeaderboardCasinoAssetsBundle | null = null;\n\n @property({ type: String, attribute: 'assets-base-url' })\n assetsBaseUrl = '';\n\n @property({ attribute: false })\n input: LeaderboardCasinoInput | null = null;\n\n @property({ attribute: false })\n state: OsLeaderboardCasinoState = EMPTY_OS_LEADERBOARD_CASINO_STATE;\n\n @property({ type: String })\n uuid = '';\n\n @property({ type: Boolean })\n finished = false;\n\n private assetsLoadTask: Promise<void> | null = null;\n\n override connectedCallback(): void {\n super.connectedCallback();\n void iconService.load();\n void this.ensureAssetsLoaded();\n }\n\n get layout(): OsLeaderboardCasinoLayout {\n return adapterService.toLayout(this.state);\n }\n\n get mainOrder(): string[] {\n return (\n this.layout.mainOrder ?? [\n 'prize',\n 'stats',\n 'games',\n 'climb',\n 'table',\n ]\n );\n }\n\n private async ensureAssetsLoaded(): Promise<void> {\n if (this.assets) return;\n if (!this.assetsBaseUrl) return;\n\n if (!this.assetsLoadTask) {\n this.assetsLoadTask = loadLeaderboardCasinoAssets(this.assetsBaseUrl)\n .then((bundle) => {\n this.assets = bundle;\n this.applyInputToState();\n })\n .finally(() => {\n this.assetsLoadTask = null;\n });\n }\n\n await this.assetsLoadTask;\n }\n\n private applyInputToState(): void {\n if (!this.input) return;\n this.uuid = this.input.campaign?.uuid ?? '';\n this.finished = this.input.campaign?.finished ?? false;\n this.state = resolveLeaderboardCasinoInput(this.input, this.assets);\n }\n\n protected override willUpdate(changed: PropertyValues<this>): void {\n if (changed.has('assetsBaseUrl') && this.assetsBaseUrl && !this.assets) {\n void this.ensureAssetsLoaded();\n }\n\n if (\n (changed.has('input') || changed.has('assets')) &&\n this.input &&\n (this.assets || !this.assetsBaseUrl)\n ) {\n this.applyInputToState();\n }\n\n if (changed.has('state')) {\n adapterService.applyThemeVars(this, this.state);\n }\n }\n\n private renderMainSection(id: string) {\n const { prize, stats, games, climb, table } = this.layout;\n switch (id) {\n case 'prize':\n return prize\n ? html`<os-leaderboard-casino-prize\n .section=${prize}\n ></os-leaderboard-casino-prize>`\n : nothing;\n case 'stats':\n return stats\n ? html`<os-leaderboard-casino-stats\n .section=${stats}\n ></os-leaderboard-casino-stats>`\n : nothing;\n case 'games':\n return games\n ? html`<os-leaderboard-casino-games\n .section=${games}\n ></os-leaderboard-casino-games>`\n : nothing;\n case 'climb':\n return climb\n ? html`<os-leaderboard-casino-climb\n .section=${climb}\n ></os-leaderboard-casino-climb>`\n : nothing;\n case 'table':\n return table\n ? html`<os-leaderboard-casino-table\n .section=${table}\n uuid=${this.uuid}\n ?finished=${this.finished}\n ></os-leaderboard-casino-table>`\n : nothing;\n default:\n return nothing;\n }\n }\n\n renderMarquee() {\n const { marquee } = this.layout;\n return marquee\n ? html`<os-leaderboard-casino-marquee\n .section=${marquee}\n ></os-leaderboard-casino-marquee>`\n : nothing;\n }\n\n renderEventsBanner() {\n const { eventsBanner } = this.layout;\n return eventsBanner\n ? html`<os-leaderboard-casino-events\n .section=${eventsBanner}\n ></os-leaderboard-casino-events>`\n : nothing;\n }\n\n renderHero() {\n const { hero } = this.layout;\n return hero\n ? html`<os-leaderboard-casino-hero\n .section=${hero}\n ></os-leaderboard-casino-hero>`\n : nothing;\n }\n\n renderMainSections() {\n return html`${this.mainOrder.map((id) => this.renderMainSection(id))}`;\n }\n\n renderFooter() {\n const { footer } = this.layout;\n if (!footer?.text) {\n return nothing;\n }\n return html`<os-leaderboard-casino-footer\n .section=${footer}\n ></os-leaderboard-casino-footer>`;\n }\n\n renderLegals() {\n const { legals } = this.layout;\n if (!legals?.links?.length) return nothing;\n return html`<os-leaderboard-casino-legals\n .section=${legals}\n ></os-leaderboard-casino-legals>`;\n }\n\n protected override render() {\n return renderTemplate(this);\n }\n}\n"],"names":["OsLeaderboardCasino","LitElement","EMPTY_OS_LEADERBOARD_CASINO_STATE","iconService","adapterService","loadLeaderboardCasinoAssets","bundle","resolveLeaderboardCasinoInput","changed","id","prize","stats","games","climb","table","html","nothing","marquee","eventsBanner","hero","footer","legals","renderTemplate","osLeaderboardCasinoTheme","scss","componentStyles","__decorateClass","property","Component","OS_LEADERBOARD_CASINO_TAG"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ const a = ":host{display:block;width:100%;min-height:100vh;min-height:100dvh;box-sizing:border-box;background:radial-gradient(90% 55% at 80% -8%,rgba(157,107,255,.13),transparent 60%),radial-gradient(70% 45% at 8% 14%,rgba(245,196,81,.07),transparent 55%),radial-gradient(120% 100% at 50% 115%,var(--bg-2),var(--bg) 70%),var(--bg);color:var(--text);font-family:var(--font-body)}.shell{width:100%;max-width:1180px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:18px;padding:clamp(14px,3vw,28px);padding-top:calc(clamp(14px,3vw,28px) + env(safe-area-inset-top));padding-bottom:calc(clamp(14px,3vw,28px) + env(safe-area-inset-bottom));box-sizing:border-box}.columns{display:flex;flex:1;flex-direction:column;gap:18px;min-height:0}.main{display:flex;flex:1;flex-direction:column;gap:18px;min-width:0}os-leaderboard-casino-table{flex:1;min-height:0}os-leaderboard-casino-footer{margin-top:auto}os-leaderboard-casino-legals{margin-top:-6px}";
2
+ export {
3
+ a as default
4
+ };
5
+ //# sourceMappingURL=os-leaderboard-casino.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os-leaderboard-casino.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,39 @@
1
+ import { EMPTY_OS_LEADERBOARD_CASINO_STATE as E } from "./types/state.js";
2
+ import { OS_LEADERBOARD_CASINO_OPEN as S, OS_LEADERBOARD_CASINO_PRIZE_CLICK as O, OS_LEADERBOARD_CASINO_REFRESH as r, OS_LEADERBOARD_CASINO_SEARCH_CHANGE as o } from "./types/events.js";
3
+ import { OsLeaderboardCasino as D } from "./container/os-leaderboard-casino.js";
4
+ import { AdapterService as s, adapterService as a } from "./services/adapter.service.js";
5
+ import { DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID as t, LEADERBOARD_CASINO_PRESET_CATALOG as I, OS_LEADERBOARD_CASINO_LABELS as B, OS_LEADERBOARD_CASINO_PRESETS as d, OS_LEADERBOARD_CASINO_THEMES as p, getFallbackAssetsBundle as N, getOsLeaderboardCasinoPreset as T, getTheme as m, resolveAssetsBundle as n } from "./integration/assets-context.js";
6
+ import { IconService as i, iconService as l } from "./services/icon.service.js";
7
+ import { LEADERBOARD_CASINO_ASSET_FILES as b, assembleAssetsBundle as c } from "./integration/assemble-assets.js";
8
+ import { LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE as v, loadLeaderboardCasinoAssets as u } from "./integration/load-assets.js";
9
+ import { OS_LEADERBOARD_CASINO_TAG as H } from "./constants/tags.js";
10
+ import { applyLeaderboardCasinoInput as G, resolveLeaderboardCasinoInput as M } from "./integration/resolve-input.js";
11
+ export {
12
+ s as AdapterService,
13
+ t as DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID,
14
+ E as EMPTY_OS_LEADERBOARD_CASINO_STATE,
15
+ i as IconService,
16
+ b as LEADERBOARD_CASINO_ASSET_FILES,
17
+ v as LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,
18
+ I as LEADERBOARD_CASINO_PRESET_CATALOG,
19
+ B as OS_LEADERBOARD_CASINO_LABELS,
20
+ S as OS_LEADERBOARD_CASINO_OPEN,
21
+ d as OS_LEADERBOARD_CASINO_PRESETS,
22
+ O as OS_LEADERBOARD_CASINO_PRIZE_CLICK,
23
+ r as OS_LEADERBOARD_CASINO_REFRESH,
24
+ o as OS_LEADERBOARD_CASINO_SEARCH_CHANGE,
25
+ H as OS_LEADERBOARD_CASINO_TAG,
26
+ p as OS_LEADERBOARD_CASINO_THEMES,
27
+ D as OsLeaderboardCasino,
28
+ a as adapterService,
29
+ G as applyLeaderboardCasinoInput,
30
+ c as assembleAssetsBundle,
31
+ N as getFallbackAssetsBundle,
32
+ T as getOsLeaderboardCasinoPreset,
33
+ m as getTheme,
34
+ l as iconService,
35
+ u as loadLeaderboardCasinoAssets,
36
+ n as resolveAssetsBundle,
37
+ M as resolveLeaderboardCasinoInput
38
+ };
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,48 @@
1
+ function $(e) {
2
+ return {
3
+ version: 1,
4
+ labels: e.labels,
5
+ themes: e.themes,
6
+ presets: e.presets,
7
+ catalog: e.catalog,
8
+ resolvedPresets: e.resolvedPresets
9
+ };
10
+ }
11
+ const i = {
12
+ labels: "labels.json",
13
+ themes: "themes.json",
14
+ presets: "presets.json",
15
+ catalog: "catalog.json",
16
+ resolvedPresets: "resolved-presets.json"
17
+ };
18
+ async function o(e) {
19
+ const s = await fetch(e);
20
+ if (!s.ok)
21
+ throw new Error(`Failed to load ${e} (${s.status})`);
22
+ return await s.json();
23
+ }
24
+ async function d(e) {
25
+ const s = e.replace(/\/$/, ""), t = i, [l, a, r, n, c] = await Promise.all([
26
+ o(`${s}/${t.labels}`),
27
+ o(`${s}/${t.themes}`),
28
+ o(`${s}/${t.presets}`),
29
+ o(`${s}/${t.catalog}`),
30
+ o(
31
+ `${s}/${t.resolvedPresets}`
32
+ )
33
+ ]);
34
+ return $({
35
+ labels: l,
36
+ themes: a,
37
+ presets: r,
38
+ catalog: n,
39
+ resolvedPresets: c
40
+ });
41
+ }
42
+ export {
43
+ i as LEADERBOARD_CASINO_ASSET_FILES,
44
+ $ as assembleAssetsBundle,
45
+ o as fetchJson,
46
+ d as loadAssetsFromBaseUrl
47
+ };
48
+ //# sourceMappingURL=assemble-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble-assets.js","sources":["../../../../src/components/os-leaderboard-casino/integration/assemble-assets.ts"],"sourcesContent":["import type {\n LeaderboardCasinoAssetsBundle,\n LeaderboardCasinoAssetsPreset,\n LeaderboardCasinoAssetsTheme,\n} from '../types/assets.js';\nimport type {\n LeaderboardCasinoLabels,\n LeaderboardCasinoPresetMeta,\n} from '../types/input.js';\nimport type { OsLeaderboardCasinoState } from '../types/state.js';\n\nexport type AssembledAssetsParts = {\n labels: LeaderboardCasinoLabels;\n themes: readonly LeaderboardCasinoAssetsTheme[];\n presets: LeaderboardCasinoAssetsBundle['presets'];\n catalog: readonly LeaderboardCasinoPresetMeta[];\n resolvedPresets: Record<string, OsLeaderboardCasinoState>;\n};\n\nexport function assembleAssetsBundle(\n parts: AssembledAssetsParts,\n): LeaderboardCasinoAssetsBundle {\n return {\n version: 1,\n labels: parts.labels,\n themes: parts.themes,\n presets: parts.presets,\n catalog: parts.catalog,\n resolvedPresets: parts.resolvedPresets,\n };\n}\n\n/** Relative paths loaded from a free-tier assets directory. */\nexport const LEADERBOARD_CASINO_ASSET_FILES = {\n labels: 'labels.json',\n themes: 'themes.json',\n presets: 'presets.json',\n catalog: 'catalog.json',\n resolvedPresets: 'resolved-presets.json',\n} as const;\n\nexport async function fetchJson<T>(url: string): Promise<T> {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`Failed to load ${url} (${response.status})`);\n }\n return (await response.json()) as T;\n}\n\nexport async function loadAssetsFromBaseUrl(\n baseUrl: string,\n): Promise<LeaderboardCasinoAssetsBundle> {\n const base = baseUrl.replace(/\\/$/, '');\n const files = LEADERBOARD_CASINO_ASSET_FILES;\n\n const [labels, themes, presets, catalog, resolvedPresets] = await Promise.all([\n fetchJson<LeaderboardCasinoLabels>(`${base}/${files.labels}`),\n fetchJson<readonly LeaderboardCasinoAssetsTheme[]>(`${base}/${files.themes}`),\n fetchJson<LeaderboardCasinoAssetsBundle['presets']>(`${base}/${files.presets}`),\n fetchJson<readonly LeaderboardCasinoPresetMeta[]>(`${base}/${files.catalog}`),\n fetchJson<Record<string, OsLeaderboardCasinoState>>(\n `${base}/${files.resolvedPresets}`,\n ),\n ]);\n\n return assembleAssetsBundle({\n labels,\n themes,\n presets,\n catalog,\n resolvedPresets,\n });\n}\n"],"names":["assembleAssetsBundle","parts","LEADERBOARD_CASINO_ASSET_FILES","fetchJson","url","response","loadAssetsFromBaseUrl","baseUrl","base","files","labels","themes","presets","catalog","resolvedPresets"],"mappings":"AAmBO,SAASA,EACdC,GAC+B;AAC/B,SAAO;AAAA,IACL,SAAS;AAAA,IACT,QAAQA,EAAM;AAAA,IACd,QAAQA,EAAM;AAAA,IACd,SAASA,EAAM;AAAA,IACf,SAASA,EAAM;AAAA,IACf,iBAAiBA,EAAM;AAAA,EAAA;AAE3B;AAGO,MAAMC,IAAiC;AAAA,EAC5C,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,iBAAiB;AACnB;AAEA,eAAsBC,EAAaC,GAAyB;AAC1D,QAAMC,IAAW,MAAM,MAAMD,CAAG;AAChC,MAAI,CAACC,EAAS;AACZ,UAAM,IAAI,MAAM,kBAAkBD,CAAG,KAAKC,EAAS,MAAM,GAAG;AAE9D,SAAQ,MAAMA,EAAS,KAAA;AACzB;AAEA,eAAsBC,EACpBC,GACwC;AACxC,QAAMC,IAAOD,EAAQ,QAAQ,OAAO,EAAE,GAChCE,IAAQP,GAER,CAACQ,GAAQC,GAAQC,GAASC,GAASC,CAAe,IAAI,MAAM,QAAQ,IAAI;AAAA,IAC5EX,EAAmC,GAAGK,CAAI,IAAIC,EAAM,MAAM,EAAE;AAAA,IAC5DN,EAAmD,GAAGK,CAAI,IAAIC,EAAM,MAAM,EAAE;AAAA,IAC5EN,EAAoD,GAAGK,CAAI,IAAIC,EAAM,OAAO,EAAE;AAAA,IAC9EN,EAAkD,GAAGK,CAAI,IAAIC,EAAM,OAAO,EAAE;AAAA,IAC5EN;AAAA,MACE,GAAGK,CAAI,IAAIC,EAAM,eAAe;AAAA,IAAA;AAAA,EAClC,CACD;AAED,SAAOT,EAAqB;AAAA,IAC1B,QAAAU;AAAA,IACA,QAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,CACD;AACH;"}
@@ -0,0 +1,64 @@
1
+ import u from "../assets/fallback/catalog.json.js";
2
+ import l from "../assets/fallback/labels.json.js";
3
+ import c from "../assets/fallback/presets.json.js";
4
+ import m from "../assets/fallback/resolved-presets.json.js";
5
+ import a from "../assets/fallback/themes.json.js";
6
+ import { assembleAssetsBundle as A } from "./assemble-assets.js";
7
+ const t = A({
8
+ labels: l,
9
+ themes: a,
10
+ presets: c,
11
+ catalog: u,
12
+ resolvedPresets: m
13
+ });
14
+ function B(e) {
15
+ return e ?? t;
16
+ }
17
+ function L() {
18
+ return t;
19
+ }
20
+ function P(e) {
21
+ return e.labels;
22
+ }
23
+ function d(e) {
24
+ return e.presets.presets;
25
+ }
26
+ function f(e) {
27
+ return e.presets.defaultPresetId;
28
+ }
29
+ function n(e) {
30
+ return e.themes;
31
+ }
32
+ function R(e, s = t) {
33
+ return d(s).find((r) => r.id === e);
34
+ }
35
+ function i(e, s = t) {
36
+ return n(s).find((r) => r.id === e) ?? n(s)[0];
37
+ }
38
+ function g(e, s = t) {
39
+ return i(e, s).vars ?? {};
40
+ }
41
+ function I(e, s = t) {
42
+ const r = f(s), o = s.resolvedPresets[e] ?? s.resolvedPresets[r];
43
+ return structuredClone(o);
44
+ }
45
+ const C = t.labels, T = t.themes, h = t.presets.presets, v = t.presets.defaultPresetId, N = t.catalog;
46
+ t.themes;
47
+ export {
48
+ v as DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID,
49
+ N as LEADERBOARD_CASINO_PRESET_CATALOG,
50
+ C as OS_LEADERBOARD_CASINO_LABELS,
51
+ h as OS_LEADERBOARD_CASINO_PRESETS,
52
+ T as OS_LEADERBOARD_CASINO_THEMES,
53
+ f as getBundleDefaultPresetId,
54
+ P as getBundleLabels,
55
+ d as getBundlePresets,
56
+ n as getBundleThemes,
57
+ L as getFallbackAssetsBundle,
58
+ R as getOsLeaderboardCasinoPreset,
59
+ i as getTheme,
60
+ g as getThemeVars,
61
+ B as resolveAssetsBundle,
62
+ I as resolvePresetState
63
+ };
64
+ //# sourceMappingURL=assets-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-context.js","sources":["../../../../src/components/os-leaderboard-casino/integration/assets-context.ts"],"sourcesContent":["import catalogDocument from '../assets/fallback/catalog.json';\nimport labelsDocument from '../assets/fallback/labels.json';\nimport presetsDocument from '../assets/fallback/presets.json';\nimport resolvedPresetsDocument from '../assets/fallback/resolved-presets.json';\nimport themesDocument from '../assets/fallback/themes.json';\nimport { assembleAssetsBundle } from './assemble-assets.js';\nimport type {\n LeaderboardCasinoAssetsBundle,\n LeaderboardCasinoAssetsPreset,\n LeaderboardCasinoAssetsTheme,\n} from '../types/assets.js';\nimport type {\n LeaderboardCasinoPresetId,\n LeaderboardCasinoPresetMeta,\n} from '../types/input.js';\nimport type { OsLeaderboardCasinoState } from '../types/state.js';\n\nexport type OsLeaderboardCasinoPresetLabels =\n LeaderboardCasinoAssetsBundle['labels'];\n\nexport type OsLeaderboardCasinoThemeId = string;\n\nexport type OsLeaderboardCasinoThemeOption = LeaderboardCasinoAssetsTheme;\n\nexport type OsLeaderboardCasinoPreset = LeaderboardCasinoAssetsPreset;\n\ntype PresetsDocument = LeaderboardCasinoAssetsBundle['presets'];\n\nconst FALLBACK_BUNDLE = assembleAssetsBundle({\n labels: labelsDocument,\n themes: themesDocument as readonly LeaderboardCasinoAssetsTheme[],\n presets: presetsDocument as PresetsDocument,\n catalog: catalogDocument as readonly LeaderboardCasinoPresetMeta[],\n resolvedPresets: resolvedPresetsDocument as Record<string, OsLeaderboardCasinoState>,\n});\n\nexport function resolveAssetsBundle(\n assets?: LeaderboardCasinoAssetsBundle | null,\n): LeaderboardCasinoAssetsBundle {\n return assets ?? FALLBACK_BUNDLE;\n}\n\nexport function getFallbackAssetsBundle(): LeaderboardCasinoAssetsBundle {\n return FALLBACK_BUNDLE;\n}\n\nexport function getBundleLabels(\n bundle: LeaderboardCasinoAssetsBundle,\n): OsLeaderboardCasinoPresetLabels {\n return bundle.labels;\n}\n\nexport function getBundleCatalog(\n bundle: LeaderboardCasinoAssetsBundle,\n): readonly LeaderboardCasinoPresetMeta[] {\n return bundle.catalog;\n}\n\nexport function getBundlePresets(\n bundle: LeaderboardCasinoAssetsBundle,\n): readonly OsLeaderboardCasinoPreset[] {\n return bundle.presets.presets;\n}\n\nexport function getBundleDefaultPresetId(\n bundle: LeaderboardCasinoAssetsBundle,\n): LeaderboardCasinoPresetId {\n return bundle.presets.defaultPresetId;\n}\n\nexport function getBundleThemes(\n bundle: LeaderboardCasinoAssetsBundle,\n): readonly OsLeaderboardCasinoThemeOption[] {\n return bundle.themes;\n}\n\nexport function getOsLeaderboardCasinoPreset(\n id: string,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoPreset | undefined {\n return getBundlePresets(bundle).find((preset) => preset.id === id);\n}\n\nexport function getTheme(\n id: OsLeaderboardCasinoThemeId,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoThemeOption {\n return (\n getBundleThemes(bundle).find((theme) => theme.id === id) ??\n getBundleThemes(bundle)[0]\n );\n}\n\nexport function getThemeVars(\n id: OsLeaderboardCasinoThemeId,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): Record<string, string> {\n return getTheme(id, bundle).vars ?? {};\n}\n\nexport function resolvePresetState(\n presetId: string,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoState {\n const defaultId = getBundleDefaultPresetId(bundle);\n const resolved =\n bundle.resolvedPresets[presetId] ?? bundle.resolvedPresets[defaultId];\n return structuredClone(resolved);\n}\n\n/** Bundled fallback exports for dev tooling. */\nexport const OS_LEADERBOARD_CASINO_LABELS = FALLBACK_BUNDLE.labels;\nexport const OS_LEADERBOARD_CASINO_THEMES = FALLBACK_BUNDLE.themes;\nexport const OS_LEADERBOARD_CASINO_PRESETS = FALLBACK_BUNDLE.presets.presets;\nexport const DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID =\n FALLBACK_BUNDLE.presets.defaultPresetId;\nexport const LEADERBOARD_CASINO_PRESET_CATALOG = FALLBACK_BUNDLE.catalog;\nexport const playgroundThemes = FALLBACK_BUNDLE.themes;\n\nexport function getPlaygroundTheme(\n id: string,\n bundle: LeaderboardCasinoAssetsBundle = FALLBACK_BUNDLE,\n): OsLeaderboardCasinoThemeOption {\n return getTheme(id, bundle);\n}\n"],"names":["FALLBACK_BUNDLE","assembleAssetsBundle","labelsDocument","themesDocument","presetsDocument","catalogDocument","resolvedPresetsDocument","resolveAssetsBundle","assets","getFallbackAssetsBundle","getBundleLabels","bundle","getBundlePresets","getBundleDefaultPresetId","getBundleThemes","getOsLeaderboardCasinoPreset","id","preset","getTheme","theme","getThemeVars","resolvePresetState","presetId","defaultId","resolved","OS_LEADERBOARD_CASINO_LABELS","OS_LEADERBOARD_CASINO_THEMES","OS_LEADERBOARD_CASINO_PRESETS","DEFAULT_OS_LEADERBOARD_CASINO_PRESET_ID","LEADERBOARD_CASINO_PRESET_CATALOG"],"mappings":";;;;;;AA4BA,MAAMA,IAAkBC,EAAqB;AAAA,EAC3C,QAAQC;AAAA,EACR,QAAQC;AAAA,EACR,SAASC;AAAA,EACT,SAASC;AAAA,EACT,iBAAiBC;AACnB,CAAC;AAEM,SAASC,EACdC,GAC+B;AAC/B,SAAOA,KAAUR;AACnB;AAEO,SAASS,IAAyD;AACvE,SAAOT;AACT;AAEO,SAASU,EACdC,GACiC;AACjC,SAAOA,EAAO;AAChB;AAQO,SAASC,EACdD,GACsC;AACtC,SAAOA,EAAO,QAAQ;AACxB;AAEO,SAASE,EACdF,GAC2B;AAC3B,SAAOA,EAAO,QAAQ;AACxB;AAEO,SAASG,EACdH,GAC2C;AAC3C,SAAOA,EAAO;AAChB;AAEO,SAASI,EACdC,GACAL,IAAwCX,GACD;AACvC,SAAOY,EAAiBD,CAAM,EAAE,KAAK,CAACM,MAAWA,EAAO,OAAOD,CAAE;AACnE;AAEO,SAASE,EACdF,GACAL,IAAwCX,GACR;AAChC,SACEc,EAAgBH,CAAM,EAAE,KAAK,CAACQ,MAAUA,EAAM,OAAOH,CAAE,KACvDF,EAAgBH,CAAM,EAAE,CAAC;AAE7B;AAEO,SAASS,EACdJ,GACAL,IAAwCX,GAChB;AACxB,SAAOkB,EAASF,GAAIL,CAAM,EAAE,QAAQ,CAAA;AACtC;AAEO,SAASU,EACdC,GACAX,IAAwCX,GACd;AAC1B,QAAMuB,IAAYV,EAAyBF,CAAM,GAC3Ca,IACJb,EAAO,gBAAgBW,CAAQ,KAAKX,EAAO,gBAAgBY,CAAS;AACtE,SAAO,gBAAgBC,CAAQ;AACjC;AAGO,MAAMC,IAA+BzB,EAAgB,QAC/C0B,IAA+B1B,EAAgB,QAC/C2B,IAAgC3B,EAAgB,QAAQ,SACxD4B,IACX5B,EAAgB,QAAQ,iBACb6B,IAAoC7B,EAAgB;AACjCA,EAAgB;"}
@@ -0,0 +1,22 @@
1
+ import { getFallbackAssetsBundle as r } from "./assets-context.js";
2
+ import { loadAssetsFromBaseUrl as a } from "./assemble-assets.js";
3
+ import { LEADERBOARD_CASINO_ASSET_FILES as c, assembleAssetsBundle as u } from "./assemble-assets.js";
4
+ const o = "/assets/producer_output/os-leaderboard-casino/free";
5
+ async function n(e = o) {
6
+ try {
7
+ return await a(e);
8
+ } catch (s) {
9
+ return console.warn(
10
+ "[os-leaderboard-casino] Failed to load parent assets, using bundled fallback.",
11
+ s
12
+ ), r();
13
+ }
14
+ }
15
+ export {
16
+ c as LEADERBOARD_CASINO_ASSET_FILES,
17
+ o as LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,
18
+ u as assembleAssetsBundle,
19
+ a as loadAssetsFromBaseUrl,
20
+ n as loadLeaderboardCasinoAssets
21
+ };
22
+ //# sourceMappingURL=load-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-assets.js","sources":["../../../../src/components/os-leaderboard-casino/integration/load-assets.ts"],"sourcesContent":["import type { LeaderboardCasinoAssetsBundle } from '../types/assets.js';\nimport { getFallbackAssetsBundle } from './assets-context.js';\nimport {\n LEADERBOARD_CASINO_ASSET_FILES,\n loadAssetsFromBaseUrl,\n} from './assemble-assets.js';\n\nexport {\n assembleAssetsBundle,\n LEADERBOARD_CASINO_ASSET_FILES,\n loadAssetsFromBaseUrl,\n} from './assemble-assets.js';\n\n/** Default path under parent app static `assets/`. */\nexport const LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE =\n '/assets/producer_output/os-leaderboard-casino/free';\n\n/**\n * Load free-tier JSON from the parent app. Falls back to bundled\n * `assets/fallback/*.json` when remote files fail.\n */\nexport async function loadLeaderboardCasinoAssets(\n baseUrl: string = LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE,\n): Promise<LeaderboardCasinoAssetsBundle> {\n try {\n return await loadAssetsFromBaseUrl(baseUrl);\n } catch (error) {\n console.warn(\n '[os-leaderboard-casino] Failed to load parent assets, using bundled fallback.',\n error,\n );\n return getFallbackAssetsBundle();\n }\n}\n"],"names":["LEADERBOARD_CASINO_DEFAULT_ASSETS_BASE","loadLeaderboardCasinoAssets","baseUrl","loadAssetsFromBaseUrl","error","getFallbackAssetsBundle"],"mappings":";;;AAcO,MAAMA,IACX;AAMF,eAAsBC,EACpBC,IAAkBF,GACsB;AACxC,MAAI;AACF,WAAO,MAAMG,EAAsBD,CAAO;AAAA,EAC5C,SAASE,GAAO;AACd,mBAAQ;AAAA,MACN;AAAA,MACAA;AAAA,IAAA,GAEKC,EAAA;AAAA,EACT;AACF;"}
@@ -0,0 +1,99 @@
1
+ import { getBundleDefaultPresetId as c, getOsLeaderboardCasinoPreset as a, resolvePresetState as f, getBundleLabels as p, getThemeVars as b, resolveAssetsBundle as P, getTheme as h } from "./assets-context.js";
2
+ import { LEADERBOARD_CASINO_PRESET_CATALOG as L } from "./assets-context.js";
3
+ function g(e, n, r, s) {
4
+ const t = e.branding?.themeId;
5
+ return !t || h(t, s).appearance !== n ? r : t;
6
+ }
7
+ function l(e) {
8
+ return {
9
+ username: e.username,
10
+ rank: e.rank,
11
+ points: e.points ?? e.winnings ?? 0,
12
+ totalBet: e.winnings,
13
+ prize: null,
14
+ splitCount: 1,
15
+ you: e.isCurrentUser ?? !1
16
+ };
17
+ }
18
+ function d(e) {
19
+ const n = e.winnings ?? e.points ?? 0;
20
+ return {
21
+ id: e.id ?? `player-${e.rank}`,
22
+ username: e.username,
23
+ rank: e.rank,
24
+ totalWinnings: n,
25
+ points: e.points ?? n,
26
+ winRate: 52,
27
+ gamesPlayed: 120,
28
+ streak: 2,
29
+ level: 12,
30
+ badges: []
31
+ };
32
+ }
33
+ function m(e, n) {
34
+ n && (e.sections.hero && (e.sections.hero = {
35
+ ...e.sections.hero,
36
+ ...n.title != null ? { title: n.title } : {},
37
+ ...n.description != null ? { description: n.description } : {},
38
+ ...n.endAt != null ? { endTs: n.endAt } : {},
39
+ ...n.prizePool?.value != null ? { prizePoolValue: n.prizePool.value } : {},
40
+ ...n.prizePool?.currency != null ? { prizePoolCurrency: n.prizePool.currency } : {},
41
+ ...n.finished != null ? { status: n.finished ? "completed" : "active" } : {}
42
+ }), e.sections.stats && n.participantCount != null && (e.sections.stats = {
43
+ ...e.sections.stats,
44
+ totalParticipants: n.participantCount
45
+ }), e.sections.footer && n.footerText != null && (e.sections.footer = {
46
+ ...e.sections.footer,
47
+ text: n.footerText
48
+ }));
49
+ }
50
+ function C(e, n) {
51
+ if (!n?.length || !e.sections.table) return;
52
+ const r = [...n].sort((t, o) => t.rank - o.rank), s = r.find((t) => t.isCurrentUser) ?? r.find((t) => t.username.toLowerCase() === "you");
53
+ if (e.config.appearance === "glam" && e.sections.table.mode === "preview") {
54
+ e.sections.table = {
55
+ ...e.sections.table,
56
+ topPlayers: r.slice(0, 10).map(l),
57
+ currentUser: s ? l(s) : e.sections.table.currentUser
58
+ };
59
+ return;
60
+ }
61
+ if (e.sections.table.mode === "ledger") {
62
+ const o = r.map(d).slice(0, 8), i = s && !o.some((u) => u.id === (s.id ?? `player-${s.rank}`)) ? d(s) : void 0;
63
+ e.sections.table = {
64
+ ...e.sections.table,
65
+ players: o,
66
+ currentUser: i
67
+ };
68
+ }
69
+ }
70
+ function v(e, n) {
71
+ const r = P(n), s = e.preset ?? c(r), t = a(s, r);
72
+ if (!t)
73
+ throw new Error(
74
+ `Unknown leaderboard preset "${s}". Check assets catalog.`
75
+ );
76
+ const o = g(
77
+ e,
78
+ t.appearance,
79
+ t.themeId,
80
+ r
81
+ ), i = f(s, r);
82
+ return i.config.themeId = o, i.config.labels = {
83
+ ...p(r),
84
+ ...t.config.labels,
85
+ ...e.branding?.labels
86
+ }, i.config.themeVars = {
87
+ ...b(o, r),
88
+ ...e.branding?.themeVars
89
+ }, m(i, e.campaign), C(i, e.players), i;
90
+ }
91
+ function k(e, n, r) {
92
+ 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);
93
+ }
94
+ export {
95
+ L as LEADERBOARD_CASINO_PRESET_CATALOG,
96
+ k as applyLeaderboardCasinoInput,
97
+ v as resolveLeaderboardCasinoInput
98
+ };
99
+ //# sourceMappingURL=resolve-input.js.map
@@ -0,0 +1 @@
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';\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 state.config.themeVars = {\n ...getThemeVars(themeId, bundle),\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","getThemeVars","applyLeaderboardCasinoInput","host"],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { html as e } from "lit";
2
+ function i(a) {
3
+ return e`<section>
4
+ <div class="section-header">
5
+ <h2 class="section-title">${a.climbTitle}</h2>
6
+ </div>
7
+
8
+ <div class="card ${a.section.vip ? "vip" : ""}">
9
+ <div class="top">
10
+ <div class="rank-ring"><b>#${a.section.rank}</b></div>
11
+ <div class="who">
12
+ <div class="name">${a.renderName()}</div>
13
+ <div class="pts">${a.pointsLabel}</div>
14
+ </div>
15
+ <span class="trend ${a.trendClass}">${a.renderTrend()}</span>
16
+ </div>
17
+
18
+ <div class="progress">
19
+ <div class="progress-labels">
20
+ <span class="goal">
21
+ <b>${a.pointsToNextLabel}</b>
22
+ to reach top ${a.nextTierRank}
23
+ </span>
24
+ <span class="target">
25
+ <span class="target-label">next:</span>
26
+ <em>${a.renderNextTierPrizeIcon()} ${a.nextTierLabel}</em>
27
+ </span>
28
+ </div>
29
+ <div
30
+ class="bar"
31
+ role="progressbar"
32
+ aria-valuenow="${a.progressPct}"
33
+ aria-valuemin="0"
34
+ aria-valuemax="100"
35
+ >
36
+ <div class="fill" style="width: ${a.progressPct}%"></div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </section>
41
+ `;
42
+ }
43
+ export {
44
+ i as default
45
+ };
46
+ //# sourceMappingURL=climb-section.html.js.map
@@ -0,0 +1 @@
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.renderNextTierPrizeIcon()} ${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;AAAA;AAAA,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,wBAAuB,CAAE,IAAIA,EAAK,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAM3CA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA,0CAICA,EAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAM1D;"}