@oddsmith/ui 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/README.md +8 -4
  2. package/dist/.shared/index.ts +5 -0
  3. package/dist/.shared/labels-engine/engine.d.ts +22 -0
  4. package/dist/.shared/labels-engine/engine.ts +70 -0
  5. package/dist/.shared/labels-engine/index.d.ts +1 -0
  6. package/dist/.shared/labels-engine/index.ts +1 -0
  7. package/dist/.shared/lib/lit/component.ts +10 -0
  8. package/dist/.shared/lib/lit/safe-custom-element.ts +12 -0
  9. package/dist/.shared/lib/lit/scss.ts +6 -0
  10. package/dist/{shared/lib/lit/template.d.ts → .shared/lib/lit/template.ts} +2 -1
  11. package/dist/.shared/theme-engine/animation.d.ts +5 -0
  12. package/dist/.shared/theme-engine/animation.ts +40 -0
  13. package/dist/.shared/theme-engine/default-theme.d.ts +24 -0
  14. package/dist/.shared/theme-engine/default-theme.ts +38 -0
  15. package/dist/.shared/theme-engine/engine.d.ts +22 -0
  16. package/dist/.shared/theme-engine/engine.ts +151 -0
  17. package/dist/.shared/theme-engine/index.d.ts +2 -0
  18. package/dist/.shared/theme-engine/index.ts +8 -0
  19. package/dist/assets/config/data.js +279 -0
  20. package/dist/assets/config/images/events/bolt.svg +4 -0
  21. package/dist/assets/config/images/events/boost.svg +6 -0
  22. package/dist/assets/config/images/events/clock.svg +4 -0
  23. package/dist/assets/config/images/events/fire.svg +4 -0
  24. package/dist/assets/config/images/events/gift.svg +5 -0
  25. package/dist/assets/config/images/events/star.svg +4 -0
  26. package/dist/assets/config/images/games/gates-of-olympus.png +0 -0
  27. package/dist/assets/config/labels.js +79 -0
  28. package/dist/assets/config/theme.js +15 -0
  29. package/dist/assets/icons/prize.medal.svg +5 -0
  30. package/dist/assets/image.fallback.png +0 -0
  31. package/dist/bootstrap/casino.bootstrap.d.ts +32 -0
  32. package/dist/bootstrap/index.d.ts +5 -0
  33. package/dist/constants/default-data.d.ts +8 -0
  34. package/dist/constants/defaults.d.ts +16 -0
  35. package/dist/{components/os-leaderboard-casino/constants → constants}/index.d.ts +1 -0
  36. package/dist/{components/os-leaderboard-casino/constants → constants}/tags.d.ts +0 -9
  37. package/dist/container/os-leaderboard-casino.d.ts +59 -0
  38. package/dist/container/os-leaderboard-casino.host.d.ts +5 -0
  39. package/dist/index.d.ts +3 -0
  40. package/dist/index.js +2483 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/{components/os-leaderboard-casino/sections → sections}/climb-section/climb-section.d.ts +7 -2
  43. package/dist/{components/os-leaderboard-casino/sections → sections}/climb-section/climb-section.host.d.ts +5 -2
  44. package/dist/sections/climb-section/types/labels.d.ts +8 -0
  45. package/dist/sections/climb-section/types/view.d.ts +13 -0
  46. package/dist/sections/events-banner/events-banner.d.ts +30 -0
  47. package/dist/sections/events-banner/events-banner.host.d.ts +15 -0
  48. package/dist/sections/events-banner/types/data.d.ts +18 -0
  49. package/dist/sections/events-banner/types/events.d.ts +8 -0
  50. package/dist/sections/events-banner/types/labels.d.ts +6 -0
  51. package/dist/sections/events-banner/types/view.d.ts +12 -0
  52. package/dist/{components/os-leaderboard-casino/sections → sections}/footer-section/footer-section.d.ts +4 -3
  53. package/dist/sections/footer-section/footer-section.host.d.ts +5 -0
  54. package/dist/sections/footer-section/types/view.d.ts +4 -0
  55. package/dist/{components/os-leaderboard-casino/sections → sections}/games-section/games-section.d.ts +8 -3
  56. package/dist/sections/games-section/games-section.host.d.ts +10 -0
  57. package/dist/sections/games-section/types/data.d.ts +7 -0
  58. package/dist/sections/games-section/types/labels.d.ts +6 -0
  59. package/dist/sections/games-section/types/view.d.ts +9 -0
  60. package/dist/{components/os-leaderboard-casino/sections → sections}/hero-section/hero-section.d.ts +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
@@ -0,0 +1,3 @@
1
+ export { CasinoStore } from './casino.store.js';
2
+ export { casinoStoreContext } from './casino.context.js';
3
+ export { consumeCasinoStore } from './consume-store.js';
@@ -0,0 +1,6 @@
1
+ export type SectionId = 'marquee' | 'events' | 'hero' | 'prize' | 'stats' | 'games' | 'climb' | 'table' | 'footer' | 'legals';
2
+ /** One layout entry. Presence in `sections` enables the section. */
3
+ export type CasinoSectionConfig = {
4
+ name: SectionId;
5
+ order: number;
6
+ };
@@ -0,0 +1,49 @@
1
+ import { HeroData } from '../sections/hero-section/types/data.js';
2
+ import { PrizeData } from '../sections/prize-section/types/data.js';
3
+ import { StatsData } from '../sections/stats-section/types/data.js';
4
+ import { GameData } from '../sections/games-section/types/data.js';
5
+ import { PlayerData } from '../sections/table-section/types/data.js';
6
+ import { MarqueeData } from '../sections/marquee-section/types/data.js';
7
+ import { EventsData } from '../sections/events-banner/types/data.js';
8
+ import { LegalsData } from '../sections/legals-section/types/data.js';
9
+ export type { LeaderboardStatus } from './status.js';
10
+ export type { HeroData } from '../sections/hero-section/types/data.js';
11
+ export type { PrizeData } from '../sections/prize-section/types/data.js';
12
+ export type { StatsData } from '../sections/stats-section/types/data.js';
13
+ export type { GameData } from '../sections/games-section/types/data.js';
14
+ export type { PlayerData } from '../sections/table-section/types/data.js';
15
+ export type { MarqueeItemData, MarqueeData, } from '../sections/marquee-section/types/data.js';
16
+ export type { EventItemData, EventsData, } from '../sections/events-banner/types/data.js';
17
+ export type { ExternalLegalLink, InternalLegalLink, LegalLinkData, LegalsData, } from '../sections/legals-section/types/data.js';
18
+ /** Resolved campaign. The store always sees this shape after mix. */
19
+ export type LeaderboardData = {
20
+ hero: HeroData;
21
+ /** ISO 4217 (e.g. `USD`). Applies to every money amount. */
22
+ currency: string;
23
+ /** BCP 47 tag (e.g. `en-US`). Drives all date and number formatting. */
24
+ locale: string;
25
+ games?: GameData[];
26
+ prizes?: PrizeData[];
27
+ players?: PlayerData[];
28
+ stats?: StatsData;
29
+ marquee?: MarqueeData;
30
+ events?: EventsData;
31
+ legals?: LegalsData;
32
+ };
33
+ /**
34
+ * Host `.data` input.
35
+ * Mix rule: omit key → default. null → unmount. [] → empty copy. Keys mix. Arrays replace (no row merge).
36
+ */
37
+ export type LeaderboardDataInput = {
38
+ hero?: Partial<HeroData>;
39
+ currency?: string;
40
+ locale?: string;
41
+ /** Omit → default. `null` → hide. Array replaces (including `[]` = empty copy). */
42
+ games?: GameData[] | null;
43
+ prizes?: PrizeData[] | null;
44
+ players?: PlayerData[] | null;
45
+ stats?: Partial<StatsData> | null;
46
+ marquee?: Partial<MarqueeData> | null;
47
+ events?: Partial<EventsData> | null;
48
+ legals?: Partial<LegalsData> | null;
49
+ };
@@ -0,0 +1,24 @@
1
+ import { LeaderboardLabels } from './labels.js';
2
+ import { LeaderboardTheme } from './theme.js';
3
+ import { LeaderboardDataInput } from './data.js';
4
+ /**
5
+ * Host input — the only props the public TypeScript contract accepts.
6
+ *
7
+ * Assign these with `setProps({ labels, theme, data })`, then `mount(host)`.
8
+ * Omit all three for the hardcoded campaign, labels, and theme.
9
+ *
10
+ * `.labels`: omit for defaults. If set, the full bag is required.
11
+ * `.theme`: omit for defaults. If set, missing/invalid keys mix onto DEFAULT_THEME.
12
+ * `.data`: omit for the hardcoded campaign. If set, omitted keys mix onto it.
13
+ *
14
+ * Oddsmith website / playground / sandbox set the instance boolean `demo` so an
15
+ * expired countdown can roll. It is not on this type. Operators omit it.
16
+ */
17
+ export interface LeaderboardHostProps {
18
+ /** Omit → DEFAULT_LABELS. Set → full LeaderboardLabels (every group). */
19
+ labels?: LeaderboardLabels;
20
+ /** Omit → DEFAULT_THEME. Set → per-key mix; invalid CSS falls back. */
21
+ theme?: Partial<LeaderboardTheme>;
22
+ /** Omit → hardcoded campaign. Set → per-key mix onto that campaign. */
23
+ data?: LeaderboardDataInput;
24
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Internal type barrel (`@os-leaderboard-casino/types`).
3
+ * Not published — the package entry re-exports `./public.ts` only.
4
+ */
5
+ export type { SectionId, CasinoSectionConfig } from './config.js';
6
+ export type { LeaderboardLabels, StatusLabels, CtaLabels, } from './labels.js';
7
+ export type { LeaderboardTheme } from './theme.js';
8
+ export type { LeaderboardStatus } from './status.js';
9
+ export type { LeaderboardData, LeaderboardDataInput, HeroData, PrizeData, StatsData, GameData, PlayerData, MarqueeItemData, MarqueeData, EventItemData, EventsData, ExternalLegalLink, InternalLegalLink, LegalLinkData, LegalsData, } from './data.js';
10
+ export type { LeaderboardHostProps } from './host.js';
11
+ export type { MarqueeItem, MarqueeView } from '../sections/marquee-section/types/view.js';
12
+ export type { MarqueeLabels } from '../sections/marquee-section/types/labels.js';
13
+ export type { EventItem, EventsBannerView, } from '../sections/events-banner/types/view.js';
14
+ export type { EventsLabels } from '../sections/events-banner/types/labels.js';
15
+ export type { EventsEventName, EventsClickDetail, } from '../sections/events-banner/types/events.js';
16
+ export { EventsEvents } from '../sections/events-banner/types/events.js';
17
+ export type { HeroView } from '../sections/hero-section/types/view.js';
18
+ export type { HeroLabels } from '../sections/hero-section/types/labels.js';
19
+ export type { PrizeItem, PrizeView, } from '../sections/prize-section/types/view.js';
20
+ export type { PrizeLabels } from '../sections/prize-section/types/labels.js';
21
+ export type { PrizeEventName, PrizeClickDetail, } from '../sections/prize-section/types/events.js';
22
+ export { PrizeEvents } from '../sections/prize-section/types/events.js';
23
+ export type { StatsView } from '../sections/stats-section/types/view.js';
24
+ export type { StatsLabels } from '../sections/stats-section/types/labels.js';
25
+ export type { GameItem, GamesView } from '../sections/games-section/types/view.js';
26
+ export type { GamesLabels } from '../sections/games-section/types/labels.js';
27
+ export type { ClimbView } from '../sections/climb-section/types/view.js';
28
+ export type { ClimbLabels } from '../sections/climb-section/types/labels.js';
29
+ export type { TablePlayer, TableView } from '../sections/table-section/types/view.js';
30
+ export type { TableLabels } from '../sections/table-section/types/labels.js';
31
+ export type { TableEventName, TableOpenDetail, } from '../sections/table-section/types/events.js';
32
+ export { TableEvents } from '../sections/table-section/types/events.js';
33
+ export type { FooterView } from '../sections/footer-section/types/view.js';
34
+ export type { LegalLink, LegalsView } from '../sections/legals-section/types/view.js';
35
+ export type { LegalsLabels } from '../sections/legals-section/types/labels.js';
@@ -0,0 +1,43 @@
1
+ import { LeaderboardStatus } from './status.js';
2
+ import { HeroLabels } from '../sections/hero-section/types/labels.js';
3
+ import { PrizeLabels } from '../sections/prize-section/types/labels.js';
4
+ import { StatsLabels } from '../sections/stats-section/types/labels.js';
5
+ import { GamesLabels } from '../sections/games-section/types/labels.js';
6
+ import { ClimbLabels } from '../sections/climb-section/types/labels.js';
7
+ import { TableLabels } from '../sections/table-section/types/labels.js';
8
+ import { MarqueeLabels } from '../sections/marquee-section/types/labels.js';
9
+ import { EventsLabels } from '../sections/events-banner/types/labels.js';
10
+ import { LegalsLabels } from '../sections/legals-section/types/labels.js';
11
+ /**
12
+ * UI chrome / i18n copy. Campaign content belongs on {@link LeaderboardData}.
13
+ *
14
+ * Omit `.labels` to use hardcoded English `DEFAULT_LABELS`.
15
+ * If you pass a bag, every group is required — including groups for
16
+ * sections you omitted from `.data` (dummy values like `"#"` are fine).
17
+ *
18
+ * Runtime missing/empty key → `"n/a"`.
19
+ */
20
+ export type StatusLabels = {
21
+ [K in LeaderboardStatus]: string;
22
+ };
23
+ /** Table CTA copy. */
24
+ export type CtaLabels = {
25
+ /** While the campaign is running. */
26
+ label: string;
27
+ /** After the campaign has ended. */
28
+ finished: string;
29
+ };
30
+ /** Chrome bag. Full object when `.labels` is passed. */
31
+ export interface LeaderboardLabels {
32
+ status: StatusLabels;
33
+ hero: HeroLabels;
34
+ cta: CtaLabels;
35
+ prize: PrizeLabels;
36
+ stats: StatsLabels;
37
+ games: GamesLabels;
38
+ climb: ClimbLabels;
39
+ table: TableLabels;
40
+ marquee: MarqueeLabels;
41
+ events: EventsLabels;
42
+ legals: LegalsLabels;
43
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Host-facing types and event names.
3
+ * The package entry re-exports only this file — not `./index.ts`.
4
+ */
5
+ export type { LeaderboardHostProps } from './host.js';
6
+ export type { LeaderboardTheme } from './theme.js';
7
+ export type { LeaderboardLabels, StatusLabels, CtaLabels, } from './labels.js';
8
+ export type { HeroLabels } from '../sections/hero-section/types/labels.js';
9
+ export type { PrizeLabels } from '../sections/prize-section/types/labels.js';
10
+ export type { StatsLabels } from '../sections/stats-section/types/labels.js';
11
+ export type { GamesLabels } from '../sections/games-section/types/labels.js';
12
+ export type { ClimbLabels } from '../sections/climb-section/types/labels.js';
13
+ export type { TableLabels } from '../sections/table-section/types/labels.js';
14
+ export type { MarqueeLabels } from '../sections/marquee-section/types/labels.js';
15
+ export type { EventsLabels } from '../sections/events-banner/types/labels.js';
16
+ export type { LegalsLabels } from '../sections/legals-section/types/labels.js';
17
+ export type { LeaderboardData, LeaderboardDataInput, HeroData, PrizeData, StatsData, GameData, PlayerData, MarqueeItemData, MarqueeData, EventItemData, EventsData, ExternalLegalLink, InternalLegalLink, LegalLinkData, LegalsData, } from './data.js';
18
+ export { PrizeEvents } from '../sections/prize-section/types/events.js';
19
+ export type { PrizeClickDetail } from '../sections/prize-section/types/events.js';
20
+ export { TableEvents } from '../sections/table-section/types/events.js';
21
+ export type { TableOpenDetail } from '../sections/table-section/types/events.js';
22
+ export { EventsEvents } from '../sections/events-banner/types/events.js';
23
+ export type { EventsClickDetail } from '../sections/events-banner/types/events.js';
@@ -0,0 +1 @@
1
+ export type LeaderboardStatus = 'upcoming' | 'active' | 'completed' | 'cancelled';
@@ -0,0 +1 @@
1
+ export type { LeaderboardTheme } from '../.shared/theme-engine/index.ts';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Lit attribute converter so `demo="false"` is false.
3
+ * Bare `demo` / `demo=""` / `demo="true"` are true. Absence is false.
4
+ */
5
+ export declare const booleanAttributeConverter: {
6
+ fromAttribute(value: string | null): boolean;
7
+ toAttribute(value: boolean): string | null;
8
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Current-user flag. Only boolean `true` counts.
3
+ * `false`, omit, `1`, `0`, and `"true"` are not you.
4
+ */
5
+ export declare function isYouFlag(value: unknown): boolean;
6
+ /** First `isYou: true` in array order. Later flags are ignored. */
7
+ export declare function findCurrentUser<T extends {
8
+ isYou?: unknown;
9
+ }>(players: readonly T[]): T | undefined;
@@ -0,0 +1,6 @@
1
+ import { LeaderboardData, LeaderboardDataInput } from '../types';
2
+ /**
3
+ * Mix a partial host `.data` onto a hardcoded campaign.
4
+ * Mix rule: omit key → default. null → unmount. [] → empty copy. Keys mix. Arrays replace (no row merge).
5
+ */
6
+ export declare function resolveLeaderboardData(input?: LeaderboardDataInput | null, logPrefix?: string, fallback?: LeaderboardData): LeaderboardData;
@@ -0,0 +1,2 @@
1
+ export declare function demoCountdownEndIso(now?: number): string;
2
+ export declare function isCountdownExpired(endTs: string, now?: number): boolean;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Campaign Intl helpers.
3
+ * `locale` is a BCP 47 tag from `.data.locale` (e.g. `en-US`).
4
+ * `currency` is ISO 4217 from `.data.currency`.
5
+ */
6
+ export declare function formatMoney(value: number, currency: string, locale: string): string;
7
+ export declare function formatNumber(value: number, locale: string): string;
8
+ /** Replace `{name}` tokens in a labels template. Unknown tokens stay put. */
9
+ export declare function fillLabel(template: string, vars: Record<string, string | number>): string;
10
+ export declare function formatDate(iso: string, locale: string): string;
@@ -0,0 +1,11 @@
1
+ /** Bundled placeholder when a host `games[].imageUrl` fails to load. */
2
+ export declare const GAME_IMAGE_FALLBACK: string;
3
+ /** Bundled placeholder when a host `events.items[].imageUrl` fails to load. */
4
+ export declare const EVENT_IMAGE_FALLBACK: string;
5
+ /** Same DiceBear lorelei URL the demo campaign uses. */
6
+ export declare function dicebearAvatarUrl(username: string): string;
7
+ /**
8
+ * Swap a broken `<img>` to `fallbackSrc` once.
9
+ * A data flag stops an error loop if the fallback also fails.
10
+ */
11
+ export declare function applyImageFallback(event: Event, fallbackSrc: string): void;
@@ -0,0 +1,12 @@
1
+ export { demoCountdownEndIso, isCountdownExpired, } from './demo-countdown.js';
2
+ export { fillLabel, formatDate, formatMoney, formatNumber } from './format.js';
3
+ export { deriveLeaderboardStatus } from './status.js';
4
+ export { findCurrentUser, isYouFlag } from './current-user.js';
5
+ export { booleanAttributeConverter } from './boolean-attr.js';
6
+ export { isSafeHttpUrl } from './safe-href.js';
7
+ export { sanitizeLegalHtml } from './safe-html.js';
8
+ export { renderPlayerName } from './player-name.js';
9
+ export { prizeForPlace, podiumVariantForRank, prizesByValue, toPrizeItems, } from './prize-resolve.js';
10
+ export { addViewBox } from './svg.js';
11
+ export { resolveLeaderboardData } from './data-resolve.js';
12
+ export { applyImageFallback, dicebearAvatarUrl, EVENT_IMAGE_FALLBACK, GAME_IMAGE_FALLBACK, } from './image-fallback.js';
@@ -1,7 +1,5 @@
1
1
  import { nothing, TemplateResult } from 'lit';
2
- /** v0 vip badge slim outline tag with crown + VIP label. */
3
- export declare function vipBadge(vip?: boolean): TemplateResult | typeof nothing;
2
+ /** Shared player name wrapper used across sections. */
4
3
  export declare function renderPlayerName(username: string, options?: {
5
- vip?: boolean;
6
4
  suffix?: TemplateResult | typeof nothing;
7
5
  }): TemplateResult;
@@ -0,0 +1,10 @@
1
+ import { PrizeItem } from '../sections/prize-section/types/view.js';
2
+ import { PrizeData } from '../sections/prize-section/types/data.js';
3
+ /** Highest value first. Place is 1-based after this sort. */
4
+ export declare function prizesByValue<T extends {
5
+ value: number;
6
+ }>(prizes: T[]): T[];
7
+ /** Prize for a 1-based place (array order of value-sorted prizes). */
8
+ export declare function prizeForPlace(prizes: PrizeItem[], place: number): PrizeItem | undefined;
9
+ export declare function podiumVariantForRank(rank: 1 | 2 | 3): 'gold' | 'silver' | 'bronze';
10
+ export declare function toPrizeItems(prizes: PrizeData[], currency: string, locale: string): PrizeItem[];
@@ -0,0 +1,2 @@
1
+ /** http(s) only. Blocks `javascript:`, `data:`, and other schemes. */
2
+ export declare function isSafeHttpUrl(href: string): boolean;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Allowlisted HTML for internal legal `body`.
3
+ * Scripts, event handlers, and non-http(s) hrefs are dropped.
4
+ * Unknown tags are unwrapped (text kept).
5
+ */
6
+ export declare function sanitizeLegalHtml(html: string): string;
@@ -0,0 +1,10 @@
1
+ import { LeaderboardStatus } from '../types/status.js';
2
+ /**
3
+ * Derive campaign status from timestamps and an explicit cancel flag.
4
+ * `cancelled: true` wins. No timestamps → active.
5
+ */
6
+ export declare function deriveLeaderboardStatus(data: {
7
+ startsAt?: string;
8
+ endsAt?: string;
9
+ cancelled?: boolean;
10
+ }, now?: number): LeaderboardStatus;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Ensures inline SVG markup has a viewBox so CSS width/height can scale it.
3
+ * Icomoon exports often ship `width`/`height` only.
4
+ */
5
+ export declare function addViewBox(svg: string, viewBox?: string): string;
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * `@oddsmith/ui` has no root export.
3
+ * Import `@oddsmith/ui/os-leaderboard-casino` or `@oddsmith/ui/os-leaderboard-casino-pro`.
4
+ */
5
+ export {};
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ throw new Error(
2
+ "[@oddsmith/ui] The package root is not an entry. Import '@oddsmith/ui/os-leaderboard-casino' or '@oddsmith/ui/os-leaderboard-casino-pro'.",
3
+ );
@@ -0,0 +1 @@
1
+ export * from '@oddsmith/os-leaderboard-casino-pro';
@@ -0,0 +1 @@
1
+ export * from '@oddsmith/os-leaderboard-casino-pro';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oddsmith/ui",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Brandable casino leaderboard web component",
5
5
  "keywords": [
6
6
  "casino",
@@ -14,73 +14,56 @@
14
14
  "author": "Oddsmith",
15
15
  "homepage": "https://oddsmith.io",
16
16
  "type": "module",
17
- "sideEffects": [
18
- "./dist/components/os-leaderboard-casino/**",
19
- "./dist/shared/**",
20
- "./src/components/os-leaderboard-casino/**"
21
- ],
17
+ "main": "./index.js",
18
+ "module": "./index.js",
19
+ "types": "./index.d.ts",
20
+ "sideEffects": true,
22
21
  "files": [
23
22
  "dist",
24
23
  "README.md",
25
24
  "LICENSE",
26
- "custom-elements.json"
25
+ "index.js",
26
+ "index.d.ts",
27
+ "os-leaderboard-casino-pro.js",
28
+ "os-leaderboard-casino-pro.d.ts"
27
29
  ],
28
30
  "exports": {
31
+ ".": {
32
+ "types": "./index.d.ts",
33
+ "import": "./index.js",
34
+ "default": "./index.js"
35
+ },
29
36
  "./os-leaderboard-casino": {
30
- "types": "./dist/components/os-leaderboard-casino/index.d.ts",
31
- "import": "./dist/components/os-leaderboard-casino/index.js",
32
- "default": "./dist/components/os-leaderboard-casino/index.js"
37
+ "types": "./dist/index.d.ts",
38
+ "import": "./dist/index.js",
39
+ "default": "./dist/index.js"
40
+ },
41
+ "./os-leaderboard-casino-pro": {
42
+ "types": "./os-leaderboard-casino-pro.d.ts",
43
+ "import": "./os-leaderboard-casino-pro.js",
44
+ "default": "./os-leaderboard-casino-pro.js"
33
45
  }
34
46
  },
35
47
  "scripts": {
36
48
  "build": "vite build",
37
49
  "build:watch": "vite build --watch",
38
- "serve": "vite --config vite.serve.config.ts --force",
39
- "start:local": "concurrently \"npm run build:watch\" \"npm run serve\"",
40
- "playground:build": "vite build --config vite.playground.config.ts",
41
- "clean": "rm -rf node_modules package-lock.json",
42
50
  "prepublishOnly": "npm run build",
43
51
  "publish": "npm publish --access public",
44
- "lint": "npm run lint:lit-analyzer && npm run lint:eslint",
45
- "lint:eslint": "eslint 'src/**/*.ts'",
46
- "lint:lit-analyzer": "lit-analyzer",
47
- "format": "prettier src/* --write",
48
- "analyze": "wca analyze \"src/components/os-leaderboard-casino/**/*.ts\" --outFile custom-elements.json",
49
- "test": "karma start karma.conf.cjs",
50
- "test:watch": "karma start karma.conf.cjs --auto-watch=true --single-run=false"
52
+ "analyze": "wca analyze \"src/**/*.ts\" --outFile custom-elements.json",
53
+ "test": "vitest run",
54
+ "test:watch": "vitest"
51
55
  },
52
56
  "dependencies": {
53
- "immer": "^11.1.8",
54
- "keen-slider": "^6.8.6",
55
- "rxjs": "~7.8.0"
57
+ "@lit/context": "^1.1.6",
58
+ "keen-slider": "^6.8.6"
56
59
  },
57
60
  "peerDependencies": {
58
- "lit": "^3.3.3"
59
- },
60
- "devDependencies": {
61
- "@open-wc/testing": "^2.5.10",
62
- "@open-wc/testing-karma": "^3.3.11",
63
- "@types/chai": "^4.2.11",
64
- "@types/mocha": "^7.0.2",
65
- "@typescript-eslint/eslint-plugin": "^2.27.0",
66
- "@typescript-eslint/parser": "^2.27.0",
67
- "chai": "^4.2.0",
68
- "concurrently": "^9.2.1",
69
- "deepmerge": "^4.2.2",
70
- "eslint": "^6.8.0",
71
- "karma": "^4.4.1",
72
- "karma-chai": "^0.1.0",
73
- "karma-mocha": "^1.3.0",
74
61
  "lit": "^3.3.3",
75
- "lit-analyzer": "^1.1.10",
76
- "lit-element": "^2.3.1",
77
- "mocha": "^7.1.1",
78
- "prettier": "^2.0.4",
79
- "rimraf": "^3.0.2",
80
- "sass": "^1.97.3",
81
- "typescript": "^6.0.3",
82
- "vite": "^7.3.1",
83
- "vite-plugin-dts": "^4.5.4",
84
- "web-component-analyzer": "^1.0.3"
62
+ "@oddsmith/os-leaderboard-casino-pro": "^1.0.0"
63
+ },
64
+ "peerDependenciesMeta": {
65
+ "@oddsmith/os-leaderboard-casino-pro": {
66
+ "optional": true
67
+ }
85
68
  }
86
69
  }
@@ -1,9 +0,0 @@
1
- [
2
- {
3
- "id": "golden",
4
- "label": "Golden",
5
- "description": "Full glam layout — noir gold palette, prize podium, and rankings table.",
6
- "appearance": "glam",
7
- "defaultThemeId": "glam-default"
8
- }
9
- ]
@@ -1,13 +0,0 @@
1
- const a = [
2
- {
3
- id: "golden",
4
- label: "Golden",
5
- description: "Full glam layout — noir gold palette, prize podium, and rankings table.",
6
- appearance: "glam",
7
- defaultThemeId: "glam-default"
8
- }
9
- ];
10
- export {
11
- a as default
12
- };
13
- //# sourceMappingURL=catalog.json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,8 +0,0 @@
1
- {
2
- "defaultPresetId": "golden",
3
- "labels": {
4
- "back": "Return",
5
- "live": "Live",
6
- "cta": "Enter the Leaderboard"
7
- }
8
- }